Permalink
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
3245 lines (3245 sloc) 142 KB
<?xml version="1.0"?>
<AlteryxDocument yxmdVer="11.7">
<Nodes>
<Node ToolID="1">
<GuiSettings Plugin="AlteryxGuiToolkit.Questions.Tab.Tab">
<Position x="0" y="0" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="24">
<GuiSettings Plugin="AlteryxGuiToolkit.Questions.Label.Label">
<Position x="0" y="0" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="28">
<GuiSettings Plugin="AlteryxGuiToolkit.Condition.Condition">
<Position x="12" y="714" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="76">
<GuiSettings Plugin="AlteryxGuiToolkit.Action.Action">
<Position x="12" y="834" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="21">
<GuiSettings Plugin="AlteryxGuiToolkit.Questions.CheckBoxGroup.CheckBoxGroup">
<Position x="78" y="882" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="75">
<GuiSettings Plugin="AlteryxGuiToolkit.ToolContainer.ToolContainer">
<Position x="906" y="234.0001" width="847" height="387.9999" />
</GuiSettings>
<Properties>
<Configuration>
<Caption>Run Installer Script</Caption>
<Style TextColor="#314c4a" FillColor="#ecf2f2" BorderColor="#314c4a" Transparency="25" Margin="25" />
<Disabled value="False" />
<Folded value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
<ChildNodes>
<Node ToolID="58">
<GuiSettings Plugin="AlteryxBasePluginsGui.Union.Union">
<Position x="1042" y="349.9999" />
</GuiSettings>
<Properties>
<Configuration>
<ByName_ErrorMode>Warning</ByName_ErrorMode>
<ByName_OutputMode>All</ByName_OutputMode>
<Mode>ByName</Mode>
<SetOutputOrder value="True" />
<OutputOrder>
<Connection>#3</Connection>
<Connection>#1</Connection>
<Connection>#2</Connection>
</OutputOrder>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxUnion" />
</Node>
<Node ToolID="60">
<GuiSettings Plugin="AlteryxBasePluginsGui.AppendFields.AppendFields">
<Position x="1138" y="350" />
</GuiSettings>
<Properties>
<Configuration>
<CartesianMode>Error</CartesianMode>
<SelectConfiguration>
<Configuration outputConnection="Output">
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Source_Count" selected="True" rename="Admin" />
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
</SelectConfiguration>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
<Field name="Admin" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxAppendFields" />
</Node>
<Node ToolID="61">
<GuiSettings Plugin="AlteryxBasePluginsGui.BlockUntilDone.BlockUntilDone">
<Position x="1234" y="350" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
<Field name="Admin" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="Output2">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
<Field name="Admin" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="Output3">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
<Field name="Admin" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxBlockUntilDone" />
</Node>
<Node ToolID="62">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="1329" y="342" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Command" selected="True" />
<SelectField field="*Unknown" selected="False" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="63">
<GuiSettings Plugin="AlteryxBasePluginsGui.DbFileOutput.DbFileOutput">
<Position x="1435" y="350" />
</GuiSettings>
<Properties>
<Configuration>
<File MaxRecords="" FileFormat="0">%temp%\install.bat</File>
<Passwords />
<FormatSpecificOptions>
<LineEndStyle>CRLF</LineEndStyle>
<Delimeter>\0</Delimeter>
<ForceQuotes>Never</ForceQuotes>
<HeaderRow>False</HeaderRow>
<CodePage>28591</CodePage>
<WriteBOM>True</WriteBOM>
</FormatSpecificOptions>
<MultiFile value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>install.bat</DefaultAnnotationText>
<Left value="False" />
</Annotation>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxDbFileOutput" />
</Node>
<Node ToolID="64">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="1426" y="434" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="IIF([Admin],&#xA;'@echo off&#xA;powershell &quot;Start-Process -FilePath ' + &#xA;&quot;'&quot; + FileAddPaths([Engine.TempFilePath], &quot;Install.bat&quot;) + &quot;'&quot; &#xA; + ' -verb RunAs -Wait&quot;', &#xA;'@echo off&#xA;&quot;' + FileAddPaths([Engine.TempFilePath], &quot;Install.bat&quot;) + '&quot;')" field="Command" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Command = IIF([Admin],
'@echo off
powershell "Start-Process -FilePath ' +
"'" +...</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="Formula: IIF([Admin],&#xA;'@echo off&#xA;powershell &quot;Start-Process -FilePath ' + &#xA;&quot;'&quot; + FileAddPaths([Engine.TempFilePath], &quot;Install.bat&quot;) + &quot;'&quot; &#xA; + ' -verb RunAs -Wait&quot;', &#xA;'@echo off&#xA;&quot;' + FileAddPaths([Engine.TempFilePath], &quot;Install.bat&quot;) + '&quot;')" type="V_WString" />
<Field name="Admin" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="65">
<GuiSettings Plugin="AlteryxBasePluginsGui.Sample.Sample">
<Position x="1330" y="434" />
</GuiSettings>
<Properties>
<Configuration>
<GroupFields orderChanged="False" />
<Mode>First</Mode>
<N>1</N>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>First 1</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
<Field name="Admin" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSample" />
</Node>
<Node ToolID="66">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="1534" y="434" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Command" selected="True" />
<SelectField field="*Unknown" selected="False" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="Formula: IIF([Admin],&#xA;'@echo off&#xA;powershell &quot;Start-Process -FilePath ' + &#xA;&quot;'&quot; + FileAddPaths([Engine.TempFilePath], &quot;Install.bat&quot;) + &quot;'&quot; &#xA; + ' -verb RunAs -Wait&quot;', &#xA;'@echo off&#xA;&quot;' + FileAddPaths([Engine.TempFilePath], &quot;Install.bat&quot;) + '&quot;')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="67">
<GuiSettings Plugin="AlteryxBasePluginsGui.RunCommand.RunCommand">
<Position x="1642" y="434" />
</GuiSettings>
<Properties>
<Configuration>
<OutputConfiguration>
<Configuration>
<File MaxRecords="" FileFormat="0">%temp%/Install_Run.bat</File>
<Passwords />
<FormatSpecificOptions>
<LineEndStyle>CRLF</LineEndStyle>
<Delimeter>,</Delimeter>
<ForceQuotes>Never</ForceQuotes>
<HeaderRow>False</HeaderRow>
<CodePage>28591</CodePage>
<WriteBOM>True</WriteBOM>
</FormatSpecificOptions>
<MultiFile value="False" />
</Configuration>
</OutputConfiguration>
<InputConfiguration>
<Configuration />
</InputConfiguration>
<ProgramName>%temp%\Install_Run.bat</ProgramName>
<Arguments />
<WorkingDir />
<RunMinimized value="True" />
<RunSilent value="True" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Run Install_Run.bat</DefaultAnnotationText>
<Left value="False" />
</Annotation>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxRunCommand" />
</Node>
<Node ToolID="88">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="933" y="346" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<AnnotationText>Uninstall
Commands</AnnotationText>
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="Formula: 'DEL &quot;' + FileAddPaths([InstallDir],[FileName]) + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="89">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="1039" y="434" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<AnnotationText>Elevate
Install</AnnotationText>
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Count" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="90">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="932" y="446" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<AnnotationText>Install
Commands</AnnotationText>
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="Formula: 'XCOPY &quot;' + [FullPath] + '&quot; &quot;' &#xA;+ FileAddPaths([InstallDir],&quot;RuntimeData\FormulaAddIn&quot;) + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="103">
<GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
<Position x="931" y="278.0001" />
</GuiSettings>
<Properties>
<Configuration>
<NumRows value="1" />
<Fields>
<Field name="Command" />
</Fields>
<Data>
<r>
<c>ECHO "Installing..."</c>
</r>
</Data>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="20" source="TextInput:" type="String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
</Node>
</ChildNodes>
</Node>
<Node ToolID="91">
<GuiSettings Plugin="AlteryxGuiToolkit.ToolContainer.ToolContainer">
<Position x="189" y="693" width="569.9999" height="258" />
</GuiSettings>
<Properties>
<Configuration>
<Caption>Download Files</Caption>
<Style TextColor="#314c4a" FillColor="#ecf2f2" BorderColor="#314c4a" Transparency="25" Margin="10" />
<Disabled value="False" />
<Folded value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
<ChildNodes>
<Node ToolID="13">
<GuiSettings Plugin="AlteryxConnectorGui.Download.Download">
<Position x="296.9999" y="732" />
</GuiSettings>
<Properties>
<Configuration>
<URLField>assets_url</URLField>
<OutputMode>String</OutputMode>
<CodePage>65001</CodePage>
<EncodeURLs value="True" />
<Headers>
<NameValues>
<Item name="Accept" value="application/vnd.github.v3+json" />
<Item name="User-Agent" value="alteryx" />
</NameValues>
<Fields orderChanged="False">
<Field name="Release" selected="False" />
<Field name="assets_url" selected="False" />
<Field name="name" selected="False" />
<Field name="tag_name" selected="False" />
<Field name="*Unknown" selected="False" />
</Fields>
</Headers>
<Payload>
<HTTPAction>GET</HTTPAction>
<QueryStringBodyMode>Compose</QueryStringBodyMode>
<ComposeNameValues />
<ComposeFields orderChanged="False">
<Field name="Release" selected="False" />
<Field name="assets_url" selected="False" />
<Field name="name" selected="False" />
<Field name="tag_name" selected="False" />
<Field name="*Unknown" selected="False" />
</ComposeFields>
</Payload>
<UserName />
<Password />
<numConnections>2</numConnections>
<Timeout>600</Timeout>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
<Field name="DownloadData" size="1073741823" source="Download" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxConnectorEngine.dll" EngineDllEntryPoint="AlteryxDownload" />
</Node>
<Node ToolID="14">
<GuiSettings Plugin="AlteryxBasePluginsGui.JSONParse.JSONParse">
<Position x="369" y="732" />
</GuiSettings>
<Properties>
<Configuration>
<JSON_Field>DownloadData</JSON_Field>
<IncludeInOutput value="False" />
<SingleField value="True" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxJSONParse" />
</Node>
<Node ToolID="16">
<GuiSettings Plugin="AlteryxBasePluginsGui.RegEx.RegEx">
<Position x="440.9998" y="732" />
</GuiSettings>
<Properties>
<Configuration>
<Field>JSON_Name</Field>
<RegExExpression value="(\d+).([^\.]+)" />
<CaseInsensitve value="True" />
<Method>ParseComplex</Method>
<Replace expression="">
<CopyUnmatched value="True" />
</Replace>
<ParseSimple>
<SplitToRows value="False" />
<RootName />
<NumFields value="3" />
<ErrorHandling>Warn</ErrorHandling>
</ParseSimple>
<ParseComplex>
<Field field="Asset" type="Int16" size="2" />
<Field field="Field" type="V_WString" size="254" />
</ParseComplex>
<Match>
<Field>RootURL_Matched</Field>
<ErrorUnmatched value="False" />
</Match>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Parse:
(\d+).([^\.]+)</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="RegEx: Parsed from JSON_Name" type="Int16" />
<Field description="RegEx: Parsed from JSON_Name" name="Field" size="254" source="RegEx: Parsed from JSON_Name" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxRegEx" />
</Node>
<Node ToolID="17">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="536.9999" y="732" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>[Field] in ('name', 'browser_download_url')</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>[Field] in ('name', 'browser_download_url')</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="RegEx: Parsed from JSON_Name" type="Int16" />
<Field description="RegEx: Parsed from JSON_Name" name="Field" size="254" source="RegEx: Parsed from JSON_Name" type="V_WString" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="RegEx: Parsed from JSON_Name" type="Int16" />
<Field description="RegEx: Parsed from JSON_Name" name="Field" size="254" source="RegEx: Parsed from JSON_Name" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="18">
<GuiSettings Plugin="AlteryxBasePluginsGui.CrossTab.CrossTab">
<Position x="605.9999" y="726" />
</GuiSettings>
<Properties>
<Configuration>
<GroupFields>
<Field field="Asset" />
</GroupFields>
<HeaderField field="Field" />
<DataField field="JSON_ValueString" />
<Methods>
<Method method="First" />
<Separator>,</Separator>
<FieldSize value="2048" />
</Methods>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxCrossTab" />
</Node>
<Node ToolID="98">
<GuiSettings Plugin="AlteryxBasePluginsGui.Detour.Detour">
<Position x="210.9995" y="806" />
</GuiSettings>
<Properties>
<Configuration>
<DetourRight value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Left">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Release" order="Asc" />
</SortInfo>
</MetaInfo>
<MetaInfo connection="Right">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Release" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxDetour" />
</Node>
<Node ToolID="92">
<GuiSettings Plugin="AlteryxGuiToolkit.Action.Action">
<Position x="199" y="722" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="99">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="317.9999" y="822" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="0" field="Asset" size="2" type="Int16" />
<FormulaField expression="''" field="browser_download_url" size="1073741823" type="V_WString" />
<FormulaField expression="''" field="name" size="2048" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[Asset = 0
browser_download_url = ''
name = ''
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="Formula: ''" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
<Field name="Asset" source="Formula: 0" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="Formula: ''" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Release" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="100">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="437.9999" y="822" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="True" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Release" selected="False" />
<SelectField field="assets_url" selected="False" />
<SelectField field="tag_name" selected="False" />
<SelectField field="Asset" selected="True" />
<SelectField field="browser_download_url" selected="True" />
<SelectField field="name" selected="True" />
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Asset" source="Formula: 0" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="Formula: ''" type="V_WString" />
<Field name="name" size="2048" source="Formula: ''" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="101">
<GuiSettings Plugin="AlteryxBasePluginsGui.DetourEnd.DetourEnd">
<Position x="689.9999" y="810" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxDetourEnd" />
</Node>
</ChildNodes>
</Node>
<Node ToolID="84">
<GuiSettings Plugin="AlteryxGuiToolkit.ToolContainer.ToolContainer">
<Position x="11.99999" y="12" width="1066" height="214" />
</GuiSettings>
<Properties>
<Configuration>
<Caption>Get Versions From Git Hub</Caption>
<Style TextColor="#314c4a" FillColor="#ecf2f2" BorderColor="#314c4a" Transparency="25" Margin="10" />
<Disabled value="False" />
<Folded value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
<ChildNodes>
<Node ToolID="2">
<GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
<Position x="21.99999" y="76.9998" />
</GuiSettings>
<Properties>
<Configuration>
<NumRows value="1" />
<Fields>
<Field name="RootURL" />
</Fields>
<Data>
<r>
<c>https://api.github.com/repos/jdunkerley/AlteryxFormulaAddOns/releases</c>
</r>
</Data>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="RootURL" size="69" source="TextInput:" type="String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
</Node>
<Node ToolID="3">
<GuiSettings Plugin="AlteryxConnectorGui.Download.Download">
<Position x="118.0007" y="76.9998" />
</GuiSettings>
<Properties>
<Configuration>
<URLField>RootURL</URLField>
<OutputMode>String</OutputMode>
<CodePage>65001</CodePage>
<EncodeURLs value="True" />
<Headers>
<NameValues>
<Item name="Accept" value="application/vnd.github.v3+json" />
<Item name="User-Agent" value="alteryx" />
</NameValues>
<Fields orderChanged="False">
<Field name="RootURL" selected="False" />
<Field name="*Unknown" selected="False" />
</Fields>
</Headers>
<Payload>
<HTTPAction>GET</HTTPAction>
<QueryStringBodyMode>Compose</QueryStringBodyMode>
<ComposeNameValues />
<ComposeFields orderChanged="False">
<Field name="RootURL" selected="False" />
<Field name="*Unknown" selected="False" />
</ComposeFields>
</Payload>
<UserName />
<Password />
<numConnections>2</numConnections>
<Timeout>600</Timeout>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="RootURL" size="69" source="TextInput:" type="String" />
<Field name="DownloadData" size="1073741823" source="Download" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxConnectorEngine.dll" EngineDllEntryPoint="AlteryxDownload" />
</Node>
<Node ToolID="4">
<GuiSettings Plugin="AlteryxBasePluginsGui.JSONParse.JSONParse">
<Position x="225.9998" y="76.99995" />
</GuiSettings>
<Properties>
<Configuration>
<JSON_Field>DownloadData</JSON_Field>
<IncludeInOutput value="False" />
<SingleField value="True" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="RootURL" size="69" source="TextInput:" type="String" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxJSONParse" />
</Node>
<Node ToolID="5">
<GuiSettings Plugin="AlteryxBasePluginsGui.RegEx.RegEx">
<Position x="345.9999" y="77.00002" />
</GuiSettings>
<Properties>
<Configuration>
<Field>JSON_Name</Field>
<RegExExpression value="(\d+).([^\.]+)" />
<CaseInsensitve value="True" />
<Method>ParseComplex</Method>
<Replace expression="">
<CopyUnmatched value="True" />
</Replace>
<ParseSimple>
<SplitToRows value="False" />
<RootName />
<NumFields value="3" />
<ErrorHandling>Warn</ErrorHandling>
</ParseSimple>
<ParseComplex>
<Field field="Release" type="Int16" size="2" />
<Field field="Field" type="V_WString" size="254" />
</ParseComplex>
<Match>
<Field>RootURL_Matched</Field>
<ErrorUnmatched value="False" />
</Match>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Parse:
(\d+).([^\.]+)</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="RootURL" size="69" source="TextInput:" type="String" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="RegEx: Parsed from JSON_Name" type="Int16" />
<Field description="RegEx: Parsed from JSON_Name" name="Field" size="254" source="RegEx: Parsed from JSON_Name" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxRegEx" />
</Node>
<Node ToolID="6">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="441.9999" y="76.99994" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>[Field] in ('tag_name', 'name', 'assets_url')</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>[Field] in ('tag_name', 'name', 'assets_url')</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field name="RootURL" size="69" source="TextInput:" type="String" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="RegEx: Parsed from JSON_Name" type="Int16" />
<Field description="RegEx: Parsed from JSON_Name" name="Field" size="254" source="RegEx: Parsed from JSON_Name" type="V_WString" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field name="RootURL" size="69" source="TextInput:" type="String" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="JSON_Name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="JSON_ValueString" size="1073741823" source="JSONParse: " type="V_WString" />
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="RegEx: Parsed from JSON_Name" type="Int16" />
<Field description="RegEx: Parsed from JSON_Name" name="Field" size="254" source="RegEx: Parsed from JSON_Name" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="8">
<GuiSettings Plugin="AlteryxBasePluginsGui.CrossTab.CrossTab">
<Position x="525.9999" y="76.99998" />
</GuiSettings>
<Properties>
<Configuration>
<GroupFields>
<Field field="Release" />
</GroupFields>
<HeaderField field="Field" />
<DataField field="JSON_ValueString" />
<Methods>
<Method method="Concat" />
<Separator>,</Separator>
<FieldSize value="2048" />
</Methods>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Release" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxCrossTab" />
</Node>
<Node ToolID="9">
<GuiSettings Plugin="AlteryxBasePluginsGui.CrossTab.CrossTab">
<Position x="633.9999" y="41" />
</GuiSettings>
<Properties>
<Configuration>
<GroupFields />
<HeaderField field="Release" />
<DataField field="name" />
<Methods>
<Method method="Concat" />
<Separator>,</Separator>
<FieldSize value="2048" />
</Methods>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="0" size="2048" source="CrossTab:Header:Release:0:Concat:" type="V_WString" />
<Field name="1" size="2048" source="CrossTab:Header:Release:1:Concat:" type="V_WString" />
<Field name="2" size="2048" source="CrossTab:Header:Release:2:Concat:" type="V_WString" />
<Field name="3" size="2048" source="CrossTab:Header:Release:3:Concat:" type="V_WString" />
<Field name="4" size="2048" source="CrossTab:Header:Release:4:Concat:" type="V_WString" />
<Field name="5" size="2048" source="CrossTab:Header:Release:5:Concat:" type="V_WString" />
</RecordInfo>
<SortInfo>
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxCrossTab" />
</Node>
<Node ToolID="10">
<GuiSettings Plugin="AlteryxBasePluginsGui.DynamicRename.DynamicRename">
<Position x="717.9999" y="65" />
</GuiSettings>
<Properties>
<Configuration>
<RenameMode>RightInputRows</RenameMode>
<Fields orderChanged="False">
<Field name="0" />
<Field name="1" />
<Field name="2" />
<Field name="3" />
<Field name="4" />
<Field name="5" />
<Field name="*Unknown" />
</Fields>
<Expression />
<NamesFromRows>
<OnError>Warn</OnError>
<InputMode>Mapped</InputMode>
<OldName>Release</OldName>
<NewName>tag_name</NewName>
</NamesFromRows>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="v1.3" size="2048" source="CrossTab:Header:Release:0:Concat:" type="V_WString" />
<Field name="v1.2.1" size="2048" source="CrossTab:Header:Release:1:Concat:" type="V_WString" />
<Field name="v1.2" size="2048" source="CrossTab:Header:Release:2:Concat:" type="V_WString" />
<Field name="v1.1.1" size="2048" source="CrossTab:Header:Release:3:Concat:" type="V_WString" />
<Field name="v1.1" size="2048" source="CrossTab:Header:Release:4:Concat:" type="V_WString" />
<Field name="v1.0" size="2048" source="CrossTab:Header:Release:5:Concat:" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxDynamicRename" />
</Node>
<Node ToolID="11">
<GuiSettings Plugin="AlteryxGuiToolkit.Questions.DropDownListBox.DropDown">
<Position x="933.9999" y="53" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="25">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="813.9999" y="65" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="''" field="Uninstall" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[Uninstall = ''
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="v1.3" size="2048" source="CrossTab:Header:Release:0:Concat:" type="V_WString" />
<Field name="v1.2.1" size="2048" source="CrossTab:Header:Release:1:Concat:" type="V_WString" />
<Field name="v1.2" size="2048" source="CrossTab:Header:Release:2:Concat:" type="V_WString" />
<Field name="v1.1.1" size="2048" source="CrossTab:Header:Release:3:Concat:" type="V_WString" />
<Field name="v1.1" size="2048" source="CrossTab:Header:Release:4:Concat:" type="V_WString" />
<Field name="v1.0" size="2048" source="CrossTab:Header:Release:5:Concat:" type="V_WString" />
<Field name="Uninstall" size="1073741823" source="Formula: ''" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="12">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="963.9999" y="141" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>[tag_name] = [#1]</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>[tag_name] = [#1]</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Release" order="Asc" />
</SortInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Release" source="CrossTab:Group:Concat:" type="Int16" />
<Field name="assets_url" size="2048" source="CrossTab:Header:Field:assets_url:Concat:" type="V_WString" />
<Field name="name" size="2048" source="CrossTab:Header:Field:name:Concat:" type="V_WString" />
<Field name="tag_name" size="2048" source="CrossTab:Header:Field:tag_name:Concat:" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Release" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
</ChildNodes>
</Node>
<Node ToolID="71">
<GuiSettings Plugin="AlteryxGuiToolkit.ToolContainer.ToolContainer">
<Position x="33" y="957" width="724" height="170" />
</GuiSettings>
<Properties>
<Configuration>
<Caption>PDF Viewer</Caption>
<Style TextColor="#314c4a" FillColor="#ecf2f2" BorderColor="#314c4a" Transparency="25" Margin="10" />
<Disabled value="False" />
<Folded value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
<ChildNodes>
<Node ToolID="30">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="163.0001" y="994" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="[Engine.TempFilePath] + [name]" field="FullPath" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[FullPath = [Engine.TempFilePath] + [name]
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="FullPath" size="1073741823" source="Formula: [Engine.TempFilePath] + [name]" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="31">
<GuiSettings Plugin="AlteryxConnectorGui.Download.Download">
<Position x="259.0001" y="994" />
</GuiSettings>
<Properties>
<Configuration>
<URLField>browser_download_url</URLField>
<OutputMode>SpecificFile</OutputMode>
<OutputFileNameField>FullPath</OutputFileNameField>
<EncodeURLs value="True" />
<Headers>
<NameValues />
<Fields orderChanged="False">
<Field name="Asset" selected="False" />
<Field name="browser_download_url" selected="False" />
<Field name="name" selected="False" />
<Field name="FullPath" selected="False" />
<Field name="*Unknown" selected="False" />
</Fields>
</Headers>
<Payload>
<HTTPAction>GET</HTTPAction>
<QueryStringBodyMode>Compose</QueryStringBodyMode>
<ComposeNameValues />
<ComposeFields orderChanged="False">
<Field name="Asset" selected="False" />
<Field name="browser_download_url" selected="False" />
<Field name="name" selected="False" />
<Field name="FullPath" selected="False" />
<Field name="*Unknown" selected="False" />
</ComposeFields>
</Payload>
<UserName />
<Password />
<numConnections>2</numConnections>
<Timeout>600</Timeout>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="FullPath" size="1073741823" source="Formula: [Engine.TempFilePath] + [name]" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxConnectorEngine.dll" EngineDllEntryPoint="AlteryxDownload" />
</Node>
<Node ToolID="68">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="355.0001" y="998" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="'Start &quot;' + ToString([Asset]) + '&quot; &quot;' + [FullPath] + '&quot;'" field="Command" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[Command = 'Start "' + ToString([Asset]) + '" "' + [FullPath] + '"'
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="FullPath" size="1073741823" source="Formula: [Engine.TempFilePath] + [name]" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
<Field name="Command" size="1073741823" source="Formula: 'Start &quot;' + ToString([Asset]) + '&quot; &quot;' + [FullPath] + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="69">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="487.0001" y="1046" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Command" selected="True" />
<SelectField field="*Unknown" selected="False" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="Formula: 'Start &quot;' + ToString([Asset]) + '&quot; &quot;' + [FullPath] + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="70">
<GuiSettings Plugin="AlteryxBasePluginsGui.RunCommand.RunCommand">
<Position x="655.0001" y="986" />
</GuiSettings>
<Properties>
<Configuration>
<OutputConfiguration>
<Configuration>
<File MaxRecords="" FileFormat="0">%temp%\manual.bat</File>
<Passwords />
<FormatSpecificOptions>
<LineEndStyle>CRLF</LineEndStyle>
<Delimeter>,</Delimeter>
<ForceQuotes>Never</ForceQuotes>
<HeaderRow>False</HeaderRow>
<CodePage>28591</CodePage>
<WriteBOM>True</WriteBOM>
</FormatSpecificOptions>
<MultiFile value="False" />
</Configuration>
</OutputConfiguration>
<InputConfiguration>
<Configuration />
</InputConfiguration>
<ProgramName>%temp%\manual.bat</ProgramName>
<Arguments />
<WorkingDir />
<RunMinimized value="True" />
<RunSilent value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Run manual.bat</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<Dependencies>
<Implicit />
</Dependencies>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxRunCommand" />
</Node>
<Node ToolID="20">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="43" y="998" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>EndsWith([name], ".pdf") AND [#1]="True"</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>EndsWith([name], ".pdf") AND [#1]="True"</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="73">
<GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
<Position x="475.0001" y="986" />
</GuiSettings>
<Properties>
<Configuration>
<NumRows value="1" />
<Fields>
<Field name="Command" />
</Fields>
<Data>
<r>
<c>ECHO "Opening PDFs..."</c>
</r>
</Data>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="22" source="TextInput:" type="String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
</Node>
<Node ToolID="74">
<GuiSettings Plugin="AlteryxBasePluginsGui.Union.Union">
<Position x="571.0001" y="986" />
</GuiSettings>
<Properties>
<Configuration>
<ByName_ErrorMode>Warning</ByName_ErrorMode>
<ByName_OutputMode>All</ByName_OutputMode>
<Mode>ByName</Mode>
<SetOutputOrder value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="(Multiple Sources)" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxUnion" />
</Node>
</ChildNodes>
</Node>
<Node ToolID="26">
<GuiSettings Plugin="AlteryxGuiToolkit.ToolContainer.ToolContainer">
<Position x="774.0002" y="702" width="1044" height="365" />
</GuiSettings>
<Properties>
<Configuration>
<Caption>Installer</Caption>
<Style TextColor="#314c4a" FillColor="#ecf2f2" BorderColor="#314c4a" Transparency="25" Margin="25" />
<Disabled value="False" />
<Folded value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
<ChildNodes>
<Node ToolID="19">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="932" y="753.9997" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>EndsWith([name], ".zip") and !Contains([name],"test")</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>EndsWith([name], ".zip") and !Contains([name],"test")</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="44">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="1051" y="754.0002" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="FileAddPaths([Engine.TempFilePath], 'Install.zip')" field="FullPath" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[FullPath = FileAddPaths([Engine.TempFilePath], 'Install.zip')
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], 'Install.zip')" type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="45">
<GuiSettings Plugin="AlteryxConnectorGui.Download.Download">
<Position x="1135" y="754" />
</GuiSettings>
<Properties>
<Configuration>
<URLField>browser_download_url</URLField>
<OutputMode>SpecificFile</OutputMode>
<OutputFileNameField>FullPath</OutputFileNameField>
<EncodeURLs value="True" />
<Headers>
<NameValues />
<Fields orderChanged="False">
<Field name="Asset" selected="False" />
<Field name="browser_download_url" selected="False" />
<Field name="name" selected="False" />
<Field name="FullPath" selected="False" />
<Field name="*Unknown" selected="False" />
</Fields>
</Headers>
<Payload>
<HTTPAction>GET</HTTPAction>
<QueryStringBodyMode>Compose</QueryStringBodyMode>
<ComposeNameValues />
<ComposeFields orderChanged="False">
<Field name="Asset" selected="False" />
<Field name="browser_download_url" selected="False" />
<Field name="name" selected="False" />
<Field name="FullPath" selected="False" />
<Field name="*Unknown" selected="False" />
</ComposeFields>
</Payload>
<UserName />
<Password />
<numConnections>2</numConnections>
<Timeout>600</Timeout>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], 'Install.zip')" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxConnectorEngine.dll" EngineDllEntryPoint="AlteryxDownload" />
</Node>
<Node ToolID="46">
<GuiSettings Plugin="AlteryxBasePluginsGui.RunCommand.RunCommand">
<Position x="1207" y="754" />
</GuiSettings>
<Properties>
<Configuration>
<OutputConfiguration>
<Configuration>
<File MaxRecords="" FileFormat="0">%temp%\temp.csv</File>
<Passwords />
<FormatSpecificOptions>
<LineEndStyle>CRLF</LineEndStyle>
<Delimeter>,</Delimeter>
<ForceQuotes>False</ForceQuotes>
<HeaderRow>True</HeaderRow>
<CodePage>28591</CodePage>
<WriteBOM>True</WriteBOM>
</FormatSpecificOptions>
<MultiFile value="False" />
</Configuration>
</OutputConfiguration>
<InputConfiguration>
<Configuration>
<Passwords />
<File OutputFileName="" RecordLimit="" SearchSubDirs="False" FileFormat="0">%temp%\files.txt</File>
<FormatSpecificOptions>
<CodePage>28591</CodePage>
<Delimeter>\0</Delimeter>
<IgnoreErrors>False</IgnoreErrors>
<FieldLen>254</FieldLen>
<AllowShareWrite>False</AllowShareWrite>
<HeaderRow>False</HeaderRow>
<IgnoreQuotes>DoubleQuotes</IgnoreQuotes>
<ImportLine>1</ImportLine>
</FormatSpecificOptions>
</Configuration>
</InputConfiguration>
<ProgramName>PowerShell</ProgramName>
<Arguments>-Command "DEL Install -Force; GCI Install.zip | Expand-Archive -DestinationPath Install; ls Install | Set-Content files.txt"</Arguments>
<WorkingDir>%Engine.TempFilePath%</WorkingDir>
<RunMinimized value="True" />
<RunSilent value="True" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Run PowerShell</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Field_1" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxRunCommand" />
</Node>
<Node ToolID="47">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="1303" y="754" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>EndsWith([Field_1], ".xml")
OR
EndsWith([Field_1], ".dll")</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>EndsWith([Field_1], ".xml")
OR
EndsWith([Field_1], ".dll")</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field name="Field_1" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field name="Field_1" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="50">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="1411" y="758" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]))" field="FullPath" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>FullPath = FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]...</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Field_1" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]))" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="51">
<GuiSettings Plugin="AlteryxBasePluginsGui.AppendFields.AppendFields">
<Position x="1530" y="762" />
</GuiSettings>
<Properties>
<Configuration>
<CartesianMode>Error</CartesianMode>
<SelectConfiguration>
<Configuration outputConnection="Output">
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Target_Field_1" selected="True" rename="FileName" />
<SelectField field="Source_Path" selected="False" />
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
</SelectConfiguration>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="FileName" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]))" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxAppendFields" />
</Node>
<Node ToolID="52">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="1686" y="762" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="'XCOPY &quot;' + [FullPath] + '&quot; &quot;' &#xA;+ FileAddPaths([InstallDir],&quot;RuntimeData\FormulaAddIn&quot;) + '&quot;'" field="Command" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Command = 'XCOPY "' + [FullPath] + '" "'
+ FileAddPaths([InstallDir],"RuntimeDa...</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="FileName" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]))" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="Command" size="1073741823" source="Formula: 'XCOPY &quot;' + [FullPath] + '&quot; &quot;' &#xA;+ FileAddPaths([InstallDir],&quot;RuntimeData\FormulaAddIn&quot;) + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="57">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="1734" y="918" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Command" selected="True" />
<SelectField field="*Unknown" selected="False" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="Formula: 'XCOPY &quot;' + [FullPath] + '&quot; &quot;' &#xA;+ FileAddPaths([InstallDir],&quot;RuntimeData\FormulaAddIn&quot;) + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="93">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="1219" y="830" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<AnnotationText>Versions</AnnotationText>
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="94">
<GuiSettings Plugin="AlteryxBasePluginsGui.Detour.Detour">
<Position x="810.0002" y="882" />
</GuiSettings>
<Properties>
<Configuration>
<DetourRight value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Left">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
<MetaInfo connection="Right">
<RecordInfo>
<Field description="RegEx: Parsed from JSON_Name" name="Asset" source="CrossTab:Group:First:" type="Int16" />
<Field name="browser_download_url" size="1073741823" source="JSONParse: " type="V_WString" />
<Field name="name" size="1073741823" source="JSONParse: " type="V_WString" />
</RecordInfo>
<SortInfo>
<Field field="Asset" order="Asc" />
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxDetour" />
</Node>
<Node ToolID="95">
<GuiSettings Plugin="AlteryxBasePluginsGui.DetourEnd.DetourEnd">
<Position x="1650" y="918" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="FileName" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]))" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="Command" size="1073741823" source="Formula: 'XCOPY &quot;' + [FullPath] + '&quot; &quot;' &#xA;+ FileAddPaths([InstallDir],&quot;RuntimeData\FormulaAddIn&quot;) + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxDetourEnd" />
</Node>
<Node ToolID="96">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="1050" y="894.0001" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="''" field="FileName" size="2147483647" type="V_String" />
<FormulaField expression="''" field="FullPath" size="1073741823" type="V_WString" />
<FormulaField expression="'None'" field="Mode" size="5" type="String" />
<FormulaField expression="''" field="InstallDir" size="1073741823" type="V_WString" />
<FormulaField expression="'ECHO &quot;&quot;'" field="Command" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[FileName = ''
FullPath = ''
Mode = 'None'
InstallDir = ''
Command = 'ECHO ""'
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="27">
<GuiSettings Plugin="AlteryxGuiToolkit.Action.Action">
<Position x="799.0002" y="746.0001" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="97">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="1170" y="894" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Asset" selected="False" />
<SelectField field="browser_download_url" selected="False" />
<SelectField field="name" selected="False" />
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="FileName" size="2147483647" source="Formula: ''" type="V_String" />
<Field name="FullPath" size="1073741823" source="Formula: ''" type="V_WString" />
<Field name="Mode" size="5" source="Formula: 'None'" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ''" type="V_WString" />
<Field name="Command" size="1073741823" source="Formula: 'Write-Host &quot;&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="105">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="1602" y="762" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>!IsNull(Mode)</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>!IsNull(Mode)</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field name="FileName" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]))" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field name="FileName" size="254" source="File: C:\ProgramData\Alteryx\Engine\Engine_17176_17ab2a010feb4bb1a4fc63eabffb3d90_\files.txt" type="V_String" />
<Field name="FullPath" size="1073741823" source="Formula: FileAddPaths([Engine.TempFilePath], FileAddPaths('Install', [Field_1]))" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
</ChildNodes>
</Node>
<Node ToolID="48">
<GuiSettings Plugin="AlteryxGuiToolkit.ToolContainer.ToolContainer">
<Position x="11.99999" y="474" width="769" height="205" />
</GuiSettings>
<Properties>
<Configuration>
<Caption>Make Uninstall List</Caption>
<Style TextColor="#314c4a" FillColor="#ecf2f2" BorderColor="#314c4a" Transparency="25" Margin="10" />
<Disabled value="False" />
<Folded value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
<ChildNodes>
<Node ToolID="36">
<GuiSettings Plugin="AlteryxBasePluginsGui.AppendFields.AppendFields">
<Position x="349" y="519.0001" />
</GuiSettings>
<Properties>
<Configuration>
<CartesianMode>Error</CartesianMode>
<SelectConfiguration>
<Configuration outputConnection="Output">
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Target_Release" selected="False" />
<SelectField field="Target_assets_url" selected="False" />
<SelectField field="Target_name" selected="False" />
<SelectField field="Target_tag_name" selected="False" />
<SelectField field="Target_URL" selected="False" />
<SelectField field="Target_DownloadData" selected="True" rename="FileName" />
<SelectField field="Target_DownloadHeaders" selected="False" />
<SelectField field="Source_Path" selected="False" />
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
</SelectConfiguration>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="FileName" size="1073741823" source="Download" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxAppendFields" />
</Node>
<Node ToolID="38">
<GuiSettings Plugin="AlteryxConnectorGui.Download.Download">
<Position x="109.9999" y="503" />
</GuiSettings>
<Properties>
<Configuration>
<URLField>URL</URLField>
<OutputMode>String</OutputMode>
<CodePage>65001</CodePage>
<EncodeURLs value="True" />
<Headers>
<NameValues />
<Fields orderChanged="False">
<Field name="Release" selected="False" />
<Field name="assets_url" selected="False" />
<Field name="name" selected="False" />
<Field name="tag_name" selected="False" />
<Field name="URL" selected="False" />
<Field name="*Unknown" selected="False" />
</Fields>
</Headers>
<Payload>
<HTTPAction>GET</HTTPAction>
<QueryStringBodyMode>Compose</QueryStringBodyMode>
<ComposeNameValues />
<ComposeFields orderChanged="False">
<Field name="Release" selected="False" />
<Field name="assets_url" selected="False" />
<Field name="name" selected="False" />
<Field name="tag_name" selected="False" />
<Field name="URL" selected="False" />
<Field name="*Unknown" selected="False" />
</ComposeFields>
</Payload>
<UserName />
<Password />
<numConnections>2</numConnections>
<Timeout>600</Timeout>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="URL" size="82" source="TextInput:" type="String" />
<Field name="DownloadData" size="1073741823" source="Download" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxConnectorEngine.dll" EngineDllEntryPoint="AlteryxDownload" />
</Node>
<Node ToolID="40">
<GuiSettings Plugin="AlteryxBasePluginsGui.RegEx.RegEx">
<Position x="218" y="503.0002" />
</GuiSettings>
<Properties>
<Configuration>
<Field>DownloadData</Field>
<RegExExpression value="- ([^\n]+)" />
<CaseInsensitve value="True" />
<Method>ParseSimple</Method>
<Replace expression="">
<CopyUnmatched value="True" />
</Replace>
<ParseSimple>
<SplitToRows value="True" />
</ParseSimple>
<ParseComplex>
<Field field="RegExOut1" type="V_WString" size="254" />
</ParseComplex>
<Match>
<Field>assets_url_Matched</Field>
<ErrorUnmatched value="False" />
</Match>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>Tokenize:
- ([^\n]+)</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="URL" size="82" source="TextInput:" type="String" />
<Field name="DownloadData" size="1073741823" source="Download" type="V_WString" />
<Field name="DownloadHeaders" size="2147483647" source="Download" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxRegEx" />
</Node>
<Node ToolID="41">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="458" y="515.0001" />
</GuiSettings>
<Properties>
<Configuration>
<Expression>FileExists(FileAddPaths([InstallDir], [FileName]))
AND
!IsNull(Mode)</Expression>
<Mode>Custom</Mode>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>FileExists(FileAddPaths([InstallDir], [FileName]))
AND
!IsNul...</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field name="FileName" size="1073741823" source="Download" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field name="FileName" size="1073741823" source="Download" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="43">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="590" y="515.0001" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="'DEL &quot;' + FileAddPaths([InstallDir],[FileName]) + '&quot;'" field="Command" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[Command = 'DEL "' + FileAddPaths([InstallDir],[FileName]) + '"'
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="FileName" size="1073741823" source="Download" type="V_WString" />
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="Command" size="1073741823" source="Formula: 'DEL &quot;' + FileAddPaths([InstallDir],[FileName]) + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="56">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="712" y="522.0001" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Command" selected="True" />
<SelectField field="*Unknown" selected="False" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Command" size="1073741823" source="Formula: 'DEL &quot;' + FileAddPaths([InstallDir],[FileName]) + '&quot;'" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="87">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="220" y="594.0001" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<AnnotationText>Versions</AnnotationText>
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="102">
<GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
<Position x="21.99999" y="504.0001" />
</GuiSettings>
<Properties>
<Configuration>
<NumRows value="1" />
<Fields>
<Field name="URL" />
</Fields>
<Data>
<r>
<c>https://raw.githubusercontent.com/wiki/jdunkerley/AlteryxFormulaAddOns/FileList.md</c>
</r>
</Data>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="URL" size="82" source="TextInput:" type="String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
</Node>
</ChildNodes>
</Node>
<Node ToolID="37">
<GuiSettings Plugin="AlteryxGuiToolkit.ToolContainer.ToolContainer">
<Position x="11.99998" y="234" width="879" height="236" />
</GuiSettings>
<Properties>
<Configuration>
<Caption>Get Install Paths</Caption>
<Style TextColor="#314c4a" FillColor="#ecf2f2" BorderColor="#314c4a" Transparency="25" Margin="10" />
<Disabled value="False" />
<Folded value="False" />
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
<ChildNodes>
<Node ToolID="33">
<GuiSettings Plugin="AlteryxBasePluginsGui.TextInput.TextInput">
<Position x="21.99998" y="341.0003" />
</GuiSettings>
<Properties>
<Configuration>
<NumRows value="2" />
<Fields>
<Field name="Mode" />
<Field name="Path" />
</Fields>
<Data>
<r>
<c>User</c>
<c>HKEY_CURRENT_USER\SOFTWARE\SRC\Alteryx</c>
</r>
<r>
<c>Admin</c>
<c>HKEY_LOCAL_MACHINE\SOFTWARE\WOW6432Node\SRC\Alteryx</c>
</r>
</Data>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Mode" size="5" source="TextInput:" type="String" />
<Field name="Path" size="51" source="TextInput:" type="V_String" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTextInput" />
</Node>
<Node ToolID="34">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="118.0001" y="341.0003" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="ReadRegistryString([Path], 'InstallDir64')" field="InstallDir" size="1073741823" type="V_WString" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[InstallDir = ReadRegistryString([Path], 'InstallDir64')
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Mode" size="5" source="TextInput:" type="String" />
<Field name="Path" size="51" source="TextInput:" type="V_String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
<Node ToolID="35">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="238.0001" y="341.0003" />
</GuiSettings>
<Properties>
<Configuration>
<Mode>Simple</Mode>
<Simple>
<Field>InstallDir</Field>
<Operator>IsNotEmpty</Operator>
</Simple>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>!IsEmpty([InstallDir])</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field name="Mode" size="5" source="TextInput:" type="String" />
<Field name="Path" size="51" source="TextInput:" type="V_String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field name="Mode" size="5" source="TextInput:" type="String" />
<Field name="Path" size="51" source="TextInput:" type="V_String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="79">
<GuiSettings Plugin="AlteryxBasePluginsGui.CrossTab.CrossTab">
<Position x="330" y="342" />
</GuiSettings>
<Properties>
<Configuration>
<GroupFields />
<HeaderField field="Mode" />
<DataField field="InstallDir" />
<Methods>
<Method method="First" />
<Separator>,</Separator>
<FieldSize value="2048" />
</Methods>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Admin" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="User" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
<SortInfo>
</SortInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxCrossTab" />
</Node>
<Node ToolID="81">
<GuiSettings Plugin="AlteryxGuiToolkit.Questions.DropDownListBox.ListBox">
<Position x="382.0001" y="401" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="82">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="478.0001" y="341" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Admin" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="User" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="Temp" source="Formula: 0" type="Int16" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="83">
<GuiSettings Plugin="AlteryxGuiToolkit.Action.Action">
<Position x="436.0001" y="263" width="59" height="59" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
</Properties>
</Node>
<Node ToolID="85">
<GuiSettings Plugin="AlteryxBasePluginsGui.Transpose.Transpose">
<Position x="552" y="348" />
</GuiSettings>
<Properties>
<Configuration>
<ErrorWarn>Ignore</ErrorWarn>
<KeyFields />
<DataFields>
<Field field="Admin" selected="True" />
<Field field="User" selected="True" />
<Field field="Temp" selected="False" />
<Field field="*Unknown" selected="True" />
</DataFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Name" size="5" source="Transpose:" type="String" />
<Field name="Value" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxTranspose" />
</Node>
<Node ToolID="86">
<GuiSettings Plugin="AlteryxBasePluginsGui.AlteryxSelect.AlteryxSelect">
<Position x="654" y="348" />
</GuiSettings>
<Properties>
<Configuration>
<OrderChanged value="False" />
<CommaDecimal value="False" />
<SelectFields>
<SelectField field="Name" selected="True" rename="Mode" />
<SelectField field="Value" selected="True" rename="InstallDir" />
<SelectField field="*Unknown" selected="True" />
</SelectFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxSelect" />
</Node>
<Node ToolID="54">
<GuiSettings Plugin="AlteryxBasePluginsGui.Filter.Filter">
<Position x="732" y="348" />
</GuiSettings>
<Properties>
<Configuration>
<Mode>Simple</Mode>
<Simple>
<Field>Mode</Field>
<Operator>=</Operator>
<Operands>
<Operand>Admin</Operand>
</Operands>
</Simple>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText>[Mode] = "Admin"</DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="True">
<RecordInfo>
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
<MetaInfo connection="False">
<RecordInfo>
<Field name="Mode" size="5" source="Transpose:" type="String" />
<Field name="InstallDir" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFilter" />
</Node>
<Node ToolID="55">
<GuiSettings>
<Position x="822" y="348" />
</GuiSettings>
<Properties>
<Configuration />
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText />
<Left value="False" />
</Annotation>
<MetaInfo connection="Output9">
<RecordInfo>
<Field name="Count" source="(Multiple Sources)" type="Int64" />
</RecordInfo>
</MetaInfo>
</Properties>
<EngineSettings Macro="CountRecords.yxmc" />
</Node>
<Node ToolID="104">
<GuiSettings Plugin="AlteryxBasePluginsGui.Formula.Formula">
<Position x="414" y="342" />
</GuiSettings>
<Properties>
<Configuration>
<FormulaFields>
<FormulaField expression="0" field="Temp" size="2" type="Int16" />
</FormulaFields>
</Configuration>
<Annotation DisplayMode="0">
<Name />
<DefaultAnnotationText><![CDATA[Temp = 0
]]></DefaultAnnotationText>
<Left value="False" />
</Annotation>
<MetaInfo connection="Output">
<RecordInfo>
<Field name="Admin" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="User" size="1073741823" source="Formula: ReadRegistryString([Path], 'InstallDir64')" type="V_WString" />
<Field name="Temp" source="Formula: 0" type="Int16" />
</RecordInfo>
<SortInfo />
</MetaInfo>
</Properties>
<EngineSettings EngineDll="AlteryxBasePluginsEngine.dll" EngineDllEntryPoint="AlteryxFormula" />
</Node>
</ChildNodes>
</Node>
</Nodes>
<Connections>
<Connection Wireless="True">