<?xml version="1.0" encoding="UTF-8"?>
<report xmlns="http://www.eclipse.org/birt/2005/design" version="3.2.23" id="1">
    <property name="author">Liquidware Labs Inc.</property>
    <property name="comments">Copyright (c) 2025 Liquidware Labs, Inc.</property>
    <property name="createdBy">Eclipse BIRT Designer Version 4.4.2.v201410272105 Build &lt;4.4.2.v20150217-1805></property>
    <text-property name="title">Microsoft Windows 11 Migration - Windows 10 Machines Replacement List</text-property>
    <html-property name="description">This report lists the machines that need to be replaced due to lack of specifications or minimum requirements for Windows 11. This list will details why the machines are not recommended to run Windows 11. &#13;
&#13;
The report displays a breakdown of all the different editions of Windows 10 such as Professional, Enterprise, etc., OS Versions such as 21H2, 22H2, etc., CPU Clock Speed, CPU Cores, RAM, Disk Free, TPM, UEFI, Machine Chassis, Make, Model, and if available their location by Country, State, and City.&#13;
&#13;
It can also be filtered by Machine Groups to only show machines within a Machine Group. These filters can be applied within the Stratusphere Web UI before running the selected report.</html-property>
    <list-property name="userProperties">
        <structure>
            <property name="name">hub_version</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlReportName</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlCategoryName</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlDefaultFilters</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlDiscardIfEmpty</property>
            <property name="type">boolean</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlDoAlert</property>
            <property name="type">boolean</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlAlertMessage</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlOutputFormat</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlDefaultSchedule</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">ReportVersion</property>
            <property name="type">string</property>
            <property name="isVisible">true</property>
        </structure>
        <structure>
            <property name="name">lwlDiscardIfEmptyName</property>
            <property name="type">string</property>
        </structure>
        <structure>
            <property name="name">compatibleUpgrade.Windows11UpgradeHardwareCompatibility.x</property>
            <property name="type">integer</property>
            <property name="isVisible">false</property>
        </structure>
        <structure>
            <property name="name">compatibleUpgrade.Windows11UpgradeHardwareCompatibility.y</property>
            <property name="type">integer</property>
            <property name="isVisible">false</property>
        </structure>
    </list-property>
    <property name="hub_version">6.70</property>
    <property name="lwlReportName">Microsoft Windows 11 Migration - Windows 10 Machines Replacement List</property>
    <property name="lwlCategoryName">Windows Migration</property>
    <property name="lwlDiscardIfEmpty">true</property>
    <property name="lwlDoAlert">false</property>
    <property name="lwlOutputFormat">XLS</property>
    <property name="compatibleUpgrade.Windows11UpgradeHardwareCompatibility.x">135</property>
    <property name="compatibleUpgrade.Windows11UpgradeHardwareCompatibility.y">80</property>
    <simple-property-list name="includeResource">
        <value>ResourceStringTable</value>
    </simple-property-list>
    <list-property name="includeScripts">
        <property>CommonFunctionCalls.js</property>
    </list-property>
    <property name="units">in</property>
    <method name="initialize"><![CDATA[if (params["ThresholdValue"] == null || params["ThresholdValue"] == 0) {
	params["ThresholdValue"] = 30;
}
]]></method>
    <property name="theme">lwl-styles.defaultTheme</property>
    <text-property name="displayName">Microsoft Windows 11 Migration - Windows 10 Machines Replacement List</text-property>
    <property name="layoutPreference">auto layout</property>
    <list-property name="libraries">
        <structure>
            <property name="fileName">lwl-masterpage.rptlibrary</property>
            <property name="namespace">lwl-masterpage</property>
        </structure>
        <structure>
            <property name="fileName">lwl-styles.rptlibrary</property>
            <property name="namespace">lwl-styles</property>
        </structure>
        <structure>
            <property name="fileName">lwl-defaultparams.rptlibrary</property>
            <property name="namespace">lwl-defaultparams</property>
        </structure>
    </list-property>
    <parameters>
        <scalar-parameter name="GmtOffset" id="435">
            <property name="valueType">static</property>
            <property name="dataType">integer</property>
            <property name="distinct">true</property>
            <simple-property-list name="defaultValue">
                <value type="javascript">var dait = new Date();&#13;
var gmtOffset = -dait.getTimezoneOffset() * 60 * 1000;&#13;
gmtOffset;</value>
            </simple-property-list>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="TimeZoneString" id="436">
            <property name="valueType">static</property>
            <property name="isRequired">true</property>
            <property name="dataType">string</property>
            <property name="distinct">true</property>
            <simple-property-list name="defaultValue">
                <value type="constant">US/Eastern</value>
            </simple-property-list>
            <list-property name="selectionList"/>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="TimeZoneDisplayString" id="6330">
            <text-property name="promptText">Please enter a short timezone strings for display purposes</text-property>
            <property name="valueType">static</property>
            <property name="dataType">string</property>
            <property name="distinct">true</property>
            <simple-property-list name="defaultValue">
                <value type="constant">ET</value>
            </simple-property-list>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="ReportRunEpochTimeMs" id="860">
            <property name="hidden">true</property>
            <property name="valueType">static</property>
            <property name="dataType">decimal</property>
            <property name="distinct">true</property>
            <simple-property-list name="defaultValue">
                <value type="javascript">var dait = new Date();&#13;
var gmtOffset = dait.getTimezoneOffset() * 60 * 1000;&#13;
dait.setTime(dait.getTime() + gmtOffset);&#13;
dait.valueOf();</value>
            </simple-property-list>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
        <scalar-parameter name="MachineGroup" id="13037" extends="lwl-defaultparams.MachineGroup"/>
        <scalar-parameter name="ThresholdValue" id="16683" extends="lwl-defaultparams.ThresholdValue">
            <text-property name="promptText">Maximum Rows in Report</text-property>
            <property name="valueType">static</property>
            <property name="dataType">integer</property>
            <property name="distinct">true</property>
            <simple-property-list name="defaultValue">
                <value type="constant">30</value>
            </simple-property-list>
            <list-property name="selectionList"/>
            <property name="paramType">simple</property>
            <property name="controlType">text-box</property>
            <structure name="format">
                <property name="category">Unformatted</property>
            </structure>
        </scalar-parameter>
    </parameters>
    <data-sources>
        <oda-data-source extensionID="org.eclipse.birt.report.data.oda.jdbc" name="Portal" id="204">
            <list-property name="privateDriverProperties">
                <ex-property>
                    <name>contentBidiFormatStr</name>
                    <value>ILYNN</value>
                </ex-property>
                <ex-property>
                    <name>metadataBidiFormatStr</name>
                    <value>ILYNN</value>
                </ex-property>
                <ex-property>
                    <name>disabledMetadataBidiFormatStr</name>
                </ex-property>
                <ex-property>
                    <name>disabledContentBidiFormatStr</name>
                </ex-property>
            </list-property>
            <property name="odaDriverClass">org.postgresql.Driver</property>
            <property name="odaURL">jdbc:postgresql://enter.hubdb.ipordns:5432/portal?ssl=true&amp;sslmode=prefer</property>
            <property name="odaUser">reports</property>
            <encrypted-property name="odaPassword" encryptionID="base64">cmVwb3J0cw==</encrypted-property>
        </oda-data-source>
    </data-sources>
    <data-sets>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Windows10OrEarlierMachineCount" id="16273">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[select
  count(distinct pn.id) as machine_count
  
from
	tnt_config.policynode pn 
	join tnt_config.node nde on (nde.id = pn.id)
	left outer join tnt_config.os os on (os.id = nde.os_id)
	
where
	(pn.delete_time is null) -- Machine has not been deleted
	and (nde.delete_time is null) -- Machine has not been deleted
	and (nde.ihostversion is not null) -- Machine has a CID Key installed
	and (nde.certificate is not null) -- Machine has a valid certificate
	and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
	and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
	and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
	and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
	and (os.description not ilike '%Windows 11%' -- Machine is not already running Windows 11
		and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
	and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
  -- Machine group filter
	and ('%' = ? or pn.id in 
		(select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
			where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
;	
]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
  <design:ResultSets derivedMetaData="true">
    <design:resultSetDefinitions>
      <design:resultSetColumns>
        <design:resultColumnDefinitions>
          <design:attributes>
            <design:identifier>
              <design:name>machine_count</design:name>
              <design:position>1</design:position>
            </design:identifier>
            <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
            <design:precision>19</design:precision>
            <design:scale>0</design:scale>
            <design:nullability>Unknown</design:nullability>
            <design:uiHints>
              <design:displayName>machine_count</design:displayName>
            </design:uiHints>
          </design:attributes>
          <design:usageHints>
            <design:label>machine_count</design:label>
            <design:formattingHints>
              <design:displaySize>20</design:displaySize>
            </design:formattingHints>
          </design:usageHints>
        </design:resultColumnDefinitions>
      </design:resultSetColumns>
      <design:criteria/>
    </design:resultSetDefinitions>
  </design:ResultSets>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Windows11MachineCount" id="16286">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[select
  count(distinct pn.id) as machine_count
  
from
	tnt_config.policynode pn 
	join tnt_config.node nde on (nde.id = pn.id)
	left outer join tnt_config.os os on (os.id = nde.os_id)
	
where
	(pn.delete_time is null) -- Machine has not been deleted
	and (nde.delete_time is null) -- Machine has not been deleted
	and (nde.ihostversion is not null) -- Machine has a CID Key installed
	and (nde.certificate is not null) -- Machine has a valid certificate
	and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
	and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
	and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
	and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
	and (os.description ilike '%Windows 11%') -- Machine is already running Windows 11
		-- and os.description not ilike '%Windows Server %' -- Machine is not already running Windows Server 
	and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
  	-- Machine group filter
	and ('%' = ? or pn.id in 
		(select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
			where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
;	
]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
  <design:ResultSets derivedMetaData="true">
    <design:resultSetDefinitions>
      <design:resultSetColumns>
        <design:resultColumnDefinitions>
          <design:attributes>
            <design:identifier>
              <design:name>machine_count</design:name>
              <design:position>1</design:position>
            </design:identifier>
            <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
            <design:precision>19</design:precision>
            <design:scale>0</design:scale>
            <design:nullability>Unknown</design:nullability>
            <design:uiHints>
              <design:displayName>machine_count</design:displayName>
            </design:uiHints>
          </design:attributes>
          <design:usageHints>
            <design:label>machine_count</design:label>
            <design:formattingHints>
              <design:displaySize>20</design:displaySize>
            </design:formattingHints>
          </design:usageHints>
        </design:resultColumnDefinitions>
      </design:resultSetColumns>
      <design:criteria/>
    </design:resultSetDefinitions>
  </design:ResultSets>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="CountdownToEoS" id="16287">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">days_difference</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">days_difference</text-property>
                    <text-property name="heading">days_difference</text-property>
                </structure>
            </list-property>
            <list-property name="parameters"/>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">days_difference</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">days_difference</property>
                    <property name="nativeName">days_difference</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[select case when extract('days' from '2025-10-15' - now()) > 0 then extract('days' from '2025-10-15' - now()) else 0 end as days_difference;]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Windows10MachineCountsByStatus" id="16302">
            <property name="nullsOrdering">nulls lowest</property>
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">node_id</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_id</text-property>
                    <text-property name="heading">node_id</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_name</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_name</text-property>
                    <text-property name="heading">machine_name</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_fqmn</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_fqmn</text-property>
                    <text-property name="heading">machine_fqmn</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_last_contact</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_last_contact</text-property>
                    <text-property name="heading">machine_last_contact</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_make</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_make</text-property>
                    <text-property name="heading">machine_make</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_model</text-property>
                    <text-property name="heading">machine_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_chassis_type</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_chassis_type</text-property>
                    <text-property name="heading">machine_chassis_type</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_version</text-property>
                    <text-property name="heading">node_os_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_desc</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_desc</text-property>
                    <text-property name="heading">node_os_desc</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_build_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">os_build_version</text-property>
                    <text-property name="heading">os_build_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_model</text-property>
                    <text-property name="heading">node_cpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_short_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_short_models</text-property>
                    <text-property name="heading">node_cpu_short_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_speed_ghz</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_speed_ghz</text-property>
                    <text-property name="heading">node_cpu_speed_ghz</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_brand</text-property>
                    <text-property name="heading">cpu_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand</text-property>
                    <text-property name="heading">cpu_sub_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand_modifier</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                    <text-property name="heading">cpu_sub_brand_modifier</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_model_number</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_model_number</text-property>
                    <text-property name="heading">cpu_model_number</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sku_level</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">cpu_sku_level</text-property>
                    <text-property name="heading">cpu_sku_level</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_generation</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">cpu_generation</text-property>
                    <text-property name="heading">cpu_generation</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sku</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sku</text-property>
                    <text-property name="heading">cpu_sku</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_per_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_per_cpu_cores</text-property>
                    <text-property name="heading">node_per_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_cores</text-property>
                    <text-property name="heading">node_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_bitwidth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_bitwidth</text-property>
                    <text-property name="heading">node_cpu_bitwidth</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_ram_allocated_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_ram_allocated_gb</text-property>
                    <text-property name="heading">node_ram_allocated_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">ram_alloc_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">ram_alloc_gb</text-property>
                    <text-property name="heading">ram_alloc_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_disk0_c_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_disk0_c_size_gb</text-property>
                    <text-property name="heading">node_disk0_c_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_disk0_c_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_disk0_c_used_gb</text-property>
                    <text-property name="heading">node_disk0_c_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_disk0_c_free_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_disk0_c_free_gb</text-property>
                    <text-property name="heading">node_disk0_c_free_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_size_gb</text-property>
                    <text-property name="heading">node_total_disk_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_used_gb</text-property>
                    <text-property name="heading">node_total_disk_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_free_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_free_gb</text-property>
                    <text-property name="heading">node_total_disk_free_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_gpu_model</text-property>
                    <text-property name="heading">node_gpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_discrete_gpu_models</text-property>
                    <text-property name="heading">node_discrete_gpu_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_count</text-property>
                    <text-property name="heading">node_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_discrete_gpu_count</text-property>
                    <text-property name="heading">node_discrete_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_color_depth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_color_depth</text-property>
                    <text-property name="heading">node_gpu_color_depth</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_dx12orwddm2</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">os_dx12orwddm2</text-property>
                    <text-property name="heading">os_dx12orwddm2</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_dimensions</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_dimensions</text-property>
                    <text-property name="heading">node_display_dimensions</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_res_y</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_res_y</text-property>
                    <text-property name="heading">max_display_res_y</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_size_in_inches</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_size_in_inches</text-property>
                    <text-property name="heading">node_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_size_in_inches</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_size_in_inches</text-property>
                    <text-property name="heading">max_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_display_count</text-property>
                    <text-property name="heading">node_display_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_capable</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_capable</text-property>
                    <text-property name="heading">machine_bios_uefi_capable</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_enabled</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                    <text-property name="heading">machine_bios_uefi_enabled</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_secure_boot</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_secure_boot</text-property>
                    <text-property name="heading">machine_secure_boot</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specifications</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_tpm_specifications</text-property>
                    <text-property name="heading">machine_tpm_specifications</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specification</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_tpm_specification</text-property>
                    <text-property name="heading">machine_tpm_specification</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city_state_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city_state_country</text-property>
                    <text-property name="heading">machine_location_city_state_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_country</text-property>
                    <text-property name="heading">machine_location_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_state</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_state</text-property>
                    <text-property name="heading">machine_location_state</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city</text-property>
                    <text-property name="heading">machine_location_city</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_support_status</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_support_status</text-property>
                    <text-property name="heading">cpu_support_status</text-property>
                </structure>
                <structure>
                    <property name="columnName">win11_inplace_upgrade_label</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                    <text-property name="heading">win11_inplace_upgrade_label</text-property>
                </structure>
                <structure>
                    <property name="columnName">win11_image_upgrade_label</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">win11_image_upgrade_label</text-property>
                    <text-property name="heading">win11_image_upgrade_label</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">TimeZoneString</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_3</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">3</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_4</property>
                    <property name="paramName">ThresholdValue</property>
                    <property name="nativeName"></property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">8</property>
                    <property name="position">4</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">node_id</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_name</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">machine_fqmn</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">machine_last_contact</property>
                        <property name="dataType">date-time</property>
                    </structure>
                    <structure>
                        <property name="position">5</property>
                        <property name="name">machine_make</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">6</property>
                        <property name="name">machine_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">7</property>
                        <property name="name">machine_chassis_type</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">8</property>
                        <property name="name">node_os_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">9</property>
                        <property name="name">node_os_desc</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">10</property>
                        <property name="name">os_build_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">11</property>
                        <property name="name">node_cpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">12</property>
                        <property name="name">node_cpu_short_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">13</property>
                        <property name="name">node_cpu_speed_ghz</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">14</property>
                        <property name="name">cpu_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">15</property>
                        <property name="name">cpu_sub_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">16</property>
                        <property name="name">cpu_sub_brand_modifier</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">17</property>
                        <property name="name">cpu_model_number</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">18</property>
                        <property name="name">cpu_sku_level</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">19</property>
                        <property name="name">cpu_generation</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">20</property>
                        <property name="name">cpu_sku</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">21</property>
                        <property name="name">node_per_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">22</property>
                        <property name="name">node_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">23</property>
                        <property name="name">node_cpu_bitwidth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">24</property>
                        <property name="name">node_ram_allocated_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">25</property>
                        <property name="name">ram_alloc_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">26</property>
                        <property name="name">node_disk0_c_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">27</property>
                        <property name="name">node_disk0_c_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">28</property>
                        <property name="name">node_disk0_c_free_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">29</property>
                        <property name="name">node_total_disk_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">30</property>
                        <property name="name">node_total_disk_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">31</property>
                        <property name="name">node_total_disk_free_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">32</property>
                        <property name="name">node_gpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">33</property>
                        <property name="name">node_discrete_gpu_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">34</property>
                        <property name="name">node_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">35</property>
                        <property name="name">node_discrete_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">36</property>
                        <property name="name">node_gpu_color_depth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">37</property>
                        <property name="name">os_dx12orwddm2</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">38</property>
                        <property name="name">node_display_dimensions</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">39</property>
                        <property name="name">max_display_res_y</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">40</property>
                        <property name="name">node_display_size_in_inches</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">41</property>
                        <property name="name">max_display_size_in_inches</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">42</property>
                        <property name="name">node_display_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">43</property>
                        <property name="name">machine_bios_uefi_capable</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">44</property>
                        <property name="name">machine_bios_uefi_enabled</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">45</property>
                        <property name="name">machine_secure_boot</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">46</property>
                        <property name="name">machine_tpm_specifications</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">47</property>
                        <property name="name">machine_tpm_specification</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">48</property>
                        <property name="name">machine_location_city_state_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">49</property>
                        <property name="name">machine_location_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">50</property>
                        <property name="name">machine_location_state</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">51</property>
                        <property name="name">machine_location_city</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">52</property>
                        <property name="name">cpu_support_status</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">53</property>
                        <property name="name">win11_inplace_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">54</property>
                        <property name="name">win11_image_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">node_id</property>
                    <property name="nativeName">node_id</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_name</property>
                    <property name="nativeName">machine_name</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">machine_fqmn</property>
                    <property name="nativeName">machine_fqmn</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">machine_last_contact</property>
                    <property name="nativeName">machine_last_contact</property>
                    <property name="dataType">date-time</property>
                    <property name="nativeDataType">93</property>
                </structure>
                <structure>
                    <property name="position">5</property>
                    <property name="name">machine_make</property>
                    <property name="nativeName">machine_make</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">6</property>
                    <property name="name">machine_model</property>
                    <property name="nativeName">machine_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">7</property>
                    <property name="name">machine_chassis_type</property>
                    <property name="nativeName">machine_chassis_type</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">8</property>
                    <property name="name">node_os_version</property>
                    <property name="nativeName">node_os_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">9</property>
                    <property name="name">node_os_desc</property>
                    <property name="nativeName">node_os_desc</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">10</property>
                    <property name="name">os_build_version</property>
                    <property name="nativeName">os_build_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">11</property>
                    <property name="name">node_cpu_model</property>
                    <property name="nativeName">node_cpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">12</property>
                    <property name="name">node_cpu_short_models</property>
                    <property name="nativeName">node_cpu_short_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">13</property>
                    <property name="name">node_cpu_speed_ghz</property>
                    <property name="nativeName">node_cpu_speed_ghz</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">14</property>
                    <property name="name">cpu_brand</property>
                    <property name="nativeName">cpu_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">15</property>
                    <property name="name">cpu_sub_brand</property>
                    <property name="nativeName">cpu_sub_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">16</property>
                    <property name="name">cpu_sub_brand_modifier</property>
                    <property name="nativeName">cpu_sub_brand_modifier</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">17</property>
                    <property name="name">cpu_model_number</property>
                    <property name="nativeName">cpu_model_number</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">18</property>
                    <property name="name">cpu_sku_level</property>
                    <property name="nativeName">cpu_sku_level</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">19</property>
                    <property name="name">cpu_generation</property>
                    <property name="nativeName">cpu_generation</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">20</property>
                    <property name="name">cpu_sku</property>
                    <property name="nativeName">cpu_sku</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">21</property>
                    <property name="name">node_per_cpu_cores</property>
                    <property name="nativeName">node_per_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">22</property>
                    <property name="name">node_cpu_cores</property>
                    <property name="nativeName">node_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">23</property>
                    <property name="name">node_cpu_bitwidth</property>
                    <property name="nativeName">node_cpu_bitwidth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">24</property>
                    <property name="name">node_ram_allocated_gb</property>
                    <property name="nativeName">node_ram_allocated_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">25</property>
                    <property name="name">ram_alloc_gb</property>
                    <property name="nativeName">ram_alloc_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">26</property>
                    <property name="name">node_disk0_c_size_gb</property>
                    <property name="nativeName">node_disk0_c_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">27</property>
                    <property name="name">node_disk0_c_used_gb</property>
                    <property name="nativeName">node_disk0_c_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">28</property>
                    <property name="name">node_disk0_c_free_gb</property>
                    <property name="nativeName">node_disk0_c_free_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">29</property>
                    <property name="name">node_total_disk_size_gb</property>
                    <property name="nativeName">node_total_disk_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">30</property>
                    <property name="name">node_total_disk_used_gb</property>
                    <property name="nativeName">node_total_disk_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">31</property>
                    <property name="name">node_total_disk_free_gb</property>
                    <property name="nativeName">node_total_disk_free_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">32</property>
                    <property name="name">node_gpu_model</property>
                    <property name="nativeName">node_gpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">33</property>
                    <property name="name">node_discrete_gpu_models</property>
                    <property name="nativeName">node_discrete_gpu_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">34</property>
                    <property name="name">node_gpu_count</property>
                    <property name="nativeName">node_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">35</property>
                    <property name="name">node_discrete_gpu_count</property>
                    <property name="nativeName">node_discrete_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">36</property>
                    <property name="name">node_gpu_color_depth</property>
                    <property name="nativeName">node_gpu_color_depth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">37</property>
                    <property name="name">os_dx12orwddm2</property>
                    <property name="nativeName">os_dx12orwddm2</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">38</property>
                    <property name="name">node_display_dimensions</property>
                    <property name="nativeName">node_display_dimensions</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">39</property>
                    <property name="name">max_display_res_y</property>
                    <property name="nativeName">max_display_res_y</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">40</property>
                    <property name="name">node_display_size_in_inches</property>
                    <property name="nativeName">node_display_size_in_inches</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">41</property>
                    <property name="name">max_display_size_in_inches</property>
                    <property name="nativeName">max_display_size_in_inches</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">42</property>
                    <property name="name">node_display_count</property>
                    <property name="nativeName">node_display_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">43</property>
                    <property name="name">machine_bios_uefi_capable</property>
                    <property name="nativeName">machine_bios_uefi_capable</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">44</property>
                    <property name="name">machine_bios_uefi_enabled</property>
                    <property name="nativeName">machine_bios_uefi_enabled</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">45</property>
                    <property name="name">machine_secure_boot</property>
                    <property name="nativeName">machine_secure_boot</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">46</property>
                    <property name="name">machine_tpm_specifications</property>
                    <property name="nativeName">machine_tpm_specifications</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">47</property>
                    <property name="name">machine_tpm_specification</property>
                    <property name="nativeName">machine_tpm_specification</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">48</property>
                    <property name="name">machine_location_city_state_country</property>
                    <property name="nativeName">machine_location_city_state_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">49</property>
                    <property name="name">machine_location_country</property>
                    <property name="nativeName">machine_location_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">50</property>
                    <property name="name">machine_location_state</property>
                    <property name="nativeName">machine_location_state</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">51</property>
                    <property name="name">machine_location_city</property>
                    <property name="nativeName">machine_location_city</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">52</property>
                    <property name="name">cpu_support_status</property>
                    <property name="nativeName">cpu_support_status</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">53</property>
                    <property name="name">win11_inplace_upgrade_label</property>
                    <property name="nativeName">win11_inplace_upgrade_label</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">54</property>
                    <property name="name">win11_image_upgrade_label</property>
                    <property name="nativeName">win11_image_upgrade_label</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByStatus
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByStatus.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

-- Todo: Add 
-- Disk encryption providers, 
-- Cloud drives in use (OneDrive, Google Drive, AWS Drive), 
-- Top 10 Apps by user count,
-- Top 10 Apps by CPU, RAM, Disk Space

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone ? as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
     	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = ? or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
    -- Threshold value for machine having called back within last N days
    and (nde.last_report_seen_end_date >= (current_date - (interval '1 days' * ?))) -- Machine has called back within last 90 days
    
  order by
    lower(pn.name) asc nulls last
),

base_with_cpu_support_sql as (
  select 
    s.*,
    -- case
    --   -- First check for incompatible hardware/software
    --   when (node_cpu_speed_ghz < 1.0)
    --       or (node_per_cpu_cores < 2)
    --       or (ram_alloc_gb < 4.0)
    --       or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
    --       or (node_disk0_c_free_gb < 20.0)
    --       or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
    --       or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
    --       or (max_display_res_y is not null and max_display_res_y < 720)
    --       or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
    --       or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
    --       or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
    --       or (machine_tpm_specification is not null and machine_tpm_specification is false)
    --     then 'Unsupported'
      
    --   -- Then check for partial/maybe support (when values are NULL)
    --   when node_cpu_bitwidth is null
    --       or node_gpu_color_depth is null
    --       or os_dx12orwddm2 is null
    --       or max_display_res_y is null
    --       or max_display_size_in_inches is null
    --       or machine_bios_uefi_capable is null
    --       or machine_secure_boot is null
    --       or machine_tpm_specification is null
    --     then 'Partial'
      
    --   -- Otherwise it's supported
    --   else 'Supported'
    -- end as win11_inplace_upgrade_label,

    -- case
    --   -- First check for incompatible hardware/software
    --   when (node_cpu_speed_ghz < 1.0)
    --       or (node_per_cpu_cores < 2)
    --       or (ram_alloc_gb < 4.0)
    --       or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
    --       or (node_disk0_c_free_gb < 64.0)
    --       or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
    --       or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
    --       or (max_display_res_y is not null and max_display_res_y < 720)
    --       or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
    --       or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
    --       or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
    --       or (machine_tpm_specification is not null and machine_tpm_specification is false)
    --     then 'Unsupported'
      
    --   -- Then check for partial/maybe support (when values are NULL)
    --   when node_cpu_bitwidth is null
    --       or node_gpu_color_depth is null
    --       or os_dx12orwddm2 is null
    --       or max_display_res_y is null
    --       or max_display_size_in_inches is null
    --       or machine_bios_uefi_capable is null
    --       or machine_secure_boot is null
    --       or machine_tpm_specification is null
    --     then 'Partial'
      
    --   -- Otherwise it's supported
    --   else 'Supported'
    -- end as win11_image_upgrade_label,

    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE' or 
              cpu_model_number = 'x7211E' or cpu_model_number = 'x7213E' or 
              cpu_model_number = 'x7425E')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925' or cpu_sku = '6900')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5205U' or cpu_sku = '5305' or cpu_sku = '5305U' or cpu_sku = '5805' or 
                  cpu_sku = '6305' or cpu_sku = '6600' or cpu_sku = '7300' or cpu_sku = '7305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5400' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605' or 
                  cpu_sku = 'G7400' or cpu_sku = 'G7400E' or cpu_sku = 'G7400T' or cpu_sku = 'G7400TE')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- AMD Athlon processors
          when cpu_sub_brand = 'Athlon' and
            (cpu_model_number = '3000G' or cpu_model_number = '300GE' or cpu_model_number = '300U' or cpu_model_number = '320GE' or 
              cpu_model_number = '7120e' or cpu_model_number = '7120U' or cpu_model_number = '7220e' or cpu_model_number = '7220U' or 
              cpu_model_number = 'Gold 3150C' or cpu_model_number = 'Gold 3150G' or cpu_model_number = 'Gold 3150GE' or cpu_model_number = 'Gold 3150U' or 
              cpu_model_number = 'Gold PRO 3125GE' or cpu_model_number = 'Gold PRO 3150G' or cpu_model_number = 'Gold PRO 3150GE' or cpu_model_number = 'Gold PRO 4150GE' or 
              cpu_model_number = 'PRO 300GE' or cpu_model_number = 'PRO 300U' or cpu_model_number = 'PRO 3045B' or 
              cpu_model_number = 'Silver 3050C' or cpu_model_number = 'Silver 3050e' or cpu_model_number = 'Silver 3050GE' or cpu_model_number = 'Silver 3050U' 
              )
            then 'Y'

          -- AMD EPYC processors
          when cpu_sub_brand = 'EPYC' and
            (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or cpu_model_number = '7282' or 
              cpu_model_number = '7302' or cpu_model_number = '7313' or cpu_model_number = '7343' or cpu_model_number = '7352' or 
              cpu_model_number = '7402' or cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or cpu_model_number = '7453' or 
              cpu_model_number = '7502' or cpu_model_number = '7513' or cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or cpu_model_number = '7552' or 
              cpu_model_number = '7642' or cpu_model_number = '7643' or cpu_model_number = '7662' or cpu_model_number = '7663' or 
              cpu_model_number = '7702' or cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
              cpu_model_number = '7232P' or cpu_model_number = '72F3' or
              cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
              cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
              cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
              cpu_model_number = '7702P' or cpu_model_number = '7713P' or 
              cpu_model_number = '7F32' or cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12' or
              cpu_model_number = '8024P' or cpu_model_number = '8024PN' or
              cpu_model_number = '8124P' or cpu_model_number = '8124PN' or
              cpu_model_number = '8224P' or cpu_model_number = '8224PN' or
              cpu_model_number = '8324P' or cpu_model_number = '8324PN' or
              cpu_model_number = '8434P' or cpu_model_number = '8434PN' or
              cpu_model_number = '8534P' or cpu_model_number = '8534PN' or
              cpu_model_number = '9124' or 
              cpu_model_number = '9244' or cpu_model_number = '9254' or
              cpu_model_number = '9334' or cpu_model_number = '9354' or
              cpu_model_number = '9454' or 
              cpu_model_number = '9534' or cpu_model_number = '9554' or
              cpu_model_number = '9654' or cpu_model_number = '9654' or
              cpu_model_number = '9734' or cpu_model_number = '9754' or 
              cpu_model_number = '9174F' or cpu_model_number = '9184X' or
              cpu_model_number = '9274F' or
              cpu_model_number = '9354P' or cpu_model_number = '9374F' or cpu_model_number = '9384X' or
              cpu_model_number = '9454P' or cpu_model_number = '9474F' or
              cpu_model_number = '9554P' or 
              cpu_model_number = '9654P' or cpu_model_number = '9684X' or
              cpu_model_number = '9754S'
              )
            then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '4100' or 
                  cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5125C' or 
                  cpu_model_number = '5300G' or cpu_model_number = '5300GE' or cpu_model_number = '5300U' or cpu_model_number = '5380U' or 
                  cpu_model_number = '5400U' or cpu_model_number = '5425C' or cpu_model_number = '5425U' or 
                  cpu_model_number = '7320e' or cpu_model_number = '7320U' or cpu_model_number = '7330U' or cpu_model_number = '7335U' or
                  cpu_model_number = '7440U' or 
                  cpu_model_number = '8300G'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4355G' or cpu_model_number = '4355GE' or 
                  cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U' or cpu_model_number = '5475U' or 
                  cpu_model_number = '7330U' or 
                  cpu_model_number = '8300G' or cpu_model_number = '8300GE'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '4500' or 
                  cpu_model_number = '5500' or cpu_model_number = '5600' or cpu_model_number = '7600' or 
                  cpu_model_number = '2500X' or cpu_model_number = '2600E' or cpu_model_number = '2600X' or 
                  cpu_model_number = '3350G' or cpu_model_number = '3350GE' or 
                  cpu_model_number = '3400G' or cpu_model_number = '3400GE' or cpu_model_number = '3450U' or 
                  cpu_model_number = '3500' or cpu_model_number = '3500C' or cpu_model_number = '3500U' or 
                  cpu_model_number = '3550H' or cpu_model_number = '3580U' or 
                  cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or 
                  cpu_model_number = '4600U' or cpu_model_number = '4600GE' or cpu_model_number = '4600H' or cpu_model_number = '4600U' or 
                  cpu_model_number = '5300G' or cpu_model_number = '5300GE' or 
                  cpu_model_number = '5425U' or 
                  cpu_model_number = '5500U' or cpu_model_number = '5560U' or 
                  cpu_model_number = '5600G' or cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or cpu_model_number = '5600U' or cpu_model_number = '5600X' or
                  cpu_model_number = '5625C' or cpu_model_number = '5625U' or 
                  cpu_model_number = '6600H' or cpu_model_number = '6600HS' or cpu_model_number = '6600U' or 
                  cpu_model_number = '7430U' or 
                  cpu_model_number = '7520U' or cpu_model_number = '7530U' or cpu_model_number = '7535HS' or cpu_model_number = '7535U' or cpu_model_number = '7540U' or 
                  cpu_model_number = '7600X' or cpu_model_number = '7640H' or cpu_model_number = '7640HS' or cpu_model_number = '7640S' or cpu_model_number = '7640U' or cpu_model_number = '7645HX' or
                  cpu_model_number = '8500G' or cpu_model_number = '8600G'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '5645' or 
                  cpu_model_number = '3350G' or cpu_model_number = '3350GE' or 
                  cpu_model_number = '3400G' or cpu_model_number = '3400GE' or 
                  cpu_model_number = '3500U' or 
                  cpu_model_number = '4650G' or cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '4655G' or 
                  cpu_model_number = '5650G' or cpu_model_number = '5650GE' or cpu_model_number = '5650HS' or cpu_model_number = '5650HX' or cpu_model_number = '5650U' or cpu_model_number = '5675U' or 
                  cpu_model_number = '5750G' or cpu_model_number = '5750GE' or 
                  cpu_model_number = '6650H' or cpu_model_number = '6650HS' or cpu_model_number = '6650U' or
                  cpu_model_number = '7530U' or cpu_model_number = '7535U' or cpu_model_number = '7540U' or
                  cpu_model_number = '7640U' or 
                  cpu_model_number = '8500G' or 
                  cpu_model_number = '8600G' or cpu_model_number = '8600GE' or cpu_model_number = '8640HS' or cpu_model_number = '8640U' or cpu_model_number = '8645HS'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '7700' or 
                  cpu_model_number = '2700E' or cpu_model_number = '2700X' or 
                  cpu_model_number = '3700C' or cpu_model_number = '3700U' or cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or 
                  cpu_model_number = '4700G' or cpu_model_number = '4700GE' or cpu_model_number = '4700U' or 
                  cpu_model_number = '4800H' or cpu_model_number = '4800HS' or cpu_model_number = '4800U' or 
                  cpu_model_number = '5700G' or cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or cpu_model_number = '5800X' or 
                  cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or cpu_model_number = '5825U' or 
                  cpu_model_number = '6800H' or cpu_model_number = '6800HS' or cpu_model_number = '6800U' or cpu_model_number = '6810U' or 
                  cpu_model_number = '7700' or cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U' or
                  cpu_model_number = '8700G')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840HS' or cpu_model_number = '7840U' or 
                  cpu_model_number = '8700G' or cpu_model_number = '8840HS' or cpu_model_number = '8840U' or cpu_model_number = '8845HS' or 
                  cpu_model_number = '8945HS')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or cpu_model_number = '3950X' or 
                  cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900' or cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX' or
                  cpu_model_number = '6900HS' or cpu_model_number = '6980HS' or cpu_model_number = '6980HX' or
                  cpu_model_number = '7900' or cpu_model_number = '7900X' or cpu_model_number = '7900X3D' or cpu_model_number = '7940H' or
                  cpu_model_number = '7940HS' or cpu_model_number = '7945HX' or cpu_model_number = '7950X' or cpu_model_number = '7950X3D'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and 
                (cpu_model_number = '3900' or cpu_model_number = '5945' or 
                  cpu_model_number = '6950H' or cpu_model_number = '6950HS')
                then 'Y'
              when cpu_sub_brand_modifier = 'Embedded' and 
                (cpu_model_number = 'V2516' or cpu_model_number = 'V2546' or 
                  cpu_model_number = 'V2718' or cpu_model_number = 'V2748')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or cpu_model_number = '3995WX' or
                  cpu_model_number = '5945WX' or cpu_model_number = '5955WZ' or cpu_model_number = '5965WZ' or cpu_model_number = '5975WX' or cpu_model_number = '5995WX'
                )
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from base_sql s
),

status_sql as (
  select
    s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        -- or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        -- or (max_display_res_y is not null and max_display_res_y < 720)
        -- or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
        or (cpu_support_status = 'N')
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when 
      node_cpu_bitwidth is null
        or (node_disk0_c_free_gb is null)
        -- or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        -- or max_display_res_y is null
        -- or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
        or (cpu_support_status is null)
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_size_gb < 64.0)
        -- or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        -- or (max_display_res_y is not null and max_display_res_y < 720)
        -- or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
        or (cpu_support_status = 'N')
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or (node_disk0_c_size_gb is null)
        -- or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        -- or max_display_res_y is null
        -- or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
        or (cpu_support_status is null)
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label

  from base_with_cpu_support_sql s
)

select * from status_sql;]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>3</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>4</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>8</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Windows11UpgradeHardwareCompatibility" id="12022">
            <list-property name="computedColumns">
                <structure>
                    <property name="name">free_hdd_gb</property>
                    <expression name="expression">var freehdd = 0.0;&#13;
if (row["node_max_disk_size_gb"] - row["node_max_disk_used_gb"] > 0.0) {&#13;
	freehdd = row["node_max_disk_size_gb"] - row["node_max_disk_used_gb"];&#13;
}&#13;
freehdd;</expression>
                    <property name="dataType">float</property>
                </structure>
                <structure>
                    <property name="name">win11_inplace_upgrade_label</property>
                    <expression name="expression">var label = "Unsupported";&#13;
var incompLabel = "Unsupported";&#13;
var compLabel = "Supported";&#13;
var maybeLabel = "Partial";&#13;
var installedLabel = "Installed";&#13;
var strOsPlatform = row["node_os_desc"];&#13;
var strOsVersion = row["node_os_version"];&#13;
&#13;
//if (strOsPlatform != null &amp;&amp; strOsPlatform.indexOf("Windows") > 0 &amp;&amp; strOsVersion != null &amp;&amp; strOsVersion.indexOf("10.0.22") == 0) {&#13;
//    label = installedLabel;&#13;
//}&#13;
if ((row["node_cpu_speed_ghz"] &lt; 1.0) || &#13;
    (row["node_per_cpu_cores"] &lt; 2) || &#13;
    (row["ram_alloc_gb"] &lt; 4.0) ||&#13;
    (row["node_cpu_bitwidth"] != null &amp;&amp; row["node_cpu_bitwidth"] &lt; 64.0) ||&#13;
    (row["free_hdd_gb"] &lt; 20.0) ||&#13;
    (row["node_gpu_color_depth"] != null &amp;&amp; row["node_gpu_color_depth"] &lt; 8) ||&#13;
    (row["os_dx12orwddm2"] != null &amp;&amp; row["os_dx12orwddm2"] === 0) ||&#13;
    (row["max_display_res_y"] != null &amp;&amp; row["max_display_res_y"] &lt; 720) ||&#13;
    (row["max_display_size_in_inches"] != null &amp;&amp; row["max_display_size_in_inches"] &lt; 9) ||&#13;
    (row["machine_bios_uefi_capable"] != null &amp;&amp; row["machine_bios_uefi_capable"] === false) ||&#13;
    (row["machine_secure_boot"] != null &amp;&amp; row["machine_secure_boot"] === 'Not supported') ||&#13;
    (row["machine_tpm_specification"] != null &amp;&amp; row["machine_tpm_specification"] === 0)&#13;
    ) {&#13;
    label = incompLabel;&#13;
}&#13;
else if (row["node_cpu_bitwidth"] === null || &#13;
        row["node_gpu_color_depth"] === null ||&#13;
        row["os_dx12orwddm2"] === null || &#13;
        row["max_display_res_y"] === null ||&#13;
        row["max_display_size_in_inches"] === null || &#13;
        row["machine_bios_uefi_capable"] === null ||&#13;
	    row["machine_secure_boot"] === null ||&#13;
        row["machine_tpm_specification"] === null) {&#13;
    label = maybeLabel;&#13;
}&#13;
else {&#13;
    label = compLabel;&#13;
}&#13;
label;</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">win11_image_upgrade_label</property>
                    <expression name="expression">var label = "Unsupported";&#13;
var incompLabel = "Unsupported";&#13;
var compLabel = "Supported";&#13;
var maybeLabel = "Partial";&#13;
var installedLabel = "Installed";&#13;
var strOsPlatform = row["node_os_desc"];&#13;
var strOsVersion = row["node_os_version"];&#13;
&#13;
//if (strOsPlatform != null &amp;&amp; strOsPlatform.indexOf("Windows") > 0 &amp;&amp; strOsVersion != null &amp;&amp; strOsVersion.indexOf("10.0.22") == 0) {&#13;
//    label = installedLabel;&#13;
//}&#13;
if ((row["node_cpu_speed_ghz"] &lt; 1.0) || &#13;
    (row["node_per_cpu_cores"] &lt; 2) || &#13;
    (row["ram_alloc_gb"] &lt; 4.0) ||&#13;
    (row["node_cpu_bitwidth"] != null &amp;&amp; row["node_cpu_bitwidth"] &lt; 64.0) ||&#13;
    (row["node_max_disk_size_gb"] &lt; 64.0) ||&#13;
    (row["node_gpu_color_depth"] != null &amp;&amp; row["node_gpu_color_depth"] &lt; 8) ||&#13;
    (row["os_dx12orwddm2"] != null &amp;&amp; row["os_dx12orwddm2"] === 0) ||&#13;
    (row["max_display_res_y"] != null &amp;&amp; row["max_display_res_y"] &lt; 720) ||&#13;
    (row["max_display_size_in_inches"] != null &amp;&amp; row["max_display_size_in_inches"] &lt; 9) ||&#13;
    (row["machine_bios_uefi_capable"] != null &amp;&amp; row["machine_bios_uefi_capable"] === false) ||&#13;
    (row["machine_secure_boot"] != null &amp;&amp; row["machine_secure_boot"] === 'Not supported') ||&#13;
    (row["machine_tpm_specification"] != null &amp;&amp; row["machine_tpm_specification"] === 0)&#13;
    ) {&#13;
    label = incompLabel;&#13;
}&#13;
else if (row["node_cpu_bitwidth"] === null || &#13;
        row["node_gpu_color_depth"] === null ||&#13;
        row["os_dx12orwddm2"] === null || &#13;
        row["max_display_res_y"] === null ||&#13;
        row["max_display_size_in_inches"] === null || &#13;
        row["machine_bios_uefi_capable"] === null ||&#13;
		row["machine_secure_boot"] === null ||&#13;
        row["machine_tpm_specification"] === null) {&#13;
    label = maybeLabel;&#13;
}&#13;
else {&#13;
    label = compLabel;&#13;
}&#13;
label;</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">cpu_support_status</property>
                    <expression name="expression">var statusStr = "N";&#13;
var model = row["cpu_model_number"];&#13;
var brand = row["cpu_brand"];&#13;
var subBrand = row["cpu_sub_brand"];&#13;
var subBrandMod = row["cpu_sub_brand_modifier"];&#13;
var gen = row["cpu_generation"];&#13;
var sku = row["cpu_sku"];&#13;
&#13;
if (brand === 'Intel') {&#13;
    if ((subBrand === 'Atom') &amp;&amp; &#13;
        (model === 'x6200FE' || model === 'x6211E' || model === 'x6212RE' || model === 'x6413E' || &#13;
        model === 'x6414RE' || model === 'x6425E' || model === 'x6425RE' || model === 'x6427FE')) {&#13;
        statusStr = "Y";&#13;
    }&#13;
    else if (subBrand === 'Celeron') {&#13;
        if ((subBrandMod === 'G') &amp;&amp; &#13;
            (sku === '4900' || sku === '4920' || sku === '4930' || sku === '4932' || sku === '4950' || &#13;
            sku === '5900' || sku === '5905' || sku === '5920' || sku === '5925')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'J') &amp;&amp; &#13;
            (sku === '4005' || sku === '4025' || sku === '4105' || sku === '4115' || &#13;
            sku === '4125' || sku === '6412' || sku === '6413')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'N') &amp;&amp; &#13;
            (sku === '4000' || sku === '4020' || sku === '4100' || sku === '4120' || sku === '4500' || &#13;
            sku === '4505' || sku === '5100' || sku === '5105' || sku === '6210' || sku === '6211')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === null) &amp;&amp;&#13;
            (sku === '6305' || sku === '3867' || sku === '4205' || sku === '4305' || &#13;
            sku === '5205' || sku === '5305' || sku === '6305')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else if (subBrand === 'Core') {&#13;
        if (gen >= 8) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else if (subBrand === 'Pentium') {&#13;
        if ((subBrandMod === 'Gold') &amp;&amp;&#13;
            (sku === '4417' || sku === '4425' || sku === '5405' || sku === '6405' || sku === '6500' || sku === '7505' || &#13;
            sku === 'G5400' || sku === 'G5400T' || sku === 'G5420' || sku === 'G5420T' || sku === 'G5500' || sku === 'G5500T' ||&#13;
            sku === 'G5600' || sku === 'G5600T' || sku === 'G5620' || sku === 'G6400' || sku === 'G6400E' || sku === 'G6400T' ||&#13;
            sku === 'G6400TE' || sku === 'G6405' || sku === 'G6405T' || sku === 'G6500' || sku === 'G6500T' || sku === 'G6505' ||&#13;
            sku === 'G6505T' || sku === 'G6600' || sku === 'G6605')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'Silver') &amp;&amp; &#13;
            (sku === 'J5005' || sku === 'J5040' || sku === 'N5000' || sku === 'N5030' || sku === 'N6000' || sku === 'N6005')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === null) &amp;&amp;&#13;
            (sku === '6805' || sku === 'J6426' || sku === 'N6415')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else if (subBrand === 'Xeon') {&#13;
        if ((subBrandMod === 'Bronze') &amp;&amp; (sku === '04' || sku === '06')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if (subBrand === 'Silver') {&#13;
            if ((gen === 1) &amp;&amp; (sku === '08' || sku === '09' || sku === '10' || sku === '12' || sku === '14' || sku === '16')) {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else if ((gen === 2) &amp;&amp; (sku === '08' || sku === '09' || sku === '10' || sku === '14' || sku === '15' || sku === '16')) {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else if ((gen === 3) &amp;&amp; (sku === '09' || sku === '10' || sku === '14' || sku === '16')) {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'Gold') {&#13;
            if (model &lt; 6000) {&#13;
                if ((gen === 1) &amp;&amp; (sku === '15' || sku === '18' || sku === '19' || sku === '20' || sku === '22')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 2) &amp;&amp; (sku === '15' || sku === '17' || sku === '18' || sku === '20' || sku === '22')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 3) &amp;&amp; (sku === '15' || sku === '17' || sku === '18' || sku === '20' || sku === '22')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
            else {&#13;
                if ((gen === 1) &amp;&amp;&#13;
                    (sku === '26' || sku === '28' || sku === '30' || sku === '32' || sku === '34' || &#13;
                        sku === '36' || sku === '38' || sku === '40' || sku === '42' || sku === '44' || &#13;
                        sku === '46' || sku === '48' || sku === '50' || sku === '52' || sku === '54')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 2) &amp;&amp;&#13;
                    (sku === '08' || sku === '09' || sku === '10' || sku === '12' || sku === '22' || &#13;
                        sku === '26' || sku === '30' || sku === '34' || sku === '38' || sku === '40' || &#13;
                        sku === '42' || sku === '44' || sku === '46' || sku === '48' || sku === '50' || &#13;
                        sku === '52' || sku === '54' || sku === '56' || sku === '58' || sku === '62')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 3) &amp;&amp;&#13;
                    (sku === '12' || sku === '14' || sku === '26' || sku === '30' || sku === '34' || sku === '36' || &#13;
                        sku === '38' || sku === '42' || sku === '46' || sku === '48' || sku === '54')) {&#13;
                    statusStr = "Y";&#13;
                } &#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'Platinum') {&#13;
            if (model &lt; 9000) {&#13;
                if ((gen === 1) &amp;&amp;&#13;
                    (sku === '53' || sku === '56' || sku === '58' || sku === '60' || sku === '64' || &#13;
                        sku === '68' || sku === '70' || sku === '76' || sku === '80')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 2) &amp;&amp;&#13;
                    (sku === '53' || sku === '56' || sku === '60' || sku === '68' || sku === '70' || sku === '76' || sku === '80')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 3) &amp;&amp;&#13;
                    (sku === '51' || sku === '52' || sku === '58' || sku === '60' || sku === '62' || sku === '68' || sku === '80')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
            else if (model >= 9000) {&#13;
                if ((gen === 2) &amp;&amp; (sku === '21' || sku === '22' || sku === '42' || sku === '82')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'E') {&#13;
            if (model === 'E-2176M' || model === 'E-2124' || model === 'E-2124G' || model === 'E-2126G' || model === 'E-2134' || model === 'E-2136' ||&#13;
                model === 'E-2144G' || model === 'E-2146G' || model === 'E-2174G' || model === 'E-2176G' || model === 'E-2176M' || model === 'E-2186G' ||&#13;
                model === 'E-2186M' || model === 'E-2224' || model === 'E-2224G' || model === 'E-2226G' || model === 'E-2226GE' || model === 'E-2234' ||&#13;
                model === 'E-2236' || model === 'E-2244G' || model === 'E-2246G' || model === 'E-2254ME' || model === 'E-2254ML' || model === 'E-2274G' ||&#13;
                model === 'E-2276G' || model === 'E-2276M' || model === 'E-2276ME' || model === 'E-2276ML' || model === 'E-2278G' || model === 'E-2278GE' ||&#13;
                model === 'E-2278GEL' || model === 'E-2286G' || model === 'E-2286M' || model === 'E-2288G') {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'W') {&#13;
            if (model === 'W-10855M' || model === 'W-10885M' || model === 'W-11855M' || model === 'W-11955M' || model === 'W-1250' || model === 'W-1250E' ||&#13;
                model === 'W-1250P' || model === 'W-1250TE' || model === 'W-1270' || model === 'W-1270E' || model === 'W-1270P' || model === 'W-1270TE' ||&#13;
                model === 'W-1290' || model === 'W-1290E' || model === 'W-1290P' || model === 'W-1290T' || model === 'W-1290TE' || model === 'W-2102' ||&#13;
                model === 'W-2104' || model === 'W-2123' || model === 'W-2125' || model === 'W-2133' || model === 'W-2135' || model === 'W-2145' ||&#13;
                model === 'W-2155' || model === 'W-2175' || model === 'W-2195' || model === 'W-2223' || model === 'W-2225' || model === 'W-2235' ||&#13;
                model === 'W-2245' || model === 'W-2255' || model === 'W-2265' || model === 'W-2275' || model === 'W-2295' || model === 'W-3175X' ||&#13;
                model === 'W-3223' || model === 'W-3225' || model === 'W-3235' || model === 'W-3245' || model === 'W-3245M' || model === 'W-3265' ||&#13;
                model === 'W-3265M' || model === 'W-3275' || model === 'W-3275M') {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else {&#13;
        statusStr = "N";&#13;
    }&#13;
}&#13;
else if (brand === 'AMD') {&#13;
    if ((subBrand === 'EPYC') &amp;&amp;&#13;
        (model === '7252' || model === '7262' || model === '7272' || model === '7282' || model === '7302' || model === '7313' ||&#13;
            model === '7343' || model === '7352' || model === '7402' || model === '7413' || model === '7443' || model === '7452' || &#13;
            model === '7453' || model === '7502' || model === '7513' || model === '7532' || model === '7542' || model === '7543' ||&#13;
            model === '7552' || model === '7642' || model === '7643' || model === '7662' || model === '7663' || model === '7702' ||&#13;
            model === '7713' || model === '7742' || model === '7763' || model === '7232P' || model === '7302P' || model === '72F3' ||&#13;
            model === '7302P' || model === '7313P' || model === '73F3' || model === '7402P' || model === '7443P' || model === '74F3' ||&#13;
            model === '7502P' || model === '7543P' || model === '75F3' || model === '7702P' || model === '7713P' || model === '7F32' ||&#13;
            model === '7F52' || model === '7F72' || model === '7H12')) {&#13;
        statusStr = "Y";&#13;
    }&#13;
    else if (subBrand === 'Ryzen') {&#13;
        if ((subBrandMod === '3') &amp;&amp;&#13;
            (model === '3100' || model === '2300X' || model === '3200G' || model === '3200GE' || model === '3200U' || model === '3250C' ||&#13;
                model === '3250U' || model === '3300U' || model === '3350U' || model === '4300G' || model === '4300GE' || model === '4300U' ||&#13;
                model === '5300U' || model === '5400U')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '3 PRO') &amp;&amp; &#13;
            (model === '3200G' || model === '3200GE' || model === '3300U' || model === '4350G' || model == '4350GE' ||&#13;
                model === '4450U' || model === '5350G' || model === '5350GE' || model === '5450U')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '5') &amp;&amp; &#13;
            (model === '2600' || model === '3600' || model === '2500X' || model === '2600E' || model === '2600X' || model === '3400G' || model === '3400GE' ||&#13;
                model === '3450U' || model === '3500' || model === '3500C' || model === '3500U' || model === '3550H' || model === '3580U' || model === '3600X' ||&#13;
                model === '3600XT' || model === '4500U' || model === '4600U' || model === '4600GE' || model === '4600H' || model === '4600U' || model === '5300G' ||&#13;
                model === '5300GE' || model === '5500U' || model === '5600G' || model === '5600GE' || model === '5600H' || model === '5600HS' || model === '5600U' || &#13;
                model === '5600X')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '5 PRO') &amp;&amp; &#13;
            (model === '2600' || model === '3600' || model === '3400G' || model === '3400GE' || model === '3500U' || model === '4650G' || model === '4650GE' || &#13;
                model === '4650U' || model === '5650G' || model === '5650GE' || model === '5650U' || model === '5750G' || model === '5750GE')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '7') &amp;&amp;&#13;
            (model === '2700' || model === '5800' || model === '2700E' || model === '2700X' || model === '3700C' || model === '3700U' || model === '3700X' ||&#13;
                model === '3750H' || model === '3780U' || model === '3800X' || model === '3800XT' || model === '4700G' || model === '4700GE' || model === '4700U' ||&#13;
                model === '4800H' || model === '4800HS' || model === '4800U' || model === '5700G' || model === '5700GE' || model === '5700U' || model === '5800H' ||&#13;
                model === '5800HS' || model === '5800U' || model === '5800X')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '7 PRO') &amp;&amp;&#13;
            (model === '2700' || model === '2700X' || model === '3700U' || model === '4750G' || model === '4750GE' || model === '4750U' || model === '5850U')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '9') &amp;&amp;&#13;
            (model === '3900' || model === '3900X' || model === '3900XT' || model === '3950X' ||&#13;
            model === '4900H' || model === '4900HS' || model === '5900HS' || model === '5900HX' ||&#13;
            model === '5900X' || model === '5950X' || model === '5980HS' || model === '5980HX')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '9 PRO') &amp;&amp; (model === '3900')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'Threadripper')  &amp;&amp; &#13;
            (model === '2920X' || model === '2950X' || model === '2970WX' || model === '2990WX' || &#13;
            model === '3960X' || model === '3970X' || model === '3990X')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'Threadripper PRO') &amp;&amp; &#13;
            (model === '3945WX' || model === '3955WZ' || model === '3975WX' || model === '3995WX')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else {&#13;
        statusStr = "N";&#13;
    } &#13;
}&#13;
else {&#13;
    statusStr = "N";&#13;
}&#13;
statusStr;</expression>
                    <property name="dataType">string</property>
                </structure>
            </list-property>
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">node_id</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_id</text-property>
                    <text-property name="heading">node_id</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_name</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_name</text-property>
                    <text-property name="heading">machine_name</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_fqmn</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_fqmn</text-property>
                    <text-property name="heading">machine_fqmn</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_make</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_make</text-property>
                    <text-property name="heading">machine_make</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_model</text-property>
                    <text-property name="heading">machine_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_chassis_type</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_chassis_type</text-property>
                    <text-property name="heading">machine_chassis_type</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_version</text-property>
                    <text-property name="heading">node_os_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_desc</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_desc</text-property>
                    <text-property name="heading">node_os_desc</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_build_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">os_build_version</text-property>
                    <text-property name="heading">os_build_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_model</text-property>
                    <text-property name="heading">node_cpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_short_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_short_models</text-property>
                    <text-property name="heading">node_cpu_short_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_speed_ghz</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_speed_ghz</text-property>
                    <text-property name="heading">node_cpu_speed_ghz</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_brand</text-property>
                    <text-property name="heading">cpu_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand</text-property>
                    <text-property name="heading">cpu_sub_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand_modifier</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                    <text-property name="heading">cpu_sub_brand_modifier</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_model_number</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_model_number</text-property>
                    <text-property name="heading">cpu_model_number</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_generation</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">cpu_generation</text-property>
                    <text-property name="heading">cpu_generation</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sku</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sku</text-property>
                    <text-property name="heading">cpu_sku</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_per_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_per_cpu_cores</text-property>
                    <text-property name="heading">node_per_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_cores</text-property>
                    <text-property name="heading">node_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_bitwidth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_bitwidth</text-property>
                    <text-property name="heading">node_cpu_bitwidth</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_ram_allocated_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_ram_allocated_gb</text-property>
                    <text-property name="heading">node_ram_allocated_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">ram_alloc_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">ram_alloc_gb</text-property>
                    <text-property name="heading">ram_alloc_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_max_disk_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_max_disk_size_gb</text-property>
                    <text-property name="heading">node_max_disk_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_max_disk_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_max_disk_used_gb</text-property>
                    <text-property name="heading">node_max_disk_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_size_gb</text-property>
                    <text-property name="heading">node_total_disk_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_used_gb</text-property>
                    <text-property name="heading">node_total_disk_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_gpu_model</text-property>
                    <text-property name="heading">node_gpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_discrete_gpu_models</text-property>
                    <text-property name="heading">node_discrete_gpu_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_count</text-property>
                    <text-property name="heading">node_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_discrete_gpu_count</text-property>
                    <text-property name="heading">node_discrete_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_color_depth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_color_depth</text-property>
                    <text-property name="heading">node_gpu_color_depth</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_dx12orwddm2</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">os_dx12orwddm2</text-property>
                    <text-property name="heading">os_dx12orwddm2</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_dimensions</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_dimensions</text-property>
                    <text-property name="heading">node_display_dimensions</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_res_y</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_res_y</text-property>
                    <text-property name="heading">max_display_res_y</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_size_in_inches</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_size_in_inches</text-property>
                    <text-property name="heading">node_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_size_in_inches</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_size_in_inches</text-property>
                    <text-property name="heading">max_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_display_count</text-property>
                    <text-property name="heading">node_display_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_capable</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_capable</text-property>
                    <text-property name="heading">machine_bios_uefi_capable</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_enabled</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                    <text-property name="heading">machine_bios_uefi_enabled</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_secure_boot</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_secure_boot</text-property>
                    <text-property name="heading">machine_secure_boot</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specifications</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_tpm_specifications</text-property>
                    <text-property name="heading">machine_tpm_specifications</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specification</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_tpm_specification</text-property>
                    <text-property name="heading">machine_tpm_specification</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city_state_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city_state_country</text-property>
                    <text-property name="heading">machine_location_city_state_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_country</text-property>
                    <text-property name="heading">machine_location_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_state</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_state</text-property>
                    <text-property name="heading">machine_location_state</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city</text-property>
                    <text-property name="heading">machine_location_city</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">node_id</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_name</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">machine_fqmn</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">machine_make</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">5</property>
                        <property name="name">machine_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">6</property>
                        <property name="name">machine_chassis_type</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">7</property>
                        <property name="name">node_os_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">8</property>
                        <property name="name">node_os_desc</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">9</property>
                        <property name="name">os_build_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">10</property>
                        <property name="name">node_cpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">11</property>
                        <property name="name">node_cpu_short_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">12</property>
                        <property name="name">node_cpu_speed_ghz</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">13</property>
                        <property name="name">cpu_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">14</property>
                        <property name="name">cpu_sub_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">15</property>
                        <property name="name">cpu_sub_brand_modifier</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">16</property>
                        <property name="name">cpu_model_number</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">17</property>
                        <property name="name">cpu_generation</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">18</property>
                        <property name="name">cpu_sku</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">19</property>
                        <property name="name">node_per_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">20</property>
                        <property name="name">node_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">21</property>
                        <property name="name">node_cpu_bitwidth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">22</property>
                        <property name="name">node_ram_allocated_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">23</property>
                        <property name="name">ram_alloc_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">24</property>
                        <property name="name">node_max_disk_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">25</property>
                        <property name="name">node_max_disk_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">26</property>
                        <property name="name">node_total_disk_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">27</property>
                        <property name="name">node_total_disk_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">28</property>
                        <property name="name">node_gpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">29</property>
                        <property name="name">node_discrete_gpu_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">30</property>
                        <property name="name">node_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">31</property>
                        <property name="name">node_discrete_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">32</property>
                        <property name="name">node_gpu_color_depth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">33</property>
                        <property name="name">os_dx12orwddm2</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">34</property>
                        <property name="name">node_display_dimensions</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">35</property>
                        <property name="name">max_display_res_y</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">36</property>
                        <property name="name">node_display_size_in_inches</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">37</property>
                        <property name="name">max_display_size_in_inches</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">38</property>
                        <property name="name">node_display_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">39</property>
                        <property name="name">machine_bios_uefi_capable</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">40</property>
                        <property name="name">machine_bios_uefi_enabled</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">41</property>
                        <property name="name">machine_secure_boot</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">42</property>
                        <property name="name">machine_tpm_specifications</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">43</property>
                        <property name="name">machine_tpm_specification</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">44</property>
                        <property name="name">machine_location_city_state_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">45</property>
                        <property name="name">machine_location_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">46</property>
                        <property name="name">machine_location_state</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">47</property>
                        <property name="name">machine_location_city</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">48</property>
                        <property name="name">free_hdd_gb</property>
                        <property name="dataType">float</property>
                    </structure>
                    <structure>
                        <property name="position">49</property>
                        <property name="name">win11_inplace_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">50</property>
                        <property name="name">win11_image_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">51</property>
                        <property name="name">cpu_support_status</property>
                        <property name="dataType">string</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">node_id</property>
                    <property name="nativeName">node_id</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_name</property>
                    <property name="nativeName">machine_name</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">machine_fqmn</property>
                    <property name="nativeName">machine_fqmn</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">machine_make</property>
                    <property name="nativeName">machine_make</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">5</property>
                    <property name="name">machine_model</property>
                    <property name="nativeName">machine_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">6</property>
                    <property name="name">machine_chassis_type</property>
                    <property name="nativeName">machine_chassis_type</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">7</property>
                    <property name="name">node_os_version</property>
                    <property name="nativeName">node_os_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">8</property>
                    <property name="name">node_os_desc</property>
                    <property name="nativeName">node_os_desc</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">9</property>
                    <property name="name">os_build_version</property>
                    <property name="nativeName">os_build_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">10</property>
                    <property name="name">node_cpu_model</property>
                    <property name="nativeName">node_cpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">11</property>
                    <property name="name">node_cpu_short_models</property>
                    <property name="nativeName">node_cpu_short_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">12</property>
                    <property name="name">node_cpu_speed_ghz</property>
                    <property name="nativeName">node_cpu_speed_ghz</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">13</property>
                    <property name="name">cpu_brand</property>
                    <property name="nativeName">cpu_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">14</property>
                    <property name="name">cpu_sub_brand</property>
                    <property name="nativeName">cpu_sub_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">15</property>
                    <property name="name">cpu_sub_brand_modifier</property>
                    <property name="nativeName">cpu_sub_brand_modifier</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">16</property>
                    <property name="name">cpu_model_number</property>
                    <property name="nativeName">cpu_model_number</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">17</property>
                    <property name="name">cpu_generation</property>
                    <property name="nativeName">cpu_generation</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">18</property>
                    <property name="name">cpu_sku</property>
                    <property name="nativeName">cpu_sku</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">19</property>
                    <property name="name">node_per_cpu_cores</property>
                    <property name="nativeName">node_per_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">20</property>
                    <property name="name">node_cpu_cores</property>
                    <property name="nativeName">node_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">21</property>
                    <property name="name">node_cpu_bitwidth</property>
                    <property name="nativeName">node_cpu_bitwidth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">22</property>
                    <property name="name">node_ram_allocated_gb</property>
                    <property name="nativeName">node_ram_allocated_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">23</property>
                    <property name="name">ram_alloc_gb</property>
                    <property name="nativeName">ram_alloc_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">24</property>
                    <property name="name">node_max_disk_size_gb</property>
                    <property name="nativeName">node_max_disk_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">25</property>
                    <property name="name">node_max_disk_used_gb</property>
                    <property name="nativeName">node_max_disk_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">26</property>
                    <property name="name">node_total_disk_size_gb</property>
                    <property name="nativeName">node_total_disk_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">27</property>
                    <property name="name">node_total_disk_used_gb</property>
                    <property name="nativeName">node_total_disk_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">28</property>
                    <property name="name">node_gpu_model</property>
                    <property name="nativeName">node_gpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">29</property>
                    <property name="name">node_discrete_gpu_models</property>
                    <property name="nativeName">node_discrete_gpu_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">30</property>
                    <property name="name">node_gpu_count</property>
                    <property name="nativeName">node_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">31</property>
                    <property name="name">node_discrete_gpu_count</property>
                    <property name="nativeName">node_discrete_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">32</property>
                    <property name="name">node_gpu_color_depth</property>
                    <property name="nativeName">node_gpu_color_depth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">33</property>
                    <property name="name">os_dx12orwddm2</property>
                    <property name="nativeName">os_dx12orwddm2</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">34</property>
                    <property name="name">node_display_dimensions</property>
                    <property name="nativeName">node_display_dimensions</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">35</property>
                    <property name="name">max_display_res_y</property>
                    <property name="nativeName">max_display_res_y</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">36</property>
                    <property name="name">node_display_size_in_inches</property>
                    <property name="nativeName">node_display_size_in_inches</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">37</property>
                    <property name="name">max_display_size_in_inches</property>
                    <property name="nativeName">max_display_size_in_inches</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">38</property>
                    <property name="name">node_display_count</property>
                    <property name="nativeName">node_display_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">39</property>
                    <property name="name">machine_bios_uefi_capable</property>
                    <property name="nativeName">machine_bios_uefi_capable</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">40</property>
                    <property name="name">machine_bios_uefi_enabled</property>
                    <property name="nativeName">machine_bios_uefi_enabled</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">41</property>
                    <property name="name">machine_secure_boot</property>
                    <property name="nativeName">machine_secure_boot</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">42</property>
                    <property name="name">machine_tpm_specifications</property>
                    <property name="nativeName">machine_tpm_specifications</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">43</property>
                    <property name="name">machine_tpm_specification</property>
                    <property name="nativeName">machine_tpm_specification</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">44</property>
                    <property name="name">machine_location_city_state_country</property>
                    <property name="nativeName">machine_location_city_state_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">45</property>
                    <property name="name">machine_location_country</property>
                    <property name="nativeName">machine_location_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">46</property>
                    <property name="name">machine_location_state</property>
                    <property name="nativeName">machine_location_state</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">47</property>
                    <property name="name">machine_location_city</property>
                    <property name="nativeName">machine_location_city</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : MachinesHardwareCompatibilityForWindows11
-- Filename: FIT.MAC.MachinesHardwareCompatibilityForWindows11.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then split_part(model, ' ', 4)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
	select 
		disk_stats.node_id as node_id,
		round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
		round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
		round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
		round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
	from ( 
		select
			disk_stats.node_id as node_id,
			-- disk_stats.disk_id as node_physical_disk_id,
			string_agg(distinct disk_stats.name, ',') as node_disk_names,
			sum(disk_stats.size) as node_per_disk_size_kb,
			sum(disk_stats.avg_used) as node_per_disk_used_kb
		from
			-- tnt_audit.summaryreport_partition_stats part_stats, 
			tnt_audit.summaryreport_disk_stats disk_stats, 
			(	select
					disk_stats.node_id as node_id,
					max(disk_stats.start_date) as start_date,
					max(disk_stats.end_date) as end_date
				from 
					-- tnt_audit.summaryreport_partition_stats disk_stats
					tnt_audit.summaryreport_disk_stats disk_stats
-- 			 	where
-- 			 		disk_stats.node_id = 13047
				group by
					disk_stats.node_id
			) last_disk_stats 
		where
			disk_stats.node_id = last_disk_stats.node_id
			and disk_stats.start_date = last_disk_stats.start_date
			and disk_stats.end_date = last_disk_stats.end_date
			and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
			and disk_stats.type ilike 'LOCAL'
-- 			and disk_stats.node_id = 13047
		group by
			disk_stats.node_id--, disk_stats.disk_id
		) disk_stats
	group by
		disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
)

select
	pn.id as node_id,
	pn.name as machine_name,
	nde.fqmn as machine_fqmn,

  -- Machine hardware make, model, and chassis type
	nh.machine_make as machine_make,
	nh.machine_model as machine_model,
	nde.hwtype as machine_chassis_type,

	-- OS
	os.version as node_os_version,
	replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
	os.buildversion as os_build_version,

	-- CPU
	nodecpu.node_cpu_model as node_cpu_model,
	nodecpu.node_cpu_short_models as node_cpu_short_models,
	round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
	trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
	trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
	trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
	trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
	-- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
	nodecpu.cpu_generation as cpu_generation,
	trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
	nodecpu.node_per_cpu_cores,
	nodecpu.node_cpu_cores,
	nodecpu.node_cpu_bitwidth,
	-- RAM
	noderam.node_ram_allocated_gb as node_ram_allocated_gb,
	nh.ram_alloc_gb,
	-- Disk storage
	nodedisk.node_max_disk_size_gb as node_max_disk_size_gb,
	nodedisk.node_max_disk_used_gb as node_max_disk_used_gb,
	nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
	nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
	-- GPU
	nodegpu.node_gpu_model as node_gpu_model,
	nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
	-- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
	nodegpu.node_gpu_count as node_gpu_count,
	nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
	nodegpu.node_gpu_color_depth,
	os.dx12orwddm2 as os_dx12orwddm2,
	-- Display
	nodedis.node_display_dimensions as node_display_dimensions,
	nodedis.max_display_res_y as max_display_res_y,
	nodedis.node_display_size_in_inches,
	nodedis.max_display_size_in_inches,
	nodedis.node_display_count as node_display_count,
	-- BIOS &amp; TPM
	case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
	case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
	
	case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
	nh.tpm_specification as machine_tpm_specifications,
	case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
	-- Windows 11 compatibility
	-- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
	-- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
	
  -- Machine location
	loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
	loc_stats.country as machine_location_country,
	loc_stats.state as machine_location_state,
	loc_stats.city as machine_location_city

from
	tnt_config.policynode pn 
	join tnt_config.node nde on (nde.id = pn.id)
	left outer join tnt_config.os os on (os.id = nde.os_id)
	left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
	left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
	left outer join node_ram noderam on (noderam.node_id = pn.id)
	left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
	left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
	left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
	left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
	left outer join (
		select
			loc_stats.node_id as node_id,
			first(loc_stats.country) as country,
			first(loc_stats.state) as state,
			first(loc_stats.city) as city
		from
			tnt_audit.summaryreport_machine_location_stats loc_stats, 
			-- lwl_rollup.sr_machine_location_stats_da loc_stats,
			(	select
					loc_stats.node_id as node_id,
					max(loc_stats.start_date) as start_date,
					max(loc_stats.end_date) as end_date
				from 
					tnt_audit.summaryreport_machine_location_stats loc_stats
					-- lwl_rollup.sr_machine_location_stats_da loc_stats
				group by
					loc_stats.node_id
			) latest_loc_stats 
		where
			loc_stats.node_id = latest_loc_stats.node_id
			and loc_stats.start_date = latest_loc_stats.start_date
			and loc_stats.end_date = latest_loc_stats.end_date
			and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
		group by
			loc_stats.node_id
	) loc_stats on (loc_stats.node_id = pn.id)

	
where
	(pn.delete_time is null) -- Machine has not been deleted
	and (nde.delete_time is null) -- Machine has not been deleted
	and (nde.ihostversion is not null) -- Machine has a CID Key installed
	and (nde.certificate is not null) -- Machine has a valid certificate
	and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
	and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
	and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
	and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
	and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
		and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
	and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
  	-- Machine group filter
	and ('%' = ? or pn.id in 
		(select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
			where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
	-- and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
	
order by
	lower(pn.name) asc nulls last
;]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Windows11UpgradeStatus" id="16312">
            <list-property name="computedColumns">
                <structure>
                    <property name="name">free_hdd_gb</property>
                    <expression name="expression">var freehdd = 0.0;&#13;
if (row["node_max_disk_size_gb"] - row["node_max_disk_used_gb"] > 0.0) {&#13;
	freehdd = row["node_max_disk_size_gb"] - row["node_max_disk_used_gb"];&#13;
}&#13;
freehdd;</expression>
                    <property name="dataType">float</property>
                </structure>
                <structure>
                    <property name="name">win11_inplace_upgrade_label</property>
                    <expression name="expression">var label = "Unsupported";&#13;
var incompLabel = "Unsupported";&#13;
var compLabel = "Supported";&#13;
var maybeLabel = "Partial";&#13;
var installedLabel = "Installed";&#13;
var strOsPlatform = row["node_os_desc"];&#13;
var strOsVersion = row["node_os_version"];&#13;
&#13;
//if (strOsPlatform != null &amp;&amp; strOsPlatform.indexOf("Windows") > 0 &amp;&amp; strOsVersion != null &amp;&amp; strOsVersion.indexOf("10.0.22") == 0) {&#13;
//    label = installedLabel;&#13;
//}&#13;
if ((row["node_cpu_speed_ghz"] &lt; 1.0) || &#13;
    (row["node_per_cpu_cores"] &lt; 2) || &#13;
    (row["ram_alloc_gb"] &lt; 4.0) ||&#13;
    (row["node_cpu_bitwidth"] != null &amp;&amp; row["node_cpu_bitwidth"] &lt; 64.0) ||&#13;
    (row["free_hdd_gb"] &lt; 20.0) ||&#13;
    (row["node_gpu_color_depth"] != null &amp;&amp; row["node_gpu_color_depth"] &lt; 8) ||&#13;
    (row["os_dx12orwddm2"] != null &amp;&amp; row["os_dx12orwddm2"] === 0) ||&#13;
    (row["max_display_res_y"] != null &amp;&amp; row["max_display_res_y"] &lt; 720) ||&#13;
    (row["max_display_size_in_inches"] != null &amp;&amp; row["max_display_size_in_inches"] &lt; 9) ||&#13;
    (row["machine_bios_uefi_capable"] != null &amp;&amp; row["machine_bios_uefi_capable"] === false) ||&#13;
    (row["machine_secure_boot"] != null &amp;&amp; row["machine_secure_boot"] === 'Not supported') ||&#13;
    (row["machine_tpm_specification"] != null &amp;&amp; row["machine_tpm_specification"] === 0)&#13;
    ) {&#13;
    label = incompLabel;&#13;
}&#13;
else if (row["node_cpu_bitwidth"] === null || &#13;
        row["node_gpu_color_depth"] === null ||&#13;
        row["os_dx12orwddm2"] === null || &#13;
        row["max_display_res_y"] === null ||&#13;
        row["max_display_size_in_inches"] === null || &#13;
        row["machine_bios_uefi_capable"] === null ||&#13;
	    row["machine_secure_boot"] === null ||&#13;
        row["machine_tpm_specification"] === null) {&#13;
    label = maybeLabel;&#13;
}&#13;
else {&#13;
    label = compLabel;&#13;
}&#13;
label;</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">win11_image_upgrade_label</property>
                    <expression name="expression">var label = "Unsupported";&#13;
var incompLabel = "Unsupported";&#13;
var compLabel = "Supported";&#13;
var maybeLabel = "Partial";&#13;
var installedLabel = "Installed";&#13;
var strOsPlatform = row["node_os_desc"];&#13;
var strOsVersion = row["node_os_version"];&#13;
&#13;
//if (strOsPlatform != null &amp;&amp; strOsPlatform.indexOf("Windows") > 0 &amp;&amp; strOsVersion != null &amp;&amp; strOsVersion.indexOf("10.0.22") == 0) {&#13;
//    label = installedLabel;&#13;
//}&#13;
if ((row["node_cpu_speed_ghz"] &lt; 1.0) || &#13;
    (row["node_per_cpu_cores"] &lt; 2) || &#13;
    (row["ram_alloc_gb"] &lt; 4.0) ||&#13;
    (row["node_cpu_bitwidth"] != null &amp;&amp; row["node_cpu_bitwidth"] &lt; 64.0) ||&#13;
    (row["node_max_disk_size_gb"] &lt; 64.0) ||&#13;
    (row["node_gpu_color_depth"] != null &amp;&amp; row["node_gpu_color_depth"] &lt; 8) ||&#13;
    (row["os_dx12orwddm2"] != null &amp;&amp; row["os_dx12orwddm2"] === 0) ||&#13;
    (row["max_display_res_y"] != null &amp;&amp; row["max_display_res_y"] &lt; 720) ||&#13;
    (row["max_display_size_in_inches"] != null &amp;&amp; row["max_display_size_in_inches"] &lt; 9) ||&#13;
    (row["machine_bios_uefi_capable"] != null &amp;&amp; row["machine_bios_uefi_capable"] === false) ||&#13;
    (row["machine_secure_boot"] != null &amp;&amp; row["machine_secure_boot"] === 'Not supported') ||&#13;
    (row["machine_tpm_specification"] != null &amp;&amp; row["machine_tpm_specification"] === 0)&#13;
    ) {&#13;
    label = incompLabel;&#13;
}&#13;
else if (row["node_cpu_bitwidth"] === null || &#13;
        row["node_gpu_color_depth"] === null ||&#13;
        row["os_dx12orwddm2"] === null || &#13;
        row["max_display_res_y"] === null ||&#13;
        row["max_display_size_in_inches"] === null || &#13;
        row["machine_bios_uefi_capable"] === null ||&#13;
		row["machine_secure_boot"] === null ||&#13;
        row["machine_tpm_specification"] === null) {&#13;
    label = maybeLabel;&#13;
}&#13;
else {&#13;
    label = compLabel;&#13;
}&#13;
label;</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">cpu_support_status</property>
                    <expression name="expression">var statusStr = "N";&#13;
var model = row["cpu_model_number"];&#13;
var brand = row["cpu_brand"];&#13;
var subBrand = row["cpu_sub_brand"];&#13;
var subBrandMod = row["cpu_sub_brand_modifier"];&#13;
var gen = row["cpu_generation"];&#13;
var sku = row["cpu_sku"];&#13;
&#13;
if (brand === 'Intel') {&#13;
    if ((subBrand === 'Atom') &amp;&amp; &#13;
        (model === 'x6200FE' || model === 'x6211E' || model === 'x6212RE' || model === 'x6413E' || &#13;
        model === 'x6414RE' || model === 'x6425E' || model === 'x6425RE' || model === 'x6427FE')) {&#13;
        statusStr = "Y";&#13;
    }&#13;
    else if (subBrand === 'Celeron') {&#13;
        if ((subBrandMod === 'G') &amp;&amp; &#13;
            (sku === '4900' || sku === '4920' || sku === '4930' || sku === '4932' || sku === '4950' || &#13;
            sku === '5900' || sku === '5905' || sku === '5920' || sku === '5925')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'J') &amp;&amp; &#13;
            (sku === '4005' || sku === '4025' || sku === '4105' || sku === '4115' || &#13;
            sku === '4125' || sku === '6412' || sku === '6413')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'N') &amp;&amp; &#13;
            (sku === '4000' || sku === '4020' || sku === '4100' || sku === '4120' || sku === '4500' || &#13;
            sku === '4505' || sku === '5100' || sku === '5105' || sku === '6210' || sku === '6211')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === null) &amp;&amp;&#13;
            (sku === '6305' || sku === '3867' || sku === '4205' || sku === '4305' || &#13;
            sku === '5205' || sku === '5305' || sku === '6305')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else if (subBrand === 'Core') {&#13;
        if (gen >= 8) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else if (subBrand === 'Pentium') {&#13;
        if ((subBrandMod === 'Gold') &amp;&amp;&#13;
            (sku === '4417' || sku === '4425' || sku === '5405' || sku === '6405' || sku === '6500' || sku === '7505' || &#13;
            sku === 'G5400' || sku === 'G5400T' || sku === 'G5420' || sku === 'G5420T' || sku === 'G5500' || sku === 'G5500T' ||&#13;
            sku === 'G5600' || sku === 'G5600T' || sku === 'G5620' || sku === 'G6400' || sku === 'G6400E' || sku === 'G6400T' ||&#13;
            sku === 'G6400TE' || sku === 'G6405' || sku === 'G6405T' || sku === 'G6500' || sku === 'G6500T' || sku === 'G6505' ||&#13;
            sku === 'G6505T' || sku === 'G6600' || sku === 'G6605')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'Silver') &amp;&amp; &#13;
            (sku === 'J5005' || sku === 'J5040' || sku === 'N5000' || sku === 'N5030' || sku === 'N6000' || sku === 'N6005')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === null) &amp;&amp;&#13;
            (sku === '6805' || sku === 'J6426' || sku === 'N6415')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else if (subBrand === 'Xeon') {&#13;
        if ((subBrandMod === 'Bronze') &amp;&amp; (sku === '04' || sku === '06')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if (subBrand === 'Silver') {&#13;
            if ((gen === 1) &amp;&amp; (sku === '08' || sku === '09' || sku === '10' || sku === '12' || sku === '14' || sku === '16')) {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else if ((gen === 2) &amp;&amp; (sku === '08' || sku === '09' || sku === '10' || sku === '14' || sku === '15' || sku === '16')) {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else if ((gen === 3) &amp;&amp; (sku === '09' || sku === '10' || sku === '14' || sku === '16')) {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'Gold') {&#13;
            if (model &lt; 6000) {&#13;
                if ((gen === 1) &amp;&amp; (sku === '15' || sku === '18' || sku === '19' || sku === '20' || sku === '22')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 2) &amp;&amp; (sku === '15' || sku === '17' || sku === '18' || sku === '20' || sku === '22')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 3) &amp;&amp; (sku === '15' || sku === '17' || sku === '18' || sku === '20' || sku === '22')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
            else {&#13;
                if ((gen === 1) &amp;&amp;&#13;
                    (sku === '26' || sku === '28' || sku === '30' || sku === '32' || sku === '34' || &#13;
                        sku === '36' || sku === '38' || sku === '40' || sku === '42' || sku === '44' || &#13;
                        sku === '46' || sku === '48' || sku === '50' || sku === '52' || sku === '54')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 2) &amp;&amp;&#13;
                    (sku === '08' || sku === '09' || sku === '10' || sku === '12' || sku === '22' || &#13;
                        sku === '26' || sku === '30' || sku === '34' || sku === '38' || sku === '40' || &#13;
                        sku === '42' || sku === '44' || sku === '46' || sku === '48' || sku === '50' || &#13;
                        sku === '52' || sku === '54' || sku === '56' || sku === '58' || sku === '62')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 3) &amp;&amp;&#13;
                    (sku === '12' || sku === '14' || sku === '26' || sku === '30' || sku === '34' || sku === '36' || &#13;
                        sku === '38' || sku === '42' || sku === '46' || sku === '48' || sku === '54')) {&#13;
                    statusStr = "Y";&#13;
                } &#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'Platinum') {&#13;
            if (model &lt; 9000) {&#13;
                if ((gen === 1) &amp;&amp;&#13;
                    (sku === '53' || sku === '56' || sku === '58' || sku === '60' || sku === '64' || &#13;
                        sku === '68' || sku === '70' || sku === '76' || sku === '80')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 2) &amp;&amp;&#13;
                    (sku === '53' || sku === '56' || sku === '60' || sku === '68' || sku === '70' || sku === '76' || sku === '80')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else if ((gen === 3) &amp;&amp;&#13;
                    (sku === '51' || sku === '52' || sku === '58' || sku === '60' || sku === '62' || sku === '68' || sku === '80')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
            else if (model >= 9000) {&#13;
                if ((gen === 2) &amp;&amp; (sku === '21' || sku === '22' || sku === '42' || sku === '82')) {&#13;
                    statusStr = "Y";&#13;
                }&#13;
                else {&#13;
                    statusStr = "N";&#13;
                }&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'E') {&#13;
            if (model === 'E-2176M' || model === 'E-2124' || model === 'E-2124G' || model === 'E-2126G' || model === 'E-2134' || model === 'E-2136' ||&#13;
                model === 'E-2144G' || model === 'E-2146G' || model === 'E-2174G' || model === 'E-2176G' || model === 'E-2176M' || model === 'E-2186G' ||&#13;
                model === 'E-2186M' || model === 'E-2224' || model === 'E-2224G' || model === 'E-2226G' || model === 'E-2226GE' || model === 'E-2234' ||&#13;
                model === 'E-2236' || model === 'E-2244G' || model === 'E-2246G' || model === 'E-2254ME' || model === 'E-2254ML' || model === 'E-2274G' ||&#13;
                model === 'E-2276G' || model === 'E-2276M' || model === 'E-2276ME' || model === 'E-2276ML' || model === 'E-2278G' || model === 'E-2278GE' ||&#13;
                model === 'E-2278GEL' || model === 'E-2286G' || model === 'E-2286M' || model === 'E-2288G') {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else if (subBrand === 'W') {&#13;
            if (model === 'W-10855M' || model === 'W-10885M' || model === 'W-11855M' || model === 'W-11955M' || model === 'W-1250' || model === 'W-1250E' ||&#13;
                model === 'W-1250P' || model === 'W-1250TE' || model === 'W-1270' || model === 'W-1270E' || model === 'W-1270P' || model === 'W-1270TE' ||&#13;
                model === 'W-1290' || model === 'W-1290E' || model === 'W-1290P' || model === 'W-1290T' || model === 'W-1290TE' || model === 'W-2102' ||&#13;
                model === 'W-2104' || model === 'W-2123' || model === 'W-2125' || model === 'W-2133' || model === 'W-2135' || model === 'W-2145' ||&#13;
                model === 'W-2155' || model === 'W-2175' || model === 'W-2195' || model === 'W-2223' || model === 'W-2225' || model === 'W-2235' ||&#13;
                model === 'W-2245' || model === 'W-2255' || model === 'W-2265' || model === 'W-2275' || model === 'W-2295' || model === 'W-3175X' ||&#13;
                model === 'W-3223' || model === 'W-3225' || model === 'W-3235' || model === 'W-3245' || model === 'W-3245M' || model === 'W-3265' ||&#13;
                model === 'W-3265M' || model === 'W-3275' || model === 'W-3275M') {&#13;
                statusStr = "Y";&#13;
            }&#13;
            else {&#13;
                statusStr = "N";&#13;
            }&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else {&#13;
        statusStr = "N";&#13;
    }&#13;
}&#13;
else if (brand === 'AMD') {&#13;
    if ((subBrand === 'EPYC') &amp;&amp;&#13;
        (model === '7252' || model === '7262' || model === '7272' || model === '7282' || model === '7302' || model === '7313' ||&#13;
            model === '7343' || model === '7352' || model === '7402' || model === '7413' || model === '7443' || model === '7452' || &#13;
            model === '7453' || model === '7502' || model === '7513' || model === '7532' || model === '7542' || model === '7543' ||&#13;
            model === '7552' || model === '7642' || model === '7643' || model === '7662' || model === '7663' || model === '7702' ||&#13;
            model === '7713' || model === '7742' || model === '7763' || model === '7232P' || model === '7302P' || model === '72F3' ||&#13;
            model === '7302P' || model === '7313P' || model === '73F3' || model === '7402P' || model === '7443P' || model === '74F3' ||&#13;
            model === '7502P' || model === '7543P' || model === '75F3' || model === '7702P' || model === '7713P' || model === '7F32' ||&#13;
            model === '7F52' || model === '7F72' || model === '7H12')) {&#13;
        statusStr = "Y";&#13;
    }&#13;
    else if (subBrand === 'Ryzen') {&#13;
        if ((subBrandMod === '3') &amp;&amp;&#13;
            (model === '3100' || model === '2300X' || model === '3200G' || model === '3200GE' || model === '3200U' || model === '3250C' ||&#13;
                model === '3250U' || model === '3300U' || model === '3350U' || model === '4300G' || model === '4300GE' || model === '4300U' ||&#13;
                model === '5300U' || model === '5400U')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '3 PRO') &amp;&amp; &#13;
            (model === '3200G' || model === '3200GE' || model === '3300U' || model === '4350G' || model == '4350GE' ||&#13;
                model === '4450U' || model === '5350G' || model === '5350GE' || model === '5450U')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '5') &amp;&amp; &#13;
            (model === '2600' || model === '3600' || model === '2500X' || model === '2600E' || model === '2600X' || model === '3400G' || model === '3400GE' ||&#13;
                model === '3450U' || model === '3500' || model === '3500C' || model === '3500U' || model === '3550H' || model === '3580U' || model === '3600X' ||&#13;
                model === '3600XT' || model === '4500U' || model === '4600U' || model === '4600GE' || model === '4600H' || model === '4600U' || model === '5300G' ||&#13;
                model === '5300GE' || model === '5500U' || model === '5600G' || model === '5600GE' || model === '5600H' || model === '5600HS' || model === '5600U' || &#13;
                model === '5600X')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '5 PRO') &amp;&amp; &#13;
            (model === '2600' || model === '3600' || model === '3400G' || model === '3400GE' || model === '3500U' || model === '4650G' || model === '4650GE' || &#13;
                model === '4650U' || model === '5650G' || model === '5650GE' || model === '5650U' || model === '5750G' || model === '5750GE')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '7') &amp;&amp;&#13;
            (model === '2700' || model === '5800' || model === '2700E' || model === '2700X' || model === '3700C' || model === '3700U' || model === '3700X' ||&#13;
                model === '3750H' || model === '3780U' || model === '3800X' || model === '3800XT' || model === '4700G' || model === '4700GE' || model === '4700U' ||&#13;
                model === '4800H' || model === '4800HS' || model === '4800U' || model === '5700G' || model === '5700GE' || model === '5700U' || model === '5800H' ||&#13;
                model === '5800HS' || model === '5800U' || model === '5800X')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '7 PRO') &amp;&amp;&#13;
            (model === '2700' || model === '2700X' || model === '3700U' || model === '4750G' || model === '4750GE' || model === '4750U' || model === '5850U')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '9') &amp;&amp;&#13;
            (model === '3900' || model === '3900X' || model === '3900XT' || model === '3950X' ||&#13;
            model === '4900H' || model === '4900HS' || model === '5900HS' || model === '5900HX' ||&#13;
            model === '5900X' || model === '5950X' || model === '5980HS' || model === '5980HX')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === '9 PRO') &amp;&amp; (model === '3900')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'Threadripper')  &amp;&amp; &#13;
            (model === '2920X' || model === '2950X' || model === '2970WX' || model === '2990WX' || &#13;
            model === '3960X' || model === '3970X' || model === '3990X')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else if ((subBrandMod === 'Threadripper PRO') &amp;&amp; &#13;
            (model === '3945WX' || model === '3955WZ' || model === '3975WX' || model === '3995WX')) {&#13;
            statusStr = "Y";&#13;
        }&#13;
        else {&#13;
            statusStr = "N";&#13;
        }&#13;
    }&#13;
    else {&#13;
        statusStr = "N";&#13;
    } &#13;
}&#13;
else {&#13;
    statusStr = "N";&#13;
}&#13;
statusStr;</expression>
                    <property name="dataType">string</property>
                </structure>
            </list-property>
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">node_id</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_id</text-property>
                    <text-property name="heading">node_id</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_name</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_name</text-property>
                    <text-property name="heading">machine_name</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_fqmn</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_fqmn</text-property>
                    <text-property name="heading">machine_fqmn</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_make</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_make</text-property>
                    <text-property name="heading">machine_make</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_model</text-property>
                    <text-property name="heading">machine_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_chassis_type</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_chassis_type</text-property>
                    <text-property name="heading">machine_chassis_type</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_version</text-property>
                    <text-property name="heading">node_os_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_desc</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_desc</text-property>
                    <text-property name="heading">node_os_desc</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_build_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">os_build_version</text-property>
                    <text-property name="heading">os_build_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_model</text-property>
                    <text-property name="heading">node_cpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_short_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_short_models</text-property>
                    <text-property name="heading">node_cpu_short_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_speed_ghz</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_speed_ghz</text-property>
                    <text-property name="heading">node_cpu_speed_ghz</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_brand</text-property>
                    <text-property name="heading">cpu_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand</text-property>
                    <text-property name="heading">cpu_sub_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand_modifier</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                    <text-property name="heading">cpu_sub_brand_modifier</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_model_number</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_model_number</text-property>
                    <text-property name="heading">cpu_model_number</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_generation</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">cpu_generation</text-property>
                    <text-property name="heading">cpu_generation</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sku</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sku</text-property>
                    <text-property name="heading">cpu_sku</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_per_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_per_cpu_cores</text-property>
                    <text-property name="heading">node_per_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_cores</text-property>
                    <text-property name="heading">node_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_bitwidth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_bitwidth</text-property>
                    <text-property name="heading">node_cpu_bitwidth</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_ram_allocated_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_ram_allocated_gb</text-property>
                    <text-property name="heading">node_ram_allocated_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">ram_alloc_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">ram_alloc_gb</text-property>
                    <text-property name="heading">ram_alloc_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_max_disk_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_max_disk_size_gb</text-property>
                    <text-property name="heading">node_max_disk_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_max_disk_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_max_disk_used_gb</text-property>
                    <text-property name="heading">node_max_disk_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_size_gb</text-property>
                    <text-property name="heading">node_total_disk_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_used_gb</text-property>
                    <text-property name="heading">node_total_disk_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_gpu_model</text-property>
                    <text-property name="heading">node_gpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_discrete_gpu_models</text-property>
                    <text-property name="heading">node_discrete_gpu_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_count</text-property>
                    <text-property name="heading">node_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_discrete_gpu_count</text-property>
                    <text-property name="heading">node_discrete_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_color_depth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_color_depth</text-property>
                    <text-property name="heading">node_gpu_color_depth</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_dx12orwddm2</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">os_dx12orwddm2</text-property>
                    <text-property name="heading">os_dx12orwddm2</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_dimensions</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_dimensions</text-property>
                    <text-property name="heading">node_display_dimensions</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_res_y</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_res_y</text-property>
                    <text-property name="heading">max_display_res_y</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_size_in_inches</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_size_in_inches</text-property>
                    <text-property name="heading">node_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_size_in_inches</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_size_in_inches</text-property>
                    <text-property name="heading">max_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_display_count</text-property>
                    <text-property name="heading">node_display_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_capable</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_capable</text-property>
                    <text-property name="heading">machine_bios_uefi_capable</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_enabled</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                    <text-property name="heading">machine_bios_uefi_enabled</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_secure_boot</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_secure_boot</text-property>
                    <text-property name="heading">machine_secure_boot</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specifications</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_tpm_specifications</text-property>
                    <text-property name="heading">machine_tpm_specifications</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specification</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_tpm_specification</text-property>
                    <text-property name="heading">machine_tpm_specification</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city_state_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city_state_country</text-property>
                    <text-property name="heading">machine_location_city_state_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_country</text-property>
                    <text-property name="heading">machine_location_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_state</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_state</text-property>
                    <text-property name="heading">machine_location_state</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city</text-property>
                    <text-property name="heading">machine_location_city</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">node_id</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_name</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">machine_fqmn</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">machine_make</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">5</property>
                        <property name="name">machine_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">6</property>
                        <property name="name">machine_chassis_type</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">7</property>
                        <property name="name">node_os_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">8</property>
                        <property name="name">node_os_desc</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">9</property>
                        <property name="name">os_build_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">10</property>
                        <property name="name">node_cpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">11</property>
                        <property name="name">node_cpu_short_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">12</property>
                        <property name="name">node_cpu_speed_ghz</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">13</property>
                        <property name="name">cpu_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">14</property>
                        <property name="name">cpu_sub_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">15</property>
                        <property name="name">cpu_sub_brand_modifier</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">16</property>
                        <property name="name">cpu_model_number</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">17</property>
                        <property name="name">cpu_generation</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">18</property>
                        <property name="name">cpu_sku</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">19</property>
                        <property name="name">node_per_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">20</property>
                        <property name="name">node_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">21</property>
                        <property name="name">node_cpu_bitwidth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">22</property>
                        <property name="name">node_ram_allocated_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">23</property>
                        <property name="name">ram_alloc_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">24</property>
                        <property name="name">node_max_disk_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">25</property>
                        <property name="name">node_max_disk_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">26</property>
                        <property name="name">node_total_disk_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">27</property>
                        <property name="name">node_total_disk_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">28</property>
                        <property name="name">node_gpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">29</property>
                        <property name="name">node_discrete_gpu_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">30</property>
                        <property name="name">node_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">31</property>
                        <property name="name">node_discrete_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">32</property>
                        <property name="name">node_gpu_color_depth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">33</property>
                        <property name="name">os_dx12orwddm2</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">34</property>
                        <property name="name">node_display_dimensions</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">35</property>
                        <property name="name">max_display_res_y</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">36</property>
                        <property name="name">node_display_size_in_inches</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">37</property>
                        <property name="name">max_display_size_in_inches</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">38</property>
                        <property name="name">node_display_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">39</property>
                        <property name="name">machine_bios_uefi_capable</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">40</property>
                        <property name="name">machine_bios_uefi_enabled</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">41</property>
                        <property name="name">machine_secure_boot</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">42</property>
                        <property name="name">machine_tpm_specifications</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">43</property>
                        <property name="name">machine_tpm_specification</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">44</property>
                        <property name="name">machine_location_city_state_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">45</property>
                        <property name="name">machine_location_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">46</property>
                        <property name="name">machine_location_state</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">47</property>
                        <property name="name">machine_location_city</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">48</property>
                        <property name="name">free_hdd_gb</property>
                        <property name="dataType">float</property>
                    </structure>
                    <structure>
                        <property name="position">49</property>
                        <property name="name">win11_inplace_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">50</property>
                        <property name="name">win11_image_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">51</property>
                        <property name="name">cpu_support_status</property>
                        <property name="dataType">string</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">node_id</property>
                    <property name="nativeName">node_id</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_name</property>
                    <property name="nativeName">machine_name</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">machine_fqmn</property>
                    <property name="nativeName">machine_fqmn</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">machine_make</property>
                    <property name="nativeName">machine_make</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">5</property>
                    <property name="name">machine_model</property>
                    <property name="nativeName">machine_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">6</property>
                    <property name="name">machine_chassis_type</property>
                    <property name="nativeName">machine_chassis_type</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">7</property>
                    <property name="name">node_os_version</property>
                    <property name="nativeName">node_os_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">8</property>
                    <property name="name">node_os_desc</property>
                    <property name="nativeName">node_os_desc</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">9</property>
                    <property name="name">os_build_version</property>
                    <property name="nativeName">os_build_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">10</property>
                    <property name="name">node_cpu_model</property>
                    <property name="nativeName">node_cpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">11</property>
                    <property name="name">node_cpu_short_models</property>
                    <property name="nativeName">node_cpu_short_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">12</property>
                    <property name="name">node_cpu_speed_ghz</property>
                    <property name="nativeName">node_cpu_speed_ghz</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">13</property>
                    <property name="name">cpu_brand</property>
                    <property name="nativeName">cpu_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">14</property>
                    <property name="name">cpu_sub_brand</property>
                    <property name="nativeName">cpu_sub_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">15</property>
                    <property name="name">cpu_sub_brand_modifier</property>
                    <property name="nativeName">cpu_sub_brand_modifier</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">16</property>
                    <property name="name">cpu_model_number</property>
                    <property name="nativeName">cpu_model_number</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">17</property>
                    <property name="name">cpu_generation</property>
                    <property name="nativeName">cpu_generation</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">18</property>
                    <property name="name">cpu_sku</property>
                    <property name="nativeName">cpu_sku</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">19</property>
                    <property name="name">node_per_cpu_cores</property>
                    <property name="nativeName">node_per_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">20</property>
                    <property name="name">node_cpu_cores</property>
                    <property name="nativeName">node_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">21</property>
                    <property name="name">node_cpu_bitwidth</property>
                    <property name="nativeName">node_cpu_bitwidth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">22</property>
                    <property name="name">node_ram_allocated_gb</property>
                    <property name="nativeName">node_ram_allocated_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">23</property>
                    <property name="name">ram_alloc_gb</property>
                    <property name="nativeName">ram_alloc_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">24</property>
                    <property name="name">node_max_disk_size_gb</property>
                    <property name="nativeName">node_max_disk_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">25</property>
                    <property name="name">node_max_disk_used_gb</property>
                    <property name="nativeName">node_max_disk_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">26</property>
                    <property name="name">node_total_disk_size_gb</property>
                    <property name="nativeName">node_total_disk_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">27</property>
                    <property name="name">node_total_disk_used_gb</property>
                    <property name="nativeName">node_total_disk_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">28</property>
                    <property name="name">node_gpu_model</property>
                    <property name="nativeName">node_gpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">29</property>
                    <property name="name">node_discrete_gpu_models</property>
                    <property name="nativeName">node_discrete_gpu_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">30</property>
                    <property name="name">node_gpu_count</property>
                    <property name="nativeName">node_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">31</property>
                    <property name="name">node_discrete_gpu_count</property>
                    <property name="nativeName">node_discrete_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">32</property>
                    <property name="name">node_gpu_color_depth</property>
                    <property name="nativeName">node_gpu_color_depth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">33</property>
                    <property name="name">os_dx12orwddm2</property>
                    <property name="nativeName">os_dx12orwddm2</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">34</property>
                    <property name="name">node_display_dimensions</property>
                    <property name="nativeName">node_display_dimensions</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">35</property>
                    <property name="name">max_display_res_y</property>
                    <property name="nativeName">max_display_res_y</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">36</property>
                    <property name="name">node_display_size_in_inches</property>
                    <property name="nativeName">node_display_size_in_inches</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">37</property>
                    <property name="name">max_display_size_in_inches</property>
                    <property name="nativeName">max_display_size_in_inches</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">38</property>
                    <property name="name">node_display_count</property>
                    <property name="nativeName">node_display_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">39</property>
                    <property name="name">machine_bios_uefi_capable</property>
                    <property name="nativeName">machine_bios_uefi_capable</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">40</property>
                    <property name="name">machine_bios_uefi_enabled</property>
                    <property name="nativeName">machine_bios_uefi_enabled</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">41</property>
                    <property name="name">machine_secure_boot</property>
                    <property name="nativeName">machine_secure_boot</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">42</property>
                    <property name="name">machine_tpm_specifications</property>
                    <property name="nativeName">machine_tpm_specifications</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">43</property>
                    <property name="name">machine_tpm_specification</property>
                    <property name="nativeName">machine_tpm_specification</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">44</property>
                    <property name="name">machine_location_city_state_country</property>
                    <property name="nativeName">machine_location_city_state_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">45</property>
                    <property name="name">machine_location_country</property>
                    <property name="nativeName">machine_location_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">46</property>
                    <property name="name">machine_location_state</property>
                    <property name="nativeName">machine_location_state</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">47</property>
                    <property name="name">machine_location_city</property>
                    <property name="nativeName">machine_location_city</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : MachinesHardwareCompatibilityForWindows11
-- Filename: FIT.MAC.MachinesHardwareCompatibilityForWindows11.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then split_part(model, ' ', 4)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
	select 
		disk_stats.node_id as node_id,
		round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
		round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
		round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
		round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
	from ( 
		select
			disk_stats.node_id as node_id,
			-- disk_stats.disk_id as node_physical_disk_id,
			string_agg(distinct disk_stats.name, ',') as node_disk_names,
			sum(disk_stats.size) as node_per_disk_size_kb,
			sum(disk_stats.avg_used) as node_per_disk_used_kb
		from
			-- tnt_audit.summaryreport_partition_stats part_stats, 
			tnt_audit.summaryreport_disk_stats disk_stats, 
			(	select
					disk_stats.node_id as node_id,
					max(disk_stats.start_date) as start_date,
					max(disk_stats.end_date) as end_date
				from 
					-- tnt_audit.summaryreport_partition_stats disk_stats
					tnt_audit.summaryreport_disk_stats disk_stats
-- 			 	where
-- 			 		disk_stats.node_id = 13047
				group by
					disk_stats.node_id
			) last_disk_stats 
		where
			disk_stats.node_id = last_disk_stats.node_id
			and disk_stats.start_date = last_disk_stats.start_date
			and disk_stats.end_date = last_disk_stats.end_date
			and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
			and disk_stats.type ilike 'LOCAL'
-- 			and disk_stats.node_id = 13047
		group by
			disk_stats.node_id--, disk_stats.disk_id
		) disk_stats
	group by
		disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
)

select
	pn.id as node_id,
	pn.name as machine_name,
	nde.fqmn as machine_fqmn,

  -- Machine hardware make, model, and chassis type
	nh.machine_make as machine_make,
	nh.machine_model as machine_model,
	nde.hwtype as machine_chassis_type,

	-- OS
	os.version as node_os_version,
	replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
	os.buildversion as os_build_version,

	-- CPU
	nodecpu.node_cpu_model as node_cpu_model,
	nodecpu.node_cpu_short_models as node_cpu_short_models,
	round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
	trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
	trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
	trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
	trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
	-- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
	nodecpu.cpu_generation as cpu_generation,
	trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
	nodecpu.node_per_cpu_cores,
	nodecpu.node_cpu_cores,
	nodecpu.node_cpu_bitwidth,
	-- RAM
	noderam.node_ram_allocated_gb as node_ram_allocated_gb,
	nh.ram_alloc_gb,
	-- Disk storage
	nodedisk.node_max_disk_size_gb as node_max_disk_size_gb,
	nodedisk.node_max_disk_used_gb as node_max_disk_used_gb,
	nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
	nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
	-- GPU
	nodegpu.node_gpu_model as node_gpu_model,
	nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
	-- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
	nodegpu.node_gpu_count as node_gpu_count,
	nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
	nodegpu.node_gpu_color_depth,
	os.dx12orwddm2 as os_dx12orwddm2,
	-- Display
	nodedis.node_display_dimensions as node_display_dimensions,
	nodedis.max_display_res_y as max_display_res_y,
	nodedis.node_display_size_in_inches,
	nodedis.max_display_size_in_inches,
	nodedis.node_display_count as node_display_count,
	-- BIOS &amp; TPM
	case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
	case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
	
	case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
	nh.tpm_specification as machine_tpm_specifications,
	case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
	-- Windows 11 compatibility
	-- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
	-- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
	
  -- Machine location
	loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
	loc_stats.country as machine_location_country,
	loc_stats.state as machine_location_state,
	loc_stats.city as machine_location_city

from
	tnt_config.policynode pn 
	join tnt_config.node nde on (nde.id = pn.id)
	left outer join tnt_config.os os on (os.id = nde.os_id)
	left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
	left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
	left outer join node_ram noderam on (noderam.node_id = pn.id)
	left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
	left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
	left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
	left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
	left outer join (
		select
			loc_stats.node_id as node_id,
			first(loc_stats.country) as country,
			first(loc_stats.state) as state,
			first(loc_stats.city) as city
		from
			tnt_audit.summaryreport_machine_location_stats loc_stats, 
			-- lwl_rollup.sr_machine_location_stats_da loc_stats,
			(	select
					loc_stats.node_id as node_id,
					max(loc_stats.start_date) as start_date,
					max(loc_stats.end_date) as end_date
				from 
					tnt_audit.summaryreport_machine_location_stats loc_stats
					-- lwl_rollup.sr_machine_location_stats_da loc_stats
				group by
					loc_stats.node_id
			) latest_loc_stats 
		where
			loc_stats.node_id = latest_loc_stats.node_id
			and loc_stats.start_date = latest_loc_stats.start_date
			and loc_stats.end_date = latest_loc_stats.end_date
			and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
		group by
			loc_stats.node_id
	) loc_stats on (loc_stats.node_id = pn.id)

	
where
	(pn.delete_time is null) -- Machine has not been deleted
	and (nde.delete_time is null) -- Machine has not been deleted
	and (nde.ihostversion is not null) -- Machine has a CID Key installed
	and (nde.certificate is not null) -- Machine has a valid certificate
	and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
	and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
	and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
	and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
	and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
		and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
	and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
  	-- Machine group filter
	and ('%' = ? or pn.id in 
		(select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
			where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
	-- and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
	
order by
	lower(pn.name) asc nulls last
;]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Win10OrEarlierByOSEditionBreakdown" id="16639">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">node_os_desc</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_desc</text-property>
                    <text-property name="heading">node_os_desc</text-property>
                </structure>
                <structure>
                    <property name="columnName">inplace_upg_unsupported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">inplace_upg_unsupported_machine_count</text-property>
                    <text-property name="heading">inplace_upg_unsupported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">inplace_upg_partial_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">inplace_upg_partial_machine_count</text-property>
                    <text-property name="heading">inplace_upg_partial_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">inplace_upg_supported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">inplace_upg_supported_machine_count</text-property>
                    <text-property name="heading">inplace_upg_supported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">img_upg_unsupported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">img_upg_unsupported_machine_count</text-property>
                    <text-property name="heading">img_upg_unsupported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">img_upg_partial_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">img_upg_partial_machine_count</text-property>
                    <text-property name="heading">img_upg_partial_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">img_upg_supported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">img_upg_supported_machine_count</text-property>
                    <text-property name="heading">img_upg_supported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">count</text-property>
                    <text-property name="heading">count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">node_os_desc</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">inplace_upg_unsupported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">inplace_upg_partial_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">inplace_upg_supported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">5</property>
                        <property name="name">img_upg_unsupported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">6</property>
                        <property name="name">img_upg_partial_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">7</property>
                        <property name="name">img_upg_supported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">8</property>
                        <property name="name">count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">node_os_desc</property>
                    <property name="nativeName">node_os_desc</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">inplace_upg_unsupported_machine_count</property>
                    <property name="nativeName">inplace_upg_unsupported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">inplace_upg_partial_machine_count</property>
                    <property name="nativeName">inplace_upg_partial_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">inplace_upg_supported_machine_count</property>
                    <property name="nativeName">inplace_upg_supported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">5</property>
                    <property name="name">img_upg_unsupported_machine_count</property>
                    <property name="nativeName">img_upg_unsupported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">6</property>
                    <property name="name">img_upg_partial_machine_count</property>
                    <property name="nativeName">img_upg_partial_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">7</property>
                    <property name="name">img_upg_supported_machine_count</property>
                    <property name="nativeName">img_upg_supported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">8</property>
                    <property name="name">count</property>
                    <property name="nativeName">count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByStatus
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByStatus.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    -- and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
    -- 	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    -- and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = '%' or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like '%')))
    
  order by
    lower(pn.name) asc nulls last
),

status_sql as (
  select 
  s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 64.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label,

  case
    when cpu_brand = 'Intel' then
      case
        -- Intel Atom processors
        when cpu_sub_brand = 'Atom' and
          (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
            cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
            cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
          then 'Y'

        -- Intel Celeron processors
        when cpu_sub_brand = 'Celeron' then
          case
            when cpu_sub_brand_modifier = 'G' and
              (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                cpu_sku = '5925')
              then 'Y'
            when cpu_sub_brand_modifier = 'J' and
              (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
              then 'Y'
            when cpu_sub_brand_modifier = 'N' and
              (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                cpu_sku = '6210' or cpu_sku = '6211')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
              then 'Y'
            else 'N'
          end

        -- Intel Core processors
        when cpu_sub_brand = 'Core' then
          case
            when cpu_sub_brand_modifier ilike 'Ultra%'
              then 'Y'
            when cpu_generation >= 8 
              then 'Y'
            else 'N'
          end

        -- Intel Pentium processors
        when cpu_sub_brand = 'Pentium' then
          case
            when cpu_sub_brand_modifier = 'Gold' and
              (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
              then 'Y'
            when cpu_sub_brand_modifier = 'Silver' and
              (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                cpu_sku = 'N6000' or cpu_sku = 'N6005')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
              then 'Y'
            else 'N'
          end

        -- Intel Xeon processors
        when cpu_sub_brand = 'Xeon' then
          case
            when cpu_sub_brand_modifier = 'Bronze' and 
              (cpu_model_number = '3104' or cpu_model_number = '3106' or 
              cpu_model_number = '3204' or cpu_model_number = '3206R')
              then 'Y'

            when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
              case 
                when cpu_sku_level = 4 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                        cpu_sku = '15' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '10' or cpu_sku = '16')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end

            when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
              case
                when cpu_sku_level = 5 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 6 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                        cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                        cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                        cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                        cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                        cpu_sku = '42')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end
            when cpu_sub_brand_modifier = 'Platinum' then
              case
                when cpu_sku_level = 8 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                        cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                        cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                        cpu_sku = '80' or cpu_sku = '90')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 9 then
                  case
                    when cpu_generation = 2 and
                      (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                      then 'Y'
                    else 'N'
                  end
                else 'N'
              end
            when cpu_sub_brand_modifier = 'D' and
              (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
              then 'Y'
            when cpu_sub_brand_modifier = 'E' and
              (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                cpu_model_number = 'E-2288G')
              then 'Y'
            when cpu_sub_brand_modifier = 'W' and
              (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
              then 'Y'
            when cpu_sub_brand_modifier = 'W3' and
              (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
              then 'Y'
            when cpu_sub_brand_modifier = 'W5' and
              (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                cpu_model_number = 'W5-3435X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W7' and
              (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                cpu_model_number = 'W7-3465X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W9' and
              (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
              then 'Y'
            else 'N'
          end -- Xeon's cpu_sub_brand_modifier
        else 'N'
      end -- Intel's cpu_sub_brand

    -- AMD processors
    when cpu_brand = 'AMD' then
      case
        -- -- AMD EPYC processors
        -- when cpu_sub_brand = 'EPYC' and
        --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
        --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
        --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
        --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
        --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
        --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
        --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
        --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
        --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
        --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
        --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
        --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
        --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
        --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
        --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
        --   then 'Y'

        -- AMD Ryzen processors
        when cpu_sub_brand = 'Ryzen' then
          case
            when cpu_sub_brand_modifier = '3' and
              (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                cpu_model_number = '5300U' or cpu_model_number = '5400U')
              then 'Y'
            when cpu_sub_brand_modifier = '3 PRO' and
              (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
              then 'Y'
            when cpu_sub_brand_modifier = '5' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                cpu_model_number = '5600U' or cpu_model_number = '5600X')
              then 'Y'
            when cpu_sub_brand_modifier = '5 PRO' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                cpu_model_number = '5750GE')
              then 'Y'
            when cpu_sub_brand_modifier = '7' and
              (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                cpu_model_number = '7840S' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '7 PRO' and
              (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '9' and
              (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
              then 'Y'
            when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper' and
              (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                cpu_model_number = '3990X')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper PRO' and
              (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                cpu_model_number = '3995WX')
              then 'Y'
            else 'N'
          end -- AMD Ryzen's cpu_sub_brand_modifier
        else -- Unsupported AMD cpu_sub_brand
          'N'
      end
    else -- Unsupported cpu_brand
      'N'
  end as cpu_support_status

  from base_sql s
),

inplace_upgrade_status as (
  select
    s.*,
    case
      when win11_inplace_upgrade_label = 'Unsupported' then 'No'
      when win11_inplace_upgrade_label = 'Partial' then 'Maybe'
      when win11_inplace_upgrade_label = 'Supported' then 'Yes'
      else null
    end as inplace_upgrade_status
  from status_sql s
),

by_os_edition as (
  select
    split_part(s.node_os_desc, 'Windows ', 2) as node_os_desc,
    count(distinct case when win11_inplace_upgrade_label = 'Unsupported' then s.node_id end) as unsupported_machine_count,
    count(distinct case when win11_inplace_upgrade_label = 'Partial' then s.node_id end) as partial_machine_count,
    count(distinct case when win11_inplace_upgrade_label = 'Supported' then s.node_id end) as supported_machine_count,
    count(distinct s.node_id)
  from status_sql s
  group by s.node_os_desc
  order by count(distinct s.node_id) desc
  limit 5
)

select
  split_part(s.node_os_desc, 'Microsoft ', 2) as node_os_desc,
  count(distinct case when win11_inplace_upgrade_label = 'Unsupported' then s.node_id end) as inplace_upg_unsupported_machine_count,
  count(distinct case when win11_inplace_upgrade_label = 'Partial' then s.node_id end) as inplace_upg_partial_machine_count,
  count(distinct case when win11_inplace_upgrade_label = 'Supported' then s.node_id end) as inplace_upg_supported_machine_count,
  count(distinct case when win11_image_upgrade_label = 'Unsupported' then s.node_id end) as img_upg_unsupported_machine_count,
  count(distinct case when win11_image_upgrade_label = 'Partial' then s.node_id end) as img_upg_partial_machine_count,
  count(distinct case when win11_image_upgrade_label = 'Supported' then s.node_id end) as img_upg_supported_machine_count,
  count(distinct s.node_id)
from (
  select 
    s.*,
    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (coalesce(node_disk0_c_free_gb, node_total_disk_free_gb) < 20.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_inplace_upgrade_label,

    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (node_disk0_c_free_gb < 64.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_image_upgrade_label,

    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- -- AMD EPYC processors
          -- when cpu_sub_brand = 'EPYC' and
          --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
          --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
          --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
          --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
          --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
          --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
          --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
          --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
          --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
          --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
          --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
          --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
          --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
          --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
          --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
          --   then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5300U' or cpu_model_number = '5400U')
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                  cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                  cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                  cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                  cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                  cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                  cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                  cpu_model_number = '5600U' or cpu_model_number = '5600X')
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                  cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                  cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                  cpu_model_number = '5750GE')
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                  cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                  cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                  cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                  cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                  cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                  cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                  cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                  cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                  cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                  cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                  cpu_model_number = '3995WX')
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from (
    select
      pn.id as node_id,
      pn.name as machine_name,
      nde.fqmn as machine_fqmn,
      nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

      -- Machine hardware make, model, and chassis type
      nh.machine_make as machine_make,
      nh.machine_model as machine_model,
      nde.hwtype as machine_chassis_type,

      -- OS
      os.version as node_os_version,
      replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
      os.buildversion as os_build_version,

      -- CPU
      nodecpu.node_cpu_model as node_cpu_model,
      nodecpu.node_cpu_short_models as node_cpu_short_models,
      round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
      trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
      trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
      nodecpu.cpu_sku_level as cpu_sku_level,
      -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
      nodecpu.cpu_generation as cpu_generation,
      trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
      nodecpu.node_per_cpu_cores,
      nodecpu.node_cpu_cores,
      nodecpu.node_cpu_bitwidth,
      -- RAM
      noderam.node_ram_allocated_gb as node_ram_allocated_gb,
      nh.ram_alloc_gb,
      -- Disk storage
      nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
      nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
      nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
      nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
      nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
      nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

      -- GPU
      nodegpu.node_gpu_model as node_gpu_model,
      nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
      -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
      nodegpu.node_gpu_count as node_gpu_count,
      nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
      nodegpu.node_gpu_color_depth,
      os.dx12orwddm2 as os_dx12orwddm2,
      -- Display
      nodedis.node_display_dimensions as node_display_dimensions,
      nodedis.max_display_res_y as max_display_res_y,
      nodedis.node_display_size_in_inches,
      nodedis.max_display_size_in_inches,
      nodedis.node_display_count as node_display_count,
      -- BIOS &amp; TPM
      case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
      case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
      
      case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
      nh.tpm_specification as machine_tpm_specifications,
      case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
      -- Windows 11 compatibility
      -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
      -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
      
      -- Machine location
      loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
      loc_stats.country as machine_location_country,
      loc_stats.state as machine_location_state,
      loc_stats.city as machine_location_city

    from
      tnt_config.policynode pn 
      join tnt_config.node nde on (nde.id = pn.id)
      left outer join tnt_config.os os on (os.id = nde.os_id)
      left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
      left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
      left outer join node_ram noderam on (noderam.node_id = pn.id)
      left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
      left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
      left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
      left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
      left outer join (
        select
          loc_stats.node_id as node_id,
          first(loc_stats.country) as country,
          first(loc_stats.state) as state,
          first(loc_stats.city) as city
        from
          tnt_audit.summaryreport_machine_location_stats loc_stats, 
          -- lwl_rollup.sr_machine_location_stats_da loc_stats,
          (	select
              loc_stats.node_id as node_id,
              max(loc_stats.start_date) as start_date,
              max(loc_stats.end_date) as end_date
            from 
              tnt_audit.summaryreport_machine_location_stats loc_stats
              -- lwl_rollup.sr_machine_location_stats_da loc_stats
            group by
              loc_stats.node_id
          ) latest_loc_stats 
        where
          loc_stats.node_id = latest_loc_stats.node_id
          and loc_stats.start_date = latest_loc_stats.start_date
          and loc_stats.end_date = latest_loc_stats.end_date
          and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
        group by
          loc_stats.node_id
      ) loc_stats on (loc_stats.node_id = pn.id)

      
    where
      (pn.delete_time is null) -- Machine has not been deleted
      and (nde.delete_time is null) -- Machine has not been deleted
      and (nde.ihostversion is not null) -- Machine has a CID Key installed
      and (nde.certificate is not null) -- Machine has a valid certificate
      and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
      and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
      and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
      and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
      and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
         	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
      and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
      -- Machine group filter
      and ('%' = ? or pn.id in 
        (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
          where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
      
    order by
      lower(pn.name) asc nulls last
    ) s
  ) s

group by 
  s.node_os_desc

order by 
  count(distinct s.node_id) desc

limit 5
;]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Win10OrEarlierByTPMBreakdown" id="16679">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_tpm_specifications</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_tpm_specifications</text-property>
                    <text-property name="heading">machine_tpm_specifications</text-property>
                </structure>
                <structure>
                    <property name="columnName">unsupported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">unsupported_machine_count</text-property>
                    <text-property name="heading">unsupported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">supported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">supported_machine_count</text-property>
                    <text-property name="heading">supported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_tpm_specifications</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">unsupported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">supported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_tpm_specifications</property>
                    <property name="nativeName">machine_tpm_specifications</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">unsupported_machine_count</property>
                    <property name="nativeName">unsupported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">supported_machine_count</property>
                    <property name="nativeName">supported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByTPM
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByTPM.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    -- and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
    -- 	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    -- and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = '%' or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like '%')))
    
  order by
    lower(pn.name) asc nulls last
),

status_sql as (
  select 
  s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 64.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label,

  case
    when cpu_brand = 'Intel' then
      case
        -- Intel Atom processors
        when cpu_sub_brand = 'Atom' and
          (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
            cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
            cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
          then 'Y'

        -- Intel Celeron processors
        when cpu_sub_brand = 'Celeron' then
          case
            when cpu_sub_brand_modifier = 'G' and
              (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                cpu_sku = '5925')
              then 'Y'
            when cpu_sub_brand_modifier = 'J' and
              (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
              then 'Y'
            when cpu_sub_brand_modifier = 'N' and
              (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                cpu_sku = '6210' or cpu_sku = '6211')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
              then 'Y'
            else 'N'
          end

        -- Intel Core processors
        when cpu_sub_brand = 'Core' then
          case
            when cpu_sub_brand_modifier ilike 'Ultra%'
              then 'Y'
            when cpu_generation >= 8 
              then 'Y'
            else 'N'
          end

        -- Intel Pentium processors
        when cpu_sub_brand = 'Pentium' then
          case
            when cpu_sub_brand_modifier = 'Gold' and
              (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
              then 'Y'
            when cpu_sub_brand_modifier = 'Silver' and
              (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                cpu_sku = 'N6000' or cpu_sku = 'N6005')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
              then 'Y'
            else 'N'
          end

        -- Intel Xeon processors
        when cpu_sub_brand = 'Xeon' then
          case
            when cpu_sub_brand_modifier = 'Bronze' and 
              (cpu_model_number = '3104' or cpu_model_number = '3106' or 
              cpu_model_number = '3204' or cpu_model_number = '3206R')
              then 'Y'

            when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
              case 
                when cpu_sku_level = 4 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                        cpu_sku = '15' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '10' or cpu_sku = '16')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end

            when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
              case
                when cpu_sku_level = 5 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 6 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                        cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                        cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                        cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                        cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                        cpu_sku = '42')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end
            when cpu_sub_brand_modifier = 'Platinum' then
              case
                when cpu_sku_level = 8 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                        cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                        cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                        cpu_sku = '80' or cpu_sku = '90')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 9 then
                  case
                    when cpu_generation = 2 and
                      (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                      then 'Y'
                    else 'N'
                  end
                else 'N'
              end
            when cpu_sub_brand_modifier = 'D' and
              (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
              then 'Y'
            when cpu_sub_brand_modifier = 'E' and
              (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                cpu_model_number = 'E-2288G')
              then 'Y'
            when cpu_sub_brand_modifier = 'W' and
              (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
              then 'Y'
            when cpu_sub_brand_modifier = 'W3' and
              (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
              then 'Y'
            when cpu_sub_brand_modifier = 'W5' and
              (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                cpu_model_number = 'W5-3435X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W7' and
              (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                cpu_model_number = 'W7-3465X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W9' and
              (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
              then 'Y'
            else 'N'
          end -- Xeon's cpu_sub_brand_modifier
        else 'N'
      end -- Intel's cpu_sub_brand

    -- AMD processors
    when cpu_brand = 'AMD' then
      case
        -- -- AMD EPYC processors
        -- when cpu_sub_brand = 'EPYC' and
        --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
        --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
        --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
        --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
        --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
        --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
        --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
        --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
        --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
        --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
        --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
        --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
        --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
        --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
        --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
        --   then 'Y'

        -- AMD Ryzen processors
        when cpu_sub_brand = 'Ryzen' then
          case
            when cpu_sub_brand_modifier = '3' and
              (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                cpu_model_number = '5300U' or cpu_model_number = '5400U')
              then 'Y'
            when cpu_sub_brand_modifier = '3 PRO' and
              (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
              then 'Y'
            when cpu_sub_brand_modifier = '5' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                cpu_model_number = '5600U' or cpu_model_number = '5600X')
              then 'Y'
            when cpu_sub_brand_modifier = '5 PRO' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                cpu_model_number = '5750GE')
              then 'Y'
            when cpu_sub_brand_modifier = '7' and
              (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                cpu_model_number = '7840S' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '7 PRO' and
              (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '9' and
              (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
              then 'Y'
            when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper' and
              (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                cpu_model_number = '3990X')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper PRO' and
              (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                cpu_model_number = '3995WX')
              then 'Y'
            else 'N'
          end -- AMD Ryzen's cpu_sub_brand_modifier
        else -- Unsupported AMD cpu_sub_brand
          'N'
      end
    else -- Unsupported cpu_brand
      'N'
  end as cpu_support_status

  from base_sql s
)

select
  s.machine_tpm_specifications,
  count(distinct case when s.machine_tpm_specifications not ilike '2.%' then s.node_id end) as unsupported_machine_count,
  count(distinct case when s.machine_tpm_specifications ilike '2.%' then s.node_id end) as supported_machine_count,
  count(distinct s.node_id) as machine_count
from (
  select
    s.*,
    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (coalesce(node_disk0_c_free_gb, node_total_disk_free_gb) < 20.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_inplace_upgrade_label,

    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (node_disk0_c_free_gb < 64.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_image_upgrade_label,

    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- -- AMD EPYC processors
          -- when cpu_sub_brand = 'EPYC' and
          --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
          --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
          --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
          --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
          --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
          --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
          --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
          --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
          --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
          --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
          --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
          --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
          --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
          --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
          --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
          --   then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5300U' or cpu_model_number = '5400U')
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                  cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                  cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                  cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                  cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                  cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                  cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                  cpu_model_number = '5600U' or cpu_model_number = '5600X')
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                  cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                  cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                  cpu_model_number = '5750GE')
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                  cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                  cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                  cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                  cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                  cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                  cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                  cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                  cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                  cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                  cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                  cpu_model_number = '3995WX')
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from (
    select
      pn.id as node_id,
      pn.name as machine_name,
      nde.fqmn as machine_fqmn,
      nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

      -- Machine hardware make, model, and chassis type
      nh.machine_make as machine_make,
      nh.machine_model as machine_model,
      nde.hwtype as machine_chassis_type,

      -- OS
      os.version as node_os_version,
      replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
      os.buildversion as os_build_version,

      -- CPU
      nodecpu.node_cpu_model as node_cpu_model,
      nodecpu.node_cpu_short_models as node_cpu_short_models,
      round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
      trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
      trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
      nodecpu.cpu_sku_level as cpu_sku_level,
      -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
      nodecpu.cpu_generation as cpu_generation,
      trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
      nodecpu.node_per_cpu_cores,
      nodecpu.node_cpu_cores,
      nodecpu.node_cpu_bitwidth,
      -- RAM
      noderam.node_ram_allocated_gb as node_ram_allocated_gb,
      nh.ram_alloc_gb,
      -- Disk storage
      nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
      nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
      nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
      nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
      nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
      nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

      -- GPU
      nodegpu.node_gpu_model as node_gpu_model,
      nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
      -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
      nodegpu.node_gpu_count as node_gpu_count,
      nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
      nodegpu.node_gpu_color_depth,
      os.dx12orwddm2 as os_dx12orwddm2,
      -- Display
      nodedis.node_display_dimensions as node_display_dimensions,
      nodedis.max_display_res_y as max_display_res_y,
      nodedis.node_display_size_in_inches,
      nodedis.max_display_size_in_inches,
      nodedis.node_display_count as node_display_count,
      -- BIOS &amp; TPM
      case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
      case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
      
      case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
      nh.tpm_specification as machine_tpm_specifications,
      case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
      -- Windows 11 compatibility
      -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
      -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
      
      -- Machine location
      loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
      loc_stats.country as machine_location_country,
      loc_stats.state as machine_location_state,
      loc_stats.city as machine_location_city

    from
      tnt_config.policynode pn 
      join tnt_config.node nde on (nde.id = pn.id)
      left outer join tnt_config.os os on (os.id = nde.os_id)
      left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
      left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
      left outer join node_ram noderam on (noderam.node_id = pn.id)
      left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
      left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
      left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
      left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
      left outer join (
        select
          loc_stats.node_id as node_id,
          first(loc_stats.country) as country,
          first(loc_stats.state) as state,
          first(loc_stats.city) as city
        from
          tnt_audit.summaryreport_machine_location_stats loc_stats, 
          -- lwl_rollup.sr_machine_location_stats_da loc_stats,
          (	select
              loc_stats.node_id as node_id,
              max(loc_stats.start_date) as start_date,
              max(loc_stats.end_date) as end_date
            from 
              tnt_audit.summaryreport_machine_location_stats loc_stats
              -- lwl_rollup.sr_machine_location_stats_da loc_stats
            group by
              loc_stats.node_id
          ) latest_loc_stats 
        where
          loc_stats.node_id = latest_loc_stats.node_id
          and loc_stats.start_date = latest_loc_stats.start_date
          and loc_stats.end_date = latest_loc_stats.end_date
          and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
        group by
          loc_stats.node_id
      ) loc_stats on (loc_stats.node_id = pn.id)

      
    where
      (pn.delete_time is null) -- Machine has not been deleted
      and (nde.delete_time is null) -- Machine has not been deleted
      and (nde.ihostversion is not null) -- Machine has a CID Key installed
      and (nde.certificate is not null) -- Machine has a valid certificate
      and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
      and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
      and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
      and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
      and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
            and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
      and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
      -- Machine group filter
      and ('%' = ? or pn.id in 
        (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
          where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
      
    order by
      lower(pn.name) asc nulls last
    ) s
  ) s

group by 
  s.machine_tpm_specifications

order by 
  machine_count desc

limit 5
;
]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Win10OrEarlierByRAMGroupsBreakdown" id="16738">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_tpm_specifications</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_tpm_specifications</text-property>
                    <text-property name="heading">machine_tpm_specifications</text-property>
                </structure>
                <structure>
                    <property name="columnName">unsupported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">unsupported_machine_count</text-property>
                    <text-property name="heading">unsupported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">supported_machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">supported_machine_count</text-property>
                    <text-property name="heading">supported_machine_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_tpm_specifications</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">unsupported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">supported_machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_tpm_specifications</property>
                    <property name="nativeName">machine_tpm_specifications</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">unsupported_machine_count</property>
                    <property name="nativeName">unsupported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">supported_machine_count</property>
                    <property name="nativeName">supported_machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByTPM
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByTPM.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    -- and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
    -- 	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    -- and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = '%' or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like '%')))
    
  order by
    lower(pn.name) asc nulls last
),

status_sql as (
  select 
  s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 64.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label,

  case
    when cpu_brand = 'Intel' then
      case
        -- Intel Atom processors
        when cpu_sub_brand = 'Atom' and
          (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
            cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
            cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
          then 'Y'

        -- Intel Celeron processors
        when cpu_sub_brand = 'Celeron' then
          case
            when cpu_sub_brand_modifier = 'G' and
              (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                cpu_sku = '5925')
              then 'Y'
            when cpu_sub_brand_modifier = 'J' and
              (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
              then 'Y'
            when cpu_sub_brand_modifier = 'N' and
              (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                cpu_sku = '6210' or cpu_sku = '6211')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
              then 'Y'
            else 'N'
          end

        -- Intel Core processors
        when cpu_sub_brand = 'Core' then
          case
            when cpu_sub_brand_modifier ilike 'Ultra%'
              then 'Y'
            when cpu_generation >= 8 
              then 'Y'
            else 'N'
          end

        -- Intel Pentium processors
        when cpu_sub_brand = 'Pentium' then
          case
            when cpu_sub_brand_modifier = 'Gold' and
              (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
              then 'Y'
            when cpu_sub_brand_modifier = 'Silver' and
              (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                cpu_sku = 'N6000' or cpu_sku = 'N6005')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
              then 'Y'
            else 'N'
          end

        -- Intel Xeon processors
        when cpu_sub_brand = 'Xeon' then
          case
            when cpu_sub_brand_modifier = 'Bronze' and 
              (cpu_model_number = '3104' or cpu_model_number = '3106' or 
              cpu_model_number = '3204' or cpu_model_number = '3206R')
              then 'Y'

            when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
              case 
                when cpu_sku_level = 4 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                        cpu_sku = '15' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '10' or cpu_sku = '16')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end

            when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
              case
                when cpu_sku_level = 5 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 6 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                        cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                        cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                        cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                        cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                        cpu_sku = '42')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end
            when cpu_sub_brand_modifier = 'Platinum' then
              case
                when cpu_sku_level = 8 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                        cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                        cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                        cpu_sku = '80' or cpu_sku = '90')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 9 then
                  case
                    when cpu_generation = 2 and
                      (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                      then 'Y'
                    else 'N'
                  end
                else 'N'
              end
            when cpu_sub_brand_modifier = 'D' and
              (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
              then 'Y'
            when cpu_sub_brand_modifier = 'E' and
              (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                cpu_model_number = 'E-2288G')
              then 'Y'
            when cpu_sub_brand_modifier = 'W' and
              (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
              then 'Y'
            when cpu_sub_brand_modifier = 'W3' and
              (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
              then 'Y'
            when cpu_sub_brand_modifier = 'W5' and
              (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                cpu_model_number = 'W5-3435X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W7' and
              (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                cpu_model_number = 'W7-3465X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W9' and
              (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
              then 'Y'
            else 'N'
          end -- Xeon's cpu_sub_brand_modifier
        else 'N'
      end -- Intel's cpu_sub_brand

    -- AMD processors
    when cpu_brand = 'AMD' then
      case
        -- -- AMD EPYC processors
        -- when cpu_sub_brand = 'EPYC' and
        --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
        --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
        --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
        --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
        --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
        --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
        --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
        --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
        --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
        --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
        --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
        --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
        --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
        --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
        --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
        --   then 'Y'

        -- AMD Ryzen processors
        when cpu_sub_brand = 'Ryzen' then
          case
            when cpu_sub_brand_modifier = '3' and
              (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                cpu_model_number = '5300U' or cpu_model_number = '5400U')
              then 'Y'
            when cpu_sub_brand_modifier = '3 PRO' and
              (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
              then 'Y'
            when cpu_sub_brand_modifier = '5' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                cpu_model_number = '5600U' or cpu_model_number = '5600X')
              then 'Y'
            when cpu_sub_brand_modifier = '5 PRO' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                cpu_model_number = '5750GE')
              then 'Y'
            when cpu_sub_brand_modifier = '7' and
              (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                cpu_model_number = '7840S' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '7 PRO' and
              (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '9' and
              (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
              then 'Y'
            when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper' and
              (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                cpu_model_number = '3990X')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper PRO' and
              (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                cpu_model_number = '3995WX')
              then 'Y'
            else 'N'
          end -- AMD Ryzen's cpu_sub_brand_modifier
        else -- Unsupported AMD cpu_sub_brand
          'N'
      end
    else -- Unsupported cpu_brand
      'N'
  end as cpu_support_status

  from base_sql s
)

select
  s.machine_tpm_specifications,
  count(distinct case when s.machine_tpm_specifications not ilike '2.%' then s.node_id end) as unsupported_machine_count,
  count(distinct case when s.machine_tpm_specifications ilike '2.%' then s.node_id end) as supported_machine_count,
  count(distinct s.node_id) as machine_count
from (
  select
    s.*,
    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (coalesce(node_disk0_c_free_gb, node_total_disk_free_gb) < 20.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_inplace_upgrade_label,

    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (node_disk0_c_free_gb < 64.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_image_upgrade_label,

    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- -- AMD EPYC processors
          -- when cpu_sub_brand = 'EPYC' and
          --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
          --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
          --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
          --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
          --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
          --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
          --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
          --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
          --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
          --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
          --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
          --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
          --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
          --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
          --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
          --   then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5300U' or cpu_model_number = '5400U')
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                  cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                  cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                  cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                  cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                  cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                  cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                  cpu_model_number = '5600U' or cpu_model_number = '5600X')
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                  cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                  cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                  cpu_model_number = '5750GE')
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                  cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                  cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                  cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                  cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                  cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                  cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                  cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                  cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                  cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                  cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                  cpu_model_number = '3995WX')
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from (
    select
      pn.id as node_id,
      pn.name as machine_name,
      nde.fqmn as machine_fqmn,
      nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

      -- Machine hardware make, model, and chassis type
      nh.machine_make as machine_make,
      nh.machine_model as machine_model,
      nde.hwtype as machine_chassis_type,

      -- OS
      os.version as node_os_version,
      replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
      os.buildversion as os_build_version,

      -- CPU
      nodecpu.node_cpu_model as node_cpu_model,
      nodecpu.node_cpu_short_models as node_cpu_short_models,
      round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
      trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
      trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
      nodecpu.cpu_sku_level as cpu_sku_level,
      -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
      nodecpu.cpu_generation as cpu_generation,
      trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
      nodecpu.node_per_cpu_cores,
      nodecpu.node_cpu_cores,
      nodecpu.node_cpu_bitwidth,
      -- RAM
      noderam.node_ram_allocated_gb as node_ram_allocated_gb,
      nh.ram_alloc_gb,
      -- Disk storage
      nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
      nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
      nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
      nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
      nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
      nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

      -- GPU
      nodegpu.node_gpu_model as node_gpu_model,
      nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
      -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
      nodegpu.node_gpu_count as node_gpu_count,
      nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
      nodegpu.node_gpu_color_depth,
      os.dx12orwddm2 as os_dx12orwddm2,
      -- Display
      nodedis.node_display_dimensions as node_display_dimensions,
      nodedis.max_display_res_y as max_display_res_y,
      nodedis.node_display_size_in_inches,
      nodedis.max_display_size_in_inches,
      nodedis.node_display_count as node_display_count,
      -- BIOS &amp; TPM
      case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
      case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
      
      case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
      nh.tpm_specification as machine_tpm_specifications,
      case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
      -- Windows 11 compatibility
      -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
      -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
      
      -- Machine location
      loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
      loc_stats.country as machine_location_country,
      loc_stats.state as machine_location_state,
      loc_stats.city as machine_location_city

    from
      tnt_config.policynode pn 
      join tnt_config.node nde on (nde.id = pn.id)
      left outer join tnt_config.os os on (os.id = nde.os_id)
      left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
      left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
      left outer join node_ram noderam on (noderam.node_id = pn.id)
      left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
      left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
      left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
      left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
      left outer join (
        select
          loc_stats.node_id as node_id,
          first(loc_stats.country) as country,
          first(loc_stats.state) as state,
          first(loc_stats.city) as city
        from
          tnt_audit.summaryreport_machine_location_stats loc_stats, 
          -- lwl_rollup.sr_machine_location_stats_da loc_stats,
          (	select
              loc_stats.node_id as node_id,
              max(loc_stats.start_date) as start_date,
              max(loc_stats.end_date) as end_date
            from 
              tnt_audit.summaryreport_machine_location_stats loc_stats
              -- lwl_rollup.sr_machine_location_stats_da loc_stats
            group by
              loc_stats.node_id
          ) latest_loc_stats 
        where
          loc_stats.node_id = latest_loc_stats.node_id
          and loc_stats.start_date = latest_loc_stats.start_date
          and loc_stats.end_date = latest_loc_stats.end_date
          and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
        group by
          loc_stats.node_id
      ) loc_stats on (loc_stats.node_id = pn.id)

      
    where
      (pn.delete_time is null) -- Machine has not been deleted
      and (nde.delete_time is null) -- Machine has not been deleted
      and (nde.ihostversion is not null) -- Machine has a CID Key installed
      and (nde.certificate is not null) -- Machine has a valid certificate
      and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
      and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
      and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
      and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
      and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
            and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
      and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
      -- Machine group filter
      and ('%' = ? or pn.id in 
        (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
          where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
      
    order by
      lower(pn.name) asc nulls last
    ) s
  ) s

group by 
  s.machine_tpm_specifications

order by 
  machine_count desc

limit 5
;
]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Win10OrEarlierByMachineModelBreakdown" id="16739">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_model</text-property>
                    <text-property name="heading">machine_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_model</property>
                    <property name="nativeName">machine_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByStatus
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByStatus.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    -- and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
    -- 	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    -- and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = '%' or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like '%')))
    
  order by
    lower(pn.name) asc nulls last
),

status_sql as (
  select 
  s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 64.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label,

  case
    when cpu_brand = 'Intel' then
      case
        -- Intel Atom processors
        when cpu_sub_brand = 'Atom' and
          (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
            cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
            cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
          then 'Y'

        -- Intel Celeron processors
        when cpu_sub_brand = 'Celeron' then
          case
            when cpu_sub_brand_modifier = 'G' and
              (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                cpu_sku = '5925')
              then 'Y'
            when cpu_sub_brand_modifier = 'J' and
              (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
              then 'Y'
            when cpu_sub_brand_modifier = 'N' and
              (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                cpu_sku = '6210' or cpu_sku = '6211')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
              then 'Y'
            else 'N'
          end

        -- Intel Core processors
        when cpu_sub_brand = 'Core' then
          case
            when cpu_sub_brand_modifier ilike 'Ultra%'
              then 'Y'
            when cpu_generation >= 8 
              then 'Y'
            else 'N'
          end

        -- Intel Pentium processors
        when cpu_sub_brand = 'Pentium' then
          case
            when cpu_sub_brand_modifier = 'Gold' and
              (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
              then 'Y'
            when cpu_sub_brand_modifier = 'Silver' and
              (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                cpu_sku = 'N6000' or cpu_sku = 'N6005')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
              then 'Y'
            else 'N'
          end

        -- Intel Xeon processors
        when cpu_sub_brand = 'Xeon' then
          case
            when cpu_sub_brand_modifier = 'Bronze' and 
              (cpu_model_number = '3104' or cpu_model_number = '3106' or 
              cpu_model_number = '3204' or cpu_model_number = '3206R')
              then 'Y'

            when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
              case 
                when cpu_sku_level = 4 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                        cpu_sku = '15' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '10' or cpu_sku = '16')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end

            when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
              case
                when cpu_sku_level = 5 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 6 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                        cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                        cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                        cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                        cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                        cpu_sku = '42')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end
            when cpu_sub_brand_modifier = 'Platinum' then
              case
                when cpu_sku_level = 8 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                        cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                        cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                        cpu_sku = '80' or cpu_sku = '90')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 9 then
                  case
                    when cpu_generation = 2 and
                      (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                      then 'Y'
                    else 'N'
                  end
                else 'N'
              end
            when cpu_sub_brand_modifier = 'D' and
              (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
              then 'Y'
            when cpu_sub_brand_modifier = 'E' and
              (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                cpu_model_number = 'E-2288G')
              then 'Y'
            when cpu_sub_brand_modifier = 'W' and
              (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
              then 'Y'
            when cpu_sub_brand_modifier = 'W3' and
              (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
              then 'Y'
            when cpu_sub_brand_modifier = 'W5' and
              (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                cpu_model_number = 'W5-3435X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W7' and
              (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                cpu_model_number = 'W7-3465X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W9' and
              (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
              then 'Y'
            else 'N'
          end -- Xeon's cpu_sub_brand_modifier
        else 'N'
      end -- Intel's cpu_sub_brand

    -- AMD processors
    when cpu_brand = 'AMD' then
      case
        -- -- AMD EPYC processors
        -- when cpu_sub_brand = 'EPYC' and
        --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
        --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
        --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
        --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
        --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
        --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
        --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
        --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
        --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
        --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
        --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
        --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
        --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
        --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
        --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
        --   then 'Y'

        -- AMD Ryzen processors
        when cpu_sub_brand = 'Ryzen' then
          case
            when cpu_sub_brand_modifier = '3' and
              (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                cpu_model_number = '5300U' or cpu_model_number = '5400U')
              then 'Y'
            when cpu_sub_brand_modifier = '3 PRO' and
              (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
              then 'Y'
            when cpu_sub_brand_modifier = '5' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                cpu_model_number = '5600U' or cpu_model_number = '5600X')
              then 'Y'
            when cpu_sub_brand_modifier = '5 PRO' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                cpu_model_number = '5750GE')
              then 'Y'
            when cpu_sub_brand_modifier = '7' and
              (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                cpu_model_number = '7840S' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '7 PRO' and
              (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '9' and
              (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
              then 'Y'
            when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper' and
              (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                cpu_model_number = '3990X')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper PRO' and
              (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                cpu_model_number = '3995WX')
              then 'Y'
            else 'N'
          end -- AMD Ryzen's cpu_sub_brand_modifier
        else -- Unsupported AMD cpu_sub_brand
          'N'
      end
    else -- Unsupported cpu_brand
      'N'
  end as cpu_support_status

  from base_sql s
),

inplace_upgrade_status as (
  select
    s.*,
    case
      when win11_inplace_upgrade_label = 'Unsupported' then 'No'
      when win11_inplace_upgrade_label = 'Partial' then 'Maybe'
      when win11_inplace_upgrade_label = 'Supported' then 'Yes'
      else null
    end as inplace_upgrade_status
  from status_sql s
),

by_os_edition as (
  select
    split_part(s.node_os_desc, 'Windows ', 2) as node_os_desc,
    count(distinct case when win11_inplace_upgrade_label = 'Unsupported' then s.node_id end) as unsupported_machine_count,
    count(distinct case when win11_inplace_upgrade_label = 'Partial' then s.node_id end) as partial_machine_count,
    count(distinct case when win11_inplace_upgrade_label = 'Supported' then s.node_id end) as supported_machine_count,
    count(distinct s.node_id)
  from status_sql s
  group by s.node_os_desc
  order by count(distinct s.node_id) desc
  limit 5
)

select
  s.machine_model,
  count(distinct s.node_id) as machine_count

from (
  select 
    s.*,
    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (coalesce(node_disk0_c_free_gb, node_total_disk_free_gb) < 20.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_inplace_upgrade_label,

    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (node_disk0_c_free_gb < 64.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_image_upgrade_label,

    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- -- AMD EPYC processors
          -- when cpu_sub_brand = 'EPYC' and
          --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
          --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
          --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
          --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
          --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
          --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
          --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
          --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
          --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
          --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
          --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
          --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
          --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
          --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
          --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
          --   then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5300U' or cpu_model_number = '5400U')
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                  cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                  cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                  cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                  cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                  cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                  cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                  cpu_model_number = '5600U' or cpu_model_number = '5600X')
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                  cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                  cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                  cpu_model_number = '5750GE')
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                  cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                  cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                  cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                  cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                  cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                  cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                  cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                  cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                  cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                  cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                  cpu_model_number = '3995WX')
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from (
    select
      pn.id as node_id,
      pn.name as machine_name,
      nde.fqmn as machine_fqmn,
      nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

      -- Machine hardware make, model, and chassis type
      nh.machine_make as machine_make,
      nh.machine_model as machine_model,
      nde.hwtype as machine_chassis_type,

      -- OS
      os.version as node_os_version,
      replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
      os.buildversion as os_build_version,

      -- CPU
      nodecpu.node_cpu_model as node_cpu_model,
      nodecpu.node_cpu_short_models as node_cpu_short_models,
      round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
      trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
      trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
      nodecpu.cpu_sku_level as cpu_sku_level,
      -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
      nodecpu.cpu_generation as cpu_generation,
      trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
      nodecpu.node_per_cpu_cores,
      nodecpu.node_cpu_cores,
      nodecpu.node_cpu_bitwidth,
      -- RAM
      noderam.node_ram_allocated_gb as node_ram_allocated_gb,
      nh.ram_alloc_gb,
      -- Disk storage
      nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
      nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
      nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
      nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
      nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
      nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

      -- GPU
      nodegpu.node_gpu_model as node_gpu_model,
      nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
      -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
      nodegpu.node_gpu_count as node_gpu_count,
      nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
      nodegpu.node_gpu_color_depth,
      os.dx12orwddm2 as os_dx12orwddm2,
      -- Display
      nodedis.node_display_dimensions as node_display_dimensions,
      nodedis.max_display_res_y as max_display_res_y,
      nodedis.node_display_size_in_inches,
      nodedis.max_display_size_in_inches,
      nodedis.node_display_count as node_display_count,
      -- BIOS &amp; TPM
      case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
      case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
      
      case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
      nh.tpm_specification as machine_tpm_specifications,
      case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
      -- Windows 11 compatibility
      -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
      -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
      
      -- Machine location
      loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
      loc_stats.country as machine_location_country,
      loc_stats.state as machine_location_state,
      loc_stats.city as machine_location_city

    from
      tnt_config.policynode pn 
      join tnt_config.node nde on (nde.id = pn.id)
      left outer join tnt_config.os os on (os.id = nde.os_id)
      left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
      left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
      left outer join node_ram noderam on (noderam.node_id = pn.id)
      left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
      left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
      left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
      left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
      left outer join (
        select
          loc_stats.node_id as node_id,
          first(loc_stats.country) as country,
          first(loc_stats.state) as state,
          first(loc_stats.city) as city
        from
          tnt_audit.summaryreport_machine_location_stats loc_stats, 
          -- lwl_rollup.sr_machine_location_stats_da loc_stats,
          (	select
              loc_stats.node_id as node_id,
              max(loc_stats.start_date) as start_date,
              max(loc_stats.end_date) as end_date
            from 
              tnt_audit.summaryreport_machine_location_stats loc_stats
              -- lwl_rollup.sr_machine_location_stats_da loc_stats
            group by
              loc_stats.node_id
          ) latest_loc_stats 
        where
          loc_stats.node_id = latest_loc_stats.node_id
          and loc_stats.start_date = latest_loc_stats.start_date
          and loc_stats.end_date = latest_loc_stats.end_date
          and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
        group by
          loc_stats.node_id
      ) loc_stats on (loc_stats.node_id = pn.id)

      
    where
      (pn.delete_time is null) -- Machine has not been deleted
      and (nde.delete_time is null) -- Machine has not been deleted
      and (nde.ihostversion is not null) -- Machine has a CID Key installed
      and (nde.certificate is not null) -- Machine has a valid certificate
      and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
      and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
      and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
      and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
      and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
         	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
      and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
      -- Machine group filter
      and ('%' = ? or pn.id in 
        (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
          where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
      
    order by
      lower(pn.name) asc nulls last
    ) s
  ) s

group by 
  s.machine_model

order by 
  machine_count desc

limit 5
;]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Win10OrEarlierByMachineMakeBreakdown" id="16740">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_make</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_make</text-property>
                    <text-property name="heading">machine_make</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_make</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_make</property>
                    <property name="nativeName">machine_make</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByStatus
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByStatus.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    -- and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
    -- 	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    -- and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = '%' or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like '%')))
    
  order by
    lower(pn.name) asc nulls last
),

status_sql as (
  select 
  s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 64.0)
        or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        or (max_display_res_y is not null and max_display_res_y < 720)
        or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        or max_display_res_y is null
        or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label,

  case
    when cpu_brand = 'Intel' then
      case
        -- Intel Atom processors
        when cpu_sub_brand = 'Atom' and
          (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
            cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
            cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
          then 'Y'

        -- Intel Celeron processors
        when cpu_sub_brand = 'Celeron' then
          case
            when cpu_sub_brand_modifier = 'G' and
              (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                cpu_sku = '5925')
              then 'Y'
            when cpu_sub_brand_modifier = 'J' and
              (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
              then 'Y'
            when cpu_sub_brand_modifier = 'N' and
              (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                cpu_sku = '6210' or cpu_sku = '6211')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
              then 'Y'
            else 'N'
          end

        -- Intel Core processors
        when cpu_sub_brand = 'Core' then
          case
            when cpu_sub_brand_modifier ilike 'Ultra%'
              then 'Y'
            when cpu_generation >= 8 
              then 'Y'
            else 'N'
          end

        -- Intel Pentium processors
        when cpu_sub_brand = 'Pentium' then
          case
            when cpu_sub_brand_modifier = 'Gold' and
              (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
              then 'Y'
            when cpu_sub_brand_modifier = 'Silver' and
              (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                cpu_sku = 'N6000' or cpu_sku = 'N6005')
              then 'Y'
            when cpu_sub_brand_modifier is null and
              (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
              then 'Y'
            else 'N'
          end

        -- Intel Xeon processors
        when cpu_sub_brand = 'Xeon' then
          case
            when cpu_sub_brand_modifier = 'Bronze' and 
              (cpu_model_number = '3104' or cpu_model_number = '3106' or 
              cpu_model_number = '3204' or cpu_model_number = '3206R')
              then 'Y'

            when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
              case 
                when cpu_sku_level = 4 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                        cpu_sku = '15' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '10' or cpu_sku = '16')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end

            when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
              case
                when cpu_sku_level = 5 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                        cpu_sku = '22')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 6 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                        cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                        cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                        cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                        cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                        cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                        cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                        cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                        cpu_sku = '42')
                      then 'Y'
                    else 'N'
                  end
                else
                  'N'
              end
            when cpu_sub_brand_modifier = 'Platinum' then
              case
                when cpu_sku_level = 8 then
                  case
                    when cpu_generation = 1 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                        cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 2 and
                      (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                        cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 3 and
                      (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                        cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                      then 'Y'
                    when cpu_generation = 4 and
                      (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                        cpu_sku = '80' or cpu_sku = '90')
                      then 'Y'
                    else 'N'
                  end
                when cpu_sku_level = 9 then
                  case
                    when cpu_generation = 2 and
                      (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                      then 'Y'
                    else 'N'
                  end
                else 'N'
              end
            when cpu_sub_brand_modifier = 'D' and
              (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
              then 'Y'
            when cpu_sub_brand_modifier = 'E' and
              (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                cpu_model_number = 'E-2288G')
              then 'Y'
            when cpu_sub_brand_modifier = 'W' and
              (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
              then 'Y'
            when cpu_sub_brand_modifier = 'W3' and
              (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
              then 'Y'
            when cpu_sub_brand_modifier = 'W5' and
              (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                cpu_model_number = 'W5-3435X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W7' and
              (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                cpu_model_number = 'W7-3465X')
              then 'Y'
            when cpu_sub_brand_modifier = 'W9' and
              (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
              then 'Y'
            else 'N'
          end -- Xeon's cpu_sub_brand_modifier
        else 'N'
      end -- Intel's cpu_sub_brand

    -- AMD processors
    when cpu_brand = 'AMD' then
      case
        -- -- AMD EPYC processors
        -- when cpu_sub_brand = 'EPYC' and
        --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
        --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
        --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
        --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
        --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
        --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
        --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
        --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
        --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
        --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
        --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
        --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
        --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
        --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
        --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
        --   then 'Y'

        -- AMD Ryzen processors
        when cpu_sub_brand = 'Ryzen' then
          case
            when cpu_sub_brand_modifier = '3' and
              (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                cpu_model_number = '5300U' or cpu_model_number = '5400U')
              then 'Y'
            when cpu_sub_brand_modifier = '3 PRO' and
              (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
              then 'Y'
            when cpu_sub_brand_modifier = '5' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                cpu_model_number = '5600U' or cpu_model_number = '5600X')
              then 'Y'
            when cpu_sub_brand_modifier = '5 PRO' and
              (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                cpu_model_number = '5750GE')
              then 'Y'
            when cpu_sub_brand_modifier = '7' and
              (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                cpu_model_number = '7840S' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '7 PRO' and
              (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
              then 'Y'
            when cpu_sub_brand_modifier = '9' and
              (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
              then 'Y'
            when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper' and
              (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                cpu_model_number = '3990X')
              then 'Y'
            when cpu_sub_brand_modifier = 'Threadripper PRO' and
              (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                cpu_model_number = '3995WX')
              then 'Y'
            else 'N'
          end -- AMD Ryzen's cpu_sub_brand_modifier
        else -- Unsupported AMD cpu_sub_brand
          'N'
      end
    else -- Unsupported cpu_brand
      'N'
  end as cpu_support_status

  from base_sql s
),

inplace_upgrade_status as (
  select
    s.*,
    case
      when win11_inplace_upgrade_label = 'Unsupported' then 'No'
      when win11_inplace_upgrade_label = 'Partial' then 'Maybe'
      when win11_inplace_upgrade_label = 'Supported' then 'Yes'
      else null
    end as inplace_upgrade_status
  from status_sql s
),

by_os_edition as (
  select
    split_part(s.node_os_desc, 'Windows ', 2) as node_os_desc,
    count(distinct case when win11_inplace_upgrade_label = 'Unsupported' then s.node_id end) as unsupported_machine_count,
    count(distinct case when win11_inplace_upgrade_label = 'Partial' then s.node_id end) as partial_machine_count,
    count(distinct case when win11_inplace_upgrade_label = 'Supported' then s.node_id end) as supported_machine_count,
    count(distinct s.node_id)
  from status_sql s
  group by s.node_os_desc
  order by count(distinct s.node_id) desc
  limit 5
)

select
  s.machine_make,
  count(distinct s.node_id) as machine_count

from (
  select 
    s.*,
    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (coalesce(node_disk0_c_free_gb, node_total_disk_free_gb) < 20.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_inplace_upgrade_label,

    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (node_disk0_c_free_gb < 64.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_image_upgrade_label,

    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- -- AMD EPYC processors
          -- when cpu_sub_brand = 'EPYC' and
          --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
          --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
          --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
          --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
          --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
          --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
          --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
          --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
          --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
          --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
          --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
          --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
          --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
          --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
          --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
          --   then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5300U' or cpu_model_number = '5400U')
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                  cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                  cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                  cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                  cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                  cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                  cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                  cpu_model_number = '5600U' or cpu_model_number = '5600X')
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                  cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                  cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                  cpu_model_number = '5750GE')
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                  cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                  cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                  cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                  cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                  cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                  cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                  cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                  cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                  cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                  cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                  cpu_model_number = '3995WX')
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from (
    select
      pn.id as node_id,
      pn.name as machine_name,
      nde.fqmn as machine_fqmn,
      nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

      -- Machine hardware make, model, and chassis type
      nh.machine_make as machine_make,
      nh.machine_model as machine_model,
      nde.hwtype as machine_chassis_type,

      -- OS
      os.version as node_os_version,
      replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
      os.buildversion as os_build_version,

      -- CPU
      nodecpu.node_cpu_model as node_cpu_model,
      nodecpu.node_cpu_short_models as node_cpu_short_models,
      round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
      trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
      trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
      trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
      nodecpu.cpu_sku_level as cpu_sku_level,
      -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
      nodecpu.cpu_generation as cpu_generation,
      trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
      nodecpu.node_per_cpu_cores,
      nodecpu.node_cpu_cores,
      nodecpu.node_cpu_bitwidth,
      -- RAM
      noderam.node_ram_allocated_gb as node_ram_allocated_gb,
      nh.ram_alloc_gb,
      -- Disk storage
      nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
      nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
      nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
      nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
      nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
      nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

      -- GPU
      nodegpu.node_gpu_model as node_gpu_model,
      nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
      -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
      nodegpu.node_gpu_count as node_gpu_count,
      nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
      nodegpu.node_gpu_color_depth,
      os.dx12orwddm2 as os_dx12orwddm2,
      -- Display
      nodedis.node_display_dimensions as node_display_dimensions,
      nodedis.max_display_res_y as max_display_res_y,
      nodedis.node_display_size_in_inches,
      nodedis.max_display_size_in_inches,
      nodedis.node_display_count as node_display_count,
      -- BIOS &amp; TPM
      case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
      case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
      
      case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
      nh.tpm_specification as machine_tpm_specifications,
      case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
      -- Windows 11 compatibility
      -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
      -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
      
      -- Machine location
      loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
      loc_stats.country as machine_location_country,
      loc_stats.state as machine_location_state,
      loc_stats.city as machine_location_city

    from
      tnt_config.policynode pn 
      join tnt_config.node nde on (nde.id = pn.id)
      left outer join tnt_config.os os on (os.id = nde.os_id)
      left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
      left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
      left outer join node_ram noderam on (noderam.node_id = pn.id)
      left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
      left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
      left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
      left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
      left outer join (
        select
          loc_stats.node_id as node_id,
          first(loc_stats.country) as country,
          first(loc_stats.state) as state,
          first(loc_stats.city) as city
        from
          tnt_audit.summaryreport_machine_location_stats loc_stats, 
          -- lwl_rollup.sr_machine_location_stats_da loc_stats,
          (	select
              loc_stats.node_id as node_id,
              max(loc_stats.start_date) as start_date,
              max(loc_stats.end_date) as end_date
            from 
              tnt_audit.summaryreport_machine_location_stats loc_stats
              -- lwl_rollup.sr_machine_location_stats_da loc_stats
            group by
              loc_stats.node_id
          ) latest_loc_stats 
        where
          loc_stats.node_id = latest_loc_stats.node_id
          and loc_stats.start_date = latest_loc_stats.start_date
          and loc_stats.end_date = latest_loc_stats.end_date
          and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
        group by
          loc_stats.node_id
      ) loc_stats on (loc_stats.node_id = pn.id)

      
    where
      (pn.delete_time is null) -- Machine has not been deleted
      and (nde.delete_time is null) -- Machine has not been deleted
      and (nde.ihostversion is not null) -- Machine has a CID Key installed
      and (nde.certificate is not null) -- Machine has a valid certificate
      and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
      and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
      and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
      and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
      and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
         	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
      and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
      -- Machine group filter
      and ('%' = ? or pn.id in 
        (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
          where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
      
    order by
      lower(pn.name) asc nulls last
    ) s
  ) s

group by 
  s.machine_make

order by 
  machine_count desc

limit 5
;]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="Windows10MachineBreakdownByCPUClockSpeed" id="17037">
            <property name="nullsOrdering">nulls lowest</property>
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">node_id</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_id</text-property>
                    <text-property name="heading">node_id</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_name</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_name</text-property>
                    <text-property name="heading">machine_name</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_fqmn</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_fqmn</text-property>
                    <text-property name="heading">machine_fqmn</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_last_contact</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_last_contact</text-property>
                    <text-property name="heading">machine_last_contact</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_make</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_make</text-property>
                    <text-property name="heading">machine_make</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_model</text-property>
                    <text-property name="heading">machine_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_chassis_type</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_chassis_type</text-property>
                    <text-property name="heading">machine_chassis_type</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_version</text-property>
                    <text-property name="heading">node_os_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_os_desc</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_os_desc</text-property>
                    <text-property name="heading">node_os_desc</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_build_version</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">os_build_version</text-property>
                    <text-property name="heading">os_build_version</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_model</text-property>
                    <text-property name="heading">node_cpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_short_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_cpu_short_models</text-property>
                    <text-property name="heading">node_cpu_short_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_speed_ghz</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_speed_ghz</text-property>
                    <text-property name="heading">node_cpu_speed_ghz</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_brand</text-property>
                    <text-property name="heading">cpu_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand</text-property>
                    <text-property name="heading">cpu_sub_brand</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sub_brand_modifier</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                    <text-property name="heading">cpu_sub_brand_modifier</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_model_number</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_model_number</text-property>
                    <text-property name="heading">cpu_model_number</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sku_level</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">cpu_sku_level</text-property>
                    <text-property name="heading">cpu_sku_level</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_generation</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">cpu_generation</text-property>
                    <text-property name="heading">cpu_generation</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_sku</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_sku</text-property>
                    <text-property name="heading">cpu_sku</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_per_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_per_cpu_cores</text-property>
                    <text-property name="heading">node_per_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_cores</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_cores</text-property>
                    <text-property name="heading">node_cpu_cores</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_cpu_bitwidth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_cpu_bitwidth</text-property>
                    <text-property name="heading">node_cpu_bitwidth</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_ram_allocated_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_ram_allocated_gb</text-property>
                    <text-property name="heading">node_ram_allocated_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">ram_alloc_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">ram_alloc_gb</text-property>
                    <text-property name="heading">ram_alloc_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_disk0_c_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_disk0_c_size_gb</text-property>
                    <text-property name="heading">node_disk0_c_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_disk0_c_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_disk0_c_used_gb</text-property>
                    <text-property name="heading">node_disk0_c_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_disk0_c_free_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_disk0_c_free_gb</text-property>
                    <text-property name="heading">node_disk0_c_free_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_size_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_size_gb</text-property>
                    <text-property name="heading">node_total_disk_size_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_used_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_used_gb</text-property>
                    <text-property name="heading">node_total_disk_used_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_total_disk_free_gb</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_total_disk_free_gb</text-property>
                    <text-property name="heading">node_total_disk_free_gb</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_gpu_model</text-property>
                    <text-property name="heading">node_gpu_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_models</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_discrete_gpu_models</text-property>
                    <text-property name="heading">node_discrete_gpu_models</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_count</text-property>
                    <text-property name="heading">node_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_discrete_gpu_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_discrete_gpu_count</text-property>
                    <text-property name="heading">node_discrete_gpu_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_gpu_color_depth</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_gpu_color_depth</text-property>
                    <text-property name="heading">node_gpu_color_depth</text-property>
                </structure>
                <structure>
                    <property name="columnName">os_dx12orwddm2</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">os_dx12orwddm2</text-property>
                    <text-property name="heading">os_dx12orwddm2</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_dimensions</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_dimensions</text-property>
                    <text-property name="heading">node_display_dimensions</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_res_y</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_res_y</text-property>
                    <text-property name="heading">max_display_res_y</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_size_in_inches</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">node_display_size_in_inches</text-property>
                    <text-property name="heading">node_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">max_display_size_in_inches</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">max_display_size_in_inches</text-property>
                    <text-property name="heading">max_display_size_in_inches</text-property>
                </structure>
                <structure>
                    <property name="columnName">node_display_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">node_display_count</text-property>
                    <text-property name="heading">node_display_count</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_capable</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_capable</text-property>
                    <text-property name="heading">machine_bios_uefi_capable</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_bios_uefi_enabled</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                    <text-property name="heading">machine_bios_uefi_enabled</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_secure_boot</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_secure_boot</text-property>
                    <text-property name="heading">machine_secure_boot</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specifications</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_tpm_specifications</text-property>
                    <text-property name="heading">machine_tpm_specifications</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_tpm_specification</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_tpm_specification</text-property>
                    <text-property name="heading">machine_tpm_specification</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city_state_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city_state_country</text-property>
                    <text-property name="heading">machine_location_city_state_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_country</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_country</text-property>
                    <text-property name="heading">machine_location_country</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_state</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_state</text-property>
                    <text-property name="heading">machine_location_state</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_location_city</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_location_city</text-property>
                    <text-property name="heading">machine_location_city</text-property>
                </structure>
                <structure>
                    <property name="columnName">cpu_support_status</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">cpu_support_status</text-property>
                    <text-property name="heading">cpu_support_status</text-property>
                </structure>
                <structure>
                    <property name="columnName">win11_inplace_upgrade_label</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                    <text-property name="heading">win11_inplace_upgrade_label</text-property>
                </structure>
                <structure>
                    <property name="columnName">win11_image_upgrade_label</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">win11_image_upgrade_label</text-property>
                    <text-property name="heading">win11_image_upgrade_label</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isOptional">false</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">node_id</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_name</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">3</property>
                        <property name="name">machine_fqmn</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">4</property>
                        <property name="name">machine_last_contact</property>
                        <property name="dataType">date-time</property>
                    </structure>
                    <structure>
                        <property name="position">5</property>
                        <property name="name">machine_make</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">6</property>
                        <property name="name">machine_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">7</property>
                        <property name="name">machine_chassis_type</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">8</property>
                        <property name="name">node_os_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">9</property>
                        <property name="name">node_os_desc</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">10</property>
                        <property name="name">os_build_version</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">11</property>
                        <property name="name">node_cpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">12</property>
                        <property name="name">node_cpu_short_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">13</property>
                        <property name="name">node_cpu_speed_ghz</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">14</property>
                        <property name="name">cpu_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">15</property>
                        <property name="name">cpu_sub_brand</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">16</property>
                        <property name="name">cpu_sub_brand_modifier</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">17</property>
                        <property name="name">cpu_model_number</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">18</property>
                        <property name="name">cpu_sku_level</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">19</property>
                        <property name="name">cpu_generation</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">20</property>
                        <property name="name">cpu_sku</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">21</property>
                        <property name="name">node_per_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">22</property>
                        <property name="name">node_cpu_cores</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">23</property>
                        <property name="name">node_cpu_bitwidth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">24</property>
                        <property name="name">node_ram_allocated_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">25</property>
                        <property name="name">ram_alloc_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">26</property>
                        <property name="name">node_disk0_c_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">27</property>
                        <property name="name">node_disk0_c_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">28</property>
                        <property name="name">node_disk0_c_free_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">29</property>
                        <property name="name">node_total_disk_size_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">30</property>
                        <property name="name">node_total_disk_used_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">31</property>
                        <property name="name">node_total_disk_free_gb</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">32</property>
                        <property name="name">node_gpu_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">33</property>
                        <property name="name">node_discrete_gpu_models</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">34</property>
                        <property name="name">node_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">35</property>
                        <property name="name">node_discrete_gpu_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">36</property>
                        <property name="name">node_gpu_color_depth</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">37</property>
                        <property name="name">os_dx12orwddm2</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">38</property>
                        <property name="name">node_display_dimensions</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">39</property>
                        <property name="name">max_display_res_y</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">40</property>
                        <property name="name">node_display_size_in_inches</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">41</property>
                        <property name="name">max_display_size_in_inches</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">42</property>
                        <property name="name">node_display_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                    <structure>
                        <property name="position">43</property>
                        <property name="name">machine_bios_uefi_capable</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">44</property>
                        <property name="name">machine_bios_uefi_enabled</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">45</property>
                        <property name="name">machine_secure_boot</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">46</property>
                        <property name="name">machine_tpm_specifications</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">47</property>
                        <property name="name">machine_tpm_specification</property>
                        <property name="dataType">integer</property>
                    </structure>
                    <structure>
                        <property name="position">48</property>
                        <property name="name">machine_location_city_state_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">49</property>
                        <property name="name">machine_location_country</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">50</property>
                        <property name="name">machine_location_state</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">51</property>
                        <property name="name">machine_location_city</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">52</property>
                        <property name="name">cpu_support_status</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">53</property>
                        <property name="name">win11_inplace_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">54</property>
                        <property name="name">win11_image_upgrade_label</property>
                        <property name="dataType">string</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">node_id</property>
                    <property name="nativeName">node_id</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_name</property>
                    <property name="nativeName">machine_name</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">3</property>
                    <property name="name">machine_fqmn</property>
                    <property name="nativeName">machine_fqmn</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">4</property>
                    <property name="name">machine_last_contact</property>
                    <property name="nativeName">machine_last_contact</property>
                    <property name="dataType">date-time</property>
                    <property name="nativeDataType">93</property>
                </structure>
                <structure>
                    <property name="position">5</property>
                    <property name="name">machine_make</property>
                    <property name="nativeName">machine_make</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">6</property>
                    <property name="name">machine_model</property>
                    <property name="nativeName">machine_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">7</property>
                    <property name="name">machine_chassis_type</property>
                    <property name="nativeName">machine_chassis_type</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">8</property>
                    <property name="name">node_os_version</property>
                    <property name="nativeName">node_os_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">9</property>
                    <property name="name">node_os_desc</property>
                    <property name="nativeName">node_os_desc</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">10</property>
                    <property name="name">os_build_version</property>
                    <property name="nativeName">os_build_version</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">11</property>
                    <property name="name">node_cpu_model</property>
                    <property name="nativeName">node_cpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">12</property>
                    <property name="name">node_cpu_short_models</property>
                    <property name="nativeName">node_cpu_short_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">13</property>
                    <property name="name">node_cpu_speed_ghz</property>
                    <property name="nativeName">node_cpu_speed_ghz</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">14</property>
                    <property name="name">cpu_brand</property>
                    <property name="nativeName">cpu_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">15</property>
                    <property name="name">cpu_sub_brand</property>
                    <property name="nativeName">cpu_sub_brand</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">16</property>
                    <property name="name">cpu_sub_brand_modifier</property>
                    <property name="nativeName">cpu_sub_brand_modifier</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">17</property>
                    <property name="name">cpu_model_number</property>
                    <property name="nativeName">cpu_model_number</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">18</property>
                    <property name="name">cpu_sku_level</property>
                    <property name="nativeName">cpu_sku_level</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">19</property>
                    <property name="name">cpu_generation</property>
                    <property name="nativeName">cpu_generation</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">20</property>
                    <property name="name">cpu_sku</property>
                    <property name="nativeName">cpu_sku</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">21</property>
                    <property name="name">node_per_cpu_cores</property>
                    <property name="nativeName">node_per_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">22</property>
                    <property name="name">node_cpu_cores</property>
                    <property name="nativeName">node_cpu_cores</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">23</property>
                    <property name="name">node_cpu_bitwidth</property>
                    <property name="nativeName">node_cpu_bitwidth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">24</property>
                    <property name="name">node_ram_allocated_gb</property>
                    <property name="nativeName">node_ram_allocated_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">25</property>
                    <property name="name">ram_alloc_gb</property>
                    <property name="nativeName">ram_alloc_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">26</property>
                    <property name="name">node_disk0_c_size_gb</property>
                    <property name="nativeName">node_disk0_c_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">27</property>
                    <property name="name">node_disk0_c_used_gb</property>
                    <property name="nativeName">node_disk0_c_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">28</property>
                    <property name="name">node_disk0_c_free_gb</property>
                    <property name="nativeName">node_disk0_c_free_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">29</property>
                    <property name="name">node_total_disk_size_gb</property>
                    <property name="nativeName">node_total_disk_size_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">30</property>
                    <property name="name">node_total_disk_used_gb</property>
                    <property name="nativeName">node_total_disk_used_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">31</property>
                    <property name="name">node_total_disk_free_gb</property>
                    <property name="nativeName">node_total_disk_free_gb</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">2</property>
                </structure>
                <structure>
                    <property name="position">32</property>
                    <property name="name">node_gpu_model</property>
                    <property name="nativeName">node_gpu_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">33</property>
                    <property name="name">node_discrete_gpu_models</property>
                    <property name="nativeName">node_discrete_gpu_models</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">34</property>
                    <property name="name">node_gpu_count</property>
                    <property name="nativeName">node_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">35</property>
                    <property name="name">node_discrete_gpu_count</property>
                    <property name="nativeName">node_discrete_gpu_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">36</property>
                    <property name="name">node_gpu_color_depth</property>
                    <property name="nativeName">node_gpu_color_depth</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">5</property>
                </structure>
                <structure>
                    <property name="position">37</property>
                    <property name="name">os_dx12orwddm2</property>
                    <property name="nativeName">os_dx12orwddm2</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">38</property>
                    <property name="name">node_display_dimensions</property>
                    <property name="nativeName">node_display_dimensions</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">39</property>
                    <property name="name">max_display_res_y</property>
                    <property name="nativeName">max_display_res_y</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">40</property>
                    <property name="name">node_display_size_in_inches</property>
                    <property name="nativeName">node_display_size_in_inches</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">41</property>
                    <property name="name">max_display_size_in_inches</property>
                    <property name="nativeName">max_display_size_in_inches</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">4</property>
                </structure>
                <structure>
                    <property name="position">42</property>
                    <property name="name">node_display_count</property>
                    <property name="nativeName">node_display_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
                <structure>
                    <property name="position">43</property>
                    <property name="name">machine_bios_uefi_capable</property>
                    <property name="nativeName">machine_bios_uefi_capable</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">44</property>
                    <property name="name">machine_bios_uefi_enabled</property>
                    <property name="nativeName">machine_bios_uefi_enabled</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">45</property>
                    <property name="name">machine_secure_boot</property>
                    <property name="nativeName">machine_secure_boot</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">46</property>
                    <property name="name">machine_tpm_specifications</property>
                    <property name="nativeName">machine_tpm_specifications</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">47</property>
                    <property name="name">machine_tpm_specification</property>
                    <property name="nativeName">machine_tpm_specification</property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">-7</property>
                </structure>
                <structure>
                    <property name="position">48</property>
                    <property name="name">machine_location_city_state_country</property>
                    <property name="nativeName">machine_location_city_state_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">49</property>
                    <property name="name">machine_location_country</property>
                    <property name="nativeName">machine_location_country</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">50</property>
                    <property name="name">machine_location_state</property>
                    <property name="nativeName">machine_location_state</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">51</property>
                    <property name="name">machine_location_city</property>
                    <property name="nativeName">machine_location_city</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">52</property>
                    <property name="name">cpu_support_status</property>
                    <property name="nativeName">cpu_support_status</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">53</property>
                    <property name="name">win11_inplace_upgrade_label</property>
                    <property name="nativeName">win11_inplace_upgrade_label</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">54</property>
                    <property name="name">win11_image_upgrade_label</property>
                    <property name="nativeName">win11_image_upgrade_label</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByStatus
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByStatus.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone 'America/New_York' as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
     	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = ? or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
    
  order by
    lower(pn.name) asc nulls last
),

base_with_cpu_support_sql as (
  select 
    s.*,
    -- case
    --   -- First check for incompatible hardware/software
    --   when (node_cpu_speed_ghz < 1.0)
    --       or (node_per_cpu_cores < 2)
    --       or (ram_alloc_gb < 4.0)
    --       or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
    --       or (node_disk0_c_free_gb < 20.0)
    --       or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
    --       or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
    --       or (max_display_res_y is not null and max_display_res_y < 720)
    --       or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
    --       or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
    --       or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
    --       or (machine_tpm_specification is not null and machine_tpm_specification is false)
    --     then 'Unsupported'
      
    --   -- Then check for partial/maybe support (when values are NULL)
    --   when node_cpu_bitwidth is null
    --       or node_gpu_color_depth is null
    --       or os_dx12orwddm2 is null
    --       or max_display_res_y is null
    --       or max_display_size_in_inches is null
    --       or machine_bios_uefi_capable is null
    --       or machine_secure_boot is null
    --       or machine_tpm_specification is null
    --     then 'Partial'
      
    --   -- Otherwise it's supported
    --   else 'Supported'
    -- end as win11_inplace_upgrade_label,

    -- case
    --   -- First check for incompatible hardware/software
    --   when (node_cpu_speed_ghz < 1.0)
    --       or (node_per_cpu_cores < 2)
    --       or (ram_alloc_gb < 4.0)
    --       or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
    --       or (node_disk0_c_free_gb < 64.0)
    --       or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
    --       or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
    --       or (max_display_res_y is not null and max_display_res_y < 720)
    --       or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
    --       or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
    --       or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
    --       or (machine_tpm_specification is not null and machine_tpm_specification is false)
    --     then 'Unsupported'
      
    --   -- Then check for partial/maybe support (when values are NULL)
    --   when node_cpu_bitwidth is null
    --       or node_gpu_color_depth is null
    --       or os_dx12orwddm2 is null
    --       or max_display_res_y is null
    --       or max_display_size_in_inches is null
    --       or machine_bios_uefi_capable is null
    --       or machine_secure_boot is null
    --       or machine_tpm_specification is null
    --     then 'Partial'
      
    --   -- Otherwise it's supported
    --   else 'Supported'
    -- end as win11_image_upgrade_label,

    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6305' or cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5305' or cpu_sku = '6305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- -- AMD EPYC processors
          -- when cpu_sub_brand = 'EPYC' and
          --   (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or 
          --     cpu_model_number = '7282' or cpu_model_number = '7302' or cpu_model_number = '7313' or
          --     cpu_model_number = '7343' or cpu_model_number = '7352' or cpu_model_number = '7402' or 
          --     cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or 
          --     cpu_model_number = '7453' or cpu_model_number = '7502' or cpu_model_number = '7513' or 
          --     cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or
          --     cpu_model_number = '7552' or cpu_model_number = '7642' or cpu_model_number = '7643' or 
          --     cpu_model_number = '7662' or cpu_model_number = '7663' or cpu_model_number = '7702' or
          --     cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
          --     cpu_model_number = '7232P' or cpu_model_number = '7302P' or cpu_model_number = '72F3' or
          --     cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
          --     cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
          --     cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
          --     cpu_model_number = '7702P' or cpu_model_number = '7713P' or cpu_model_number = '7F32' or
          --     cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12')
          --   then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5300U' or cpu_model_number = '5400U')
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U')
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '2500X' or 
                  cpu_model_number = '2600E' or cpu_model_number = '2600X' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3450U' or cpu_model_number = '3500' or 
                  cpu_model_number = '3500C' or cpu_model_number = '3500U' or cpu_model_number = '3550H' or 
                  cpu_model_number = '3580U' or cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or cpu_model_number = '4600U' or cpu_model_number = '4600GE' or 
                  cpu_model_number = '4600H' or cpu_model_number = '4600U' or cpu_model_number = '5300G' or
                  cpu_model_number = '5300GE' or cpu_model_number = '5500U' or cpu_model_number = '5600G' or 
                  cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or 
                  cpu_model_number = '5600U' or cpu_model_number = '5600X')
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '3400G' or 
                  cpu_model_number = '3400GE' or cpu_model_number = '3500U' or cpu_model_number = '4650G' or 
                  cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '5650G' or 
                  cpu_model_number = '5650GE' or cpu_model_number = '5650U' or cpu_model_number = '5750G' or 
                  cpu_model_number = '5750GE')
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '2700E' or 
                  cpu_model_number = '2700X' or cpu_model_number = '3700C' or cpu_model_number = '3700U' or 
                  cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or cpu_model_number = '4700G' or 
                  cpu_model_number = '4700GE' or cpu_model_number = '4700U' or cpu_model_number = '4800H' or 
                  cpu_model_number = '4800HS' or cpu_model_number = '4800U' or cpu_model_number = '5700G' or 
                  cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or 
                  cpu_model_number = '5800X' or cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or
                  cpu_model_number = '5825U' or cpu_model_number = '6800H' or cpu_model_number = '6800HS' or 
                  cpu_model_number = '6800U' or cpu_model_number = '6810U' or cpu_model_number = '7700' or
                  cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840U')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or 
                  cpu_model_number = '3950X' or cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX')
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and (cpu_model_number = '3900')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or 
                  cpu_model_number = '3995WX')
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from base_sql s
),

status_sql as (
  select
    s.*,
    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (node_disk0_c_free_gb < 20.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
          or (cpu_support_status = 'N')
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
          or (cpu_support_status is null)
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_inplace_upgrade_label,

    case
      -- First check for incompatible hardware/software
      when (node_cpu_speed_ghz < 1.0)
          or (node_per_cpu_cores < 2)
          or (ram_alloc_gb < 4.0)
          or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
          or (node_disk0_c_free_gb < 64.0)
          or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
          or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
          or (max_display_res_y is not null and max_display_res_y < 720)
          or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
          or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
          or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
          or (machine_tpm_specification is not null and machine_tpm_specification is false)
          or (cpu_support_status = 'N')
        then 'Unsupported'
      
      -- Then check for partial/maybe support (when values are NULL)
      when node_cpu_bitwidth is null
          or node_gpu_color_depth is null
          or os_dx12orwddm2 is null
          or max_display_res_y is null
          or max_display_size_in_inches is null
          or machine_bios_uefi_capable is null
          or machine_secure_boot is null
          or machine_tpm_specification is null
          or (cpu_support_status is null)
        then 'Partial'
      
      -- Otherwise it's supported
      else 'Supported'
    end as win11_image_upgrade_label

  from base_with_cpu_support_sql s
),

image_upgrade_machines as (
  select
    s.*
  from 
    status_sql s
  where
    win11_inplace_upgrade_label = 'Supported'
)

select * from image_upgrade_machines;]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>1</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>2</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>12</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="ByMachineMake" id="18050">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_make</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_make</text-property>
                    <text-property name="heading">machine_make</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">TimeZoneString</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_3</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">3</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_4</property>
                    <property name="paramName">ThresholdValue</property>
                    <property name="nativeName"></property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">8</property>
                    <property name="position">4</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_5</property>
                    <property name="nativeName"></property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                    <property name="position">5</property>
                    <expression name="defaultValue" type="javascript">vars["topN"];</expression>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_make</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_make</property>
                    <property name="nativeName">machine_make</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByStatus
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByStatus.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

-- Todo: Add 
-- Disk encryption providers, 
-- Cloud drives in use (OneDrive, Google Drive, AWS Drive), 
-- Top 10 Apps by user count,
-- Top 10 Apps by CPU, RAM, Disk Space

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone ? as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
     	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = ? or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
    -- Threshold value for machine having called back within last N days
    and (nde.last_report_seen_end_date >= (current_date - (interval '1 days' * ?))) -- Machine has called back within last 90 days
    
  order by
    lower(pn.name) asc nulls last
),

base_with_cpu_support_sql as (
  select 
    s.*,
    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE' or 
              cpu_model_number = 'x7211E' or cpu_model_number = 'x7213E' or 
              cpu_model_number = 'x7425E')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925' or cpu_sku = '6900')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5205U' or cpu_sku = '5305' or cpu_sku = '5305U' or cpu_sku = '5805' or 
                  cpu_sku = '6305' or cpu_sku = '6600' or cpu_sku = '7300' or cpu_sku = '7305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5400' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605' or 
                  cpu_sku = 'G7400' or cpu_sku = 'G7400E' or cpu_sku = 'G7400T' or cpu_sku = 'G7400TE')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- AMD Athlon processors
          when cpu_sub_brand = 'Athlon' and
            (cpu_model_number = '3000G' or cpu_model_number = '300GE' or cpu_model_number = '300U' or cpu_model_number = '320GE' or 
              cpu_model_number = '7120e' or cpu_model_number = '7120U' or cpu_model_number = '7220e' or cpu_model_number = '7220U' or 
              cpu_model_number = 'Gold 3150C' or cpu_model_number = 'Gold 3150G' or cpu_model_number = 'Gold 3150GE' or cpu_model_number = 'Gold 3150U' or 
              cpu_model_number = 'Gold PRO 3125GE' or cpu_model_number = 'Gold PRO 3150G' or cpu_model_number = 'Gold PRO 3150GE' or cpu_model_number = 'Gold PRO 4150GE' or 
              cpu_model_number = 'PRO 300GE' or cpu_model_number = 'PRO 300U' or cpu_model_number = 'PRO 3045B' or 
              cpu_model_number = 'Silver 3050C' or cpu_model_number = 'Silver 3050e' or cpu_model_number = 'Silver 3050GE' or cpu_model_number = 'Silver 3050U' 
              )
            then 'Y'

          -- AMD EPYC processors
          when cpu_sub_brand = 'EPYC' and
            (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or cpu_model_number = '7282' or 
              cpu_model_number = '7302' or cpu_model_number = '7313' or cpu_model_number = '7343' or cpu_model_number = '7352' or 
              cpu_model_number = '7402' or cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or cpu_model_number = '7453' or 
              cpu_model_number = '7502' or cpu_model_number = '7513' or cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or cpu_model_number = '7552' or 
              cpu_model_number = '7642' or cpu_model_number = '7643' or cpu_model_number = '7662' or cpu_model_number = '7663' or 
              cpu_model_number = '7702' or cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
              cpu_model_number = '7232P' or cpu_model_number = '72F3' or
              cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
              cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
              cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
              cpu_model_number = '7702P' or cpu_model_number = '7713P' or 
              cpu_model_number = '7F32' or cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12' or
              cpu_model_number = '8024P' or cpu_model_number = '8024PN' or
              cpu_model_number = '8124P' or cpu_model_number = '8124PN' or
              cpu_model_number = '8224P' or cpu_model_number = '8224PN' or
              cpu_model_number = '8324P' or cpu_model_number = '8324PN' or
              cpu_model_number = '8434P' or cpu_model_number = '8434PN' or
              cpu_model_number = '8534P' or cpu_model_number = '8534PN' or
              cpu_model_number = '9124' or 
              cpu_model_number = '9244' or cpu_model_number = '9254' or
              cpu_model_number = '9334' or cpu_model_number = '9354' or
              cpu_model_number = '9454' or 
              cpu_model_number = '9534' or cpu_model_number = '9554' or
              cpu_model_number = '9654' or cpu_model_number = '9654' or
              cpu_model_number = '9734' or cpu_model_number = '9754' or 
              cpu_model_number = '9174F' or cpu_model_number = '9184X' or
              cpu_model_number = '9274F' or
              cpu_model_number = '9354P' or cpu_model_number = '9374F' or cpu_model_number = '9384X' or
              cpu_model_number = '9454P' or cpu_model_number = '9474F' or
              cpu_model_number = '9554P' or 
              cpu_model_number = '9654P' or cpu_model_number = '9684X' or
              cpu_model_number = '9754S'
              )
            then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '4100' or 
                  cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5125C' or 
                  cpu_model_number = '5300G' or cpu_model_number = '5300GE' or cpu_model_number = '5300U' or cpu_model_number = '5380U' or 
                  cpu_model_number = '5400U' or cpu_model_number = '5425C' or cpu_model_number = '5425U' or 
                  cpu_model_number = '7320e' or cpu_model_number = '7320U' or cpu_model_number = '7330U' or cpu_model_number = '7335U' or
                  cpu_model_number = '7440U' or 
                  cpu_model_number = '8300G'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4355G' or cpu_model_number = '4355GE' or 
                  cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U' or cpu_model_number = '5475U' or 
                  cpu_model_number = '7330U' or 
                  cpu_model_number = '8300G' or cpu_model_number = '8300GE'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '4500' or 
                  cpu_model_number = '5500' or cpu_model_number = '5600' or cpu_model_number = '7600' or 
                  cpu_model_number = '2500X' or cpu_model_number = '2600E' or cpu_model_number = '2600X' or 
                  cpu_model_number = '3350G' or cpu_model_number = '3350GE' or 
                  cpu_model_number = '3400G' or cpu_model_number = '3400GE' or cpu_model_number = '3450U' or 
                  cpu_model_number = '3500' or cpu_model_number = '3500C' or cpu_model_number = '3500U' or 
                  cpu_model_number = '3550H' or cpu_model_number = '3580U' or 
                  cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or 
                  cpu_model_number = '4600U' or cpu_model_number = '4600GE' or cpu_model_number = '4600H' or cpu_model_number = '4600U' or 
                  cpu_model_number = '5300G' or cpu_model_number = '5300GE' or 
                  cpu_model_number = '5425U' or 
                  cpu_model_number = '5500U' or cpu_model_number = '5560U' or 
                  cpu_model_number = '5600G' or cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or cpu_model_number = '5600U' or cpu_model_number = '5600X' or
                  cpu_model_number = '5625C' or cpu_model_number = '5625U' or 
                  cpu_model_number = '6600H' or cpu_model_number = '6600HS' or cpu_model_number = '6600U' or 
                  cpu_model_number = '7430U' or 
                  cpu_model_number = '7520U' or cpu_model_number = '7530U' or cpu_model_number = '7535HS' or cpu_model_number = '7535U' or cpu_model_number = '7540U' or 
                  cpu_model_number = '7600X' or cpu_model_number = '7640H' or cpu_model_number = '7640HS' or cpu_model_number = '7640S' or cpu_model_number = '7640U' or cpu_model_number = '7645HX' or
                  cpu_model_number = '8500G' or cpu_model_number = '8600G'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '5645' or 
                  cpu_model_number = '3350G' or cpu_model_number = '3350GE' or 
                  cpu_model_number = '3400G' or cpu_model_number = '3400GE' or 
                  cpu_model_number = '3500U' or 
                  cpu_model_number = '4650G' or cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '4655G' or 
                  cpu_model_number = '5650G' or cpu_model_number = '5650GE' or cpu_model_number = '5650HS' or cpu_model_number = '5650HX' or cpu_model_number = '5650U' or cpu_model_number = '5675U' or 
                  cpu_model_number = '5750G' or cpu_model_number = '5750GE' or 
                  cpu_model_number = '6650H' or cpu_model_number = '6650HS' or cpu_model_number = '6650U' or
                  cpu_model_number = '7530U' or cpu_model_number = '7535U' or cpu_model_number = '7540U' or
                  cpu_model_number = '7640U' or 
                  cpu_model_number = '8500G' or 
                  cpu_model_number = '8600G' or cpu_model_number = '8600GE' or cpu_model_number = '8640HS' or cpu_model_number = '8640U' or cpu_model_number = '8645HS'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '7700' or 
                  cpu_model_number = '2700E' or cpu_model_number = '2700X' or 
                  cpu_model_number = '3700C' or cpu_model_number = '3700U' or cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or 
                  cpu_model_number = '4700G' or cpu_model_number = '4700GE' or cpu_model_number = '4700U' or 
                  cpu_model_number = '4800H' or cpu_model_number = '4800HS' or cpu_model_number = '4800U' or 
                  cpu_model_number = '5700G' or cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or cpu_model_number = '5800X' or 
                  cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or cpu_model_number = '5825U' or 
                  cpu_model_number = '6800H' or cpu_model_number = '6800HS' or cpu_model_number = '6800U' or cpu_model_number = '6810U' or 
                  cpu_model_number = '7700' or cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U' or
                  cpu_model_number = '8700G')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840HS' or cpu_model_number = '7840U' or 
                  cpu_model_number = '8700G' or cpu_model_number = '8840HS' or cpu_model_number = '8840U' or cpu_model_number = '8845HS' or 
                  cpu_model_number = '8945HS')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or cpu_model_number = '3950X' or 
                  cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900' or cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX' or
                  cpu_model_number = '6900HS' or cpu_model_number = '6980HS' or cpu_model_number = '6980HX' or
                  cpu_model_number = '7900' or cpu_model_number = '7900X' or cpu_model_number = '7900X3D' or cpu_model_number = '7940H' or
                  cpu_model_number = '7940HS' or cpu_model_number = '7945HX' or cpu_model_number = '7950X' or cpu_model_number = '7950X3D'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and 
                (cpu_model_number = '3900' or cpu_model_number = '5945' or 
                  cpu_model_number = '6950H' or cpu_model_number = '6950HS')
                then 'Y'
              when cpu_sub_brand_modifier = 'Embedded' and 
                (cpu_model_number = 'V2516' or cpu_model_number = 'V2546' or 
                  cpu_model_number = 'V2718' or cpu_model_number = 'V2748')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or cpu_model_number = '3995WX' or
                  cpu_model_number = '5945WX' or cpu_model_number = '5955WZ' or cpu_model_number = '5965WZ' or cpu_model_number = '5975WX' or cpu_model_number = '5995WX'
                )
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from base_sql s
),

status_sql as (
  select
    s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        -- or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        -- or (max_display_res_y is not null and max_display_res_y < 720)
        -- or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
        or (cpu_support_status = 'N')
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when 
      node_cpu_bitwidth is null
        or (node_disk0_c_free_gb is null)
        -- or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        -- or max_display_res_y is null
        -- or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
        or (cpu_support_status is null)
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_size_gb < 64.0)
        -- or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        -- or (max_display_res_y is not null and max_display_res_y < 720)
        -- or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
        or (cpu_support_status = 'N')
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or (node_disk0_c_size_gb is null)
        -- or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        -- or max_display_res_y is null
        -- or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
        or (cpu_support_status is null)
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label

  from base_with_cpu_support_sql s
),

by_make as (
	select
		s.machine_make,
		count(distinct s.node_id) as machine_count

	from 
		status_sql s
	where
		s.win11_inplace_upgrade_label = 'Unsupported'
		and s.win11_image_upgrade_label = 'Unsupported'
	group by 
		s.machine_make

	order by 
		machine_count desc

	limit ?
)

select * from by_make;
]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>5</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
        <oda-data-set extensionID="org.eclipse.birt.report.data.oda.jdbc.JdbcSelectDataSet" name="ByMachineModel" id="18051">
            <list-property name="columnHints">
                <structure>
                    <property name="columnName">machine_model</property>
                    <property name="analysis">dimension</property>
                    <text-property name="displayName">machine_model</text-property>
                    <text-property name="heading">machine_model</text-property>
                </structure>
                <structure>
                    <property name="columnName">machine_count</property>
                    <property name="analysis">measure</property>
                    <text-property name="displayName">machine_count</text-property>
                    <text-property name="heading">machine_count</text-property>
                </structure>
            </list-property>
            <list-property name="parameters">
                <structure>
                    <property name="name">param_1</property>
                    <property name="paramName">TimeZoneString</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">1</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_2</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">2</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_3</property>
                    <property name="paramName">MachineGroup</property>
                    <property name="nativeName"></property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                    <property name="position">3</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_4</property>
                    <property name="paramName">ThresholdValue</property>
                    <property name="nativeName"></property>
                    <property name="dataType">integer</property>
                    <property name="nativeDataType">8</property>
                    <property name="position">4</property>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
                <structure>
                    <property name="name">param_5</property>
                    <property name="nativeName"></property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                    <property name="position">5</property>
                    <expression name="defaultValue" type="javascript">vars["topN"];</expression>
                    <property name="isInput">true</property>
                    <property name="isOutput">false</property>
                </structure>
            </list-property>
            <structure name="cachedMetaData">
                <list-property name="resultSet">
                    <structure>
                        <property name="position">1</property>
                        <property name="name">machine_model</property>
                        <property name="dataType">string</property>
                    </structure>
                    <structure>
                        <property name="position">2</property>
                        <property name="name">machine_count</property>
                        <property name="dataType">decimal</property>
                    </structure>
                </list-property>
            </structure>
            <property name="dataSource">Portal</property>
            <list-property name="resultSet">
                <structure>
                    <property name="position">1</property>
                    <property name="name">machine_model</property>
                    <property name="nativeName">machine_model</property>
                    <property name="dataType">string</property>
                    <property name="nativeDataType">12</property>
                </structure>
                <structure>
                    <property name="position">2</property>
                    <property name="name">machine_count</property>
                    <property name="nativeName">machine_count</property>
                    <property name="dataType">decimal</property>
                    <property name="nativeDataType">-5</property>
                </structure>
            </list-property>
            <xml-property name="queryText"><![CDATA[
-- Library : 
-- Dataset : Windows10OrEarlierMachineCountsByStatus
-- Filename: FIT.MGMT.CEXEC.Windows11Migration.Summary.Windows10OrEarlier.MachineCountsByStatus.v6705.sql

with 

node_hardware as (
	select
		id as node_hardware_id,
		make as machine_make,
		model as machine_model,
-- 		serialnum as machine_serial_num,
-- 		mem_mb as ram_allocated_mb,
		round((mem_mb::float/1024::float)::numeric, 1) as ram_alloc_gb,
-- 		bios_info->'vendor' as bios_vendor,
-- 		bios_info->'smbBios' as bios_smbBios, 
-- 		bios_info->'version' as bios_version, 
-- 		bios_info->'revision' as bios_revision, 
-- 		date_trunc('day', cast(bios_info->'releaseDate' as timestamptz)) as bios_release_date, 
		case when length(bios_info->'uefiCapable'::text) is null then null else case when bios_info->'uefiCapable' = 'false' then 'N' else 'Y' end end as bios_uefi_capable,
		case when length(bios_info->'uefiEnabled'::text) is null then null else case when bios_info->'uefiEnabled' = 'false' then 'N' else 'Y' end end as bios_uefi_enabled,
-- 		tpm_info->'manufacturer' as tpm_manufacturer, 
-- 		tpm_info->'version' as tpm_version, 
-- 		(case when length(tpm_info->'owned'::text) is null then null else (case when tpm_info->'owned' = 'false' then 'N' else 'Y' end) end) as tpm_owned, 
-- 		(case when length(tpm_info->'active'::text) is null then null else (case when tpm_info->'active' = 'false' then 'N' else 'Y' end) end) as tpm_active, 
-- 		(case when length(tpm_info->'enabled'::text) is null then null else (case when tpm_info->'enabled' = 'false' then 'N' else 'Y' end) end) as tpm_enabled, 
		tpm_info->'specification' as tpm_specification
	from
		tnt_config.node_hardware
-- 	where
-- 		id = 361955
-- 		id = 1219
),

-- node_cpus1 as (
-- 	select
-- 		hardware_id,
-- 		string_agg(distinct model, ', ') as node_cpu_model,
-- 		string_agg(distinct rtrim(split_part(split_part(split_part(model, 'processor', 1), 'Processor', 1), 'CPU', 1)), ',') as node_cpu_short_models,
-- 		array_agg(distinct bitwidth) as node_cpu_3264_bit,
-- 		cpu_manufacturer,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_class,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_model_number,
		
-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1) and (strpos(model, '-') > 1)) 
-- 				then 
-- 					(case 
-- 						when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
-- 						when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
-- 							then left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1)
-- 					end)
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_generation,

-- 		case 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
-- 			when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
-- 			when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
-- 			when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
-- 		end as cpu_manu_class_model_number,
-- 		count(*) as node_cpu_count,
-- 		round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
-- 		round(avg(cores)::numeric,0) as node_per_cpu_cores,
-- 		sum(cores) as node_cpu_cores,
-- 		round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
-- 	from
-- 		tnt_config.node_hardware_cpus 
-- 	group by
-- 		hardware_id	
-- ),

node_cpus as (
  select
    hardware_id,
    string_agg(distinct model, ', ') as node_cpu_model,
    string_agg(distinct trim(regexp_replace(replace(replace(replace(replace(replace(split_part(model, ' @', 1), ' processor', ''), ' Processor', ''), ' CPU', ''), ' Eight-Core', ''), ' 8-Core', ''), '\s+', ' ', 'g')), ',') as node_cpu_short_models,
    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 3 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 3 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 5 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 5 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 7 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 7 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen 9 ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen 9 ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper PRO ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper PRO ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ThreadRipper ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen ThreadRipper ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), ' Ryzen Embedded ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(replace(trim(both ' ' from split_part(split_part(model, ' with ', 1), 'AMD Ryzen ', 2)), 'Eight-Core Processor', ''), ' 8-Core Processor', '')) 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 1), 'Pentium ', 2))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Atom ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, ' @ ') > 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(model, ' ', 5)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2 Duo') > 1)) then split_part(model, ' ', 5)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then split_part(model, ' ', 6)
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver') > 1) and (strpos(model, ' CPU @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' @ ') <= 1)) then trim(both ' ' from split_part(model, ' ', 3))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_model_number,
    
    max(bitwidth) as node_cpu_bitwidth,
    string_agg(distinct cpu_manufacturer, ',') as cpu_brand,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1)) then 'Celeron' -- trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then 'Core' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1)) then 'Core2' -- (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Xeon' -- (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_sub_brand,

    -- string_agg(distinct case 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'EPYC ') > 1)) then null --
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then left(trim(both ' ' from split_part(model, 'Ryzen ', 2)), 1) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium ', 2), ' ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Pentium' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Atom' -- trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (
    --       case 
    --         when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then null 
    --         else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, ' Core Ultra ') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Core2') > 1) and (strpos(model, '-') > 1)) then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Platinum ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Gold ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Silver ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1)))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 1)))
    -- end, ',') as cpu_sub_brand_modifier,
    
    string_agg(distinct 
      (case 
        when (cpu_manufacturer = 'AMD') 
          then 
            (case
              when (strpos(model, 'EPYC ') > 1) 
                then null
              when (strpos(model, ' Ryzen ') > 1) 
                then
                  (case
                    when (strpos(model, ' Embedded ') > 1) 
                      then left(trim(both ' ' from split_part(model, 'Embedded', 2)), 1) 
                    when (strpos(model, ' PRO ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 1)), 1) || ' PRO'
                    else 
                      left(trim(both ' ' from split_part(model, ' Ryzen ', 2)), 1) 
                  end)
              else null
            end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then 'Atom'
              when (strpos(model, ' Celeron ') > 1) 
                then
                  (case 
                    when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                      then null 
                    when (strpos(model, ' CPU @ ') > 1)
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' CPU', 1)), 1)
                    when (strpos(model, ' @ ') > 1) 
                      then left(trim(both ' ' from split_part(split_part(model, ' Celeron ', 2), ' @ ', 1)), 1)
                    -- else left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, '-') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), '-', 1)))
                    when (strpos(model, ' Ultra ') > 1) 
                      then (trim(both ' ' from split_part(split_part(model, 'Intel Core ', 2), ' ', 1)))
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Duo ') > 1 or strpos(model, ' Quad ') > 1) 
                      then trim(both ' ' from split_part(split_part(model, ' Core2 ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Pentium ') > 1) 
                then
                  (case
                    when (strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1)
                      then trim(both ' ' from split_part(split_part(model, ' Pentium ', 2), ' ', 1))
                    else null
                  end)  
              when (strpos(model, ' Xeon ') > 1) 
                then
                  (case 
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 3))
                    when ((strpos(model, ' Platinum ') > 1 or strpos(model, ' Gold ') > 1 or strpos(model, ' Silver ') > 1 or strpos(model, ' Bronze ') > 1) and (strpos(model, ' CPU @ ') <= 1)) 
                      then trim(both ' ' from split_part(model, ' ', 3))
                    when ((strpos(model, ' CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then left(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 1)
                    when ((strpos(model, ' CPU @ ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' ', 3), '-', 1))
                    when ((strpos(model, '-') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Xeon ', 2), '-', 1))
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end), ',') as cpu_sub_brand_modifier,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              -- when (strpos(model, ' Atom ') > 1) 
              --   then null
              -- when (strpos(model, ' Celeron ') > 1) 
              --   then null
              -- when (strpos(model, ' Core Ultra ') > 1) 
              --   then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              -- when (strpos(model, ' Core ') > 1) 
              --   then (
              --     case
              --       when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
              --       when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
              --         then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
              --       else null
              --     end)
              -- when (strpos(model, ' Pentium ') > 1) 
              --   then null
              -- when (strpos(model, ' Processor ') > 1) 
              --   then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then 
                        cast(left(trim(both ' ' from split_part(model, ' ', 4)), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_sku_level,

    max(
      case 
        when (cpu_manufacturer = 'AMD') 
          then null
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then (
            case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then null
              when (strpos(model, ' Core Ultra ') > 1) 
                then cast(left(trim(both ' ' from split_part(model, ' ', 5)), 1) as integer)
              when (strpos(model, ' Core ') > 1) 
                then (
                  case
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) and (length(split_part(split_part(model, '-', 2), ' ', 1)) >= 6)
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 2) as integer)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then cast(left(trim(both ' ' from split_part(model, '-', 2)), 1) as integer)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then null
              when (strpos(model, ' Processor ') > 1) 
                then null
              when (strpos(model, ' Xeon ') > 1) 
                then (
                  case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then cast(right(left(trim(both ' ' from split_part(model, ' ', 4)), 2), 1) as integer)
                    else 
                      null
                  end)
              else 
                null
            end) 
        else
          null
      end)::integer as cpu_generation,

    -- string_agg(distinct case 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    --   -- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    --   -- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
    --   when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Gold ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Gold ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium Silver ') >= 1)) then trim(both ' ' from split_part(split_part(model, 'Pentium Silver ', 2), ' CPU ', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
    --   -- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --         then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --               then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --               else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron ', 2), ' CPU', 1)), 4)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    --     then 
    --       (case 
    --         -- Check if Intel, Core, and m3, m5, m7, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' m3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         when ((strpos(lower(model), ' m7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         -- Check if Intel, Core, and i3, i5, i7, i9, then the first number after the - is supposed to be the SKU
    --         when ((strpos(lower(model), ' i3-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i5-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i7-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2)
    --         when ((strpos(lower(model), ' i9-') > 1) and (left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),1) ~ '^\d+(\.\d+)?$'))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) 
    --         -- Check if Intel, Core and contains 'th Gen' to figure out generation
    --         when (strpos(lower(model), 'th gen ') > 1)
    --           then right(trim(both ' ' from split_part(model, '-', 2)), 3)
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    --         -- when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 )
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 2) 
    --         when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),3, 3) 
    --         when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    --           then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2, 3)
    --       end)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, 'Ultra') > 1)) 
    --     then trim(both ' ' from split_part(model, ' ', 5)) 
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1) and (strpos(model, ' CPU @ ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU @ ', 1), ' ', 4)), 3, 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
    --   when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
    -- end, ',') as cpu_sku,

    string_agg(distinct 
      case 
        when (cpu_manufacturer = 'AMD') then
          (case
            when ((strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 4, 2) 
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'Ryzen ', 2), ' PRO ', 2)), 2, 4)
            when ((strpos(model, 'Ryzen ') > 1) and (strpos(model, ' PRO ') <= 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 3, 2) 
            when ((strpos(model, 'Athlon II ') > 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon II ', 2), ' ', 2)) 
            when ((strpos(model, 'Athlon ') > 1) and (strpos(model, 'Athlon II ') <= 1)) then trim(both ' ' from split_part(split_part(model, ' Athlon ', 2), ' ', 2)) 
            else null
          end)
        when (cpu_manufacturer = 'Qualcomm') 
          then null
        when (cpu_manufacturer = 'Intel') 
          then 
            (case 
              when (strpos(model, ' Atom ') > 1) 
                then null
              when (strpos(model, ' Celeron ') > 1) 
                then 
                  (case
                    when (strpos(model, 'Celeron CPU ') > 1) 
                      then 
                        (case 
                          when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
                            then left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                          else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
                        end)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, 'CPU @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    when ((strpos(model, ' Celeron ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then split_part(model, ' ', 3)
                    else null
                  end)
              when (strpos(model, ' Core ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Ultra ') > 1) 
                      then split_part(model, ' ', 5)
                    when (strpos(model, 'th Gen ') > 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    when (strpos(model, 'th Gen ') <= 1) and (strpos(model, '-') > 1) 
                      then split_part(split_part(model, '-', 2), ' ', 1)
                    else null
                  end)
              when (strpos(model, ' Core2 ') > 1) 
                then 
                  (case
                    when (strpos(model, ' Duo ') > 1) 
                      then split_part(model, ' ', 5)
                    else null
                  end)
              when (strpos(model, ' Pentium ') > 1) 
                then 
                  (case 
                    when ((strpos(model, ' Gold ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Gold ', 2), ' CPU ', 1))
                    when ((strpos(model, ' Silver ') > 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' Silver ', 2), ' CPU ', 1))
                    when ((strpos(model, 'Pentium ') >= 1)) 
                      then trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1))
                    else null
                  end)
              when (strpos(model, ' Xeon ') > 1) 
                then 
                  (case 
                    when (strpos(model, ' Platinum ') > 1) or (strpos(model, ' Gold ') > 1) or (strpos(model, ' Silver ') > 1) or (strpos(model, ' Bronze ') > 1) 
                      then substr(split_part(model, ' ', 4), 3, 2)
                    when ((strpos(model, 'Xeon CPU  ') > 1) and (strpos(model, ' @ ') > 1)) 
                      then right(trim(both ' ' from split_part(split_part(model, ' @ ', 1), 'Intel Xeon CPU ', 2)), 2)
                    -- when (strpos(model, ' CPU @ ') > 1) 
                    --   then substring(split_part(split_part(model, ' CPU @ ', 1), ' ', 4), 3, 2)
                    when (strpos(model, ' CPU @ ') > 1) 
                      then split_part(split_part(model, ' CPU @ ', 1), '-', 2)
                    when ((strpos(model, 'Xeon ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' CPU ', 2), '-', 2)), 3, 2)
                    else 
                      null
                  end)
              when (strpos(model, ' Processor ') > 1) 
                then null
              else 
                null
            end) 
        else
          null
      end, ',') as cpu_sku,

    -- string_agg(distinct case 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '')) 
    -- 	-- when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then (replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '')) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen Embedded ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, ' Embedded ', 2), ' ', 1)), 6, 1) 
    -- 	when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then substr(trim(both ' ' from split_part(split_part(model, 'AMD Ryzen ', 2), ' ', 2)), 5, 1) 
    -- 	-- when (cpu_manufacturer = 'AMD') then (trim(both ' ' from split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, 'Celeron CPU ') > 1)) 
    --     then (case when ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) >= 48 and ascii(left(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)) <= 57 
    --           then right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 1)
    --           -- else right(trim(both ' ' from split_part(split_part(model, 'Intel Celeron CPU ', 2), ' @ ', 1)), 4)
    --           end)
    -- 	when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1) and (strpos(model, '-') > 1)) 
    -- 		then 
    -- 			(case 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') > 1))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 2) 
    -- 				when (cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) <= 11 and (strpos(model, 'G') <= 0))
    -- 					then right(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 1)
    -- 				when ((cast(left(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)),2) as int) >= 20))
    -- 					then substr(trim(both ' ' from split_part(split_part(model, '-', 2), ' ', 1)), 5, 2)
    -- 			end)
    -- 	-- when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    -- end, ',') as cpu_suffix,

    string_agg(distinct case 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Opteron ') > 1)) then 'AMD Opteron ' || (trim(both ' ' from split_part(model, 'AMD Opteron Processor ', 2))) 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Turion ') > 1)) then 'AMD Turion ' || replace(trim(both ' ' from split_part(model, 'AMD Turion ', 2)), 'Dual-Core ', '') 
      when (cpu_manufacturer = 'AMD' and (strpos(model, 'Ryzen ') > 1)) then 'AMD Ryzen ' || replace(trim(both ' ' from split_part(model, 'AMD Ryzen ', 2)), 'Eight-Core Processor', '') 
      when (cpu_manufacturer = 'AMD') then (trim(both ' ' from 'AMD ' || split_part(split_part(model, 'AMD ', 2), ' ', 1))) 
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Pentium ') >= 1)) then 'Intel Pentium ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Atom ') > 1)) then 'Intel Atom ' || trim(both ' ' from split_part(split_part(model, ' CPU', 2), '@', 1))
      when (cpu_manufacturer = 'Intel' and (strpos(model, ' Core ') > 1)) then (trim(both ' ' from split_part(model, ' CPU ', 1)))
      when (cpu_manufacturer = 'Intel' and (strpos(model, 'Xeon ') > 1)) then 'Intel Xeon ' || (trim(both ' ' from split_part(split_part(model, ' CPU ', 2), ' @', 1)))
    end, ',') as cpu_manu_class_model_number,
    count(*) as node_cpu_count,
    round(avg(speed_mhz)::numeric,0) as node_per_cpu_mhz,
    round(avg(cores)::numeric,0) as node_per_cpu_cores,
    sum(cores) as node_cpu_cores,
    round(sum(cores*speed_mhz)::numeric,0) as total_cpu_mhz
  from (
    select 
      h.hardware_id,
      replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', '') as model,
      case 
        when split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) ilike 'Pentium' then 'Intel' 
        when strpos(model, 'Intel') > 1 then 'Intel' 
        when strpos(model, 'AMD') > 1 then 'AMD' 
        else split_part(replace(replace(replace(h.model, '(R)', ''), '(TM)', ''), '(tm)', ''), ' ', 1) 
      end as cpu_manufacturer,
      h.bitwidth,
      h.cores as cores,
      h.speed_mhz
    from
      tnt_config.node_hardware_cpus h
    ) h
  group by
    hardware_id
),

-- node_ram1 as (	
-- 	with
-- 	latest_sum_report as (	
-- 		select
-- 			sumrpt.node_id as node_id,
-- 			max(sumrpt.start_date) as start_date,
-- 			max(sumrpt.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreports sumrpt
-- 		group by
-- 			sumrpt.node_id
-- 	)

-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts, latest_sum_report lsr
-- 	where
-- 		sumrpts.node_id = lsr.node_id
-- 		and sumrpts.start_date = lsr.start_date
-- 		and sumrpts.end_date = lsr.end_date
-- 		and sumrpts.end_date between lsr.start_date and lsr.end_date
-- 	group by
-- 		sumrpts.node_id 
-- ),

-- node_ram2 as (	
-- 	select 
-- 		sumrpts.node_id as node_id,
-- 		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
-- 	from
-- 		tnt_audit.summaryreports sumrpts
-- 		join tnt_config.node nde on (nde.id = sumrpts.node_id and nde.delete_time is null)
-- 	where
-- -- 		sumrpts.node_id = nde.id
-- -- 		and sumrpts.start_date = nde.last_report_seen_start_date
-- -- 		and sumrpts.end_date = nde.last_report_seen_end_date
-- -- 		and sumrpts.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 		(sumrpts.end_date >= nde.last_report_seen_end_date)
-- 	group by
-- 		sumrpts.node_id 
-- ),

node_ram as (	
	select 
		sumrpts.node_id as node_id,
		round((avg(sumrpts.mem_alloc)/1048576)::numeric, 3) as node_ram_allocated_gb
	from
		tnt_audit.summaryreports sumrpts, 
		(	select
				sumrpt.node_id as node_id,
				max(sumrpt.start_date) as start_date,
				max(sumrpt.end_date) as end_date
			from 
				tnt_audit.summaryreports sumrpt
			group by
				sumrpt.node_id
		) lsr
	where
		sumrpts.node_id = lsr.node_id
		and sumrpts.start_date = lsr.start_date
		and sumrpts.end_date = lsr.end_date
		and sumrpts.end_date between lsr.start_date and lsr.end_date
	group by
		sumrpts.node_id 
),

-- node_disk1 as (
-- 	with
-- 	last_node_disk as (	
-- 		select
-- 			part_stats.node_id as node_id,
-- 			max(part_stats.start_date) as start_date,
-- 			max(part_stats.end_date) as end_date
-- 		from 
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 		group by
-- 			part_stats.node_id
-- 	),

-- 	part_stats as (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, last_node_disk 
-- 		where
-- 			part_stats.node_id = last_node_disk.node_id
-- 			and part_stats.start_date = last_node_disk.start_date
-- 			and part_stats.end_date = last_node_disk.end_date
-- 			and part_stats.end_date between last_node_disk.start_date and last_node_disk.end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 	)

-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from
-- 		part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk2 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from (
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats
-- 			join tnt_config.node nde on (nde.id = part_stats.node_id and nde.delete_time is null)
-- 		where
-- 			part_stats.node_id = nde.id
-- 			and part_stats.start_date = nde.last_report_seen_start_date
-- 			and part_stats.end_date = nde.last_report_seen_end_date
-- 			and part_stats.end_date between nde.last_report_seen_start_date and nde.last_report_seen_end_date
-- 			and part_stats.local_type ilike 'local'
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

-- node_disk1 as (
-- 	select 
-- 		part_stats.node_id as node_id,
-- 		round(max(part_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
-- 		round(max(part_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
-- 		round(sum(part_stats.node_per_disk_size_kb)::numeric/1048576, 0) as node_total_disk_size_gb,
-- 		round(sum(part_stats.node_per_disk_used_kb)::numeric/1048576, 0) as node_total_disk_used_gb
-- 	from ( 
-- 		select
-- 			part_stats.node_id as node_id,
-- 			part_stats.disk_id as node_physical_disk_id,
-- 			string_agg(distinct part_stats.name, ',') as node_disk_names,
-- 			sum(part_stats.size) as node_per_disk_size_kb,
-- 			sum(part_stats.avg_used) as node_per_disk_used_kb
-- 		from
-- 			tnt_audit.summaryreport_partition_stats part_stats, 
-- 			(	select
-- 					part_stats.node_id as node_id,
-- 					max(part_stats.start_date) as start_date,
-- 					max(part_stats.end_date) as end_date
-- 				from 
-- 					tnt_audit.summaryreport_partition_stats part_stats
-- -- 			 	where
-- -- 			 		part_stats.node_id = 13047
-- 				group by
-- 					part_stats.node_id
-- 			) last_part_stats 
-- 		where
-- 			part_stats.node_id = last_part_stats.node_id
-- 			and part_stats.start_date = last_part_stats.start_date
-- 			and part_stats.end_date = last_part_stats.end_date
-- 			and part_stats.end_date between last_part_stats.start_date and last_part_stats.end_date
-- 			and part_stats.local_type ilike 'local'
-- -- 			and part_stats.node_id = 13047
-- 		group by
-- 			part_stats.node_id, part_stats.disk_id
-- 		) part_stats
-- 	group by
-- 		part_stats.node_id
-- ),

node_disk as (
  select 
    disk_stats.node_id as node_id,
    -- round(max(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_max_disk_size_gb,
    -- round(max(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_max_disk_used_gb,
    -- round(sum(disk_stats.node_per_disk_size_kb)::numeric/1048576.0, 0) as node_total_disk_size_gb,
    -- round(sum(disk_stats.node_per_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_used_gb
    round(disk_stats.node_total_disk_size_kb::numeric/1048576.0, 0) as node_total_disk_size_gb,
    round(disk_stats.node_total_disk_used_kb::numeric/1048576.0, 0) as node_total_disk_used_gb,
    round((disk_stats.node_total_disk_size_kb - disk_stats.node_total_disk_used_kb)::numeric/1048576.0, 0) as node_total_disk_free_gb,
    round(disk_stats.node_disk0_c_size_kb::numeric/1048576.0, 0) as node_disk0_c_size_gb,
    round(disk_stats.node_disk0_c_used_kb::numeric/1048576.0, 0) as node_disk0_c_used_gb,
    round((disk_stats.node_disk0_c_size_kb - disk_stats.node_disk0_c_used_kb)::numeric/1048576.0, 0) as node_disk0_c_free_gb

  from ( 
    select
      disk_stats.node_id as node_id,
      -- disk_stats.disk_id as node_physical_disk_id,
      string_agg(distinct disk_stats.name, ',') as node_disk_names,
      sum(disk_stats.size) as node_total_disk_size_kb,
      sum(disk_stats.avg_used) as node_total_disk_used_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.size end) as node_disk0_c_size_kb,
      sum(case when disk_stats.name ilike '%disk0 ( C:%' then disk_stats.avg_used end) as node_disk0_c_used_kb
    from
      -- tnt_audit.summaryreport_partition_stats part_stats, 
      tnt_audit.summaryreport_disk_stats disk_stats, 
      (	select
          disk_stats.node_id as node_id,
          max(disk_stats.start_date) as start_date,
          max(disk_stats.end_date) as end_date
        from 
          -- tnt_audit.summaryreport_partition_stats disk_stats
          tnt_audit.summaryreport_disk_stats disk_stats
        -- where
        -- 	disk_stats.node_id = 13047
        group by
          disk_stats.node_id
      ) last_disk_stats 
    where
      disk_stats.node_id = last_disk_stats.node_id
      and disk_stats.start_date = last_disk_stats.start_date
      and disk_stats.end_date = last_disk_stats.end_date
      and disk_stats.end_date between last_disk_stats.start_date and last_disk_stats.end_date
      and disk_stats.type ilike 'LOCAL'
      -- and disk_stats.node_id = 13047
    group by
      disk_stats.node_id--, disk_stats.disk_id
    ) disk_stats
  -- group by
  -- 	disk_stats.node_id
),

node_health_stats as (
	select
		hstats.node_id,
		hstats.sec_secure_boot
	from
		tnt_audit.summaryreport_machine_health_stats hstats, 
-- 		lwl_rollup.sr_machine_health_stats_da hstats, 
		(	select
				node_id as node_id,
				max(start_date) as start_date,
				max(end_date) as end_date
			from 
				tnt_audit.summaryreport_machine_health_stats
-- 				lwl_rollup.sr_machine_health_stats_da hstats
			group by
				node_id
		) last_health_stats 
	where
		hstats.node_id = last_health_stats.node_id
		and hstats.start_date = last_health_stats.start_date
		and hstats.end_date = last_health_stats.end_date
		and hstats.end_date between last_health_stats.start_date and last_health_stats.end_date
),

node_gpus as (
	select
		hardware_id,
		string_agg(model, ', ') as node_gpu_model,
		string_agg(model, ',') as node_discrete_gpu_models,
		count(*) as node_discrete_gpu_count,
		string_agg(format('%s', speedmhz), ', ') as node_gpu_speed_mhz,
		-- string_agg(format('%s', colordepth), ', ') as node_gpu_color_depth,
		max(colordepth) as node_gpu_color_depth,
		count(*) as node_gpu_count
	from
		tnt_config.node_hardware_gpus 
	where
		is_real = true
	group by
		hardware_id	
),

node_displays as (
	select
		hardware_id,
		string_agg(dimensions, ', ') as node_display_dimensions,
		max(cast(split_part(dimensions, 'x', 2) as int)) as max_display_res_y,
		string_agg(coalesce(cast(details->'sizeInches' as text), 'N/A'), ',') as node_display_size_in_inches,
		max((cast(details->'sizeInches' as int))) as max_display_size_in_inches,
		count(*) as node_display_count
	from
		tnt_config.node_hardware_displays
	group by
		hardware_id	
),

-- Todo: Add 
-- Disk encryption providers, 
-- Cloud drives in use (OneDrive, Google Drive, AWS Drive), 
-- Top 10 Apps by user count,
-- Top 10 Apps by CPU, RAM, Disk Space

base_sql as (
  select
    pn.id as node_id,
    pn.name as machine_name,
    nde.fqmn as machine_fqmn,
    nde.lastcontact::timestamptz at time zone ? as machine_last_contact,

    -- Machine hardware make, model, and chassis type
    nh.machine_make as machine_make,
    nh.machine_model as machine_model,
    nde.hwtype as machine_chassis_type,

    -- OS
    os.version as node_os_version,
    replace(replace(replace(replace(replace(replace(replace(replace(os.description, ' , ', ', '), 'Service Pack ', 'SP'), '(R)', ''), '(TM)', ''), '®', ''), '™', ''), '&amp;#174;', ''), '&amp;#153;', '') as node_os_desc,
    os.buildversion as os_build_version,

    -- CPU
    nodecpu.node_cpu_model as node_cpu_model,
    nodecpu.node_cpu_short_models as node_cpu_short_models,
    round((nodecpu.node_per_cpu_mhz/1000.0)::numeric, 3) as node_cpu_speed_ghz,
    trim(both ' ' from nodecpu.cpu_brand) as cpu_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand) as cpu_sub_brand,
    trim(both ' ' from nodecpu.cpu_sub_brand_modifier) as cpu_sub_brand_modifier,
    trim(both ' ' from nodecpu.cpu_model_number) as cpu_model_number,
    nodecpu.cpu_sku_level as cpu_sku_level,
    -- trim(both ' ' from nodecpu.cpu_generation) as cpu_generation,
    nodecpu.cpu_generation as cpu_generation,
    trim(both ' ' from nodecpu.cpu_sku) as cpu_sku,
    nodecpu.node_per_cpu_cores,
    nodecpu.node_cpu_cores,
    nodecpu.node_cpu_bitwidth,
    -- RAM
    noderam.node_ram_allocated_gb as node_ram_allocated_gb,
    nh.ram_alloc_gb,
    -- Disk storage
    nodedisk.node_disk0_c_size_gb as node_disk0_c_size_gb,
    nodedisk.node_disk0_c_used_gb as node_disk0_c_used_gb,
    nodedisk.node_disk0_c_free_gb as node_disk0_c_free_gb,
    nodedisk.node_total_disk_size_gb as node_total_disk_size_gb,
    nodedisk.node_total_disk_used_gb as node_total_disk_used_gb,
    nodedisk.node_total_disk_free_gb as node_total_disk_free_gb,

    -- GPU
    nodegpu.node_gpu_model as node_gpu_model,
    nodegpu.node_discrete_gpu_models as node_discrete_gpu_models,
    -- nodegpu.node_gpu_speed_mhz as node_gpu_speed_mhz,
    nodegpu.node_gpu_count as node_gpu_count,
    nodegpu.node_discrete_gpu_count as node_discrete_gpu_count,
    nodegpu.node_gpu_color_depth,
    os.dx12orwddm2 as os_dx12orwddm2,
    -- Display
    nodedis.node_display_dimensions as node_display_dimensions,
    nodedis.max_display_res_y as max_display_res_y,
    nodedis.node_display_size_in_inches,
    nodedis.max_display_size_in_inches,
    nodedis.node_display_count as node_display_count,
    -- BIOS &amp; TPM
    case when nh.bios_uefi_capable is null then null else case when nh.bios_uefi_capable = 'Y' then true else false end end as machine_bios_uefi_capable,
    case when nh.bios_uefi_enabled is null then null else case when nh.bios_uefi_enabled = 'Y' then true else false end end as machine_bios_uefi_enabled,
    
    case when nodehealth.sec_secure_boot is null then null else nodehealth.sec_secure_boot end as machine_secure_boot,
    nh.tpm_specification as machine_tpm_specifications,
    case when nh.tpm_specification is null then null else case when strpos(nh.tpm_specification, '2.') > 0 then true else false end end as machine_tpm_specification,
    -- Windows 11 compatibility
    -- initcap(nde.win11_inplace_upgrade_compatibility) as win11_inplace_upgrade_compatibility,
    -- initcap(nde.win11_image_upgrade_compatibility) as win11_image_upgrade_compatibility
    
    -- Machine location
    loc_stats.city || ', ' || loc_stats.state || ', ' || loc_stats.country as machine_location_city_state_country,
    loc_stats.country as machine_location_country,
    loc_stats.state as machine_location_state,
    loc_stats.city as machine_location_city

  from
    tnt_config.policynode pn 
    join tnt_config.node nde on (nde.id = pn.id)
    left outer join tnt_config.os os on (os.id = nde.os_id)
    left outer join node_hardware nh on (node_hardware_id = nde.hardware_id)
    left outer join node_cpus nodecpu on (nodecpu.hardware_id = nde.hardware_id)
    left outer join node_ram noderam on (noderam.node_id = pn.id)
    left outer join node_disk nodedisk on (nodedisk.node_id = pn.id)
    left outer join node_gpus nodegpu on (nodegpu.hardware_id = nde.hardware_id)
    left outer join node_displays nodedis on (nodedis.hardware_id = nde.hardware_id)
    left outer join node_health_stats nodehealth on (nodehealth.node_id = pn.id)
    left outer join (
      select
        loc_stats.node_id as node_id,
        first(loc_stats.country) as country,
        first(loc_stats.state) as state,
        first(loc_stats.city) as city
      from
        tnt_audit.summaryreport_machine_location_stats loc_stats, 
        -- lwl_rollup.sr_machine_location_stats_da loc_stats,
        (	select
            loc_stats.node_id as node_id,
            max(loc_stats.start_date) as start_date,
            max(loc_stats.end_date) as end_date
          from 
            tnt_audit.summaryreport_machine_location_stats loc_stats
            -- lwl_rollup.sr_machine_location_stats_da loc_stats
          group by
            loc_stats.node_id
        ) latest_loc_stats 
      where
        loc_stats.node_id = latest_loc_stats.node_id
        and loc_stats.start_date = latest_loc_stats.start_date
        and loc_stats.end_date = latest_loc_stats.end_date
        and loc_stats.end_date between latest_loc_stats.start_date and latest_loc_stats.end_date
      group by
        loc_stats.node_id
    ) loc_stats on (loc_stats.node_id = pn.id)

    
  where
    (pn.delete_time is null) -- Machine has not been deleted
    and (nde.delete_time is null) -- Machine has not been deleted
    and (nde.ihostversion is not null) -- Machine has a CID Key installed
    and (nde.certificate is not null) -- Machine has a valid certificate
    and (pn.system_object is false) -- Machine is not a system object like Stratusphere Hub, DB or Station
    and (pn.dirtystatusid is null or pn.dirtystatusid <> 3) -- Machine does not have a dirty status
    and (pn.type <= 2) -- Machines are either servers (1) or desktops (2)
    and (os.name = 'Windows') -- Machines that currently run Microsoft Windows
    and (os.description not ilike '%Windows 11%' -- Machine is already running Windows 11
     	and os.description not ilike '%Windows Server %') -- Machine is not already running Windows Server 
    and (nde.vmtype is null) -- Machine is a physical machine to be considered for upgrade to Win10
    -- Machine group filter
    and ('%' = ? or pn.id in 
      (select ngn.nodeid from tnt_config.policynode pn, tnt_config.nodegroup_node ngn 
        where (pn.type = 5) and (pn.id = ngn.nodegroupid) and (pn.name like ?)))
    -- Threshold value for machine having called back within last N days
    and (nde.last_report_seen_end_date >= (current_date - (interval '1 days' * ?))) -- Machine has called back within last 90 days
    
  order by
    lower(pn.name) asc nulls last
),

base_with_cpu_support_sql as (
  select 
    s.*,
    case
      when cpu_brand = 'Intel' then
        case
          -- Intel Atom processors
          when cpu_sub_brand = 'Atom' and
            (cpu_model_number = 'x6200FE' or cpu_model_number = 'x6211E' or cpu_model_number = 'x6212RE' or 
              cpu_model_number = 'x6413E' or cpu_model_number = 'x6414RE' or cpu_model_number = 'x6425E' or 
              cpu_model_number = 'x6425RE' or cpu_model_number = 'x6427FE' or 
              cpu_model_number = 'x7211E' or cpu_model_number = 'x7213E' or 
              cpu_model_number = 'x7425E')
            then 'Y'

          -- Intel Celeron processors
          when cpu_sub_brand = 'Celeron' then
            case
              when cpu_sub_brand_modifier = 'G' and
                (cpu_sku = '4900' or cpu_sku = '4920' or cpu_sku = '4930' or cpu_sku = '4932' or 
                  cpu_sku = '4950' or cpu_sku = '5900' or cpu_sku = '5905' or cpu_sku = '5920' or 
                  cpu_sku = '5925' or cpu_sku = '6900')
                then 'Y'
              when cpu_sub_brand_modifier = 'J' and
                (cpu_sku = '4005' or cpu_sku = '4025' or cpu_sku = '4105' or cpu_sku = '4115' or 
                  cpu_sku = '4125' or cpu_sku = '6412' or cpu_sku = '6413')
                then 'Y'
              when cpu_sub_brand_modifier = 'N' and
                (cpu_sku = '4000' or cpu_sku = '4020' or cpu_sku = '4100' or cpu_sku = '4120' or 
                  cpu_sku = '4500' or cpu_sku = '4505' or cpu_sku = '5100' or cpu_sku = '5105' or 
                  cpu_sku = '6210' or cpu_sku = '6211')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '3867' or cpu_sku = '4205' or cpu_sku = '4305' or 
                  cpu_sku = '5205' or cpu_sku = '5205U' or cpu_sku = '5305' or cpu_sku = '5305U' or cpu_sku = '5805' or 
                  cpu_sku = '6305' or cpu_sku = '6600' or cpu_sku = '7300' or cpu_sku = '7305')
                then 'Y'
              else 'N'
            end

          -- Intel Core processors
          when cpu_sub_brand = 'Core' then
            case
              when cpu_sub_brand_modifier ilike 'Ultra%'
                then 'Y'
              when cpu_generation >= 8 
                then 'Y'
              else 'N'
            end

          -- Intel Pentium processors
          when cpu_sub_brand = 'Pentium' then
            case
              when cpu_sub_brand_modifier = 'Gold' and
                (cpu_sku = '4417' or cpu_sku = '4425' or cpu_sku = '5400' or cpu_sku = '5405' or cpu_sku = '6405' or 
                  cpu_sku = '6500' or cpu_sku = '7505' or cpu_sku = 'G5400' or cpu_sku = 'G5400T' or 
                  cpu_sku = 'G5420' or cpu_sku = 'G5420T' or cpu_sku = 'G5500' or cpu_sku = 'G5500T' or
                  cpu_sku = 'G5600' or cpu_sku = 'G5600T' or cpu_sku = 'G5620' or cpu_sku = 'G6400' or 
                  cpu_sku = 'G6400E' or cpu_sku = 'G6400T' or cpu_sku = 'G6400TE' or cpu_sku = 'G6405' or 
                  cpu_sku = 'G6405T' or cpu_sku = 'G6500' or cpu_sku = 'G6500T' or cpu_sku = 'G6505' or
                  cpu_sku = 'G6505T' or cpu_sku = 'G6600' or cpu_sku = 'G6605' or 
                  cpu_sku = 'G7400' or cpu_sku = 'G7400E' or cpu_sku = 'G7400T' or cpu_sku = 'G7400TE')
                then 'Y'
              when cpu_sub_brand_modifier = 'Silver' and
                (cpu_sku = 'J5005' or cpu_sku = 'J5040' or cpu_sku = 'N5000' or cpu_sku = 'N5030' or 
                  cpu_sku = 'N6000' or cpu_sku = 'N6005')
                then 'Y'
              when cpu_sub_brand_modifier is null and
                (cpu_sku = '6805' or cpu_sku = 'J6426' or cpu_sku = 'N6415')
                then 'Y'
              else 'N'
            end

          -- Intel Xeon processors
          when cpu_sub_brand = 'Xeon' then
            case
              when cpu_sub_brand_modifier = 'Bronze' and 
                (cpu_model_number = '3104' or cpu_model_number = '3106' or 
                cpu_model_number = '3204' or cpu_model_number = '3206R')
                then 'Y'

              when cpu_sub_brand_modifier = 'Silver' then -- Fixed the condition
                case 
                  when cpu_sku_level = 4 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or 
                          cpu_sku = '15' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '14' or cpu_sku = '16')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '10' or cpu_sku = '16')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end

              when cpu_sub_brand_modifier = 'Gold' then -- Fixed the condition
                case
                  when cpu_sku_level = 5 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '15' or cpu_sku = '18' or cpu_sku = '19' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '15' or cpu_sku = '17' or cpu_sku = '18' or cpu_sku = '20' or 
                          cpu_sku = '22')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '15' or cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '20')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 6 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '26' or cpu_sku = '28' or cpu_sku = '30' or cpu_sku = '32' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '40' or 
                          cpu_sku = '42' or cpu_sku = '44' or cpu_sku = '46' or cpu_sku = '48' or 
                          cpu_sku = '50' or cpu_sku = '52' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '08' or cpu_sku = '09' or cpu_sku = '10' or cpu_sku = '12' or 
                          cpu_sku = '22' or cpu_sku = '26' or cpu_sku = '30' or cpu_sku = '34' or 
                          cpu_sku = '38' or cpu_sku = '40' or cpu_sku = '42' or cpu_sku = '44' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '50' or cpu_sku = '52' or 
                          cpu_sku = '54' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '62')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '12' or cpu_sku = '14' or cpu_sku = '26' or cpu_sku = '30' or 
                          cpu_sku = '34' or cpu_sku = '36' or cpu_sku = '38' or cpu_sku = '42' or 
                          cpu_sku = '46' or cpu_sku = '48' or cpu_sku = '54')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '16' or cpu_sku = '18' or cpu_sku = '30' or cpu_sku = '38' or 
                          cpu_sku = '42')
                        then 'Y'
                      else 'N'
                    end
                  else
                    'N'
                end
              when cpu_sub_brand_modifier = 'Platinum' then
                case
                  when cpu_sku_level = 8 then
                    case
                      when cpu_generation = 1 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '64' or cpu_sku = '68' or cpu_sku = '70' or cpu_sku = '71' or 
                          cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 2 and
                        (cpu_sku = '53' or cpu_sku = '56' or cpu_sku = '60' or cpu_sku = '68' or 
                          cpu_sku = '70' or cpu_sku = '72' or cpu_sku = '76' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 3 and
                        (cpu_sku = '51' or cpu_sku = '52' or cpu_sku = '58' or cpu_sku = '60' or 
                          cpu_sku = '62' or cpu_sku = '68' or cpu_sku = '80')
                        then 'Y'
                      when cpu_generation = 4 and
                        (cpu_sku = '52' or cpu_sku = '60' or cpu_sku = '68' or cpu_sku = '70' or
                          cpu_sku = '80' or cpu_sku = '90')
                        then 'Y'
                      else 'N'
                    end
                  when cpu_sku_level = 9 then
                    case
                      when cpu_generation = 2 and
                        (cpu_sku = '21' or cpu_sku = '22' or cpu_sku = '42' or cpu_sku = '82')
                        then 'Y'
                      else 'N'
                    end
                  else 'N'
                end
              when cpu_sub_brand_modifier = 'D' and
                (cpu_model_number = 'D-1702' or cpu_model_number = 'D-1712TR' or cpu_model_number = 'D-1713NT' or 
                  cpu_model_number = 'D-1713NTE' or cpu_model_number = 'D-1714' or cpu_model_number = 'D-1715TER' or
                  cpu_model_number = 'D-1718T' or cpu_model_number = 'D-1722NE' or cpu_model_number = 'D-1726' or 
                  cpu_model_number = 'D-1732TE' or cpu_model_number = 'D-1733NT' or cpu_model_number = 'D-1735TR' or
                  cpu_model_number = 'D-1736' or cpu_model_number = 'D-1736NT' or cpu_model_number = 'D-1739' or 
                  cpu_model_number = 'D-1746TER' or cpu_model_number = 'D-1747NTE' or cpu_model_number = 'D-1748TE' or
                  cpu_model_number = 'D-1749NT' or cpu_model_number = 'D-2712T' or cpu_model_number = 'D-2733NT' or 
                  cpu_model_number = 'D-2738' or cpu_model_number = 'D-2752NTE' or cpu_model_number = 'D-2752TER' or
                  cpu_model_number = 'D-2753NT' or cpu_model_number = 'D-2766NT' or cpu_model_number = 'D-2775TE' or 
                  cpu_model_number = 'D-2776NT' or cpu_model_number = 'D-2779' or cpu_model_number = 'D-2786NTE' or
                  cpu_model_number = 'D-2795NT' or cpu_model_number = 'D-2796NT' or cpu_model_number = 'D-2796TE' or 
                  cpu_model_number = 'D-2798NT' or cpu_model_number = 'D-2799')
                then 'Y'
              when cpu_sub_brand_modifier = 'E' and
                (cpu_model_number = 'E-2104G' or cpu_model_number = 'E-2124' or cpu_model_number = 'E-2124G' or 
                  cpu_model_number = 'E-2126G' or cpu_model_number = 'E-2134' or cpu_model_number = 'E-2136' or
                  cpu_model_number = 'E-2144G' or cpu_model_number = 'E-2146G' or cpu_model_number = 'E-2174G' or 
                  cpu_model_number = 'E-2176G' or cpu_model_number = 'E-2176M' or cpu_model_number = 'E-2186G' or
                  cpu_model_number = 'E-2186M' or cpu_model_number = 'E-2224' or cpu_model_number = 'E-2224G' or 
                  cpu_model_number = 'E-2226G' or cpu_model_number = 'E-2226GE' or cpu_model_number = 'E-2234' or
                  cpu_model_number = 'E-2236' or cpu_model_number = 'E-2244G' or cpu_model_number = 'E-2246G' or 
                  cpu_model_number = 'E-2254ME' or cpu_model_number = 'E-2254ML' or cpu_model_number = 'E-2274G' or
                  cpu_model_number = 'E-2276G' or cpu_model_number = 'E-2276M' or cpu_model_number = 'E-2276ME' or 
                  cpu_model_number = 'E-2276ML' or cpu_model_number = 'E-2278G' or cpu_model_number = 'E-2278GE' or
                  cpu_model_number = 'E-2278GEL' or cpu_model_number = 'E-2286G' or cpu_model_number = 'E-2286M' or 
                  cpu_model_number = 'E-2288G')
                then 'Y'
              when cpu_sub_brand_modifier = 'W' and
                (cpu_model_number = 'W-10855M' or cpu_model_number = 'W-10885M' or cpu_model_number = 'W-11855M' or 
                  cpu_model_number = 'W-11955M' or cpu_model_number = 'W-1250' or cpu_model_number = 'W-1250E' or
                  cpu_model_number = 'W-1250P' or cpu_model_number = 'W-1250TE' or cpu_model_number = 'W-1270' or 
                  cpu_model_number = 'W-1270E' or cpu_model_number = 'W-1270P' or cpu_model_number = 'W-1270TE' or
                  cpu_model_number = 'W-1290' or cpu_model_number = 'W-1290E' or cpu_model_number = 'W-1290P' or 
                  cpu_model_number = 'W-1290T' or cpu_model_number = 'W-1290TE' or cpu_model_number = 'W-2102' or
                  cpu_model_number = 'W-2104' or cpu_model_number = 'W-2123' or cpu_model_number = 'W-2125' or 
                  cpu_model_number = 'W-2133' or cpu_model_number = 'W-2135' or cpu_model_number = 'W-2145' or
                  cpu_model_number = 'W-2155' or cpu_model_number = 'W-2175' or cpu_model_number = 'W-2195' or 
                  cpu_model_number = 'W-2223' or cpu_model_number = 'W-2225' or cpu_model_number = 'W-2235' or
                  cpu_model_number = 'W-2245' or cpu_model_number = 'W-2255' or cpu_model_number = 'W-2265' or 
                  cpu_model_number = 'W-2275' or cpu_model_number = 'W-2295' or cpu_model_number = 'W-3175X' or
                  cpu_model_number = 'W-3223' or cpu_model_number = 'W-3225' or cpu_model_number = 'W-3235' or 
                  cpu_model_number = 'W-3245' or cpu_model_number = 'W-3245M' or cpu_model_number = 'W-3265' or
                  cpu_model_number = 'W-3265M' or cpu_model_number = 'W-3275' or cpu_model_number = 'W-3275M' or
                  cpu_model_number = 'W-3323' or cpu_model_number = 'W-3335' or cpu_model_number = 'W-3345' or
                  cpu_model_number = 'W-3365' or cpu_model_number = 'W-3375')
                then 'Y'
              when cpu_sub_brand_modifier = 'W3' and
                (cpu_model_number = 'W3-2423' or cpu_model_number = 'W3-2425' or cpu_model_number = 'W3-2435')
                then 'Y'
              when cpu_sub_brand_modifier = 'W5' and
                (cpu_model_number = 'W5-2445' or cpu_model_number = 'W5-2455X' or cpu_model_number = 'W5-2465X' or 
                  cpu_model_number = 'W5-3423' or cpu_model_number = 'W5-3425' or cpu_model_number = 'W5-3433' or
                  cpu_model_number = 'W5-3435X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W7' and
                (cpu_model_number = '	W7-2475X' or cpu_model_number = 'W7-2495X' or cpu_model_number = 'W7-3445' or 
                  cpu_model_number = 'W7-3465X')
                then 'Y'
              when cpu_sub_brand_modifier = 'W9' and
                (cpu_model_number = 'W9-3475X' or cpu_model_number = 'W9-3495X')
                then 'Y'
              else 'N'
            end -- Xeon's cpu_sub_brand_modifier
          else 'N'
        end -- Intel's cpu_sub_brand

      -- AMD processors
      when cpu_brand = 'AMD' then
        case
          -- AMD Athlon processors
          when cpu_sub_brand = 'Athlon' and
            (cpu_model_number = '3000G' or cpu_model_number = '300GE' or cpu_model_number = '300U' or cpu_model_number = '320GE' or 
              cpu_model_number = '7120e' or cpu_model_number = '7120U' or cpu_model_number = '7220e' or cpu_model_number = '7220U' or 
              cpu_model_number = 'Gold 3150C' or cpu_model_number = 'Gold 3150G' or cpu_model_number = 'Gold 3150GE' or cpu_model_number = 'Gold 3150U' or 
              cpu_model_number = 'Gold PRO 3125GE' or cpu_model_number = 'Gold PRO 3150G' or cpu_model_number = 'Gold PRO 3150GE' or cpu_model_number = 'Gold PRO 4150GE' or 
              cpu_model_number = 'PRO 300GE' or cpu_model_number = 'PRO 300U' or cpu_model_number = 'PRO 3045B' or 
              cpu_model_number = 'Silver 3050C' or cpu_model_number = 'Silver 3050e' or cpu_model_number = 'Silver 3050GE' or cpu_model_number = 'Silver 3050U' 
              )
            then 'Y'

          -- AMD EPYC processors
          when cpu_sub_brand = 'EPYC' and
            (cpu_model_number = '7252' or cpu_model_number = '7262' or cpu_model_number = '7272' or cpu_model_number = '7282' or 
              cpu_model_number = '7302' or cpu_model_number = '7313' or cpu_model_number = '7343' or cpu_model_number = '7352' or 
              cpu_model_number = '7402' or cpu_model_number = '7413' or cpu_model_number = '7443' or cpu_model_number = '7452' or cpu_model_number = '7453' or 
              cpu_model_number = '7502' or cpu_model_number = '7513' or cpu_model_number = '7532' or cpu_model_number = '7542' or cpu_model_number = '7543' or cpu_model_number = '7552' or 
              cpu_model_number = '7642' or cpu_model_number = '7643' or cpu_model_number = '7662' or cpu_model_number = '7663' or 
              cpu_model_number = '7702' or cpu_model_number = '7713' or cpu_model_number = '7742' or cpu_model_number = '7763' or 
              cpu_model_number = '7232P' or cpu_model_number = '72F3' or
              cpu_model_number = '7302P' or cpu_model_number = '7313P' or cpu_model_number = '73F3' or 
              cpu_model_number = '7402P' or cpu_model_number = '7443P' or cpu_model_number = '74F3' or
              cpu_model_number = '7502P' or cpu_model_number = '7543P' or cpu_model_number = '75F3' or 
              cpu_model_number = '7702P' or cpu_model_number = '7713P' or 
              cpu_model_number = '7F32' or cpu_model_number = '7F52' or cpu_model_number = '7F72' or cpu_model_number = '7H12' or
              cpu_model_number = '8024P' or cpu_model_number = '8024PN' or
              cpu_model_number = '8124P' or cpu_model_number = '8124PN' or
              cpu_model_number = '8224P' or cpu_model_number = '8224PN' or
              cpu_model_number = '8324P' or cpu_model_number = '8324PN' or
              cpu_model_number = '8434P' or cpu_model_number = '8434PN' or
              cpu_model_number = '8534P' or cpu_model_number = '8534PN' or
              cpu_model_number = '9124' or 
              cpu_model_number = '9244' or cpu_model_number = '9254' or
              cpu_model_number = '9334' or cpu_model_number = '9354' or
              cpu_model_number = '9454' or 
              cpu_model_number = '9534' or cpu_model_number = '9554' or
              cpu_model_number = '9654' or cpu_model_number = '9654' or
              cpu_model_number = '9734' or cpu_model_number = '9754' or 
              cpu_model_number = '9174F' or cpu_model_number = '9184X' or
              cpu_model_number = '9274F' or
              cpu_model_number = '9354P' or cpu_model_number = '9374F' or cpu_model_number = '9384X' or
              cpu_model_number = '9454P' or cpu_model_number = '9474F' or
              cpu_model_number = '9554P' or 
              cpu_model_number = '9654P' or cpu_model_number = '9684X' or
              cpu_model_number = '9754S'
              )
            then 'Y'

          -- AMD Ryzen processors
          when cpu_sub_brand = 'Ryzen' then
            case
              when cpu_sub_brand_modifier = '3' and
                (cpu_model_number = '3100' or cpu_model_number = '4100' or 
                  cpu_model_number = '2300X' or cpu_model_number = '3200G' or 
                  cpu_model_number = '3200GE' or cpu_model_number = '3200U' or cpu_model_number = '3250C' or
                  cpu_model_number = '3250U' or cpu_model_number = '3300U' or cpu_model_number = '3350U' or 
                  cpu_model_number = '4300G' or cpu_model_number = '4300GE' or cpu_model_number = '4300U' or
                  cpu_model_number = '5125C' or 
                  cpu_model_number = '5300G' or cpu_model_number = '5300GE' or cpu_model_number = '5300U' or cpu_model_number = '5380U' or 
                  cpu_model_number = '5400U' or cpu_model_number = '5425C' or cpu_model_number = '5425U' or 
                  cpu_model_number = '7320e' or cpu_model_number = '7320U' or cpu_model_number = '7330U' or cpu_model_number = '7335U' or
                  cpu_model_number = '7440U' or 
                  cpu_model_number = '8300G'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '3 PRO' and
                (cpu_model_number = '3200G' or cpu_model_number = '3200GE' or cpu_model_number = '3300U' or 
                  cpu_model_number = '4350G' or cpu_model_number = '4350GE' or cpu_model_number = '4355G' or cpu_model_number = '4355GE' or 
                  cpu_model_number = '4450U' or 
                  cpu_model_number = '5350G' or cpu_model_number = '5350GE' or cpu_model_number = '5450U' or cpu_model_number = '5475U' or 
                  cpu_model_number = '7330U' or 
                  cpu_model_number = '8300G' or cpu_model_number = '8300GE'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '5' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '4500' or 
                  cpu_model_number = '5500' or cpu_model_number = '5600' or cpu_model_number = '7600' or 
                  cpu_model_number = '2500X' or cpu_model_number = '2600E' or cpu_model_number = '2600X' or 
                  cpu_model_number = '3350G' or cpu_model_number = '3350GE' or 
                  cpu_model_number = '3400G' or cpu_model_number = '3400GE' or cpu_model_number = '3450U' or 
                  cpu_model_number = '3500' or cpu_model_number = '3500C' or cpu_model_number = '3500U' or 
                  cpu_model_number = '3550H' or cpu_model_number = '3580U' or 
                  cpu_model_number = '3600X' or cpu_model_number = '3600XT' or 
                  cpu_model_number = '4500U' or 
                  cpu_model_number = '4600U' or cpu_model_number = '4600GE' or cpu_model_number = '4600H' or cpu_model_number = '4600U' or 
                  cpu_model_number = '5300G' or cpu_model_number = '5300GE' or 
                  cpu_model_number = '5425U' or 
                  cpu_model_number = '5500U' or cpu_model_number = '5560U' or 
                  cpu_model_number = '5600G' or cpu_model_number = '5600GE' or cpu_model_number = '5600H' or cpu_model_number = '5600HS' or cpu_model_number = '5600U' or cpu_model_number = '5600X' or
                  cpu_model_number = '5625C' or cpu_model_number = '5625U' or 
                  cpu_model_number = '6600H' or cpu_model_number = '6600HS' or cpu_model_number = '6600U' or 
                  cpu_model_number = '7430U' or 
                  cpu_model_number = '7520U' or cpu_model_number = '7530U' or cpu_model_number = '7535HS' or cpu_model_number = '7535U' or cpu_model_number = '7540U' or 
                  cpu_model_number = '7600X' or cpu_model_number = '7640H' or cpu_model_number = '7640HS' or cpu_model_number = '7640S' or cpu_model_number = '7640U' or cpu_model_number = '7645HX' or
                  cpu_model_number = '8500G' or cpu_model_number = '8600G'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '5 PRO' and
                (cpu_model_number = '2600' or cpu_model_number = '3600' or cpu_model_number = '5645' or 
                  cpu_model_number = '3350G' or cpu_model_number = '3350GE' or 
                  cpu_model_number = '3400G' or cpu_model_number = '3400GE' or 
                  cpu_model_number = '3500U' or 
                  cpu_model_number = '4650G' or cpu_model_number = '4650GE' or cpu_model_number = '4650U' or cpu_model_number = '4655G' or 
                  cpu_model_number = '5650G' or cpu_model_number = '5650GE' or cpu_model_number = '5650HS' or cpu_model_number = '5650HX' or cpu_model_number = '5650U' or cpu_model_number = '5675U' or 
                  cpu_model_number = '5750G' or cpu_model_number = '5750GE' or 
                  cpu_model_number = '6650H' or cpu_model_number = '6650HS' or cpu_model_number = '6650U' or
                  cpu_model_number = '7530U' or cpu_model_number = '7535U' or cpu_model_number = '7540U' or
                  cpu_model_number = '7640U' or 
                  cpu_model_number = '8500G' or 
                  cpu_model_number = '8600G' or cpu_model_number = '8600GE' or cpu_model_number = '8640HS' or cpu_model_number = '8640U' or cpu_model_number = '8645HS'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '7' and
                (cpu_model_number = '2700' or cpu_model_number = '5800' or cpu_model_number = '7700' or 
                  cpu_model_number = '2700E' or cpu_model_number = '2700X' or 
                  cpu_model_number = '3700C' or cpu_model_number = '3700U' or cpu_model_number = '3700X' or cpu_model_number = '3750H' or cpu_model_number = '3780U' or 
                  cpu_model_number = '3800X' or cpu_model_number = '3800XT' or 
                  cpu_model_number = '4700G' or cpu_model_number = '4700GE' or cpu_model_number = '4700U' or 
                  cpu_model_number = '4800H' or cpu_model_number = '4800HS' or cpu_model_number = '4800U' or 
                  cpu_model_number = '5700G' or cpu_model_number = '5700GE' or cpu_model_number = '5700U' or cpu_model_number = '5700X' or 
                  cpu_model_number = '5800H' or cpu_model_number = '5800HS' or cpu_model_number = '5800U' or cpu_model_number = '5800X' or 
                  cpu_model_number = '5800X3D' or cpu_model_number = '5825C' or cpu_model_number = '5825U' or 
                  cpu_model_number = '6800H' or cpu_model_number = '6800HS' or cpu_model_number = '6800U' or cpu_model_number = '6810U' or 
                  cpu_model_number = '7700' or cpu_model_number = '7700X' or cpu_model_number = '7730U' or cpu_model_number = '7735HS' or
                  cpu_model_number = '7735U' or cpu_model_number = '7736U' or cpu_model_number = '7745HX' or
                  cpu_model_number = '7800X3D' or cpu_model_number = '7840H' or cpu_model_number = '7840HS' or
                  cpu_model_number = '7840S' or cpu_model_number = '7840U' or
                  cpu_model_number = '8700G')
                then 'Y'
              when cpu_sub_brand_modifier = '7 PRO' and
                (cpu_model_number = '2700' or cpu_model_number = '2700X' or cpu_model_number = '3700' or cpu_model_number = '3700U' or 
                  cpu_model_number = '4750G' or cpu_model_number = '4750GE' or cpu_model_number = '4750U' or 
                  cpu_model_number = '5845' or cpu_model_number = '5850HS' or cpu_model_number = '5850HX' or cpu_model_number = '5850U' or
                  cpu_model_number = '5875U' or cpu_model_number = '6850H' or cpu_model_number = '6850H' or cpu_model_number = '6850HS' or
                  cpu_model_number = '6850U' or cpu_model_number = '6860Z' or cpu_model_number = '7730U' or cpu_model_number = '7840HS' or cpu_model_number = '7840U' or 
                  cpu_model_number = '8700G' or cpu_model_number = '8840HS' or cpu_model_number = '8840U' or cpu_model_number = '8845HS' or 
                  cpu_model_number = '8945HS')
                then 'Y'
              when cpu_sub_brand_modifier = '9' and
                (cpu_model_number = '3900' or cpu_model_number = '3900X' or cpu_model_number = '3900XT' or cpu_model_number = '3950X' or 
                  cpu_model_number = '4900H' or cpu_model_number = '4900HS' or 
                  cpu_model_number = '5900' or cpu_model_number = '5900HS' or cpu_model_number = '5900HX' or cpu_model_number = '5900X' or 
                  cpu_model_number = '5950X' or cpu_model_number = '5980HS' or cpu_model_number = '5980HX' or
                  cpu_model_number = '6900HS' or cpu_model_number = '6980HS' or cpu_model_number = '6980HX' or
                  cpu_model_number = '7900' or cpu_model_number = '7900X' or cpu_model_number = '7900X3D' or cpu_model_number = '7940H' or
                  cpu_model_number = '7940HS' or cpu_model_number = '7945HX' or cpu_model_number = '7950X' or cpu_model_number = '7950X3D'
                  )
                then 'Y'
              when cpu_sub_brand_modifier = '9 PRO' and 
                (cpu_model_number = '3900' or cpu_model_number = '5945' or 
                  cpu_model_number = '6950H' or cpu_model_number = '6950HS')
                then 'Y'
              when cpu_sub_brand_modifier = 'Embedded' and 
                (cpu_model_number = 'V2516' or cpu_model_number = 'V2546' or 
                  cpu_model_number = 'V2718' or cpu_model_number = 'V2748')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper' and
                (cpu_model_number = '2920X' or cpu_model_number = '2950X' or cpu_model_number = '2970WX' or 
                  cpu_model_number = '2990WX' or cpu_model_number = '3960X' or cpu_model_number = '3970X' or 
                  cpu_model_number = '3990X')
                then 'Y'
              when cpu_sub_brand_modifier = 'Threadripper PRO' and
                (cpu_model_number = '3945WX' or cpu_model_number = '3955WZ' or cpu_model_number = '3975WX' or cpu_model_number = '3995WX' or
                  cpu_model_number = '5945WX' or cpu_model_number = '5955WZ' or cpu_model_number = '5965WZ' or cpu_model_number = '5975WX' or cpu_model_number = '5995WX'
                )
                then 'Y'
              else 'N'
            end -- AMD Ryzen's cpu_sub_brand_modifier
          else -- Unsupported AMD cpu_sub_brand
            'N'
        end
      else -- Unsupported cpu_brand
        'N'
    end as cpu_support_status

  from base_sql s
),

status_sql as (
  select
    s.*,
  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_free_gb < 20.0)
        -- or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        -- or (max_display_res_y is not null and max_display_res_y < 720)
        -- or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
        or (cpu_support_status = 'N')
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when 
      node_cpu_bitwidth is null
        or (node_disk0_c_free_gb is null)
        -- or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        -- or max_display_res_y is null
        -- or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
        or (cpu_support_status is null)
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_inplace_upgrade_label,

  case
    -- First check for incompatible hardware/software
    when (node_cpu_speed_ghz < 1.0)
        or (node_per_cpu_cores < 2)
        or (ram_alloc_gb < 4.0)
        or (node_cpu_bitwidth is not null and node_cpu_bitwidth < 64.0)
        or (node_disk0_c_size_gb < 64.0)
        -- or (node_gpu_color_depth is not null and node_gpu_color_depth < 8)
        or (os_dx12orwddm2 is not null and os_dx12orwddm2 is false)
        -- or (max_display_res_y is not null and max_display_res_y < 720)
        -- or (max_display_size_in_inches is not null and max_display_size_in_inches < 9)
        or (machine_bios_uefi_capable is not null and machine_bios_uefi_capable is false)
        or (machine_secure_boot is not null and machine_secure_boot = 'Not supported')
        or (machine_tpm_specification is not null and machine_tpm_specification is false)
        or (cpu_support_status = 'N')
      then 'Unsupported'
    
    -- Then check for partial/maybe support (when values are NULL)
    when node_cpu_bitwidth is null
        or (node_disk0_c_size_gb is null)
        -- or node_gpu_color_depth is null
        or os_dx12orwddm2 is null
        -- or max_display_res_y is null
        -- or max_display_size_in_inches is null
        or machine_bios_uefi_capable is null
        or machine_secure_boot is null
        or machine_tpm_specification is null
        or (cpu_support_status is null)
      then 'Partial'
    
    -- Otherwise it's supported
    else 'Supported'
  end as win11_image_upgrade_label

  from base_with_cpu_support_sql s
),

by_model as (
	select
		s.machine_model,
		count(distinct s.node_id) as machine_count

	from 
		status_sql s
	where
		s.win11_inplace_upgrade_label = 'Unsupported'
		and s.win11_image_upgrade_label = 'Unsupported'
	group by 
		s.machine_model

	order by 
		machine_count desc

	limit ?
)

select * from by_model;
]]></xml-property>
            <xml-property name="designerValues"><![CDATA[<?xml version="1.0" encoding="UTF-8"?>
<model:DesignValues xmlns:design="http://www.eclipse.org/datatools/connectivity/oda/design" xmlns:model="http://www.eclipse.org/birt/report/model/adapter/odaModel">
  <Version>2.0</Version>
  <DataSetParameters>
    <parameter>
      <design:ParameterDefinition>
        <design:inOutMode>In</design:inOutMode>
        <design:attributes>
          <design:identifier>
            <design:name></design:name>
            <design:position>5</design:position>
          </design:identifier>
          <design:nativeDataTypeCode>-5</design:nativeDataTypeCode>
          <design:precision>0</design:precision>
          <design:scale>0</design:scale>
          <design:nullability>Unknown</design:nullability>
        </design:attributes>
      </design:ParameterDefinition>
    </parameter>
  </DataSetParameters>
</model:DesignValues>]]></xml-property>
        </oda-data-set>
    </data-sets>
    <cubes>
        <tabular-cube name="compatibleUpgrade" id="16304">
            <property name="dimensions">
                <tabular-dimension name="Country" id="16307">
                    <property name="defaultHierarchy">NewTabularHierarchy</property>
                    <property name="hierarchies">
                        <tabular-hierarchy name="NewTabularHierarchy" id="16308">
                            <property name="levels">
                                <tabular-level name="machine_location_country" id="16309">
                                    <property name="dataType">string</property>
                                    <property name="columnName">machine_location_country</property>
                                </tabular-level>
                            </property>
                        </tabular-hierarchy>
                    </property>
                </tabular-dimension>
            </property>
            <property name="measureGroups">
                <tabular-measure-group name="Summary Field" id="16310">
                    <property name="measures">
                        <tabular-measure name="win11_inplace_upgrade_label" id="16311">
                            <property name="function">count</property>
                            <expression name="measureExpression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                            <property name="dataType">integer</property>
                        </tabular-measure>
                    </property>
                </tabular-measure-group>
            </property>
            <property name="dataSet">Windows11UpgradeHardwareCompatibility</property>
        </tabular-cube>
    </cubes>
    <styles>
        <style name="ReportDescription" id="6801">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">10pt</property>
        </style>
        <style name="TableHeaderCell" id="202">
            <property name="backgroundColor">#FFC663</property>
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">9pt</property>
            <property name="fontWeight">bold</property>
            <property name="borderBottomColor">#AAAAAA</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">thin</property>
            <property name="borderLeftColor">#AAAAAA</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">thin</property>
            <property name="borderRightColor">#AAAAAA</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">thin</property>
            <property name="borderTopColor">#AAAAAA</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">thin</property>
            <property name="textAlign">center</property>
            <property name="verticalAlign">middle</property>
        </style>
        <style name="TableCell" id="203">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">8pt</property>
            <property name="borderBottomColor">#AAAAAA</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">thin</property>
            <property name="borderLeftColor">#AAAAAA</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">thin</property>
            <property name="borderRightColor">#AAAAAA</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">thin</property>
            <property name="borderTopColor">#AAAAAA</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">thin</property>
            <property name="textAlign">center</property>
            <property name="verticalAlign">middle</property>
        </style>
        <style name="ReportTitle" id="551">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">16pt</property>
            <property name="fontWeight">bold</property>
        </style>
        <style name="ReportSelectionCriteria" id="552">
            <property name="backgroundColor">#C0C0C0</property>
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">10pt</property>
            <property name="fontStyle">normal</property>
        </style>
        <style name="ReportSectionTitle" id="553">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">12pt</property>
            <property name="fontWeight">bold</property>
        </style>
        <style name="FooterStyle" id="577">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">8pt</property>
        </style>
        <style name="TableFooterCell" id="7155">
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">8pt</property>
            <property name="borderBottomColor">#AAAAAA</property>
            <property name="borderBottomStyle">solid</property>
            <property name="borderBottomWidth">thin</property>
            <property name="borderLeftColor">#AAAAAA</property>
            <property name="borderLeftStyle">solid</property>
            <property name="borderLeftWidth">thin</property>
            <property name="borderRightColor">#AAAAAA</property>
            <property name="borderRightStyle">solid</property>
            <property name="borderRightWidth">thin</property>
            <property name="borderTopColor">#AAAAAA</property>
            <property name="borderTopStyle">solid</property>
            <property name="borderTopWidth">thin</property>
            <property name="paddingTop">0pt</property>
            <property name="paddingLeft">2pt</property>
            <property name="paddingBottom">0pt</property>
            <property name="paddingRight">0pt</property>
            <property name="textAlign">left</property>
            <property name="verticalAlign">middle</property>
        </style>
        <style name="CardTitle-WhiteOnLiquidwareBlue" id="14564">
            <property name="backgroundColor">#0B72BA</property>
            <property name="fontFamily">sans-serif</property>
            <property name="fontSize">12pt</property>
            <property name="fontWeight">bold</property>
            <property name="color">#FFFFFF</property>
        </style>
    </styles>
    <page-setup>
        <simple-master-page name="LandscapeMasterPage" id="11719" extends="lwl-masterpage.LandscapeMasterPage">
            <property name="fontFamily">sans-serif</property>
            <overridden-values>
                <ref-entry baseId="6433" name="MasterPageFooterLandscape" id="6433"/>
                <ref-entry baseId="6434" id="6434"/>
                <ref-entry baseId="6435" id="6435"/>
                <ref-entry baseId="6436" id="6436"/>
                <ref-entry baseId="6437" id="6437"/>
                <ref-entry baseId="6438" id="6438"/>
                <ref-entry baseId="6439" name="NewImage1" id="6439"/>
                <ref-entry baseId="6440" id="6440"/>
                <ref-entry baseId="6544" name="custom_footer2" id="6544"/>
                <ref-entry baseId="6441" id="6441"/>
                <ref-entry baseId="6442" name="PageNumberGrid1" id="6442"/>
                <ref-entry baseId="6443" id="6443"/>
                <ref-entry baseId="6444" id="6444"/>
                <ref-entry baseId="6445" id="6445"/>
                <ref-entry baseId="6446" id="6446"/>
                <ref-entry baseId="6447" name="Page Number Text1" id="6447"/>
                <ref-entry baseId="6448" id="6448"/>
                <ref-entry baseId="6449" name="NewAutoText1" id="6449"/>
                <ref-entry baseId="6450" name="PrintedOn1" id="6450"/>
            </overridden-values>
        </simple-master-page>
        <simple-master-page name="XLSMasterPage" id="11720" extends="lwl-masterpage.XLSMasterPage"/>
    </page-setup>
    <body>
        <grid id="15720">
            <property name="fontFamily">sans-serif</property>
            <property name="marginTop">0pt</property>
            <property name="masterPage">XLSMasterPage</property>
            <property name="pageBreakBefore">auto</property>
            <property name="width">100%</property>
            <list-property name="visibility">
                <structure>
                    <property name="format">doc</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">docx</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">odp</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">odt</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">pdf</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">postscript</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">ppt</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">pptx</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
            </list-property>
            <column id="15721"/>
            <column id="15722"/>
            <row id="15893">
                <cell id="15894">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="textAlign">left</property>
                    <grid name="Report Criteria" id="11765">
                        <property name="fontFamily">sans-serif</property>
                        <property name="marginTop">0pt</property>
                        <property name="marginLeft">0pt</property>
                        <property name="marginBottom">0pt</property>
                        <property name="marginRight">0pt</property>
                        <property name="whiteSpace">pre</property>
                        <property name="pageBreakBefore">always</property>
                        <property name="showIfBlank">true</property>
                        <property name="canShrink">true</property>
                        <property name="width">10in</property>
                        <method name="onCreate"><![CDATA[var strXLSSheetTitle = "Report Filters";
reportContext.getDesignHandle().setProperty("title", strXLSSheetTitle);
]]></method>
                        <text-property name="caption">Caption</text-property>
                        <column id="11766">
                            <property name="width">1.5in</property>
                        </column>
                        <column id="11767">
                            <property name="fontFamily">sans-serif</property>
                            <property name="width">8.5in</property>
                        </column>
                        <row id="11768">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <property name="borderTopColor">#000000</property>
                            <property name="borderTopStyle">solid</property>
                            <property name="borderTopWidth">medium</property>
                            <cell id="11769">
                                <property name="colSpan">1</property>
                                <property name="rowSpan">1</property>
                                <property name="verticalAlign">top</property>
                                <label id="12018">
                                    <property name="style">ReportTitle</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">16pt</property>
                                    <property name="paddingRight">5pt</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Report Title:</text-property>
                                </label>
                            </cell>
                            <cell id="12009">
                                <label id="11770">
                                    <property name="style">ReportTitle</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">16pt</property>
                                    <property name="paddingRight">5pt</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Microsoft Windows 11 Migration - Windows 10 Machines Replacement List</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="11771">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="11772">
                                <property name="colSpan">1</property>
                                <property name="rowSpan">1</property>
                                <property name="verticalAlign">top</property>
                                <label id="12019">
                                    <property name="style">ReportDescription</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <text-property name="text">Description:</text-property>
                                </label>
                            </cell>
                            <cell id="12010">
                                <label id="11773">
                                    <property name="style">ReportDescription</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <text-property name="text">This report lists the machines that need to be replaced due to lack of specifications or minimum requirements for Windows 11. This list will details why the machines are not recommended to run Windows 11. &#13;
&#13;
The report displays a breakdown of all the different editions of Windows 10 such as Professional, Enterprise, etc., OS Versions such as 21H2, 22H2, etc., CPU Clock Speed, CPU Cores, RAM, Disk Free, TPM, UEFI, Machine Chassis, Make, Model, and if available their location by Country, State, and City.&#13;
&#13;
It can also be filtered by Machine Groups to only show machines within a Machine Group. These filters can be applied within the Stratusphere Web UI before running the selected report.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17568">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17569">
                                <property name="verticalAlign">top</property>
                            </cell>
                            <cell id="17570"/>
                        </row>
                        <row id="17565">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17566">
                                <property name="verticalAlign">top</property>
                                <label id="17882">
                                    <property name="style">ReportDescription</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <text-property name="text">Requirements:</text-property>
                                </label>
                            </cell>
                            <cell id="17567">
                                <label id="17861">
                                    <property name="style">ReportDescription</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <text-property name="text">Note: This report uses Microsoft Windows 11 System Requirements as published by Microsoft on their web site.&#13;
Here are some highlights:&#13;
Processor: 1 gigahertz (GHz) or faster with 2 or more cores on a compatible 64-bit processor or System on a Chip (SoC).&#13;
RAM: 4 gigabytes (GB)&#13;
Storage: 64 GB or larger storage device.&#13;
System firmware: UEFI, Secure Boot capable.&#13;
TPM	: Trusted Platform Module (TPM) version 2.0.&#13;
Graphics card: Compatible with DirectX 12 or later with WDDM 2.0 driver.&#13;
Display: High definition (720p) display that is greater than 9” diagonally, 8 bits per color channel. &#13;
</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Microsoft Windows 11 System Requirements</property>
                                            <expression name="uri" type="constant">https://www.microsoft.com/en-us/windows/windows-11-specifications</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17577">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17578">
                                <property name="verticalAlign">top</property>
                                <label id="17883">
                                    <property name="style">ReportDescription</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <text-property name="text">CPU Support:</text-property>
                                </label>
                            </cell>
                            <cell id="17579">
                                <label id="17866">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Microsoft has published a list of processors from Intel and AMD that are officially supported for Windows 11. This column displays this support but is NOT considered for Compatibility. Example: For Intel Core, only 8th generation and higher are fully supported by Microsoft for Windows 11. Please refer to the following links for additional information:</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">none</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17574">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17575">
                                <property name="verticalAlign">top</property>
                            </cell>
                            <cell id="17576">
                                <label id="17867">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Link to Windows 11 Supported Intel Processors as of February 28, 2025.</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported Intel Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-intel-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17571">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17572">
                                <property name="verticalAlign">top</property>
                            </cell>
                            <cell id="17573">
                                <label id="17868">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Link to Windows 11 Supported AMD Processors as of April 8, 2025.</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported AMD Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-amd-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17595">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17596">
                                <property name="verticalAlign">top</property>
                            </cell>
                            <cell id="17597">
                                <label id="17869">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">This report does not determine support for Qualcomm processors.</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported AMD Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-amd-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17580">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17581">
                                <property name="verticalAlign">top</property>
                            </cell>
                            <cell id="17582"/>
                        </row>
                        <row id="11774">
                            <property name="borderBottomColor">#000000</property>
                            <property name="borderBottomStyle">dotted</property>
                            <property name="borderBottomWidth">1px</property>
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <property name="borderTopColor">#000000</property>
                            <property name="borderTopStyle">solid</property>
                            <property name="borderTopWidth">1px</property>
                            <cell id="11775">
                                <property name="colSpan">2</property>
                                <property name="rowSpan">1</property>
                                <property name="backgroundColor">silver</property>
                                <label id="11776">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="fontWeight">bold</property>
                                    <text-property name="text">Report Filters</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12308">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <property name="borderTopColor">#000000</property>
                            <property name="borderTopStyle">dotted</property>
                            <property name="borderTopWidth">thin</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="12309">
                                <property name="backgroundColor">silver</property>
                                <label id="12011">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="fontWeight">bold</property>
                                    <text-property name="text">Start Date:</text-property>
                                </label>
                            </cell>
                            <cell id="12310">
                                <property name="backgroundColor">silver</property>
                            </cell>
                        </row>
                        <row id="12311">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="12312">
                                <property name="backgroundColor">silver</property>
                                <label id="12015">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="fontWeight">bold</property>
                                    <text-property name="text">End Date:</text-property>
                                </label>
                            </cell>
                            <cell id="12313">
                                <property name="backgroundColor">silver</property>
                            </cell>
                        </row>
                        <row id="12317">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="12318">
                                <property name="backgroundColor">silver</property>
                                <label id="12016">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="fontWeight">bold</property>
                                    <text-property name="text">User Group:</text-property>
                                </label>
                            </cell>
                            <cell id="12319">
                                <property name="backgroundColor">silver</property>
                            </cell>
                        </row>
                        <row id="16750">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="16751">
                                <property name="backgroundColor">silver</property>
                                <label id="12017">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="fontWeight">bold</property>
                                    <text-property name="text">Machine Group:</text-property>
                                </label>
                            </cell>
                            <cell id="16752">
                                <property name="backgroundColor">silver</property>
                                <text-data id="11786">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="paddingRight">1pt</property>
                                    <property name="textAlign">left</property>
                                    <expression name="valueExpr">var grp = params["MachineGroup"];
if (grp == "%") { grp = "All Machines"; }
grp;</expression>
                                    <property name="contentType">html</property>
                                </text-data>
                            </cell>
                        </row>
                        <row id="17536">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17537">
                                <property name="backgroundColor">silver</property>
                                <label id="17539">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="fontWeight">bold</property>
                                    <text-property name="text">Filters:</text-property>
                                </label>
                            </cell>
                            <cell id="17538">
                                <property name="backgroundColor">silver</property>
                                <text-data id="7287">
                                    <property name="style">ReportSelectionCriteria</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="textAlign">left</property>
                                    <expression name="valueExpr">"Machines observed within last " + params["ThresholdValue"] + " days."</expression>
                                    <property name="contentType">html</property>
                                </text-data>
                            </cell>
                        </row>
                        <row id="17557">
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="17558">
                                <property name="backgroundColor">silver</property>
                            </cell>
                            <cell id="17559">
                                <property name="backgroundColor">silver</property>
                                <label id="17540">
                                    <text-property name="text">Physical machines</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="11787">
                            <property name="borderBottomColor">#000000</property>
                            <property name="borderBottomStyle">solid</property>
                            <property name="borderBottomWidth">medium</property>
                            <property name="borderLeftColor">#000000</property>
                            <property name="borderLeftStyle">solid</property>
                            <property name="borderLeftWidth">medium</property>
                            <property name="borderRightColor">#000000</property>
                            <property name="borderRightStyle">solid</property>
                            <property name="borderRightWidth">medium</property>
                            <cell id="11788">
                                <property name="colSpan">1</property>
                                <property name="rowSpan">1</property>
                                <property name="backgroundColor">silver</property>
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                            </cell>
                            <cell id="11790">
                                <property name="backgroundColor">silver</property>
                                <label id="17541">
                                    <text-property name="text">Windows 10 and older machines</text-property>
                                </label>
                            </cell>
                        </row>
                    </grid>
                </cell>
            </row>
            <row id="16964">
                <property name="pageBreakBefore">always</property>
                <cell id="16965">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="textAlign">left</property>
                    <grid name="Summary" id="16966">
                        <property name="textAlign">left</property>
                        <property name="whiteSpace">pre</property>
                        <property name="width">10in</property>
                        <column id="16967">
                            <property name="width">5in</property>
                        </column>
                        <column id="16968">
                            <property name="width">5in</property>
                        </column>
                        <row id="17551">
                            <cell id="17552"/>
                            <cell id="17553"/>
                        </row>
                        <row id="17426">
                            <cell id="17427">
                                <property name="colSpan">2</property>
                                <property name="rowSpan">1</property>
                                <grid id="17457">
                                    <property name="borderBottomStyle">solid</property>
                                    <property name="borderBottomWidth">medium</property>
                                    <property name="borderLeftStyle">solid</property>
                                    <property name="borderLeftWidth">medium</property>
                                    <property name="borderRightStyle">solid</property>
                                    <property name="borderRightWidth">medium</property>
                                    <property name="borderTopStyle">solid</property>
                                    <property name="borderTopWidth">medium</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">Aggregation</property>
                                            <text-property name="displayName">windows_10_count</text-property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">in_place_upgrade_count</property>
                                            <text-property name="displayName">in_place_upgrade_count</text-property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">dataSetRow["win11_inplace_upgrade_label"] == "Supported" ? true : false;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">image_wipe_count</property>
                                            <text-property name="displayName">image_wipe_count</text-property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">dataSetRow["win11_image_upgrade_label"] == "Supported" ? true : false;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">replacement_count</property>
                                            <text-property name="displayName">replacement_count</text-property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">dataSetRow["win11_inplace_upgrade_label"] != "Supported" &amp;&amp; dataSetRow["win11_image_upgrade_label"] != "Supported" ? true : false;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">Partial Count</property>
                                            <text-property name="displayName">partial_count</text-property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">dataSetRow["win11_inplace_upgrade_label"] == "Partial" &amp;&amp; dataSetRow["win11_image_upgrade_label"] == "Partial" ? true : false;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                    </list-property>
                                    <column id="17458"/>
                                    <column id="17459"/>
                                    <row id="17460">
                                        <cell id="17461">
                                            <property name="borderLeftStyle">solid</property>
                                            <property name="borderLeftWidth">medium</property>
                                            <property name="borderTopStyle">solid</property>
                                            <property name="borderTopWidth">medium</property>
                                            <property name="textAlign">right</property>
                                            <label id="17438">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">14pt</property>
                                                <text-property name="text">Windows 10 Support</text-property>
                                            </label>
                                        </cell>
                                        <cell id="17462">
                                            <property name="borderRightStyle">solid</property>
                                            <property name="borderRightWidth">medium</property>
                                            <property name="borderTopStyle">solid</property>
                                            <property name="borderTopWidth">medium</property>
                                            <text-data id="17439">
                                                <property name="fontSize">14pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="dataSet">CountdownToEoS</property>
                                                <list-property name="boundDataColumns">
                                                    <structure>
                                                        <property name="name">days_difference</property>
                                                        <text-property name="displayName">days_difference</text-property>
                                                        <expression name="expression" type="javascript">dataSetRow["days_difference"]</expression>
                                                        <property name="dataType">decimal</property>
                                                    </structure>
                                                </list-property>
                                                <expression name="valueExpr">var data = row["days_difference"];&#13;
var unit = " days."&#13;
var display = "ends in ";&#13;
if (data > 0) {&#13;
	display += data + unit;&#13;
}&#13;
else if (data == 0) {&#13;
	display = "today.";&#13;
}&#13;
else {&#13;
	display = "has ended.";&#13;
}&#13;
display;</expression>
                                                <property name="contentType">html</property>
                                            </text-data>
                                        </cell>
                                    </row>
                                    <row id="17463">
                                        <cell id="17464">
                                            <property name="borderBottomStyle">solid</property>
                                            <property name="borderBottomWidth">medium</property>
                                            <property name="borderLeftStyle">solid</property>
                                            <property name="borderLeftWidth">medium</property>
                                            <property name="borderTopStyle">solid</property>
                                            <property name="borderTopWidth">medium</property>
                                            <property name="textAlign">right</property>
                                            <label id="17440">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">14pt</property>
                                                <text-property name="text">Total Windows 11 Machines</text-property>
                                            </label>
                                        </cell>
                                        <cell id="17465">
                                            <property name="borderBottomStyle">solid</property>
                                            <property name="borderBottomWidth">medium</property>
                                            <property name="borderRightStyle">solid</property>
                                            <property name="borderRightWidth">medium</property>
                                            <property name="borderTopStyle">solid</property>
                                            <property name="borderTopWidth">medium</property>
                                            <text-data id="17441">
                                                <property name="fontSize">14pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="dataSet">Windows11MachineCount</property>
                                                <list-property name="boundDataColumns">
                                                    <structure>
                                                        <property name="name">machine_count</property>
                                                        <text-property name="displayName">machine_count</text-property>
                                                        <expression name="expression" type="javascript">dataSetRow["machine_count"]</expression>
                                                        <property name="dataType">decimal</property>
                                                    </structure>
                                                </list-property>
                                                <expression name="valueExpr">var data = row["machine_count"];&#13;
var unit = "";&#13;
var display = data + unit;&#13;
display;</expression>
                                                <property name="contentType">html</property>
                                            </text-data>
                                        </cell>
                                    </row>
                                    <row id="17466">
                                        <cell id="17467">
                                            <property name="textAlign">right</property>
                                            <label id="17442">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">14pt</property>
                                                <text-property name="text">Total Windows 10 Machines</text-property>
                                            </label>
                                        </cell>
                                        <cell id="17468">
                                            <data id="17478">
                                                <property name="fontSize">14pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">Aggregation</property>
                                            </data>
                                        </cell>
                                    </row>
                                    <row id="17469">
                                        <cell id="17470">
                                            <property name="textAlign">right</property>
                                            <label id="17443">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">14pt</property>
                                                <text-property name="text">Windows 10 In-place Upgradable Machines</text-property>
                                            </label>
                                        </cell>
                                        <cell id="17471">
                                            <data id="17479">
                                                <property name="fontSize">14pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">in_place_upgrade_count</property>
                                            </data>
                                        </cell>
                                    </row>
                                    <row id="17472">
                                        <cell id="17473">
                                            <property name="textAlign">right</property>
                                            <label id="17444">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">14pt</property>
                                                <text-property name="text">Windows 10 Image Wipe Upgrade Machines</text-property>
                                            </label>
                                        </cell>
                                        <cell id="17474">
                                            <data id="17480">
                                                <property name="fontSize">14pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">image_wipe_count</property>
                                            </data>
                                        </cell>
                                    </row>
                                    <row id="17560">
                                        <cell id="17561">
                                            <property name="textAlign">right</property>
                                            <label id="17563">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">14pt</property>
                                                <text-property name="text">Windows 10 Potentially Upgradable Machines</text-property>
                                            </label>
                                        </cell>
                                        <cell id="17562">
                                            <data id="17564">
                                                <property name="fontSize">14pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">Partial Count</property>
                                            </data>
                                        </cell>
                                    </row>
                                    <row id="17475">
                                        <cell id="17476">
                                            <property name="textAlign">right</property>
                                            <label id="17445">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">14pt</property>
                                                <text-property name="text">Windows 10 Machines to be Replaced</text-property>
                                            </label>
                                        </cell>
                                        <cell id="17477">
                                            <data id="17481">
                                                <property name="fontSize">14pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">replacement_count</property>
                                            </data>
                                        </cell>
                                    </row>
                                </grid>
                            </cell>
                        </row>
                        <row id="17554">
                            <cell id="17555"/>
                            <cell id="17556"/>
                        </row>
                        <row id="17482">
                            <cell id="17483">
                                <property name="colSpan">2</property>
                                <property name="rowSpan">1</property>
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <label id="17485">
                                    <property name="style">ReportSectionTitle</property>
                                    <property name="fontSize">16pt</property>
                                    <text-property name="text">Summary of Windows 10 Machines to be Replaced</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="16972">
                            <cell id="16973">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17371">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Bar Chart</Type>
  <SubType>Side-by-side</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by OS Edition</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Stretch>Both</Stretch>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Horizontal</Orientation>
      <Direction>Left_Right</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Below</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <Axes>
    <Type>Text</Type>
    <Title>
      <Caption>
        <Value>X-Axis Title</Value>
        <Font>
          <Size>14.0</Size>
          <Bold>true</Bold>
          <Alignment>
            <horizontalAlignment>Center</horizontalAlignment>
            <verticalAlignment>Center</verticalAlignment>
          </Alignment>
        </Font>
      </Caption>
      <Background xsi:type="attribute:ColorDefinition">
        <Transparency>0</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Background>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
      </Outline>
      <Insets>
        <Top>0.0</Top>
        <Left>2.0</Left>
        <Bottom>0.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Visible>false</Visible>
    </Title>
    <TitlePosition>Below</TitlePosition>
    <AssociatedAxes>
      <Type>Linear</Type>
      <Title>
        <Caption>
          <Value>Y-Axis Title</Value>
          <Font>
            <Size>14.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Left</TitlePosition>
      <SeriesDefinitions>
        <Query>
          <Definition></Definition>
        </Query>
        <SeriesPalette>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>51</Red>
            <Green>102</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>204</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>153</Red>
            <Green>204</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>51</Red>
            <Green>204</Green>
            <Blue>204</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>192</Red>
            <Green>192</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>192</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>7</Red>
            <Green>146</Green>
            <Blue>94</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>64</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>80</Red>
            <Green>240</Green>
            <Blue>120</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>0</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
        </SeriesPalette>
        <Series xsi:type="type:BarSeries">
          <Visible>true</Visible>
          <Label>
            <Caption>
              <Value></Value>
              <Font>
                <Name>SansSerif</Name>
                <Size>9.0</Size>
                <Alignment/>
              </Font>
            </Caption>
            <Background xsi:type="attribute:ColorDefinition">
              <Transparency>0</Transparency>
              <Red>255</Red>
              <Green>255</Green>
              <Blue>255</Blue>
            </Background>
            <Outline>
              <Style>Solid</Style>
              <Thickness>1</Thickness>
              <Color>
                <Transparency>255</Transparency>
                <Red>0</Red>
                <Green>0</Green>
                <Blue>0</Blue>
              </Color>
              <Visible>false</Visible>
            </Outline>
            <Insets>
              <Top>0.0</Top>
              <Left>2.0</Left>
              <Bottom>0.0</Bottom>
              <Right>3.0</Right>
            </Insets>
            <Visible>true</Visible>
          </Label>
          <DataDefinition>
            <Definition>row[&quot;node_id&quot;]</Definition>
            <Grouping>
              <Enabled>false</Enabled>
              <GroupType>Text</GroupType>
              <AggregateExpression xsi:nil="true"/>
            </Grouping>
          </DataDefinition>
          <SeriesIdentifier>Unsupported</SeriesIdentifier>
          <DataPoint>
            <Components>
              <Type>Orthogonal_Value</Type>
            </Components>
            <Separator></Separator>
          </DataPoint>
          <LabelPosition>Outside</LabelPosition>
          <Stacked>false</Stacked>
          <Triggers>
            <Condition>onmouseover</Condition>
            <Action>
              <Type>Show_Tooltip</Type>
              <Value xsi:type="attribute:TooltipValue">
                <Text></Text>
                <Delay>200</Delay>
              </Value>
            </Action>
          </Triggers>
          <Riser>Rectangle</Riser>
        </Series>
      </SeriesDefinitions>
      <Orientation>Vertical</Orientation>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </LineAttributes>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
      <LabelPosition>Left</LabelPosition>
      <MajorGrid>
        <LineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>196</Red>
            <Green>196</Green>
            <Blue>196</Blue>
          </Color>
          <Visible>false</Visible>
        </LineAttributes>
        <TickStyle>Across</TickStyle>
        <TickAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>196</Red>
            <Green>196</Green>
            <Blue>196</Blue>
          </Color>
          <Visible>true</Visible>
        </TickAttributes>
      </MajorGrid>
      <MinorGrid>
        <LineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>225</Red>
            <Green>225</Green>
            <Blue>225</Blue>
          </Color>
          <Visible>false</Visible>
        </LineAttributes>
        <TickStyle>Across</TickStyle>
        <TickAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>225</Red>
            <Green>225</Green>
            <Blue>225</Blue>
          </Color>
          <Visible>false</Visible>
        </TickAttributes>
      </MinorGrid>
      <Scale>
        <MinorGridsPerUnit>5</MinorGridsPerUnit>
      </Scale>
      <Origin>
        <Type>Min</Type>
        <Value xsi:type="data:NumberDataElement">
          <Value>0.0</Value>
        </Value>
      </Origin>
      <PrimaryAxis>true</PrimaryAxis>
      <Percent>false</Percent>
    </AssociatedAxes>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series>
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>false</Visible>
        </Label>
        <DataDefinition>
          <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;node_os_desc&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
data;</Definition>
        </DataDefinition>
        <SeriesIdentifier></SeriesIdentifier>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
      </Series>
      <Grouping>
        <Enabled>true</Enabled>
        <GroupType>Text</GroupType>
        <AggregateExpression>DistinctCount</AggregateExpression>
      </Grouping>
      <Sorting>Ascending</Sorting>
      <SortKey>
        <Definition>row[&quot;node_os_desc&quot;]</Definition>
      </SortKey>
    </SeriesDefinitions>
    <Orientation>Horizontal</Orientation>
    <LineAttributes>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>true</Visible>
    </LineAttributes>
    <Label>
      <Caption>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Caption>
      <Background xsi:type="attribute:ColorDefinition">
        <Transparency>0</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Background>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
      </Outline>
      <Insets>
        <Top>0.0</Top>
        <Left>2.0</Left>
        <Bottom>0.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Visible>true</Visible>
    </Label>
    <LabelPosition>Below</LabelPosition>
    <MajorGrid>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>196</Red>
          <Green>196</Green>
          <Blue>196</Blue>
        </Color>
        <Visible>false</Visible>
      </LineAttributes>
      <TickStyle>Across</TickStyle>
      <TickAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>196</Red>
          <Green>196</Green>
          <Blue>196</Blue>
        </Color>
        <Visible>true</Visible>
      </TickAttributes>
    </MajorGrid>
    <MinorGrid>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>225</Red>
          <Green>225</Green>
          <Blue>225</Blue>
        </Color>
        <Visible>false</Visible>
      </LineAttributes>
      <TickStyle>Across</TickStyle>
      <TickAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>225</Red>
          <Green>225</Green>
          <Blue>225</Blue>
        </Color>
        <Visible>false</Visible>
      </TickAttributes>
    </MinorGrid>
    <Scale>
      <MinorGridsPerUnit>5</MinorGridsPerUnit>
    </Scale>
    <Origin>
      <Type>Min</Type>
      <Value xsi:type="data:NumberDataElement">
        <Value>0.0</Value>
      </Value>
    </Origin>
    <PrimaryAxis>true</PrimaryAxis>
    <CategoryAxis>true</CategoryAxis>
    <Percent>false</Percent>
  </Axes>
  <Orientation>Horizontal</Orientation>
  <UnitSpacing>50.0</UnitSpacing>
  <Rotation>
    <Angles>
      <XAngle>-20.0</XAngle>
      <YAngle>45.0</YAngle>
      <ZAngle>0.0</ZAngle>
      <Type>None</Type>
    </Angles>
  </Rotation>
</model:ChartWithAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16974">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17372">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by OS Version</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>102</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>204</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var data = &quot;Unknown&quot;;&#xD;
if (row[&quot;os_build_version&quot;] != null) {&#xD;
	data = row[&quot;os_build_version&quot;];&#xD;
}&#xD;
data;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>DistinctCount</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;os_build_version&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <text-property name="displayName">machine_name</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <text-property name="displayName">machine_fqmn</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <text-property name="displayName">machine_last_contact</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <text-property name="displayName">machine_make</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <text-property name="displayName">machine_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <text-property name="displayName">machine_chassis_type</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <text-property name="displayName">node_os_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <text-property name="displayName">node_os_desc</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <text-property name="displayName">os_build_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <text-property name="displayName">node_cpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <text-property name="displayName">node_cpu_short_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <text-property name="displayName">cpu_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <text-property name="displayName">cpu_sub_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <text-property name="displayName">cpu_model_number</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <text-property name="displayName">cpu_sku_level</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <text-property name="displayName">cpu_generation</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <text-property name="displayName">cpu_sku</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <text-property name="displayName">node_per_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <text-property name="displayName">node_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <text-property name="displayName">node_cpu_bitwidth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <text-property name="displayName">node_ram_allocated_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <text-property name="displayName">ram_alloc_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <text-property name="displayName">node_total_disk_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <text-property name="displayName">node_total_disk_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <text-property name="displayName">node_total_disk_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <text-property name="displayName">node_gpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <text-property name="displayName">node_discrete_gpu_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <text-property name="displayName">node_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <text-property name="displayName">node_discrete_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <text-property name="displayName">node_gpu_color_depth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <text-property name="displayName">os_dx12orwddm2</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <text-property name="displayName">node_display_dimensions</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <text-property name="displayName">max_display_res_y</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <text-property name="displayName">node_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <text-property name="displayName">max_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <text-property name="displayName">node_display_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <text-property name="displayName">machine_secure_boot</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <text-property name="displayName">machine_tpm_specifications</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <text-property name="displayName">machine_tpm_specification</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <text-property name="displayName">machine_location_city_state_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <text-property name="displayName">machine_location_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <text-property name="displayName">machine_location_state</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <text-property name="displayName">machine_location_city</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <text-property name="displayName">cpu_support_status</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <text-property name="displayName">win11_image_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                        </row>
                        <row id="16975">
                            <cell id="16976">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17373">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by CPU Clock Speed</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>50</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>153</Green>
        <Blue>102</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>154</Red>
        <Green>204</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>124</Red>
        <Green>124</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>50</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>153</Green>
          <Blue>102</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>154</Red>
          <Green>204</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>124</Red>
          <Green>124</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var data = row[&quot;node_cpu_speed_ghz&quot;];&#xD;
var dispData = &quot;Unknown&quot;;&#xD;
if (data != null) {&#xD;
	if (data &lt;= 1.0) {&#xD;
		dispData = &quot;&lt;= 1.0 GHz&quot;;&#xD;
	} else if (data > 1.0 &amp;&amp; data &lt;= 1.5) {&#xD;
		dispData = &quot;&lt;= 1.5 GHz&quot;;&#xD;
	} else if (data > 1.5 &amp;&amp; data &lt;= 2.0) {&#xD;
		dispData = &quot;&lt;= 2.0 GHz&quot;;&#xD;
	} else if (data > 2.0 &amp;&amp; data &lt;= 2.5) {&#xD;
		dispData = &quot;&lt;= 2.5 GHz&quot;;&#xD;
	} else if (data > 2.5 &amp;&amp; data &lt;= 3.0) {&#xD;
		dispData = &quot;&lt;= 3.0 GHz&quot;;&#xD;
	} else if (data > 3.0 &amp;&amp; data &lt;= 3.5) {&#xD;
		dispData = &quot;&lt;= 3.5 GHz&quot;;&#xD;
	} else if (data > 3.5 &amp;&amp; data &lt;= 4.0) {&#xD;
		dispData = &quot;&lt;= 4.0 GHz&quot;;&#xD;
	} else {&#xD;
		dispData = &quot;> 4 GHz&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupingInterval>1.0</GroupingInterval>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>var data = row[&quot;node_cpu_speed_ghz&quot;];&#xD;
var dispData = &quot;Unknown&quot;;&#xD;
if (data != null) {&#xD;
	if (data &lt;= 1.0) {&#xD;
		dispData = &quot;&lt;= 1.0 GHz&quot;;&#xD;
	} else if (data > 1.0 &amp;&amp; data &lt;= 1.5) {&#xD;
		dispData = &quot;&lt;= 1.5 GHz&quot;;&#xD;
	} else if (data > 1.5 &amp;&amp; data &lt;= 2.0) {&#xD;
		dispData = &quot;&lt;= 2.0 GHz&quot;;&#xD;
	} else if (data > 2.0 &amp;&amp; data &lt;= 2.5) {&#xD;
		dispData = &quot;&lt;= 2.5 GHz&quot;;&#xD;
	} else if (data > 2.5 &amp;&amp; data &lt;= 3.0) {&#xD;
		dispData = &quot;&lt;= 3.0 GHz&quot;;&#xD;
	} else if (data > 3.0 &amp;&amp; data &lt;= 3.5) {&#xD;
		dispData = &quot;&lt;= 3.5 GHz&quot;;&#xD;
	} else if (data > 3.5 &amp;&amp; data &lt;= 4.0) {&#xD;
		dispData = &quot;&lt;= 4.0 GHz&quot;;&#xD;
	} else {&#xD;
		dispData = &quot;> 4 GHz&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16977">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17374">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by CPU Cores</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var displayValue = dph.getBaseDisplayValue();&#xD;
	if (displayValue >= 4) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	    mycolor.setTransparency(255);&#xD;
	}&#xD;
	else if (displayValue >= 2 &amp;&amp; displayValue &lt; 4) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(192);&#xD;
	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue &lt; 2) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>50</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>153</Green>
        <Blue>102</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>154</Red>
        <Green>204</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>124</Red>
        <Green>124</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>50</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>153</Green>
          <Blue>102</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>154</Red>
          <Green>204</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>124</Red>
          <Green>124</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Suffix> cores</Suffix>
          <Separator> count, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;node_cpu_cores&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;node_cpu_cores&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                        </row>
                        <row id="16978">
                            <cell id="16979">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17375">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by RAM</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	if (displayValue == &quot; > 32&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(64);&#xD;
	}&#xD;
	else if (displayValue == &quot; 16 - 32&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
//	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue == &quot; 8 - 16&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(192);&#xD;
//	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue == &quot; 4 - 8&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(255);&#xD;
//	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue == &quot; &lt; 4&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>204</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Suffix> GB</Suffix>
          <Separator> count, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;ram_alloc_gb&quot;];&#xD;
if (data != null) {&#xD;
	if (data &lt; 4) {&#xD;
		dispData = &quot; &lt; 4&quot;;&#xD;
	} else if (data >= 4 &amp;&amp; data &lt;= 8) {&#xD;
		dispData = &quot; 4 - 8&quot;;&#xD;
	} else if (data > 8 &amp;&amp; data &lt;= 16) {&#xD;
		dispData = &quot; 8 - 16&quot;;&#xD;
	} else if (data > 16 &amp;&amp; data &lt;= 32) {&#xD;
		dispData = &quot; 16 - 32&quot;;&#xD;
	} else {&#xD;
		dispData = &quot; > 32&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;ram_alloc_gb&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16980">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17376">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by Disk Free Space</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	if (displayValue == &quot; >= 20&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(64);&#xD;
	}&#xD;
	else if (displayValue == &quot; &lt; 20&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>153</Green>
        <Blue>102</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>154</Red>
        <Green>204</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>232</Red>
        <Green>172</Green>
        <Blue>57</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>153</Green>
          <Blue>102</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>154</Red>
          <Green>204</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>232</Red>
          <Green>172</Green>
          <Blue>57</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Suffix> GB</Suffix>
          <Separator> count, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;node_disk0_c_free_gb&quot;];&#xD;
if (data != null) {&#xD;
	if (data &lt; 20) {&#xD;
		dispData = &quot; &lt; 20&quot;;&#xD;
	} else {&#xD;
		dispData = &quot; >= 20&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;ram_alloc_gb&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                        </row>
                        <row id="16981">
                            <cell id="16982">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17377">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>By Chassis</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>204</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var data = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_chassis_type&quot;] != null) {&#xD;
	data = row[&quot;machine_chassis_type&quot;];&#xD;
}&#xD;
data;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_chassis_type&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <text-property name="displayName">machine_name</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <text-property name="displayName">machine_fqmn</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <text-property name="displayName">machine_last_contact</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <text-property name="displayName">machine_make</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <text-property name="displayName">machine_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <text-property name="displayName">machine_chassis_type</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <text-property name="displayName">node_os_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <text-property name="displayName">node_os_desc</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <text-property name="displayName">os_build_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <text-property name="displayName">node_cpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <text-property name="displayName">node_cpu_short_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <text-property name="displayName">cpu_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <text-property name="displayName">cpu_sub_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <text-property name="displayName">cpu_model_number</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <text-property name="displayName">cpu_sku_level</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <text-property name="displayName">cpu_generation</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <text-property name="displayName">cpu_sku</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <text-property name="displayName">node_per_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <text-property name="displayName">node_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <text-property name="displayName">node_cpu_bitwidth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <text-property name="displayName">node_ram_allocated_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <text-property name="displayName">ram_alloc_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <text-property name="displayName">node_total_disk_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <text-property name="displayName">node_total_disk_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <text-property name="displayName">node_total_disk_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <text-property name="displayName">node_gpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <text-property name="displayName">node_discrete_gpu_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <text-property name="displayName">node_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <text-property name="displayName">node_discrete_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <text-property name="displayName">node_gpu_color_depth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <text-property name="displayName">os_dx12orwddm2</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <text-property name="displayName">node_display_dimensions</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <text-property name="displayName">max_display_res_y</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <text-property name="displayName">node_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <text-property name="displayName">max_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <text-property name="displayName">node_display_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <text-property name="displayName">machine_secure_boot</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <text-property name="displayName">machine_tpm_specifications</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <text-property name="displayName">machine_tpm_specification</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <text-property name="displayName">machine_location_city_state_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <text-property name="displayName">machine_location_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <text-property name="displayName">machine_location_state</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <text-property name="displayName">machine_location_city</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <text-property name="displayName">win11_image_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <text-property name="displayName">cpu_support_status</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16983">
                                <property name="textAlign">center</property>
                            </cell>
                        </row>
                        <row id="16984">
                            <cell id="16985">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17378">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Top 5 Machines Makes</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>102</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;machine_count&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_make&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>false</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Count</AggregateExpression>
    </Grouping>
    <Sorting>Descending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_count&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">ByMachineMake</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16986">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17379">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Top 5 Machine Models</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>102</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;machine_count&quot;];</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_model&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>false</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>DistinctCount</AggregateExpression>
    </Grouping>
    <Sorting>Descending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_count&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">ByMachineModel</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_count</property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                        </row>
                        <row id="16987">
                            <cell id="16988">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17380">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by TPM Specifications</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>&#xD;
/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
    // Try different methods to get the value that might contain &quot;1.&quot; or &quot;2.&quot; prefix&#xD;
    var categoryValue = null;&#xD;
    &#xD;
    // Try these different methods to access the category value&#xD;
    try {&#xD;
        categoryValue = dph.getCategoryValue();&#xD;
        &#xD;
        // If that didn't work, try other methods&#xD;
        if (categoryValue == null || !categoryValue.toString().match(/^[12]\./)) {&#xD;
            var seriesValue = dph.getSeriesDisplayValue();&#xD;
            if (seriesValue != null &amp;&amp; seriesValue.toString().match(/^[12]\./)) {&#xD;
                categoryValue = seriesValue;&#xD;
            }&#xD;
        }&#xD;
        &#xD;
        // If that still didn't work, try orthogonal value&#xD;
        if (categoryValue == null || !categoryValue.toString().match(/^[12]\./)) {&#xD;
            var orthogonalValue = dph.getOrthogonalValue();&#xD;
            if (orthogonalValue != null &amp;&amp; orthogonalValue.toString().match(/^[12]\./)) {&#xD;
                categoryValue = orthogonalValue;&#xD;
            }&#xD;
        }&#xD;
    } catch (e) {&#xD;
        // If any errors occur, just continue with the original logic&#xD;
    }&#xD;
    &#xD;
    importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl);&#xD;
    var mycolor = ColorDefinitionImpl.WHITE();&#xD;
    &#xD;
    // Convert to string to safely use startsWith or match&#xD;
    if (categoryValue != null) {&#xD;
        var strValue = categoryValue.toString();&#xD;
        &#xD;
        if (strValue.match(/^2\./)) {&#xD;
            mycolor = ColorDefinitionImpl.GREEN();&#xD;
            mycolor.setGreen(128);&#xD;
            mycolor.setTransparency(255);&#xD;
        }&#xD;
        else if (strValue.match(/^1\./)) {&#xD;
            mycolor = ColorDefinitionImpl.RED();&#xD;
        }&#xD;
        else {&#xD;
            mycolor = ColorDefinitionImpl.GREY();&#xD;
        }&#xD;
    } else {&#xD;
        // Try the original baseDisplayValue as a fallback&#xD;
        var baseValue = dph.getBaseDisplayValue();&#xD;
        if (baseValue != null) {&#xD;
            var strBaseValue = baseValue.toString();&#xD;
            &#xD;
            if (strBaseValue.match(/^2\./)) {&#xD;
                mycolor = ColorDefinitionImpl.GREEN();&#xD;
                mycolor.setGreen(128);&#xD;
                mycolor.setTransparency(255);&#xD;
            }&#xD;
            else if (strBaseValue.match(/^1\./)) {&#xD;
                mycolor = ColorDefinitionImpl.RED();&#xD;
            }&#xD;
            else {&#xD;
                mycolor = ColorDefinitionImpl.GREY();&#xD;
            }&#xD;
        } else {&#xD;
            mycolor = ColorDefinitionImpl.GREY();&#xD;
        }&#xD;
    }&#xD;
    &#xD;
    r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
    fill.set(r, g, b);&#xD;
}&#xD;
&#xD;
/**&#xD;
 * Called before drawing the legend item.&#xD;
 * &#xD;
 * @param lerh&#xD;
 * 			  LegendEntryRenderingHints&#xD;
 * @param bounds&#xD;
 * 			  Bounds&#xD;
 * @param icsc&#xD;
 * 			  IChartScriptContext&#xD;
 * @since Version 2.2.0&#xD;
 */&#xD;
&#xD;
function beforeDrawLegendItem( lerh, bounds, icsc )&#xD;
{&#xD;
	var displayValue = lerh.getLabel().getCaption().getValue();&#xD;
	var fill = lerh.getFill();&#xD;
    importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	if (displayValue == &quot;Supported&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	    mycolor.setTransparency(255);&#xD;
	}&#xD;
	else if (displayValue == &quot;Partial&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.YELLOW();&#xD;
	}&#xD;
	else if (displayValue == &quot;Unsupported&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
}&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator> count, TPM: </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_tpm_specifications&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_tpm_specification&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <text-property name="displayName">machine_name</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <text-property name="displayName">machine_fqmn</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <text-property name="displayName">machine_last_contact</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <text-property name="displayName">machine_make</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <text-property name="displayName">machine_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <text-property name="displayName">machine_chassis_type</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <text-property name="displayName">node_os_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <text-property name="displayName">node_os_desc</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <text-property name="displayName">os_build_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <text-property name="displayName">node_cpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <text-property name="displayName">node_cpu_short_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <text-property name="displayName">cpu_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <text-property name="displayName">cpu_sub_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <text-property name="displayName">cpu_model_number</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <text-property name="displayName">cpu_sku_level</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <text-property name="displayName">cpu_generation</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <text-property name="displayName">cpu_sku</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <text-property name="displayName">node_per_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <text-property name="displayName">node_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <text-property name="displayName">node_cpu_bitwidth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <text-property name="displayName">node_ram_allocated_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <text-property name="displayName">ram_alloc_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <text-property name="displayName">node_total_disk_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <text-property name="displayName">node_total_disk_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <text-property name="displayName">node_total_disk_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <text-property name="displayName">node_gpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <text-property name="displayName">node_discrete_gpu_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <text-property name="displayName">node_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <text-property name="displayName">node_discrete_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <text-property name="displayName">node_gpu_color_depth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <text-property name="displayName">os_dx12orwddm2</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <text-property name="displayName">node_display_dimensions</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <text-property name="displayName">max_display_res_y</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <text-property name="displayName">node_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <text-property name="displayName">max_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <text-property name="displayName">node_display_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <text-property name="displayName">machine_secure_boot</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <text-property name="displayName">machine_tpm_specifications</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <text-property name="displayName">machine_tpm_specification</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <text-property name="displayName">machine_location_city_state_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <text-property name="displayName">machine_location_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <text-property name="displayName">machine_location_state</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <text-property name="displayName">machine_location_city</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <text-property name="displayName">win11_image_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <text-property name="displayName">cpu_support_status</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16989">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17381">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines With Secure Boot</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>&#xD;
/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	&#xD;
    // Access Java's System.out&#xD;
    var javaSystem = Packages.java.lang.System;  &#xD;
    // Print to standard output&#xD;
    javaSystem.out.println(&quot;DEBUG: Display value = &quot; + dph.getBaseDisplayValue());&#xD;
&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	if (displayValue == &quot;Enabled&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	    mycolor.setTransparency(255);&#xD;
	}&#xD;
	else if (displayValue == &quot;Disabled&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
    r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
    fill.set(r, g, b);&#xD;
}&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>253</Red>
        <Green>153</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>253</Red>
          <Green>153</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_secure_boot&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>DistinctCount</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_secure_boot&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <text-property name="displayName">machine_name</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <text-property name="displayName">machine_fqmn</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <text-property name="displayName">machine_last_contact</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <text-property name="displayName">machine_make</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <text-property name="displayName">machine_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <text-property name="displayName">machine_chassis_type</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <text-property name="displayName">node_os_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <text-property name="displayName">node_os_desc</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <text-property name="displayName">os_build_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <text-property name="displayName">node_cpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <text-property name="displayName">node_cpu_short_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <text-property name="displayName">cpu_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <text-property name="displayName">cpu_sub_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <text-property name="displayName">cpu_model_number</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <text-property name="displayName">cpu_sku_level</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <text-property name="displayName">cpu_generation</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <text-property name="displayName">cpu_sku</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <text-property name="displayName">node_per_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <text-property name="displayName">node_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <text-property name="displayName">node_cpu_bitwidth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <text-property name="displayName">node_ram_allocated_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <text-property name="displayName">ram_alloc_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <text-property name="displayName">node_total_disk_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <text-property name="displayName">node_total_disk_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <text-property name="displayName">node_total_disk_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <text-property name="displayName">node_gpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <text-property name="displayName">node_discrete_gpu_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <text-property name="displayName">node_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <text-property name="displayName">node_discrete_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <text-property name="displayName">node_gpu_color_depth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <text-property name="displayName">os_dx12orwddm2</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <text-property name="displayName">node_display_dimensions</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <text-property name="displayName">max_display_res_y</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <text-property name="displayName">node_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <text-property name="displayName">max_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <text-property name="displayName">node_display_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <text-property name="displayName">machine_secure_boot</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <text-property name="displayName">machine_tpm_specifications</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <text-property name="displayName">machine_tpm_specification</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <text-property name="displayName">machine_location_city_state_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <text-property name="displayName">machine_location_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <text-property name="displayName">machine_location_state</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <text-property name="displayName">machine_location_city</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <text-property name="displayName">win11_image_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <text-property name="displayName">cpu_support_status</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                        </row>
                        <row id="16990">
                            <cell id="16991">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17382">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by Country</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>242</Red>
        <Green>88</Green>
        <Blue>106</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>232</Red>
        <Green>172</Green>
        <Blue>57</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>242</Red>
          <Green>88</Green>
          <Blue>106</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>232</Red>
          <Green>172</Green>
          <Blue>57</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var location = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_location_country&quot;] != null) {&#xD;
	location = row[&quot;machine_location_country&quot;];&#xD;
}&#xD;
location;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <text-property name="displayName">machine_name</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <text-property name="displayName">machine_fqmn</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <text-property name="displayName">machine_last_contact</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <text-property name="displayName">machine_make</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <text-property name="displayName">machine_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <text-property name="displayName">machine_chassis_type</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <text-property name="displayName">node_os_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <text-property name="displayName">node_os_desc</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <text-property name="displayName">os_build_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <text-property name="displayName">node_cpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <text-property name="displayName">node_cpu_short_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <text-property name="displayName">cpu_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <text-property name="displayName">cpu_sub_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <text-property name="displayName">cpu_model_number</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <text-property name="displayName">cpu_sku_level</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <text-property name="displayName">cpu_generation</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <text-property name="displayName">cpu_sku</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <text-property name="displayName">node_per_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <text-property name="displayName">node_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <text-property name="displayName">node_cpu_bitwidth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <text-property name="displayName">node_ram_allocated_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <text-property name="displayName">ram_alloc_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <text-property name="displayName">node_total_disk_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <text-property name="displayName">node_total_disk_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <text-property name="displayName">node_total_disk_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <text-property name="displayName">node_gpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <text-property name="displayName">node_discrete_gpu_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <text-property name="displayName">node_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <text-property name="displayName">node_discrete_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <text-property name="displayName">node_gpu_color_depth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <text-property name="displayName">os_dx12orwddm2</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <text-property name="displayName">node_display_dimensions</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <text-property name="displayName">max_display_res_y</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <text-property name="displayName">node_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <text-property name="displayName">max_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <text-property name="displayName">node_display_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <text-property name="displayName">machine_secure_boot</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <text-property name="displayName">machine_tpm_specifications</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <text-property name="displayName">machine_tpm_specification</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <text-property name="displayName">machine_location_city_state_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <text-property name="displayName">machine_location_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <text-property name="displayName">machine_location_state</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <text-property name="displayName">machine_location_city</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <text-property name="displayName">win11_image_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <text-property name="displayName">cpu_support_status</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16992">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17383">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by City</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>253</Red>
        <Green>153</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>253</Red>
          <Green>153</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineStyle>Stretch_To_Side</LeaderLineStyle>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var location = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_location_city&quot;] != null) {&#xD;
	location = row[&quot;machine_location_city&quot;];&#xD;
}&#xD;
location;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <text-property name="displayName">machine_name</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <text-property name="displayName">machine_fqmn</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <text-property name="displayName">machine_last_contact</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <text-property name="displayName">machine_make</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <text-property name="displayName">machine_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <text-property name="displayName">machine_chassis_type</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <text-property name="displayName">node_os_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <text-property name="displayName">node_os_desc</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <text-property name="displayName">os_build_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <text-property name="displayName">node_cpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <text-property name="displayName">node_cpu_short_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <text-property name="displayName">cpu_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <text-property name="displayName">cpu_sub_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <text-property name="displayName">cpu_model_number</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <text-property name="displayName">cpu_sku_level</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <text-property name="displayName">cpu_generation</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <text-property name="displayName">cpu_sku</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <text-property name="displayName">node_per_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <text-property name="displayName">node_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <text-property name="displayName">node_cpu_bitwidth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <text-property name="displayName">node_ram_allocated_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <text-property name="displayName">ram_alloc_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <text-property name="displayName">node_total_disk_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <text-property name="displayName">node_total_disk_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <text-property name="displayName">node_total_disk_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <text-property name="displayName">node_gpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <text-property name="displayName">node_discrete_gpu_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <text-property name="displayName">node_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <text-property name="displayName">node_discrete_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <text-property name="displayName">node_gpu_color_depth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <text-property name="displayName">os_dx12orwddm2</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <text-property name="displayName">node_display_dimensions</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <text-property name="displayName">max_display_res_y</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <text-property name="displayName">node_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <text-property name="displayName">max_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <text-property name="displayName">node_display_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <text-property name="displayName">machine_secure_boot</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <text-property name="displayName">machine_tpm_specifications</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <text-property name="displayName">machine_tpm_specification</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <text-property name="displayName">machine_location_city_state_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <text-property name="displayName">machine_location_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <text-property name="displayName">machine_location_state</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <text-property name="displayName">machine_location_city</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <text-property name="displayName">win11_image_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <text-property name="displayName">cpu_support_status</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                        </row>
                        <row id="16993">
                            <cell id="16994">
                                <property name="borderBottomStyle">solid</property>
                                <property name="borderBottomWidth">medium</property>
                                <property name="borderLeftStyle">solid</property>
                                <property name="borderLeftWidth">medium</property>
                                <property name="borderRightStyle">solid</property>
                                <property name="borderRightWidth">medium</property>
                                <property name="borderTopStyle">solid</property>
                                <property name="borderTopWidth">medium</property>
                                <property name="textAlign">center</property>
                                <extended-item extensionName="Chart" id="17384">
                                    <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by State</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>253</Red>
        <Green>153</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>204</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>253</Red>
          <Green>153</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>204</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>9.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineStyle>Stretch_To_Side</LeaderLineStyle>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var location = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_location_state&quot;] != null) {&#xD;
	location = row[&quot;machine_location_state&quot;];&#xD;
}&#xD;
location;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                                    <property name="outputFormat">SVG</property>
                                    <list-property name="filter">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value>"Unsupported"</value>
                                            </simple-property-list>
                                            <property name="updateAggregation">true</property>
                                        </structure>
                                    </list-property>
                                    <property name="inheritColumns">false</property>
                                    <property name="height">3.75in</property>
                                    <property name="width">5in</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_name</property>
                                            <text-property name="displayName">machine_name</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_fqmn</property>
                                            <text-property name="displayName">machine_fqmn</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_last_contact</property>
                                            <text-property name="displayName">machine_last_contact</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                            <property name="dataType">date-time</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_make</property>
                                            <text-property name="displayName">machine_make</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_model</property>
                                            <text-property name="displayName">machine_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_chassis_type</property>
                                            <text-property name="displayName">machine_chassis_type</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_version</property>
                                            <text-property name="displayName">node_os_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_os_desc</property>
                                            <text-property name="displayName">node_os_desc</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_build_version</property>
                                            <text-property name="displayName">os_build_version</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_model</property>
                                            <text-property name="displayName">node_cpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_short_models</property>
                                            <text-property name="displayName">node_cpu_short_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_speed_ghz</property>
                                            <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_brand</property>
                                            <text-property name="displayName">cpu_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand</property>
                                            <text-property name="displayName">cpu_sub_brand</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sub_brand_modifier</property>
                                            <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_model_number</property>
                                            <text-property name="displayName">cpu_model_number</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku_level</property>
                                            <text-property name="displayName">cpu_sku_level</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_generation</property>
                                            <text-property name="displayName">cpu_generation</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_sku</property>
                                            <text-property name="displayName">cpu_sku</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_per_cpu_cores</property>
                                            <text-property name="displayName">node_per_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_cores</property>
                                            <text-property name="displayName">node_cpu_cores</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_cpu_bitwidth</property>
                                            <text-property name="displayName">node_cpu_bitwidth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_ram_allocated_gb</property>
                                            <text-property name="displayName">node_ram_allocated_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">ram_alloc_gb</property>
                                            <text-property name="displayName">ram_alloc_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_size_gb</property>
                                            <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_used_gb</property>
                                            <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_disk0_c_free_gb</property>
                                            <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_size_gb</property>
                                            <text-property name="displayName">node_total_disk_size_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_used_gb</property>
                                            <text-property name="displayName">node_total_disk_used_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_total_disk_free_gb</property>
                                            <text-property name="displayName">node_total_disk_free_gb</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_model</property>
                                            <text-property name="displayName">node_gpu_model</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_models</property>
                                            <text-property name="displayName">node_discrete_gpu_models</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_count</property>
                                            <text-property name="displayName">node_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_discrete_gpu_count</property>
                                            <text-property name="displayName">node_discrete_gpu_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_gpu_color_depth</property>
                                            <text-property name="displayName">node_gpu_color_depth</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">os_dx12orwddm2</property>
                                            <text-property name="displayName">os_dx12orwddm2</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_dimensions</property>
                                            <text-property name="displayName">node_display_dimensions</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_res_y</property>
                                            <text-property name="displayName">max_display_res_y</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_size_in_inches</property>
                                            <text-property name="displayName">node_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">max_display_size_in_inches</property>
                                            <text-property name="displayName">max_display_size_in_inches</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">node_display_count</property>
                                            <text-property name="displayName">node_display_count</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                            <property name="dataType">decimal</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_capable</property>
                                            <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_bios_uefi_enabled</property>
                                            <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_secure_boot</property>
                                            <text-property name="displayName">machine_secure_boot</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specifications</property>
                                            <text-property name="displayName">machine_tpm_specifications</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_tpm_specification</property>
                                            <text-property name="displayName">machine_tpm_specification</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city_state_country</property>
                                            <text-property name="displayName">machine_location_city_state_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_country</property>
                                            <text-property name="displayName">machine_location_country</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_state</property>
                                            <text-property name="displayName">machine_location_state</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">machine_location_city</property>
                                            <text-property name="displayName">machine_location_city</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_image_upgrade_label</property>
                                            <text-property name="displayName">win11_image_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">cpu_support_status</property>
                                            <text-property name="displayName">cpu_support_status</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                    </list-property>
                                </extended-item>
                            </cell>
                            <cell id="16995">
                                <property name="textAlign">center</property>
                            </cell>
                        </row>
                        <row id="16996">
                            <cell id="16997">
                                <property name="textAlign">center</property>
                            </cell>
                            <cell id="16998">
                                <property name="textAlign">center</property>
                            </cell>
                        </row>
                    </grid>
                </cell>
            </row>
            <row id="16747">
                <property name="pageBreakBefore">always</property>
                <cell id="16748">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="textAlign">center</property>
                    <table name="Machine Replacement List" id="8333">
                        <list-property name="userProperties">
                            <structure>
                                <property name="name">ExcelEmitter.ForceAutoColWidths</property>
                                <property name="type">boolean</property>
                            </structure>
                        </list-property>
                        <property name="pageBreakBefore">auto</property>
                        <property name="canShrink">true</property>
                        <property name="width">100%</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="visibility"/>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                        <structure name="toc"/>
                        <property name="pageBreakInterval">999999</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <text-property name="caption">Report</text-property>
                        <column id="8370">
                            <property name="textAlign">left</property>
                        </column>
                        <column id="8371">
                            <property name="textAlign">left</property>
                        </column>
                        <column id="17488">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="17390">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="17387">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="17395">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="17421">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="17418">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8440">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12232">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8372">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12099">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12096">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8373">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8422">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8425">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8374">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12106">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8435">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12041">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12119">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8432">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12114">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12124">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12267">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12272">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="12111">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="8376">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">center</property>
                        </column>
                        <column id="8386">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">center</property>
                        </column>
                        <column id="17408">
                            <property name="textAlign">center</property>
                        </column>
                        <column id="17405">
                            <property name="textAlign">center</property>
                        </column>
                        <column id="17402">
                            <property name="textAlign">center</property>
                        </column>
                        <header>
                            <row id="8347">
                                <property name="style">TableHeaderCell</property>
                                <cell id="8335">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">left</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8336">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="color">maroon</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Machine Name</text-property>
                                    </label>
                                </cell>
                                <cell id="8337">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">left</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8338">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">OS Edition</text-property>
                                    </label>
                                </cell>
                                <cell id="17486">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17489">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">OS Version</text-property>
                                    </label>
                                </cell>
                                <cell id="17388">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17391">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Machine Chassis</text-property>
                                    </label>
                                </cell>
                                <cell id="17385">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17392">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Machine Make</text-property>
                                    </label>
                                </cell>
                                <cell id="17393">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17396">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Machine &#13;
Model</text-property>
                                    </label>
                                </cell>
                                <cell id="17419">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17422">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Windows 11 In-Place&#13;
Upgrade</text-property>
                                    </label>
                                </cell>
                                <cell id="17416">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17423">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Windows 11 Image&#13;
Refresh</text-property>
                                    </label>
                                </cell>
                                <cell id="8438">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8441">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">CPU&#13;
Model</text-property>
                                    </label>
                                </cell>
                                <cell id="12230">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12233">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">CPU&#13;
Support</text-property>
                                    </label>
                                </cell>
                                <cell id="8339">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8340">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">CPU&#13;
(GHz)</text-property>
                                    </label>
                                </cell>
                                <cell id="12097">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12100">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Cores&#13;
per&#13;
CPU</text-property>
                                    </label>
                                </cell>
                                <cell id="12094">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12101">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">CPU&#13;
Bit&#13;
Width</text-property>
                                    </label>
                                </cell>
                                <cell id="8341">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8342">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">RAM&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="8420">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8426">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Allocated&#13;
HDD Space&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="8423">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8427">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Used HDD Space&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="8343">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8344">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Free HDD Space&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="12104">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">left</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12107">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">GPU Models</text-property>
                                    </label>
                                </cell>
                                <cell id="8433">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8436">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">GPU&#13;
Count</text-property>
                                    </label>
                                </cell>
                                <cell id="12039">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12042">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Display&#13;
Color&#13;
Depth&#13;
Bits</text-property>
                                    </label>
                                </cell>
                                <cell id="12117">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12120">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">GPU&#13;
(DirectX12 /&#13;
WDDM 2.0)</text-property>
                                    </label>
                                </cell>
                                <cell id="8430">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8443">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Display &#13;
Resolutions</text-property>
                                    </label>
                                </cell>
                                <cell id="12112">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12115">
                                        <text-property name="text">Display&#13;
Size&#13;
(inches)</text-property>
                                    </label>
                                </cell>
                                <cell id="12122">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12125">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">BIOS&#13;
UEFI&#13;
Capable</text-property>
                                    </label>
                                </cell>
                                <cell id="12265">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12268">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">BIOS&#13;
UEFI&#13;
Enabled</text-property>
                                    </label>
                                </cell>
                                <cell id="12270">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12273">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Secure&#13;
Boot&#13;
Status</text-property>
                                    </label>
                                </cell>
                                <cell id="12109">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="12126">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">TPM&#13;
Specifications</text-property>
                                    </label>
                                </cell>
                                <cell id="8350">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8351">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Windows 11 In Place&#13;
Upgrade</text-property>
                                    </label>
                                </cell>
                                <cell id="8384">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="8391">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Windows 11 Image&#13;
Refresh</text-property>
                                    </label>
                                </cell>
                                <cell id="17406">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17410">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Location:&#13;
Country</text-property>
                                    </label>
                                </cell>
                                <cell id="17403">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17411">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Location:&#13;
State</text-property>
                                    </label>
                                </cell>
                                <cell id="17400">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17412">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Location:&#13;
City</text-property>
                                    </label>
                                </cell>
                            </row>
                        </header>
                        <detail>
                            <row id="8352">
                                <property name="style">TableCell</property>
                                <cell id="8353">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <data id="8354">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_name</property>
                                    </data>
                                </cell>
                                <cell id="8355">
                                    <list-property name="userProperties">
                                        <structure>
                                            <property name="name">ExcelEmitter.FreezePanes</property>
                                            <property name="type">boolean</property>
                                        </structure>
                                    </list-property>
                                    <property name="ExcelEmitter.FreezePanes">true</property>
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <data id="8356">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="resultSetColumn">node_os_desc</property>
                                    </data>
                                </cell>
                                <cell id="17487">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="17490">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="resultSetColumn">os_build_version</property>
                                    </data>
                                </cell>
                                <cell id="17389">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="17397">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_chassis_type</property>
                                    </data>
                                </cell>
                                <cell id="17386">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="17398">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_make</property>
                                    </data>
                                </cell>
                                <cell id="17394">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="17399">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_model</property>
                                    </data>
                                </cell>
                                <cell id="17420">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">"Unsupported"</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">"Partial"</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">"Supported"</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="17424">
                                        <property name="fontSize">9pt</property>
                                        <property name="resultSetColumn">win11_inplace_upgrade_label</property>
                                    </data>
                                </cell>
                                <cell id="17417">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontFamily">sans-serif</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">"Unsupported"</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontFamily">sans-serif</property>
                                            <property name="fontWeight">bold</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">"Partial"</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontFamily">sans-serif</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">"Supported"</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="17425">
                                        <property name="fontSize">9pt</property>
                                        <property name="resultSetColumn">win11_image_upgrade_label</property>
                                    </data>
                                </cell>
                                <cell id="8439">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="8442">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">node_cpu_short_models</property>
                                    </data>
                                </cell>
                                <cell id="12231">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Y'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'N'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#C0C0C0</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">''</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="12234">
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">center</property>
                                        <property name="resultSetColumn">cpu_support_status</property>
                                    </data>
                                </cell>
                                <cell id="8357">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["node_cpu_speed_ghz"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">1.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="8358">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="resultSetColumn">node_cpu_speed_ghz</property>
                                    </data>
                                </cell>
                                <cell id="12098">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["node_per_cpu_cores"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">2.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="12102">
                                        <property name="resultSetColumn">node_per_cpu_cores</property>
                                    </data>
                                </cell>
                                <cell id="12095">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["node_cpu_bitwidth"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">64</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["node_cpu_bitwidth"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="12103">
                                        <property name="resultSetColumn">node_cpu_bitwidth</property>
                                    </data>
                                </cell>
                                <cell id="8359">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["ram_alloc_gb"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">4.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="8360">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="resultSetColumn">ram_alloc_gb</property>
                                    </data>
                                </cell>
                                <cell id="8421">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["node_disk0_c_size_gb"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">64.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="8428">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_disk0_c_size_gb</property>
                                    </data>
                                </cell>
                                <cell id="8424">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="8429">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_disk0_c_used_gb</property>
                                    </data>
                                </cell>
                                <cell id="8361">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["node_disk0_c_free_gb"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">20.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="8362">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_disk0_c_free_gb</property>
                                    </data>
                                </cell>
                                <cell id="12105">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="12108">
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">node_discrete_gpu_models</property>
                                    </data>
                                </cell>
                                <cell id="8434">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="8437">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_discrete_gpu_count</property>
                                    </data>
                                </cell>
                                <cell id="12040">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["node_gpu_color_depth"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">8</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["node_gpu_color_depth"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="12043">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_gpu_color_depth</property>
                                    </data>
                                </cell>
                                <cell id="12118">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["os_dx12orwddm2"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["os_dx12orwddm2"]</expression>
                                        </structure>
                                    </list-property>
                                    <text-data id="12129">
                                        <property name="textAlign">center</property>
                                        <expression name="valueExpr">var out = 'N';&#13;
if (row["os_dx12orwddm2"] == 1) {&#13;
	out = 'Y';&#13;
}&#13;
out;</expression>
                                        <property name="contentType">html</property>
                                    </text-data>
                                </cell>
                                <cell id="8431">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">normal</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["max_display_res_y"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">720</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["max_display_res_y"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="8444">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">node_display_dimensions</property>
                                    </data>
                                </cell>
                                <cell id="12113">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontStyle">italic</property>
                                            <property name="fontWeight">normal</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["max_display_size_in_inches"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">9</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">normal</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["max_display_size_in_inches"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="12116">
                                        <property name="resultSetColumn">node_display_size_in_inches</property>
                                    </data>
                                </cell>
                                <cell id="12123">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_capable"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_capable"]</expression>
                                        </structure>
                                    </list-property>
                                    <text-data id="12218">
                                        <property name="textAlign">center</property>
                                        <expression name="valueExpr">var uefi = row["machine_bios_uefi_capable"];&#13;
var str = "";&#13;
if (uefi === 1) {&#13;
	str = "Y";&#13;
}&#13;
else if (uefi === 0) {&#13;
	str = "N";&#13;
}&#13;
else {&#13;
	str = "";&#13;
}&#13;
str;</expression>
                                        <property name="contentType">html</property>
                                    </text-data>
                                </cell>
                                <cell id="12266">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">#C0C0C0</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_enabled"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_capable"]</expression>
                                        </structure>
                                    </list-property>
                                    <text-data id="12269">
                                        <property name="textAlign">center</property>
                                        <expression name="valueExpr">var uefi = row["machine_bios_uefi_enabled"];&#13;
var str = "";&#13;
if (uefi === 1) {&#13;
	str = "Y";&#13;
}&#13;
else if (uefi === 0) {&#13;
	str = "N";&#13;
}&#13;
else {&#13;
	str = "";&#13;
}&#13;
str;</expression>
                                        <property name="contentType">html</property>
                                    </text-data>
                                </cell>
                                <cell id="12271">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">center</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Not supported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Not configured'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Disabled'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Enabled'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="12274">
                                        <property name="textAlign">center</property>
                                        <property name="resultSetColumn">machine_secure_boot</property>
                                    </data>
                                </cell>
                                <cell id="12110">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["machine_tpm_specification"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["machine_tpm_specification"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="12127">
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_tpm_specifications</property>
                                    </data>
                                </cell>
                                <cell id="8365">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Unsupported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#008000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Supported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Partial'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#0080FF</property>
                                            <property name="fontWeight">bold</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Installed'</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="8393">
                                        <property name="fontSize">9pt</property>
                                        <property name="resultSetColumn">win11_inplace_upgrade_label</property>
                                    </data>
                                </cell>
                                <cell id="8385">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FF0000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Unsupported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#008000</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FFFFFF</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Supported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Partial'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#C0C0C0</property>
                                            <property name="fontWeight">bold</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Installed'</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="8378">
                                        <property name="fontSize">9pt</property>
                                        <property name="resultSetColumn">win11_image_upgrade_label</property>
                                    </data>
                                </cell>
                                <cell id="17407">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <data id="17413">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_location_country</property>
                                    </data>
                                </cell>
                                <cell id="17404">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <data id="17414">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_location_state</property>
                                    </data>
                                </cell>
                                <cell id="17401">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <data id="17415">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_location_city</property>
                                    </data>
                                </cell>
                            </row>
                        </detail>
                    </table>
                </cell>
            </row>
            <row id="17166">
                <property name="pageBreakBefore">always</property>
                <cell id="17167">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="textAlign">left</property>
                    <grid name="Glossary Of Terms" id="8715">
                        <property name="fontFamily">sans-serif</property>
                        <property name="marginTop">0pt</property>
                        <property name="whiteSpace">pre</property>
                        <property name="pageBreakInside">avoid</property>
                        <property name="canShrink">true</property>
                        <property name="width">10in</property>
                        <text-property name="caption">Glossary</text-property>
                        <column id="8716">
                            <property name="width">3in</property>
                        </column>
                        <column id="8717">
                            <property name="width">7in</property>
                        </column>
                        <row id="8718">
                            <property name="style">TableHeaderCell</property>
                            <cell id="8719">
                                <property name="colSpan">2</property>
                                <property name="rowSpan">1</property>
                                <property name="style">TableHeaderCell</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">bottom</property>
                                <label id="8720">
                                    <property name="style">ReportSectionTitle</property>
                                    <property name="textAlign">left</property>
                                    <property name="masterPage">Simple MasterPage</property>
                                    <property name="pageBreakBefore">auto</property>
                                    <text-property name="text">Glossary of Terms</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8721">
                            <property name="style">TableHeaderCell</property>
                            <cell id="8722">
                                <property name="style">TableHeaderCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">bottom</property>
                                <label id="8723">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Column Name</text-property>
                                </label>
                            </cell>
                            <cell id="8724">
                                <property name="style">TableHeaderCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">bottom</property>
                                <label id="8725">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Description</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8726">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="8727">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8728">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Machine Name</text-property>
                                </label>
                            </cell>
                            <cell id="8729">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8730">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Machine Name.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8731">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="8732">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8733">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Operating System: Edition</text-property>
                                </label>
                            </cell>
                            <cell id="8734">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8735">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The Operating System currently installed on the machine. </text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17491">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17492">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17494">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Operating System: Version</text-property>
                                </label>
                            </cell>
                            <cell id="17493">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17495">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The Operating System version (eg. 22H2) currently installed on the machine. </text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12238">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12239">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17508">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Machine Chassis</text-property>
                                </label>
                            </cell>
                            <cell id="12240">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17518">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The type of chassis of the machine such as Notebook, Laptop, Desktop, Tower, etc.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17505">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17506">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17509">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Machine Made</text-property>
                                </label>
                            </cell>
                            <cell id="17507">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17519">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The make of the machine.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17502">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17503">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17510">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Machine Model</text-property>
                                </label>
                            </cell>
                            <cell id="17504">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17520">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The model of the machine.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17499">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17500">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17514">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Windows 11 In Place Upgrade Compatibility</text-property>
                                </label>
                                <text-data id="17548">
                                    <property name="contentType">html</property>
                                </text-data>
                            </cell>
                            <cell id="17501">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17515">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontWeight">normal</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">In Place Upgrade Compatibility with Windows 11. Based on Microsoft guidelines, if the machine hardware specifications meet the minimum required and the HDD space available is at least 20GB, then the machine is Windows 11 In Place Upgrade Compatible. These machines have enough HDD space available to perform an in place OS Upgrade. &#13;
</text-property>
                                </label>
                                <text id="17549">
                                    <property name="contentType">auto</property>
                                    <text-property name="content"><![CDATA[Values:
Supported: All criteria are available and satisfy the minimum hardware compatibility requirements published by Microsoft for Windows 11.
Partial: Some criteria may be missing or unavailable, which MAY make the hardware compatible but cannot be determined for sure.
Unsupported: Some criteria do not meet the minimum hardware compatibility requirements published by Microsoft for Windows 11.]]></text-property>
                                </text>
                            </cell>
                        </row>
                        <row id="17511">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17512">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17516">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Windows 11 Image Refresh Compatibility</text-property>
                                </label>
                            </cell>
                            <cell id="17513">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17517">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Image Refresh Upgrade Compatibility with Windows 11. Based on Microsoft guidelines, if the machine hardware specifications meet the minimum required guidelines and the HDD space allocated is at least 64GB, then the machine is Windows 11 Image Refresh Compatible. These machines may NOT have enough HDD space available to perform an In Place OS Upgrade, but the HDD itself is large enough to support a new Image of Windows 11 and future Windows Updates.&#13;
</text-property>
                                </label>
                                <text id="17550">
                                    <property name="contentType">auto</property>
                                    <text-property name="content"><![CDATA[Values:
Supported: All criteria are available and satisfy the minimum hardware compatibility requirements published by Microsoft for Windows 11.
Partial: Some criteria may be missing or unavailable, which MAY make the hardware compatible but cannot be determined for sure.
Unsupported: Some criteria do not meet the minimum hardware compatibility requirements published by Microsoft for Windows 11.]]></text-property>
                                </text>
                            </cell>
                        </row>
                        <row id="17496">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17497">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12241">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU Model</text-property>
                                </label>
                            </cell>
                            <cell id="17498">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12243">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The CPU Model. </text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12235">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12236">
                                <property name="colSpan">1</property>
                                <property name="rowSpan">4</property>
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12242">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU Support</text-property>
                                </label>
                            </cell>
                            <cell id="12237">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12244">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Microsoft has published a list of processors from Intel and AMD that are officially supported for Windows 11. This column displays this support but is NOT considered for Compatibility. Example: For Intel Core, only 8th generation and higher are fully supported by Microsoft for Windows 11. Please refer to the following links for additional information:</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">none</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12295">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12297">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12298">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Link to Windows 11 Supported Intel Processors as of February 28, 2025.</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported Intel Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-intel-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17884">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17886">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12294">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Link to Windows 11 Supported AMD Processors as of April 8, 2025.</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported AMD Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-amd-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12291">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12293">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17887">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">This report does not determine support for Qualcomm processors.</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported AMD Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-amd-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8736">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="8737">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8738">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU (GHz)</text-property>
                                </label>
                            </cell>
                            <cell id="8739">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8740">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The CPU Clock Speed in GHz. Based on Microsoft guidelines, if the Clock Speed of the CPU is greater than or equal to 1GHz then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12173">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12174">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12194">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Cores per CPU</text-property>
                                </label>
                            </cell>
                            <cell id="12175">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12202">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The number of cores per CPU. Based on Microsoft guidelines, if the Cores per CPU must be equal to or greater than 2 cores to be compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12170">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12171">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12195">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU Bit Width</text-property>
                                </label>
                            </cell>
                            <cell id="12172">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12203">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The bitwidth i.e. whether the processor is 32bit or 64bit. Based on Microsoft guidelines, the processor must be a 64bit processor for it to be compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8741">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="8742">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8743">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">RAM (GB)</text-property>
                                </label>
                            </cell>
                            <cell id="8744">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8745">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The RAM installed on a machine. Based on Microsoft guidelines, if the amount of RAM installed is greater than or equal to 4GB then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8746">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="8747">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8748">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">HDD Space (GB)</text-property>
                                </label>
                            </cell>
                            <cell id="8749">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12204">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The amount of free or available HDD space. Based on Microsoft guidelines, if the amount of free space available on the harddisk is 20GB then it is enough to install Windows 11 using the in-place upgrade route. If there is 64GB of storage, Windows 11 could be installed as a new image.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12191">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12192">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12196">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Display Color Depth Bits</text-property>
                                </label>
                            </cell>
                            <cell id="12193">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12205">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The display color depth on the display GPU. Based on Microsoft guidelines, if the display GPU supports 8bits color depth, then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12248">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12249">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12251">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">GPU Models</text-property>
                                </label>
                            </cell>
                            <cell id="12250">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12253">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">A list of real GPU models found on the machine including Integrated GPUs or Discrete GPUs. This list removes software based GPUs such as Microsoft Basic Render Driver, Microsoft Remote Display Adaptor, VMware SVGA II / 3D, Citrix Indirect Display Driver, etc.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12245">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12246">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12252">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">GPU Count</text-property>
                                </label>
                            </cell>
                            <cell id="12247">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12254">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">A count of real GPU models found on the machine including Integrated GPUs or Discrete GPUs.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12188">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12189">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12197">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">GPU DirectX 12 / WDDM 2.0</text-property>
                                </label>
                            </cell>
                            <cell id="12190">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12206">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The GPU compatibility with DirectX 12 or WDDM2. Based on Microsoft guidelines, if the GPU supports DirectX 12 or WDDM2, then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12185">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12186">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12198">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Display Size in Inches</text-property>
                                </label>
                            </cell>
                            <cell id="12187">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12207">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The display size or monitor size in inches. Based on Microsoft guidelines, if the monitor display size is greater than 9" then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12182">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12183">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12199">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Display Resolution</text-property>
                                </label>
                            </cell>
                            <cell id="12184">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12208">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The display resolution of the display monitors available on the machine. Based on Microsoft guidelines, if the display monitor resolution is greater than or equal to 720p then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12179">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12180">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12200">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">BIOS UEFI Capable</text-property>
                                </label>
                            </cell>
                            <cell id="12181">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12209">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Whether or not the BIOS is UEFI capable. Based on Microsoft guidelines, if the BIOS is UEFI capable for Secure Boot then it is considered Windows 11 compatible.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12278">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12279">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12281">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">BIOS UEFI Enabled</text-property>
                                </label>
                            </cell>
                            <cell id="12280">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12283">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Whether or not the BIOS is UEFI enabled. Based on Microsoft guidelines, if the BIOS is UEFI capable for Secure Boot then it is considered Windows 11 compatible. This column only shows the current status of UEFI and does NOT determine whether the machine is Supported or Unsupported for Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12275">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12276">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12282">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Secure Boot </text-property>
                                </label>
                            </cell>
                            <cell id="12277">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12284">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The current status or mode of Secure Boot. Based on Microsoft guidelines, if the BIOS is UEFI capable, this column shows the current status of Secure Boot such as Enabled, Disabled, Not configured, or Not supported. If the status is Enabled, Disabled, or Not configured, then the machine is considered to be Windows 11 Supported because it could be changed or configured to comply with Windows 11 guidelines. However, if it Secure Boot status is Not supported, then the machine is considered Unsupported for Windows 11 because Secure Boot requires this capability to be supported and available.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="12176">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="12177">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12201">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">TPM Specifications</text-property>
                                </label>
                            </cell>
                            <cell id="12178">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="12210">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Whether or not the TPM Spec includes compatibility greater than 2.0. Based on Microsoft guidelines, if the TPM specification includes 2.0 or higher then, it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8756">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="8757">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8758">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Location: Country</text-property>
                                </label>
                            </cell>
                            <cell id="8759">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8760">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The location of the machine by Country. This field is populated only if the Machine Location checkbox is enabled under Configure metrics section of the Hub Administration > Connector ID Keys > Connector ID Key Properties tab.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="8766">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="8767">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8768">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Location: State</text-property>
                                </label>
                            </cell>
                            <cell id="8769">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="8770">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The location of the machine by State or Province. This field is populated only if the Machine Location checkbox is enabled under Configure metrics section of the Hub Administration > Connector ID Keys > Connector ID Key Properties tab.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17521">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17522">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17524">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Location: City</text-property>
                                </label>
                            </cell>
                            <cell id="17523">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17525">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The location of the machine by City. This field is populated only if the Machine Location checkbox is enabled under Configure metrics section of the Hub Administration > Connector ID Keys > Connector ID Key Properties tab.</text-property>
                                </label>
                            </cell>
                        </row>
                    </grid>
                </cell>
            </row>
        </grid>
        <grid id="16753">
            <property name="marginTop">0pt</property>
            <property name="masterPage">LandscapeMasterPage</property>
            <property name="pageBreakBefore">auto</property>
            <property name="width">100%</property>
            <property name="dataSet">Windows10MachineCountsByStatus</property>
            <list-property name="visibility">
                <structure>
                    <property name="format">doc</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">docx</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">postscript</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">ppt</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">pptx</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">xls</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">xls_spudsoft</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">xlsx</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">odt</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">ods</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
                <structure>
                    <property name="format">odp</property>
                    <expression name="valueExpr" type="javascript">true</expression>
                </structure>
            </list-property>
            <list-property name="boundDataColumns">
                <structure>
                    <property name="name">node_id</property>
                    <text-property name="displayName">node_id</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">machine_name</property>
                    <text-property name="displayName">machine_name</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_fqmn</property>
                    <text-property name="displayName">machine_fqmn</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_last_contact</property>
                    <text-property name="displayName">machine_last_contact</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                    <property name="dataType">date-time</property>
                </structure>
                <structure>
                    <property name="name">machine_make</property>
                    <text-property name="displayName">machine_make</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_model</property>
                    <text-property name="displayName">machine_model</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_chassis_type</property>
                    <text-property name="displayName">machine_chassis_type</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_os_version</property>
                    <text-property name="displayName">node_os_version</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_os_desc</property>
                    <text-property name="displayName">node_os_desc</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">os_build_version</property>
                    <text-property name="displayName">os_build_version</text-property>
                    <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_cpu_model</property>
                    <text-property name="displayName">node_cpu_model</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_cpu_short_models</property>
                    <text-property name="displayName">node_cpu_short_models</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_cpu_speed_ghz</property>
                    <text-property name="displayName">node_cpu_speed_ghz</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">cpu_brand</property>
                    <text-property name="displayName">cpu_brand</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">cpu_sub_brand</property>
                    <text-property name="displayName">cpu_sub_brand</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">cpu_sub_brand_modifier</property>
                    <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">cpu_model_number</property>
                    <text-property name="displayName">cpu_model_number</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">cpu_sku_level</property>
                    <text-property name="displayName">cpu_sku_level</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">cpu_generation</property>
                    <text-property name="displayName">cpu_generation</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">cpu_sku</property>
                    <text-property name="displayName">cpu_sku</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_per_cpu_cores</property>
                    <text-property name="displayName">node_per_cpu_cores</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_cpu_cores</property>
                    <text-property name="displayName">node_cpu_cores</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_cpu_bitwidth</property>
                    <text-property name="displayName">node_cpu_bitwidth</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">node_ram_allocated_gb</property>
                    <text-property name="displayName">node_ram_allocated_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">ram_alloc_gb</property>
                    <text-property name="displayName">ram_alloc_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_disk0_c_size_gb</property>
                    <text-property name="displayName">node_disk0_c_size_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_disk0_c_used_gb</property>
                    <text-property name="displayName">node_disk0_c_used_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_disk0_c_free_gb</property>
                    <text-property name="displayName">node_disk0_c_free_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_total_disk_size_gb</property>
                    <text-property name="displayName">node_total_disk_size_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_total_disk_used_gb</property>
                    <text-property name="displayName">node_total_disk_used_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_total_disk_free_gb</property>
                    <text-property name="displayName">node_total_disk_free_gb</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_gpu_model</property>
                    <text-property name="displayName">node_gpu_model</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_discrete_gpu_models</property>
                    <text-property name="displayName">node_discrete_gpu_models</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">node_gpu_count</property>
                    <text-property name="displayName">node_gpu_count</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_discrete_gpu_count</property>
                    <text-property name="displayName">node_discrete_gpu_count</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">node_gpu_color_depth</property>
                    <text-property name="displayName">node_gpu_color_depth</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">os_dx12orwddm2</property>
                    <text-property name="displayName">os_dx12orwddm2</text-property>
                    <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">node_display_dimensions</property>
                    <text-property name="displayName">node_display_dimensions</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">max_display_res_y</property>
                    <text-property name="displayName">max_display_res_y</text-property>
                    <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">node_display_size_in_inches</property>
                    <text-property name="displayName">node_display_size_in_inches</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">max_display_size_in_inches</property>
                    <text-property name="displayName">max_display_size_in_inches</text-property>
                    <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">node_display_count</property>
                    <text-property name="displayName">node_display_count</text-property>
                    <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                    <property name="dataType">decimal</property>
                </structure>
                <structure>
                    <property name="name">machine_bios_uefi_capable</property>
                    <text-property name="displayName">machine_bios_uefi_capable</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">machine_bios_uefi_enabled</property>
                    <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">machine_secure_boot</property>
                    <text-property name="displayName">machine_secure_boot</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_tpm_specifications</property>
                    <text-property name="displayName">machine_tpm_specifications</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_tpm_specification</property>
                    <text-property name="displayName">machine_tpm_specification</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                    <property name="dataType">integer</property>
                </structure>
                <structure>
                    <property name="name">machine_location_city_state_country</property>
                    <text-property name="displayName">machine_location_city_state_country</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_location_country</property>
                    <text-property name="displayName">machine_location_country</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_location_state</property>
                    <text-property name="displayName">machine_location_state</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">machine_location_city</property>
                    <text-property name="displayName">machine_location_city</text-property>
                    <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">cpu_support_status</property>
                    <text-property name="displayName">cpu_support_status</text-property>
                    <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">win11_inplace_upgrade_label</property>
                    <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                    <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                    <property name="dataType">string</property>
                </structure>
                <structure>
                    <property name="name">win11_image_upgrade_label</property>
                    <text-property name="displayName">win11_image_upgrade_label</text-property>
                    <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                    <property name="dataType">string</property>
                </structure>
            </list-property>
            <column id="16754"/>
            <column id="16755"/>
            <row id="16756">
                <property name="height">20pt</property>
                <cell id="16757">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="textAlign">left</property>
                    <grid name="StandardHeaderGrid" id="15699">
                        <property name="borderBottomStyle">none</property>
                        <property name="borderLeftStyle">none</property>
                        <property name="borderRightStyle">none</property>
                        <property name="borderTopStyle">none</property>
                        <property name="marginTop">0pt</property>
                        <property name="marginLeft">0pt</property>
                        <property name="marginBottom">0pt</property>
                        <property name="marginRight">0pt</property>
                        <property name="masterPage">LandscapeMasterPage</property>
                        <property name="pageBreakBefore">auto</property>
                        <property name="showIfBlank">true</property>
                        <property name="canShrink">true</property>
                        <property name="width">100%</property>
                        <list-property name="visibility">
                            <structure>
                                <property name="format">xls</property>
                                <expression name="valueExpr" type="javascript">true</expression>
                            </structure>
                            <structure>
                                <property name="format">xls_spudsoft</property>
                                <expression name="valueExpr" type="javascript">true</expression>
                            </structure>
                            <structure>
                                <property name="format">xlsx</property>
                                <expression name="valueExpr" type="javascript">true</expression>
                            </structure>
                            <structure>
                                <property name="format">postscript</property>
                                <expression name="valueExpr" type="javascript">true</expression>
                            </structure>
                            <structure>
                                <property name="format">ods</property>
                                <expression name="valueExpr" type="javascript">true</expression>
                            </structure>
                        </list-property>
                        <column id="15700"/>
                        <column id="15701"/>
                        <column id="16449">
                            <property name="fontFamily">sans-serif</property>
                        </column>
                        <column id="15702">
                            <property name="fontFamily">sans-serif</property>
                        </column>
                        <row id="15703">
                            <property name="borderBottomStyle">none</property>
                            <property name="borderLeftStyle">none</property>
                            <property name="borderRightStyle">none</property>
                            <property name="borderTopStyle">none</property>
                            <cell id="15704">
                                <property name="colSpan">3</property>
                                <property name="rowSpan">4</property>
                                <label id="15705">
                                    <property name="style">ReportTitle</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">16pt</property>
                                    <property name="paddingRight">5pt</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Windows 11 Migration</text-property>
                                </label>
                                <label id="17040">
                                    <property name="style">ReportTitle</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <text-property name="text">Windows 10 Machines Replacement List</text-property>
                                </label>
                                <label id="17118">
                                    <property name="style">ReportDescription</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <text-property name="text">This report lists the machines that need to be replaced due to lack of specifications or requirements for Windows 11. This list will details why the machines are not recommended to run Windows 11. &#13;
&#13;
The report displays a breakdown of all the different editions of Windows 10 such as Professional, Enterprise, etc., OS Versions such as 21H2, 22H2, etc., CPU Clock Speed, CPU Cores, RAM, Disk Free, TPM, UEFI, Machine Chassis, Make, Model, and if available their location by Country, State, and City.&#13;
&#13;
It can also be filtered by Machine Groups to only show machines within a Machine Group. These filters can be applied within the Stratusphere Web UI before running the selected report.</text-property>
                                </label>
                                <text-data id="15717">
                                    <property name="style">ReportTableDataRow</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="paddingRight">1pt</property>
                                    <expression name="valueExpr">var grp = params["MachineGroup"];
if (grp == "%") { grp = "All Machines"; }
"Machine group: " + grp;</expression>
                                    <property name="contentType">html</property>
                                </text-data>
                                <text-data id="15710">
                                    <property name="style">ReportTableDataRow</property>
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">10pt</property>
                                    <property name="paddingRight">5pt</property>
                                    <property name="textAlign">left</property>
                                    <expression name="valueExpr">"Filters: Physical machines, Windows 10 and older machines";</expression>
                                    <property name="contentType">html</property>
                                </text-data>
                            </cell>
                            <cell id="16301">
                                <property name="colSpan">1</property>
                                <property name="rowSpan">4</property>
                                <grid id="16288">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="borderBottomColor">#0B72BA</property>
                                    <property name="borderBottomStyle">solid</property>
                                    <property name="borderBottomWidth">thin</property>
                                    <property name="borderLeftColor">#0B72BA</property>
                                    <property name="borderLeftStyle">solid</property>
                                    <property name="borderLeftWidth">thin</property>
                                    <property name="borderRightColor">#0B72BA</property>
                                    <property name="borderRightStyle">solid</property>
                                    <property name="borderRightWidth">thin</property>
                                    <property name="borderTopColor">#0B72BA</property>
                                    <property name="borderTopStyle">solid</property>
                                    <property name="borderTopWidth">thin</property>
                                    <property name="marginTop">0pt</property>
                                    <property name="width">100%</property>
                                    <column id="16289">
                                        <property name="width">80%</property>
                                    </column>
                                    <row id="16290">
                                        <cell id="16291">
                                            <property name="colSpan">1</property>
                                            <property name="rowSpan">1</property>
                                            <property name="style">CardTitle-WhiteOnLiquidwareBlue</property>
                                            <property name="backgroundColor">#0B72BA</property>
                                            <property name="borderBottomStyle">none</property>
                                            <property name="borderLeftStyle">none</property>
                                            <property name="borderRightStyle">none</property>
                                            <property name="borderTopStyle">none</property>
                                            <property name="textAlign">center</property>
                                            <label id="16292">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">16pt</property>
                                                <text-property name="text">Windows 10 Support</text-property>
                                            </label>
                                        </cell>
                                    </row>
                                    <row id="16293">
                                        <cell id="16294">
                                            <property name="textAlign">center</property>
                                            <property name="verticalAlign">middle</property>
                                            <text-data id="16463">
                                                <property name="fontSize">36pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="dataSet">CountdownToEoS</property>
                                                <list-property name="boundDataColumns">
                                                    <structure>
                                                        <property name="name">days_difference</property>
                                                        <text-property name="displayName">days_difference</text-property>
                                                        <expression name="expression" type="javascript">dataSetRow["days_difference"]</expression>
                                                        <property name="dataType">decimal</property>
                                                    </structure>
                                                </list-property>
                                                <expression name="valueExpr">var data = row["days_difference"];&#13;
var unit = " days."&#13;
var display = "Ends in ";&#13;
if (data >= 0) {&#13;
	display += data + unit;&#13;
}&#13;
else {&#13;
	display += "has ended.";&#13;
}&#13;
display;</expression>
                                                <property name="contentType">html</property>
                                            </text-data>
                                        </cell>
                                    </row>
                                </grid>
                            </cell>
                        </row>
                        <row id="17077">
                            <property name="borderBottomStyle">none</property>
                            <property name="borderLeftStyle">none</property>
                            <property name="borderRightStyle">none</property>
                            <property name="borderTopStyle">none</property>
                        </row>
                        <row id="15706">
                            <property name="borderBottomStyle">none</property>
                            <property name="borderLeftStyle">none</property>
                            <property name="borderRightStyle">none</property>
                            <property name="borderTopStyle">none</property>
                        </row>
                        <row id="16458">
                            <property name="borderBottomStyle">none</property>
                            <property name="borderLeftStyle">none</property>
                            <property name="borderRightStyle">none</property>
                            <property name="borderTopStyle">none</property>
                        </row>
                    </grid>
                </cell>
            </row>
            <row id="17041">
                <property name="height">20pt</property>
                <cell id="17042">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <grid id="17082">
                        <column id="17083"/>
                        <column id="17084"/>
                        <column id="17085"/>
                        <column id="17086"/>
                        <row id="17087">
                            <cell id="17088">
                                <property name="colSpan">3</property>
                                <property name="rowSpan">1</property>
                                <grid id="17044">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="borderBottomColor">#0B72BA</property>
                                    <property name="borderBottomStyle">solid</property>
                                    <property name="borderBottomWidth">thin</property>
                                    <property name="borderLeftColor">#0B72BA</property>
                                    <property name="borderLeftStyle">solid</property>
                                    <property name="borderLeftWidth">thin</property>
                                    <property name="borderRightColor">#0B72BA</property>
                                    <property name="borderRightStyle">solid</property>
                                    <property name="borderRightWidth">thin</property>
                                    <property name="borderTopColor">#0B72BA</property>
                                    <property name="borderTopStyle">solid</property>
                                    <property name="borderTopWidth">thin</property>
                                    <property name="marginTop">0pt</property>
                                    <property name="textAlign">left</property>
                                    <property name="width">100%</property>
                                    <column id="17045">
                                        <property name="width">80%</property>
                                    </column>
                                    <row id="17046">
                                        <cell id="17047">
                                            <property name="colSpan">1</property>
                                            <property name="rowSpan">1</property>
                                            <property name="style">CardTitle-WhiteOnLiquidwareBlue</property>
                                            <property name="backgroundColor">#0B72BA</property>
                                            <property name="borderBottomStyle">none</property>
                                            <property name="borderLeftStyle">none</property>
                                            <property name="borderRightStyle">none</property>
                                            <property name="borderTopStyle">none</property>
                                            <property name="textAlign">center</property>
                                            <label id="17048">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">16pt</property>
                                                <text-property name="text">Windows 10 Machines</text-property>
                                            </label>
                                        </cell>
                                    </row>
                                    <row id="17049">
                                        <cell id="17050">
                                            <property name="textAlign">center</property>
                                            <property name="verticalAlign">middle</property>
                                            <data id="17051">
                                                <property name="fontFamily">sans-serif</property>
                                                <property name="fontSize">18pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="paddingRight">2pt</property>
                                                <structure name="numberFormat">
                                                    <property name="category">Custom</property>
                                                    <property name="pattern">#,##0</property>
                                                </structure>
                                                <property name="textAlign">center</property>
                                                <property name="dataSet">Windows10OrEarlierMachineCount</property>
                                                <list-property name="boundDataColumns">
                                                    <structure>
                                                        <property name="name">machine_count</property>
                                                        <text-property name="displayName">machine_count</text-property>
                                                        <expression name="expression" type="javascript">dataSetRow["machine_count"]</expression>
                                                        <property name="dataType">decimal</property>
                                                    </structure>
                                                </list-property>
                                                <property name="resultSetColumn">machine_count</property>
                                            </data>
                                        </cell>
                                    </row>
                                </grid>
                            </cell>
                            <cell id="17091">
                                <property name="colSpan">1</property>
                                <property name="rowSpan">2</property>
                                <grid id="16450">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="borderBottomColor">#0B72BA</property>
                                    <property name="borderBottomStyle">solid</property>
                                    <property name="borderBottomWidth">thin</property>
                                    <property name="borderLeftColor">#0B72BA</property>
                                    <property name="borderLeftStyle">solid</property>
                                    <property name="borderLeftWidth">thin</property>
                                    <property name="borderRightColor">#0B72BA</property>
                                    <property name="borderRightStyle">solid</property>
                                    <property name="borderRightWidth">thin</property>
                                    <property name="borderTopColor">#0B72BA</property>
                                    <property name="borderTopStyle">solid</property>
                                    <property name="borderTopWidth">thin</property>
                                    <property name="marginTop">0pt</property>
                                    <property name="height">100%</property>
                                    <property name="width">100%</property>
                                    <column id="16451">
                                        <property name="width">80%</property>
                                    </column>
                                    <row id="16452">
                                        <cell id="16453">
                                            <property name="colSpan">1</property>
                                            <property name="rowSpan">1</property>
                                            <property name="style">CardTitle-WhiteOnLiquidwareBlue</property>
                                            <property name="backgroundColor">#0B72BA</property>
                                            <property name="borderBottomStyle">none</property>
                                            <property name="borderLeftStyle">none</property>
                                            <property name="borderRightStyle">none</property>
                                            <property name="borderTopStyle">none</property>
                                            <property name="textAlign">center</property>
                                            <label id="16454">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">16pt</property>
                                                <text-property name="text">Windows 11 Machines</text-property>
                                            </label>
                                        </cell>
                                    </row>
                                    <row id="16455">
                                        <cell id="16456">
                                            <property name="textAlign">center</property>
                                            <property name="verticalAlign">middle</property>
                                            <text-data id="16457">
                                                <property name="fontSize">61pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="dataSet">Windows11MachineCount</property>
                                                <list-property name="boundDataColumns">
                                                    <structure>
                                                        <property name="name">machine_count</property>
                                                        <text-property name="displayName">machine_count</text-property>
                                                        <expression name="expression" type="javascript">dataSetRow["machine_count"]</expression>
                                                        <property name="dataType">decimal</property>
                                                    </structure>
                                                </list-property>
                                                <expression name="valueExpr">var data = row["machine_count"];&#13;
var unit = "";&#13;
var display = data + unit;&#13;
display;</expression>
                                                <property name="contentType">html</property>
                                            </text-data>
                                        </cell>
                                    </row>
                                </grid>
                            </cell>
                        </row>
                        <row id="17092">
                            <cell id="17093">
                                <grid id="17127">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="borderBottomColor">#0B72BA</property>
                                    <property name="borderBottomStyle">solid</property>
                                    <property name="borderBottomWidth">thin</property>
                                    <property name="borderLeftColor">#0B72BA</property>
                                    <property name="borderLeftStyle">solid</property>
                                    <property name="borderLeftWidth">thin</property>
                                    <property name="borderRightColor">#0B72BA</property>
                                    <property name="borderRightStyle">solid</property>
                                    <property name="borderRightWidth">thin</property>
                                    <property name="borderTopColor">#0B72BA</property>
                                    <property name="borderTopStyle">solid</property>
                                    <property name="borderTopWidth">thin</property>
                                    <property name="marginTop">0pt</property>
                                    <property name="width">100%</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">in_place_upgrade_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_inplace_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Supported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">image_upgrade_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_image_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Supported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">replacement_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_inplace_upgrade_label"];&#13;
var data1 = dataSetRow["win11_image_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Unsupported" &amp;&amp; data1 == "Unsupported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                    </list-property>
                                    <column id="17128">
                                        <property name="width">80%</property>
                                    </column>
                                    <row id="17129">
                                        <cell id="17130">
                                            <property name="colSpan">1</property>
                                            <property name="rowSpan">1</property>
                                            <property name="style">CardTitle-WhiteOnLiquidwareBlue</property>
                                            <property name="backgroundColor">#0B72BA</property>
                                            <property name="borderBottomStyle">none</property>
                                            <property name="borderLeftStyle">none</property>
                                            <property name="borderRightStyle">none</property>
                                            <property name="borderTopStyle">none</property>
                                            <property name="textAlign">center</property>
                                            <label id="17131">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">16pt</property>
                                                <text-property name="text">In-place Upgrades</text-property>
                                            </label>
                                        </cell>
                                    </row>
                                    <row id="17132">
                                        <cell id="17133">
                                            <property name="textAlign">center</property>
                                            <property name="verticalAlign">middle</property>
                                            <data id="17134">
                                                <property name="fontSize">18pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">in_place_upgrade_machine_count</property>
                                            </data>
                                        </cell>
                                    </row>
                                </grid>
                            </cell>
                            <cell id="17094">
                                <grid id="17102">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="borderBottomColor">#0B72BA</property>
                                    <property name="borderBottomStyle">solid</property>
                                    <property name="borderBottomWidth">thin</property>
                                    <property name="borderLeftColor">#0B72BA</property>
                                    <property name="borderLeftStyle">solid</property>
                                    <property name="borderLeftWidth">thin</property>
                                    <property name="borderRightColor">#0B72BA</property>
                                    <property name="borderRightStyle">solid</property>
                                    <property name="borderRightWidth">thin</property>
                                    <property name="borderTopColor">#0B72BA</property>
                                    <property name="borderTopStyle">solid</property>
                                    <property name="borderTopWidth">thin</property>
                                    <property name="marginTop">0pt</property>
                                    <property name="width">100%</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">in_place_upgrade_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_inplace_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Supported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">image_upgrade_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_image_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Supported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">replacement_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_inplace_upgrade_label"];&#13;
var data1 = dataSetRow["win11_image_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Unsupported" &amp;&amp; data1 == "Unsupported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                    </list-property>
                                    <column id="17103">
                                        <property name="width">80%</property>
                                    </column>
                                    <row id="17104">
                                        <cell id="17105">
                                            <property name="colSpan">1</property>
                                            <property name="rowSpan">1</property>
                                            <property name="style">CardTitle-WhiteOnLiquidwareBlue</property>
                                            <property name="backgroundColor">#0B72BA</property>
                                            <property name="borderBottomStyle">none</property>
                                            <property name="borderLeftStyle">none</property>
                                            <property name="borderRightStyle">none</property>
                                            <property name="borderTopStyle">none</property>
                                            <property name="textAlign">center</property>
                                            <label id="17106">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">16pt</property>
                                                <text-property name="text">Image Upgrades</text-property>
                                            </label>
                                        </cell>
                                    </row>
                                    <row id="17107">
                                        <cell id="17108">
                                            <property name="textAlign">center</property>
                                            <property name="verticalAlign">middle</property>
                                            <data id="17109">
                                                <property name="fontSize">18pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">image_upgrade_machine_count</property>
                                            </data>
                                        </cell>
                                    </row>
                                </grid>
                            </cell>
                            <cell id="17095">
                                <grid id="17119">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="borderBottomColor">#0B72BA</property>
                                    <property name="borderBottomStyle">solid</property>
                                    <property name="borderBottomWidth">thin</property>
                                    <property name="borderLeftColor">#0B72BA</property>
                                    <property name="borderLeftStyle">solid</property>
                                    <property name="borderLeftWidth">thin</property>
                                    <property name="borderRightColor">#0B72BA</property>
                                    <property name="borderRightStyle">solid</property>
                                    <property name="borderRightWidth">thin</property>
                                    <property name="borderTopColor">#0B72BA</property>
                                    <property name="borderTopStyle">solid</property>
                                    <property name="borderTopWidth">thin</property>
                                    <property name="marginTop">0pt</property>
                                    <property name="width">100%</property>
                                    <property name="dataSet">Windows10MachineCountsByStatus</property>
                                    <list-property name="boundDataColumns">
                                        <structure>
                                            <property name="name">node_id</property>
                                            <text-property name="displayName">node_id</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                            <property name="dataType">integer</property>
                                        </structure>
                                        <structure>
                                            <property name="name">win11_inplace_upgrade_label</property>
                                            <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                            <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                            <property name="dataType">string</property>
                                        </structure>
                                        <structure>
                                            <property name="name">in_place_upgrade_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_inplace_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Supported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">image_upgrade_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_image_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Supported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                        <structure>
                                            <property name="name">replacement_machine_count</property>
                                            <property name="dataType">integer</property>
                                            <property name="aggregateFunction">COUNTDISTINCT</property>
                                            <list-property name="arguments">
                                                <structure>
                                                    <property name="name">Expression</property>
                                                    <expression name="value" type="javascript">row["node_id"]</expression>
                                                </structure>
                                            </list-property>
                                            <expression name="filterExpr" type="javascript">var data = dataSetRow["win11_inplace_upgrade_label"];&#13;
var data1 = dataSetRow["win11_image_upgrade_label"];&#13;
var filter = false;&#13;
if (data == "Unsupported" &amp;&amp; data1 == "Unsupported")&#13;
	filter = true;&#13;
filter;</expression>
                                            <property name="allowExport">true</property>
                                        </structure>
                                    </list-property>
                                    <column id="17120">
                                        <property name="width">80%</property>
                                    </column>
                                    <row id="17121">
                                        <cell id="17122">
                                            <property name="colSpan">1</property>
                                            <property name="rowSpan">1</property>
                                            <property name="style">CardTitle-WhiteOnLiquidwareBlue</property>
                                            <property name="backgroundColor">#0B72BA</property>
                                            <property name="borderBottomStyle">none</property>
                                            <property name="borderLeftStyle">none</property>
                                            <property name="borderRightStyle">none</property>
                                            <property name="borderTopStyle">none</property>
                                            <property name="textAlign">center</property>
                                            <label id="17123">
                                                <property name="style">ReportSectionTitle</property>
                                                <property name="fontSize">16pt</property>
                                                <text-property name="text">Replacements</text-property>
                                            </label>
                                        </cell>
                                    </row>
                                    <row id="17124">
                                        <cell id="17125">
                                            <property name="textAlign">center</property>
                                            <property name="verticalAlign">middle</property>
                                            <data id="17126">
                                                <property name="fontSize">18pt</property>
                                                <property name="fontWeight">bold</property>
                                                <property name="resultSetColumn">replacement_machine_count</property>
                                            </data>
                                        </cell>
                                    </row>
                                </grid>
                            </cell>
                        </row>
                    </grid>
                </cell>
            </row>
            <row id="16798">
                <property name="height">20pt</property>
                <cell id="16799">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16800">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:data="http://www.birt.eclipse.org/ChartModelData" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Bar Chart</Type>
  <SubType>Side-by-side</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by OS Edition</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Stretch>Both</Stretch>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Horizontal</Orientation>
      <Direction>Left_Right</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Below</Position>
      <ItemType>Series</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>&#xD;
/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint( dph, fill, icsc )&#xD;
{&#xD;
    // Try to get the category value instead of base display value&#xD;
    var categoryValue = dph.getSeriesDisplayValue(); // This often contains the category value&#xD;
    &#xD;
    // Alternative methods that might work depending on your chart configuration:&#xD;
    // var categoryValue = dph.getOrthogonalValue(); &#xD;
    // var categoryValue = dph.getCategoryValue();&#xD;
    &#xD;
    importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl);&#xD;
    var mycolor = ColorDefinitionImpl.WHITE();&#xD;
    &#xD;
    // For debugging, log the value to see what you're getting&#xD;
    //console.println(&quot;Category value: &quot; + categoryValue);&#xD;
    &#xD;
    if (categoryValue != null) {&#xD;
        if (categoryValue == &quot;Supported&quot;) {&#xD;
            mycolor = ColorDefinitionImpl.GREEN();&#xD;
            mycolor.setGreen(128);&#xD;
            mycolor.setTransparency(255);&#xD;
        }&#xD;
		else if (categoryValue == &quot;Partial&quot;) {&#xD;
		    mycolor = ColorDefinitionImpl.YELLOW();&#xD;
		}&#xD;
        else if (categoryValue == &quot;Unsupported&quot;) {&#xD;
            mycolor = ColorDefinitionImpl.RED();&#xD;
        }&#xD;
        else {&#xD;
            mycolor = ColorDefinitionImpl.GREY();&#xD;
        }&#xD;
    } else {&#xD;
        mycolor = ColorDefinitionImpl.GREY();&#xD;
    }&#xD;
    &#xD;
    r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
}&#xD;
&#xD;
/**&#xD;
 * Called before drawing the legend item.&#xD;
 * &#xD;
 * @param lerh&#xD;
 * 			  LegendEntryRenderingHints&#xD;
 * @param bounds&#xD;
 * 			  Bounds&#xD;
 * @param icsc&#xD;
 * 			  IChartScriptContext&#xD;
 * @since Version 2.2.0&#xD;
 */&#xD;
&#xD;
function beforeDrawLegendItem( lerh, bounds, icsc )&#xD;
{&#xD;
	var displayValue = lerh.getLabel().getCaption().getValue();&#xD;
	var fill = lerh.getFill();&#xD;
    importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	if (displayValue == &quot;Supported&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	    mycolor.setTransparency(255);&#xD;
	}&#xD;
	else if (displayValue == &quot;Partial&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.YELLOW();&#xD;
	}&#xD;
	else if (displayValue == &quot;Unsupported&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
}&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <Axes>
    <Type>Text</Type>
    <Title>
      <Caption>
        <Value>X-Axis Title</Value>
        <Font>
          <Size>14.0</Size>
          <Bold>true</Bold>
          <Alignment>
            <horizontalAlignment>Center</horizontalAlignment>
            <verticalAlignment>Center</verticalAlignment>
          </Alignment>
        </Font>
      </Caption>
      <Background xsi:type="attribute:ColorDefinition">
        <Transparency>0</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Background>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
      </Outline>
      <Insets>
        <Top>0.0</Top>
        <Left>2.0</Left>
        <Bottom>0.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Visible>false</Visible>
    </Title>
    <TitlePosition>Below</TitlePosition>
    <AssociatedAxes>
      <Type>Linear</Type>
      <Title>
        <Caption>
          <Value>Y-Axis Title</Value>
          <Font>
            <Size>14.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Left</TitlePosition>
      <SeriesDefinitions>
        <Query>
          <Definition></Definition>
        </Query>
        <SeriesPalette>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>51</Red>
            <Green>102</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>204</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>153</Red>
            <Green>204</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>51</Red>
            <Green>204</Green>
            <Blue>204</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>192</Red>
            <Green>192</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>192</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>7</Red>
            <Green>146</Green>
            <Blue>94</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>128</Green>
            <Blue>192</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>64</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>80</Red>
            <Green>240</Green>
            <Blue>120</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>0</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>0</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>64</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>128</Red>
            <Green>128</Green>
            <Blue>128</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>64</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Entries>
          <Entries xsi:type="attribute:ColorDefinition">
            <Transparency>255</Transparency>
            <Red>255</Red>
            <Green>128</Green>
            <Blue>0</Blue>
          </Entries>
        </SeriesPalette>
        <Series xsi:type="type:BarSeries">
          <Visible>true</Visible>
          <Label>
            <Caption>
              <Value></Value>
              <Font>
                <Name>SansSerif</Name>
                <Size>8.0</Size>
                <Alignment/>
              </Font>
            </Caption>
            <Background xsi:type="attribute:ColorDefinition">
              <Transparency>0</Transparency>
              <Red>255</Red>
              <Green>255</Green>
              <Blue>255</Blue>
            </Background>
            <Outline>
              <Style>Solid</Style>
              <Thickness>1</Thickness>
              <Color>
                <Transparency>255</Transparency>
                <Red>0</Red>
                <Green>0</Green>
                <Blue>0</Blue>
              </Color>
              <Visible>false</Visible>
            </Outline>
            <Insets>
              <Top>0.0</Top>
              <Left>2.0</Left>
              <Bottom>0.0</Bottom>
              <Right>3.0</Right>
            </Insets>
            <Visible>true</Visible>
          </Label>
          <DataDefinition>
            <Definition>row[&quot;node_id&quot;]</Definition>
            <Grouping>
              <Enabled>false</Enabled>
              <GroupType>Text</GroupType>
              <AggregateExpression xsi:nil="true"/>
            </Grouping>
          </DataDefinition>
          <SeriesIdentifier>Unsupported</SeriesIdentifier>
          <DataPoint>
            <Components>
              <Type>Orthogonal_Value</Type>
            </Components>
            <Separator></Separator>
          </DataPoint>
          <LabelPosition>Outside</LabelPosition>
          <Stacked>false</Stacked>
          <Triggers>
            <Condition>onmouseover</Condition>
            <Action>
              <Type>Show_Tooltip</Type>
              <Value xsi:type="attribute:TooltipValue">
                <Text></Text>
                <Delay>200</Delay>
              </Value>
            </Action>
          </Triggers>
          <Riser>Rectangle</Riser>
        </Series>
      </SeriesDefinitions>
      <Orientation>Vertical</Orientation>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </LineAttributes>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
      <LabelPosition>Left</LabelPosition>
      <MajorGrid>
        <LineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>196</Red>
            <Green>196</Green>
            <Blue>196</Blue>
          </Color>
          <Visible>false</Visible>
        </LineAttributes>
        <TickStyle>Across</TickStyle>
        <TickAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>196</Red>
            <Green>196</Green>
            <Blue>196</Blue>
          </Color>
          <Visible>true</Visible>
        </TickAttributes>
      </MajorGrid>
      <MinorGrid>
        <LineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>225</Red>
            <Green>225</Green>
            <Blue>225</Blue>
          </Color>
          <Visible>false</Visible>
        </LineAttributes>
        <TickStyle>Across</TickStyle>
        <TickAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>225</Red>
            <Green>225</Green>
            <Blue>225</Blue>
          </Color>
          <Visible>false</Visible>
        </TickAttributes>
      </MinorGrid>
      <Scale>
        <MinorGridsPerUnit>5</MinorGridsPerUnit>
      </Scale>
      <Origin>
        <Type>Min</Type>
        <Value xsi:type="data:NumberDataElement">
          <Value>0.0</Value>
        </Value>
      </Origin>
      <PrimaryAxis>true</PrimaryAxis>
      <Percent>false</Percent>
    </AssociatedAxes>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series>
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>false</Visible>
        </Label>
        <DataDefinition>
          <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;node_os_desc&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
data;</Definition>
        </DataDefinition>
        <SeriesIdentifier></SeriesIdentifier>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
      </Series>
      <Grouping>
        <Enabled>true</Enabled>
        <GroupType>Text</GroupType>
        <AggregateExpression>DistinctCount</AggregateExpression>
      </Grouping>
      <Sorting>Ascending</Sorting>
      <SortKey>
        <Definition>row[&quot;node_os_desc&quot;]</Definition>
      </SortKey>
    </SeriesDefinitions>
    <Orientation>Horizontal</Orientation>
    <LineAttributes>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>true</Visible>
    </LineAttributes>
    <Label>
      <Caption>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Caption>
      <Background xsi:type="attribute:ColorDefinition">
        <Transparency>0</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Background>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
      </Outline>
      <Insets>
        <Top>0.0</Top>
        <Left>2.0</Left>
        <Bottom>0.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Visible>true</Visible>
    </Label>
    <LabelPosition>Below</LabelPosition>
    <MajorGrid>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>196</Red>
          <Green>196</Green>
          <Blue>196</Blue>
        </Color>
        <Visible>false</Visible>
      </LineAttributes>
      <TickStyle>Across</TickStyle>
      <TickAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>196</Red>
          <Green>196</Green>
          <Blue>196</Blue>
        </Color>
        <Visible>true</Visible>
      </TickAttributes>
    </MajorGrid>
    <MinorGrid>
      <LineAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>225</Red>
          <Green>225</Green>
          <Blue>225</Blue>
        </Color>
        <Visible>false</Visible>
      </LineAttributes>
      <TickStyle>Across</TickStyle>
      <TickAttributes>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>225</Red>
          <Green>225</Green>
          <Blue>225</Blue>
        </Color>
        <Visible>false</Visible>
      </TickAttributes>
    </MinorGrid>
    <Scale>
      <MinorGridsPerUnit>5</MinorGridsPerUnit>
    </Scale>
    <Origin>
      <Type>Min</Type>
      <Value xsi:type="data:NumberDataElement">
        <Value>0.0</Value>
      </Value>
    </Origin>
    <PrimaryAxis>true</PrimaryAxis>
    <CategoryAxis>true</CategoryAxis>
    <Percent>false</Percent>
  </Axes>
  <Orientation>Horizontal</Orientation>
  <UnitSpacing>50.0</UnitSpacing>
  <Rotation>
    <Angles>
      <XAngle>-20.0</XAngle>
      <YAngle>45.0</YAngle>
      <ZAngle>0.0</ZAngle>
      <Type>None</Type>
    </Angles>
  </Rotation>
</model:ChartWithAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="16801">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="17138">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by OS Version</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>102</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>204</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var data = &quot;Unknown&quot;;&#xD;
if (row[&quot;os_build_version&quot;] != null) {&#xD;
	data = row[&quot;os_build_version&quot;];&#xD;
}&#xD;
data;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>DistinctCount</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;os_build_version&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="16802">
                <property name="pageBreakBefore">always</property>
                <property name="height">20pt</property>
                <cell id="16803">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="17039">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by CPU Clock Speed</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>50</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>153</Green>
        <Blue>102</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>154</Red>
        <Green>204</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>124</Red>
        <Green>124</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>50</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>153</Green>
          <Blue>102</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>154</Red>
          <Green>204</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>124</Red>
          <Green>124</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var data = row[&quot;node_cpu_speed_ghz&quot;];&#xD;
var dispData = &quot;Unknown&quot;;&#xD;
if (data != null) {&#xD;
	if (data &lt;= 1.0) {&#xD;
		dispData = &quot;&lt;= 1.0 GHz&quot;;&#xD;
	} else if (data > 1.0 &amp;&amp; data &lt;= 1.5) {&#xD;
		dispData = &quot;&lt;= 1.5 GHz&quot;;&#xD;
	} else if (data > 1.5 &amp;&amp; data &lt;= 2.0) {&#xD;
		dispData = &quot;&lt;= 2.0 GHz&quot;;&#xD;
	} else if (data > 2.0 &amp;&amp; data &lt;= 2.5) {&#xD;
		dispData = &quot;&lt;= 2.5 GHz&quot;;&#xD;
	} else if (data > 2.5 &amp;&amp; data &lt;= 3.0) {&#xD;
		dispData = &quot;&lt;= 3.0 GHz&quot;;&#xD;
	} else if (data > 3.0 &amp;&amp; data &lt;= 3.5) {&#xD;
		dispData = &quot;&lt;= 3.5 GHz&quot;;&#xD;
	} else if (data > 3.5 &amp;&amp; data &lt;= 4.0) {&#xD;
		dispData = &quot;&lt;= 4.0 GHz&quot;;&#xD;
	} else {&#xD;
		dispData = &quot;> 4 GHz&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupingInterval>1.0</GroupingInterval>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>var data = row[&quot;node_cpu_speed_ghz&quot;];&#xD;
var dispData = &quot;Unknown&quot;;&#xD;
if (data != null) {&#xD;
	if (data &lt;= 1.0) {&#xD;
		dispData = &quot;&lt;= 1.0 GHz&quot;;&#xD;
	} else if (data > 1.0 &amp;&amp; data &lt;= 1.5) {&#xD;
		dispData = &quot;&lt;= 1.5 GHz&quot;;&#xD;
	} else if (data > 1.5 &amp;&amp; data &lt;= 2.0) {&#xD;
		dispData = &quot;&lt;= 2.0 GHz&quot;;&#xD;
	} else if (data > 2.0 &amp;&amp; data &lt;= 2.5) {&#xD;
		dispData = &quot;&lt;= 2.5 GHz&quot;;&#xD;
	} else if (data > 2.5 &amp;&amp; data &lt;= 3.0) {&#xD;
		dispData = &quot;&lt;= 3.0 GHz&quot;;&#xD;
	} else if (data > 3.0 &amp;&amp; data &lt;= 3.5) {&#xD;
		dispData = &quot;&lt;= 3.5 GHz&quot;;&#xD;
	} else if (data > 3.5 &amp;&amp; data &lt;= 4.0) {&#xD;
		dispData = &quot;&lt;= 4.0 GHz&quot;;&#xD;
	} else {&#xD;
		dispData = &quot;> 4 GHz&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="16805">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16806">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by CPU Cores</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var displayValue = dph.getBaseDisplayValue();&#xD;
	if (displayValue >= 4) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	    mycolor.setTransparency(255);&#xD;
	}&#xD;
	else if (displayValue >= 2 &amp;&amp; displayValue &lt; 4) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(192);&#xD;
	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue &lt; 2) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>50</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>153</Green>
        <Blue>102</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>154</Red>
        <Green>204</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>124</Red>
        <Green>124</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>50</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>153</Green>
          <Blue>102</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>154</Red>
          <Green>204</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>124</Red>
          <Green>124</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Suffix> cores</Suffix>
          <Separator> count, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;node_cpu_cores&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;node_cpu_cores&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="16807">
                <property name="height">20pt</property>
                <cell id="16808">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16809">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by RAM</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	if (displayValue == &quot; > 32&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(64);&#xD;
	}&#xD;
	else if (displayValue == &quot; 16 - 32&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
//	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue == &quot; 8 - 16&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(192);&#xD;
//	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue == &quot; 4 - 8&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(255);&#xD;
//	    mycolor.translucent();&#xD;
	}&#xD;
	else if (displayValue == &quot; &lt; 4&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>204</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Suffix> GB</Suffix>
          <Separator> count, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;ram_alloc_gb&quot;];&#xD;
if (data != null) {&#xD;
	if (data &lt; 4) {&#xD;
		dispData = &quot; &lt; 4&quot;;&#xD;
	} else if (data >= 4 &amp;&amp; data &lt;= 8) {&#xD;
		dispData = &quot; 4 - 8&quot;;&#xD;
	} else if (data > 8 &amp;&amp; data &lt;= 16) {&#xD;
		dispData = &quot; 8 - 16&quot;;&#xD;
	} else if (data > 16 &amp;&amp; data &lt;= 32) {&#xD;
		dispData = &quot; 16 - 32&quot;;&#xD;
	} else {&#xD;
		dispData = &quot; > 32&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;ram_alloc_gb&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="16810">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16811">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by Disk Free Space</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	if (displayValue == &quot; >= 20&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(64);&#xD;
	}&#xD;
	else if (displayValue == &quot; &lt; 20&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>153</Green>
        <Blue>102</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>154</Red>
        <Green>204</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>232</Red>
        <Green>172</Green>
        <Blue>57</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>153</Green>
          <Blue>102</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>154</Red>
          <Green>204</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>232</Red>
          <Green>172</Green>
          <Blue>57</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Suffix> GB</Suffix>
          <Separator> count, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;node_disk0_c_free_gb&quot;];&#xD;
if (data != null) {&#xD;
	if (data &lt; 20) {&#xD;
		dispData = &quot; &lt; 20&quot;;&#xD;
	} else {&#xD;
		dispData = &quot; >= 20&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;ram_alloc_gb&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="16812">
                <property name="height">20pt</property>
                <list-property name="visibility">
                    <structure>
                        <property name="format">all</property>
                        <expression name="valueExpr" type="javascript">true</expression>
                    </structure>
                </list-property>
                <cell id="16813">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                </cell>
                <cell id="16814">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                </cell>
            </row>
            <row id="16815">
                <property name="height">20pt</property>
                <cell id="16816">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16819">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>By Chassis</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>204</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>204</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var data = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_chassis_type&quot;] != null) {&#xD;
	data = row[&quot;machine_chassis_type&quot;];&#xD;
}&#xD;
data;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_chassis_type&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="16820">
                <property name="height">20pt</property>
                <cell id="16821">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="17139">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Top 5 Machines Makes</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>102</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_make&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>DistinctCount</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_make&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">top-n</property>
                                <expression name="expr" type="javascript">row["machine_make"]</expression>
                                <simple-property-list name="value1">
                                    <value>params["ThresholdValue"].value</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="16823">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="17140">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Top 5 Machine Models</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>102</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>102</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_model&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>DistinctCount</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_model&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">top-n</property>
                                <expression name="expr" type="javascript">row["machine_model"]</expression>
                                <simple-property-list name="value1">
                                    <value>params["ThresholdValue"].value</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="16825">
                <property name="pageBreakBefore">always</property>
                <property name="height">20pt</property>
                <cell id="16826">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16827">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by TPM Specifications</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>&#xD;
/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
    // Try different methods to get the value that might contain &quot;1.&quot; or &quot;2.&quot; prefix&#xD;
    var categoryValue = null;&#xD;
    &#xD;
    // Try these different methods to access the category value&#xD;
    try {&#xD;
        categoryValue = dph.getCategoryValue();&#xD;
        &#xD;
        // If that didn't work, try other methods&#xD;
        if (categoryValue == null || !categoryValue.toString().match(/^[12]\./)) {&#xD;
            var seriesValue = dph.getSeriesDisplayValue();&#xD;
            if (seriesValue != null &amp;&amp; seriesValue.toString().match(/^[12]\./)) {&#xD;
                categoryValue = seriesValue;&#xD;
            }&#xD;
        }&#xD;
        &#xD;
        // If that still didn't work, try orthogonal value&#xD;
        if (categoryValue == null || !categoryValue.toString().match(/^[12]\./)) {&#xD;
            var orthogonalValue = dph.getOrthogonalValue();&#xD;
            if (orthogonalValue != null &amp;&amp; orthogonalValue.toString().match(/^[12]\./)) {&#xD;
                categoryValue = orthogonalValue;&#xD;
            }&#xD;
        }&#xD;
    } catch (e) {&#xD;
        // If any errors occur, just continue with the original logic&#xD;
    }&#xD;
    &#xD;
    importPackage(Packages.org.eclipse.birt.chart.model.attribute.impl);&#xD;
    var mycolor = ColorDefinitionImpl.WHITE();&#xD;
    &#xD;
    // Convert to string to safely use startsWith or match&#xD;
    if (categoryValue != null) {&#xD;
        var strValue = categoryValue.toString();&#xD;
        &#xD;
        if (strValue.match(/^2\./)) {&#xD;
            mycolor = ColorDefinitionImpl.GREEN();&#xD;
            mycolor.setGreen(128);&#xD;
            mycolor.setTransparency(255);&#xD;
        }&#xD;
        else if (strValue.match(/^1\./)) {&#xD;
            mycolor = ColorDefinitionImpl.RED();&#xD;
        }&#xD;
        else {&#xD;
            mycolor = ColorDefinitionImpl.GREY();&#xD;
        }&#xD;
    } else {&#xD;
        // Try the original baseDisplayValue as a fallback&#xD;
        var baseValue = dph.getBaseDisplayValue();&#xD;
        if (baseValue != null) {&#xD;
            var strBaseValue = baseValue.toString();&#xD;
            &#xD;
            if (strBaseValue.match(/^2\./)) {&#xD;
                mycolor = ColorDefinitionImpl.GREEN();&#xD;
                mycolor.setGreen(128);&#xD;
                mycolor.setTransparency(255);&#xD;
            }&#xD;
            else if (strBaseValue.match(/^1\./)) {&#xD;
                mycolor = ColorDefinitionImpl.RED();&#xD;
            }&#xD;
            else {&#xD;
                mycolor = ColorDefinitionImpl.GREY();&#xD;
            }&#xD;
        } else {&#xD;
            mycolor = ColorDefinitionImpl.GREY();&#xD;
        }&#xD;
    }&#xD;
    &#xD;
    r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
    fill.set(r, g, b);&#xD;
}&#xD;
&#xD;
/**&#xD;
 * Called before drawing the legend item.&#xD;
 * &#xD;
 * @param lerh&#xD;
 * 			  LegendEntryRenderingHints&#xD;
 * @param bounds&#xD;
 * 			  Bounds&#xD;
 * @param icsc&#xD;
 * 			  IChartScriptContext&#xD;
 * @since Version 2.2.0&#xD;
 */&#xD;
&#xD;
function beforeDrawLegendItem( lerh, bounds, icsc )&#xD;
{&#xD;
	var displayValue = lerh.getLabel().getCaption().getValue();&#xD;
	var fill = lerh.getFill();&#xD;
    importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	if (displayValue == &quot;Supported&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	    mycolor.setTransparency(255);&#xD;
	}&#xD;
	else if (displayValue == &quot;Partial&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.YELLOW();&#xD;
	}&#xD;
	else if (displayValue == &quot;Unsupported&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
}&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator> count, TPM: </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_tpm_specifications&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_tpm_specification&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="16828">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16829">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines With Secure Boot</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>&#xD;
/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	&#xD;
    // Access Java's System.out&#xD;
    var javaSystem = Packages.java.lang.System;  &#xD;
    // Print to standard output&#xD;
    javaSystem.out.println(&quot;DEBUG: Display value = &quot; + dph.getBaseDisplayValue());&#xD;
&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
	if (displayValue == &quot;Enabled&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	    mycolor.setTransparency(255);&#xD;
	}&#xD;
	else if (displayValue == &quot;Disabled&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
    r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
    fill.set(r, g, b);&#xD;
}&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>51</Red>
        <Green>51</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>253</Red>
        <Green>153</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>51</Red>
          <Green>51</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>253</Red>
          <Green>153</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_secure_boot&quot;];&#xD;
if (data != null) {&#xD;
	dispData = data;&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>DistinctCount</AggregateExpression>
    </Grouping>
    <Sorting>Ascending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_secure_boot&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="16830">
                <property name="pageBreakBefore">auto</property>
                <property name="height">20pt</property>
                <cell id="16831">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16832">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>UEFI Capable Machines</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	if (displayValue == &quot;Yes&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	}&#xD;
	else if (displayValue == &quot;No&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>153</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>153</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;machine_bios_uefi_capable&quot;];&#xD;
if (data != null) {&#xD;
	if (data == 1) {&#xD;
		dispData = &quot;Yes&quot;;&#xD;
	}&#xD;
	else {&#xD;
		dispData = &quot;No&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupingInterval>1.0</GroupingInterval>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Descending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_bios_uefi_capable&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="16833">
                    <property name="fontFamily">sans-serif</property>
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16834">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>DirectX 12 / WDDM 2.0 Machines</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Script>/**&#xD;
 * Called before drawing each datapoint graphical representation or marker.&#xD;
 * &#xD;
 * @param dph&#xD;
 *            DataPointHints&#xD;
 * @param fill&#xD;
 *            Fill&#xD;
 * @param icsc&#xD;
 *            IChartScriptContext&#xD;
 */&#xD;
&#xD;
function beforeDrawDataPoint(dph, fill, icsc)&#xD;
{&#xD;
	importPackage( Packages.org.eclipse.birt.chart.model.attribute.impl );&#xD;
	var mycolor = ColorDefinitionImpl.WHITE();&#xD;
&#xD;
	var baseDisplayValue = dph.getBaseDisplayValue();&#xD;
	var displayValue = baseDisplayValue.toString();&#xD;
	if (displayValue == &quot;Yes&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.GREEN();&#xD;
	    mycolor.setGreen(128);&#xD;
	}&#xD;
	else if (displayValue == &quot;No&quot;) {&#xD;
	    mycolor = ColorDefinitionImpl.RED();&#xD;
	}&#xD;
	else {&#xD;
	    mycolor = ColorDefinitionImpl.GREY();&#xD;
	}&#xD;
&#xD;
   	r = mycolor.getRed();&#xD;
    g = mycolor.getGreen();&#xD;
    b = mycolor.getBlue();&#xD;
   	fill.set(r, g, b);&#xD;
&#xD;
}&#xD;
&#xD;
</Script>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>153</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>153</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var dispData = &quot;Unknown&quot;;&#xD;
var data = row[&quot;os_dx12orwddm2&quot;];&#xD;
if (data != null) {&#xD;
	if (data == 1) {&#xD;
		dispData = &quot;Yes&quot;;&#xD;
	}&#xD;
	else {&#xD;
		dispData = &quot;No&quot;;&#xD;
	}&#xD;
}&#xD;
dispData;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupingInterval>1.0</GroupingInterval>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
    <Sorting>Descending</Sorting>
    <SortKey>
      <Definition>row[&quot;machine_bios_uefi_capable&quot;]</Definition>
    </SortKey>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="16835">
                <property name="pageBreakBefore">always</property>
                <cell id="16836">
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16837">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by Country</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>242</Red>
        <Green>88</Green>
        <Blue>106</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>232</Red>
        <Green>172</Green>
        <Blue>57</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>64</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>242</Red>
          <Green>88</Green>
          <Blue>106</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>232</Red>
          <Green>172</Green>
          <Blue>57</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>64</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var location = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_location_country&quot;] != null) {&#xD;
	location = row[&quot;machine_location_country&quot;];&#xD;
}&#xD;
location;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="16839">
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16840">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by City</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>253</Red>
        <Green>153</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>153</Red>
        <Green>204</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>253</Red>
          <Green>153</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>153</Red>
          <Green>204</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineStyle>Stretch_To_Side</LeaderLineStyle>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var location = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_location_city&quot;] != null) {&#xD;
	location = row[&quot;machine_location_city&quot;];&#xD;
}&#xD;
location;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
            </row>
            <row id="17542">
                <property name="pageBreakBefore">always</property>
                <cell id="17543">
                    <property name="textAlign">center</property>
                    <extended-item extensionName="Chart" id="16838">
                        <xml-property name="xmlRepresentation"><![CDATA[<model:ChartWithoutAxes xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:attribute="http://www.birt.eclipse.org/ChartModelAttribute" xmlns:layout="http://www.birt.eclipse.org/ChartModelLayout" xmlns:model="http://www.birt.eclipse.org/ChartModel" xmlns:type="http://www.birt.eclipse.org/ChartModelType">
  <Version>2.6.1</Version>
  <Type>Pie Chart</Type>
  <SubType>Standard</SubType>
  <Block>
    <Children xsi:type="layout:TitleBlock">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value>Machines by State</Value>
          <Font>
            <Name>SansSerif</Name>
            <Size>16.0</Size>
            <Bold>true</Bold>
            <Alignment>
              <horizontalAlignment>Center</horizontalAlignment>
              <verticalAlignment>Center</verticalAlignment>
            </Alignment>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>true</Visible>
      </Label>
    </Children>
    <Children xsi:type="layout:Plot">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>true</Visible>
      <HorizontalSpacing>5</HorizontalSpacing>
      <VerticalSpacing>5</VerticalSpacing>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>0.0</Left>
          <Bottom>0.0</Bottom>
          <Right>0.0</Right>
        </Insets>
      </ClientArea>
    </Children>
    <Children xsi:type="layout:Legend">
      <Bounds>
        <Left>0.0</Left>
        <Top>0.0</Top>
        <Width>0.0</Width>
        <Height>0.0</Height>
      </Bounds>
      <Insets>
        <Top>3.0</Top>
        <Left>3.0</Left>
        <Bottom>3.0</Bottom>
        <Right>3.0</Right>
      </Insets>
      <Row>-1</Row>
      <Column>-1</Column>
      <Rowspan>-1</Rowspan>
      <Columnspan>-1</Columnspan>
      <Outline>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>false</Visible>
      </Outline>
      <Visible>false</Visible>
      <ClientArea>
        <Outline>
          <Style>Solid</Style>
          <Thickness>0</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>2.0</Top>
          <Left>2.0</Left>
          <Bottom>2.0</Bottom>
          <Right>2.0</Right>
        </Insets>
      </ClientArea>
      <Text>
        <Value></Value>
        <Font>
          <Alignment/>
        </Font>
      </Text>
      <Orientation>Vertical</Orientation>
      <Direction>Top_Bottom</Direction>
      <Separator>
        <Style>Solid</Style>
        <Thickness>1</Thickness>
        <Color>
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Color>
        <Visible>true</Visible>
      </Separator>
      <Position>Right</Position>
      <ItemType>Categories</ItemType>
      <Title>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Title>
      <TitlePosition>Above</TitlePosition>
    </Children>
    <Bounds>
      <Left>0.0</Left>
      <Top>0.0</Top>
      <Width>212.0</Width>
      <Height>130.0</Height>
    </Bounds>
    <Insets>
      <Top>3.0</Top>
      <Left>3.0</Left>
      <Bottom>3.0</Bottom>
      <Right>3.0</Right>
    </Insets>
    <Row>-1</Row>
    <Column>-1</Column>
    <Rowspan>-1</Rowspan>
    <Columnspan>-1</Columnspan>
    <Outline>
      <Style>Solid</Style>
      <Thickness>1</Thickness>
      <Color>
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Color>
      <Visible>false</Visible>
    </Outline>
    <Visible>true</Visible>
  </Block>
  <Dimension>Two_Dimensional</Dimension>
  <Units>Points</Units>
  <SeriesThickness>10.0</SeriesThickness>
  <GridColumnCount>0</GridColumnCount>
  <ExtendedProperties>
    <Name>enable.area.alt</Name>
    <Value>false</Value>
  </ExtendedProperties>
  <SampleData>
    <BaseSampleData>
      <DataSetRepresentation>'A','B','C','D','E'</DataSetRepresentation>
    </BaseSampleData>
    <OrthogonalSampleData>
      <DataSetRepresentation>6,4,12,8,10</DataSetRepresentation>
      <SeriesDefinitionIndex>0</SeriesDefinitionIndex>
    </OrthogonalSampleData>
  </SampleData>
  <Interactivity/>
  <EmptyMessage>
    <Caption>
      <Value>This chart contains no data.</Value>
      <Font>
        <Name>SansSerif</Name>
        <Size>12.0</Size>
        <Alignment>
          <horizontalAlignment>Center</horizontalAlignment>
          <verticalAlignment>Center</verticalAlignment>
        </Alignment>
      </Font>
    </Caption>
    <Background xsi:type="attribute:ColorDefinition">
      <Transparency>64</Transparency>
      <Red>127</Red>
      <Green>127</Green>
      <Blue>127</Blue>
    </Background>
    <Outline>
      <Color>
        <Transparency>128</Transparency>
        <Red>127</Red>
        <Green>127</Green>
        <Blue>127</Blue>
      </Color>
      <Visible>true</Visible>
    </Outline>
    <Insets>
      <Top>10.0</Top>
      <Left>10.0</Left>
      <Bottom>10.0</Bottom>
      <Right>10.0</Right>
    </Insets>
    <Visible>true</Visible>
  </EmptyMessage>
  <SeriesDefinitions>
    <Query>
      <Definition></Definition>
    </Query>
    <SeriesPalette>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>166</Green>
        <Blue>218</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>204</Red>
        <Green>153</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>253</Red>
        <Green>153</Green>
        <Blue>204</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>204</Green>
        <Blue>153</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>170</Red>
        <Green>85</Green>
        <Blue>85</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>192</Red>
        <Green>192</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>192</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>7</Red>
        <Green>146</Green>
        <Blue>94</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>128</Green>
        <Blue>192</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>64</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>80</Red>
        <Green>240</Green>
        <Blue>120</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>0</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>0</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>64</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>128</Red>
        <Green>128</Green>
        <Blue>128</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>64</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>0</Red>
        <Green>0</Green>
        <Blue>0</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>255</Green>
        <Blue>255</Blue>
      </Entries>
      <Entries xsi:type="attribute:ColorDefinition">
        <Transparency>255</Transparency>
        <Red>255</Red>
        <Green>128</Green>
        <Blue>0</Blue>
      </Entries>
    </SeriesPalette>
    <SeriesDefinitions>
      <Query>
        <Definition></Definition>
      </Query>
      <SeriesPalette>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>166</Green>
          <Blue>218</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>204</Red>
          <Green>153</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>253</Red>
          <Green>153</Green>
          <Blue>204</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>204</Green>
          <Blue>153</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>170</Red>
          <Green>85</Green>
          <Blue>85</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>192</Red>
          <Green>192</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>192</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>7</Red>
          <Green>146</Green>
          <Blue>94</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>128</Green>
          <Blue>192</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>64</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>80</Red>
          <Green>240</Green>
          <Blue>120</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>0</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>0</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>64</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>128</Red>
          <Green>128</Green>
          <Blue>128</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>64</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>0</Red>
          <Green>0</Green>
          <Blue>0</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Entries>
        <Entries xsi:type="attribute:ColorDefinition">
          <Transparency>255</Transparency>
          <Red>255</Red>
          <Green>128</Green>
          <Blue>0</Blue>
        </Entries>
      </SeriesPalette>
      <Series xsi:type="type:PieSeries">
        <Visible>true</Visible>
        <Label>
          <Caption>
            <Value></Value>
            <Font>
              <Name>SansSerif</Name>
              <Size>8.0</Size>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
            <Visible>false</Visible>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Label>
        <DataDefinition>
          <Definition>row[&quot;node_id&quot;]</Definition>
          <Grouping>
            <Enabled>true</Enabled>
            <GroupType>Text</GroupType>
            <AggregateExpression>DistinctCount</AggregateExpression>
          </Grouping>
        </DataDefinition>
        <DataPoint>
          <Components>
            <Type>Orthogonal_Value</Type>
          </Components>
          <Components>
            <Type>Base_Value</Type>
          </Components>
          <Separator>, </Separator>
        </DataPoint>
        <LabelPosition>Outside</LabelPosition>
        <Stacked>false</Stacked>
        <Triggers>
          <Condition>onmouseover</Condition>
          <Action>
            <Type>Show_Tooltip</Type>
            <Value xsi:type="attribute:TooltipValue">
              <Text></Text>
              <Delay>200</Delay>
            </Value>
          </Action>
        </Triggers>
        <Explosion>0</Explosion>
        <Title>
          <Caption>
            <Value></Value>
            <Font>
              <Size>16.0</Size>
              <Bold>true</Bold>
              <Alignment/>
            </Font>
          </Caption>
          <Background xsi:type="attribute:ColorDefinition">
            <Transparency>0</Transparency>
            <Red>255</Red>
            <Green>255</Green>
            <Blue>255</Blue>
          </Background>
          <Outline>
            <Style>Solid</Style>
            <Thickness>1</Thickness>
            <Color>
              <Transparency>255</Transparency>
              <Red>0</Red>
              <Green>0</Green>
              <Blue>0</Blue>
            </Color>
          </Outline>
          <Insets>
            <Top>0.0</Top>
            <Left>2.0</Left>
            <Bottom>0.0</Bottom>
            <Right>3.0</Right>
          </Insets>
          <Visible>true</Visible>
        </Title>
        <TitlePosition>Below</TitlePosition>
        <LeaderLineAttributes>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Visible>true</Visible>
        </LeaderLineAttributes>
        <LeaderLineStyle>Stretch_To_Side</LeaderLineStyle>
        <LeaderLineLength>10.0</LeaderLineLength>
      </Series>
    </SeriesDefinitions>
    <Series>
      <Visible>true</Visible>
      <Label>
        <Caption>
          <Value></Value>
          <Font>
            <Alignment/>
          </Font>
        </Caption>
        <Background xsi:type="attribute:ColorDefinition">
          <Transparency>0</Transparency>
          <Red>255</Red>
          <Green>255</Green>
          <Blue>255</Blue>
        </Background>
        <Outline>
          <Style>Solid</Style>
          <Thickness>1</Thickness>
          <Color>
            <Transparency>255</Transparency>
            <Red>0</Red>
            <Green>0</Green>
            <Blue>0</Blue>
          </Color>
          <Visible>false</Visible>
        </Outline>
        <Insets>
          <Top>0.0</Top>
          <Left>2.0</Left>
          <Bottom>0.0</Bottom>
          <Right>3.0</Right>
        </Insets>
        <Visible>false</Visible>
      </Label>
      <DataDefinition>
        <Definition>var location = &quot;Unknown&quot;;&#xD;
if (row[&quot;machine_location_state&quot;] != null) {&#xD;
	location = row[&quot;machine_location_state&quot;];&#xD;
}&#xD;
location;</Definition>
      </DataDefinition>
      <SeriesIdentifier></SeriesIdentifier>
      <DataPoint>
        <Components>
          <Type>Orthogonal_Value</Type>
        </Components>
        <Separator>, </Separator>
      </DataPoint>
      <LabelPosition>Outside</LabelPosition>
      <Stacked>false</Stacked>
    </Series>
    <Grouping>
      <Enabled>true</Enabled>
      <GroupType>Text</GroupType>
      <AggregateExpression>Sum</AggregateExpression>
    </Grouping>
  </SeriesDefinitions>
</model:ChartWithoutAxes>
]]></xml-property>
                        <property name="outputFormat">SVG</property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <property name="inheritColumns">false</property>
                        <property name="height">3.75in</property>
                        <property name="width">5in</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                    </extended-item>
                </cell>
                <cell id="17544">
                    <property name="textAlign">center</property>
                </cell>
            </row>
            <row id="16841">
                <property name="pageBreakBefore">always</property>
                <cell id="16842">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="textAlign">center</property>
                    <table id="16843">
                        <list-property name="userProperties">
                            <structure>
                                <property name="name">ExcelEmitter.ForceAutoColWidths</property>
                                <property name="type">boolean</property>
                            </structure>
                        </list-property>
                        <property name="fontFamily">sans-serif</property>
                        <property name="pageBreakBefore">auto</property>
                        <property name="canShrink">true</property>
                        <property name="width">100%</property>
                        <property name="dataSet">Windows10MachineCountsByStatus</property>
                        <list-property name="visibility"/>
                        <list-property name="boundDataColumns">
                            <structure>
                                <property name="name">node_id</property>
                                <text-property name="displayName">node_id</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_id"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_name</property>
                                <text-property name="displayName">machine_name</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_name"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_fqmn</property>
                                <text-property name="displayName">machine_fqmn</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_fqmn"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_last_contact</property>
                                <text-property name="displayName">machine_last_contact</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_last_contact"]</expression>
                                <property name="dataType">date-time</property>
                            </structure>
                            <structure>
                                <property name="name">machine_make</property>
                                <text-property name="displayName">machine_make</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_make"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_model</property>
                                <text-property name="displayName">machine_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_chassis_type</property>
                                <text-property name="displayName">machine_chassis_type</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_chassis_type"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_version</property>
                                <text-property name="displayName">node_os_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_os_desc</property>
                                <text-property name="displayName">node_os_desc</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_os_desc"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">os_build_version</property>
                                <text-property name="displayName">os_build_version</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_build_version"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_model</property>
                                <text-property name="displayName">node_cpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_short_models</property>
                                <text-property name="displayName">node_cpu_short_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_short_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_speed_ghz</property>
                                <text-property name="displayName">node_cpu_speed_ghz</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_speed_ghz"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_brand</property>
                                <text-property name="displayName">cpu_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand</property>
                                <text-property name="displayName">cpu_sub_brand</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sub_brand_modifier</property>
                                <text-property name="displayName">cpu_sub_brand_modifier</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sub_brand_modifier"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_model_number</property>
                                <text-property name="displayName">cpu_model_number</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_model_number"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku_level</property>
                                <text-property name="displayName">cpu_sku_level</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku_level"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_generation</property>
                                <text-property name="displayName">cpu_generation</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_generation"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_sku</property>
                                <text-property name="displayName">cpu_sku</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_sku"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_per_cpu_cores</property>
                                <text-property name="displayName">node_per_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_per_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_cores</property>
                                <text-property name="displayName">node_cpu_cores</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_cores"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_cpu_bitwidth</property>
                                <text-property name="displayName">node_cpu_bitwidth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_cpu_bitwidth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_ram_allocated_gb</property>
                                <text-property name="displayName">node_ram_allocated_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_ram_allocated_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">ram_alloc_gb</property>
                                <text-property name="displayName">ram_alloc_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["ram_alloc_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_size_gb</property>
                                <text-property name="displayName">node_disk0_c_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_used_gb</property>
                                <text-property name="displayName">node_disk0_c_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_disk0_c_free_gb</property>
                                <text-property name="displayName">node_disk0_c_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_disk0_c_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_size_gb</property>
                                <text-property name="displayName">node_total_disk_size_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_size_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_used_gb</property>
                                <text-property name="displayName">node_total_disk_used_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_used_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_total_disk_free_gb</property>
                                <text-property name="displayName">node_total_disk_free_gb</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_total_disk_free_gb"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_model</property>
                                <text-property name="displayName">node_gpu_model</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_model"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_models</property>
                                <text-property name="displayName">node_discrete_gpu_models</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_models"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_count</property>
                                <text-property name="displayName">node_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_discrete_gpu_count</property>
                                <text-property name="displayName">node_discrete_gpu_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_discrete_gpu_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">node_gpu_color_depth</property>
                                <text-property name="displayName">node_gpu_color_depth</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_gpu_color_depth"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">os_dx12orwddm2</property>
                                <text-property name="displayName">os_dx12orwddm2</text-property>
                                <expression name="expression" type="javascript">dataSetRow["os_dx12orwddm2"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_dimensions</property>
                                <text-property name="displayName">node_display_dimensions</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_dimensions"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_res_y</property>
                                <text-property name="displayName">max_display_res_y</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_res_y"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_size_in_inches</property>
                                <text-property name="displayName">node_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_size_in_inches"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">max_display_size_in_inches</property>
                                <text-property name="displayName">max_display_size_in_inches</text-property>
                                <expression name="expression" type="javascript">dataSetRow["max_display_size_in_inches"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">node_display_count</property>
                                <text-property name="displayName">node_display_count</text-property>
                                <expression name="expression" type="javascript">dataSetRow["node_display_count"]</expression>
                                <property name="dataType">decimal</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_capable</property>
                                <text-property name="displayName">machine_bios_uefi_capable</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_capable"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_bios_uefi_enabled</property>
                                <text-property name="displayName">machine_bios_uefi_enabled</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_bios_uefi_enabled"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_secure_boot</property>
                                <text-property name="displayName">machine_secure_boot</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_secure_boot"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specifications</property>
                                <text-property name="displayName">machine_tpm_specifications</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specifications"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_tpm_specification</property>
                                <text-property name="displayName">machine_tpm_specification</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_tpm_specification"]</expression>
                                <property name="dataType">integer</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city_state_country</property>
                                <text-property name="displayName">machine_location_city_state_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city_state_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_country</property>
                                <text-property name="displayName">machine_location_country</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_country"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_state</property>
                                <text-property name="displayName">machine_location_state</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_state"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">machine_location_city</property>
                                <text-property name="displayName">machine_location_city</text-property>
                                <expression name="expression" type="javascript">dataSetRow["machine_location_city"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_inplace_upgrade_label</property>
                                <text-property name="displayName">win11_inplace_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_inplace_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">win11_image_upgrade_label</property>
                                <text-property name="displayName">win11_image_upgrade_label</text-property>
                                <expression name="expression" type="javascript">dataSetRow["win11_image_upgrade_label"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                            <structure>
                                <property name="name">cpu_support_status</property>
                                <text-property name="displayName">cpu_support_status</text-property>
                                <expression name="expression" type="javascript">dataSetRow["cpu_support_status"]</expression>
                                <property name="dataType">string</property>
                            </structure>
                        </list-property>
                        <structure name="toc"/>
                        <property name="pageBreakInterval">999999</property>
                        <list-property name="sort">
                            <structure>
                                <expression name="key" type="javascript">row["machine_name"]</expression>
                                <property name="direction">asc</property>
                                <property name="strength">-1</property>
                            </structure>
                        </list-property>
                        <list-property name="filter">
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                            <structure>
                                <property name="operator">eq</property>
                                <expression name="expr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                <simple-property-list name="value1">
                                    <value>"Unsupported"</value>
                                </simple-property-list>
                                <property name="updateAggregation">true</property>
                            </structure>
                        </list-property>
                        <column id="16938">
                            <property name="textAlign">left</property>
                        </column>
                        <column id="16939">
                            <property name="textAlign">left</property>
                        </column>
                        <column id="16940">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16941">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16942">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16943">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16944">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16945">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16946">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16947">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16948">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16949">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16950">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16951">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16952">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16953">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16954">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16955">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16956">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16957">
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16958">
                            <property name="textAlign">right</property>
                        </column>
                        <column id="16959">
                            <property name="textAlign">center</property>
                        </column>
                        <column id="16960">
                            <property name="textAlign">center</property>
                        </column>
                        <header>
                            <row id="17141">
                                <property name="style">TableHeaderCell</property>
                                <cell id="17142">
                                    <property name="colSpan">23</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">left</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="17165">
                                        <property name="fontSize">12pt</property>
                                        <text-property name="text">Windows 10 machines replacement list:</text-property>
                                    </label>
                                </cell>
                            </row>
                            <row id="16844">
                                <property name="style">TableHeaderCell</property>
                                <cell id="16845">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">left</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16846">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="color">maroon</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Machine Name</text-property>
                                    </label>
                                </cell>
                                <cell id="16847">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">left</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16848">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Operating System</text-property>
                                    </label>
                                </cell>
                                <cell id="16849">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16850">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">CPU&#13;
Model</text-property>
                                    </label>
                                </cell>
                                <cell id="16851">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16852">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">CPU&#13;
Support</text-property>
                                    </label>
                                </cell>
                                <cell id="16853">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16854">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">CPU&#13;
(GHz)</text-property>
                                    </label>
                                </cell>
                                <cell id="16855">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16856">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Cores&#13;
per&#13;
CPU</text-property>
                                    </label>
                                </cell>
                                <cell id="16857">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16858">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">CPU&#13;
Bit&#13;
Width</text-property>
                                    </label>
                                </cell>
                                <cell id="16859">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16860">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">RAM&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="16861">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16862">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Allocated&#13;
HDD Space&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="16863">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16864">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Used HDD Space&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="16865">
                                    <property name="colSpan">1</property>
                                    <property name="rowSpan">1</property>
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16866">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Free HDD Space&#13;
(GB)</text-property>
                                    </label>
                                </cell>
                                <cell id="16867">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">left</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16868">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">GPU Models</text-property>
                                    </label>
                                </cell>
                                <cell id="16869">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16870">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">GPU&#13;
Count</text-property>
                                    </label>
                                </cell>
                                <cell id="16871">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16872">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">right</property>
                                        <text-property name="text">Display&#13;
Color&#13;
Depth&#13;
Bits</text-property>
                                    </label>
                                </cell>
                                <cell id="16873">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16874">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">GPU&#13;
(DirectX12 /&#13;
WDDM 2.0)</text-property>
                                    </label>
                                </cell>
                                <cell id="16875">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16876">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">Display &#13;
Resolutions</text-property>
                                    </label>
                                </cell>
                                <cell id="16877">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16878">
                                        <text-property name="text">Display&#13;
Size&#13;
(inches)</text-property>
                                    </label>
                                </cell>
                                <cell id="16879">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16880">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">BIOS&#13;
UEFI&#13;
Capable</text-property>
                                    </label>
                                </cell>
                                <cell id="16881">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16882">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">BIOS&#13;
UEFI&#13;
Enabled</text-property>
                                    </label>
                                </cell>
                                <cell id="16883">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16884">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Secure&#13;
Boot&#13;
Status</text-property>
                                    </label>
                                </cell>
                                <cell id="16885">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="textAlign">right</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16886">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">left</property>
                                        <text-property name="text">TPM Spec.</text-property>
                                    </label>
                                </cell>
                                <cell id="16887">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16888">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Windows 11 In-Place&#13;
Upgrade</text-property>
                                    </label>
                                </cell>
                                <cell id="16889">
                                    <property name="style">TableHeaderCell</property>
                                    <property name="verticalAlign">bottom</property>
                                    <label id="16890">
                                        <property name="fontFamily">sans-serif</property>
                                        <property name="fontSize">9pt</property>
                                        <property name="textAlign">center</property>
                                        <text-property name="text">Windows 11 Image&#13;
Refresh</text-property>
                                    </label>
                                </cell>
                            </row>
                        </header>
                        <detail>
                            <row id="16891">
                                <property name="style">TableCell</property>
                                <cell id="16892">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <data id="16893">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_name</property>
                                    </data>
                                </cell>
                                <cell id="16894">
                                    <list-property name="userProperties">
                                        <structure>
                                            <property name="name">ExcelEmitter.FreezePanes</property>
                                            <property name="type">boolean</property>
                                        </structure>
                                    </list-property>
                                    <property name="ExcelEmitter.FreezePanes">true</property>
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <data id="16895">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="resultSetColumn">node_os_desc</property>
                                    </data>
                                </cell>
                                <cell id="16896">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="16897">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">node_cpu_short_models</property>
                                    </data>
                                </cell>
                                <cell id="16898">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Y'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'N'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#C0C0C0</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <expression name="testExpr" type="javascript">row["cpu_support_status"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">''</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16899">
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">center</property>
                                        <property name="resultSetColumn">cpu_support_status</property>
                                    </data>
                                </cell>
                                <cell id="16900">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["node_cpu_speed_ghz"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">1.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16901">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="resultSetColumn">node_cpu_speed_ghz</property>
                                    </data>
                                </cell>
                                <cell id="16902">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["node_per_cpu_cores"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">2.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16903">
                                        <property name="resultSetColumn">node_per_cpu_cores</property>
                                    </data>
                                </cell>
                                <cell id="16904">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["node_cpu_bitwidth"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">64</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["node_cpu_bitwidth"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="16905">
                                        <property name="resultSetColumn">node_cpu_bitwidth</property>
                                    </data>
                                </cell>
                                <cell id="16906">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["ram_alloc_gb"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">4.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16907">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="resultSetColumn">ram_alloc_gb</property>
                                    </data>
                                </cell>
                                <cell id="16908">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["node_disk0_c_size_gb"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">64.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16909">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_disk0_c_size_gb</property>
                                    </data>
                                </cell>
                                <cell id="16910">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="16911">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_disk0_c_used_gb</property>
                                    </data>
                                </cell>
                                <cell id="16912">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["node_disk0_c_free_gb"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">20.0</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16913">
                                        <property name="fontSize">9pt</property>
                                        <structure name="numberFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_disk0_c_free_gb</property>
                                    </data>
                                </cell>
                                <cell id="16914">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="16915">
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">node_discrete_gpu_models</property>
                                    </data>
                                </cell>
                                <cell id="16916">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <data id="16917">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_discrete_gpu_count</property>
                                    </data>
                                </cell>
                                <cell id="16918">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["node_gpu_color_depth"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">8</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["node_gpu_color_depth"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="16919">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">right</property>
                                        <property name="resultSetColumn">node_gpu_color_depth</property>
                                    </data>
                                </cell>
                                <cell id="16920">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["os_dx12orwddm2"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["os_dx12orwddm2"]</expression>
                                        </structure>
                                    </list-property>
                                    <text-data id="16921">
                                        <property name="textAlign">center</property>
                                        <expression name="valueExpr">var out = 'N';&#13;
if (row["os_dx12orwddm2"] == 1) {&#13;
	out = 'Y';&#13;
}&#13;
out;</expression>
                                        <property name="contentType">html</property>
                                    </text-data>
                                </cell>
                                <cell id="16922">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["max_display_res_y"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">720</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["max_display_res_y"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="16923">
                                        <property name="fontSize">9pt</property>
                                        <structure name="stringFormat">
                                            <property name="category">Unformatted</property>
                                        </structure>
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">node_display_dimensions</property>
                                    </data>
                                </cell>
                                <cell id="16924">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">silver</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">lt</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["max_display_size_in_inches"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">9</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["max_display_size_in_inches"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="16925">
                                        <property name="resultSetColumn">node_display_size_in_inches</property>
                                    </data>
                                </cell>
                                <cell id="16926">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_capable"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_capable"]</expression>
                                        </structure>
                                    </list-property>
                                    <text-data id="16927">
                                        <property name="textAlign">center</property>
                                        <expression name="valueExpr">var uefi = row["machine_bios_uefi_capable"];&#13;
var str = "";&#13;
if (uefi === 1) {&#13;
	str = "Y";&#13;
}&#13;
else if (uefi === 0) {&#13;
	str = "N";&#13;
}&#13;
else {&#13;
	str = "";&#13;
}&#13;
str;</expression>
                                        <property name="contentType">html</property>
                                    </text-data>
                                </cell>
                                <cell id="16928">
                                    <property name="style">TableCell</property>
                                    <property name="backgroundColor">#C0C0C0</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_enabled"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["machine_bios_uefi_capable"]</expression>
                                        </structure>
                                    </list-property>
                                    <text-data id="16929">
                                        <property name="textAlign">center</property>
                                        <expression name="valueExpr">var uefi = row["machine_bios_uefi_enabled"];&#13;
var str = "";&#13;
if (uefi === 1) {&#13;
	str = "Y";&#13;
}&#13;
else if (uefi === 0) {&#13;
	str = "N";&#13;
}&#13;
else {&#13;
	str = "";&#13;
}&#13;
str;</expression>
                                        <property name="contentType">html</property>
                                    </text-data>
                                </cell>
                                <cell id="16930">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">center</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Not supported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#00FF00</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Not configured'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Disabled'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Enabled'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#C0C0C0</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["machine_secure_boot"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="16931">
                                        <property name="textAlign">center</property>
                                        <property name="resultSetColumn">machine_secure_boot</property>
                                    </data>
                                </cell>
                                <cell id="16932">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">right</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["machine_tpm_specification"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">0</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">is-null</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <expression name="testExpr" type="javascript">row["machine_tpm_specification"]</expression>
                                        </structure>
                                    </list-property>
                                    <data id="16933">
                                        <property name="textAlign">left</property>
                                        <property name="resultSetColumn">machine_tpm_specifications</property>
                                    </data>
                                </cell>
                                <cell id="16934">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Unsupported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Supported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Partial'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#0080FF</property>
                                            <expression name="testExpr" type="javascript">row["win11_inplace_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Installed'</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16935">
                                        <property name="fontSize">9pt</property>
                                        <property name="resultSetColumn">win11_inplace_upgrade_label</property>
                                    </data>
                                </cell>
                                <cell id="16936">
                                    <property name="style">TableCell</property>
                                    <property name="fontSize">9pt</property>
                                    <list-property name="highlightRules">
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#FF0000</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Unsupported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#008000</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Supported'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="backgroundColor">#FFFF00</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#000000</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Partial'</value>
                                            </simple-property-list>
                                        </structure>
                                        <structure>
                                            <property name="operator">eq</property>
                                            <property name="fontWeight">bold</property>
                                            <property name="color">#0080FF</property>
                                            <expression name="testExpr" type="javascript">row["win11_image_upgrade_label"]</expression>
                                            <simple-property-list name="value1">
                                                <value type="javascript">'Installed'</value>
                                            </simple-property-list>
                                        </structure>
                                    </list-property>
                                    <data id="16937">
                                        <property name="fontSize">9pt</property>
                                        <property name="resultSetColumn">win11_image_upgrade_label</property>
                                    </data>
                                </cell>
                            </row>
                        </detail>
                    </table>
                </cell>
            </row>
            <row id="17169">
                <property name="pageBreakBefore">always</property>
                <cell id="17170">
                    <property name="colSpan">2</property>
                    <property name="rowSpan">1</property>
                    <property name="textAlign">left</property>
                    <grid name="Glossary Of Terms1" id="17172">
                        <property name="fontFamily">sans-serif</property>
                        <property name="marginTop">0pt</property>
                        <property name="whiteSpace">pre</property>
                        <property name="pageBreakInside">avoid</property>
                        <property name="canShrink">true</property>
                        <property name="width">100%</property>
                        <text-property name="caption">Glossary</text-property>
                        <column id="17173">
                            <property name="width">30%</property>
                        </column>
                        <column id="17174">
                            <property name="width">70%</property>
                        </column>
                        <row id="17175">
                            <property name="style">TableHeaderCell</property>
                            <cell id="17176">
                                <property name="colSpan">2</property>
                                <property name="rowSpan">1</property>
                                <property name="style">TableHeaderCell</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">bottom</property>
                                <label id="17177">
                                    <property name="style">ReportSectionTitle</property>
                                    <property name="textAlign">left</property>
                                    <property name="masterPage">Simple MasterPage</property>
                                    <property name="pageBreakBefore">auto</property>
                                    <text-property name="text">Glossary of Terms</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17178">
                            <property name="style">TableHeaderCell</property>
                            <cell id="17179">
                                <property name="style">TableHeaderCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">bottom</property>
                                <label id="17180">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Column Name</text-property>
                                </label>
                            </cell>
                            <cell id="17181">
                                <property name="style">TableHeaderCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">bottom</property>
                                <label id="17182">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="fontSize">9pt</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Description</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17183">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17184">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17185">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Machine Name</text-property>
                                </label>
                            </cell>
                            <cell id="17186">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17187">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Machine Name.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17188">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17189">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17190">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Operating System</text-property>
                                </label>
                            </cell>
                            <cell id="17191">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17192">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The Operating System currently installed on the machine. </text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17193">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17194">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17195">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU Model</text-property>
                                </label>
                            </cell>
                            <cell id="17196">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17197">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The CPU Model. </text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17198">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17199">
                                <property name="colSpan">1</property>
                                <property name="rowSpan">3</property>
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17200">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU Support</text-property>
                                </label>
                            </cell>
                            <cell id="17201">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17202">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Microsoft has published a list of processors from Intel and AMD that are officially supported for Windows 11. This column displays this support but is NOT considered for Compatibility. Example: For Intel Core, only 8th generation and higher are fully supported by Microsoft for Windows 11. Please refer to the following links for additional information:</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">none</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17203">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17204">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17205">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Link to Windows 11 Supported Intel Processors</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported Intel Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-intel-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17206">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17207">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17208">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Link to Windows 11 Supported AMD Processors</text-property>
                                    <list-property name="action">
                                        <structure>
                                            <property name="linkType">hyperlink</property>
                                            <property name="toolTip">Windows 11 Supported AMD Processors</property>
                                            <expression name="uri" type="constant">https://docs.microsoft.com/en-us/windows-hardware/design/minimum/supported/windows-11-supported-amd-processors</expression>
                                            <property name="targetWindow">_blank</property>
                                        </structure>
                                    </list-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17209">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17210">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17211">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU (GHz)</text-property>
                                </label>
                            </cell>
                            <cell id="17212">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17213">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The CPU Clock Speed in GHz. Based on Microsoft guidelines, if the Clock Speed of the CPU is greater than or equal to 1GHz then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17214">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17215">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17216">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Cores per CPU</text-property>
                                </label>
                            </cell>
                            <cell id="17217">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17218">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The number of cores per CPU. Based on Microsoft guidelines, if the Cores per CPU must be equal to or greater than 2 cores to be compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17219">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17220">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17221">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">CPU Bit Width</text-property>
                                </label>
                            </cell>
                            <cell id="17222">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17223">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The bitwidth i.e. whether the processor is 32bit or 64bit. Based on Microsoft guidelines, the processor must be a 64bit processor for it to be compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17224">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17225">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17226">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">RAM (GB)</text-property>
                                </label>
                            </cell>
                            <cell id="17227">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17228">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The RAM installed on a machine. Based on Microsoft guidelines, if the amount of RAM installed is greater than or equal to 4GB then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17229">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17230">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17231">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Allocated HDD Space (GB)</text-property>
                                </label>
                            </cell>
                            <cell id="17232">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17233">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The amount of HDD space allocated. Based on Microsoft guidelines, if there is 64 GB of storage allocated, Windows 11 could be installed as a new image.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17529">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="17530">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17532">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Used HDD Space (GB)</text-property>
                                </label>
                            </cell>
                            <cell id="17531">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17535">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The amount of HDD space used. </text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17526">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17527">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17533">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Free HDD Space (GB)</text-property>
                                </label>
                            </cell>
                            <cell id="17528">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17534">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The amount of free or available HDD space. Based on Microsoft guidelines, if the amount of free space available on the harddisk is at least 20 GB then it is enough to install Windows 11 using the in-place upgrade route. If there is 64GB of storage, Windows 11 could be installed as a new image.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17234">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="17235">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17236">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Display Color Depth Bits</text-property>
                                </label>
                            </cell>
                            <cell id="17237">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17238">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The display color depth on the display GPU. Based on Microsoft guidelines, if the display GPU supports 8bits color depth, then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17239">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="17240">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17241">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">GPU Models</text-property>
                                </label>
                            </cell>
                            <cell id="17242">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17243">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">A list of real GPU models found on the machine including Integrated GPUs or Discrete GPUs. This list removes software based GPUs such as Microsoft Basic Render Driver, Microsoft Remote Display Adaptor, VMware SVGA II / 3D, Citrix Indirect Display Driver, etc.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17244">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="17245">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17246">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">GPU Count</text-property>
                                </label>
                            </cell>
                            <cell id="17247">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17248">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">A count of real GPU models found on the machine including Integrated GPUs or Discrete GPUs.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17249">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17250">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17251">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">GPU DirectX 12 / WDDM 2.0</text-property>
                                </label>
                            </cell>
                            <cell id="17252">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17253">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The GPU compatibility with DirectX 12 or WDDM2. Based on Microsoft guidelines, if the GPU supports DirectX 12 or WDDM2, then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17254">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="17255">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17256">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Display Size in Inches</text-property>
                                </label>
                            </cell>
                            <cell id="17257">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17258">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The display size or monitor size in inches. Based on Microsoft guidelines, if the monitor display size is greater than 9" then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17259">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="17260">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17261">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Display Resolution</text-property>
                                </label>
                            </cell>
                            <cell id="17262">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17263">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The display resolution of the display monitors available on the machine. Based on Microsoft guidelines, if the display monitor resolution is greater than or equal to 720p then it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17264">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17265">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17266">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">BIOS UEFI Capable</text-property>
                                </label>
                            </cell>
                            <cell id="17267">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17268">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Whether or not the BIOS is UEFI capable. Based on Microsoft guidelines, if the BIOS is UEFI capable for Secure Boot then it is considered Windows 11 compatible.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17269">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <list-property name="visibility">
                                <structure>
                                    <property name="format">all</property>
                                    <expression name="valueExpr" type="javascript">true</expression>
                                </structure>
                            </list-property>
                            <cell id="17270">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17271">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">BIOS UEFI Enabled</text-property>
                                </label>
                            </cell>
                            <cell id="17272">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17273">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Whether or not the BIOS is UEFI enabled. Based on Microsoft guidelines, if the BIOS is UEFI capable for Secure Boot then it is considered Windows 11 compatible. This column only shows the current status of UEFI and does NOT determine whether the machine is Supported or Unsupported for Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17274">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17275">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17276">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Secure Boot </text-property>
                                </label>
                            </cell>
                            <cell id="17277">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17278">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">The current status or mode of Secure Boot. Based on Microsoft guidelines, if the BIOS is UEFI capable, this column shows the current status of Secure Boot such as Enabled, Disabled, Not configured, or Not supported. If the status is Enabled, Disabled, or Not configured, then the machine is considered to be Windows 11 Supported because it could be changed or configured to comply with Windows 11 guidelines. However, if it Secure Boot status is Not supported, then the machine is considered Unsupported for Windows 11 because Secure Boot requires this capability to be supported and available.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17279">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17280">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17281">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">TPM Specifications</text-property>
                                </label>
                            </cell>
                            <cell id="17282">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17283">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Whether or not the TPM Spec includes compatibility greater than 2.0. Based on Microsoft guidelines, if the TPM specification includes 2.0 or higher then, it is compatible with Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17284">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17285">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17286">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Windows 11 In Place Upgrade Compatibility</text-property>
                                </label>
                            </cell>
                            <cell id="17287">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17288">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">In Place Upgrade Compatibility with Windows 11. Based on Microsoft guidelines, if the machine hardware specifications meet the minimum required and the HDD space available is at least 20GB, then the machine is Windows 11 In Place Upgrade Compatible. For this machine, there is enough HDD space available to perform an in place OS Upgrade. &#13;
Values:&#13;
Supported: All criteria are available and satisfy the minimum hardware compatibility requirements published by Microsoft for Windows 11.&#13;
Partial: Some criteria may be missing or unavailable, which MAY make the hardware compatible but cannot be determined for sure.&#13;
Unsupported: Some criteria do not meet the minimum hardware compatibility requirements published by Microsoft for Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                        <row id="17289">
                            <property name="style">TableCell</property>
                            <property name="textAlign">left</property>
                            <cell id="17290">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17291">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Windows 11 Image Refresh Compatibility</text-property>
                                </label>
                            </cell>
                            <cell id="17292">
                                <property name="style">TableCell</property>
                                <property name="fontSize">9pt</property>
                                <property name="textAlign">left</property>
                                <property name="verticalAlign">top</property>
                                <label id="17293">
                                    <property name="fontFamily">sans-serif</property>
                                    <property name="textAlign">left</property>
                                    <text-property name="text">Image Refresh Upgrade Compatibility with Windows 11. Based on Microsoft guidelines, if the machine hardware specifications meet the minimum required guidelines and the HDD space allocated is at least 64GB, then the machine is Windows 11 Image Refresh Compatible. For this machine, it may NOT have enough HDD space available to perform an In Place OS Upgrade, but the HDD itself is large enough to support a new Image of Windows 11 and future Windows Updates.&#13;
Values:&#13;
Supported: All criteria are available and satisfy the minimum hardware compatibility requirements published by Microsoft for Windows 11.&#13;
Partial: Some criteria may be missing or unavailable, which MAY make the hardware compatible but cannot be determined for sure.&#13;
Unsupported: Some criteria do not meet the minimum hardware compatibility requirements published by Microsoft for Windows 11.</text-property>
                                </label>
                            </cell>
                        </row>
                    </grid>
                </cell>
            </row>
        </grid>
    </body>
    <property name="pageVariables">
        <variable-element name="endOfSupport">
            <expression name="value" type="javascript">'10/15/2025'</expression>
            <property name="type">report</property>
        </variable-element>
        <variable-element name="topN">
            <expression name="value" type="javascript">5</expression>
            <property name="type">report</property>
        </variable-element>
    </property>
    <list-property name="images">
        <structure>
            <property name="name">LiquidwareLabs.Stratusphere.Footer.Logo.png</property>
            <property name="data">
                iVBORw0KGgoAAAANSUhEUgAAAF8AAAAVCAIAAACv7aWoAAAACXBIWXMAAA7DAAAOwwHHb6hkAAAAGXRF
                WHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAB0hJREFUWEflWGlMVFcUvmpt09qmplGbxpq0
                qWk1bdOm9odNa1NrbdW01qVuoAKyKop1QzFaFasVd1TEDQXLYkAFhFkYcAMGGBwWwQ0YtCKCDjvMm33p
                d71v3gwwMTVWSuzNhNx33rnnnPvd75xzH31sNhvpPGxci1me0Hfk2H7DRhqlEX0Gv9t/1KQuOv+XR6DT
                ZeiTwzQbxmuPL4e8Y8UobWQAJvr0vVaDrrvy8y0hwvYszXWWuio8WtoadAkbLI21mFu17fhrri7uCBxh
                upH7fGPRfXc8OuZqpXb3bM3G8cbCc64haG/sndBwRrPJYn1GsfHo6E9v5cKmcztm6mJWCZ5Wi6s/2Xtl
                dEQRJuZn5P/pzF6pbSfTk2fHXX86M51W19TUNDU1Q2QymXh0LOq7mo3fa34bZ67hPQ3ckEN8JGRJJvHP
                IG4OQu2X1waLq580Gs5gXpZWderqwydd+Hj9sgcaskAccLbiXzQrk8lUKlVBgSI6+qSj7jg7yLvbSrxE
                7gk3mPB8FcWS1maTBUiNO1oqKJvtrC6qpRWKjXut+ltqztngEUUdmZsWLqe1jA0sxGBzTM32OZPceMg1
                ckZBWcidsvoOKAtyhg47rS4emU6DxljZ0CkSwZRzwNAsr9ewJXl5eSpVdUpKikJRSNEx3y035idZ2hyV
                JedOC7x+ebDYeYd6s5lMSyarL5GlWeBz4lU13g4OlZOFGWTlBTI9BY/32/QkUAYgyPx08K6+3QBhdFE9
                mZdOF0Lz5zPMJpmV+tr6HH4emEG8JWyu7jBQwmL5nHOz43kiE/dzA9ZlU8seIuIl3pR5hylTdAIyBiEG
                LzF+fddccg74nW35NBK4Xn6+Q8/XBhr88vNkcSZxT2PKIDXxSKdqXqL4kk7sJuabufqoxdp985FZVl2H
                YP3V9TnETwpbwWKVIAxMqYTd98IKQiTVlQ1ayL+KLIZOvzWXpsZcQ4uDZEioPKuqOalMjbg/DVdCUtWo
                /e5oKfb8Q9RVhMIj4i8dHqZgcyxHxGz+RUQx8ZeeKVf/mlZ1QlnPK2NLQZl4Fa2sJ6suEk9RxSNuUnSA
                eKBsY+adb4+UYqGQZd8cLkFlgH5mZTN0hm8vYKaGbclHwAM35M6MpdCnXm/ASUyJKVc1at/emg/LzvgS
                Xdw6brcbt8ed+2OKMf+s8zvPxJtkkYz4SvuHXBbk4NTkmHLh8etDxcRXcruJIiWMZWkq8I6suCAcZvK1
                Biw8bt8tNLETl+iMiSxBpfPvXEoom5bx8EkqmrBtnBOPjrfEzV4BiLf4w92FPKDeEnAq6krdUUXdW7/n
                ET+em0OBjp9USOrP9ysB7s7smoi82hmx1/EqodRBH2KQRnJbJnO75tCSXHvTeZNsPhZn4iM5VlhHH6w2
                bHLi8TJBbQzQWSAWHq/hMEFyH8kHOxQ45BdCeKrHlTyAWkT+fQfKfpL3d/A7gZrAHZ3J8uLay48yRXS6
                nCYvhXKxbMhmOZurNQaYmnqSnhCrO4uSKVJUbQGPDsoN0MfxQEJ/ARlIHKYzFEgFZAhhvLExl6r5Sqia
                rxTcOVzgFCT09ElbtOEeRiW/noLgVPnOq5pxJqFZf1G5xYa4f4p2cIehI1RKymdvSbveRGMNvihw588i
                is6JIj5T6NuFGa+sy+Z3hUJgzywmoSgHZfZdzYNLubPqInuVfrMRLoJFNN+79Cy4+GiPnTueoo/tcwGL
                7uiAa+CLs4LzvFPPsjTxsKUgGwMyFqdWhkhv0zz3EN1r4T8jEAEK5JLUyto2PQx1QWdC1FUcGqqA7+kK
                MLa/nTuSWzQdPgtX+p65xdyDCwAIGTQahQabX3GByUcfKAIXUHEgFPhCS2lQ1rgjpYcV92kH8BSBHY9H
                Z9Q+JTz+eKIMpQde1kpvM/tduIMyDJIO2iQ/VHB/+6Ua3O9coGPl2vTxIbpIH27bVBvXcK6ilUaMBoFf
                oCy+5IGwZt6pGwgOPevKPdrCR+xUoJEZzBam0Kw14sxpx0GxDL4o8BmvXscFCgtn0NaGgQZMdWB/adaA
                9dloLkz+JlBjLS8os6qRb8aYv4R0QxGE3F+aWMZnHL0NTkueZb8NYj7YnoAwNXJXIW1GWOKehrrL7IOP
                ZHan74GVIhW92UETfoOyXKCjTwzVHvDi9szlds7SHlrENFotNjVNka6jVWfC7c7FC7uotpXSqvtgdHMe
                NXZKOgtxq2JXAWGg7gA1POIm9Ri/3V/hVvUPl0BNOGOHXzbjwuejMHN759H+FfYLFZkM1txYq+ygWUW7
                8n87wJeX7UWqJyPh647xcqxm0wQQRxM60ZAVhQi0B30McWt0kX5c6ARTiawnY+ruCwVrslMr6LFgHFXZ
                qEjVnVxjlCfBt1Epwv1Qu8+T5hrYtNu9xwLqVY5cf2cZC87icohE07Jc2zGjVwXdY8G4Rsdq1OPfg0g0
                bpcbt3mSIetEjwXUqxy5RgchWloe4iNDe2ypMY//buxVcfdMMH8DyMyQUbcmwJMAAAAASUVORK5CYII=
</property>
        </structure>
        <structure>
            <property name="name">icons8-up-green-arrow-32.png</property>
            <property name="type">image/png</property>
            <property name="data">
                iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAABj0lE
                QVR4nO3US4iNYRzH8c8QklKyck9RimLFYqbYsGMhalYsZSMrl9X//54zuTRmMVZma4WyspMFZWMjipqd
                MFIKkVtya95ezUijM3NuFudb/8X7PO/zfH89N3r06NEMdWvK6gp166WXwis1GzsrP2O5MC7cr2q8bOsI
                IxYLd6XnwmpDVkhPpHuGLWmvPMyTrkuvhU3T2jeUW5FuuGZ++wKkUemzMPBXX2GH9FG41C75Sem7cGDG
                f8I+4ZtworXyMFjJjzcQ9KjwQzjUGnlhp/BFGm54TLggfFXY3Zy8ZrPwRrpaHsDG6RMuS+/UbJ2bPKyU
                nkp3jFo0h/ELhVvSC2HtbAcvFR5Ij521bNby6fOkh8KjxucZs0C4WSavW6dZhqwSngm3G1nJvnLvwnth
                m1YRtkhvhSv/PkvpfHl6w56WyadC7CpvUzg3k/xIeX/T4ZbLp0IMVm/EsT87CnurF+yUdpNOV4/a/t+p
                tgsfpDGdIlwUPin0T35MSD+7UmFiMsCAwsEuVX/HVr1Hj/+WX8f9voDSOSUAAAAAAElFTkSuQmCC
</property>
        </structure>
        <structure>
            <property name="name">icons8-down-green-arrow-32.png</property>
            <property name="type">image/png</property>
            <property name="data">
                iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAABTElE
                QVR4nO3VPWhUURCG4ccIigiCEEEQAoKCYGNloSlsLK0kYGVtZ6ndN3eNCAaLdNZWIlhZ2ijYCBY2KUSw
                EAVJBLEQRfyDjUUMxqxm793C+8LAYc7PN5wzM4eenp7GSY25iVicoLxWvk/E4hVxXPkgbnaWDmVR+Shm
                Vx2NM+KLcql18bisfNU4u37igvgmzrcofm4oXi7+fkFZEJ81Trcgfkp8Etf/tGybuKW8F8fGJj5wVHkn
                boupzSLdodwfVkfMbFl83gHxUnlo0c7RNsUe8VRZcs3efxbf0jnzPyOPB6NHPu6bHPzN27WVSxkte9ut
                pmxWv130k2zUwdbQeket9T38lwA7+FNiSrkr3ooja/yHxLJyzx3btcoNu8Qj8ULsd9U+5bny2ILdOiGm
                lWfiydBWx9M65YqD4o2yYuCwiRAzY/kvenr+a34AloS+Sgrm+/0AAAAASUVORK5CYII=
</property>
        </structure>
        <structure>
            <property name="name">icons8-down-red-arrow-32.png</property>
            <property name="type">image/png</property>
            <property name="data">
                iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAABf0lE
                QVR4nO2VPyhFcRTHL4qklKKUUopSFpMBg0W9Qu9+v7dThpfZZmS7O5PNbLKYjBbKogwWg5RBlFAyvPfu
                OQ8/XXmF/Hl4977B+9RZzu/c+/127znn53l16vx7jBxTQGoRFgSjsYELI11NAjj3zPdHlMwruZZWOyi5
                qkDRfH/8ORGRMwrcG7CYtLiRSwo8RGTw9sD355V8VGAuKXEFZmNxIxc+LiBXFLASMFlt8VIQTCgZKbD8
                aZHzvAYD1hW402x2uFriGgRDSt4asOHCsPHLYifSrMB2PB0Fkd6/iudFeow8U2DXZTItFT3kMpl2Iw8N
                OHJTUx2/Ff/Te/Jl5+ROxc6r/SX1J/8uqV4qVdK9SU+Tfje/aewT+2yDvSLxjarvd/hrg2ncKS4MG43c
                VPImIgfL+aJIvwJXSm45kabEDMQ4kVYF9gw4dSLdTqTLgBMl910u1+algZue7jTy2MiDlziOc16aFEX6
                lLxU8joiB7xaUBDprcZ9UafO/+YJi3GG/X+MCUIAAAAASUVORK5CYII=
</property>
        </structure>
        <structure>
            <property name="name">icons8-up-red-arrow-32.png</property>
            <property name="type">image/png</property>
            <property name="data">
                iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAACXBIWXMAAAsTAAALEwEAmpwYAAABz0lE
                QVR4nO2UTYiNYRTHX4SklKx8pyhFsWJhig3dmsx9f//XUxYTu5GNrHysZktmw4qtFQsrO1lQNjaiqNkJ
                I6UQufe+5wzz6H3dWYww97pfC/dXZ3POc57/6TznOUkyZMiQDqhXq5sLSwZBI4RtBu8M3ufSjr6KxzRd
                5zDt8KRp04WvP+IhrDJ45NKbGmyKsN6llyY9juPjq3srPjm51KU7Bh9yaee8vxHC9uIpTLobQ1jWswJM
                umrQ8DQd+TXmWbbfpJpJ13si7nDe4HsOx/50Jocxg28uneuquMHxQtzh7KKFSqdNmjM40RVxT9ODJuUm
                XWk1x2DKwGfhcEfilmW7TProcLsYwFbzYpIscbhp8Nlgzz+J18bGNji8MngYK5WV7ebHEFYY3HfpbT2E
                Le0lVyprXHrq8CKOjq5tV3zBPfDM4XnL98SJieUm3Ssrl7YmHVILYaNLr016sGgn4/zbSV+sWt2bdAmD
                3SZ9crj111kyuFxOb5YdSbrMbJYdav6mS7894HCq/L9ZdjLpEeU+keYcziwI5NLR5ga7kPQYly6WGzVN
                9dORpvsMvjrcSPqESdcM6i4dKFo/41IciMFM0YERgzAIKzswZMh/zw9MQIbsmuYeCwAAAABJRU5ErkJg
                gg==
</property>
        </structure>
        <structure>
            <property name="name">icons8-equal-32.png</property>
            <property name="type">image/png</property>
            <property name="data">
                iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8
                YQUAAAAJcEhZcwAACxMAAAsTAQCanBgAAACISURBVFhH7ZQ9CoAwDEbrbxG8ipuLB9DZA7h4IG/hAQWh
                iA76fRU353RoHrw26RRIUqMoSvQkMIPWZ/IcPEZ4wVtYB5sURw1zKE0FLQsICmeggwss+SDIDuc3VJSY
                4RoOcIUFHwThGvYMJvj3VUrYBv8JWcAGT5/JwhY4zgD5bmnYBkVRosaYBxlrRw1N0TJpAAAAAElFTkSu
                QmCC
</property>
        </structure>
    </list-property>
</report>
