├── .gitattributes ├── .github └── workflows │ └── stale.yml ├── .gitignore ├── FXCommands.sln ├── FXCommands ├── App.config ├── ConnectionManager.cs ├── FXCommands.csproj ├── FXCommands.csproj.user ├── Images │ ├── categoryIcon.png │ ├── categoryIcon@2x.png │ ├── icon.png │ ├── icon@2x.png │ ├── pluginAction.png │ ├── pluginAction0.png │ ├── pluginAction0@2x.png │ ├── pluginAction1.png │ ├── pluginAction1@2x.png │ ├── pluginAction2.png │ ├── pluginAction2@2x.png │ ├── pluginAction3.png │ ├── pluginAction3@2x.png │ ├── pluginAction4.png │ ├── pluginAction4@2x.png │ ├── pluginAction@2x.png │ ├── pluginIcon.png │ └── pluginIcon@2x.png ├── PluginAction.cs ├── Program.cs ├── Properties │ └── AssemblyInfo.cs ├── PropertyInspector │ ├── PluginActionPI.html │ ├── PluginActionPI.js │ ├── caret.svg │ ├── check.png │ ├── check.svg │ ├── elg_calendar.svg │ ├── elg_calendar_inv.svg │ ├── rcheck.svg │ ├── sdpi.css │ └── sdtools.common.js ├── manifest.json ├── packages.config └── previews │ ├── 1-preview.png │ ├── 2-preview.png │ └── 3-preview.png ├── LICENSE.md ├── README.md ├── media ├── fxcommands-banner.png └── previews.psd └── packages ├── CommandLineParser.2.7.82 ├── .signature.p7s ├── CommandLine20.png ├── CommandLineParser.2.7.82.nupkg ├── License.md ├── README.md └── lib │ ├── net40 │ ├── CommandLine.dll │ └── CommandLine.xml │ ├── net45 │ ├── CommandLine.dll │ └── CommandLine.xml │ ├── net461 │ ├── CommandLine.dll │ └── CommandLine.xml │ └── netstandard2.0 │ ├── CommandLine.dll │ └── CommandLine.xml ├── DynamicLanguageRuntime.1.3.1 ├── .signature.p7s ├── DynamicLanguageRuntime.1.3.1.nupkg ├── LICENSE ├── README.md └── lib │ ├── net45 │ ├── Microsoft.Dynamic.dll │ ├── Microsoft.Dynamic.xml │ ├── Microsoft.Scripting.Metadata.dll │ ├── Microsoft.Scripting.Metadata.xml │ ├── Microsoft.Scripting.dll │ └── Microsoft.Scripting.xml │ ├── netcoreapp3.1 │ ├── Microsoft.Dynamic.dll │ ├── Microsoft.Dynamic.xml │ ├── Microsoft.Scripting.Metadata.dll │ ├── Microsoft.Scripting.Metadata.xml │ ├── Microsoft.Scripting.dll │ └── Microsoft.Scripting.xml │ └── netstandard2.0 │ ├── Microsoft.Dynamic.dll │ ├── Microsoft.Dynamic.xml │ ├── Microsoft.Scripting.Metadata.dll │ ├── Microsoft.Scripting.Metadata.xml │ ├── Microsoft.Scripting.dll │ └── Microsoft.Scripting.xml ├── NLog.4.6.8 ├── .signature.p7s ├── NLog.4.6.8.nupkg └── lib │ ├── monoandroid44 │ ├── NLog.dll │ └── NLog.xml │ ├── net35 │ ├── NLog.dll │ └── NLog.xml │ ├── net40-client │ ├── NLog.dll │ └── NLog.xml │ ├── net45 │ ├── NLog.dll │ └── NLog.xml │ ├── netstandard1.3 │ ├── NLog.dll │ └── NLog.xml │ ├── netstandard1.5 │ ├── NLog.dll │ └── NLog.xml │ ├── netstandard2.0 │ ├── NLog.dll │ └── NLog.xml │ ├── sl4 │ ├── NLog.dll │ └── NLog.xml │ ├── sl5 │ ├── NLog.dll │ └── NLog.xml │ ├── wp8 │ ├── NLog.dll │ └── NLog.xml │ └── xamarinios10 │ ├── NLog.dll │ └── NLog.xml ├── Newtonsoft.Json.13.0.1 ├── .signature.p7s ├── LICENSE.md ├── Newtonsoft.Json.13.0.1.nupkg ├── lib │ ├── net20 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net35 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net40 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── net45 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── netstandard1.0 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ ├── netstandard1.3 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml │ └── netstandard2.0 │ │ ├── Newtonsoft.Json.dll │ │ └── Newtonsoft.Json.xml └── packageIcon.png ├── StreamDeck-Tools.2.7.0 ├── .signature.p7s ├── StreamDeck-Tools.2.7.0.nupkg └── lib │ ├── net472 │ └── StreamDeckTools.dll │ └── netstandard2.0 │ └── StreamDeckTools.dll ├── System.Drawing.Common.4.7.0 ├── .signature.p7s ├── LICENSE.TXT ├── System.Drawing.Common.4.7.0.nupkg ├── THIRD-PARTY-NOTICES.TXT ├── lib │ ├── MonoAndroid10 │ │ └── _._ │ ├── MonoTouch10 │ │ └── _._ │ ├── net461 │ │ └── System.Drawing.Common.dll │ ├── netstandard2.0 │ │ └── System.Drawing.Common.dll │ ├── xamarinios10 │ │ └── _._ │ ├── xamarinmac20 │ │ └── _._ │ ├── xamarintvos10 │ │ └── _._ │ └── xamarinwatchos10 │ │ └── _._ ├── ref │ ├── MonoAndroid10 │ │ └── _._ │ ├── MonoTouch10 │ │ └── _._ │ ├── net461 │ │ └── System.Drawing.Common.dll │ ├── netcoreapp3.0 │ │ ├── System.Drawing.Common.dll │ │ └── System.Drawing.Common.xml │ ├── netstandard2.0 │ │ └── System.Drawing.Common.dll │ ├── xamarinios10 │ │ └── _._ │ ├── xamarinmac20 │ │ └── _._ │ ├── xamarintvos10 │ │ └── _._ │ └── xamarinwatchos10 │ │ └── _._ ├── runtimes │ ├── unix │ │ └── lib │ │ │ ├── netcoreapp2.0 │ │ │ └── System.Drawing.Common.dll │ │ │ └── netcoreapp3.0 │ │ │ ├── System.Drawing.Common.dll │ │ │ └── System.Drawing.Common.xml │ └── win │ │ └── lib │ │ ├── netcoreapp2.0 │ │ └── System.Drawing.Common.dll │ │ └── netcoreapp3.0 │ │ ├── System.Drawing.Common.dll │ │ └── System.Drawing.Common.xml ├── useSharedDesignerContext.txt └── version.txt └── streamdeck-client-csharp.4.1.1 ├── .signature.p7s ├── lib └── netstandard2.0 │ └── streamdeck-client-csharp.dll └── streamdeck-client-csharp.4.1.1.nupkg /.gitattributes: -------------------------------------------------------------------------------- 1 | # Auto detect text files and perform LF normalization 2 | * text=auto 3 | -------------------------------------------------------------------------------- /.github/workflows/stale.yml: -------------------------------------------------------------------------------- 1 | name: Mark stale issues and pull requests 2 | 3 | on: 4 | schedule: 5 | - cron: '32 12 * * *' 6 | 7 | jobs: 8 | stale: 9 | runs-on: ubuntu-latest 10 | permissions: 11 | issues: write 12 | pull-requests: write 13 | 14 | steps: 15 | - uses: actions/stale@v9 16 | with: 17 | repo-token: ${{ secrets.GITHUB_TOKEN }} 18 | stale-issue-message: 'This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs.' 19 | stale-pr-message: 'This PR has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions' 20 | stale-issue-label: 'no-issue-activity' 21 | stale-pr-label: 'no-pr-activity' 22 | days-before-stale: 7 23 | days-before-close: 14 24 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | _ReSharper.*/ 2 | *.sdf 3 | bin/ 4 | obj/ 5 | Debug/... 6 | *.pdb 7 | .vs/ 8 | /Release/* 9 | /FXCommands/bin/Debug 10 | /FXCommands/bin/Release -------------------------------------------------------------------------------- /FXCommands.sln: -------------------------------------------------------------------------------- 1 |  2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio Version 16 4 | VisualStudioVersion = 16.0.32602.291 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "FXCommands", "FXCommands\FXCommands.csproj", "{4635D874-69C0-4010-BE46-77EF92EB1553}" 7 | EndProject 8 | Global 9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 10 | Debug|Any CPU = Debug|Any CPU 11 | Release|Any CPU = Release|Any CPU 12 | EndGlobalSection 13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 14 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 15 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Debug|Any CPU.Build.0 = Debug|Any CPU 16 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Release|Any CPU.ActiveCfg = Release|Any CPU 17 | {4635D874-69C0-4010-BE46-77EF92EB1553}.Release|Any CPU.Build.0 = Release|Any CPU 18 | EndGlobalSection 19 | GlobalSection(SolutionProperties) = preSolution 20 | HideSolutionNode = FALSE 21 | EndGlobalSection 22 | GlobalSection(ExtensibilityGlobals) = postSolution 23 | SolutionGuid = {49a7cfcf-ad32-48fc-b868-86236f27d819} 24 | EndGlobalSection 25 | EndGlobal 26 | -------------------------------------------------------------------------------- /FXCommands/App.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /FXCommands/ConnectionManager.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Net; 5 | using System.Net.NetworkInformation; 6 | using System.Net.Sockets; 7 | using System.Text; 8 | 9 | namespace FXCommands 10 | { 11 | internal class ConnectionManager 12 | { 13 | private static Dictionary tcpClients = new Dictionary(10); 14 | 15 | public void SendMessage(string message, bool canRetry = true) 16 | { 17 | string ipAddress = "127.0.0.1"; 18 | int port = 29200; // fx console 19 | 20 | byte[] b_header = "43:4d:4e:44:00:d2:00:00".Split(':').Select(s => byte.Parse(s, System.Globalization.NumberStyles.HexNumber)).ToArray(); 21 | byte[] b_command = Encoding.UTF8.GetBytes(message + "\n"); 22 | byte[] b_padding = { 0, 0 }; 23 | byte[] b_length = BitConverter.GetBytes((message.Length + 13)); 24 | byte[] b_terminator = { 00 }; 25 | 26 | Array.Reverse(b_length); 27 | 28 | byte[] data = b_header.Concat(b_length).Concat(b_padding).Concat(b_command).Concat(b_terminator).ToArray(); 29 | 30 | string tcpClientIdentifier = $"{ipAddress}::{port}"; 31 | 32 | try 33 | { 34 | IPEndPoint ep = new IPEndPoint(IPAddress.Parse(ipAddress), port); 35 | 36 | if (!tcpClients.ContainsKey(tcpClientIdentifier)) 37 | { 38 | tcpClients.Add(tcpClientIdentifier, new TcpClient() { NoDelay = true }); 39 | } 40 | else 41 | { 42 | IPGlobalProperties ipProperties = IPGlobalProperties.GetIPGlobalProperties(); 43 | TcpConnectionInformation[] tcpConnections = ipProperties.GetActiveTcpConnections() 44 | .Where(x => x.LocalEndPoint.Equals(tcpClients[tcpClientIdentifier].Client.LocalEndPoint) && 45 | x.RemoteEndPoint.Equals(tcpClients[tcpClientIdentifier].Client.RemoteEndPoint)) 46 | .ToArray(); 47 | 48 | if (tcpConnections == null || tcpConnections.Length == 0 || tcpConnections.First().State != TcpState.Established) 49 | { 50 | tcpClients[tcpClientIdentifier].Close(); 51 | tcpClients[tcpClientIdentifier] = new TcpClient() { NoDelay = true }; 52 | } 53 | } 54 | 55 | if (!tcpClients[tcpClientIdentifier].Connected) 56 | { 57 | tcpClients[tcpClientIdentifier].Connect(ep); 58 | } 59 | 60 | if (tcpClients[tcpClientIdentifier].Connected) 61 | { 62 | var tcpStream = tcpClients[tcpClientIdentifier].GetStream(); 63 | tcpStream.Write(data, 0, data.Length); 64 | } 65 | } 66 | catch (Exception ex) 67 | { 68 | tcpClients[tcpClientIdentifier].Close(); 69 | tcpClients[tcpClientIdentifier] = new TcpClient() { NoDelay = true }; 70 | Console.WriteLine(ex.ToString()); 71 | } 72 | } 73 | 74 | public void InitializeClients() 75 | { 76 | tcpClients = new Dictionary(); 77 | } 78 | 79 | public void Dispose() 80 | { 81 | foreach (var client in tcpClients.Values) 82 | { 83 | client.Close(); 84 | client.Dispose(); 85 | } 86 | } 87 | } 88 | } -------------------------------------------------------------------------------- /FXCommands/FXCommands.csproj: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | Debug 6 | AnyCPU 7 | {4635D874-69C0-4010-BE46-77EF92EB1553} 8 | Exe 9 | FXCommands 10 | tf.josh.fxcommands 11 | v4.7.2 12 | 512 13 | true 14 | true 15 | false 16 | publish\ 17 | true 18 | Disk 19 | false 20 | Foreground 21 | 7 22 | Days 23 | false 24 | false 25 | true 26 | 0 27 | 1.0.0.%2a 28 | false 29 | true 30 | 31 | 32 | AnyCPU 33 | true 34 | full 35 | false 36 | bin\Debug\tf.josh.fxcommands.sdPlugin\ 37 | DEBUG;TRACE 38 | prompt 39 | 4 40 | 41 | 42 | AnyCPU 43 | pdbonly 44 | true 45 | bin\Release\tf.josh.FXCommands.sdPlugin\ 46 | TRACE 47 | prompt 48 | 4 49 | 50 | 51 | 52 | ..\packages\CommandLineParser.2.7.82\lib\net461\CommandLine.dll 53 | 54 | 55 | ..\packages\DynamicLanguageRuntime.1.3.1\lib\net45\Microsoft.Dynamic.dll 56 | 57 | 58 | ..\packages\DynamicLanguageRuntime.1.3.1\lib\net45\Microsoft.Scripting.dll 59 | 60 | 61 | ..\packages\DynamicLanguageRuntime.1.3.1\lib\net45\Microsoft.Scripting.Metadata.dll 62 | 63 | 64 | ..\packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll 65 | 66 | 67 | ..\packages\NLog.4.6.8\lib\net45\NLog.dll 68 | 69 | 70 | ..\packages\streamdeck-client-csharp.4.1.1\lib\netstandard2.0\streamdeck-client-csharp.dll 71 | 72 | 73 | ..\packages\StreamDeck-Tools.2.7.0\lib\net472\StreamDeckTools.dll 74 | 75 | 76 | 77 | 78 | 79 | 80 | ..\packages\System.Drawing.Common.4.7.0\lib\net461\System.Drawing.Common.dll 81 | 82 | 83 | 84 | 85 | 86 | 87 | 88 | 89 | 90 | 91 | 92 | 93 | 94 | 95 | 96 | 97 | 98 | 99 | 100 | 101 | 102 | PreserveNewest 103 | 104 | 105 | 106 | 107 | 108 | PreserveNewest 109 | 110 | 111 | PreserveNewest 112 | 113 | 114 | PreserveNewest 115 | 116 | 117 | PreserveNewest 118 | 119 | 120 | PreserveNewest 121 | 122 | 123 | PreserveNewest 124 | 125 | 126 | PreserveNewest 127 | 128 | 129 | PreserveNewest 130 | 131 | 132 | PreserveNewest 133 | 134 | 135 | PreserveNewest 136 | 137 | 138 | PreserveNewest 139 | 140 | 141 | PreserveNewest 142 | 143 | 144 | PreserveNewest 145 | 146 | 147 | PreserveNewest 148 | 149 | 150 | PreserveNewest 151 | 152 | 153 | PreserveNewest 154 | 155 | 156 | PreserveNewest 157 | 158 | 159 | PreserveNewest 160 | 161 | 162 | PreserveNewest 163 | 164 | 165 | PreserveNewest 166 | 167 | 168 | PreserveNewest 169 | 170 | 171 | PreserveNewest 172 | 173 | 174 | PreserveNewest 175 | 176 | 177 | PreserveNewest 178 | 179 | 180 | PreserveNewest 181 | 182 | 183 | PreserveNewest 184 | 185 | 186 | PreserveNewest 187 | 188 | 189 | PreserveNewest 190 | 191 | 192 | PreserveNewest 193 | 194 | 195 | PreserveNewest 196 | 197 | 198 | PreserveNewest 199 | 200 | 201 | 202 | 203 | False 204 | Microsoft .NET Framework 4.7.2 %28x86 and x64%29 205 | true 206 | 207 | 208 | False 209 | .NET Framework 3.5 SP1 210 | false 211 | 212 | 213 | 214 | -------------------------------------------------------------------------------- /FXCommands/FXCommands.csproj.user: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | publish\ 5 | 6 | 7 | 8 | 9 | 10 | en-US 11 | false 12 | 13 | -------------------------------------------------------------------------------- /FXCommands/Images/categoryIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/categoryIcon.png -------------------------------------------------------------------------------- /FXCommands/Images/categoryIcon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/categoryIcon@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/icon.png -------------------------------------------------------------------------------- /FXCommands/Images/icon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/icon@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction0.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction0.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction0@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction0@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction1.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction1@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction1@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction2.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction2@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction2@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction3.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction3@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction3@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction4.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction4@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction4@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginAction@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginAction@2x.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginIcon.png -------------------------------------------------------------------------------- /FXCommands/Images/pluginIcon@2x.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/Images/pluginIcon@2x.png -------------------------------------------------------------------------------- /FXCommands/PluginAction.cs: -------------------------------------------------------------------------------- 1 | using BarRaider.SdTools; 2 | using Newtonsoft.Json; 3 | using Newtonsoft.Json.Linq; 4 | using System.Collections.Generic; 5 | using System.Net.Sockets; 6 | using System.Threading.Tasks; 7 | 8 | namespace FXCommands 9 | { 10 | [PluginActionId("tf.josh.fxcommands")] 11 | public class PluginAction : PluginBase 12 | { 13 | 14 | readonly static int MAXSTATES = 5; 15 | private static bool firstPluginLoad = true; 16 | private int currentState = 0; 17 | 18 | private CommandAction CurrentCommandAction => settings.commands[currentState]; 19 | 20 | private class PluginSettings 21 | { 22 | [JsonProperty(PropertyName = "currentState")] 23 | public int? StoredState { get; set; } = null; 24 | 25 | PluginSettings() 26 | { 27 | commands = new List(MAXSTATES); 28 | for (int i = 0; i < MAXSTATES; i++) 29 | { 30 | commands.Add(new CommandAction()); 31 | } 32 | } 33 | 34 | public static PluginSettings CreateDefaultSettings() 35 | { 36 | PluginSettings instance = new PluginSettings(); 37 | 38 | instance.commands = new List(MAXSTATES); 39 | for (int i = 0; i < MAXSTATES; i++) 40 | { 41 | instance.commands.Add(new CommandAction()); 42 | } 43 | 44 | return instance; 45 | } 46 | 47 | public List commands = new List(5); 48 | 49 | Dictionary tcpClients = new Dictionary(); 52 | 53 | [JsonProperty(PropertyName = "desiredStates")] 54 | public int DesiredStates 55 | { 56 | get; 57 | set; 58 | } 59 | 60 | #region State0 61 | 62 | [JsonProperty(PropertyName = "commandPressed0")] 63 | public string CommandPressed0 64 | { 65 | get 66 | { 67 | return commands[0].CommandPressed; 68 | } 69 | set 70 | { 71 | commands[0].CommandPressed = value; 72 | } 73 | } 74 | 75 | [JsonProperty(PropertyName = "commandReleased0")] 76 | public string CommandReleased0 77 | { 78 | get 79 | { 80 | return commands[0].CommandReleased; 81 | } 82 | set 83 | { 84 | commands[0].CommandReleased = value; 85 | } 86 | } 87 | #endregion 88 | 89 | #region State1 90 | 91 | [JsonProperty(PropertyName = "commandPressed1")] 92 | public string CommandPressed1 93 | { 94 | get 95 | { 96 | return commands[1].CommandPressed; 97 | } 98 | set 99 | { 100 | commands[1].CommandPressed = value; 101 | } 102 | } 103 | 104 | [JsonProperty(PropertyName = "commandReleased1")] 105 | public string CommandReleased1 106 | { 107 | get 108 | { 109 | return commands[1].CommandReleased; 110 | } 111 | set 112 | { 113 | commands[1].CommandReleased = value; 114 | } 115 | } 116 | #endregion 117 | 118 | #region State2 119 | 120 | [JsonProperty(PropertyName = "commandPressed2")] 121 | public string CommandPressed2 122 | { 123 | get 124 | { 125 | return commands[2].CommandPressed; 126 | } 127 | set 128 | { 129 | commands[2].CommandPressed = value; 130 | } 131 | } 132 | 133 | [JsonProperty(PropertyName = "commandReleased2")] 134 | public string CommandReleased2 135 | { 136 | get 137 | { 138 | return commands[2].CommandReleased; 139 | } 140 | set 141 | { 142 | commands[2].CommandReleased = value; 143 | } 144 | } 145 | #endregion 146 | 147 | #region State3 148 | 149 | [JsonProperty(PropertyName = "commandPressed3")] 150 | public string CommandPressed3 151 | { 152 | get 153 | { 154 | return commands[3].CommandPressed; 155 | } 156 | set 157 | { 158 | commands[3].CommandPressed = value; 159 | } 160 | } 161 | 162 | [JsonProperty(PropertyName = "commandReleased3")] 163 | public string CommandReleased3 164 | { 165 | get 166 | { 167 | return commands[3].CommandReleased; 168 | } 169 | set 170 | { 171 | commands[3].CommandReleased = value; 172 | } 173 | } 174 | #endregion 175 | 176 | #region State4 177 | 178 | [JsonProperty(PropertyName = "commandPressed4")] 179 | public string CommandPressed4 180 | { 181 | get 182 | { 183 | return commands[4].CommandPressed; 184 | } 185 | set 186 | { 187 | commands[4].CommandPressed = value; 188 | } 189 | } 190 | 191 | [JsonProperty(PropertyName = "commandReleased4")] 192 | public string CommandReleased4 193 | { 194 | get 195 | { 196 | return commands[4].CommandReleased; 197 | } 198 | set 199 | { 200 | commands[4].CommandReleased = value; 201 | } 202 | } 203 | #endregion 204 | 205 | } 206 | 207 | public class CommandAction 208 | { 209 | 210 | public string CommandPressed 211 | { 212 | get; 213 | set; 214 | } 215 | 216 | public string CommandReleased 217 | { 218 | get; 219 | set; 220 | } 221 | 222 | } 223 | 224 | #region Private Members 225 | 226 | private PluginSettings settings; 227 | 228 | private ConnectionManager connectionManager; 229 | 230 | #endregion 231 | public PluginAction(SDConnection connection, InitialPayload payload) : base(connection, payload) 232 | { 233 | settings = payload.Settings?.ToObject() ?? PluginSettings.CreateDefaultSettings(); 234 | 235 | if (firstPluginLoad) 236 | { 237 | settings.StoredState = null; 238 | _ = SaveSettings(); 239 | firstPluginLoad = false; 240 | 241 | currentState = 0; 242 | _ = SetStateAsync(0); 243 | } 244 | else 245 | { 246 | currentState = settings.StoredState ?? 0; 247 | _ = SetStateAsync((uint)currentState); 248 | } 249 | 250 | connectionManager = new ConnectionManager(); 251 | connectionManager.InitializeClients(); 252 | } 253 | 254 | public override void Dispose() 255 | { 256 | settings.StoredState = null; 257 | _ = SaveSettings(); 258 | 259 | Logger.Instance.LogMessage(TracingLevel.INFO, "Destructor called"); 260 | connectionManager.Dispose(); 261 | System.GC.Collect(); // Force garbage collection 262 | } 263 | 264 | public override async void KeyPressed(KeyPayload payload) 265 | { 266 | Logger.Instance.LogMessage(TracingLevel.INFO, "Key Pressed"); 267 | if (!string.IsNullOrEmpty(CurrentCommandAction.CommandPressed)) 268 | { 269 | await SendMessageAsync(CurrentCommandAction.CommandPressed); 270 | } 271 | } 272 | 273 | public override async void KeyReleased(KeyPayload payload) 274 | { 275 | Logger.Instance.LogMessage(TracingLevel.INFO, "Key Released"); 276 | 277 | if (!string.IsNullOrEmpty(CurrentCommandAction.CommandReleased)) 278 | { 279 | await SendMessageAsync(CurrentCommandAction.CommandReleased); 280 | } 281 | 282 | currentState++; 283 | if (currentState >= settings.DesiredStates) 284 | currentState = 0; 285 | 286 | settings.StoredState = currentState; 287 | await SaveSettings(); 288 | await SetStateAsync((uint)currentState); 289 | } 290 | 291 | private async Task SendMessageAsync(string message) 292 | { 293 | await Task.Run(() => connectionManager.SendMessage(message)); 294 | } 295 | 296 | public override void OnTick() { } 297 | 298 | public override void ReceivedSettings(ReceivedSettingsPayload payload) 299 | { 300 | Tools.AutoPopulateSettings(settings, payload.Settings); 301 | SaveSettings(); 302 | } 303 | 304 | public override void ReceivedGlobalSettings(ReceivedGlobalSettingsPayload payload) { } 305 | 306 | #region Private Methods 307 | 308 | private Task SaveSettings() 309 | { 310 | return Connection.SetSettingsAsync(JObject.FromObject(settings)); 311 | } 312 | 313 | private Task SetStateAsync(uint state) 314 | { 315 | return Connection.SetStateAsync(state); 316 | } 317 | 318 | #endregion 319 | } 320 | } -------------------------------------------------------------------------------- /FXCommands/Program.cs: -------------------------------------------------------------------------------- 1 | using BarRaider.SdTools; 2 | 3 | namespace FXCommands 4 | { 5 | class Program 6 | { 7 | static void Main(string[] args) 8 | { 9 | // Uncomment this line of code to allow for debugging 10 | //while (!System.Diagnostics.Debugger.IsAttached) { System.Threading.Thread.Sleep(100); } 11 | SDWrapper.Run(args); 12 | } 13 | } 14 | } -------------------------------------------------------------------------------- /FXCommands/Properties/AssemblyInfo.cs: -------------------------------------------------------------------------------- 1 | using System.Reflection; 2 | using System.Runtime.InteropServices; 3 | 4 | // General Information about an assembly is controlled through the following 5 | // set of attributes. Change these attribute values to modify the information 6 | // associated with an assembly. 7 | [assembly: AssemblyTitle("streamdeck-fxcommands")] 8 | [assembly: AssemblyDescription("Send commands to a local FiveM or RedM client")] 9 | [assembly: AssemblyConfiguration("")] 10 | [assembly: AssemblyCompany("josh-tf")] 11 | [assembly: AssemblyProduct("streamdeck-fxcommands")] 12 | [assembly: AssemblyCopyright("Copyright © 2025")] 13 | [assembly: AssemblyTrademark("")] 14 | [assembly: AssemblyCulture("")] 15 | 16 | // Setting ComVisible to false makes the types in this assembly not visible 17 | // to COM components. If you need to access a type in this assembly from 18 | // COM, set the ComVisible attribute to true on that type. 19 | [assembly: ComVisible(false)] 20 | 21 | // The following GUID is for the ID of the typelib if this project is exposed to COM 22 | [assembly: Guid("251b9ed7-779f-469f-84a2-ae53671694ed")] 23 | 24 | // Version information for an assembly consists of the following four values: 25 | // 26 | // Major Version 27 | // Minor Version 28 | // Build Number 29 | // Revision 30 | // 31 | // You can specify all the values or you can default the Build and Revision Numbers 32 | // by using the '*' as shown below: 33 | // [assembly: AssemblyVersion("1.0.*")] 34 | [assembly: AssemblyVersion("1.0.0.0")] 35 | [assembly: AssemblyFileVersion("1.0.0.0")] 36 | -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/PluginActionPI.html: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | FXCommands Settings 9 | 10 | 11 | 12 | 13 | 14 |
15 |
16 | Advanced Settings 17 |
18 |
No. of states (Max 5)
19 | 20 |
21 |
22 |
23 |
Command
24 |
25 |
On Press
26 | 27 |
28 |
29 |
On Release
30 | 31 |
32 |
33 | 44 | 55 | 66 | 77 |
78 | 79 | -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/PluginActionPI.js: -------------------------------------------------------------------------------- 1 | function setdesiredState() { 2 | var ele = document.getElementById("desiredStates"); 3 | if (ele.value > 5) 4 | ele.value = 5; 5 | else if (ele.value <= 0) 6 | ele.value = 1; 7 | 8 | //This is no longer needed since our configurations will be reloaded, thus causing the update to be called 9 | //when the loadConfigurationEvent is executed from loadConfiguration. 10 | //updateStateVisibilityOnChange() 11 | 12 | setSettings() 13 | } 14 | 15 | function updateStateVisibilityOnChange() { 16 | var ele = document.getElementById("desiredStates"); 17 | updateStateVisibility(ele.value) 18 | } 19 | 20 | function updateStateVisibility(desiredStates) { 21 | for (var i = 0; i < desiredStates; i++) { 22 | var stateId = "State" + i; 23 | document.getElementById(stateId).style.display = 'inline' 24 | } 25 | for (var i = desiredStates; i < 5; i++) { 26 | var stateId = "State" + i; 27 | document.getElementById(stateId).style.display = 'none' 28 | } 29 | } 30 | 31 | function validatePort(eleId) { 32 | if(eleId.value == null || eleId.value == "") 33 | eleId.value = eleId.placeholder; 34 | setSettings(); 35 | } 36 | 37 | // This is required in order to tell the presentation to update visible states based on configurations when first loading. 38 | loadConfigurationEvent = updateStateVisibilityOnChange -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/caret.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/check.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/PropertyInspector/check.png -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/check.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/elg_calendar.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/elg_calendar_inv.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/rcheck.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /FXCommands/PropertyInspector/sdtools.common.js: -------------------------------------------------------------------------------- 1 | // sdtools.common.js v1.0 2 | var websocket = null, 3 | uuid = null, 4 | registerEventName = null, 5 | actionInfo = {}, 6 | inInfo = {}, 7 | runningApps = [], 8 | isQT = navigator.appVersion.includes('QtWebEngine'); 9 | 10 | function connectElgatoStreamDeckSocket(inPort, inUUID, inRegisterEvent, inInfo, inActionInfo) { 11 | uuid = inUUID; 12 | registerEventName = inRegisterEvent; 13 | console.log(inUUID, inActionInfo); 14 | actionInfo = JSON.parse(inActionInfo); // cache the info 15 | inInfo = JSON.parse(inInfo); 16 | websocket = new WebSocket('ws://127.0.0.1:' + inPort); 17 | 18 | addDynamicStyles(inInfo.colors); 19 | 20 | websocket.onopen = websocketOnOpen; 21 | websocket.onmessage = websocketOnMessage; 22 | 23 | // Allow others to get notified that the websocket is created 24 | var event = new Event('websocketCreate'); 25 | document.dispatchEvent(event); 26 | 27 | loadConfiguration(actionInfo.payload.settings); 28 | } 29 | 30 | function websocketOnOpen() { 31 | var json = { 32 | event: registerEventName, 33 | uuid: uuid 34 | }; 35 | websocket.send(JSON.stringify(json)); 36 | 37 | // Notify the plugin that we are connected 38 | sendValueToPlugin('propertyInspectorConnected', 'property_inspector'); 39 | } 40 | 41 | function websocketOnMessage(evt) { 42 | // Received message from Stream Deck 43 | var jsonObj = JSON.parse(evt.data); 44 | 45 | if (jsonObj.event === 'sendToPropertyInspector') { 46 | var payload = jsonObj.payload; 47 | loadConfiguration(payload); 48 | } 49 | else if (jsonObj.event === 'didReceiveSettings') { 50 | var payload = jsonObj.payload; 51 | loadConfiguration(payload.settings); 52 | } 53 | else { 54 | console.log("Unhandled websocketOnMessage: " + jsonObj.event); 55 | } 56 | } 57 | 58 | var loadConfigurationEvent = null 59 | function loadConfiguration(payload) { 60 | console.log('loadConfiguration'); 61 | console.log(payload); 62 | for (var key in payload) { 63 | try { 64 | var elem = document.getElementById(key); 65 | if (elem.classList.contains("sdCheckbox")) { // Checkbox 66 | elem.checked = payload[key]; 67 | } 68 | else if (elem.classList.contains("sdFile")) { // File 69 | var elemFile = document.getElementById(elem.id + "Filename"); 70 | elemFile.innerText = payload[key]; 71 | if (!elemFile.innerText) { 72 | elemFile.innerText = "No file..."; 73 | } 74 | } 75 | else if (elem.classList.contains("sdList")) { // Dynamic dropdown 76 | var textProperty = elem.getAttribute("sdListTextProperty"); 77 | var valueProperty = elem.getAttribute("sdListValueProperty"); 78 | var valueField = elem.getAttribute("sdValueField"); 79 | 80 | var items = payload[key]; 81 | elem.options.length = 0; 82 | 83 | for (var idx = 0; idx < items.length; idx++) { 84 | var opt = document.createElement('option'); 85 | opt.value = items[idx][valueProperty]; 86 | opt.text = items[idx][textProperty]; 87 | elem.appendChild(opt); 88 | } 89 | elem.value = payload[valueField]; 90 | } 91 | else { // Normal value 92 | elem.value = payload[key]; 93 | } 94 | console.log("Load: " + key + "=" + payload[key]); 95 | } 96 | catch (err) { 97 | console.log("loadConfiguration failed for key: " + key + " - " + err); 98 | } 99 | } 100 | if(loadConfigurationEvent !== null) { 101 | loadConfigurationEvent(); 102 | } 103 | 104 | } 105 | 106 | function setSettings() { 107 | var payload = {}; 108 | var elements = document.getElementsByClassName("sdProperty"); 109 | 110 | Array.prototype.forEach.call(elements, function (elem) { 111 | var key = elem.id; 112 | if (elem.classList.contains("sdCheckbox")) { // Checkbox 113 | payload[key] = elem.checked; 114 | } 115 | else if (elem.classList.contains("sdFile")) { // File 116 | var elemFile = document.getElementById(elem.id + "Filename"); 117 | payload[key] = elem.value; 118 | if (!elem.value) { 119 | // Fetch innerText if file is empty (happens when we lose and regain focus to this key) 120 | payload[key] = elemFile.innerText; 121 | } 122 | else { 123 | // Set value on initial file selection 124 | elemFile.innerText = elem.value; 125 | } 126 | } 127 | else if (elem.classList.contains("sdList")) { // Dynamic dropdown 128 | var valueField = elem.getAttribute("sdValueField"); 129 | payload[valueField] = elem.value; 130 | } 131 | else { // Normal value 132 | payload[key] = elem.value; 133 | } 134 | console.log("Save: " + key + "<=" + payload[key]); 135 | }); 136 | setSettingsToPlugin(payload); 137 | } 138 | 139 | function setSettingsToPlugin(payload) { 140 | if (websocket && (websocket.readyState === 1)) { 141 | const json = { 142 | 'event': 'setSettings', 143 | 'context': uuid, 144 | 'payload': payload 145 | }; 146 | websocket.send(JSON.stringify(json)); 147 | var event = new Event('settingsUpdated'); 148 | document.dispatchEvent(event); 149 | } 150 | } 151 | 152 | // Sends an entire payload to the sendToPlugin method 153 | function sendPayloadToPlugin(payload) { 154 | if (websocket && (websocket.readyState === 1)) { 155 | const json = { 156 | 'action': actionInfo['action'], 157 | 'event': 'sendToPlugin', 158 | 'context': uuid, 159 | 'payload': payload 160 | }; 161 | websocket.send(JSON.stringify(json)); 162 | } 163 | } 164 | 165 | // Sends one value to the sendToPlugin method 166 | function sendValueToPlugin(value, param) { 167 | if (websocket && (websocket.readyState === 1)) { 168 | const json = { 169 | 'action': actionInfo['action'], 170 | 'event': 'sendToPlugin', 171 | 'context': uuid, 172 | 'payload': { 173 | [param]: value 174 | } 175 | }; 176 | websocket.send(JSON.stringify(json)); 177 | } 178 | } 179 | 180 | function openWebsite() { 181 | if (websocket && (websocket.readyState === 1)) { 182 | const json = { 183 | 'event': 'openUrl', 184 | 'payload': { 185 | 'url': 'https://BarRaider.github.io' 186 | } 187 | }; 188 | websocket.send(JSON.stringify(json)); 189 | } 190 | } 191 | 192 | if (!isQT) { 193 | document.addEventListener('DOMContentLoaded', function () { 194 | initPropertyInspector(); 195 | }); 196 | } 197 | 198 | window.addEventListener('beforeunload', function (e) { 199 | e.preventDefault(); 200 | 201 | // Notify the plugin we are about to leave 202 | sendValueToPlugin('propertyInspectorWillDisappear', 'property_inspector'); 203 | 204 | // Don't set a returnValue to the event, otherwise Chromium with throw an error. 205 | }); 206 | 207 | function initPropertyInspector() { 208 | // Place to add functions 209 | } 210 | 211 | 212 | function addDynamicStyles(clrs) { 213 | const node = document.getElementById('#sdpi-dynamic-styles') || document.createElement('style'); 214 | if (!clrs.mouseDownColor) clrs.mouseDownColor = fadeColor(clrs.highlightColor, -100); 215 | const clr = clrs.highlightColor.slice(0, 7); 216 | const clr1 = fadeColor(clr, 100); 217 | const clr2 = fadeColor(clr, 60); 218 | const metersActiveColor = fadeColor(clr, -60); 219 | 220 | node.setAttribute('id', 'sdpi-dynamic-styles'); 221 | node.innerHTML = ` 222 | 223 | input[type="radio"]:checked + label span, 224 | input[type="checkbox"]:checked + label span { 225 | background-color: ${clrs.highlightColor}; 226 | } 227 | 228 | input[type="radio"]:active:checked + label span, 229 | input[type="radio"]:active + label span, 230 | input[type="checkbox"]:active:checked + label span, 231 | input[type="checkbox"]:active + label span { 232 | background-color: ${clrs.mouseDownColor}; 233 | } 234 | 235 | input[type="radio"]:active + label span, 236 | input[type="checkbox"]:active + label span { 237 | background-color: ${clrs.buttonPressedBorderColor}; 238 | } 239 | 240 | td.selected, 241 | td.selected:hover, 242 | li.selected:hover, 243 | li.selected { 244 | color: white; 245 | background-color: ${clrs.highlightColor}; 246 | } 247 | 248 | .sdpi-file-label > label:active, 249 | .sdpi-file-label.file:active, 250 | label.sdpi-file-label:active, 251 | label.sdpi-file-info:active, 252 | input[type="file"]::-webkit-file-upload-button:active, 253 | button:active { 254 | background-color: ${clrs.buttonPressedBackgroundColor}; 255 | color: ${clrs.buttonPressedTextColor}; 256 | border-color: ${clrs.buttonPressedBorderColor}; 257 | } 258 | 259 | ::-webkit-progress-value, 260 | meter::-webkit-meter-optimum-value { 261 | background: linear-gradient(${clr2}, ${clr1} 20%, ${clr} 45%, ${clr} 55%, ${clr2}) 262 | } 263 | 264 | ::-webkit-progress-value:active, 265 | meter::-webkit-meter-optimum-value:active { 266 | background: linear-gradient(${clr}, ${clr2} 20%, ${metersActiveColor} 45%, ${metersActiveColor} 55%, ${clr}) 267 | } 268 | `; 269 | document.body.appendChild(node); 270 | }; 271 | 272 | /** UTILITIES */ 273 | 274 | /* 275 | Quick utility to lighten or darken a color (doesn't take color-drifting, etc. into account) 276 | Usage: 277 | fadeColor('#061261', 100); // will lighten the color 278 | fadeColor('#200867'), -100); // will darken the color 279 | */ 280 | function fadeColor(col, amt) { 281 | const min = Math.min, max = Math.max; 282 | const num = parseInt(col.replace(/#/g, ''), 16); 283 | const r = min(255, max((num >> 16) + amt, 0)); 284 | const g = min(255, max((num & 0x0000FF) + amt, 0)); 285 | const b = min(255, max(((num >> 8) & 0x00FF) + amt, 0)); 286 | return '#' + (g | (b << 8) | (r << 16)).toString(16).padStart(6, 0); 287 | } 288 | -------------------------------------------------------------------------------- /FXCommands/manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "Actions": [ 3 | { 4 | "Icon": "Images/icon", 5 | "Name": "Run Command", 6 | "States": [ 7 | { 8 | "Image": "Images/pluginAction0", 9 | "TitleAlignment": "middle", 10 | "FontSize": 12 11 | }, 12 | { 13 | "Image": "Images/pluginAction1", 14 | "TitleAlignment": "middle", 15 | "FontSize": 12 16 | }, 17 | { 18 | "Image": "Images/pluginAction2", 19 | "TitleAlignment": "middle", 20 | "FontSize": 12 21 | }, 22 | { 23 | "Image": "Images/pluginAction3", 24 | "TitleAlignment": "middle", 25 | "FontSize": 12 26 | }, 27 | { 28 | "Image": "Images/pluginAction4", 29 | "TitleAlignment": "middle", 30 | "FontSize": 12 31 | } 32 | ], 33 | "SupportedInMultiActions": true, 34 | "UUID": "tf.josh.fxcommands", 35 | "Tooltip": "Send commands to a local FiveM or RedM client", 36 | "PropertyInspectorPath": "PropertyInspector/PluginActionPI.html" 37 | } 38 | ], 39 | "Author": "josh-tf", 40 | "Name": "FXCommands", 41 | "Description": "Send commands to a local FiveM or RedM client", 42 | "Icon": "Images/pluginIcon", 43 | "URL": "https://github.com/josh-tf/fxcommands", 44 | "Version": "1.2.0.0", 45 | "CodePath": "tf.josh.fxcommands.exe", 46 | "UUID": "tf.josh.fxcommands", 47 | "Category": "FXCommands", 48 | "CategoryIcon": "Images/categoryIcon", 49 | "OS": [ 50 | { 51 | "Platform": "windows", 52 | "MinimumVersion": "10" 53 | } 54 | ], 55 | "SDKVersion": 2, 56 | "Software": { 57 | "MinimumVersion": "6.4" 58 | } 59 | } 60 | -------------------------------------------------------------------------------- /FXCommands/packages.config: -------------------------------------------------------------------------------- 1 |  2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | -------------------------------------------------------------------------------- /FXCommands/previews/1-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/previews/1-preview.png -------------------------------------------------------------------------------- /FXCommands/previews/2-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/previews/2-preview.png -------------------------------------------------------------------------------- /FXCommands/previews/3-preview.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/FXCommands/previews/3-preview.png -------------------------------------------------------------------------------- /LICENSE.md: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2025 josh-tf 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | > [!IMPORTANT] 2 | > The `FXCommands` extension is now published on the [Elgato Marketplace](https://marketplace.elgato.com/product/fxcommands-3c018041-5776-412f-ad1b-1c0da734040b) 🕹️ 3 | > 4 | > Due to changes in the code path and extension ID, **you'll need to uninstall the old `FiveM Commands` extension before installing `FXCommands`**. 5 | > 6 | > If you'd prefer a manual install or the Marketplace is temporarily unavailable, you can download the latest version directly from the [Releases](https://github.com/josh-tf/fxcommands/releases/) section. 7 | 8 | ![FXCommands](media/fxcommands-banner.png 'FXCommands') 9 | 10 | # FXCommands 11 | 12 | Stream Deck plugin for sending commands to the **FiveM** or **RedM** client console. 13 | 14 | This plugin works with a **physical Stream Deck** as well as the **Stream Deck iOS and Android** applications. If you don't own the hardware, you can use your phone or tablet as a Stream Deck. 15 | 16 | --- 17 | 18 | ## 🚀 Getting Started 19 | 20 | Now available on the **Stream Deck Store**: 21 | 🔗 [FXCommands on Stream Deck Marketplace](https://marketplace.elgato.com/product/fxcommands-3c018041-5776-412f-ad1b-1c0da734040b) 22 | 23 | ### **Alternative Installation** 24 | 25 | 1. Download the latest release from the [Releases](https://github.com/josh-tf/fxcommands/releases/) section. 26 | 2. Run the `.streamDeckPlugin` file and accept the **Stream Deck installation prompt**. 27 | 28 | --- 29 | 30 | ## 🎮 Usage 31 | 32 | Simply drag the **FXCommands Action** onto your Stream Deck and enter the **command** to be executed. 33 | You can choose to execute a command **on press, on release, or both**. 34 | 35 | --- 36 | 37 | ## 🔧 Advanced Usage 38 | 39 | ### **Staged Commands** 40 | 41 | Under `Advanced Options`, you can set up to **5 stages** for a button. 42 | Each stage runs a different command, cycling through them before returning to stage 0. 43 | 44 | #### **Example: Multi-Stage "Me" Commands** 45 | 46 | - **Stage 0**: `me opens car boot` 47 | - **Stage 1**: `me inspects boot contents` 48 | - **Stage 2**: `me finds nothing, closes boot` 49 | 50 | Each press advances to the next stage. After Stage 2, the next press resets back to Stage 0. 51 | 52 | #### **Example: Toggle Emote** 53 | 54 | - **Stage 0**: `e sit` — Sit down 55 | - **Stage 1**: `e c` — Cancel emote (stand up) 56 | 57 | This creates a **toggle button**: press once to sit, press again to stand. 58 | 59 | --- 60 | 61 | ### **Chained Commands** 62 | 63 | Commands can be **chained** using the `;` separator. 64 | For example, a button with: 65 | 66 | ```sh 67 | me sit;me relaxes on the ground 68 | ``` 69 | 70 | Will execute both commands **sequentially** in a single button press. 71 | 72 | --- 73 | 74 | ### **Multi-Action with Stream Deck** 75 | 76 | FXCommands can be used inside **Multi-Action** buttons for complex interactions. 77 | Example **Timed Emote** using Stream Deck’s Multi-Action: 78 | 79 | 1. **Action 1:** FXCommands Command → `e think;me thinking` 80 | 2. **Action 2:** Delay **2000ms** (2 seconds) 81 | 3. **Action 3:** FXCommands Command → `e c` 82 | 83 | This button triggers the `think` emote, waits **2 seconds**, then cancels the emote. 84 | 85 | --- 86 | 87 | ## 🐞 Bugs and Issues 88 | 89 | 📖 **Troubleshooting Guide**: 90 | 🔗 [Common Issues & Fixes](https://github.com/josh-tf/fxcommands/wiki/Troubleshooting-Guide) 91 | 92 | 🛠 If you encounter an issue not covered above, please open a **GitHub Issue**. 93 | -------------------------------------------------------------------------------- /media/fxcommands-banner.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/media/fxcommands-banner.png -------------------------------------------------------------------------------- /media/previews.psd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/media/previews.psd -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/.signature.p7s -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/CommandLine20.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/CommandLine20.png -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/CommandLineParser.2.7.82.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/CommandLineParser.2.7.82.nupkg -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/License.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2005 - 2015 Giacomo Stelluti Scala & Contributors 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in 13 | all copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 21 | THE SOFTWARE. 22 | -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/README.md: -------------------------------------------------------------------------------- 1 | [![Build status](https://ci.appveyor.com/api/projects/status/p61dj8udxs2aocmo/branch/master?svg=true)](https://ci.appveyor.com/project/commandlineparser/commandline/branch/master) 2 | [![NuGet](https://img.shields.io/nuget/dt/commandlineparser.svg)](http://nuget.org/packages/commandlineparser) 3 | [![NuGet](https://img.shields.io/nuget/v/commandlineparser.svg)](https://www.nuget.org/packages/CommandLineParser/) 4 | [![NuGet](https://img.shields.io/nuget/vpre/commandlineparser.svg)](https://www.nuget.org/packages/CommandLineParser/) 5 | [![Join the Gitter chat!](https://badges.gitter.im/gsscoder/commandline.svg)](https://gitter.im/gsscoder/commandline?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) 6 | 7 | # Command Line Parser Library for CLR and NetStandard 8 | 9 | **Note:** the API surface has changed since v1.9.x and earlier. If you are looking for documentation on v1.9.x, please see [stable-1.9.71.2](https://github.com/gsscoder/commandline/tree/stable-1.9.71.2) 10 | 11 | The Command Line Parser Library offers CLR applications a clean and concise API for manipulating command line arguments and related tasks, such as defining switches, options and verb commands. It allows you to display a help screen with a high degree of customization and a simple way to report syntax errors to the end user. 12 | 13 | ``` 14 | C:\Project> NuGet Install CommandLineParser 15 | ``` 16 | 17 | _NOTE: Mentioned F# Support is provided via ```CommandLineParser.FSharp``` package with FSharp dependencies._ 18 | 19 | __This library provides _hassle free_ command line parsing with a constantly updated API since 2005.__ 20 | 21 | # At a glance: 22 | 23 | - Compatible with __.NET Framework 4.0+__, __Mono 2.1+ Profile__, __.NET Standard__ and __.NET Core__ 24 | - Doesn't depend on other packages (No dependencies beyond standard base libraries) 25 | - One line parsing using default singleton: `CommandLine.Parser.Default.ParseArguments(...)`. 26 | - Automatic or one line help screen generator: `HelpText.AutoBuild(...)`. 27 | - Supports `--help`, `--version`, `version` and `help [verb]` by default with customization. 28 | - Map to sequences (via `IEnumerable` and similar) and scalar types, including Enums and `Nullable`. 29 | - You can also map to every type with a constructor that accepts a string (like `System.Uri`). 30 | - Define [verb commands](https://github.com/commandlineparser/commandline/wiki/Verbs) similar to `git commit -a`. 31 | - Support HelpText localization. 32 | - Support ordering of options in HelpText. 33 | - Support [Mutually Exclusive Options](https://github.com/commandlineparser/commandline/wiki/Mutually-Exclusive-Options) and Options groups. 34 | - Support named and value options. 35 | - Support Asynchronous programming with async and await. 36 | - Unparsing support: `CommandLine.Parser.Default.FormatCommandLine(T options)`. 37 | - CommandLineParser.FSharp package is F#-friendly with support for `option<'a>`, see [demo](https://github.com/commandlineparser/commandline/blob/master/demo/fsharp-demo.fsx). _NOTE: This is a separate NuGet package._ 38 | - Most of features applies with a [CoC](http://en.wikipedia.org/wiki/Convention_over_configuration) philosophy. 39 | - C# demo: source [here](https://github.com/commandlineparser/commandline/tree/master/demo/ReadText.Demo). 40 | 41 | # Getting Started with the Command Line Parser Library 42 | 43 | You can utilize the parser library in several ways: 44 | 45 | - Install via NuGet/Paket: [https://www.nuget.org/packages/CommandLineParser/](https://www.nuget.org/packages/CommandLineParser/) 46 | - Integrate directly into your project by copying the .cs files into your project. 47 | - ILMerge during your build process. 48 | 49 | ## Quick Start Examples 50 | 51 | 1. Create a class to define valid options, and to receive the parsed options. 52 | 2. Call ParseArguments with the args string array. 53 | 54 | C# Quick Start: 55 | 56 | ```cs 57 | using System; 58 | using CommandLine; 59 | 60 | namespace QuickStart 61 | { 62 | class Program 63 | { 64 | public class Options 65 | { 66 | [Option('v', "verbose", Required = false, HelpText = "Set output to verbose messages.")] 67 | public bool Verbose { get; set; } 68 | } 69 | 70 | static void Main(string[] args) 71 | { 72 | Parser.Default.ParseArguments(args) 73 | .WithParsed(o => 74 | { 75 | if (o.Verbose) 76 | { 77 | Console.WriteLine($"Verbose output enabled. Current Arguments: -v {o.Verbose}"); 78 | Console.WriteLine("Quick Start Example! App is in Verbose mode!"); 79 | } 80 | else 81 | { 82 | Console.WriteLine($"Current Arguments: -v {o.Verbose}"); 83 | Console.WriteLine("Quick Start Example!"); 84 | } 85 | }); 86 | } 87 | } 88 | } 89 | ``` 90 | 91 | ## C# Examples: 92 | 93 |
94 | Click to expand! 95 | 96 | ```cs 97 | 98 | class Options 99 | { 100 | [Option('r', "read", Required = true, HelpText = "Input files to be processed.")] 101 | public IEnumerable InputFiles { get; set; } 102 | 103 | // Omitting long name, defaults to name of property, ie "--verbose" 104 | [Option( 105 | Default = false, 106 | HelpText = "Prints all messages to standard output.")] 107 | public bool Verbose { get; set; } 108 | 109 | [Option("stdin", 110 | Default = false, 111 | HelpText = "Read from stdin")] 112 | public bool stdin { get; set; } 113 | 114 | [Value(0, MetaName = "offset", HelpText = "File offset.")] 115 | public long? Offset { get; set; } 116 | } 117 | 118 | static void Main(string[] args) 119 | { 120 | CommandLine.Parser.Default.ParseArguments(args) 121 | .WithParsed(RunOptions) 122 | .WithNotParsed(HandleParseError); 123 | } 124 | static void RunOptions(Options opts) 125 | { 126 | //handle options 127 | } 128 | static void HandleParseError(IEnumerable errs) 129 | { 130 | //handle errors 131 | } 132 | 133 | ``` 134 | 135 |
136 | 137 | Demo to show IEnumerable options and other usage: [Online Demo](https://dotnetfiddle.net/wrcAxr) 138 | 139 | ## F# Examples: 140 | 141 |
142 | Click to expand! 143 | 144 | ```fsharp 145 | 146 | type options = { 147 | [] files : seq; 148 | [] verbose : bool; 149 | [] language : string; 150 | [] offset : int64 option; 151 | } 152 | 153 | let main argv = 154 | let result = CommandLine.Parser.Default.ParseArguments(argv) 155 | match result with 156 | | :? Parsed as parsed -> run parsed.Value 157 | | :? NotParsed as notParsed -> fail notParsed.Errors 158 | ``` 159 |
160 | 161 | ## VB.NET Example: 162 | 163 |
164 | Click to expand! 165 | 166 | ```vb 167 | 168 | Class Options 169 | 171 | Public Property InputFiles As IEnumerable(Of String) 172 | 173 | ' Omitting long name, defaults to name of property, ie "--verbose" 174 | 176 | Public Property Verbose As Boolean 177 | 178 | 180 | Public Property Language As String 181 | 182 | 184 | Public Property Offset As Long? 185 | End Class 186 | 187 | Sub Main(ByVal args As String()) 188 | CommandLine.Parser.Default.ParseArguments(Of Options)(args) _ 189 | .WithParsed(Function(opts As Options) RunOptionsAndReturnExitCode(opts)) _ 190 | .WithNotParsed(Function(errs As IEnumerable(Of [Error])) 1) 191 | End Sub 192 | ``` 193 |
194 | 195 | ## For verbs: 196 | 197 | 1. Create separate option classes for each verb. An options base class is supported. 198 | 2. Call ParseArguments with all the verb attribute decorated options classes. 199 | 3. Use MapResult to direct program flow to the verb that was parsed. 200 | 201 | ### C# example: 202 | 203 | 204 |
205 | Click to expand! 206 | 207 | ```csharp 208 | [Verb("add", HelpText = "Add file contents to the index.")] 209 | class AddOptions { 210 | //normal options here 211 | } 212 | [Verb("commit", HelpText = "Record changes to the repository.")] 213 | class CommitOptions { 214 | //commit options here 215 | } 216 | [Verb("clone", HelpText = "Clone a repository into a new directory.")] 217 | class CloneOptions { 218 | //clone options here 219 | } 220 | 221 | int Main(string[] args) { 222 | return CommandLine.Parser.Default.ParseArguments(args) 223 | .MapResult( 224 | (AddOptions opts) => RunAddAndReturnExitCode(opts), 225 | (CommitOptions opts) => RunCommitAndReturnExitCode(opts), 226 | (CloneOptions opts) => RunCloneAndReturnExitCode(opts), 227 | errs => 1); 228 | } 229 | ``` 230 |
231 | 232 | ### VB.NET example: 233 | 234 | 235 |
236 | Click to expand! 237 | 238 | ```vb 239 | 240 | Public Class AddOptions 241 | 'Normal options here 242 | End Class 243 | 244 | Public Class CommitOptions 245 | 'Normal options here 246 | End Class 247 | 248 | Public Class CloneOptions 249 | 'Normal options here 250 | End Class 251 | 252 | Function Main(ByVal args As String()) As Integer 253 | Return CommandLine.Parser.Default.ParseArguments(Of AddOptions, CommitOptions, CloneOptions)(args) _ 254 | .MapResult( 255 | (Function(opts As AddOptions) RunAddAndReturnExitCode(opts)), 256 | (Function(opts As CommitOptions) RunCommitAndReturnExitCode(opts)), 257 | (Function(opts As CloneOptions) RunCloneAndReturnExitCode(opts)), 258 | (Function(errs As IEnumerable(Of [Error])) 1) 259 | ) 260 | End Function 261 | ``` 262 |
263 | 264 | ### F# Example: 265 | 266 |
267 | Click to expand! 268 | 269 | ```fs 270 | open CommandLine 271 | 272 | [] 273 | type AddOptions = { 274 | // normal options here 275 | } 276 | [] 277 | type CommitOptions = { 278 | // normal options here 279 | } 280 | [] 281 | type CloneOptions = { 282 | // normal options here 283 | } 284 | 285 | [] 286 | let main args = 287 | let result = Parser.Default.ParseArguments args 288 | match result with 289 | | :? CommandLine.Parsed as command -> 290 | match command.Value with 291 | | :? AddOptions as opts -> RunAddAndReturnExitCode opts 292 | | :? CommitOptions as opts -> RunCommitAndReturnExitCode opts 293 | | :? CloneOptions as opts -> RunCloneAndReturnExitCode opts 294 | | :? CommandLine.NotParsed -> 1 295 | ``` 296 |
297 | 298 | # Release History 299 | 300 | See the [changelog](CHANGELOG.md) 301 | 302 | # Contributors 303 | First off, _Thank you!_ All contributions are welcome. 304 | 305 | Please consider sticking with the GNU getopt standard for command line parsing. 306 | 307 | Additionally, for easiest diff compares, please follow the project's tabs settings. Utilizing the EditorConfig extension for Visual Studio/your favorite IDE is recommended. 308 | 309 | __And most importantly, please target the ```develop``` branch in your pull requests!__ 310 | 311 | ## Main Contributors (alphabetical order): 312 | - Alexander Fast (@mizipzor) 313 | - Dan Nemec (@nemec) 314 | - Eric Newton (@ericnewton76) 315 | - Kevin Moore (@gimmemoore) 316 | - Steven Evans 317 | - Thomas Démoulins (@Thilas) 318 | 319 | ## Resources for newcomers: 320 | 321 | - [Wiki](https://github.com/commandlineparser/commandline/wiki) 322 | - [GNU getopt](http://www.gnu.org/software/libc/manual/html_node/Getopt.html) 323 | 324 | # Contacts: 325 | 326 | - Giacomo Stelluti Scala 327 | - gsscoder AT gmail DOT com (_use this for everything that is not available via GitHub features_) 328 | - GitHub: [gsscoder](https://github.com/gsscoder) 329 | - [Blog](http://gsscoder.blogspot.it) 330 | - [Twitter](http://twitter.com/gsscoder) 331 | - Dan Nemec 332 | - Eric Newton 333 | - ericnewton76+commandlineparser AT gmail DOT com 334 | - GitHub: [ericnewton76](https://github.com/ericnewton76) 335 | - Blog: 336 | - Twitter: [enorl76](http://twitter.com/enorl76) 337 | -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/lib/net40/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/net40/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/lib/net45/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/net45/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/lib/net461/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/net461/CommandLine.dll -------------------------------------------------------------------------------- /packages/CommandLineParser.2.7.82/lib/netstandard2.0/CommandLine.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/CommandLineParser.2.7.82/lib/netstandard2.0/CommandLine.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/.signature.p7s -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/DynamicLanguageRuntime.1.3.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/DynamicLanguageRuntime.1.3.1.nupkg -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/LICENSE: -------------------------------------------------------------------------------- 1 | Copyright (c) .NET Foundation and Contributors 2 | All Rights Reserved 3 | 4 | Apache License 5 | Version 2.0, January 2004 6 | http://www.apache.org/licenses/ 7 | 8 | TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION 9 | 10 | 1. Definitions. 11 | 12 | "License" shall mean the terms and conditions for use, reproduction, and distribution as defined by Sections 1 through 9 of this document. 13 | 14 | "Licensor" shall mean the copyright owner or entity authorized by the copyright owner that is granting the License. 15 | 16 | "Legal Entity" shall mean the union of the acting entity and all other entities that control, are controlled by, or are under common control with that entity. For the purposes of this definition, "control" means (i) the power, direct or indirect, to cause the direction or management of such entity, whether by contract or otherwise, or (ii) ownership of fifty percent (50%) or more of the outstanding shares, or (iii) beneficial ownership of such entity. 17 | 18 | "You" (or "Your") shall mean an individual or Legal Entity exercising permissions granted by this License. 19 | 20 | "Source" form shall mean the preferred form for making modifications, including but not limited to software source code, documentation source, and configuration files. 21 | 22 | "Object" form shall mean any form resulting from mechanical transformation or translation of a Source form, including but not limited to compiled object code, generated documentation, and conversions to other media types. 23 | 24 | "Work" shall mean the work of authorship, whether in Source or Object form, made available under the License, as indicated by a copyright notice that is included in or attached to the work (an example is provided in the Appendix below). 25 | 26 | "Derivative Works" shall mean any work, whether in Source or Object form, that is based on (or derived from) the Work and for which the editorial revisions, annotations, elaborations, or other modifications represent, as a whole, an original work of authorship. For the purposes of this License, Derivative Works shall not include works that remain separable from, or merely link (or bind by name) to the interfaces of, the Work and Derivative Works thereof. 27 | 28 | "Contribution" shall mean any work of authorship, including the original version of the Work and any modifications or additions to that Work or Derivative Works thereof, that is intentionally submitted to Licensor for inclusion in the Work by the copyright owner or by an individual or Legal Entity authorized to submit on behalf of the copyright owner. For the purposes of this definition, "submitted" means any form of electronic, verbal, or written communication sent to the Licensor or its representatives, including but not limited to communication on electronic mailing lists, source code control systems, and issue tracking systems that are managed by, or on behalf of, the Licensor for the purpose of discussing and improving the Work, but excluding communication that is conspicuously marked or otherwise designated in writing by the copyright owner as "Not a Contribution." 29 | 30 | "Contributor" shall mean Licensor and any individual or Legal Entity on behalf of whom a Contribution has been received by Licensor and subsequently incorporated within the Work. 31 | 32 | 2. Grant of Copyright License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable copyright license to reproduce, prepare Derivative Works of, publicly display, publicly perform, sublicense, and distribute the Work and such Derivative Works in Source or Object form. 33 | 34 | 3. Grant of Patent License. Subject to the terms and conditions of this License, each Contributor hereby grants to You a perpetual, worldwide, non-exclusive, no-charge, royalty-free, irrevocable (except as stated in this section) patent license to make, have made, use, offer to sell, sell, import, and otherwise transfer the Work, where such license applies only to those patent claims licensable by such Contributor that are necessarily infringed by their Contribution(s) alone or by combination of their Contribution(s) with the Work to which such Contribution(s) was submitted. If You institute patent litigation against any entity (including a cross-claim or counterclaim in a lawsuit) alleging that the Work or a Contribution incorporated within the Work constitutes direct or contributory patent infringement, then any patent licenses granted to You under this License for that Work shall terminate as of the date such litigation is filed. 35 | 36 | 4. Redistribution. You may reproduce and distribute copies of the Work or Derivative Works thereof in any medium, with or without modifications, and in Source or Object form, provided that You meet the following conditions: 37 | 38 | You must give any other recipients of the Work or Derivative Works a copy of this License; and 39 | 40 | 41 | You must cause any modified files to carry prominent notices stating that You changed the files; and 42 | 43 | 44 | You must retain, in the Source form of any Derivative Works that You distribute, all copyright, patent, trademark, and attribution notices from the Source form of the Work, excluding those notices that do not pertain to any part of the Derivative Works; and 45 | 46 | 47 | If the Work includes a "NOTICE" text file as part of its distribution, then any Derivative Works that You distribute must include a readable copy of the attribution notices contained within such NOTICE file, excluding those notices that do not pertain to any part of the Derivative Works, in at least one of the following places: within a NOTICE text file distributed as part of the Derivative Works; within the Source form or documentation, if provided along with the Derivative Works; or, within a display generated by the Derivative Works, if and wherever such third-party notices normally appear. The contents of the NOTICE file are for informational purposes only and do not modify the License. You may add Your own attribution notices within Derivative Works that You distribute, alongside or as an addendum to the NOTICE text from the Work, provided that such additional attribution notices cannot be construed as modifying the License. 48 | You may add Your own copyright statement to Your modifications and may provide additional or different license terms and conditions for use, reproduction, or distribution of Your modifications, or for any such Derivative Works as a whole, provided Your use, reproduction, and distribution of the Work otherwise complies with the conditions stated in this License. 49 | 50 | 5. Submission of Contributions. Unless You explicitly state otherwise, any Contribution intentionally submitted for inclusion in the Work by You to the Licensor shall be under the terms and conditions of this License, without any additional terms or conditions. Notwithstanding the above, nothing herein shall supersede or modify the terms of any separate license agreement you may have executed with Licensor regarding such Contributions. 51 | 52 | 6. Trademarks. This License does not grant permission to use the trade names, trademarks, service marks, or product names of the Licensor, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file. 53 | 54 | 7. Disclaimer of Warranty. Unless required by applicable law or agreed to in writing, Licensor provides the Work (and each Contributor provides its Contributions) on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A PARTICULAR PURPOSE. You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License. 55 | 56 | 8. Limitation of Liability. In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, or consequential damages of any character arising as a result of this License or out of the use or inability to use the Work (including but not limited to damages for loss of goodwill, work stoppage, computer failure or malfunction, or any and all other commercial damages or losses), even if such Contributor has been advised of the possibility of such damages. 57 | 58 | 9. Accepting Warranty or Additional Liability. While redistributing the Work or Derivative Works thereof, You may choose to offer, and charge a fee for, acceptance of support, warranty, indemnity, or other liability obligations and/or rights consistent with this License. However, in accepting such obligations, You may act only on Your own behalf and on Your sole responsibility, not on behalf of any other Contributor, and only if You agree to indemnify, defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. 59 | -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/README.md: -------------------------------------------------------------------------------- 1 | Dynamic Language Runtime 2 | ======================== 3 | The Dynamic Language Runtime enables language developers to more easily create dynamic languages for the .NET platform. In addition to being a pluggable back-end for dynamic language compilers, the DLR provides language interop for dynamic operations on objects. The DLR has common hosting APIs for using dynamic languages as libraries or for scripting in your .NET applications. 4 | 5 | | **What?** | **Where?** | 6 | | --------: | :------------: | 7 | | **Windows/Linux/macOS Builds** | [![Build status](https://dotnet.visualstudio.com/IronLanguages/_apis/build/status/DLR)](https://dotnet.visualstudio.com/IronLanguages/_build/latest?definitionId=41) [![Github build status](https://github.com/IronLanguages/dlr/workflows/CI/badge.svg)](https://github.com/IronLanguages/dlr/actions?workflow=CI) | 8 | | **Downloads** | [![NuGet](https://img.shields.io/nuget/v/DynamicLanguageRuntime.svg)](https://www.nuget.org/packages/DynamicLanguageRuntime/) [![Release](https://img.shields.io/github/release/IronLanguages/dlr.svg)](https://github.com/IronLanguages/dlr/releases/latest)| 9 | | **Help** | [![Gitter chat](https://badges.gitter.im/IronLanguages/ironpython.svg)](https://gitter.im/IronLanguages/ironpython) [![StackExchange](https://img.shields.io/stackexchange/stackoverflow/t/dynamic-language-runtime.svg)](http://stackoverflow.com/questions/tagged/dynamic-language-runtime) | 10 | 11 | Code of Conduct 12 | --------------- 13 | This project has adopted the code of conduct defined by the Contributor Covenant to clarify expected behavior in our community. 14 | For more information see the [.NET Foundation Code of Conduct](https://dotnetfoundation.org/code-of-conduct). 15 | 16 | Installation 17 | ------------ 18 | The best way to install the DLR is through the NuGet DynamicLanguageRuntime package. 19 | 20 | Documentation 21 | ------------- 22 | The best current documentation is in the Docs/ directory, in Word and PDF format (it *was* a Microsoft project, after all). 23 | 24 | Help 25 | ---- 26 | If you have any questions, [open an issue](https://github.com/IronLanguages/dlr/issues/new), even if it's not an actual bug. The issues are an acceptable discussion forum as well. 27 | 28 | History 29 | ------- 30 | The original DLR site is at [CodePlex](http://dlr.codeplex.com). The DLR was part of a much larger repository containing IronPython and IronRuby as well; you can find it at the [main](https://github.com/IronLanguages/main) repository. This is a smaller repository containing just the DLR, which makes it easier to package and should make it easier to do more regular releases. 31 | 32 | Build 33 | ----- 34 | You will need to have Visual Studio 2019 16.8.0 or later installed on your machine. 35 | 36 | On Windows machines, start a Visual Studio command prompt and type: 37 | 38 | > make 39 | 40 | On Unix machines, make sure Mono is installed and in the PATH, and type: 41 | 42 | $ make 43 | 44 | Since the main development is on Windows, Mono bugs may inadvertantly be introduced 45 | - please report them! 46 | -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Dynamic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Dynamic.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.Metadata.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.Metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Scripting.Metadata 5 | 6 | 7 | 8 | 9 | Represents a block in memory. 10 | 11 | 12 | 13 | 14 | Reads data from a memory block. Maintains a position. 15 | 16 | 17 | 18 | 19 | Reads zero terminated sequence of bytes of given maximal length and converts it into an ASCII string. 20 | 21 | 22 | 23 | 24 | Zero terminated, UTF8 encoded sequence of bytes representing a name in metadata (a type name, a member name, etc). 25 | The name is bound to the module it was retrieved from. The module is kept alive until all its metadata names are collected. 26 | Doesn't cache hashcode, byte or character count. 27 | 28 | 29 | 30 | 31 | Gets the module whose metadata tables this instance represents. 32 | Null if the tables reflect unloaded module file. 33 | 34 | 35 | 36 | 37 | Gets the path of the module whose metadata tables this instance represents. 38 | Null for in-memory modules that are not backed by a file. 39 | 40 | The path is not accessible in partial trust. 41 | 42 | 43 | 44 | Returns AssemblyDef for manifest modules, null token otherwise. 45 | 46 | 47 | 48 | 49 | Token is null or represents a row in a metadata table. 50 | 51 | 52 | 53 | 54 | Gets the number of records in the view. 55 | If the view is over an entire table this operation is O(1), 56 | otherwise it might take up to O(log(#records in the table)). 57 | 58 | 59 | 60 | 61 | Module table entry (0x00 tokens). 62 | 63 | 64 | 65 | 66 | TypeRef table entry (0x01 tokens). 67 | 68 | 69 | 70 | 71 | AssemblyRef: 72 | If the target type is defined in a different Assembly from the current module. 73 | TypeRef: 74 | Target type is nested in TypeRef. 75 | ModuleRef: 76 | Target type is defined in another module within the same Assembly as this one. 77 | ModuleDef: 78 | If the target type is defined in the current module (this should not occur in a CLI "compressed metadata" module). 79 | Null token: 80 | There shall be a row in the ExportedType table for this Type - its Implementation field shall contain 81 | a File token or an AssemblyRef token that says where the type is defined. 82 | 83 | 84 | 85 | 86 | TypeDef table entry (0x02 tokens). 87 | 88 | 89 | 90 | 91 | Flags field in TypeDef table. 92 | 93 | 94 | 95 | 96 | Finds a nesting type-def. The search time is logarithmic in the number of nested types defined in the owning module. 97 | Returns a null token if this is not a nested type-def. 98 | 99 | 100 | 101 | 102 | O(log(#generic parameters in module)) 103 | 104 | 105 | 106 | 107 | This typedef represents a container of global functions and fields (manufactured <Module> type). 108 | 109 | 110 | 111 | 112 | Combines Field (0x04 tokens), FieldRVA (0x1d tokens) and Constant (0x0B) table entries. 113 | 114 | 115 | 116 | 117 | Flags field in the Field table. 118 | 119 | 120 | 121 | 122 | O(log(#fields, parameters and properties with default value)). 123 | Returns if the field doesn't have a default value. 124 | 125 | 126 | 127 | 128 | Returns null reference iff the field has no RVA. 129 | If size is 0 the memory block will span over the rest of the data section. 130 | O(log(#fields with RVAs)). 131 | 132 | 133 | 134 | 135 | Finds type-def that declares this field. The search time is logarithmic in the number of types defined in the owning module. 136 | 137 | 138 | 139 | 140 | MethodDef table entry (0x06 tokens). 141 | 142 | 143 | 144 | 145 | ImplFlags field in the MethodDef table. 146 | 147 | 148 | 149 | 150 | Flags field in the MethodDef table. 151 | 152 | 153 | 154 | 155 | Returns a null reference iff the method has no body. 156 | If size is 0 the memory block will span over the rest of the data section. 157 | 158 | 159 | 160 | 161 | Finds type-def that declares this method. The search time is logarithmic in the number of types defined in the owning module. 162 | 163 | 164 | 165 | 166 | O(log(#generic parameters in module)) 167 | 168 | 169 | 170 | 171 | Param table entry (0x08 tokens). 172 | 173 | 174 | 175 | 176 | Value greater or equal to zero and less than or equal to the number of parameters in owner method. 177 | A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onwards. 178 | Not all parameters need to have a corresponding ParamDef entry. 179 | 180 | 181 | 182 | 183 | O(log(#fields, parameters and properties with default value)). 184 | Returns if the field doesn't have a default value. 185 | 186 | 187 | 188 | 189 | Binary searches MethodDef table for a method that declares this parameter. 190 | 191 | 192 | 193 | 194 | InterfaceImpl table entry (0x09 tokens). 195 | TODO: we might not need this - TypeDef.ImplementedInterfaces might be a special enumerator that directly returns InterfaceType tokens. 196 | 197 | 198 | 199 | 200 | Could be a null token in EnC scenarios. 201 | 202 | 203 | 204 | 205 | TypeDef, TypeRef, or TypeSpec. 206 | 207 | 208 | 209 | 210 | MemberRef table entry (0x0A tokens). 211 | Stores MethodRefs and FieldRefs. 212 | 213 | 214 | 215 | 216 | TypeRef or TypeDef: 217 | If the class that defines the member is defined in another module. 218 | Note that it is unusual, but valid, to use a TypeRef token when the member is defined in this same module, 219 | in which case, its TypeDef token can be used instead. 220 | ModuleRef: 221 | If the member is defined, in another module of the same assembly, as a global function or variable. 222 | MethodDef: 223 | When used to supply a call-site signature for a vararg method that is defined in this module. 224 | The Name shall match the Name in the corresponding MethodDef row. 225 | The Signature shall match the Signature in the target method definition 226 | TypeSpec: 227 | If the member is a member of a generic type 228 | 229 | 230 | 231 | 232 | CustomAttribute table entry (0x0C tokens). 233 | 234 | 235 | 236 | 237 | Any token except the CustomAttribute. 238 | 239 | 240 | 241 | 242 | Returns the value of Type column in the CustomAttribute table. 243 | MethodDef or MemberRef. 244 | 245 | 246 | 247 | 248 | Value blob. 249 | 250 | 251 | 252 | 253 | StandAloneSig table entry (0x11 token). 254 | 255 | 256 | 257 | 258 | Combines information from PropertyMap (0x15), MethodSemantics (0x18) and Property (0x17) tables. 259 | 260 | 261 | 262 | 263 | O(log(#fields, parameters and properties with default value)). 264 | Returns if the field doesn't have a default value. 265 | 266 | 267 | 268 | 269 | Finds type-def that declares this property. The search time is logarithmic in the number of types with properties defined in the owning module. 270 | 271 | 272 | 273 | 274 | Combines information from EventMap (0x15), MethodSemantics (0x18) and Event (0x17) tables. 275 | 276 | 277 | 278 | 279 | Finds type-def that declares this event. The search time is logarithmic in the number of types with events defined in the owning module. 280 | 281 | 282 | 283 | 284 | ModuleRef table entry (0x1A tokens). 285 | 286 | 287 | 288 | 289 | TypeSpec table entry (0x1B tokens). 290 | 291 | 292 | 293 | 294 | Assembly table entry (0x20 tokens). 295 | 296 | 297 | 298 | 299 | Assembly table entry (0x23 tokens). 300 | 301 | 302 | 303 | 304 | File table entry (0x26 tokens). 305 | 306 | 307 | 308 | 309 | ExportedType table entry (0x27 tokens). 310 | 311 | 312 | 313 | 314 | Forwarded type: AssemblyRef 315 | Nested types: ExportedType 316 | Type in another module of this assembly: FileDef 317 | 318 | 319 | 320 | 321 | ManifestResource table entry (0x28 tokens). 322 | 323 | 324 | 325 | 326 | NestedClass table entry (0x29 tokens). 327 | TODO: Don't need if we exposed nested types enumeration on type-def directly and build TypeNesting mapping lazily. 328 | 329 | 330 | 331 | 332 | GenericParam table entry (0x2A tokens). 333 | 334 | 335 | 336 | 337 | Value greater or equal to zero and less than or equal to the number of parameters in owner method/type. 338 | All generic parameters are listed in the table. 339 | 340 | 341 | 342 | 343 | TypeDef or MethodDef. 344 | 345 | 346 | 347 | 348 | GenericParamConstraint table entry (0x2C tokens). 349 | 350 | 351 | 352 | 353 | TypeDef, TypeRef, or TypeSpec. 354 | 355 | 356 | 357 | 358 | MethodSpec table entry (0x2B tokens). 359 | Used when decoding IL instructions. 360 | 361 | 362 | 363 | 364 | MethodDef or MethodRef. 365 | 366 | 367 | 368 | 369 | We need to be able to construct tokens out of byte-code. 370 | 371 | 372 | 373 | 374 | -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/net45/Microsoft.Scripting.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Dynamic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Dynamic.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.Metadata.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.Metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Scripting.Metadata 5 | 6 | 7 | 8 | 9 | Represents a block in memory. 10 | 11 | 12 | 13 | 14 | Reads data from a memory block. Maintains a position. 15 | 16 | 17 | 18 | 19 | Reads zero terminated sequence of bytes of given maximal length and converts it into an ASCII string. 20 | 21 | 22 | 23 | 24 | Zero terminated, UTF8 encoded sequence of bytes representing a name in metadata (a type name, a member name, etc). 25 | The name is bound to the module it was retrieved from. The module is kept alive until all its metadata names are collected. 26 | Doesn't cache hashcode, byte or character count. 27 | 28 | 29 | 30 | 31 | Gets the module whose metadata tables this instance represents. 32 | Null if the tables reflect unloaded module file. 33 | 34 | 35 | 36 | 37 | Gets the path of the module whose metadata tables this instance represents. 38 | Null for in-memory modules that are not backed by a file. 39 | 40 | The path is not accessible in partial trust. 41 | 42 | 43 | 44 | Returns AssemblyDef for manifest modules, null token otherwise. 45 | 46 | 47 | 48 | 49 | Token is null or represents a row in a metadata table. 50 | 51 | 52 | 53 | 54 | Gets the number of records in the view. 55 | If the view is over an entire table this operation is O(1), 56 | otherwise it might take up to O(log(#records in the table)). 57 | 58 | 59 | 60 | 61 | Module table entry (0x00 tokens). 62 | 63 | 64 | 65 | 66 | TypeRef table entry (0x01 tokens). 67 | 68 | 69 | 70 | 71 | AssemblyRef: 72 | If the target type is defined in a different Assembly from the current module. 73 | TypeRef: 74 | Target type is nested in TypeRef. 75 | ModuleRef: 76 | Target type is defined in another module within the same Assembly as this one. 77 | ModuleDef: 78 | If the target type is defined in the current module (this should not occur in a CLI "compressed metadata" module). 79 | Null token: 80 | There shall be a row in the ExportedType table for this Type - its Implementation field shall contain 81 | a File token or an AssemblyRef token that says where the type is defined. 82 | 83 | 84 | 85 | 86 | TypeDef table entry (0x02 tokens). 87 | 88 | 89 | 90 | 91 | Flags field in TypeDef table. 92 | 93 | 94 | 95 | 96 | Finds a nesting type-def. The search time is logarithmic in the number of nested types defined in the owning module. 97 | Returns a null token if this is not a nested type-def. 98 | 99 | 100 | 101 | 102 | O(log(#generic parameters in module)) 103 | 104 | 105 | 106 | 107 | This typedef represents a container of global functions and fields (manufactured <Module> type). 108 | 109 | 110 | 111 | 112 | Combines Field (0x04 tokens), FieldRVA (0x1d tokens) and Constant (0x0B) table entries. 113 | 114 | 115 | 116 | 117 | Flags field in the Field table. 118 | 119 | 120 | 121 | 122 | O(log(#fields, parameters and properties with default value)). 123 | Returns if the field doesn't have a default value. 124 | 125 | 126 | 127 | 128 | Returns null reference iff the field has no RVA. 129 | If size is 0 the memory block will span over the rest of the data section. 130 | O(log(#fields with RVAs)). 131 | 132 | 133 | 134 | 135 | Finds type-def that declares this field. The search time is logarithmic in the number of types defined in the owning module. 136 | 137 | 138 | 139 | 140 | MethodDef table entry (0x06 tokens). 141 | 142 | 143 | 144 | 145 | ImplFlags field in the MethodDef table. 146 | 147 | 148 | 149 | 150 | Flags field in the MethodDef table. 151 | 152 | 153 | 154 | 155 | Returns a null reference iff the method has no body. 156 | If size is 0 the memory block will span over the rest of the data section. 157 | 158 | 159 | 160 | 161 | Finds type-def that declares this method. The search time is logarithmic in the number of types defined in the owning module. 162 | 163 | 164 | 165 | 166 | O(log(#generic parameters in module)) 167 | 168 | 169 | 170 | 171 | Param table entry (0x08 tokens). 172 | 173 | 174 | 175 | 176 | Value greater or equal to zero and less than or equal to the number of parameters in owner method. 177 | A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onwards. 178 | Not all parameters need to have a corresponding ParamDef entry. 179 | 180 | 181 | 182 | 183 | O(log(#fields, parameters and properties with default value)). 184 | Returns if the field doesn't have a default value. 185 | 186 | 187 | 188 | 189 | Binary searches MethodDef table for a method that declares this parameter. 190 | 191 | 192 | 193 | 194 | InterfaceImpl table entry (0x09 tokens). 195 | TODO: we might not need this - TypeDef.ImplementedInterfaces might be a special enumerator that directly returns InterfaceType tokens. 196 | 197 | 198 | 199 | 200 | Could be a null token in EnC scenarios. 201 | 202 | 203 | 204 | 205 | TypeDef, TypeRef, or TypeSpec. 206 | 207 | 208 | 209 | 210 | MemberRef table entry (0x0A tokens). 211 | Stores MethodRefs and FieldRefs. 212 | 213 | 214 | 215 | 216 | TypeRef or TypeDef: 217 | If the class that defines the member is defined in another module. 218 | Note that it is unusual, but valid, to use a TypeRef token when the member is defined in this same module, 219 | in which case, its TypeDef token can be used instead. 220 | ModuleRef: 221 | If the member is defined, in another module of the same assembly, as a global function or variable. 222 | MethodDef: 223 | When used to supply a call-site signature for a vararg method that is defined in this module. 224 | The Name shall match the Name in the corresponding MethodDef row. 225 | The Signature shall match the Signature in the target method definition 226 | TypeSpec: 227 | If the member is a member of a generic type 228 | 229 | 230 | 231 | 232 | CustomAttribute table entry (0x0C tokens). 233 | 234 | 235 | 236 | 237 | Any token except the CustomAttribute. 238 | 239 | 240 | 241 | 242 | Returns the value of Type column in the CustomAttribute table. 243 | MethodDef or MemberRef. 244 | 245 | 246 | 247 | 248 | Value blob. 249 | 250 | 251 | 252 | 253 | StandAloneSig table entry (0x11 token). 254 | 255 | 256 | 257 | 258 | Combines information from PropertyMap (0x15), MethodSemantics (0x18) and Property (0x17) tables. 259 | 260 | 261 | 262 | 263 | O(log(#fields, parameters and properties with default value)). 264 | Returns if the field doesn't have a default value. 265 | 266 | 267 | 268 | 269 | Finds type-def that declares this property. The search time is logarithmic in the number of types with properties defined in the owning module. 270 | 271 | 272 | 273 | 274 | Combines information from EventMap (0x15), MethodSemantics (0x18) and Event (0x17) tables. 275 | 276 | 277 | 278 | 279 | Finds type-def that declares this event. The search time is logarithmic in the number of types with events defined in the owning module. 280 | 281 | 282 | 283 | 284 | ModuleRef table entry (0x1A tokens). 285 | 286 | 287 | 288 | 289 | TypeSpec table entry (0x1B tokens). 290 | 291 | 292 | 293 | 294 | Assembly table entry (0x20 tokens). 295 | 296 | 297 | 298 | 299 | Assembly table entry (0x23 tokens). 300 | 301 | 302 | 303 | 304 | File table entry (0x26 tokens). 305 | 306 | 307 | 308 | 309 | ExportedType table entry (0x27 tokens). 310 | 311 | 312 | 313 | 314 | Forwarded type: AssemblyRef 315 | Nested types: ExportedType 316 | Type in another module of this assembly: FileDef 317 | 318 | 319 | 320 | 321 | ManifestResource table entry (0x28 tokens). 322 | 323 | 324 | 325 | 326 | NestedClass table entry (0x29 tokens). 327 | TODO: Don't need if we exposed nested types enumeration on type-def directly and build TypeNesting mapping lazily. 328 | 329 | 330 | 331 | 332 | GenericParam table entry (0x2A tokens). 333 | 334 | 335 | 336 | 337 | Value greater or equal to zero and less than or equal to the number of parameters in owner method/type. 338 | All generic parameters are listed in the table. 339 | 340 | 341 | 342 | 343 | TypeDef or MethodDef. 344 | 345 | 346 | 347 | 348 | GenericParamConstraint table entry (0x2C tokens). 349 | 350 | 351 | 352 | 353 | TypeDef, TypeRef, or TypeSpec. 354 | 355 | 356 | 357 | 358 | MethodSpec table entry (0x2B tokens). 359 | Used when decoding IL instructions. 360 | 361 | 362 | 363 | 364 | MethodDef or MethodRef. 365 | 366 | 367 | 368 | 369 | We need to be able to construct tokens out of byte-code. 370 | 371 | 372 | 373 | 374 | -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netcoreapp3.1/Microsoft.Scripting.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Dynamic.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Dynamic.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.Metadata.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.Metadata.dll -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.Metadata.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | Microsoft.Scripting.Metadata 5 | 6 | 7 | 8 | 9 | Represents a block in memory. 10 | 11 | 12 | 13 | 14 | Reads data from a memory block. Maintains a position. 15 | 16 | 17 | 18 | 19 | Reads zero terminated sequence of bytes of given maximal length and converts it into an ASCII string. 20 | 21 | 22 | 23 | 24 | Zero terminated, UTF8 encoded sequence of bytes representing a name in metadata (a type name, a member name, etc). 25 | The name is bound to the module it was retrieved from. The module is kept alive until all its metadata names are collected. 26 | Doesn't cache hashcode, byte or character count. 27 | 28 | 29 | 30 | 31 | Gets the module whose metadata tables this instance represents. 32 | Null if the tables reflect unloaded module file. 33 | 34 | 35 | 36 | 37 | Gets the path of the module whose metadata tables this instance represents. 38 | Null for in-memory modules that are not backed by a file. 39 | 40 | The path is not accessible in partial trust. 41 | 42 | 43 | 44 | Returns AssemblyDef for manifest modules, null token otherwise. 45 | 46 | 47 | 48 | 49 | Token is null or represents a row in a metadata table. 50 | 51 | 52 | 53 | 54 | Gets the number of records in the view. 55 | If the view is over an entire table this operation is O(1), 56 | otherwise it might take up to O(log(#records in the table)). 57 | 58 | 59 | 60 | 61 | Module table entry (0x00 tokens). 62 | 63 | 64 | 65 | 66 | TypeRef table entry (0x01 tokens). 67 | 68 | 69 | 70 | 71 | AssemblyRef: 72 | If the target type is defined in a different Assembly from the current module. 73 | TypeRef: 74 | Target type is nested in TypeRef. 75 | ModuleRef: 76 | Target type is defined in another module within the same Assembly as this one. 77 | ModuleDef: 78 | If the target type is defined in the current module (this should not occur in a CLI "compressed metadata" module). 79 | Null token: 80 | There shall be a row in the ExportedType table for this Type - its Implementation field shall contain 81 | a File token or an AssemblyRef token that says where the type is defined. 82 | 83 | 84 | 85 | 86 | TypeDef table entry (0x02 tokens). 87 | 88 | 89 | 90 | 91 | Flags field in TypeDef table. 92 | 93 | 94 | 95 | 96 | Finds a nesting type-def. The search time is logarithmic in the number of nested types defined in the owning module. 97 | Returns a null token if this is not a nested type-def. 98 | 99 | 100 | 101 | 102 | O(log(#generic parameters in module)) 103 | 104 | 105 | 106 | 107 | This typedef represents a container of global functions and fields (manufactured <Module> type). 108 | 109 | 110 | 111 | 112 | Combines Field (0x04 tokens), FieldRVA (0x1d tokens) and Constant (0x0B) table entries. 113 | 114 | 115 | 116 | 117 | Flags field in the Field table. 118 | 119 | 120 | 121 | 122 | O(log(#fields, parameters and properties with default value)). 123 | Returns if the field doesn't have a default value. 124 | 125 | 126 | 127 | 128 | Returns null reference iff the field has no RVA. 129 | If size is 0 the memory block will span over the rest of the data section. 130 | O(log(#fields with RVAs)). 131 | 132 | 133 | 134 | 135 | Finds type-def that declares this field. The search time is logarithmic in the number of types defined in the owning module. 136 | 137 | 138 | 139 | 140 | MethodDef table entry (0x06 tokens). 141 | 142 | 143 | 144 | 145 | ImplFlags field in the MethodDef table. 146 | 147 | 148 | 149 | 150 | Flags field in the MethodDef table. 151 | 152 | 153 | 154 | 155 | Returns a null reference iff the method has no body. 156 | If size is 0 the memory block will span over the rest of the data section. 157 | 158 | 159 | 160 | 161 | Finds type-def that declares this method. The search time is logarithmic in the number of types defined in the owning module. 162 | 163 | 164 | 165 | 166 | O(log(#generic parameters in module)) 167 | 168 | 169 | 170 | 171 | Param table entry (0x08 tokens). 172 | 173 | 174 | 175 | 176 | Value greater or equal to zero and less than or equal to the number of parameters in owner method. 177 | A value of 0 refers to the owner method's return type; its parameters are then numbered from 1 onwards. 178 | Not all parameters need to have a corresponding ParamDef entry. 179 | 180 | 181 | 182 | 183 | O(log(#fields, parameters and properties with default value)). 184 | Returns if the field doesn't have a default value. 185 | 186 | 187 | 188 | 189 | Binary searches MethodDef table for a method that declares this parameter. 190 | 191 | 192 | 193 | 194 | InterfaceImpl table entry (0x09 tokens). 195 | TODO: we might not need this - TypeDef.ImplementedInterfaces might be a special enumerator that directly returns InterfaceType tokens. 196 | 197 | 198 | 199 | 200 | Could be a null token in EnC scenarios. 201 | 202 | 203 | 204 | 205 | TypeDef, TypeRef, or TypeSpec. 206 | 207 | 208 | 209 | 210 | MemberRef table entry (0x0A tokens). 211 | Stores MethodRefs and FieldRefs. 212 | 213 | 214 | 215 | 216 | TypeRef or TypeDef: 217 | If the class that defines the member is defined in another module. 218 | Note that it is unusual, but valid, to use a TypeRef token when the member is defined in this same module, 219 | in which case, its TypeDef token can be used instead. 220 | ModuleRef: 221 | If the member is defined, in another module of the same assembly, as a global function or variable. 222 | MethodDef: 223 | When used to supply a call-site signature for a vararg method that is defined in this module. 224 | The Name shall match the Name in the corresponding MethodDef row. 225 | The Signature shall match the Signature in the target method definition 226 | TypeSpec: 227 | If the member is a member of a generic type 228 | 229 | 230 | 231 | 232 | CustomAttribute table entry (0x0C tokens). 233 | 234 | 235 | 236 | 237 | Any token except the CustomAttribute. 238 | 239 | 240 | 241 | 242 | Returns the value of Type column in the CustomAttribute table. 243 | MethodDef or MemberRef. 244 | 245 | 246 | 247 | 248 | Value blob. 249 | 250 | 251 | 252 | 253 | StandAloneSig table entry (0x11 token). 254 | 255 | 256 | 257 | 258 | Combines information from PropertyMap (0x15), MethodSemantics (0x18) and Property (0x17) tables. 259 | 260 | 261 | 262 | 263 | O(log(#fields, parameters and properties with default value)). 264 | Returns if the field doesn't have a default value. 265 | 266 | 267 | 268 | 269 | Finds type-def that declares this property. The search time is logarithmic in the number of types with properties defined in the owning module. 270 | 271 | 272 | 273 | 274 | Combines information from EventMap (0x15), MethodSemantics (0x18) and Event (0x17) tables. 275 | 276 | 277 | 278 | 279 | Finds type-def that declares this event. The search time is logarithmic in the number of types with events defined in the owning module. 280 | 281 | 282 | 283 | 284 | ModuleRef table entry (0x1A tokens). 285 | 286 | 287 | 288 | 289 | TypeSpec table entry (0x1B tokens). 290 | 291 | 292 | 293 | 294 | Assembly table entry (0x20 tokens). 295 | 296 | 297 | 298 | 299 | Assembly table entry (0x23 tokens). 300 | 301 | 302 | 303 | 304 | File table entry (0x26 tokens). 305 | 306 | 307 | 308 | 309 | ExportedType table entry (0x27 tokens). 310 | 311 | 312 | 313 | 314 | Forwarded type: AssemblyRef 315 | Nested types: ExportedType 316 | Type in another module of this assembly: FileDef 317 | 318 | 319 | 320 | 321 | ManifestResource table entry (0x28 tokens). 322 | 323 | 324 | 325 | 326 | NestedClass table entry (0x29 tokens). 327 | TODO: Don't need if we exposed nested types enumeration on type-def directly and build TypeNesting mapping lazily. 328 | 329 | 330 | 331 | 332 | GenericParam table entry (0x2A tokens). 333 | 334 | 335 | 336 | 337 | Value greater or equal to zero and less than or equal to the number of parameters in owner method/type. 338 | All generic parameters are listed in the table. 339 | 340 | 341 | 342 | 343 | TypeDef or MethodDef. 344 | 345 | 346 | 347 | 348 | GenericParamConstraint table entry (0x2C tokens). 349 | 350 | 351 | 352 | 353 | TypeDef, TypeRef, or TypeSpec. 354 | 355 | 356 | 357 | 358 | MethodSpec table entry (0x2B tokens). 359 | Used when decoding IL instructions. 360 | 361 | 362 | 363 | 364 | MethodDef or MethodRef. 365 | 366 | 367 | 368 | 369 | We need to be able to construct tokens out of byte-code. 370 | 371 | 372 | 373 | 374 | -------------------------------------------------------------------------------- /packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/DynamicLanguageRuntime.1.3.1/lib/netstandard2.0/Microsoft.Scripting.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/.signature.p7s -------------------------------------------------------------------------------- /packages/NLog.4.6.8/NLog.4.6.8.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/NLog.4.6.8.nupkg -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/monoandroid44/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/monoandroid44/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/net35/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/net35/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/net40-client/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/net40-client/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/net45/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/net45/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/netstandard1.3/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/netstandard1.3/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/netstandard1.5/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/netstandard1.5/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/netstandard2.0/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/netstandard2.0/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/sl4/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/sl4/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/sl5/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/sl5/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/wp8/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/wp8/NLog.dll -------------------------------------------------------------------------------- /packages/NLog.4.6.8/lib/xamarinios10/NLog.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/NLog.4.6.8/lib/xamarinios10/NLog.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/.signature.p7s -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/LICENSE.md: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) 2007 James Newton-King 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy of 6 | this software and associated documentation files (the "Software"), to deal in 7 | the Software without restriction, including without limitation the rights to 8 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 9 | the Software, and to permit persons to whom the Software is furnished to do so, 10 | subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 17 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 18 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 19 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 20 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 21 | -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/Newtonsoft.Json.13.0.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/Newtonsoft.Json.13.0.1.nupkg -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/lib/net20/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net20/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/lib/net35/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net35/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/lib/net40/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net40/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/lib/net45/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/net45/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/lib/netstandard1.0/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.0/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/lib/netstandard1.3/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/netstandard1.3/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/lib/netstandard2.0/Newtonsoft.Json.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/lib/netstandard2.0/Newtonsoft.Json.dll -------------------------------------------------------------------------------- /packages/Newtonsoft.Json.13.0.1/packageIcon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/Newtonsoft.Json.13.0.1/packageIcon.png -------------------------------------------------------------------------------- /packages/StreamDeck-Tools.2.7.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/.signature.p7s -------------------------------------------------------------------------------- /packages/StreamDeck-Tools.2.7.0/StreamDeck-Tools.2.7.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/StreamDeck-Tools.2.7.0.nupkg -------------------------------------------------------------------------------- /packages/StreamDeck-Tools.2.7.0/lib/net472/StreamDeckTools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/lib/net472/StreamDeckTools.dll -------------------------------------------------------------------------------- /packages/StreamDeck-Tools.2.7.0/lib/netstandard2.0/StreamDeckTools.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/StreamDeck-Tools.2.7.0/lib/netstandard2.0/StreamDeckTools.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/.signature.p7s -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/LICENSE.TXT: -------------------------------------------------------------------------------- 1 | The MIT License (MIT) 2 | 3 | Copyright (c) .NET Foundation and Contributors 4 | 5 | All rights reserved. 6 | 7 | Permission is hereby granted, free of charge, to any person obtaining a copy 8 | of this software and associated documentation files (the "Software"), to deal 9 | in the Software without restriction, including without limitation the rights 10 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 11 | copies of the Software, and to permit persons to whom the Software is 12 | furnished to do so, subject to the following conditions: 13 | 14 | The above copyright notice and this permission notice shall be included in all 15 | copies or substantial portions of the Software. 16 | 17 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 18 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 19 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 20 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 21 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 22 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 23 | SOFTWARE. 24 | -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/System.Drawing.Common.4.7.0.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/System.Drawing.Common.4.7.0.nupkg -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/THIRD-PARTY-NOTICES.TXT: -------------------------------------------------------------------------------- 1 | .NET Core uses third-party libraries or other resources that may be 2 | distributed under licenses different than the .NET Core software. 3 | 4 | In the event that we accidentally failed to list a required notice, please 5 | bring it to our attention. Post an issue or email us: 6 | 7 | dotnet@microsoft.com 8 | 9 | The attached notices are provided for information only. 10 | 11 | License notice for ASP.NET 12 | ------------------------------- 13 | 14 | Copyright (c) .NET Foundation. All rights reserved. 15 | Licensed under the Apache License, Version 2.0. 16 | 17 | Available at 18 | https://github.com/aspnet/AspNetCore/blob/master/LICENSE.txt 19 | 20 | License notice for Slicing-by-8 21 | ------------------------------- 22 | 23 | http://sourceforge.net/projects/slicing-by-8/ 24 | 25 | Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved 26 | 27 | 28 | This software program is licensed subject to the BSD License, available at 29 | http://www.opensource.org/licenses/bsd-license.html. 30 | 31 | 32 | License notice for Unicode data 33 | ------------------------------- 34 | 35 | http://www.unicode.org/copyright.html#License 36 | 37 | Copyright © 1991-2017 Unicode, Inc. All rights reserved. 38 | Distributed under the Terms of Use in http://www.unicode.org/copyright.html. 39 | 40 | Permission is hereby granted, free of charge, to any person obtaining 41 | a copy of the Unicode data files and any associated documentation 42 | (the "Data Files") or Unicode software and any associated documentation 43 | (the "Software") to deal in the Data Files or Software 44 | without restriction, including without limitation the rights to use, 45 | copy, modify, merge, publish, distribute, and/or sell copies of 46 | the Data Files or Software, and to permit persons to whom the Data Files 47 | or Software are furnished to do so, provided that either 48 | (a) this copyright and permission notice appear with all copies 49 | of the Data Files or Software, or 50 | (b) this copyright and permission notice appear in associated 51 | Documentation. 52 | 53 | THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF 54 | ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE 55 | WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 56 | NONINFRINGEMENT OF THIRD PARTY RIGHTS. 57 | IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS INCLUDED IN THIS 58 | NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR CONSEQUENTIAL 59 | DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 60 | DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 61 | TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 62 | PERFORMANCE OF THE DATA FILES OR SOFTWARE. 63 | 64 | Except as contained in this notice, the name of a copyright holder 65 | shall not be used in advertising or otherwise to promote the sale, 66 | use or other dealings in these Data Files or Software without prior 67 | written authorization of the copyright holder. 68 | 69 | License notice for Zlib 70 | ----------------------- 71 | 72 | https://github.com/madler/zlib 73 | http://zlib.net/zlib_license.html 74 | 75 | /* zlib.h -- interface of the 'zlib' general purpose compression library 76 | version 1.2.11, January 15th, 2017 77 | 78 | Copyright (C) 1995-2017 Jean-loup Gailly and Mark Adler 79 | 80 | This software is provided 'as-is', without any express or implied 81 | warranty. In no event will the authors be held liable for any damages 82 | arising from the use of this software. 83 | 84 | Permission is granted to anyone to use this software for any purpose, 85 | including commercial applications, and to alter it and redistribute it 86 | freely, subject to the following restrictions: 87 | 88 | 1. The origin of this software must not be misrepresented; you must not 89 | claim that you wrote the original software. If you use this software 90 | in a product, an acknowledgment in the product documentation would be 91 | appreciated but is not required. 92 | 2. Altered source versions must be plainly marked as such, and must not be 93 | misrepresented as being the original software. 94 | 3. This notice may not be removed or altered from any source distribution. 95 | 96 | Jean-loup Gailly Mark Adler 97 | jloup@gzip.org madler@alumni.caltech.edu 98 | 99 | */ 100 | 101 | License notice for Mono 102 | ------------------------------- 103 | 104 | http://www.mono-project.com/docs/about-mono/ 105 | 106 | Copyright (c) .NET Foundation Contributors 107 | 108 | MIT License 109 | 110 | Permission is hereby granted, free of charge, to any person obtaining a copy 111 | of this software and associated documentation files (the Software), to deal 112 | in the Software without restriction, including without limitation the rights 113 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 114 | copies of the Software, and to permit persons to whom the Software is 115 | furnished to do so, subject to the following conditions: 116 | 117 | The above copyright notice and this permission notice shall be included in all 118 | copies or substantial portions of the Software. 119 | 120 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 121 | EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 122 | MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND 123 | NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE 124 | LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION 125 | OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION 126 | WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 127 | 128 | License notice for International Organization for Standardization 129 | ----------------------------------------------------------------- 130 | 131 | Portions (C) International Organization for Standardization 1986: 132 | Permission to copy in any form is granted for use with 133 | conforming SGML systems and applications as defined in 134 | ISO 8879, provided this notice is included in all copies. 135 | 136 | License notice for Intel 137 | ------------------------ 138 | 139 | "Copyright (c) 2004-2006 Intel Corporation - All Rights Reserved 140 | 141 | Redistribution and use in source and binary forms, with or without 142 | modification, are permitted provided that the following conditions are met: 143 | 144 | 1. Redistributions of source code must retain the above copyright notice, this 145 | list of conditions and the following disclaimer. 146 | 147 | 2. Redistributions in binary form must reproduce the above copyright notice, 148 | this list of conditions and the following disclaimer in the documentation 149 | and/or other materials provided with the distribution. 150 | 151 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" 152 | AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE 153 | IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE 154 | DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE 155 | FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL 156 | DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR 157 | SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER 158 | CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, 159 | OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 160 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 161 | 162 | License notice for Xamarin and Novell 163 | ------------------------------------- 164 | 165 | Copyright (c) 2015 Xamarin, Inc (http://www.xamarin.com) 166 | 167 | Permission is hereby granted, free of charge, to any person obtaining a copy 168 | of this software and associated documentation files (the "Software"), to deal 169 | in the Software without restriction, including without limitation the rights 170 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 171 | copies of the Software, and to permit persons to whom the Software is 172 | furnished to do so, subject to the following conditions: 173 | 174 | The above copyright notice and this permission notice shall be included in 175 | all copies or substantial portions of the Software. 176 | 177 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 178 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 179 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 180 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 181 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 182 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 183 | THE SOFTWARE. 184 | 185 | Copyright (c) 2011 Novell, Inc (http://www.novell.com) 186 | 187 | Permission is hereby granted, free of charge, to any person obtaining a copy 188 | of this software and associated documentation files (the "Software"), to deal 189 | in the Software without restriction, including without limitation the rights 190 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 191 | copies of the Software, and to permit persons to whom the Software is 192 | furnished to do so, subject to the following conditions: 193 | 194 | The above copyright notice and this permission notice shall be included in 195 | all copies or substantial portions of the Software. 196 | 197 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 198 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 199 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 200 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 201 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 202 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 203 | THE SOFTWARE. 204 | 205 | Third party notice for W3C 206 | -------------------------- 207 | 208 | "W3C SOFTWARE AND DOCUMENT NOTICE AND LICENSE 209 | Status: This license takes effect 13 May, 2015. 210 | This work is being provided by the copyright holders under the following license. 211 | License 212 | By obtaining and/or copying this work, you (the licensee) agree that you have read, understood, and will comply with the following terms and conditions. 213 | Permission to copy, modify, and distribute this work, with or without modification, for any purpose and without fee or royalty is hereby granted, provided that you include the following on ALL copies of the work or portions thereof, including modifications: 214 | The full text of this NOTICE in a location viewable to users of the redistributed or derivative work. 215 | Any pre-existing intellectual property disclaimers, notices, or terms and conditions. If none exist, the W3C Software and Document Short Notice should be included. 216 | Notice of any changes or modifications, through a copyright statement on the new code or document such as "This software or document includes material copied from or derived from [title and URI of the W3C document]. Copyright © [YEAR] W3C® (MIT, ERCIM, Keio, Beihang)." 217 | Disclaimers 218 | THIS WORK IS PROVIDED "AS IS," AND COPYRIGHT HOLDERS MAKE NO REPRESENTATIONS OR WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO, WARRANTIES OF MERCHANTABILITY OR FITNESS FOR ANY PARTICULAR PURPOSE OR THAT THE USE OF THE SOFTWARE OR DOCUMENT WILL NOT INFRINGE ANY THIRD PARTY PATENTS, COPYRIGHTS, TRADEMARKS OR OTHER RIGHTS. 219 | COPYRIGHT HOLDERS WILL NOT BE LIABLE FOR ANY DIRECT, INDIRECT, SPECIAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF ANY USE OF THE SOFTWARE OR DOCUMENT. 220 | The name and trademarks of copyright holders may NOT be used in advertising or publicity pertaining to the work without specific, written prior permission. Title to copyright in this work will at all times remain with copyright holders." 221 | 222 | License notice for Bit Twiddling Hacks 223 | -------------------------------------- 224 | 225 | Bit Twiddling Hacks 226 | 227 | By Sean Eron Anderson 228 | seander@cs.stanford.edu 229 | 230 | Individually, the code snippets here are in the public domain (unless otherwise 231 | noted) — feel free to use them however you please. The aggregate collection and 232 | descriptions are © 1997-2005 Sean Eron Anderson. The code and descriptions are 233 | distributed in the hope that they will be useful, but WITHOUT ANY WARRANTY and 234 | without even the implied warranty of merchantability or fitness for a particular 235 | purpose. 236 | 237 | License notice for Brotli 238 | -------------------------------------- 239 | 240 | Copyright (c) 2009, 2010, 2013-2016 by the Brotli Authors. 241 | 242 | Permission is hereby granted, free of charge, to any person obtaining a copy 243 | of this software and associated documentation files (the "Software"), to deal 244 | in the Software without restriction, including without limitation the rights 245 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 246 | copies of the Software, and to permit persons to whom the Software is 247 | furnished to do so, subject to the following conditions: 248 | 249 | The above copyright notice and this permission notice shall be included in 250 | all copies or substantial portions of the Software. 251 | 252 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 253 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 254 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 255 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 256 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 257 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN 258 | THE SOFTWARE. 259 | 260 | compress_fragment.c: 261 | Copyright (c) 2011, Google Inc. 262 | All rights reserved. 263 | 264 | Redistribution and use in source and binary forms, with or without 265 | modification, are permitted provided that the following conditions are 266 | met: 267 | 268 | * Redistributions of source code must retain the above copyright 269 | notice, this list of conditions and the following disclaimer. 270 | * Redistributions in binary form must reproduce the above 271 | copyright notice, this list of conditions and the following disclaimer 272 | in the documentation and/or other materials provided with the 273 | distribution. 274 | * Neither the name of Google Inc. nor the names of its 275 | contributors may be used to endorse or promote products derived from 276 | this software without specific prior written permission. 277 | 278 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 279 | ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 280 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 281 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 282 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 283 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 284 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 285 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 286 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 287 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 288 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 289 | 290 | decode_fuzzer.c: 291 | Copyright (c) 2015 The Chromium Authors. All rights reserved. 292 | 293 | Redistribution and use in source and binary forms, with or without 294 | modification, are permitted provided that the following conditions are 295 | met: 296 | 297 | * Redistributions of source code must retain the above copyright 298 | notice, this list of conditions and the following disclaimer. 299 | * Redistributions in binary form must reproduce the above 300 | copyright notice, this list of conditions and the following disclaimer 301 | in the documentation and/or other materials provided with the 302 | distribution. 303 | * Neither the name of Google Inc. nor the names of its 304 | contributors may be used to endorse or promote products derived from 305 | this software without specific prior written permission. 306 | 307 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS 308 | ""AS IS"" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT 309 | LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR 310 | A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 311 | OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 312 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT 313 | LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 314 | DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 315 | THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 316 | (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE 317 | OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE." 318 | 319 | License notice for Json.NET 320 | ------------------------------- 321 | 322 | https://github.com/JamesNK/Newtonsoft.Json/blob/master/LICENSE.md 323 | 324 | The MIT License (MIT) 325 | 326 | Copyright (c) 2007 James Newton-King 327 | 328 | Permission is hereby granted, free of charge, to any person obtaining a copy of 329 | this software and associated documentation files (the "Software"), to deal in 330 | the Software without restriction, including without limitation the rights to 331 | use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of 332 | the Software, and to permit persons to whom the Software is furnished to do so, 333 | subject to the following conditions: 334 | 335 | The above copyright notice and this permission notice shall be included in all 336 | copies or substantial portions of the Software. 337 | 338 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 339 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS 340 | FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR 341 | COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER 342 | IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN 343 | CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 344 | 345 | License notice for vectorized base64 encoding / decoding 346 | -------------------------------------------------------- 347 | 348 | Copyright (c) 2005-2007, Nick Galbreath 349 | Copyright (c) 2013-2017, Alfred Klomp 350 | Copyright (c) 2015-2017, Wojciech Mula 351 | Copyright (c) 2016-2017, Matthieu Darbois 352 | All rights reserved. 353 | 354 | Redistribution and use in source and binary forms, with or without 355 | modification, are permitted provided that the following conditions are 356 | met: 357 | 358 | - Redistributions of source code must retain the above copyright notice, 359 | this list of conditions and the following disclaimer. 360 | 361 | - Redistributions in binary form must reproduce the above copyright 362 | notice, this list of conditions and the following disclaimer in the 363 | documentation and/or other materials provided with the distribution. 364 | 365 | THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS 366 | IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED 367 | TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A 368 | PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT 369 | HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, 370 | SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED 371 | TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR 372 | PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF 373 | LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING 374 | NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS 375 | SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 376 | -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/MonoAndroid10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/MonoAndroid10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/MonoTouch10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/MonoTouch10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/net461/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/net461/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/netstandard2.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/netstandard2.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/xamarinios10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarinios10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/xamarinmac20/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarinmac20/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/xamarintvos10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarintvos10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/lib/xamarinwatchos10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/lib/xamarinwatchos10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/MonoAndroid10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/MonoAndroid10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/MonoTouch10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/MonoTouch10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/net461/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/net461/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/netcoreapp3.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/netcoreapp3.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/netstandard2.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/netstandard2.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/xamarinios10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarinios10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/xamarinmac20/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarinmac20/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/xamarintvos10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarintvos10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/ref/xamarinwatchos10/_._: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/ref/xamarinwatchos10/_._ -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp2.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp2.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/unix/lib/netcoreapp3.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp2.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp2.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/runtimes/win/lib/netcoreapp3.0/System.Drawing.Common.dll -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/useSharedDesignerContext.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/System.Drawing.Common.4.7.0/useSharedDesignerContext.txt -------------------------------------------------------------------------------- /packages/System.Drawing.Common.4.7.0/version.txt: -------------------------------------------------------------------------------- 1 | 0f7f38c4fd323b26da10cce95f857f77f0f09b48 2 | -------------------------------------------------------------------------------- /packages/streamdeck-client-csharp.4.1.1/.signature.p7s: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/streamdeck-client-csharp.4.1.1/.signature.p7s -------------------------------------------------------------------------------- /packages/streamdeck-client-csharp.4.1.1/lib/netstandard2.0/streamdeck-client-csharp.dll: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/streamdeck-client-csharp.4.1.1/lib/netstandard2.0/streamdeck-client-csharp.dll -------------------------------------------------------------------------------- /packages/streamdeck-client-csharp.4.1.1/streamdeck-client-csharp.4.1.1.nupkg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/josh-tf/fxcommands/a9bc046575a55baa954f7f0e31703f89449c8149/packages/streamdeck-client-csharp.4.1.1/streamdeck-client-csharp.4.1.1.nupkg --------------------------------------------------------------------------------