From f927b42e98dbf391725e7ccd6f88fa187a70e57d Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Thu, 16 Aug 2018 10:24:41 -0700 Subject: [PATCH 01/60] new 1809 deprecation article --- .../windows-10-1809-removed-features.md | 47 +++++++++++++++++++ 1 file changed, 47 insertions(+) create mode 100644 windows/deployment/planning/windows-10-1809-removed-features.md diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md new file mode 100644 index 0000000000..bb25ef2747 --- /dev/null +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -0,0 +1,47 @@ +--- +title: Windows 10, version 1809 - Features that have been removed +description: Learn about features that will be removed or deprecated in Windows 10, version 1809, or a future release +ms.prod: w10 +ms.mktglfcycl: plan +ms.localizationpriority: medium +ms.sitesec: library +author: lizap +ms.author: elizapo +ms.date: 08/31/2018 +--- +# Features removed or planned for replacement starting with Windows 10, version 1809 + +> Applies to: Windows 10, version 1809 + +Each release of Windows 10 adds new features and functionality; we also occasionally remove features and functionality, usually because we've added a better option. Here are the details about the features and functionalities that we removed in Windows 10, version 1809. + +> [!TIP] +> - You can get early access to Windows 10 builds by joining the [Windows Insider program](https://insider.windows.com) - this is a great way to test feature changes. +> - Have questions about other releases? Check out the information for [Windows 10, version 1803](windows-10-1803-removed-features.md), [Windows 10, version 1709](windows-10-fall-creators-deprecation.md), and [Windows 10, version 1703](windows-10-creators-update-deprecation.md). + +**The list is subject to change and might not include every affected feature or functionality.** + +## Features we removed in this release + +We're removing the following features and functionalities from the installed product image in Windows 10, version 1809. Applications or code that depend on these features won't function in this release unless you use an alternate method. + +|Feature |Instead you can use...| +|-----------|-------------------- +|Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| +|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| + + +## Features we’re no longer developing + +We are no longer actively developing these features and may remove them from a future update. Some features have been replaced with other features or functionality, while others are now available from different sources. + +If you have feedback about the proposed replacement of any of these features, you can use the [Feedback Hub app](https://support.microsoft.com/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub-app). + +|Feature |Instead you can use...| +|-----------|---------------------| +|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10 version 1809 we're introducing a new universal app, Screen Sketch, that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S, click the back of your pen, or press the Print Screen key (the later two you will need to turn on in Settings). We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| +|Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 19 1709 we introduced Dynamic Lock, a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| +|OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| + + + From 85a348760161b7dd0e1f77208acf5ce43f95d8b8 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Thu, 16 Aug 2018 12:03:05 -0700 Subject: [PATCH 02/60] initial 1809 deprecation article --- .../planning/windows-10-1803-removed-features.md | 5 +++-- .../planning/windows-10-1809-removed-features.md | 11 +++++++---- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/windows/deployment/planning/windows-10-1803-removed-features.md b/windows/deployment/planning/windows-10-1803-removed-features.md index d3f6b8dab2..60147ba008 100644 --- a/windows/deployment/planning/windows-10-1803-removed-features.md +++ b/windows/deployment/planning/windows-10-1803-removed-features.md @@ -7,7 +7,7 @@ ms.localizationpriority: medium ms.sitesec: library author: lizap ms.author: elizapo -ms.date: 06/01/2018 +ms.date: 08/16/2018 --- # Features removed or planned for replacement starting with Windows 10, version 1803 @@ -34,6 +34,7 @@ We've removed the following features and functionalities from the installed prod |**Connect to suggested open hotspots** option in Wi-Fi settings |We previously [disabled the **Connect to suggested open hotspots** option](https://privacy.microsoft.com/windows-10-open-wi-fi-hotspots) and are now removing it from the Wi-Fi settings page. You can manually connect to free wireless hotspots with **Network & Internet** settings, from the taskbar or Control Panel, or by using Wi-Fi Settings (for mobile devices).| |XPS Viewer|We're changing the way you get XPS Viewer. In Windows 10, version 1709 and earlier versions, the app is included in the installation image. If you have XPS Viewer and you update to Windows 10, version 1803, there's no action required. You'll still have XPS Viewer.

However, if you install Windows 10, version 1803, on a new device (or as a clean installation), you may need to [install XPS Viewer from **Apps and Features** in the Settings app](https://docs.microsoft.com/windows/application-management/add-apps-and-features) or through [Features on Demand](https://docs.microsoft.com/windows-hardware/manufacture/desktop/features-on-demand-v2--capabilities). If you had XPS Viewer in Windows 10, version 1709, but manually removed it before updating, you'll need to manually reinstall it.| + ## Features we’re no longer developing We are no longer actively developing these features and may remove them from a future update. Some features have been replaced with other features or functionality, while others are now available from different sources. @@ -48,5 +49,5 @@ If you have feedback about the proposed replacement of any of these features, yo |Contacts feature in File Explorer|We're no longer developing the Contacts feature or the corresponding [Windows Contacts API](https://msdn.microsoft.com/library/ff800913.aspx). Instead, you can use the People app in Windows 10 to maintain your contacts.| |Phone Companion|Use the **Phone** page in the Settings app. In Windows 10, version 1709, we added the new **Phone** page to help you sync your mobile phone with your PC. It includes all the Phone Companion features.| |IPv4/6 Transition Technologies (6to4, ISATAP, and Direct Tunnels)|6to4 has been disabled by default since Windows 10, version 1607 (the Anniversary Update), ISATAP has been disabled by default since Windows 10, version 1703 (the Creators Update), and Direct Tunnels has always been disabled by default. Please use native IPv6 support instead.| -|[Layered Service Providers](https://msdn.microsoft.com/library/windows/desktop/bb513664)|Layered Service Providers have been deprecated since Windows 8 and Windows Server 2012. Use the [Windows Filtering Platform](https://msdn.microsoft.com/library/windows/desktop/aa366510) instead. Installed Layered Service Providers are not migrated when you upgrade to Windows 10, version 1803; you'll need to re-install them after upgrading.| +|[Layered Service Providers](https://msdn.microsoft.com/library/windows/desktop/bb513664)|Layered Service Providers have been deprecated since Windows 8 and Windows Server 2012. Use the [Windows Filtering Platform](https://msdn.microsoft.com/library/windows/desktop/aa366510) instead. When you upgrade from an older version of Windows, any layered service providers you're using aren't migrated; you'll need to re-install them after upgrading.| |Business Scanning, also called Distributed Scan Management (DSM) **(Added 05/03/2018)**|The [Scan Management functionality](https://docs.microsoft.com/previous-versions/windows/it-pro/windows-server-2008-R2-and-2008/dd759124\(vs.11\)) was introduced in Windows 7 and enabled secure scanning and the management of scanners in an enterprise. We're no longer investing in this feature, and there are no devices available that support it.| diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index bb25ef2747..9d02f58b77 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -28,8 +28,10 @@ We're removing the following features and functionalities from the installed pro |Feature |Instead you can use...| |-----------|-------------------- |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| -|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| - +|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component). **Do we have a link to the nuget component? Will it be in GitHub?**| +|Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| +|Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| +|Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| ## Features we’re no longer developing @@ -39,9 +41,10 @@ If you have feedback about the proposed replacement of any of these features, yo |Feature |Instead you can use...| |-----------|---------------------| -|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10 version 1809 we're introducing a new universal app, Screen Sketch, that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S, click the back of your pen, or press the Print Screen key (the later two you will need to turn on in Settings). We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| -|Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 19 1709 we introduced Dynamic Lock, a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| +|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10 version 1809 we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| +|Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| +|Remote Differential Compression API support|Remote Differential Compression API support enabled you to synchronize data with a remote source using compression technologies, which minimized the amount of data sent across the network. **Is there another way to do this? What should the customer do instead?**| From a1ad3e1b02709f46b4da71ea6a1c4b2592b49ef8 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Tue, 21 Aug 2018 10:28:04 -0700 Subject: [PATCH 03/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 3819 ++++++++++------- 1 file changed, 2152 insertions(+), 1667 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 84da766a22..31e8059b50 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -1,27 +1,31 @@ --- description: Use this article to learn more about what Windows diagnostic data is gathered at the basic level. title: Windows 10, version 1803 basic diagnostic events and fields (Windows 10) -keywords: privacy, telemetry, diagnostic data +keywords: privacy, telemetry ms.prod: w10 ms.mktglfcycl: manage ms.sitesec: library ms.pagetype: security -ms.localizationpriority: high +localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 4/30/2018 +ms.date: 08/21/2018 --- # Windows 10, version 1803 basic level Windows diagnostic events and fields +> [!IMPORTANT] +> Some information relates to prereleased product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. + + **Applies to** - Windows 10, version 1803 -The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Microsoft Store. When the level is set to Basic, it also includes the Security level information. +The Basic level gathers a limited set of information that is critical for understanding the device and its configuration including: basic device information, quality-related information, app compatibility, and Windows Store. When the level is set to Basic, it also includes the Security level information. The Basic level helps to identify problems that can occur on a particular device hardware or software configuration. For example, it can help determine if crashes are more frequent on devices with a specific amount of memory or that are running a particular driver version. This helps Microsoft fix operating system or app problems. @@ -30,230 +34,15 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: +- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields.md) - [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) - [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) -- [Manage Windows 10 connection endpoints](manage-windows-endpoints.md) - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) -## Common data extensions - -### Common Data Extensions.App - - - -The following fields are available: - -- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. -- **userId** The userID as known by the application. -- **env** The environment from which the event was logged. -- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. -- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. -- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. - - -### Common Data Extensions.CS - - - -The following fields are available: - -- **sig** A common schema signature that identifies new and modified event schemas. - - -### Common Data Extensions.CUET - - - -The following fields are available: - -- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. -- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. -- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. -- **op** Represents the ETW Op Code. -- **cat** Represents a bitmask of the ETW Keywords associated with the event. -- **flags** Represents the bitmap that captures various Windows specific flags. -- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. -- **tickets** A list of strings that represent entries in the HTTP header of the web request that includes this event. -- **bseq** Upload buffer sequence number in the format \:\ -- **mon** Combined monitor and event sequence numbers in the format \:\ -- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. -- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue.  The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. - - -### Common Data Extensions.Device - - - -The following fields are available: - -- **ver** Represents the major and minor version of the extension. -- **localId** Represents a locally defined unique ID for the device, not the human readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId -- **deviceClass** Represents the classification of the device, the device “family”.  For example, Desktop, Server, or Mobile. - - -### Common Data Extensions.Envelope - - - -The following fields are available: - -- **ver** Represents the major and minor version of the extension. -- **name** Represents the uniquely qualified name for the event. -- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. -- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. -- **iKey** Represents an ID for applications or other logical groupings of events. -- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. -- **cV** Represents the Correlation Vector: A single field for tracking partial order of related telemetry events across component boundaries. - - -### Common Data Extensions.OS - - - -The following fields are available: - -- **ver** Represents the major and minor version of the extension. -- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. -- **locale** Represents the locale of the operating system. -- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. -- **os** Represents the operating system name. -- **ver** Represents the OS version, and its format is OS dependent. - - -### Common Data Extensions.User - - - -The following fields are available: - -- **ver** Represents the major and minor version of the extension. -- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. - - -### Common Data Extensions.XBL - - - -The following fields are available: - -- **nbf** Not before time -- **expId** Expiration time -- **sbx** XBOX sandbox identifier -- **dty** XBOX device type -- **did** XBOX device ID -- **xid** A list of base10-encoded XBOX User IDs. -- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. - - -### Common Data Extensions.Consent UI Event - -This User Account Control (UAC) telemetry point collects information on elevations that originate from low integrity levels. This occurs when a process running at low integrity level (IL) requires higher (administrator) privileges, and therefore requests for elevation via UAC (consent.exe). By better understanding the processes requesting these elevations, Microsoft can in turn improve the detection and handling of potentially malicious behavior in this path. - -The following fields are available: - -- **eventType** Represents the type of elevation: If it succeeded, was cancelled, or was auto-approved. -- **splitToken** Represents the flag used to distinguish between administrators and standard users. -- **friendlyName** Represents the name of the file requesting elevation from low IL. -- **elevationReason** Represents the distinction between various elevation requests sources (appcompat, installer, COM, MSI and so on). -- **exeName** Represents the name of the file requesting elevation from low IL. -- **signatureState** Represents the state of the signature, if it signed, unsigned, OS signed and so on. -- **publisherName** Represents the name of the publisher of the file requesting elevation from low IL. -- **cmdLine** Represents the full command line arguments being used to elevate. -- **Hash.Length** Represents the length of the hash of the file requesting elevation from low IL. -- **Hash** Represents the hash of the file requesting elevation from low IL. -- **HashAlgId** Represents the algorithm ID of the hash of the file requesting elevation from low IL. -- **telemetryFlags** Represents the details about the elevation prompt for CEIP data. -- **timeStamp** Represents the time stamp on the file requesting elevation. -- **fileVersionMS** Represents the major version of the file requesting elevation. -- **fileVersionLS** Represents the minor version of the file requesting elevation. - - -## Common data fields - -### Common Data Fields.MS.Device.DeviceInventory.Change - -These fields are added whenever Ms.Device.DeviceInventoryChange is included in the event. - -The following fields are available: - -- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. -- **objectType** Indicates the object type that the event applies to. -- **Action** The change that was invoked on a device inventory object. -- **inventoryId** Device ID used for Compatibility testing - - -### Common Data Fields.TelClientSynthetic.PrivacySettingsAfterCreatorsUpdate.PreUpgradeSettings - -These fields are added whenever PreUpgradeSettings is included in the event. - -The following fields are available: - -- **HKLM_SensorPermissionState.SensorPermissionState** The state of the Location service before the feature update completed. -- **HKLM_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the device. -- **HKCU_SensorPermissionState.SensorPermissionState** The state of the Location service when a user signs on before the feature update completed. -- **HKCU_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the current user. -- **HKLM_LocationPlatform.Status** The state of the location platform after the feature update has completed. -- **HKLM_LocationPlatform.HRESULT** The error code returned when trying to query the location platform for the device. -- **HKLM_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the device before the feature update completed. -- **HKLM_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the device. -- **HKCU_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the current user before the feature update completed. -- **HKCU_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the current user. -- **HKLM_AllowTelemetry.AllowTelemetry** The state of the Connected User Experiences and Telemetry component for the device before the feature update. -- **HKLM_AllowTelemetry.HRESULT** The error code returned when trying to query the Connected User Experiences and Telemetry conponent for the device. -- **HKLM_TIPC.Enabled** The state of TIPC for the device. -- **HKLM_TIPC.HRESULT** The error code returned when trying to query TIPC for the device. -- **HKCU_TIPC.Enabled** The state of TIPC for the current user. -- **HKCU_TIPC.HRESULT** The error code returned when trying to query TIPC for the current user. -- **HKLM_FlipAhead.FPEnabled** Is Flip Ahead enabled for the device before the feature update was completed? -- **HKLM_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the device. -- **HKCU_FlipAhead.FPEnabled** Is Flip Ahead enabled for the current user before the feature update was completed? -- **HKCU_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the current user. -- **HKLM_TailoredExperiences.TailoredExperiencesWithDiagnosticDataEnabled** Is Tailored Experiences with Diagnostics Data enabled for the current user after the feature update had completed? -- **HKCU_TailoredExperiences.HRESULT** The error code returned when trying to query Tailored Experiences with Diagnostics Data for the current user. -- **HKLM_AdvertisingID.Enabled** Is the adveristing ID enabled for the device? -- **HKLM_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the device. -- **HKCU_AdvertisingID.Enabled** Is the adveristing ID enabled for the current user? -- **HKCU_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the user. - - -### Common Data Fields.TelClientSynthetic.PrivacySettingsAfterCreatorsUpdate.PostUpgradeSettings - -These fields are added whenever PostUpgradeSettings is included in the event. - -The following fields are available: - -- **HKLM_SensorPermissionState.SensorPermissionState** The state of the Location service after the feature update has completed. -- **HKLM_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the device. -- **HKCU_SensorPermissionState.SensorPermissionState** The state of the Location service when a user signs on after a feature update has completed. -- **HKCU_SensorPermissionState.HRESULT** The error code returned when trying to query the Location service for the current user. -- **HKLM_LocationPlatform.Status** The state of the location platform after the feature update has completed. -- **HKLM_LocationPlatform.HRESULT** The error code returned when trying to query the location platform for the device. -- **HKLM_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the device after the feature update has completed. -- **HKLM_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the device. -- **HKCU_LocationSyncEnabled.AcceptedPrivacyPolicy** The speech recognition state for the current user after the feature update has completed. -- **HKCU_LocationSyncEnabled.HRESULT** The error code returned when trying to query the Find My Device service for the current user. -- **HKLM_AllowTelemetry.AllowTelemetry** The state of the Connected User Experiences and Telemetry component for the device after the feature update. -- **HKLM_AllowTelemetry.HRESULT** The error code returned when trying to query the Connected User Experiences and Telemetry conponent for the device. -- **HKLM_TIPC.Enabled** The state of TIPC for the device. -- **HKLM_TIPC.HRESULT** The error code returned when trying to query TIPC for the device. -- **HKCU_TIPC.Enabled** The state of TIPC for the current user. -- **HKCU_TIPC.HRESULT** The error code returned when trying to query TIPC for the current user. -- **HKLM_FlipAhead.FPEnabled** Is Flip Ahead enabled for the device after the feature update has completed? -- **HKLM_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the device. -- **HKCU_FlipAhead.FPEnabled** Is Flip Ahead enabled for the current user after the feature update has completed? -- **HKCU_FlipAhead.HRESULT** The error code returned when trying to query Flip Ahead for the current user. -- **HKLM_TailoredExperiences.TailoredExperiencesWithDiagnosticDataEnabled** Is Tailored Experiences with Diagnostics Data enabled for the current user after the feature update had completed? -- **HKCU_TailoredExperiences.HRESULT** The error code returned when trying to query Tailored Experiences with Diagnostics Data for the current user. -- **HKLM_AdvertisingID.Enabled** Is the adveristing ID enabled for the device? -- **HKLM_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the device. -- **HKCU_AdvertisingID.Enabled** Is the adveristing ID enabled for the current user? -- **HKCU_AdvertisingID.HRESULT** The error code returned when trying to query the state of the advertising ID for the user. - - ## Appraiser events ### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount @@ -262,37 +51,38 @@ This event lists the types of objects and how many of each exist on the client d The following fields are available: -- **PCFP** An ID for the system, calculated by hashing hardware identifiers. -- **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. -- **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. -- **SystemProcessorSse2** The count of the number of this particular object type present on this device. +- **PCFP** An ID for the system, calculated by hashing hardware identifiers. +- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. +- **InventoryMediaCenter** The count of the number of this particular object type present on this device. +- **InventoryApplicationFile** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of the number of this particular object type present on this device. -- **SystemWim** The count of the number of this particular object type present on this device. -- **SystemWlan** The count of the number of this particular object type present on this device. -- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. -- **InventorySystemBios** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **SystemMemory** The count of the number of this particular object type present on this device. -- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. +- **SystemProcessorSse2** The count of the number of this particular object type present on this device. +- **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. +- **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. - **DatasourceSystemBios_RS1** The total DatasourceSystemBios objects targeting Windows 10 version 1607 present on this device. - **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. +- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. +- **SystemMemory** The count of the number of this particular object type present on this device. - **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. - **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. -- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **InventorySystemBios** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. +- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. +- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. - **DatasourceDriverPackage_RS1** The total DataSourceDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. - **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. -- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of the number of this particular object type present on this device. -- **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. -- **InventoryMediaCenter** The count of the number of this particular object type present on this device. -- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. -- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. -- **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. +- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **SystemWlan** The count of the number of this particular object type present on this device. +- **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. - **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. - **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. - **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. @@ -306,99 +96,37 @@ The following fields are available: - **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. - **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. -- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. -- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. +- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. +- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemWim** The count of SystemWim objects present on this machine. +- **InventoryTest** No content is currently available. -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd +### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd -This event sends blocking data about any compatibility blocking entries hit on the system that are not directly related to specific applications or devices, to help keep Windows up-to-date. +Represents the basic metadata about specific application files installed on the system. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove - -This event indicates that the DataSourceMatchingInfoBlock object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync - -This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd - -This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove - -This event indicates that the DataSourceMatchingInfoPassive object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveStartSync - -This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd - -This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. - -The following fields are available: - -- **AppraiserVersion** The version of the appraiser file generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove - -This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - - -### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync - -This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. - -The following fields are available: - -- **AppraiserVersion** The version of the Appraiser file that is generating the events. - +- **AppraiserVersion** The version of the appraiser file that is generating the events. +- **AvDisplayName** If the app is an antivirus app, this is its display name. +- **CompatModelIndex** The compatibility prediction for this file. +- **HasCitData** Is the file present in CIT data? +- **HasUpgradeExe** Does the antivirus app have an upgrade.exe file? +- **IsAv** Is the file an antivirus reporting EXE? +- **ResolveAttempted** This will always be an empty string when sent. +- **SdbEntries** An array of fields that indicates the SDB entries that apply to this file. ### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileRemove This event indicates that the DatasourceApplicationFile object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -408,6 +136,8 @@ The following fields are available: This event indicates that a new set of DatasourceApplicationFileAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -417,6 +147,8 @@ The following fields are available: This event sends compatibility data for a PNP device, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **ActiveNetworkConnection** Is the device an active network device? @@ -432,6 +164,8 @@ The following fields are available: This event indicates that the DatasourceDevicePnp object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -441,6 +175,8 @@ The following fields are available: This event indicates that a new set of DatasourceDevicePnpAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -450,6 +186,8 @@ The following fields are available: This event sends compatibility database data about driver packages to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. @@ -459,6 +197,8 @@ The following fields are available: This event indicates that the DatasourceDriverPackage object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -468,6 +208,107 @@ The following fields are available: This event indicates that a new set of DatasourceDriverPackageAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockAdd + +This event sends blocking data about any compatibility blocking entries hit on the system that are not directly related to specific applications or devices, to help keep Windows up-to-date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove + +This event indicates that the DataSourceMatchingInfoBlock object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockStartSync + +This event indicates that a full set of DataSourceMatchingInfoBlockStAdd events have been sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveAdd + +This event sends compatibility database information about non-blocking compatibility entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove + +This event indicates that the DataSourceMatchingInfoPassive object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveStartSync + +This event indicates that a new set of DataSourceMatchingInfoPassiveAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeAdd + +This event sends compatibility database information about entries requiring reinstallation after an upgrade on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the appraiser file generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove + +This event indicates that the DataSourceMatchingInfoPostUpgrade object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **AppraiserVersion** The version of the Appraiser file that is generating the events. + + +### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeStartSync + +This event indicates that a new set of DataSourceMatchingInfoPostUpgradeAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -477,6 +318,8 @@ The following fields are available: This event sends compatibility database information about the BIOS to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -487,6 +330,8 @@ The following fields are available: This event indicates that the DatasourceSystemBios object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -496,6 +341,8 @@ The following fields are available: This event indicates that a new set of DatasourceSystemBiosAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -505,6 +352,8 @@ The following fields are available: This event sends compatibility decision data about a file to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. @@ -530,7 +379,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionApplicationFileRemove -This event indicates that the DecisionApplicationFile object is no longer present. +This event indicates Indicates that the DecisionApplicationFile object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -541,6 +392,8 @@ The following fields are available: This event indicates that a new set of DecisionApplicationFileAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -550,6 +403,8 @@ The following fields are available: This event sends compatibility decision data about a PNP device to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. @@ -574,6 +429,8 @@ The following fields are available: This event indicates that the DecisionDevicePnp object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -581,7 +438,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionDevicePnpStartSync -This event indicates that the DecisionDevicePnp object is no longer present. +The DecisionDevicePnpStartSync event indicates that a new set of DecisionDevicePnpAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -592,6 +451,8 @@ The following fields are available: This event sends decision data about driver package compatibility to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. @@ -606,6 +467,8 @@ The following fields are available: This event indicates that the DecisionDriverPackage object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -615,6 +478,8 @@ The following fields are available: This event indicates that a new set of DecisionDriverPackageAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -624,6 +489,8 @@ The following fields are available: This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. @@ -639,6 +506,8 @@ The following fields are available: This event indicates that the DecisionMatchingInfoBlock object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -648,6 +517,8 @@ The following fields are available: This event indicates that a new set of DecisionMatchingInfoBlockAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -657,6 +528,8 @@ The following fields are available: This event sends compatibility decision data about non-blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -668,6 +541,8 @@ The following fields are available: This event Indicates that the DecisionMatchingInfoPassive object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -677,6 +552,8 @@ The following fields are available: This event indicates that a new set of DecisionMatchingInfoPassiveAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -686,6 +563,8 @@ The following fields are available: This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -699,6 +578,8 @@ The following fields are available: This event indicates that the DecisionMatchingInfoPostUpgrade object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -708,6 +589,8 @@ The following fields are available: This event sends decision data about the presence of Windows Media Center, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -723,6 +606,8 @@ The following fields are available: This event indicates that the DecisionMediaCenter object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -732,6 +617,8 @@ The following fields are available: This event indicates that a new set of DecisionMediaCenterAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -741,6 +628,8 @@ The following fields are available: This event sends compatibility decision data about the BIOS to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -752,6 +641,8 @@ The following fields are available: This event indicates that the DecisionSystemBios object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -761,6 +652,8 @@ The following fields are available: This event indicates that a new set of DecisionSystemBiosAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -784,6 +677,8 @@ The following fields are available: This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or are part of an anti-virus program. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -807,6 +702,8 @@ The following fields are available: This event indicates that the InventoryApplicationFile object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -814,7 +711,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventoryApplicationFileStartSync -This event indicates that a new set of InventoryApplicationFileAdd events will be sent. +This event indicates indicates that a new set of InventoryApplicationFileAdd events will be sent. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -825,6 +724,8 @@ The following fields are available: This event sends data about the number of language packs installed on the system, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -836,6 +737,8 @@ The following fields are available: This event indicates that the InventoryLanguagePack object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -845,6 +748,8 @@ The following fields are available: This event indicates that a new set of InventoryLanguagePackAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -854,6 +759,8 @@ The following fields are available: This event sends true/false data about decision points used to understand whether Windows Media Center is used on the system, to help keep Windows up to date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -870,6 +777,8 @@ The following fields are available: This event indicates that the InventoryMediaCenter object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -879,6 +788,8 @@ The following fields are available: This event indicates that a new set of InventoryMediaCenterAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -888,6 +799,8 @@ The following fields are available: This event sends basic metadata about the BIOS to determine whether it has a compatibility block. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -899,7 +812,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventorySystemBiosRemove -This event indicates that the InventorySystemBios object is no longer present. +This event indicates that the InventorySystemBios object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -910,6 +825,8 @@ The following fields are available: This event indicates that a new set of InventorySystemBiosAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -919,6 +836,8 @@ The following fields are available: This event indicates that the InventoryUplevelDriverPackage object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -928,6 +847,8 @@ The following fields are available: This event indicates that a new set of InventoryUplevelDriverPackageAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -935,7 +856,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.RunContext -This event indicates what should be expected in the data payload. +This event indicates what should be expected in the data payload. The following fields are available: @@ -951,6 +872,8 @@ The following fields are available: This event sends data on the amount of memory on the system and whether it meets requirements, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -967,6 +890,8 @@ The following fields are available: This event that the SystemMemory object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -976,6 +901,8 @@ The following fields are available: This event indicates that a new set of SystemMemoryAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -985,6 +912,8 @@ The following fields are available: This event sends data indicating whether the system supports the CompareExchange128 CPU requirement, to help keep Windows up to date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -994,7 +923,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemProcessorCompareExchangeRemove -This event indicates that the SystemProcessorCompareExchange object is no longer present. +This event indicates that the SystemProcessorCompareExchange object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -1005,6 +936,8 @@ The following fields are available: This event indicates that a new set of SystemProcessorCompareExchangeAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1014,6 +947,8 @@ The following fields are available: This event sends data indicating whether the system supports the LahfSahf CPU requirement, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. @@ -1023,7 +958,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemProcessorLahfSahfRemove -This event indicates that the SystemProcessorLahfSahf object is no longer present. +This event indicates that the SystemProcessorLahfSahf object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -1034,6 +971,8 @@ The following fields are available: This event indicates that a new set of SystemProcessorLahfSahfAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1043,6 +982,8 @@ The following fields are available: This event sends data indicating whether the system supports the NX CPU requirement, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1055,6 +996,8 @@ The following fields are available: This event indicates that the SystemProcessorNx object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1064,6 +1007,8 @@ The following fields are available: This event indicates that a new set of SystemProcessorNxAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1073,6 +1018,8 @@ The following fields are available: This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1084,6 +1031,8 @@ The following fields are available: This event indicates that the SystemProcessorPrefetchW object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1093,6 +1042,8 @@ The following fields are available: This event indicates that a new set of SystemProcessorPrefetchWAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1102,6 +1053,8 @@ The following fields are available: This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1113,6 +1066,8 @@ The following fields are available: This event indicates that the SystemProcessorSse2 object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1122,6 +1077,8 @@ The following fields are available: This event indicates that a new set of SystemProcessorSse2Add events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1131,6 +1088,8 @@ The following fields are available: This event sends data indicating whether the system supports touch, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1140,7 +1099,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemTouchRemove -This event indicates that the SystemTouch object is no longer present. +This event indicates that the SystemTouch object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -1151,6 +1112,8 @@ The following fields are available: This event indicates that a new set of SystemTouchAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1160,6 +1123,8 @@ The following fields are available: This event sends data indicating whether the operating system is running from a compressed WIM file, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1169,7 +1134,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemWimRemove -This event indicates that the SystemWim object is no longer present. +This event indicates that the SystemWim object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -1180,6 +1147,8 @@ The following fields are available: This event indicates that a new set of SystemWimAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1189,6 +1158,8 @@ The following fields are available: This event sends data indicating whether the current operating system is activated, to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1200,6 +1171,8 @@ The following fields are available: This event indicates that the SystemWindowsActivationStatus object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1209,6 +1182,8 @@ The following fields are available: This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1216,7 +1191,9 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemWlanRemove -This event indicates that the SystemWlan object is no longer present. +This event indicates that the SystemWlan object is no longer present. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: @@ -1227,6 +1204,8 @@ The following fields are available: This event indicates that a new set of SystemWlanAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1269,6 +1248,8 @@ The following fields are available: This event sends data about the usage of older digital rights management on the system, to help keep Windows up to date. This data does not indicate the details of the media using the digital rights management, only whether any such files exist. Collecting this data was critical to ensuring the correct mitigation for customers, and should be able to be removed once all mitigations are in place. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1286,6 +1267,8 @@ The following fields are available: This event indicates that the Wmdrm object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1295,6 +1278,8 @@ The following fields are available: This event indicates that a new set of WmdrmAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1304,12 +1289,20 @@ The following fields are available: ### Census.App -This event sends version data about the Apps running on this device, to help keep Windows up to date. +Provides information on IE and Census versions running on the device. The following fields are available: - **CensusVersion** The version of Census that generated the current data for this device. - **IEVersion** Retrieves which version of Internet Explorer is running on this device. +- **AppraiserEnterpriseErrorCode** No content is currently available. +- **AppraiserErrorCode** No content is currently available. +- **AppraiserRunEndTimeStamp** No content is currently available. +- **AppraiserRunIsInProgressOrCrashed** No content is currently available. +- **AppraiserRunStartTimeStamp** No content is currently available. +- **AppraiserTaskEnabled** No content is currently available. +- **AppraiserTaskExitCode** No content is currently available. +- **AppraiserTaskLastRun** No content is currently available. ### Census.Battery @@ -1358,6 +1351,7 @@ The following fields are available: - **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise SCCM environment. - **ServerFeatures** Represents the features installed on a Windows   Server. This can be used by developers and administrators who need to automate the process of determining the features installed on a set of server computers. - **SystemCenterID** The SCCM ID is an anonymized one-way hash of the Active Directory Organization identifier +- **AADDeviceId** Azure Active Directory device id. ### Census.Firmware @@ -1470,7 +1464,7 @@ The following fields are available: - **ActivationChannel** Retrieves the retail license key or Volume license key for a machine. - **AssignedAccessStatus** Kiosk configuration mode. - **CompactOS** Indicates if the Compact OS feature from Win10 is enabled. -- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. +- **DeveloperUnlockStatus** Represents if a device has been developer unlocked by the user or Group Policy. - **DeviceTimeZone** The time zone that is set on the device. Example: Pacific Standard Time - **GenuineState** Retrieves the ID Value specifying the OS Genuine check. - **InstallationType** Retrieves the type of OS installation. (Clean, Upgrade, Reset, Refresh, Update). @@ -1505,14 +1499,15 @@ The following fields are available: ### Census.Processor -This event sends data about the processor (architecture, speed, number of cores, manufacturer, and model number), to help keep Windows up to date. +Provides information on several important data points about Processor settings. The following fields are available: - **KvaShadow** Microcode info of the processor. - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. -- **ProcessorArchitecture** Processor architecture of the installed operating system. +- **PreviousUpdateRevision** Previous microcode revision. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. - **ProcessorClockSpeed** Clock speed of the processor in MHz. - **ProcessorCores** Number of logical cores in the processor. - **ProcessorIdentifier** Processor Identifier of a manufacturer. @@ -1520,7 +1515,7 @@ The following fields are available: - **ProcessorModel** Name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. - **ProcessorUpdateRevision** Microcode revision. -- **ProcessorUpdateStatus** The status of the microcode update. +- **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. - **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -1535,8 +1530,11 @@ The following fields are available: - **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. - **DGState** This field summarizes Device Guard state - **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running +- **IsSawGuest** Describes whether the device is running as a Secure Admin Workstation Guest +- **IsSawHost** Describes whether the device is running as a Secure Admin Workstation Host - **RequiredSecurityProperties** This field describes the required security properties to enable virtualization-based security - **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. +- **SModeState** The Windows S mode trail state. - **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. @@ -1568,6 +1566,16 @@ The following fields are available: - **SystemVolumeTotalCapacity** Retrieves the size of the partition that the System volume is installed on in MB. +### Census.Userdefault + +This event sends data about the current user's default preferences for browser and several of the most popular extensions and protocols, to help keep Windows up to date. + +The following fields are available: + +- **DefaultApp** The current uer's default program selected for the following extension or protocol: .html,.htm,.jpg,.jpeg,.png,.mp3,.mp4, .mov,.pdf +- **DefaultBrowserProgId** The ProgramId of the current user's default browser + + ### Census.UserDisplay This event sends data about the logical/physical display size, resolution and number of internal/external displays, and VRAM on the system, to help keep Windows up to date. @@ -1602,16 +1610,6 @@ The following fields are available: - **SpeechInputLanguages** The Speech Input languages installed on the device. -### Census.Userdefault - -This event sends data about the current user's default preferences for browser and several of the most popular extensions and protocols, to help keep Windows up to date. - -The following fields are available: - -- **DefaultApp** The current uer's default program selected for the following extension or protocol: .html,.htm,.jpg,.jpeg,.png,.mp3,.mp4, .mov,.pdf -- **DefaultBrowserProgId** The ProgramId of the current user's default browser - - ### Census.VM This event sends data indicating whether virtualization is enabled on the device, and its various characteristics, to help keep Windows up to date. @@ -1670,18 +1668,248 @@ The following fields are available: - **XboxLiveSandboxId** Retrieves the developer sandbox id if the device is internal to MS. -## Deployment events +## Common data extensions + +### Common Data Extensions.app + +Describes the properties of the running application. This extension could be populated by a client app or a web app. + +The following fields are available: + +- **asId** An integer value that represents the app session. This value starts at 0 on the first app launch and increments after each subsequent app launch per boot session. +- **env** The environment from which the event was logged. +- **expId** Associates a flight, such as an OS flight, or an experiment, such as a web site UX experiment, with an event. +- **id** Represents a unique identifier of the client application currently loaded in the process producing the event; and is used to group events together and understand usage pattern, errors by application. +- **locale** The locale of the app. +- **name** The name of the app. +- **userId** The userID as known by the application. +- **ver** Represents the version number of the application. Used to understand errors by Version, Usage by Version across an app. + + +### Common Data Extensions.container + +Describes the properties of the container for events logged within a container. + +The following fields are available: + +- **epoch** An ID that's incremented for each SDK initialization. +- **localId** The device ID as known by the client. +- **osVer** The operating system version. +- **seq** An ID that's incremented for each event. +- **type** The container type. Examples: Process or VMHost + + +### Common Data Extensions.cs + +Describes properties related to the schema of the event. + +The following fields are available: + +- **sig** A common schema signature that identifies new and modified event schemas. + + +### Common Data Extensions.cs1 + +Contains all common data extensions that were originally part of the 1.0 schema. + +The following fields are available: + +- **dblp** A bitfield that is set to a non-zero value if the event in the newer schema has an equivalent event from the 1.0 schema. +- **esc** The event sequence clock. +- **ev** The version of the event. +- **locale** The client language locale on the device. +- **scid** The Service Config ID of the running title that sent the event. +- **users** A comma-separated list of all users logged into the device when the event was created. The user ID is encoded. Example: x:12345678 + + +### Common Data Extensions.device + +Describes the device-related fields. + +The following fields are available: + +- **authId** The ID of the device associated with this event. For Microsoft Account tickets, this is expected to be the MSA Global ID. +- **authSecId** The secondary ID of the device associated with this event. For Microsoft Account tickets, this is expected to be the MSA Hardware ID. +- **deviceClass** The device classification. Examples: Desktop, Server, or Mobile. +- **id** A unique device ID. +- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. +- **make** Device manufacturer. +- **model** Device model. +- **orgAuthId** ID used to authenticate the orgId. +- **orgId** Organization ID associated with the event. + + +### Common Data Extensions.Envelope + +No content is currently available. + +The following fields are available: + +- **cV** Represents the Correlation Vector: A single field for tracking partial order of related telemetry events across component boundaries. +- **data** Represents the optional unique diagnostic data for a particular event schema. +- **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). +- **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). +- **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). +- **ext_cs1** If the field doesn't exist in the newer schema, this contains the fields from an earlier schema. See [Common Data Extensions.cs1](#common-data-extensionscs1). +- **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). +- **ext_ingest** Describes the fields added dynamically by the service. See [Common Data Extensions.ingest](#common-data-extensionsingest). +- **ext_loc** Describes the location from which the event was logged. See [Common Data Extensions.loc](#common-data-extensionsloc). +- **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). +- **ext_receipts** Describes the fields related to time as provided by the client for debugging purposes. See [Common Data Extensions.receipts](#common-data-extensionsreceipts). +- **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). +- **ext_user** Describes the fields related to a user. See [Common Data Extensions.user](#common-data-extensionsuser). +- **ext_utc** Describes the fields that might be populated by a logging library on Windows. See [Common Data Extensions.utc](#common-data-extensionsutc). +- **ext_xbl** Describes the fields related to XBOX Live. See [Common Data Extensions.xbl](#common-data-extensionsxbl). +- **flags** Represents a collection of bits that describe how the event should be processed by the Connected User Experience and Telemetry component pipeline. The lowest-order byte is the event persistence. The next byte is the event latency. +- **iKey** Represents an ID for applications or other logical groupings of events. +- **name** Represents the uniquely qualified name for the event. +- **popSample** Represents the effective sample rate for this event at the time it was generated by a client. +- **time** Represents the event date time in Coordinated Universal Time (UTC) when the event was generated on the client. This should be in ISO 8601 format. +- **ver** Represents the major and minor version of the extension. + + +### Common Data Extensions.ingest + +Describes the fields that are added by the ingestion service. + +The following fields are available: + +- **auth** Used to assess the trustworthiness of the data. +- **client** The client name. +- **clientIp** The IP address seen by the service. This is not necessarily the client IP address, but could be a router or some other device. +- **processedIngest** If the event already had an ingest extension and the client was authenticated as a first party, the ingest extension will be inserted as processedIngest. +- **quality** A bitfield added by the service to all events coming from a client device. +- **time** The time that the event was received by the service. +- **userAgent** For events that are not using the CUET component, this is the user agent of the browser. + + +### Common Data Extensions.loc + +Describes the location from which the event was logged. + +The following fields are available: + +- **country** 2 letter country code using the codes from the ISO 3166-1 alpha-2 standard. +- **id** Location ID based on the client's IP address. +- **tz** The time zone of the device. + + +### Common Data Extensions.os + +Describes some properties of the operating system. + +The following fields are available: + +- **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. +- **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. +- **locale** Represents the locale of the operating system. +- **name** The name of the operating system. +- **ver** Represents the OS version, and its format is OS dependent. + + +### Common Data Extensions.receipts + +Represents various time information as provided by the client and helps for debugging purposes. + +The following fields are available: + +- **originalTime** The original event time. +- **uploadTime** The time the event was uploaded. + + +### Common Data Extensions.sdk + +Used by platform specific libraries to record fields that are required for a specific SDK. + +The following fields are available: + +- **epoch** An ID that is incremented for each SDK initialization. +- **installId** An ID that's created during the initialization of the SDK for the first time. +- **libVer** The SDK version. +- **seq** An ID that is incremented for each event. + + +### Common Data Extensions.user + +Describes the fields related to a user. + +The following fields are available: + +- **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. +- **id** Unique user Id. Example: x:12345678. +- **locale** The language and region. +- **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. + + +### Common Data Extensions.utc + +Describes the properties that could be populated by a logging library on Windows. + +The following fields are available: + +- **aId** Represents the ETW ActivityId. Logged via TraceLogging or directly via ETW. +- **bSeq** Upload buffer sequence number in the format: buffer identifier:sequence number +- **cat** Represents a bitmask of the ETW Keywords associated with the event. +- **cpId** The composer ID, such as Reference, Desktop, Phone, Holographic, Hub, IoT Composer. +- **epoch** Represents the epoch and seqNum fields, which help track how many events were fired and how many events were uploaded, and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **flags** Represents the bitmap that captures various Windows specific flags. +- **mon** Combined monitor and event sequence numbers in the format: monitor sequence : event sequence +- **op** Represents the ETW Op Code. +- **raId** Represents the ETW Related ActivityId. Logged via TraceLogging or directly via ETW. +- **seq** Represents the sequence field used to track absolute order of uploaded events. It is an incrementing identifier for each event added to the upload queue. The Sequence helps track how many events were fired and how many events were uploaded and enables identification of data lost during upload and de-duplication of events on the ingress server. +- **stId** Represents the Scenario Entry Point ID. This is a unique GUID for each event in a diagnostic scenario. This used to be Scenario Trigger ID. + + +### Common Data Extensions.xbl + +Describes the fields that are related to XBOX Live. + +The following fields are available: + +- **claims** Any additional claims whose short claim name hasn't been added to this structure. +- **did** XBOX device ID +- **dty** XBOX device type +- **dvr** The version of the operating system on the device. +- **eid** A unique ID that represents the developer entity. +- **exp** Expiration time +- **ip** The IP address of the client device. +- **nbf** Not before time +- **pid** A comma separated list of PUIDs listed as base10 numbers. +- **sbx** XBOX sandbox identifier +- **sid** The service instance ID. +- **sty** The service type. +- **tid** The XBOX Live title ID. +- **tvr** The XBOX Live title version. +- **uts** A bit field, with 2 bits being assigned to each user ID listed in xid. This field is omitted if all users are retail accounts. +- **xid** A list of base10-encoded XBOX User IDs. + + +## Compatibility events + +### Microsoft.Windows.Compatibility.Apphelp.SdbFix + +Product instrumentation for helping debug/troubleshoot issues with inbox compatibility components. + +The following fields are available: + +- **AppName** Name of the application impacted by SDB. +- **FixID** SDB GUID. +- **Flags** List of flags applied. +- **ImageName** Name of file. + + +## Deployment extensions ### DeploymentTelemetry.Deployment_End -Event to indicate that a Deployment 360 API has completed. +Event to indicate that a Deployment 360 API has completed. The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Mode** Phase in upgrade +- **Mode** Phase in upgrade - **RelatedCV** CV of any other related events - **Result** End result of action @@ -1709,7 +1937,7 @@ The following fields are available: - **FlightId** Flight being used - **Quiet** Whether Setup will run in quiet mode or in full - **RelatedCV** CV of any other related events -- **SetupMode** Phase Setup is in +- **SetupMode** Phase Setup is in ### DeploymentTelemetry.Deployment_SetupBoxResult @@ -1721,9 +1949,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full -- **RelatedCV** Correlation vector of any other related events -- **SetupMode** Phase that Setup is in +- **Quiet** Whether Setup run in quiet mode or in full +- **RelatedCV** CV of any other related events +- **SetupMode** Phase Setup is in ### DeploymentTelemetry.Deployment_Start @@ -1734,7 +1962,7 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **FlightId** Flight being used -- **Mode** Phase in upgrade +- **Mode** Phase in upgrade - **RelatedCV** CV of any other related events @@ -1785,7 +2013,7 @@ Fired by UTC as a heartbeat signal. The following fields are available: - **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** Last exit code of Census task. +- **CensusExitCode** Last exit code of�Census task. - **CensusStartTime** Time of last Census run. - **CensusTaskEnabled** True if Census is enabled, false otherwise. - **CompressedBytesUploaded** Number of compressed bytes uploaded. @@ -1812,14 +2040,14 @@ The following fields are available: - **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. - **LastEventSizeOffender** Event name of last event which exceeded max event size. - **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** Maximum number of active agents during this heartbeat timeframe. +- **MaxActiveAgentConnectionCount** Maximum number of active agents during this�heartbeat timeframe. - **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. - **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). - **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting�OneSettings service. - **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. - **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures received from Vortex. +- **VortexFailuresTimeout** Number of time out failures�received from Vortex. - **VortexHttpAttempts** Number of attempts to contact Vortex. - **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. - **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. @@ -1854,7 +2082,7 @@ The following fields are available: - **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. - **PreviousHeartBeatTime** The FILETIME of the previous heartbeat fire. - **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting OneSettings service. - **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. - **VortexFailuresTimeout** Number of time out failures received from Vortex. - **VortexHttpAttempts** Number of attempts to contact Vortex. @@ -1870,8 +2098,8 @@ This event sends basic data on privacy settings before and after a feature updat The following fields are available: -- **PostUpgradeSettings** The privacy settings after a feature update. -- **PreUpgradeSettings** The privacy settings before a feature update. +- **PostUpgradeSettings** The privacy settings after a feature update. See [TelClientSynthetic.PostUpgradeSettings](#telclientsyntheticpostupgradesettings). +- **PreUpgradeSettings** The privacy settings before a feature update. See [TelClientSynthetic.PreUpgradeSettings](#telclientsyntheticpreupgradesettings). ## Direct to update events @@ -1902,17 +2130,42 @@ The following fields are available: - **CV** Correlation vector. +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupGenericFailure + +Event to indicate that we have received an unexpected error in the DTU Coordinator Cleanup call. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. + + +### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupSuccess + +Event to indicate that the Coordinator Cleanup call succeeded. + +The following fields are available: + +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. + + ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitGenericFailure Commit call. The following fields are available: -- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess @@ -2030,7 +2283,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallIgnoredFailure -Event to indicate that we have received an error in the DTU Coordinator Install call that will be ignored. +Event to indicate that we have received an error in the DTU Coordinator Install call that will be ignored. The following fields are available: @@ -2043,7 +2296,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallSuccess -Event to indicate that the Coordinator Install call succeeded. +Event to indicate that the Coordinator Install call succeeded. The following fields are available: @@ -2055,21 +2308,21 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorProgressCallBack -Event to indicate Coordinator's progress callback has been called. +Event to indicate Coordinator's progress callback has been called. The following fields are available: -- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. -- **DeployPhase** Current Deploy Phase. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. +- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. - **CV** Correlation vector. +- **DeployPhase** Current Deploy Phase. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadyGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator SetCommitReady call. +Event to indicate that we have received an unexpected error in the DTU Coordinator SetCommitReady call. The following fields are available: @@ -2082,7 +2335,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadySuccess -Event to indicate that the Coordinator SetCommitReady call succeeded. +Event to indicate that the Coordinator SetCommitReady call succeeded. The following fields are available: @@ -2111,11 +2364,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -2149,11 +2402,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler C The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure - **CV_new** New correlation vector @@ -2229,12 +2482,12 @@ Event to indicate that we have received an unexpected error in the DTU Handler C The following fields are available: +- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector - **CV_new** New correlation vector -- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess @@ -2346,11 +2599,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: +- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess @@ -2396,11 +2649,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler W The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiSuccess @@ -2435,14 +2688,15 @@ Indicates that the uninstall was properly configured and that a system reboot wa ### Microsoft.Windows.Upgrade.Uninstall.UninstallGoBackButtonClicked -This event sends basic metadata about the starting point of uninstalling a feature update which helps us ensure customers can safely revert to a well-known state if the update caused any problems. +This event sends basic metadata about the starting point of uninstalling a feature update which helps us ensure customers can safely revert to a well-known state if the update caused any problems. + ## Inventory events ### Microsoft.Windows.Inventory.Core.AmiTelCacheChecksum -This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. +This event captures basic checksum data about the device inventory items stored in the cache for use in validating data completeness for Microsoft.Windows.Inventory.Core events. The fields in this event may change over time, but they will always represent a count of a given object. The following fields are available: @@ -2457,6 +2711,21 @@ The following fields are available: - **InventoryDeviceUsbHubClass** A count of device usb objects in cache - **InventoryDriverBinary** A count of driver binary objects in cache - **InventoryDriverPackage** A count of device objects in cache +- **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache. +- **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache. +- **InventoryMiscellaneousOfficeIESettings** A count of office IE settings objects in cache. +- **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache. +- **InventoryMiscellaneousOfficeProducts** A count of office products objects in cache. +- **InventoryMiscellaneousOfficeSettings** A count of office settings objects in cache. +- **InventoryMiscellaneousOfficeVBA** A count of office VBA objects in cache. +- **InventoryMiscellaneousOfficeVBARuleViolations** A count of office VBA rule violations objects in cache. +- **InventoryMiscellaneousUUPInfo** A count of UUP info objects in cache. +- **DeviceCensus** A count of devicecensus objects in cache +- **InventoryApplicationAppV** No content is currently available. +- **InventoryApplicationDriver** No content is currently available. +- **InventoryApplicationFramework** No content is currently available. +- **InventoryApplicationShortcut** No content is currently available. +- **InventoryMiscellaneousOfficeAddInUsage** No content is currently available. ### Microsoft.Windows.Inventory.Core.AmiTelCacheVersions @@ -2473,6 +2742,8 @@ The following fields are available: This event sends basic metadata about an application on the system to help keep Windows up to date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **HiddenArp** Indicates whether a program hides itself from showing up in ARP. @@ -2500,6 +2771,8 @@ The following fields are available: This event provides the basic metadata about the frameworks an application may depend on +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **FileId** A hash that uniquely identifies a file @@ -2511,6 +2784,8 @@ The following fields are available: This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events @@ -2520,6 +2795,8 @@ The following fields are available: This event indicates that a new set of InventoryDevicePnpAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2529,6 +2806,8 @@ The following fields are available: This event indicates that a new set of InventoryApplicationAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2538,6 +2817,8 @@ The following fields are available: This event sends basic metadata about a device container (such as a monitor or printer as opposed to a PNP device) to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **Categories** A comma separated list of functional categories in which the container belongs. @@ -2560,6 +2841,8 @@ The following fields are available: This event indicates that the InventoryDeviceContainer object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2569,6 +2852,8 @@ The following fields are available: This event indicates that a new set of InventoryDeviceContainerAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2578,6 +2863,8 @@ The following fields are available: This event retrieves information about what sensor interfaces are available on the device. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **Accelerometer3D** Indicates if an Accelerator3D sensor is found. @@ -2606,6 +2893,8 @@ The following fields are available: This event indicates that a new set of InventoryDeviceInterfaceAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2615,6 +2904,8 @@ The following fields are available: This event sends additional metadata about a PNP device that is specific to a particular class of devices to help keep Windows up to date while reducing overall size of data payload. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **Audio_CaptureDriver** The Audio device capture driver endpoint. @@ -2626,6 +2917,8 @@ The following fields are available: This event indicates that a new set of InventoryDeviceMediaClassSAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2635,6 +2928,8 @@ The following fields are available: This event represents the basic metadata about a PNP device and its associated driver +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **BusReportedDescription** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. @@ -2650,7 +2945,7 @@ The following fields are available: - **DriverVerDate** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). - **DriverVerVersion** The immediate parent directory name in the Directory field of InventoryDriverPackage. - **Enumerator** The date of the driver loaded for the device. -- **HWID** The version of the driver loaded for the device. +- **HWID** The version of the driver loaded for the device. - **Inf** The bus that enumerated the device. - **InstallState** The device installation state. One of these values: https://msdn.microsoft.com/en-us/library/windows/hardware/ff543130.aspx - **InventoryVersion** List of hardware ids for the device. @@ -2672,6 +2967,8 @@ The following fields are available: This event indicates that the InventoryDevicePnpRemove object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2681,6 +2978,8 @@ The following fields are available: This event indicates that a new set of InventoryDevicePnpAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2690,6 +2989,8 @@ The following fields are available: This event sends basic metadata about the USB hubs on the device +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events @@ -2701,6 +3002,8 @@ The following fields are available: This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events @@ -2710,6 +3013,8 @@ The following fields are available: This event provides the basic metadata about driver binaries running on the system +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **DriverCheckSum** The checksum of the driver file. @@ -2735,6 +3040,8 @@ The following fields are available: This event indicates that the InventoryDriverBinary object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2744,6 +3051,8 @@ The following fields are available: This event indicates that a new set of InventoryDriverBinaryAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2753,6 +3062,8 @@ The following fields are available: This event sends basic metadata about drive packages installed on the system to help keep Windows up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **Class** The class name for the device driver. @@ -2771,6 +3082,8 @@ The following fields are available: This event indicates that the InventoryDriverPackageRemove object is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2780,6 +3093,8 @@ The following fields are available: This event indicates that a new set of InventoryDriverPackageAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. @@ -2789,43 +3104,92 @@ The following fields are available: Provides data on the installed Office Add-ins +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: -- **AddInCLSID** CLSID key for the office addin +- **AddinCLSID** The CLSID for the Office addin - **AddInId** Office addin ID +- **AddinType** The type of the Office addin. - **BinFileTimestamp** Timestamp of the Office addin - **BinFileVersion** Version of the Office addin - **Description** Office addin description - **FileId** FileId of the Office addin +- **FileSize** File size of the Office addin - **FriendlyName** Friendly name for office addin - **FullPath** Unexpanded path to the office addin - **LoadBehavior** Uint32 that describes the load behavior -- **LoadTime** Load time for the office addin - **OfficeApplication** The office application for this addin - **OfficeArchitecture** Architecture of the addin - **OfficeVersion** The office version for this addin - **OutlookCrashingAddin** Boolean that indicates if crashes have been found for this addin +- **ProductCompany** The name of the company associated with the Office addin +- **ProductName** The product name associated with the Office addin +- **ProductVersion** The version associated with the Office addin +- **ProgramId** The unique program identifier of the Office addin - **Provider** Name of the provider for this addin +- **AddInCLSID** CLSID key for the office addin +- **LoadTime** Load time for the office addin +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove Indicates that this particular data object represented by the objectInstanceId is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInStartSync This event indicates that a new sync is being generated for this object type. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd + +Provides data on the Office identifiers + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. +- **OAudienceData** Sub-identifier for Microsoft Office release management, identifying the pilot group for a device +- **OAudienceId** Microsoft Office identifier for Microsoft Office release management, identifying the pilot group for a device +- **OMID** Identifier for the Office SQM Machine +- **OPlatform** Whether the installed Microsoft Office product is 32-bit or 64-bit +- **OTenantId** Unique GUID representing the Microsoft O365 Tenant +- **OVersion** Installed version of Microsoft Office. For example, 16.0.8602.1000 +- **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) + + +### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync + +Diagnostic event to indicate a new sync is being generated for this object type. + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsAdd -This event includes the Office-related Internet Explorer features +Office-related Internet Explorer features + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: +- **InventoryVersion** The version of the inventory binary generating the events. - **OIeFeatureAddon** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_ADDON_MANAGEMENT feature lets applications hosting the WebBrowser Control to respect add-on management selections made using the Add-on Manager feature of Internet Explorer. Add-ons disabled by the user or by administrative group policy will also be disabled in applications that enable this feature. - **OIeMachineLockdown** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_LOCALMACHINE_LOCKDOWN feature is enabled, Internet Explorer applies security restrictions on content loaded from the user's local machine, which helps prevent malicious behavior involving local files. - **OIeMimeHandling** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_MIME_HANDLING feature control is enabled, Internet Explorer handles MIME types more securely. Only applies to Windows Internet Explorer 6 for Windows XP Service Pack 2 (SP2) @@ -2847,62 +3211,55 @@ The following fields are available: Diagnostic event to indicate a new sync is being generated for this object type. - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersAdd - -This event provides data on the Office identifiers +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **OAudienceData** Sub-identifier for Microsoft Office release management, identifying the pilot group for a device -- **OAudienceId** Microsoft Office identifier for Microsoft Office release management, identifying the pilot group for a device -- **OMID** Identifier for the Office SQM Machine -- **OPlatform** Whether the installed Microsoft Office product is 32-bit or 64-bit -- **OTenantId** Unique GUID representing the Microsoft O365 Tenant -- **OVersion** Installed version of Microsoft Office. For example, 16.0.8602.1000 -- **OWowMID** Legacy Microsoft Office telemetry identifier (SQM Machine ID) for WoW systems (32-bit Microsoft Office on 64-bit Windows) - - -### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIdentifiersStartSync - -Diagnostic event to indicate a new sync is being generated for this object type. - +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsAdd This event provides insight data on the installed Office products +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **OfficeApplication** The name of the Office application. - **OfficeArchitecture** The bitness of the Office application. - **OfficeVersion** The version of the Office application. -- **Value** The insights collected about this entity. +- **Value** The insights collected about this entity. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsRemove Indicates that this particular data object represented by the objectInstanceId is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeInsightsStartSync This diagnostic event indicates that a new sync is being generated for this object type. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsAdd -This event list all installed Office products +Describes Office Products installed + +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: +- **InventoryVersion** The version of the inventory binary generating the events. - **OC2rApps** A GUID the describes the Office Click-To-Run apps -- **OC2rSkus** Comma-delimited list (CSV) of Office Click-To-Run products installed on the device. For example, Office 2016 ProPlus -- **OMsiApps** Comma-delimited list (CSV) of Office MSI products installed on the device. For example, Microsoft Word +- **OC2rSkus** Comma-delimited list (CSV) of Office Click-To-Run products installed on the device. For example, Office 2016 ProPlus +- **OMsiApps** Comma-delimited list (CSV) of Office MSI products installed on the device. For example, Microsoft Word - **OProductCodes** A GUID that describes the Office MSI products @@ -2910,29 +3267,44 @@ The following fields are available: Diagnostic event to indicate a new sync is being generated for this object type. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsAdd This event describes various Office settings +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **BrowserFlags** Browser flags for Office-related products - **ExchangeProviderFlags** Provider policies for Office Exchange - **SharedComputerLicensing** Office shared computer licensing policies +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync Diagnostic event to indicate a new sync is being generated for this object type. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAAdd This event provides a summary rollup count of conditions encountered while performing a local scan of Office files, analyzing for known VBA programmability compatibility issues between legacy office version and ProPlus, and between 32 and 64-bit versions +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **Design** Count of files with design issues found @@ -2962,12 +3334,16 @@ The following fields are available: Indicates that this particular data object represented by the objectInstanceId is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsAdd This event provides data on Microsoft Office VBA rule violations, including a rollup count per violation type, giving an indication of remediation requirements for an organization. The event identifier is a unique GUID, associated with the validation rule +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **Count** Count of total Microsoft Office VBA rule violations @@ -2977,24 +3353,35 @@ The following fields are available: Indicates that this particular data object represented by the objectInstanceId is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBARuleViolationsStartSync This event indicates that a new sync is being generated for this object type. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeVBAStartSync Diagnostic event to indicate a new sync is being generated for this object type. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + +The following fields are available: + +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoAdd Provides data on Unified Update Platform (UUP) products and what version they are at. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **Identifier** UUP identifier @@ -3008,12 +3395,16 @@ The following fields are available: Indicates that this particular data object represented by the objectInstanceId is no longer present. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousUUPInfoStartSync Diagnostic event to indicate a new sync is being generated for this object type. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.Indicators.Checksum @@ -3030,6 +3421,8 @@ The following fields are available: These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up-to-date. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **IndicatorValue** The indicator value @@ -3039,15 +3432,1131 @@ The following fields are available: This event is a counterpart to InventoryMiscellaneousUexIndicatorAdd that indicates that the item has been removed. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + ### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorStartSync This event indicates that a new set of InventoryMiscellaneousUexIndicatorAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). -## Microsoft Store events + +## Kernel events + +### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch + +OS Boot information used to evaluate the success of the upgrade process. + +The following fields are available: + +- **BootApplicationId** No content is currently available. +- **BootAttemptCount** No content is currently available. +- **BootSequence** No content is currently available. +- **BootStatusPolicy** No content is currently available. +- **BootType** No content is currently available. +- **EventTimestamp** No content is currently available. +- **FirmwareResetReasonEmbeddedController** No content is currently available. +- **FirmwareResetReasonEmbeddedControllerAdditional** No content is currently available. +- **FirmwareResetReasonPch** No content is currently available. +- **FirmwareResetReasonPchAdditional** No content is currently available. +- **FirmwareResetReasonSupplied** No content is currently available. +- **IO** No content is currently available. See [IO](#io). +- **LastBootSucceeded** No content is currently available. +- **LastShutdownSucceeded** No content is currently available. +- **MenuPolicy** No content is currently available. +- **RecoveryEnabled** No content is currently available. +- **UserInputTime** No content is currently available. +- **MaxAbove4GbFreeRange** No content is currently available. +- **MaxBelow4GbFreeRange** No content is currently available. +- **MeasuredLaunchPrepared** No content is currently available. +- **SecureLaunchPrepared** No content is currently available. + + +### Microsoft.Windows.Kernel.Power.OSStateChange + +This event indicates an OS state change. + +The following fields are available: + +- **AcPowerOnline** If "TRUE," the device is using AC power. If "FALSE," the device is using battery power. +- **ActualTransitions** The number of transitions between operating system states since the last system boot +- **BatteryCapacity** Maximum battery capacity in mWh +- **BatteryCharge** Current battery charge as a percentage of total capacity +- **BatteryDischarging** Flag indicating whether the battery is discharging or charging +- **BootId** Total boot count since the operating system was installed +- **BootTimeUTC** Date and time of a particular boot event (identified by BootId) +- **EnergyChangeV2** A snapshot value in mWh reflecting a change in power usage +- **EnergyChangeV2Flags** Flags for disambiguating EnergyChangeV2 context +- **EventSequence** Indicates the sequence order for this event instance, relative to previous instances of OSStateChange events that have occurred since boot +- **LastStateTransition** ID of the last operating system state transition +- **LastStateTransitionSub** ID of the last operating system sub-state transition +- **StateDurationMS** Number of milliseconds spent in the last operating system state +- **StateTransition** ID of the operating system state the system is transitioning to +- **StateTransitionSub** ID of the operating system sub-state the system is transitioning to +- **TotalDurationMS** Total time (in milliseconds) spent in all states since the last boot +- **TotalUptimeMS** Total time (in milliseconds) the device was in Up or Running states since the last boot +- **TransitionsToOn** Number of transitions to the Powered On state since the last boot +- **UptimeDeltaMS** Total time (in milliseconds) added to Uptime since the last event + + +## Privacy consent logging events + +### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted + +This event is used to determine whether the user successfully completed the privacy consent experience. + +The following fields are available: + +- **presentationVersion** Which display version of the privacy consent experience the user completed +- **privacyConsentState** The current state of the privacy consent experience +- **settingsVersion** Which setting version of the privacy consent experience the user completed +- **userOobeExitReason** The exit reason of the privacy consent experience + + +### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentStatus + +Event tells us effectiveness of new privacy experience. + +The following fields are available: + +- **isAdmin** Whether the current user is an administrator or not +- **isSilentElevation** Whether the current user has enabled silent elevation +- **privacyConsentState** The current state of the privacy consent experience +- **isLaunching** Whether or not the privacy consent experience will be launched +- **userRegionCode** The current user's region setting + + +## Sediment events + +### Microsoft.Windows.Sediment.OSRSS.UrlState + +Event indicating the state OSRSS service is in while attempting a download from the URL. + +The following fields are available: + +- **Id** A number identifying the URL. +- **ServiceVersionMajor** Version information for the component. +- **ServiceVersionMinor** Version information for the component. +- **StateData** State-specific data, such as the attempt number for the download. +- **StateNumber** A number identifying the current state of the URL (for example, found, downloading, extracted). +- **Time** System timestamp when the event was started. + + +## Setup events + +### SetupPlatformTel.SetupPlatformTelEvent + +This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. + +The following fields are available: + +- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. +- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. +- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. + + +## Shared PC events + +### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount + +Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting un-used user accounts on Education/Shared PCs frees up disk space to improve Windows Update success rates. + +The following fields are available: + +- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. See [wilActivity](#wilactivity). +- **accountType** The type of account that was deleted. Example: AD, AAD, or Local +- **deleteState** Whether the attempted deletion of the user account was successful. +- **userSid** The security identifier of the account. + + +### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation + +Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates + +The following fields are available: + +- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. +- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). +- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours + + +## SIH events + +### SIHEngineTelemetry.EvalApplicability + +This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. + +The following fields are available: + +- **CachedEngineVersion** The engine DLL version that is being used. +- **EventInstanceID** A unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **IsExecutingAction** If the action is presently being executed. +- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) +- **SihclientVersion** The client version that is being used. +- **StatusCode** Result code of the event (success, cancellation, failure code HResult). +- **UpdateID** A unique identifier for the action being acted upon. +- **WuapiVersion** The Windows Update API version that is currently installed. +- **WuaucltVersion** The Windows Update client version that is currently installed. +- **WuauengVersion** The Windows Update engine version that is currently installed. +- **WUDeviceID** The unique identifier controlled by the software distribution client. +- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. +- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. +- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. +- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. + + +### SIHEngineTelemetry.SLSActionData + +This event reports if the SIH client was able to successfully parse the manifest describing the actions to be evaluated. + +The following fields are available: + +- **CachedEngineVersion** The engine DLL version that is being used. +- **EventInstanceID** A unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) +- **SihclientVersion** The client version that is being used. +- **WuapiVersion** The Windows Update API version that is currently installed. +- **WuaucltVersion** The Windows Update client version that is currently installed. +- **WuauengVersion** The Windows Update engine version that is currently installed. +- **WUDeviceID** The unique identifier controlled by the software distribution client. +- **FailedParseActions** The list of actions that were not successfully parsed. +- **ParsedActions** The list of actions that were successfully parsed. + + +## Software update events + +### SoftwareUpdateClientTelemetry.CheckForUpdates + +Scan process event on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) + +The following fields are available: + +- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. +- **AllowCachedResults** Indicates if the scan allowed using cached results. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DriverSyncPassPerformed** Were drivers scanned this time? +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked +- **NumberOfLoop** The number of round trips the scan required +- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan +- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan +- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. +- **Online** Indicates if this was an online scan. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **ScanDurationInSeconds** The number of seconds a scan took +- **ScanEnqueueTime** The number of seconds it took to initialize a scan +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Windows Store, etc.). +- **ServiceUrl** The environment URL a device is configured to scan with +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). +- **SyncType** Describes the type of scan the event was +- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ClientVersion** The version number of the software distribution client. +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **EventInstanceID** A globally unique identifier for event instance. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. +- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. +- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **MSIError** The last error that was encountered during a scan for updates. +- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown +- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete +- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. +- **BranchReadinessLevel** The servicing branch configured on the device. +- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). +- **DeferredUpdates** Update IDs which are currently being deferred until a later time +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. +- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). +- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). +- **PausedUpdates** A list of UpdateIds which that currently being paused. +- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. +- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. +- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. +- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. +- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). +- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). + + +### SoftwareUpdateClientTelemetry.Commit + +This event tracks the commit process post the update installation when software update client is trying to update the device. + +The following fields are available: + +- **BiosFamily** Device family as defined in the system BIOS +- **BiosName** Name of the system BIOS +- **BiosReleaseDate** Release date of the system BIOS +- **BiosSKUNumber** Device SKU as defined in the system BIOS +- **BIOSVendor** Vendor of the system BIOS +- **BiosVersion** Version of the system BIOS +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRevisionNumber** Identifies the revision number of the content bundle +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** Version number of the software distribution client +- **DeviceModel** Device model as defined in the system bios +- **EventInstanceID** A globally unique identifier for event instance +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". +- **FlightId** The specific id of the flight the device is getting +- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) +- **RevisionNumber** Identifies the revision number of this specific piece of content +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) +- **SystemBIOSMajorRelease** Major release version of the system bios +- **SystemBIOSMinorRelease** Minor release version of the system bios +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Download + +Download process event for target update on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) + +The following fields are available: + +- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. +- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. +- **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. +- **ClientVersion** The version number of the software distribution client. +- **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** What is the device model. +- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). +- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. +- **FlightId** The specific id of the flight (pre-release build) the device is getting. +- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). +- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). +- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **HostName** The hostname URL the content is downloading from. +- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. +- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update +- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) +- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." +- **PackageFullName** The package name of the content. +- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RegulationReason** The reason that the update is regulated +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. +- **RevisionNumber** Identifies the revision number of this specific piece of content. +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). +- **Setup360Phase** If the download is for an operating system upgrade, this datapoint indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. +- **TimeToEstablishConnection** Time (in ms) it took to establish the connection prior to beginning downloaded. +- **TotalExpectedBytes** The total count of bytes that the download is expected to be. +- **UpdateId** An identifier associated with the specific piece of content. +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UsedDO** Whether the download used the delivery optimization service. +- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. + + +### SoftwareUpdateClientTelemetry.DownloadCheckpoint + +This event provides a checkpoint between each of the Windows Update download phases for UUP content + +The following fields are available: + +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** The version number of the software distribution client +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed +- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver" +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough +- **FileId** A hash that uniquely identifies a file +- **FileName** Name of the downloaded file +- **FlightId** The unique identifier for each flight +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RevisionNumber** Unique revision number of Update +- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.) +- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) +- **UpdateId** Unique Update ID +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue + + +### SoftwareUpdateClientTelemetry.DownloadHeartbeat + +This event allows tracking of ongoing downloads and contains data to explain the current state of the download + +The following fields are available: + +- **BytesTotal** Total bytes to transfer for this content +- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat +- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client +- **ClientVersion** The version number of the software distribution client +- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat +- **CurrentError** Last (transient) error encountered by the active download +- **DownloadFlags** Flags indicating if power state is ignored +- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) +- **EventType** Possible values are "Child", "Bundle", or "Driver" +- **FlightId** The unique identifier for each flight +- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" +- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any +- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any +- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) +- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one +- **ResumeCount** Number of times this active download has resumed from a suspended state +- **RevisionNumber** Identifies the revision number of this specific piece of content +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) +- **SuspendCount** Number of times this active download has entered a suspended state +- **SuspendReason** Last reason for why this active download entered a suspended state +- **UpdateId** Identifier associated with the specific piece of content +- **WUDeviceID** Unique device id controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.Install + +This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. + +The following fields are available: + +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. +- **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? +- **BundleRevisionNumber** Identifies the revision number of the content bundle. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **ClientVersion** The version number of the software distribution client. +- **CSIErrorType** The stage of CBS installation where it failed. +- **CurrentMobileOperator** Mobile operator that device is currently connected to. +- **DeviceModel** What is the device model. +- **DriverPingBack** Contains information about the previous driver and system state. +- **EventInstanceID** A globally unique identifier for event instance. +- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **EventType** Possible values are Child, Bundle, or Driver. +- **ExtendedErrorCode** The extended error code. +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FeatureUpdatePause** Are feature OS updates paused on the device? +- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. +- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. +- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update +- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. +- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? +- **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? +- **IsFirmware** Is this update a firmware update? +- **IsSuccessFailurePostReboot** Did it succeed and then fail after a restart? +- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? +- **IsWUfBEnabled** Is Windows Update for Business enabled on the device? +- **MergedUpdate** Was the OS update and a BSP update merged for installation? +- **MsiAction** The stage of MSI installation where it failed. +- **MsiProductCode** The unique identifier of the MSI installer. +- **PackageFullName** The package name of the content being installed. +- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. +- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdatePause** Are quality OS updates paused on the device? +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. +- **RevisionNumber** The revision number of this specific piece of content. +- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). +- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. +- **ShippingMobileOperator** The mobile operator that a device shipped on. +- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. +- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. +- **TransactionCode** The ID which represents a given MSI installation +- **UpdateId** Unique update ID +- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. +- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. + + +### SoftwareUpdateClientTelemetry.UpdateDetected + +This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. + +The following fields are available: + +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **ServiceGuid** An ID which represents which service the software distribution client is connecting to (Windows Update, Windows Store, etc.) +- **WUDeviceID** The unique device ID controlled by the software distribution client + + +### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity + +Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. + +The following fields are available: + +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **ExtendedStatusCode** The secondary status code of the event. +- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. +- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** The status code of the event. +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **RevisionId** The revision ID for a specific piece of content. +- **RevisionNumber** The revision number for a specific piece of content. +- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **UpdateId** The update ID for a specific piece of content. + + +## Update events + +### Update360Telemetry.UpdateAgentCommit + +This event collects information regarding the commit phase of the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentDownloadRequest + +The UpdateAgent_DownloadRequest event sends data for the download request phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to PC and Mobile. + +The following fields are available: + +- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. +- **ErrorCode** The error code returned for the current download request phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) +- **PackageCountOptional** Number of optional packages requested. +- **PackageCountRequired** Number of required packages requested. +- **PackageCountTotal** Total number of packages needed. +- **PackageCountTotalCanonical** Total number of canonical packages. +- **PackageCountTotalDiff** Total number of diff packages. +- **PackageCountTotalExpress** Total number of express packages. +- **PackageSizeCanonical** Size of canonical packages in bytes. +- **PackageSizeDiff** Size of diff packages in bytes. +- **PackageSizeExpress** Size of express packages in bytes. +- **RangeRequestState** Indicates the range request type used. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the download request phase of update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) +- **UpdateId** Unique ID for each update. +- **DownloadRequests** No content is currently available. +- **ExtensionName** No content is currently available. +- **InternalFailureResult** No content is currently available. +- **PackageExpressType** Type of express package. + + +### Update360Telemetry.UpdateAgentExpand + +This event collects information regarding the expansion phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **ElapsedTickCount** Time taken for expand phase. +- **EndFreeSpace** Free space after expand phase. +- **EndSandboxSize** Sandbox size after expand phase. +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **StartFreeSpace** Free space before expand phase. +- **StartSandboxSize** Sandbox size after expand phase. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentFellBackToCanonical + +This event collects information when express could not be used and we fall back to canonical during the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. + +The following fields are available: + +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **PackageCount** Number of packages that feel back to canonical. +- **PackageList** PackageIds which fell back to canonical. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentInitialize + +The UpdateAgentInitialize event sends data for the initialize phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to both PCs and Mobile. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique ID for each flight. +- **FlightMetadata** Contains the FlightId and the build being flighted. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** Outcome of the install phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentInstall + +The UpdateAgentInstall event sends data for the install phase of updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current install phase. +- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **ObjectId** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** The result for the current install phase. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. +- **ExtensionName** No content is currently available. +- **InternalFailureResult** No content is currently available. + + +### Update360Telemetry.UpdateAgentMerge + +The UpdateAgentMerge event sends data on the merge phase when updating Windows. + +The following fields are available: + +- **ErrorCode** The error code returned for the current merge phase. +- **FlightId** Unique ID for each flight. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Related correlation vector value. +- **Result** Outcome of the merge phase of the update. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each attempt. +- **UpdateId** Unique ID for each update. + + +### Update360Telemetry.UpdateAgentModeStart + +The UpdateAgentModeStart event sends data for the start of each mode during the process of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to both PCs and Mobile. + +The following fields are available: + +- **FlightId** Unique ID for each flight. +- **Mode** Indicates the mode that has started. +- **ObjectId** Unique value for each Update Agent mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update. +- **Version** Version of update + + +### Update360Telemetry.UpdateAgentPostRebootResult + +This event collects information for both Mobile and Desktop regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario + +The following fields are available: + +- **ErrorCode** The error code returned for the current post reboot phase +- **FlightId** The unique identifier for each flight +- **ObjectId** Unique value for each Update Agent mode +- **PostRebootResult** Indicates the Hresult +- **RelatedCV** Correlation vector value generated from the latest USO scan +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each update + + +### Update360Telemetry.UpdateAgentSetupBoxLaunch + +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new UUP (Unified Update Plaform) scenario. This event is only applicable to PCs. + +The following fields are available: + +- **ContainsExpressPackage** Indicates whether the download package is express. +- **FlightId** Unique ID for each flight. +- **FreeSpace** Free space on OS partition. +- **InstallCount** Number of install attempts using the same sandbox. +- **ObjectId** Unique value for each Update Agent mode. +- **Quiet** Indicates whether setup is running in quiet mode. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **SandboxSize** Size of the sandbox. +- **ScenarioId** Indicates the update scenario. +- **SessionId** Unique value for each update attempt. +- **SetupMode** Mode of setup to be launched. +- **UpdateId** Unique ID for each Update. +- **UserSession** Indicates whether install was invoked by user actions. + + +## Update notification events + +### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage + +Event to indicate that Javascript is reporting a schema and a set of values for critical telemetry. + +The following fields are available: + +- **CampaignConfigVersion** Config version of current campaign +- **CampaignID** Currently running campaign on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version of the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user +- **key1** UI interaction data +- **key10** UI interaction data +- **key11** UI interaction data +- **key12** UI interaction data +- **key13** UI interaction data +- **key14** UI interaction data +- **key15** UI interaction data +- **key16** UI interaction data +- **key17** UI interaction data +- **key18** UI interaction data +- **key19** UI interaction data +- **key2** UI interaction data +- **key3** UI interaction data +- **key4** UI interaction data +- **key5** UI interaction data +- **key6** Current package version of UNP +- **key7** UI interaction type +- **key8** UI interaction type +- **key9** UI interaction type +- **PackageVersion** UI interaction type +- **schema** UI interaction type +- **key20** UI interaction data +- **key21** UI interaction data +- **key22** UI interaction data +- **key23** UI interaction data +- **key24** UI interaction data +- **key25** UI interaction data +- **key26** UI interaction data +- **key27** UI interaction data +- **key28** UI interaction data +- **key29** Interaction data for the UI +- **key30** UI interaction data + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat + +This event is sent at the start of each campaign, to be used as a heartbeat + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign + +This event indicates that the Campaign Manager is cleaning up the campaign content + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Current campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed + +This event is sent when a campaign completion status query fails + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Current campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **hresult** HRESULT of the failure +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat + +This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **PackageVersion** Current UNP package version + + +### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed + +This event is sent when the Campaign Manager encounters an unexpected error while running the campaign + +The following fields are available: + +- **CampaignConfigVersion** Configuration version for the current campaign +- **CampaignID** Currently campaign that's running on UNP +- **ConfigCatalogVersion** Current catalog version of UNP +- **ContentVersion** Content version for the current campaign on UNP +- **CV** Correlation vector +- **DetectorVersion** Most recently run detector version for the current campaign on UNP +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user +- **hresult** HRESULT of the failure +- **PackageVersion** Current UNP package version + + +## Upgrade events + +### Setup360Telemetry.Downlevel + +This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. + +The following fields are available: + +- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the downlevel OS. +- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. It's an HRESULT error code that can be used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string that uniquely identifies a group of events. +- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.Finalize + +This event sends data indicating that the device has invoked the finalize phase of the upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.OsUninstall + +The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall indicates the outcome of an OS uninstall. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. + + +### Setup360Telemetry.PostRebootInstall + +This event sends data indicating that the device has invoked the postrebootinstall phase of the upgrade, to help keep Windows up-to-date. + +The following fields are available: + +- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.PreDownloadQuiet + +This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. + + +### Setup360Telemetry.PreDownloadUX + +This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS. Specifically the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous operating system. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). +- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). +- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. +- **FlightData** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. + + +### Setup360Telemetry.PreInstallQuiet + +This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. +- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT) +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. +- **FlightData** Unique value that identifies the flight. + + +### Setup360Telemetry.PreInstallUX + +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PreinstallUX indicates the outcome of the PreinstallUX portion of the update process. + +The following fields are available: + +- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. +- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** Windows Update client ID. + + +### Setup360Telemetry.Setup360 + +This event sends data about OS deployment scenarios, to help keep Windows up-to-date. + +The following fields are available: + +- **FieldName** Retrieves the data point. +- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. +- **InstanceId** Retrieves a unique identifier for each instance of a setup session. +- **ReportId** Retrieves the report ID. +- **ScenarioId** Retrieves the deployment scenario. +- **Value** Retrieves the value associated with the corresponding FieldName. +- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. + + +### Setup360Telemetry.UnexpectedEvent + +This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. + +The following fields are available: + +- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **HostOSBuildNumber** The build number of the previous OS. +- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. +- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **TestId** A string to uniquely identify a group of events. +- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. +- **FlightData** Unique value that identifies the flight. + + +## Windows as a Service diagnostic events + +### Microsoft.Windows.WaaSMedic.SummaryEvent + +Result of the WaaSMedic operation. + +The following fields are available: + +- **detectionSummary** Result of each applicable detection that was ran. +- **featureAssessmentImpact** WaaS Assessment impact for feature updates. +- **hrEngineResult** Error code from the engine operation. +- **insufficientSessions** Device not eligible for diagnostics. +- **isManaged** Device is managed for updates. +- **isWUConnected** Device is connected to Windows Update. +- **noMoreActions** No more applicable diagnostics. +- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. +- **remediationSummary** Result of each applicable resolution that was ran. +- **usingBackupFeatureAssessment** Relying on backup feature assessment. +- **usingBackupQualityAssessment** Relying on backup quality assessment. +- **versionString** Version of the WaaSMedic engine. +- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. +- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. + + +## Windows Error Reporting MTT events + +### Microsoft.Windows.WER.MTT.Denominator + +This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors to help keep Windows up to date. + +The following fields are available: + +- **UtcAggParams** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcAggParams](#utcaggparams). +- **UtcDiffpVal** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcDiffpVal](#utcdiffpval). +- **Value** Standard UTC emitted DP value structure See [Microsoft.Windows.WER.MTT.Value](#microsoftwindowswermttvalue). +- **DPRange** Maximum mean value range. +- **DPValue** No content is currently available. + + +## Windows Store events ### Microsoft.Windows.StoreAgent.Telemetry.AbortedInstallation @@ -3137,7 +4646,6 @@ The following fields are available: - **AggregatedPackageFullNames** Includes a set of package full names for each app that is part of an atomic set. - **AttemptNumber** The total number of attempts to acquire this product. -- **BundleId** The bundle ID - **CategoryId** The identity of the package or packages being installed. - **ClientAppId** The identity of the app that initiated this operation. - **HResult** HResult code to show the result of the operation (success/failure). @@ -3147,7 +4655,6 @@ The following fields are available: - **IsRemediation** Is this repairing a previous installation? - **IsRestore** Is this happening after a device restore? - **IsUpdate** Is this an update? -- **ParentBundleId** The parent bundle ID (if it's part of a bundle). - **PFN** Product Family Name of the product being installed. - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The number of attempts by the system to acquire this product. @@ -3308,11 +4815,11 @@ The FulfillmentComplete event is fired at the end of an app install or update. The following fields are available: -- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. - **FailedRetry** Was the installation or update retry successful? - **HResult** The HResult code of the operation. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. +- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -3321,9 +4828,9 @@ The FulfillmentInitiate event is fired at the start of an app install or update. The following fields are available: +- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. -- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. ### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest @@ -3426,1037 +4933,6 @@ The following fields are available: - **PFamN** The name of the product that is requested for update. -## Privacy consent logging events - -### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted - -This event is used to determine whether the user successfully completed the privacy consent experience. - -The following fields are available: - -- **presentationVersion** Which display version of the privacy consent experience the user completed -- **privacyConsentState** The current state of the privacy consent experience -- **settingsVersion** Which setting version of the privacy consent experience the user completed -- **userOobeExitReason** The exit reason of the privacy consent experience - - -### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentStatus - -Event tells us effectiveness of new privacy experience. - -The following fields are available: - -- **isAdmin** Whether the current user is an administrator or not -- **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** Whether the current user has enabled silent elevation -- **privacyConsentState** The current state of the privacy consent experience -- **userRegionCode** The current user's region setting - - -## Setup events - -### SetupPlatformTel.SetupPlatformTelEvent - -This service retrieves events generated by SetupPlatform, the engine that drives the various deployment scenarios. - -The following fields are available: - -- **FieldName** Retrieves the event name/data point. Examples: InstallStartTime, InstallEndtime, OverallResult etc. -- **GroupName** Retrieves the groupname the event belongs to. Example: Install Information, DU Information, Disk Space Information etc. -- **Value** Retrieves the value associated with the corresponding event name (Field Name). For example: For time related events this will include the system time. - - -## Shared PC events - -### Microsoft.Windows.SharedPC.AccountManager.DeleteUserAccount - -Activity for deletion of a user account for devices set up for Shared PC mode as part of the Transient Account Manager to help keep Windows up to date. Deleting un-used user accounts on Education/Shared PCs frees up disk space to improve Windows Update success rates. - -The following fields are available: - -- **accountType** The type of account that was deleted. Example: AD, AAD, or Local -- **deleteState** Whether the attempted deletion of the user account was successful. -- **userSid** The security identifier of the account. -- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. - - -### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation - -Activity for run of the Transient Account Manager that determines if any user accounts should be deleted for devices set up for Shared PC mode to help keep Windows up to date. Deleting unused user accounts on shared devices frees up disk space to improve Windows Update success rates - -The following fields are available: - -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. -- **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. -- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours - - -## SIH events - -### SIHEngineTelemetry.EvalApplicability - -This event is sent when targeting logic is evaluated to determine if a device is eligible for a given action. - -The following fields are available: - -- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. -- **IsExecutingAction** If the action is presently being executed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) -- **SihclientVersion** The client version that is being used. -- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. -- **StatusCode** Result code of the event (success, cancellation, failure code HResult). -- **UpdateID** A unique identifier for the action being acted upon. -- **WuapiVersion** The Windows Update API version that is currently installed. -- **WuaucltVersion** The Windows Update client version that is currently installed. -- **WuauengVersion** The Windows Update engine version that is currently installed. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -### SIHEngineTelemetry.SLSActionData - -This event reports if the SIH client was able to successfully parse the manifest describing the actions to be evaluated. - -The following fields are available: - -- **CachedEngineVersion** The engine DLL version that is being used. -- **EventInstanceID** A unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **FailedParseActions** The list of actions that were not successfully parsed. -- **ParsedActions** The list of actions that were successfully parsed. -- **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) -- **SihclientVersion** The client version that is being used. -- **WuapiVersion** The Windows Update API version that is currently installed. -- **WuaucltVersion** The Windows Update client version that is currently installed. -- **WuauengVersion** The Windows Update engine version that is currently installed. -- **WUDeviceID** The unique identifier controlled by the software distribution client. - - -## Software update events - -### SoftwareUpdateClientTelemetry.CheckForUpdates - -Scan process event on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) - -The following fields are available: - -- **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. -- **AllowCachedResults** Indicates if the scan allowed using cached results. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6 -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked -- **NumberOfLoop** The number of round trips the scan required -- **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan -- **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan -- **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. -- **Online** Indicates if this was an online scan. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ScanDurationInSeconds** The number of seconds a scan took -- **ScanEnqueueTime** The number of seconds it took to initialize a scan -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Windows Store, etc.). -- **ServiceUrl** The environment URL a device is configured to scan with -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). -- **SyncType** Describes the type of scan the event was -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **ClientVersion** The version number of the software distribution client. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DeviceModel** What is the device model. -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **EventInstanceID** A globally unique identifier for event instance. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown - - -### SoftwareUpdateClientTelemetry.Commit - -This event tracks the commit process post the update installation when software update client is trying to update the device. - -The following fields are available: - -- **BiosFamily** Device family as defined in the system BIOS -- **BiosName** Name of the system BIOS -- **BiosReleaseDate** Release date of the system BIOS -- **BiosSKUNumber** Device SKU as defined in the system BIOS -- **BIOSVendor** Vendor of the system BIOS -- **BiosVersion** Version of the system BIOS -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRevisionNumber** Identifies the revision number of the content bundle -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** Version number of the software distribution client -- **DeviceModel** Device model as defined in the system bios -- **EventInstanceID** A globally unique identifier for event instance -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver". -- **FlightId** The specific id of the flight the device is getting -- **HandlerType** Indicates the kind of content (app, driver, windows patch, etc.) -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) -- **SystemBIOSMajorRelease** Major release version of the system bios -- **SystemBIOSMinorRelease** Minor release version of the system bios -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Download - -Download process event for target update on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) - -The following fields are available: - -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. -- **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. -- **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. -- **CDNId** ID which defines which CDN the software distribution client downloaded the content from. -- **ClientVersion** The version number of the software distribution client. -- **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** What is the device model. -- **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. -- **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). -- **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific id of the flight (pre-release build) the device is getting. -- **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). -- **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). -- **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **HostName** The hostname URL the content is downloading from. -- **IPVersion** Indicates whether the download took place over IPv4 or IPv6. -- **IsDependentSet** Indicates whether a driver is a part of a larger System Hardware/Firmware Update -- **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. -- **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. -- **NetworkCostBitMask** Indicates what kind of network the device is connected to (roaming, metered, over data cap, etc.) -- **NetworkRestrictionStatus** More general version of NetworkCostBitMask, specifying whether Windows considered the current network to be "metered." -- **PackageFullName** The package name of the content. -- **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RegulationReason** The reason that the update is regulated -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. -- **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). -- **Setup360Phase** If the download is for an operating system upgrade, this datapoint indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **ThrottlingServiceHResult** Result code (success/failure) while contacting a web service to determine whether this device should download content yet. -- **TimeToEstablishConnection** Time (in ms) it took to establish the connection prior to beginning downloaded. -- **TotalExpectedBytes** The total count of bytes that the download is expected to be. -- **UpdateId** An identifier associated with the specific piece of content. -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedDO** Whether the download used the delivery optimization service. -- **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. - - -### SoftwareUpdateClientTelemetry.DownloadCheckpoint - -This event provides a checkpoint between each of the Windows Update download phases for UUP content - -The following fields are available: - -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **EventType** Possible values are "Child", "Bundle", "Relase" or "Driver" -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough -- **FileId** A hash that uniquely identifies a file -- **FileName** Name of the downloaded file -- **FlightId** The unique identifier for each flight -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RevisionNumber** Unique revision number of Update -- **ServiceGuid** An ID which represents which service the software distribution client is checking for content (Windows Update, Microsoft Store, etc.) -- **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult) -- **UpdateId** Unique Update ID -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue - - -### SoftwareUpdateClientTelemetry.DownloadHeartbeat - -This event allows tracking of ongoing downloads and contains data to explain the current state of the download - -The following fields are available: - -- **BytesTotal** Total bytes to transfer for this content -- **BytesTransferred** Total bytes transferred for this content at the time of heartbeat -- **CallerApplicationName** Name provided by the caller who initiated API calls into the software distribution client -- **ClientVersion** The version number of the software distribution client -- **ConnectionStatus** Indicates the connectivity state of the device at the time of heartbeat -- **CurrentError** Last (transient) error encountered by the active download -- **DownloadFlags** Flags indicating if power state is ignored -- **DownloadState** Current state of the active download for this content (queued, suspended, or progressing) -- **EventType** Possible values are "Child", "Bundle", or "Driver" -- **FlightId** The unique identifier for each flight -- **IsNetworkMetered** Indicates whether Windows considered the current network to be ?metered" -- **MOAppDownloadLimit** Mobile operator cap on size of application downloads, if any -- **MOUpdateDownloadLimit** Mobile operator cap on size of operating system update downloads, if any -- **PowerState** Indicates the power state of the device at the time of heartbeart (DC, AC, Battery Saver, or Connected Standby) -- **RelatedCV** The previous correlation vector that was used by the client, before swapping with a new one -- **ResumeCount** Number of times this active download has resumed from a suspended state -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Microsoft Store, etc) -- **SuspendCount** Number of times this active download has entered a suspended state -- **SuspendReason** Last reason for why this active download entered a suspended state -- **UpdateId** Identifier associated with the specific piece of content -- **WUDeviceID** Unique device id controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.Install - -This event sends tracking data about the software distribution client installation of the content for that update, to help keep Windows up to date. - -The following fields are available: - -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? -- **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **ClientVersion** The version number of the software distribution client. -- **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** Mobile operator that device is currently connected to. -- **DeviceModel** What is the device model. -- **DriverPingBack** Contains information about the previous driver and system state. -- **EventInstanceID** A globally unique identifier for event instance. -- **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **EventType** Possible values are Child, Bundle, or Driver. -- **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Are feature OS updates paused on the device? -- **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. -- **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. -- **FlightId** The specific ID of the Windows Insider build the device is getting. -- **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update -- **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. -- **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? -- **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? -- **IsFirmware** Is this update a firmware update? -- **IsSuccessFailurePostReboot** Did it succeed and then fail after a restart? -- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? -- **IsWUfBEnabled** Is Windows Update for Business enabled on the device? -- **MergedUpdate** Was the OS update and a BSP update merged for installation? -- **MsiAction** The stage of MSI installation where it failed. -- **MsiProductCode** The unique identifier of the MSI installer. -- **PackageFullName** The package name of the content being installed. -- **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Are quality OS updates paused on the device? -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. -- **RevisionNumber** The revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). -- **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. -- **ShippingMobileOperator** The mobile operator that a device shipped on. -- **StatusCode** Indicates the result of an installation event (success, cancellation, failure code HResult). -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. -- **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. -- **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID which represents a given MSI installation -- **UpdateId** Unique update ID -- **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. -- **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - - -### SoftwareUpdateClientTelemetry.UpdateDetected - -This event sends data about an AppX app that has been updated from the Microsoft Store, including what app needs an update and what version/architecture is required, in order to understand and address problems with apps getting required updates. - -The following fields are available: - -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ServiceGuid** An ID which represents which service the software distribution client is connecting to (Windows Update, Windows Store, etc.) -- **WUDeviceID** The unique device ID controlled by the software distribution client - - -### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity - -Ensures Windows Updates are secure and complete. Event helps to identify whether update content has been tampered with and protects against man-in-the-middle attack. - -The following fields are available: - -- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** Integral id from the FragmentSigning data for certificate which failed. -- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MetadataSignature** Base64 string of the signature associated with the update metadata (specified by revision id) -- **RevisionId** Identifies the revision of this specific piece of content -- **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) -- **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. -- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob -- **SignatureAlgorithm** Hash algorithm for the metadata signature -- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". -- **StatusCode** Result code of the event (success, cancellation, failure code HResult) -- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. -- **UpdateId** Identifier associated with the specific piece of content -- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - - -## Update events - -### Update360Telemetry.UpdateAgentCommit - -This event collects information regarding the commit phase of the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentDownloadRequest - - The UpdateAgent_DownloadRequest event sends data for the download request phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to PC and Mobile. - -The following fields are available: - -- **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **ErrorCode** The error code returned for the current download request phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) -- **PackageCountOptional** Number of optional packages requested. -- **PackageCountRequired** Number of required packages requested. -- **PackageCountTotal** Total number of packages needed. -- **PackageCountTotalCanonical** Total number of canonical packages. -- **PackageCountTotalDiff** Total number of diff packages. -- **PackageCountTotalExpress** Total number of express packages. -- **PackageSizeCanonical** Size of canonical packages in bytes. -- **PackageSizeDiff** Size of diff packages in bytes. -- **PackageSizeExpress** Size of express packages in bytes. -- **RangeRequestState** Indicates the range request type used. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the download request phase of update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) -- **UpdateId** Unique ID for each update. -- **PackageExpressType** Type of express package. - - -### Update360Telemetry.UpdateAgentExpand - - This event collects information regarding the expansion phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. - -The following fields are available: - -- **ElapsedTickCount** Time taken for expand phase. -- **EndFreeSpace** Free space after expand phase. -- **EndSandboxSize** Sandbox size after expand phase. -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **StartFreeSpace** Free space before expand phase. -- **StartSandboxSize** Sandbox size after expand phase. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentFellBackToCanonical - -This event collects information when express could not be used and we fall back to canonical during the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **PackageCount** Number of packages that feel back to canonical. -- **PackageList** PackageIds which fell back to canonical. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInitialize - - The UpdateAgentInitialize event sends data for the initialize phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to both PCs and Mobile. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique ID for each flight. -- **FlightMetadata** Contains the FlightId and the build being flighted. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** Outcome of the install phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionData** String containing instructions to update agent for processing FODs and DUICs (Null for other scenarios). -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentInstall - -The UpdateAgentInstall event sends data for the install phase of updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the current install phase. -- **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **ObjectId** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** The result for the current install phase. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentMerge - -The UpdateAgentMerge event sends data on the merge phase when updating Windows. - -The following fields are available: - -- **ErrorCode** The error code returned for the current merge phase. -- **FlightId** Unique ID for each flight. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Related correlation vector value. -- **Result** Outcome of the merge phase of the update. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt. -- **UpdateId** Unique ID for each update. - - -### Update360Telemetry.UpdateAgentModeStart - -The UpdateAgentModeStart event sends data for the start of each mode during the process of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to both PCs and Mobile. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **Mode** Indicates the mode that has started. -- **ObjectId** Unique value for each Update Agent mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **Version** Version of update - - -### Update360Telemetry.UpdateAgentPostRebootResult - -This event collects information for both Mobile and Desktop regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario - -The following fields are available: - -- **ErrorCode** The error code returned for the current post reboot phase -- **FlightId** The unique identifier for each flight -- **ObjectId** Unique value for each Update Agent mode -- **PostRebootResult** Indicates the Hresult -- **RelatedCV** Correlation vector value generated from the latest USO scan -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update - - -### Update360Telemetry.UpdateAgentSetupBoxLaunch - -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new UUP (Unified Update Plaform) scenario. This event is only applicable to PCs. - -The following fields are available: - -- **FlightId** Unique ID for each flight. -- **FreeSpace** Free space on OS partition. -- **InstallCount** Number of install attempts using the same sandbox. -- **ObjectId** Unique value for each Update Agent mode. -- **Quiet** Indicates whether setup is running in quiet mode. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **SandboxSize** Size of the sandbox. -- **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each update attempt. -- **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. -- **UserSession** Indicates whether install was invoked by user actions. -- **ContainsExpressPackage** Indicates whether the download package is express. - - -## Update notification events - -### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage - -Event to indicate that Javascript is reporting a schema and a set of values for critical telemetry. - -The following fields are available: - -- **CampaignConfigVersion** Config version of current campaign -- **CampaignID** Currently running campaign on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version of the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user -- **key1** UI interaction data -- **key10** UI interaction data -- **key11** UI interaction data -- **key12** UI interaction data -- **key13** UI interaction data -- **key14** UI interaction data -- **key15** UI interaction data -- **key16** UI interaction data -- **key17** UI interaction data -- **key2** UI interaction data -- **key3** UI interaction data -- **key4** UI interaction data -- **key5** UI interaction data -- **key6** UI interaction data -- **key7** Interaction data for the UI -- **key8** Interaction data for the UI -- **key9** UI interaction data -- **PackageVersion** Current package version of UNP -- **schema** UI interaction type -- **key18** UI interaction data -- **key19** UI interaction data -- **key20** UI interaction data -- **key21** Interaction data for the UI -- **key22** UI interaction data -- **key23** UI interaction data -- **key24** UI interaction data -- **key25** UI interaction data -- **key26** UI interaction data -- **key27** UI interaction data -- **key28** Interaction data for the UI -- **key29** UI interaction data -- **key30** UI interaction data - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat - -This event is sent at the start of each campaign, to be used as a heartbeat - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign - -This event indicates that the Campaign Manager is cleaning up the campaign content - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Current campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat - -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed - -This event is sent when a campaign completion status query fails - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Current campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **hresult** HRESULT of the failure -- **PackageVersion** Current UNP package version - - -### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed - -This event is sent when the Campaign Manager encounters an unexpected error while running the campaign - -The following fields are available: - -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **hresult** HRESULT of the failure -- **PackageVersion** Current UNP package version - - -## Upgrade events - -### Setup360Telemetry.Downlevel - -This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. - -The following fields are available: - -- **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the downlevel OS. -- **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. It's an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string that uniquely identifies a group of events. -- **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.Finalize - -This event sends data indicating that the device has invoked the finalize phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.OsUninstall - -The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall indicates the outcome of an OS uninstall. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.PostRebootInstall - -This event sends data indicating that the device has invoked the postrebootinstall phase of the upgrade, to help keep Windows up-to-date. - -The following fields are available: - -- **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that's used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.PreDownloadQuiet - -This event sends data indicating that the device has invoked the predownload quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. - - -### Setup360Telemetry.PreDownloadUX - -This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS. Specifically the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous operating system. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). -- **InstanceId** Unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. -- **FlightData** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. - - -### Setup360Telemetry.PreInstallQuiet - -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT) -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.PreInstallUX - -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PreinstallUX indicates the outcome of the PreinstallUX portion of the update process. - -The following fields are available: - -- **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. -- **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** Windows Update client ID. -- **FlightData** Unique value that identifies the flight. - - -### Setup360Telemetry.Setup360 - -This event sends data about OS deployment scenarios, to help keep Windows up-to-date. - -The following fields are available: - -- **FieldName** Retrieves the data point. -- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. -- **InstanceId** Retrieves a unique identifier for each instance of a setup session. -- **ReportId** Retrieves the report ID. -- **ScenarioId** Retrieves the deployment scenario. -- **Value** Retrieves the value associated with the corresponding FieldName. -- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. - - -### Setup360Telemetry.UnexpectedEvent - -This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. - -The following fields are available: - -- **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **HostOSBuildNumber** The build number of the previous OS. -- **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe -- **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT -- **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. -- **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. - - -## Windows as a Service diagnostic events - -### Microsoft.Windows.WaaSMedic.SummaryEvent - -Result of the WaaSMedic operation. - -The following fields are available: - -- **detectionSummary** Result of each applicable detection that was ran. -- **featureAssessmentImpact** WaaS Assessment impact for feature updates. -- **hrEngineResult** Error code from the engine operation. -- **isManaged** Device is managed for updates. -- **isWUConnected** Device is connected to Windows Update. -- **noMoreActions** No more applicable diagnostics. -- **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **remediationSummary** Result of each applicable resolution that was ran. -- **usingBackupFeatureAssessment** Relying on backup feature assessment. -- **usingBackupQualityAssessment** Relying on backup quality assessment. -- **versionString** Version of the WaaSMedic engine. -- **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. -- **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. -- **insufficientSessions** Device not eligible for diagnostics. - - -## Windows Error Reporting events - -## Windows Error Reporting MTT events - -### Microsoft.Windows.WER.MTT.Denominator - -This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors to help keep Windows up to date. - -The following fields are available: - -- **Value** Standard UTC emitted DP value structure - - ## Windows Update CSP events ### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed @@ -4467,7 +4943,7 @@ The following fields are available: - **current** Result of currency check - **dismOperationSucceeded** Dism uninstall operation status -- **hResult** Failure Error code +- **hResult** Failure error code - **oSVersion** Build number of the machine - **paused** Machine's pause status - **rebootRequestSucceeded** Reboot CSP call success status @@ -4550,7 +5026,7 @@ This event sends data describing the start of a new download to enable Delivery The following fields are available: - **background** If the download is happening in the background -- **bytesRequested** Number of bytes requested for download. +- **bytesRequested** Number of bytes requested for download - **cdnUrl** Url of the source CDN - **costFlags** Network cost flags - **deviceProfile** Identifies the usage or form factor (Desktop, Xbox, VM, etc) @@ -4561,24 +5037,24 @@ The following fields are available: - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider: 0, GeoProvider: 1, GeoVerProvider: 2, CpProvider: 3, DiscoveryProvider: 4, RegistryProvider: 5, GroupPolicyProvider: 6, MdmProvider: 7, SettingsProvider: 8, InvalidProviderType: 9) - **errorCode** Error code returned - **experimentId** Used to correlate client/services calls that are part of the same test during A/B testing -- **fileID** ID of the File being downloaded +- **fileID** ID of the file being downloaded - **filePath** Path to where the downloaded file will be written - **fileSize** Total filesize of the file that was downloaded - **fileSizeCaller** Value for total file size provided by our caller - **groupID** ID for the group -- **isVpn** If the machine is connected to a Virtual Private Network -- **jobID** Identifier for the Windows Update Job +- **isVpn** If the machine is connected to a Virtual Private Network +- **jobID** Identifier for the Windows Update job +- **minDiskSizeGB** The minimum disk size policy set for the device to allow Peering with Delivery Optimization +- **minDiskSizePolicyEnforced** If there is an enforced mininum disk size requirement for peering +- **minFileSizePolicy** Minimum filesize policy set for the device to allow Peering with Delivery Optimization - **peerID** ID for this Delivery Optimization client - **predefinedCallerName** Name of the API caller - **sessionID** ID for the file download session -- **setConfigs** ID of the update being downloaded -- **updateID** ID for the file download session +- **updateID** ID of the update being downloaded - **usedMemoryStream** If the download is using memory streaming in App downloads - **callerName** Name of the API Caller -- **minDiskSizeGB** The minimum disk size policy set for the device to allow Peering with Delivery Optimization -- **minDiskSizePolicyEnforced** If there is an enforced mininum disk size requirement for peering -- **minFileSizePolicy** The minimum file size policy set for the device to allow Peering with Delivery Optimization - **scenarioID** ID for the Scenario +- **setConfigs** A JSON representation of the configurations that have been set, and their sources - **isEncrypted** Whether the download is encrypted @@ -4592,20 +5068,20 @@ The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. - **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. -- **flightId** Unique ID for each flight. +- **flightId** Unique ID for each flight. - **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. - **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. -- **objectId** Unique value for each diagnostics session. +- **objectId** Unique value for each diagnostics session. - **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. -- **relatedCV** Correlation vector value generated from the latest USO scan. -- **scenarioId** Indicates the update scenario. -- **sessionId** Unique value for each update session. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **scenarioId** Indicates the update scenario. +- **sessionId** Unique value for each update session. - **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. - **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. - **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each Update. +- **updateId** Unique ID for each Update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -4663,41 +5139,41 @@ The following fields are available: - **objectId** Unique value for each Update Agent mode - **relatedCV** Correlation vector value generated from the latest USO scan - **result** Result of the initialize phase of update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate - **sessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios) -- **sessionId** Unique value for each Update Agent mode attempt +- **sessionId** Unique value for each Update Agent mode attempt - **updateId** Unique ID for each update ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInstall -This event collects information regarding the install phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages +This event collects information regarding the install phase of the new device manifest UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. The following fields are available: -- **errorCode** The error code returned for the current install phase -- **flightId** The unique identifier for each flight -- **objectId** Unique value for each Update Agent mode -- **relatedCV** Correlation vector value generated from the latest scan -- **result** Result of the install phase of update. 0 = Succeeded 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** Unique value for each Update Agent mode attempt -- **updateId** Unique ID for each update +- **errorCode** The error code returned for the current install phase. +- **flightId** Unique ID for each flight. +- **objectId** Unique value for each diagnostics session. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **result** Outcome of the install phase of the update. +- **scenarioId** Indicates the update scenario. +- **sessionId** Unique value for each update session. +- **updateId** Unique ID for each Update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentModeStart -This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. +This event sends data for the start of each mode during the process of updating device manifest assets via the UUP (Unified Update Platform) update scenario which is used to install a device manifest describing a set of driver packages. The following fields are available: -- **flightId** The unique identifier for each flight -- **mode** Indicates that the Update Agent mode that has started. 1 = Initialize, 2 = DownloadRequest, 3 = Install, 4 = Commit -- **objectId** Unique value for each Update Agent mode -- **relatedCV** Correlation vector value generated from the latest scan -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** Unique value for each Update Agent mode attempt -- **updateId** Unique ID for each update +- **flightId** Unique ID for each flight. +- **mode** The mode that is starting. +- **objectId** Unique value for each diagnostics session. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **scenarioId** Indicates the update scenario. +- **sessionId** Unique value for each update session. +- **updateId** Unique ID for each Update. ### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed @@ -4706,24 +5182,24 @@ Dialog notification about to be displayed to user. The following fields are available: -- **AcceptAutoModeLimit** Maximum number of days for a device to automatically enter Auto Reboot mode -- **AutoToAutoFailedLimit** Maximum number of days for Auto Reboot mode to fail before RebootFailed dialog will be shown -- **DeviceLocalTime** Time of dialog shown on local device -- **EngagedModeLimit** Number of days to switch between DTE dialogs -- **EnterAutoModeLimit** Maximum number of days for a device to enter Auto Reboot mode -- **ETag** OneSettings versioning value +- **AcceptAutoModeLimit** Maximum number of days for a device to automatically enter Auto Reboot mode +- **AutoToAutoFailedLimit** Maximum number of days for Auto Reboot mode to fail before RebootFailed dialog will be shown +- **DaysSinceRebootRequired** Number of days since reboot was required. +- **DeviceLocalTime** Time of dialog shown on local device +- **EngagedModeLimit** Number of days to switch between DTE dialogs +- **EnterAutoModeLimit** Maximum number of days for a device to enter Auto Reboot mode +- **ETag** OneSettings versioning value - **IsForcedEnabled** Is Forced Reboot mode enabled for this device? - **IsUltimateForcedEnabled** Is Ultimate Forced Reboot mode enabled for this device? - **NotificationUxState** Which dialog is shown (ENUM)? - **NotificationUxStateString** Which dialog is shown (string mapping)? -- **RebootUxState** Engaged/Auto/Forced/UltimateForced -- **RebootUxStateString** Engaged/Auto/Forced/UltimateForced -- **RebootVersion** Version of DTE +- **RebootUxState** Engaged/Auto/Forced/UltimateForced +- **RebootUxStateString** Engaged/Auto/Forced/UltimateForced +- **RebootVersion** Version of DTE - **SkipToAutoModeLimit** The minimum length of time to pass in reboot pending before a machine can be put into auto mode -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation - **UtcTime** The Coordinated Universal Time when the dialog notification will be displayed. -- **DaysSinceRebootRequired** Number of days since reboot was required. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog @@ -4732,13 +5208,13 @@ Enhanced Engaged reboot accept auto dialog was displayed. The following fields are available: -- **DeviceLocalTime** Local time of the device sending the event -- **ETag** OneSettings ETag -- **ExitCode** Dialog exit code - user response -- **RebootVersion** Reboot flow version -- **UpdateId** Id of pending update -- **UpdateRevision** Revision number of the pending update -- **UserResponseString** User response to the reboot dialog +- **DeviceLocalTime** Local time of the device sending the event +- **ETag** OneSettings ETag +- **ExitCode** Dialog exit code - user response +- **RebootVersion** Reboot flow version +- **UpdateId** Id of pending update +- **UpdateRevision** Revision number of the pending update +- **UserResponseString** User response to the reboot dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4748,13 +5224,13 @@ Enhanced Engaged reboot first reminder dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The id of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The id of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4764,13 +5240,13 @@ Enhanced Engaged reboot forced precursor dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The id of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The id of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4780,13 +5256,13 @@ Enhanced Engaged forced warning dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The id of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The id of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4796,13 +5272,13 @@ Enhanced Engaged reboot reboot failed dialog was displayed. The following fields are available: -- **DeviceLocalTime** Dialog exit code - user response -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4812,13 +5288,13 @@ Enhanced Engaged reboot reboot imminent dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4828,13 +5304,13 @@ Enhanced Engaged reboot second reminder dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4844,13 +5320,13 @@ Enhanced Engaged reboot third reminder dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog +- **DeviceLocalTime** Time of dialog shown on local device +- **ETag** OneSettings versioning value +- **ExitCode** Indicates how users exited the dialog +- **RebootVersion** Version of DTE +- **UpdateId** The ID of the update that is pending reboot to finish installation +- **UpdateRevision** The revision of the update that is pending reboot to finish installation +- **UserResponseString** The option that user chose on this dialog - **UtcTime** The Coordinated Universal Time that dialog was displayed @@ -4920,52 +5396,23 @@ The following fields are available: - **wuDeviceid** The Windows Update device GUID. -### Microsoft.Windows.Update.Orchestrator.DTUCompletedWhenWuFlightPendingCommit - -Event to indicate that DTU completed installation of the ESD, when WU was already Pending Commit of the feature update. - -The following fields are available: - -- **wuDeviceid** Device ID used by WU - - -### Microsoft.Windows.Update.Orchestrator.DTUEnabled - -Inbox DTU functionality enabled. - -The following fields are available: - -- **wuDeviceid** Device ID. - - -### Microsoft.Windows.Update.Orchestrator.DTUInitiated - -Inbox DTU functionality intiated. - -The following fields are available: - -- **dtuErrorCode** Return code from creating the DTU Com Server. -- **isDtuApplicable** Determination of whether DTU is applicable to the machine it is running on. -- **wuDeviceid** Return code from creating the DTU Com Server. - - ### Microsoft.Windows.Update.Orchestrator.DeferRestart Indicates that a restart required for installing updates was postponed. The following fields are available: -- **displayNeededReason** Semicolon-separated list of reasons reported for display needed - **eventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc - **filteredDeferReason** The raised reason that the USO did not restart (e.g. user active, low battery) that were ignorable +- **raisedDeferReason** The reason that the USO did not restart (e.g. user active, low battery) +- **wuDeviceid** Windows Update Device GUID +- **displayNeededReason** Semicolon-separated list of reasons reported for display needed - **gameModeReason** Name of the executable that caused the game mode state check to trigger. - **ignoredReason** Semicolon-separated list of reasons that were intentionally ignored. - **revisionNumber** Update ID revision number - **systemNeededReason** Semicolon-separated list of reasons reported for system needed. - **updateId** Update ID - **updateScenarioType** Update session type -- **wuDeviceid** Windows Update Device GUID -- **raisedDeferReason** The reason that the USO did not restart (e.g. user active, low battery) ### Microsoft.Windows.Update.Orchestrator.Detection @@ -4975,19 +5422,19 @@ A scan for an update occurred. The following fields are available: - **detectionBlockingPolicy** State of update action -- **detectionBlockreason** Reason for detection not completing. -- **eventScenario** End to end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **interactive** Identifies if session is User Initiated. +- **detectionBlockreason** State of update action +- **eventScenario** Was it user Initiated +- **interactive** Source of the triggered scan - **scanTriggerSource** Source of the triggered scan. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. -- **detectionRetryMode** If we retry to scan -- **errorCode** The returned error code. -- **deferReason** Reason for postponing detection -- **flightID** Flight info -- **revisionNumber** Update version -- **updateId** Update ID - GUID +- **updateScenarioType** Device ID +- **wuDeviceid** Device ID +- **detectionRetryMode** Error info +- **errorCode** State of update action - **networkStatus** Error info +- **deferReason** Reason for postponing detection +- **flightID** Flight info +- **revisionNumber** Update version +- **updateId** Update ID - GUID ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5023,13 +5470,42 @@ The following fields are available: - **wuDeviceid** Unique device ID used by Windows Update. +### Microsoft.Windows.Update.Orchestrator.DTUCompletedWhenWuFlightPendingCommit + +Event to indicate that DTU completed installation of the ESD, when WU was already Pending Commit of the feature update. + +The following fields are available: + +- **wuDeviceid** Device ID used by WU + + +### Microsoft.Windows.Update.Orchestrator.DTUEnabled + +Inbox DTU functionality enabled. + +The following fields are available: + +- **wuDeviceid** Device ID. + + +### Microsoft.Windows.Update.Orchestrator.DTUInitiated + +Inbox DTU functionality intiated. + +The following fields are available: + +- **dtuErrorCode** Return code from creating the DTU Com Server. +- **isDtuApplicable** Determination of whether DTU is applicable to the machine it is running on. +- **wuDeviceid** Return code from creating the DTU Com Server. + + ### Microsoft.Windows.Update.Orchestrator.Escalation Event sent when USO takes an Escalation action on device. The following fields are available: -- **configVersion** Escalation config version on device +- **configVersion** Escalation config version on device - **escalationAction** Indicate the specific escalation action that took place on device - **updateClassificationGUID** GUID of the update the device is offered - **updateId** ID of the update the device is offered @@ -5115,22 +5591,22 @@ This event sends launch data for a Windows Update install to help keep Windows u The following fields are available: - **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End to end update session ID. +- **flightID** Unique update ID +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. - **interactive** Identifies if session is user initiated. - **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **revisionNumber** Update revision number. +- **updateId** Update ID. - **updateScenarioType** The update session type. - **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. - **wuDeviceid** Unique device ID used by Windows Update. -- **flightID** Unique update ID +- **deferReason** Reason for install not completing. - **flightUpdate** Flight update -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installRebootinitiatetime** The time it took for a reboot to be attempted. - **minutesToCommit** The time it took to install updates. -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **errorCode** The error code reppresented by a hexadecimal value. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. ### Microsoft.Windows.Update.Orchestrator.PostInstall @@ -5139,12 +5615,12 @@ Event sent after Update install completes. The following fields are available: -- **batteryLevel** Battery level percentage -- **bundleId** Update ID - GUID -- **bundleRevisionnumber** Update ID revision number -- **errorCode** Error value -- **eventScenario** State of update action -- **sessionType** Update session type +- **batteryLevel** Battery level percentage +- **bundleId** Update ID - GUID +- **bundleRevisionnumber** Update ID revision number +- **errorCode** Error value +- **eventScenario** State of update action +- **sessionType** Update session type - **wuDeviceid** Windows Update device GUID - **flightID** The flight ID of the device - **updateScenarioType** The scenario type of this update @@ -5152,14 +5628,14 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.PowerMenuOptionsChanged -This event is sent when the options in power menu changed, usually due to an update pending reboot, or after a update is installed. +This event is sent when the options in power menu changed, usually due to an update pending reboot, or after a update is installed. The following fields are available: -- **powermenuNewOptions** The new options after the power menu changed -- **powermenuOldOptions** The old options before the power menu changed -- **rebootPendingMinutes** If the power menu changed because a reboot is pending due to a update, how long that reboot has been pending -- **wuDeviceid** If the power menu changed because a reboot is pending due to a update, the device ID recorded by WU +- **powermenuNewOptions** The new options after the power menu changed +- **powermenuOldOptions** The old options before the power menu changed +- **rebootPendingMinutes** If the power menu changed because a reboot is pending due to a update, how long that reboot has been pending +- **wuDeviceid** If the power menu changed because a reboot is pending due to a update, the device ID recorded by WU ### Microsoft.Windows.Update.Orchestrator.PreShutdownStart @@ -5258,10 +5734,10 @@ Update activity was stopped due to active hours starting. The following fields are available: -- **activeHoursEnd** The end of the active hours window -- **activeHoursStart** The start of the active hours window -- **updatePhase** The current state of the update process -- **wuDeviceid** Device ID +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **updatePhase** The current state of the update process. +- **wuDeviceid** The device identifier. ### Microsoft.Windows.Update.Orchestrator.TerminatedByBatteryLevel @@ -5270,10 +5746,10 @@ Update activity was stopped due to a low battery level. The following fields are available: -- **batteryLevel** The current battery charge capacity -- **batteryLevelThreshold** The battery capacity threshold to stop update activity -- **updatePhase** The current state of the update process -- **wuDeviceid** Device ID +- **batteryLevel** The current battery charge capacity. +- **batteryLevelThreshold** The battery capacity threshold to stop update activity. +- **updatePhase** The current state of the update process. +- **wuDeviceid** The device identifier. ### Microsoft.Windows.Update.Orchestrator.UpdatePolicyCacheRefresh @@ -5324,21 +5800,21 @@ The following fields are available: ### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled -The RebootScheduled event sends basic information for scheduling a update related reboot to facilitate the flow of getting security updates and keeping Windows up to date. +The RebootScheduled event sends basic information for scheduling a update related reboot to facilitate the flow of getting security updates and keeping Windows up to date. The following fields are available: -- **activeHoursApplicable** Whether Active Hours applies. -- **rebootArgument** The reboot arguments +- **activeHoursApplicable** Whether Active Hours applies. +- **IsEnhancedEngagedReboot** If Enhanced reboot was enabled. +- **rebootArgument** The reboot arguments - **rebootOutsideOfActiveHours** If reboot was outside of Active Hours -- **rebootScheduledByUser** If the reboot was scheduled by the user, or the system. +- **rebootScheduledByUser** If the reboot was scheduled by the user, or the system. - **rebootState** Which state the reboot is in - **revisionNumber** Revision number of the OS -- **scheduledRebootTime** Time the reboot was scheduled for. -- **scheduledRebootTimeInUTC** Time the reboot was scheduled for in UTC +- **scheduledRebootTime** Time the reboot was scheduled for. +- **scheduledRebootTimeInUTC** Time the reboot was scheduled for in UTC. - **updateId** UpdateId to identify which update is being scheduled. - **wuDeviceid** Unique DeviceID -- **IsEnhancedEngagedReboot** If Enhanced reboot was enabled. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5353,7 +5829,7 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments with which the task is scheduled. +- **TaskArgument** The arguments with which the task is scheduled. - **TaskName** Name of the task. @@ -5361,26 +5837,26 @@ The following fields are available: ### Mitigation360Telemetry.MitigationCustom.CleanupSafeOsImages -This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. +This event sends data specific to the CleanupSafeOsImages mitigation used for OS Updates. The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** Number of mounted images. -- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. -- **WuId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. +- **WuId** Unique ID for the Windows Update client. ### Mitigation360Telemetry.MitigationCustom.FixAppXReparsePoints @@ -5389,19 +5865,19 @@ This event sends data specific to the FixAppXReparsePoints mitigation used for O The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Number of reparse points that are corrupted but we failed to fix them. -- **ReparsePointsFailed** Number of reparse points that were corrupted and were fixed by this mitigation. -- **ReparsePointsFixed** Number of reparse points that are not corrupted and no action is required. -- **ReparsePointsSkipped** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ReparsePointsFailed** Number of reparse points that are corrupted but we failed to fix them. +- **ReparsePointsFixed** Number of reparse points that were corrupted and were fixed by this mitigation. +- **ReparsePointsSkipped** Number of reparse points that are not corrupted and no action is required. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. @@ -5411,20 +5887,29 @@ This event sends data specific to the FixupEditionId mitigation used for OS upda The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. - **EditionIdUpdated** Determine whether EditionId was changed. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. - **ProductEditionId** Expected EditionId value based on GetProductInfo. - **ProductType** Value returned by GetProductInfo. - **RegistryEditionId** EditionId value in the registry. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. - **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update. -- **WuId** Unique ID for the Windows Update client. +- **UpdateId** Unique ID for each update. +- **WuId** Unique ID for the Windows Update client. + + +## Winlogon events + +### Microsoft.Windows.Security.Winlogon.SetupCompleteLogon + +This event signals the completion of the setup process. It happens only once during the first logon. + + From 87093f3dbebb0a2060f255010dcfbe209bd2bc5d Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 14:37:45 -0700 Subject: [PATCH 04/60] initial review pass --- .../deployment/planning/windows-10-1809-removed-features.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 9d02f58b77..fa614a04eb 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -28,9 +28,10 @@ We're removing the following features and functionalities from the installed pro |Feature |Instead you can use...| |-----------|-------------------- |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| -|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component). **Do we have a link to the nuget component? Will it be in GitHub?**| +|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| +|Future updates through [Windows Embedded Developer Update for Windows Embedded Standard 8 and Windows Embedded 8 Standard](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\))|We’re no longer publishing new updates to the WEDU server. Instead, we recommend that you secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| |Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| ## Features we’re no longer developing @@ -44,7 +45,7 @@ If you have feedback about the proposed replacement of any of these features, yo |Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10 version 1809 we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| |Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| -|Remote Differential Compression API support|Remote Differential Compression API support enabled you to synchronize data with a remote source using compression technologies, which minimized the amount of data sent across the network. **Is there another way to do this? What should the customer do instead?**| +|Remote Differential Compression API support|Remote Differential Compression API support enabled synchronizing data with a remote source using compression technologies, which minimized the amount of data sent across the network. This support isn't currently used by any Microsoft products.| From 76a8b517bf27c69b59cb76332e874d81dac9878c Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 16:17:26 -0700 Subject: [PATCH 05/60] initial review pass --- .../deployment/planning/windows-10-1809-removed-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index fa614a04eb..3870cc3eb3 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -31,12 +31,12 @@ We're removing the following features and functionalities from the installed pro |limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| -|Future updates through [Windows Embedded Developer Update for Windows Embedded Standard 8 and Windows Embedded 8 Standard](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\))|We’re no longer publishing new updates to the WEDU server. Instead, we recommend that you secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| +|Future updates through [Windows Embedded Developer Update](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\)) for Windows Embedded Standard 8 and Windows Embedded 8 Standard|We’re no longer publishing new updates to the WEDU server. Instead, we recommend that you secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| |Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| ## Features we’re no longer developing -We are no longer actively developing these features and may remove them from a future update. Some features have been replaced with other features or functionality, while others are now available from different sources. +We're no longer actively developing these features and may remove them from a future update. Some features have been replaced with other features or functionality, while others are now available from different sources. If you have feedback about the proposed replacement of any of these features, you can use the [Feedback Hub app](https://support.microsoft.com/help/4021566/windows-10-send-feedback-to-microsoft-with-feedback-hub-app). From dde1949acc9109ab2cdcd82d57c0ba1df64546eb Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 16:52:55 -0700 Subject: [PATCH 06/60] removed RDC --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 3870cc3eb3..f882cd701c 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -45,7 +45,5 @@ If you have feedback about the proposed replacement of any of these features, yo |Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10 version 1809 we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| |Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| -|Remote Differential Compression API support|Remote Differential Compression API support enabled synchronizing data with a remote source using compression technologies, which minimized the amount of data sent across the network. This support isn't currently used by any Microsoft products.| - From 376aa74257b7e7e822a6d94f43e341dba427d608 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 17:14:10 -0700 Subject: [PATCH 07/60] typo re version name --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index f882cd701c..18ff7b0264 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -42,7 +42,7 @@ If you have feedback about the proposed replacement of any of these features, yo |Feature |Instead you can use...| |-----------|---------------------| -|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10 version 1809 we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| +|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| |Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| From 9c6e803b6f04c439c24be06cebc8450897f4c275 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 18:03:42 -0700 Subject: [PATCH 08/60] alphabetized --- .../planning/windows-10-1809-removed-features.md | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 18ff7b0264..9183b1ec5e 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -27,12 +27,13 @@ We're removing the following features and functionalities from the installed pro |Feature |Instead you can use...| |-----------|-------------------- -|Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| -|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| +|Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| +|[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify a font appearance to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| +|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| +|Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| |Future updates through [Windows Embedded Developer Update](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\)) for Windows Embedded Standard 8 and Windows Embedded 8 Standard|We’re no longer publishing new updates to the WEDU server. Instead, we recommend that you secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| -|Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| ## Features we’re no longer developing @@ -42,8 +43,8 @@ If you have feedback about the proposed replacement of any of these features, yo |Feature |Instead you can use...| |-----------|---------------------| -|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| |Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| +|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| From 4feba72d53ca2bbe52cd7b8eac639a26dff87776 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 18:42:02 -0700 Subject: [PATCH 09/60] added additional links --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 9183b1ec5e..18be055782 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -30,8 +30,10 @@ We're removing the following features and functionalities from the installed pro |Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| |[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify a font appearance to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| +|[IIS Digest authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/digestauthentication)|Use [Windows authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/windowsauthentication/) or [client cerficate mapping authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/iisclientcertificatemappingauthentication/).| |limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| +|[RSA/AES encryption](https://docs.microsoft.com/iis/manage/configuring-security/using-encryption-to-protect-passwords#creating-a-new-rsa-encryption-provider-application) in IIS|Use [CNG encyrption](https://docs.microsoft.com/windows/desktop/SecCNG/cng-portal).| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| |Future updates through [Windows Embedded Developer Update](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\)) for Windows Embedded Standard 8 and Windows Embedded 8 Standard|We’re no longer publishing new updates to the WEDU server. Instead, we recommend that you secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| From 7f571ae5e411d8bf75184b475f0acd2adfbc3d6d Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 19:11:03 -0700 Subject: [PATCH 10/60] added 1809 article to TOC --- windows/deployment/planning/TOC.md | 1 + 1 file changed, 1 insertion(+) diff --git a/windows/deployment/planning/TOC.md b/windows/deployment/planning/TOC.md index 7c0ba92950..cf1fef543a 100644 --- a/windows/deployment/planning/TOC.md +++ b/windows/deployment/planning/TOC.md @@ -3,6 +3,7 @@ ## [Windows 10 deployment considerations](windows-10-deployment-considerations.md) ## [Windows 10 compatibility](windows-10-compatibility.md) ## [Windows 10 infrastructure requirements](windows-10-infrastructure-requirements.md) +## [Windows 10, version 1809 - Features removed or planned for replacement](windows-10-1809-removed-features.md) ## [Windows 10, version 1803 - Features removed or planned for replacement](windows-10-1803-removed-features.md) ## [Fall Creators update (version 1709) - deprecated features](windows-10-fall-creators-deprecation.md) ## [Creators update (version 1703) - deprecated features](windows-10-creators-update-deprecation.md) From dcc1924346abea80fcdbd8f0f936dda9cf6f1be2 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 19:15:41 -0700 Subject: [PATCH 11/60] updated limpet.exe item with different open source approach --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 18be055782..5987639f70 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -31,7 +31,7 @@ We're removing the following features and functionalities from the installed pro |[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify a font appearance to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| |[IIS Digest authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/digestauthentication)|Use [Windows authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/windowsauthentication/) or [client cerficate mapping authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/iisclientcertificatemappingauthentication/).| -|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source (as a nuget component).| +|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source - as a GitHub project that you can use to build a commercializable component from source and also as a pre-built test executable for quick experimentation.| |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| |[RSA/AES encryption](https://docs.microsoft.com/iis/manage/configuring-security/using-encryption-to-protect-passwords#creating-a-new-rsa-encryption-provider-application) in IIS|Use [CNG encyrption](https://docs.microsoft.com/windows/desktop/SecCNG/cng-portal).| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| From 10b42bf39e18ecd86cf4a897331643c4af258b13 Mon Sep 17 00:00:00 2001 From: Liza Poggemeyer Date: Tue, 21 Aug 2018 19:29:49 -0700 Subject: [PATCH 12/60] updated limpet.exe again but backed off some of the details, to be added later --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 5987639f70..4c96eec954 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -31,7 +31,7 @@ We're removing the following features and functionalities from the installed pro |[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify a font appearance to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| |[IIS Digest authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/digestauthentication)|Use [Windows authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/windowsauthentication/) or [client cerficate mapping authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/iisclientcertificatemappingauthentication/).| -|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source - as a GitHub project that you can use to build a commercializable component from source and also as a pre-built test executable for quick experimentation.| +|limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source.| |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| |[RSA/AES encryption](https://docs.microsoft.com/iis/manage/configuring-security/using-encryption-to-protect-passwords#creating-a-new-rsa-encryption-provider-application) in IIS|Use [CNG encyrption](https://docs.microsoft.com/windows/desktop/SecCNG/cng-portal).| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| From 3b3e3e3cf64f73bf2ea8ff76fc7d3dd02ed80052 Mon Sep 17 00:00:00 2001 From: Dawn Wood Date: Wed, 22 Aug 2018 18:10:07 +0000 Subject: [PATCH 13/60] Updated windows-10-1809-removed-features.md --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 4c96eec954..57ef262758 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -45,7 +45,7 @@ If you have feedback about the proposed replacement of any of these features, yo |Feature |Instead you can use...| |-----------|---------------------| -|Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), a different method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF APIs.| +|Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), including an inbox method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF Dynamic Lock APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| |Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| From 00f7793c6c960adaf039fc07827474059f025afc Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 22 Aug 2018 16:02:05 -0700 Subject: [PATCH 14/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 663 ++++++++++-------- 1 file changed, 359 insertions(+), 304 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 31e8059b50..05668c325b 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/21/2018 +ms.date: 08/22/2018 --- @@ -51,37 +51,40 @@ This event lists the types of objects and how many of each exist on the client d The following fields are available: +- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. +- **DatasourceDriverPackage_RS1** The total DataSourceDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DatasourceSystemBios_RS1** The total DatasourceSystemBios objects targeting Windows 10 version 1607 present on this device. +- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. +- **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. +- **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. +- **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. - **PCFP** An ID for the system, calculated by hashing hardware identifiers. -- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. -- **InventoryMediaCenter** The count of the number of this particular object type present on this device. -- **InventoryApplicationFile** The count of the number of this particular object type present on this device. +- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **SystemMemory** The count of the number of this particular object type present on this device. +- **InventoryTest** No content is currently available. +- **SystemWlan** The count of the number of this particular object type present on this device. +- **SystemWim** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of the number of this particular object type present on this device. - **SystemProcessorSse2** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. -- **DatasourceSystemBios_RS1** The total DatasourceSystemBios objects targeting Windows 10 version 1607 present on this device. -- **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. - **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. -- **SystemMemory** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. -- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **InventorySystemBios** The count of the number of this particular object type present on this device. -- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. -- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. -- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DatasourceDriverPackage_RS1** The total DataSourceDriverPackage objects targeting Windows 10 version 1607 on this device. -- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. -- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. - **InventoryLanguagePack** The count of the number of this particular object type present on this device. -- **SystemWlan** The count of the number of this particular object type present on this device. +- **InventoryMediaCenter** The count of the number of this particular object type present on this device. +- **InventoryApplicationFile** The count of the number of this particular object type present on this device. +- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. +- **InventorySystemBios** The count of the number of this particular object type present on this device. +- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. - **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. - **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. @@ -98,9 +101,6 @@ The following fields are available: - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. - **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. -- **SystemTouch** The count of SystemTouch objects present on this machine. -- **SystemWim** The count of SystemWim objects present on this machine. -- **InventoryTest** No content is currently available. ### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd @@ -1182,8 +1182,6 @@ The following fields are available: This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. -This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). - The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1293,16 +1291,16 @@ Provides information on IE and Census versions running on the device. The following fields are available: +- **AppraiserEnterpriseErrorCode** The error code of the last Appraiser enterprise run. +- **AppraiserErrorCode** The error code of the last Appraiser run. +- **AppraiserRunEndTimeStamp** The end time of the last Appraiser run. +- **AppraiserRunIsInProgressOrCrashed** Flag that indicates if the Appraiser run is in progress or has crashed. +- **AppraiserRunStartTimeStamp** The start time of the last Appraiser run. +- **AppraiserTaskEnabled** Whether the Appraiser task is enabled. +- **AppraiserTaskExitCode** The Appraiser task exist code. +- **AppraiserTaskLastRun** The last runtime for the Appraiser task. - **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** Retrieves which version of Internet Explorer is running on this device. -- **AppraiserEnterpriseErrorCode** No content is currently available. -- **AppraiserErrorCode** No content is currently available. -- **AppraiserRunEndTimeStamp** No content is currently available. -- **AppraiserRunIsInProgressOrCrashed** No content is currently available. -- **AppraiserRunStartTimeStamp** No content is currently available. -- **AppraiserTaskEnabled** No content is currently available. -- **AppraiserTaskExitCode** No content is currently available. -- **AppraiserTaskLastRun** No content is currently available. +- **IEVersion** IE version running on the device. ### Census.Battery @@ -1334,6 +1332,7 @@ This event sends data about Azure presence, type, and cloud domain use in order The following fields are available: +- **AADDeviceId** Azure Active Directory device id. - **AzureOSIDPresent** Represents the field used to identify an Azure machine. - **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. - **CDJType** Represents the type of cloud domain joined for the machine. @@ -1351,7 +1350,6 @@ The following fields are available: - **SCCMClientId** This ID correlate systems that send data to Compat Analytics (OMS) and other OMS based systems with systems in an Enterprise SCCM environment. - **ServerFeatures** Represents the features installed on a Windows   Server. This can be used by developers and administrators who need to automate the process of determining the features installed on a set of server computers. - **SystemCenterID** The SCCM ID is an anonymized one-way hash of the Active Directory Organization identifier -- **AADDeviceId** Azure Active Directory device id. ### Census.Firmware @@ -1391,6 +1389,7 @@ The following fields are available: - **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. - **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. - **D3DMaxFeatureLevel** Supported Direct3D version. +- **DeviceColor** Indicates a color of the device. - **DeviceForm** Indicates the form as per the device classification. - **DeviceName** The device name that is set by the user. - **DigitizerSupport** Is a digitizer supported? @@ -1419,7 +1418,6 @@ The following fields are available: - **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. - **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. - **VoiceSupported** Does the device have a cellular radio capable of making voice calls? -- **DeviceColor** Indicates a color of the device. ### Census.Memory @@ -1503,21 +1501,21 @@ Provides information on several important data points about Processor settings The following fields are available: +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. The complete list of values can be found in DimProcessorArchitecture. +- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. +- **ProcessorCores** Retrieves the number of cores in the processor. +- **ProcessorIdentifier** The processor identifier of a manufacturer. +- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. +- **ProcessorModel** Retrieves the name of the processor model. +- **ProcessorPhysicalCores** Number of physical cores in the processor. +- **ProcessorUpdateRevision** Retrieves the processor architecture of the installed operating system. +- **SocketCount** Number of physical CPU sockets of the machine. - **KvaShadow** Microcode info of the processor. - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. -- **PreviousUpdateRevision** Previous microcode revision. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Clock speed of the processor in MHz. -- **ProcessorCores** Number of logical cores in the processor. -- **ProcessorIdentifier** Processor Identifier of a manufacturer. -- **ProcessorManufacturer** Name of the processor manufacturer. -- **ProcessorModel** Name of the processor model. -- **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Microcode revision. - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. -- **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. +- **PreviousUpdateRevision** Previous microcode revision. ### Census.Security @@ -1924,7 +1922,7 @@ The following fields are available: - **ErrorCode** Error code of action - **FlightId** Flight being used - **RelatedCV** CV of any other related events -- **Result** Phase Setup is in +- **Result** End result of action ### DeploymentTelemetry.Deployment_SetupBoxLaunch @@ -2161,11 +2159,11 @@ Commit call. The following fields are available: +- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. -- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess @@ -2186,11 +2184,11 @@ Event to indicate that we have received an unexpected error in the DTU Coordinat The following fields are available: +- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. -- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadIgnoredFailure @@ -2249,11 +2247,11 @@ Event to indicate that we have received an unexpected error in the DTU Coordinat The following fields are available: -- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeSuccess @@ -2312,12 +2310,12 @@ Event to indicate Coordinator's progress callback has been called. The following fields are available: +- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. +- **DeployPhase** Current Deploy Phase. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. -- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. - **CV** Correlation vector. -- **DeployPhase** Current Deploy Phase. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadyGenericFailure @@ -2364,11 +2362,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -2547,11 +2545,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler D The following fields are available: +- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadSuccess @@ -2599,11 +2597,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess @@ -3118,6 +3116,7 @@ The following fields are available: - **FileSize** File size of the Office addin - **FriendlyName** Friendly name for office addin - **FullPath** Unexpanded path to the office addin +- **InventoryVersion** The version of the inventory binary generating the events. - **LoadBehavior** Uint32 that describes the load behavior - **OfficeApplication** The office application for this addin - **OfficeArchitecture** Architecture of the addin @@ -3130,7 +3129,6 @@ The following fields are available: - **Provider** Name of the provider for this addin - **AddInCLSID** CLSID key for the office addin - **LoadTime** Load time for the office addin -- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove @@ -3256,11 +3254,11 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **InventoryVersion** The version of the inventory binary generating the events. - **OC2rApps** A GUID the describes the Office Click-To-Run apps - **OC2rSkus** Comma-delimited list (CSV) of Office Click-To-Run products installed on the device. For example, Office 2016 ProPlus - **OMsiApps** Comma-delimited list (CSV) of Office MSI products installed on the device. For example, Microsoft Word - **OProductCodes** A GUID that describes the Office MSI products +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsStartSync @@ -3452,27 +3450,27 @@ OS Boot information used to evaluate the success of the upgrade process. The following fields are available: -- **BootApplicationId** No content is currently available. -- **BootAttemptCount** No content is currently available. -- **BootSequence** No content is currently available. -- **BootStatusPolicy** No content is currently available. -- **BootType** No content is currently available. -- **EventTimestamp** No content is currently available. -- **FirmwareResetReasonEmbeddedController** No content is currently available. -- **FirmwareResetReasonEmbeddedControllerAdditional** No content is currently available. -- **FirmwareResetReasonPch** No content is currently available. -- **FirmwareResetReasonPchAdditional** No content is currently available. -- **FirmwareResetReasonSupplied** No content is currently available. -- **IO** No content is currently available. See [IO](#io). -- **LastBootSucceeded** No content is currently available. -- **LastShutdownSucceeded** No content is currently available. -- **MenuPolicy** No content is currently available. -- **RecoveryEnabled** No content is currently available. -- **UserInputTime** No content is currently available. +- **BootApplicationId** This field tells us what the OS Loader Application Identifier is. +- **BootAttemptCount** This is the number of consecutive times the boot manager has attempted to boot into this operating system. +- **BootSequence** The current Boot ID. It is used to correlate events related to a particular boot session. +- **BootStatusPolicy** This field tells us the boot status policy. +- **BootType** This field tells us the type of boot (such as "Cold", "Hiber", "Resume"). +- **EventTimestamp** Seconds elapsed since an arbitrary time point. This field can be used to identify the time difference in successive boot attempts being made. +- **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. +- **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. +- **FirmwareResetReasonPch** Reason for system reset provided by firmware. +- **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. +- **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. +- **IO** Amount of disk IO in boot. See [IO](#io). +- **LastBootSucceeded** Flag indicating whether the last boot was successful. +- **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. +- **MenuPolicy** Type of advanced options menu that should be shown to the user, such as Legacy or Standard. +- **RecoveryEnabled** Tells us whether or not recovery is enabled. +- **UserInputTime** This is the amount of time the loader application spent waiting for user input. - **MaxAbove4GbFreeRange** No content is currently available. - **MaxBelow4GbFreeRange** No content is currently available. - **MeasuredLaunchPrepared** No content is currently available. -- **SecureLaunchPrepared** No content is currently available. +- **SecureLaunchPrepared** This field indicates if DRTM was prepared during boot. ### Microsoft.Windows.Kernel.Power.OSStateChange @@ -3522,10 +3520,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** Whether the current user is an administrator or not -- **isSilentElevation** Whether the current user has enabled silent elevation -- **privacyConsentState** The current state of the privacy consent experience +- **isAdmin** whether the person who is logging in is an admin - **isLaunching** Whether or not the privacy consent experience will be launched +- **isSilentElevation** whether the user has most restrictive UAC controls +- **privacyConsentState** whether the user has completed privacy experience - **userRegionCode** The current user's region setting @@ -3578,9 +3576,9 @@ Activity for run of the Transient Account Manager that determines if any user ac The following fields are available: -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. - **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). - **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours +- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. ## SIH events @@ -3618,14 +3616,14 @@ The following fields are available: - **CachedEngineVersion** The engine DLL version that is being used. - **EventInstanceID** A unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **FailedParseActions** The list of actions that were not successfully parsed. +- **ParsedActions** The list of actions that were successfully parsed. - **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) - **SihclientVersion** The client version that is being used. - **WuapiVersion** The Windows Update API version that is currently installed. - **WuaucltVersion** The Windows Update client version that is currently installed. - **WuauengVersion** The Windows Update engine version that is currently installed. - **WUDeviceID** The unique identifier controlled by the software distribution client. -- **FailedParseActions** The list of actions that were not successfully parsed. -- **ParsedActions** The list of actions that were successfully parsed. ## Software update events @@ -3638,19 +3636,38 @@ The following fields are available: - **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. - **AllowCachedResults** Indicates if the scan allowed using cached results. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ClientVersion** The version number of the software distribution client. - **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. - **DriverSyncPassPerformed** Were drivers scanned this time? +- **EventInstanceID** A globally unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. - **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. +- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. - **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. - **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). - **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). - **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. - **IPVersion** Indicates whether the download took place over IPv4 or IPv6 - **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. - **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. - **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **MSIError** The last error that was encountered during a scan for updates. +- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 - **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked - **NumberOfLoop** The number of round trips the scan required - **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan @@ -3668,34 +3685,11 @@ The following fields are available: - **ShippingMobileOperator** The mobile operator that a device shipped on. - **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). - **SyncType** Describes the type of scan the event was -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **EventInstanceID** A globally unique identifier for event instance. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 - **SystemBIOSMajorRelease** Major version of the BIOS. - **SystemBIOSMinorRelease** Minor version of the BIOS. +- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. - **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown - **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete - **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. - **BranchReadinessLevel** The servicing branch configured on the device. @@ -3711,6 +3705,10 @@ The following fields are available: - **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. - **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). - **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown ### SoftwareUpdateClientTelemetry.Commit @@ -3745,11 +3743,11 @@ The following fields are available: ### SoftwareUpdateClientTelemetry.Download -Download process event for target update on Windows Update client (see eventscenario field for specifics, e.g.: started/failed/succeeded) +Download process event for target update on Windows Update client. See EventScenario field for specifics (started/failed/succeeded). The following fields are available: -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded. +- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. - **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. - **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. - **BiosFamily** The family of the BIOS (Basic Input Output System). @@ -3758,11 +3756,11 @@ The following fields are available: - **BiosSKUNumber** The sku number of the device BIOS. - **BIOSVendor** The vendor of the BIOS. - **BiosVersion** The version of the BIOS. -- **BundleBytesDownloaded** How many bytes were downloaded for the specific content bundle. +- **BundleBytesDownloaded** Number of bytes downloaded for the specific content bundle. - **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Indicates whether this particular update bundle had previously failed to download. +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to download. - **BundleRevisionNumber** Identifies the revision number of the content bundle. -- **BytesDownloaded** How many bytes were downloaded for an individual piece of content (not the entire bundle). +- **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. - **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. - **CDNCountryCode** Two letter country abbreviation for the CDN's location. @@ -3771,6 +3769,7 @@ The following fields are available: - **CurrentMobileOperator** The mobile operator the device is currently connected to. - **DeviceModel** What is the device model. - **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. +- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. - **EventInstanceID** A globally unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. - **EventType** Possible values are Child, Bundle, or Driver. @@ -3778,7 +3777,7 @@ The following fields are available: - **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. - **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). - **FlightBuildNumber** If this download was for a flight (pre-release build), this indicates the build number of that flight. -- **FlightId** The specific id of the flight (pre-release build) the device is getting. +- **FlightId** The specific ID of the flight (pre-release build) the device is getting. - **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). - **HandlerType** Indicates what kind of content is being downloaded (app, driver, windows patch, etc.). - **HardwareId** If this download was for a driver targeted to a particular device model, this ID indicates the model of the device. @@ -3794,11 +3793,10 @@ The following fields are available: - **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. - **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. - **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. -- **RegulationReason** The reason that the update is regulated -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. - **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. - **RevisionNumber** Identifies the revision number of this specific piece of content. -- **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). +- **ServiceGuid** An ID that represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). - **Setup360Phase** If the download is for an operating system upgrade, this datapoint indicates which phase of the upgrade is underway. - **ShippingMobileOperator** The mobile operator that a device shipped on. - **StatusCode** Indicates the result of a Download event (success, cancellation, failure code HResult). @@ -3814,7 +3812,7 @@ The following fields are available: - **UsedDO** Whether the download used the delivery optimization service. - **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. +- **RegulationReason** The reason that the update is regulated ### SoftwareUpdateClientTelemetry.DownloadCheckpoint @@ -3882,43 +3880,43 @@ The following fields are available: - **BIOSVendor** The vendor of the BIOS. - **BiosVersion** The version of the BIOS. - **BundleId** Identifier associated with the specific content bundle; should not be all zeros if the bundleID was found. -- **BundleRepeatFailFlag** Has this particular update bundle previously failed to install? +- **BundleRepeatFailFlag** Indicates whether this particular update bundle previously failed to install. - **BundleRevisionNumber** Identifies the revision number of the content bundle. - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. - **ClientVersion** The version number of the software distribution client. - **CSIErrorType** The stage of CBS installation where it failed. -- **CurrentMobileOperator** Mobile operator that device is currently connected to. -- **DeviceModel** What is the device model. +- **CurrentMobileOperator** The mobile operator to which the device is currently connected. +- **DeviceModel** The device model. - **DriverPingBack** Contains information about the previous driver and system state. - **EventInstanceID** A globally unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **EventType** Possible values are Child, Bundle, or Driver. - **ExtendedErrorCode** The extended error code. -- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FeatureUpdatePause** Are feature OS updates paused on the device? +- **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode is not specific enough. +- **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. - **FlightBranch** The branch that a device is on if participating in the Windows Insider Program. - **FlightBuildNumber** If this installation was for a Windows Insider build, this is the build number of that build. - **FlightId** The specific ID of the Windows Insider build the device is getting. - **FlightRing** The ring that a device is on if participating in the Windows Insider Program. -- **HandlerType** Indicates what kind of content is being installed. Example: app, driver, Windows update +- **HandlerType** Indicates what kind of content is being installed (for example, app, driver, Windows update). - **HardwareId** If this install was for a driver targeted to a particular device model, this ID indicates the model of the device. - **HomeMobileOperator** The mobile operator that the device was originally intended to work with. - **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **IsDependentSet** Is the driver part of a larger System Hardware/Firmware update? -- **IsFinalOutcomeEvent** Does this event signal the end of the update/upgrade process? -- **IsFirmware** Is this update a firmware update? -- **IsSuccessFailurePostReboot** Did it succeed and then fail after a restart? -- **IsWUfBDualScanEnabled** Is Windows Update for Business dual scan enabled on the device? -- **IsWUfBEnabled** Is Windows Update for Business enabled on the device? -- **MergedUpdate** Was the OS update and a BSP update merged for installation? +- **IsDependentSet** Indicates whether the driver is part of a larger System Hardware/Firmware update. +- **IsFinalOutcomeEvent** Indicates whether this event signals the end of the update/upgrade process. +- **IsFirmware** Indicates whether this update is a firmware update. +- **IsSuccessFailurePostReboot** Indicates whether the update succeeded and then failed after a restart. +- **IsWUfBDualScanEnabled** Indicates whether Windows Update for Business dual scan is enabled on the device. +- **IsWUfBEnabled** Indicates whether Windows Update for Business is enabled on the device. +- **MergedUpdate** Indicates whether the OS update and a BSP update merged for installation. - **MsiAction** The stage of MSI installation where it failed. - **MsiProductCode** The unique identifier of the MSI installer. - **PackageFullName** The package name of the content being installed. - **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting being introduced. -- **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. -- **QualityUpdatePause** Are quality OS updates paused on the device? +- **ProcessName** The process name of the caller who initiated API calls, in the event that CallerApplicationName was not provided. +- **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. - **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to install. +- **RepeatFailFlag** Indicates whether this specific piece of content previously failed to install. - **RevisionNumber** The revision number of this specific piece of content. - **ServiceGuid** An ID which represents which service the software distribution client is installing content for (Windows Update, Windows Store, etc.). - **Setup360Phase** If the install is for an operating system upgrade, indicates which phase of the upgrade is underway. @@ -3928,8 +3926,8 @@ The following fields are available: - **SystemBIOSMinorRelease** Minor version of the BIOS. - **TargetGroupId** For drivers targeted to a specific device model, this ID indicates the distribution group of devices receiving that driver. - **TargetingVersion** For drivers targeted to a specific device model, this is the version number of the drivers being distributed to the device. -- **TransactionCode** The ID which represents a given MSI installation -- **UpdateId** Unique update ID +- **TransactionCode** The ID that represents a given MSI installation. +- **UpdateId** Unique update ID. - **UpdateImportance** Indicates whether a piece of content was marked as Important, Recommended, or Optional. - **UsedSystemVolume** Indicates whether the content was downloaded and then installed from the device's main system storage drive, or an alternate storage drive. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. @@ -3941,13 +3939,13 @@ This event sends data about an AppX app that has been updated from the Microsoft The following fields are available: -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable. +- **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. - **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one -- **ServiceGuid** An ID which represents which service the software distribution client is connecting to (Windows Update, Windows Store, etc.) -- **WUDeviceID** The unique device ID controlled by the software distribution client +- **NumberOfApplicableUpdates** The number of updates ultimately deemed applicable to the system after the detection process is complete. +- **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. +- **ServiceGuid** An ID that represents which service the software distribution client is connecting to (Windows Update, Windows Store, etc.). +- **WUDeviceID** The unique device ID controlled by the software distribution client. ### SoftwareUpdateClientTelemetry.UpdateMetadataIntegrity @@ -3956,29 +3954,29 @@ Ensures Windows Updates are secure and complete. Event helps to identify whether The following fields are available: -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** The secondary status code of the event. +- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. -- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. -- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce - **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. - **RevisionId** The revision ID for a specific piece of content. - **RevisionNumber** The revision number for a specific piece of content. +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) - **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob - **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". +- **StatusCode** Result code of the event (success, cancellation, failure code HResult) +- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. - **UpdateId** The update ID for a specific piece of content. +- **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. +- **ValidityWindowInDays** Validity window in effect when verifying the timestamp +- **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. +- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. ## Update events @@ -4015,6 +4013,7 @@ The following fields are available: - **PackageCountTotalCanonical** Total number of canonical packages. - **PackageCountTotalDiff** Total number of diff packages. - **PackageCountTotalExpress** Total number of express packages. +- **PackageExpressType** Type of express package. - **PackageSizeCanonical** Size of canonical packages in bytes. - **PackageSizeDiff** Size of diff packages in bytes. - **PackageSizeExpress** Size of express packages in bytes. @@ -4024,10 +4023,9 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) - **UpdateId** Unique ID for each update. -- **DownloadRequests** No content is currently available. - **ExtensionName** No content is currently available. - **InternalFailureResult** No content is currently available. -- **PackageExpressType** Type of express package. +- **DownloadRequests** No content is currently available. ### Update360Telemetry.UpdateAgentExpand @@ -4091,15 +4089,15 @@ The UpdateAgentInstall event sends data for the install phase of updating Window The following fields are available: - **ErrorCode** The error code returned for the current install phase. +- **ExtensionName** No content is currently available. - **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). +- **InternalFailureResult** No content is currently available. - **ObjectId** Correlation vector value generated from the latest USO scan. - **RelatedCV** Correlation vector value generated from the latest USO scan. - **Result** The result for the current install phase. - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **UpdateId** Unique ID for each update. -- **ExtensionName** No content is currently available. -- **InternalFailureResult** No content is currently available. ### Update360Telemetry.UpdateAgentMerge @@ -4156,7 +4154,6 @@ The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup b The following fields are available: -- **ContainsExpressPackage** Indicates whether the download package is express. - **FlightId** Unique ID for each flight. - **FreeSpace** Free space on OS partition. - **InstallCount** Number of install attempts using the same sandbox. @@ -4169,6 +4166,7 @@ The following fields are available: - **SetupMode** Mode of setup to be launched. - **UpdateId** Unique ID for each Update. - **UserSession** Indicates whether install was invoked by user actions. +- **ContainsExpressPackage** Indicates whether the download package is express. ## Update notification events @@ -4187,36 +4185,36 @@ The following fields are available: - **DetectorVersion** Most recently run detector version for the current campaign on UNP - **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user - **key1** UI interaction data -- **key10** UI interaction data -- **key11** UI interaction data -- **key12** UI interaction data -- **key13** UI interaction data -- **key14** UI interaction data -- **key15** UI interaction data -- **key16** UI interaction data -- **key17** UI interaction data -- **key18** UI interaction data -- **key19** UI interaction data -- **key2** UI interaction data +- **key2** Interaction data for the UI - **key3** UI interaction data - **key4** UI interaction data - **key5** UI interaction data -- **key6** Current package version of UNP -- **key7** UI interaction type -- **key8** UI interaction type -- **key9** UI interaction type -- **PackageVersion** UI interaction type -- **schema** UI interaction type -- **key20** UI interaction data -- **key21** UI interaction data -- **key22** UI interaction data -- **key23** UI interaction data -- **key24** UI interaction data -- **key25** UI interaction data -- **key26** UI interaction data +- **key6** UI interaction data +- **key7** UI interaction data +- **key8** UI interaction data +- **key9** UI interaction data +- **PackageVersion** UI interaction data +- **schema** UI interaction data +- **key10** Interaction data for the UI +- **key11** Interaction data for the UI +- **key12** Interaction data for the UI +- **key13** Interaction data for the UI +- **key14** Interaction data for the UI +- **key15** Interaction data for the UI +- **key16** Interaction data for the UI +- **key17** Interaction data for the UI +- **key18** Interaction data for the UI +- **key19** Interaction data for the UI +- **key20** Interaction data for the UI +- **key21** Interaction data for the UI +- **key22** Interaction data for the UI +- **key23** Interaction data for the UI +- **key24** Interaction data for the UI +- **key25** Interaction data for the UI +- **key26** Interaction data for the UI - **key27** UI interaction data - **key28** UI interaction data -- **key29** Interaction data for the UI +- **key29** UI interaction data - **key30** UI interaction data @@ -4304,6 +4302,33 @@ The following fields are available: ## Upgrade events +### FacilitatorTelemetry.DCATDownload + +Datapoint that determines whether or not machines received additional/critical supplemental content during an OS Upgrade. + +The following fields are available: + +- **DownloadSize** Download size of payload. +- **ElapsedTime** Time taken to download payload. +- **MediaFallbackUsed** Used to determine if we used Media CompDBs to figure out package requirements for upgrade +- **ResultCode** Result returned by Facilitator’s DCAT call +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU) +- **Type** Which type of package was downloaded + + +### FacilitatorTelemetry.InitializeDU + +No content is currently available. + +The following fields are available: + +- **DCATUrl** No content is currently available. +- **DownloadRequestAttributes** No content is currently available. +- **ResultCode** No content is currently available. +- **Scenario** No content is currently available. +- **Version** No content is currently available. + + ### Setup360Telemetry.Downlevel This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. @@ -4399,7 +4424,6 @@ This event sends data indicating that the device has invoked the predownload qui The following fields are available: - **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe @@ -4412,6 +4436,7 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. +- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.PreDownloadUX @@ -4465,7 +4490,6 @@ This event sends data regarding OS updates and upgrades from Windows 7, Windows The following fields are available: - **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe. @@ -4478,6 +4502,7 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** Windows Update client ID. +- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.Setup360 @@ -4495,6 +4520,22 @@ The following fields are available: - **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. +### Setup360Telemetry.Setup360DynamicUpdate + +No content is currently available. + +The following fields are available: + +- **FlightData** No content is currently available. +- **InstanceId** No content is currently available. +- **Operation** No content is currently available. +- **ReportId** No content is currently available. +- **ResultCode** No content is currently available. +- **Scenario** No content is currently available. +- **TargetBranch** No content is currently available. +- **TargetBuild** No content is currently available. + + ### Setup360Telemetry.UnexpectedEvent This event sends data indicating that the device has invoked the unexpected event phase of the upgrade, to help keep Windows up to date. @@ -4502,6 +4543,7 @@ This event sends data indicating that the device has invoked the unexpected even The following fields are available: - **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe @@ -4514,7 +4556,6 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. ## Windows as a Service diagnostic events @@ -4528,7 +4569,6 @@ The following fields are available: - **detectionSummary** Result of each applicable detection that was ran. - **featureAssessmentImpact** WaaS Assessment impact for feature updates. - **hrEngineResult** Error code from the engine operation. -- **insufficientSessions** Device not eligible for diagnostics. - **isManaged** Device is managed for updates. - **isWUConnected** Device is connected to Windows Update. - **noMoreActions** No more applicable diagnostics. @@ -4537,6 +4577,7 @@ The following fields are available: - **usingBackupFeatureAssessment** Relying on backup feature assessment. - **usingBackupQualityAssessment** Relying on backup quality assessment. - **versionString** Version of the WaaSMedic engine. +- **insufficientSessions** Device not eligible for diagnostics. - **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. - **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. @@ -4549,11 +4590,25 @@ This event provides a denominator to calculate MTTF (mean-time-to-failure) for c The following fields are available: +- **DPRange** Maximum mean value range. +- **DPValue** Randomized bit value (0 or 1) that can be reconstituted over a large population to estimate mean. - **UtcAggParams** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcAggParams](#utcaggparams). - **UtcDiffpVal** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcDiffpVal](#utcdiffpval). - **Value** Standard UTC emitted DP value structure See [Microsoft.Windows.WER.MTT.Value](#microsoftwindowswermttvalue). -- **DPRange** Maximum mean value range. + + +### Microsoft.Windows.WER.MTT.Value + +No content is currently available. + +The following fields are available: + +- **Algorithm** No content is currently available. +- **DPRange** No content is currently available. - **DPValue** No content is currently available. +- **Epsilon** No content is currently available. +- **HistType** No content is currently available. +- **PertProb** No content is currently available. ## Windows Store events @@ -4815,11 +4870,11 @@ The FulfillmentComplete event is fired at the end of an app install or update. The following fields are available: +- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. - **FailedRetry** Was the installation or update retry successful? - **HResult** The HResult code of the operation. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. -- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -4984,7 +5039,7 @@ The following fields are available: - **current** Result of currency check - **dismOperationSucceeded** Dism uninstall operation status -- **hResult** Failure Error code +- **hResult** Failure error code - **oSVersion** Build number of the machine - **paused** Machine's pause status - **rebootRequestSucceeded** Reboot CSP call success status @@ -5037,25 +5092,25 @@ The following fields are available: - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider: 0, GeoProvider: 1, GeoVerProvider: 2, CpProvider: 3, DiscoveryProvider: 4, RegistryProvider: 5, GroupPolicyProvider: 6, MdmProvider: 7, SettingsProvider: 8, InvalidProviderType: 9) - **errorCode** Error code returned - **experimentId** Used to correlate client/services calls that are part of the same test during A/B testing -- **fileID** ID of the file being downloaded +- **fileID** ID of the File being downloaded - **filePath** Path to where the downloaded file will be written - **fileSize** Total filesize of the file that was downloaded - **fileSizeCaller** Value for total file size provided by our caller - **groupID** ID for the group - **isVpn** If the machine is connected to a Virtual Private Network -- **jobID** Identifier for the Windows Update job +- **jobID** Identifier for the Windows Update Job +- **peerID** ID for this Delivery Optimization client +- **predefinedCallerName** Name of the API Caller +- **sessionID** ID for the file download session +- **setConfigs** A JSON representation of the configurations that have been set, and their sources +- **updateID** ID of the Update being downloaded +- **usedMemoryStream** If the download is using memory streaming in App downloads +- **callerName** Name of the API Caller - **minDiskSizeGB** The minimum disk size policy set for the device to allow Peering with Delivery Optimization - **minDiskSizePolicyEnforced** If there is an enforced mininum disk size requirement for peering - **minFileSizePolicy** Minimum filesize policy set for the device to allow Peering with Delivery Optimization -- **peerID** ID for this Delivery Optimization client -- **predefinedCallerName** Name of the API caller -- **sessionID** ID for the file download session -- **updateID** ID of the update being downloaded -- **usedMemoryStream** If the download is using memory streaming in App downloads -- **callerName** Name of the API Caller -- **scenarioID** ID for the Scenario -- **setConfigs** A JSON representation of the configurations that have been set, and their sources - **isEncrypted** Whether the download is encrypted +- **scenarioID** ID for the Scenario ## Windows Update events @@ -5067,82 +5122,82 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. +- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. - **relatedCV** Correlation vector value generated from the latest USO scan. - **scenarioId** Indicates the update scenario. - **sessionId** Unique value for each update session. -- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each Update. +- **updateId** Unique ID for each update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit -This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages +This event collects information regarding the final commit phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The following fields are available: -- **errorCode** The error code returned for the current session initialization -- **flightId** The unique identifier for each flight -- **objectId** The unique GUID for each diagnostics session -- **relatedCV** A correlation vector value, generated from the latest USO scan -- **result** Outcome of the initialization of the session -- **scenarioId** Identifies the Update scenario -- **sessionId** The unique value for each update session -- **updateId** The unique identifier for each Update +- **errorCode** The error code returned for the current session initialization. +- **flightId** The unique identifier for each flight. +- **objectId** The unique GUID for each diagnostics session. +- **relatedCV** A correlation vector value generated from the latest USO scan. +- **result** Outcome of the initialization of the session. +- **scenarioId** Identifies the Update scenario. +- **sessionId** The unique value for each update session. +- **updateId** The unique identifier for each Update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentDownloadRequest -This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages +This event collects information regarding the download request phase of the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The following fields are available: -- **deletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted -- **errorCode** The error code returned for the current session initialization -- **flightId** The unique identifier for each flight -- **objectId** Unique value for each Update Agent mode -- **packageCountOptional** Number of optional packages requested -- **packageCountRequired** Number of required packages requested -- **packageCountTotal** Total number of packages needed -- **packageCountTotalCanonical** Total number of canonical packages -- **packageCountTotalDiff** Total number of diff packages -- **packageCountTotalExpress** Total number of express packages -- **packageSizeCanonical** Size of canonical packages in bytes -- **packageSizeDiff** Size of diff packages in bytes +- **deletedCorruptFiles** Indicates if UpdateAgent found any corrupt payload files and whether the payload was deleted. +- **errorCode** The error code returned for the current session initialization. +- **flightId** The unique identifier for each flight. +- **objectId** Unique value for each Update Agent mode. +- **packageCountOptional** Number of optional packages requested. +- **packageCountRequired** Number of required packages requested. +- **packageCountTotal** Total number of packages needed. +- **packageCountTotalCanonical** Total number of canonical packages. +- **packageCountTotalDiff** Total number of diff packages. +- **packageCountTotalExpress** Total number of express packages. +- **packageSizeCanonical** Size of canonical packages in bytes. +- **packageSizeDiff** Size of diff packages in bytes. - **packageSizeExpress** Size of express packages in bytes -- **rangeRequestState** Represents the state of the download range request -- **relatedCV** Correlation vector value generated from the latest USO scan -- **result** Result of the download request phase of update -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionId** Unique value for each Update Agent mode attempt -- **updateId** Unique ID for each update +- **rangeRequestState** Represents the state of the download range request. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **result** Result of the download request phase of update. +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. +- **sessionId** Unique value for each Update Agent mode attempt. +- **updateId** Unique ID for each update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInitialize -This event sends data for initializing a new update session for the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages +This event sends data for initializing a new update session for the new device manifest UUP (Unified Update Platform) update scenario, which is used to install a device manifest describing a set of driver packages. The following fields are available: -- **errorCode** The error code returned for the current initialize phase -- **flightId** The unique identifier for each flight -- **flightMetadata** Contains the FlightId and the build being flighted -- **objectId** Unique value for each Update Agent mode -- **relatedCV** Correlation vector value generated from the latest USO scan -- **result** Result of the initialize phase of update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled -- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate -- **sessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios) -- **sessionId** Unique value for each Update Agent mode attempt -- **updateId** Unique ID for each update +- **errorCode** The error code returned for the current session initialization. +- **flightId** The unique identifier for each flight. +- **flightMetadata** Contains the FlightId and the build being flighted. +- **objectId** Unique value for each Update Agent mode. +- **relatedCV** Correlation vector value generated from the latest USO scan. +- **result** Result of the initialize phase of the update. 0 = Succeeded, 1 = Failed, 2 = Cancelled, 3 = Blocked, 4 = BlockCancelled. +- **scenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. +- **sessionData** Contains instructions to update agent for processing FODs and DUICs (Null for other scenarios). +- **sessionId** Unique value for each Update Agent mode attempt. +- **updateId** Unique ID for each update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentInstall @@ -5337,6 +5392,7 @@ Indicates when a reboot is scheduled by the system or a user for a security, qua The following fields are available: - **activeHoursApplicable** True, If Active Hours applicable on this device. False, otherwise +- **IsEnhancedEngagedReboot** Whether this is an Enhanced Engaged reboot - **rebootArgument** Argument for the reboot task. It also represents specific reboot related action - **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise - **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically @@ -5346,7 +5402,6 @@ The following fields are available: - **scheduledRebootTimeInUTC** Time of the scheduled reboot in Coordinated Universal Time - **updateId** ID of the update that is getting installed with this reboot - **wuDeviceid** Unique device ID used by Windows Update -- **IsEnhancedEngagedReboot** Whether this is an Enhanced Engaged reboot ### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy @@ -5421,15 +5476,15 @@ A scan for an update occurred. The following fields are available: -- **detectionBlockingPolicy** State of update action -- **detectionBlockreason** State of update action -- **eventScenario** Was it user Initiated -- **interactive** Source of the triggered scan -- **scanTriggerSource** Source of the triggered scan. -- **updateScenarioType** Device ID -- **wuDeviceid** Device ID +- **detectionBlockreason** Reason for detection not completing. - **detectionRetryMode** Error info - **errorCode** State of update action +- **eventScenario** End to end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **interactive** Identifies if session is User Initiated. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. +- **detectionBlockingPolicy** State of update action +- **scanTriggerSource** Source of the triggered scan. - **networkStatus** Error info - **deferReason** Reason for postponing detection - **flightID** Flight info @@ -5591,19 +5646,19 @@ This event sends launch data for a Windows Update install to help keep Windows u The following fields are available: - **batteryLevel** Current battery capacity in mWh or percentage left. -- **errorCode** The error code reppresented by a hexadecimal value. +- **deferReason** Reason for install not completing. - **eventScenario** End to end update session ID. -- **flightID** Unique update ID -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. - **interactive** Identifies if session is user initiated. - **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. -- **revisionNumber** Update revision number. -- **updateId** Update ID. - **updateScenarioType** The update session type. - **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. - **wuDeviceid** Unique device ID used by Windows Update. -- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. +- **flightID** Unique update ID +- **revisionNumber** Update revision number. +- **updateId** Update ID. +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. - **flightUpdate** Flight update - **installRebootinitiatetime** The time it took for a reboot to be attempted. - **minutesToCommit** The time it took to install updates. @@ -5700,8 +5755,6 @@ Indicates that Update Orchestrator has started a scan operation. The following fields are available: -- **errorCode** Error info -- **eventScenario** Indicates the purpose of sending this event - **interactive** Whether or not the scan is interactive. - **isScanPastSla** Has the SLA elapsed for scanning? - **isScanPastTriggerSla** Has the SLA elapsed for triggering a scan? @@ -5710,6 +5763,8 @@ The following fields are available: - **scanTriggerSource** What caused the scan? - **updateScenarioType** The type of scenario we are in. - **wuDeviceid** WU Device ID of the machine. +- **errorCode** Error info +- **eventScenario** Indicates the purpose of sending this event ### Microsoft.Windows.Update.Orchestrator.SystemNeeded @@ -5812,7 +5867,7 @@ The following fields are available: - **rebootState** Which state the reboot is in - **revisionNumber** Revision number of the OS - **scheduledRebootTime** Time the reboot was scheduled for. -- **scheduledRebootTimeInUTC** Time the reboot was scheduled for in UTC. +- **scheduledRebootTimeInUTC** Time the reboot was scheduled for in UTC - **updateId** UpdateId to identify which update is being scheduled. - **wuDeviceid** Unique DeviceID @@ -5841,21 +5896,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** Number of mounted images. -- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. @@ -5865,19 +5920,19 @@ This event sends data specific to the FixAppXReparsePoints mitigation used for O The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ReparsePointsFailed** Number of reparse points that are corrupted but we failed to fix them. -- **ReparsePointsFixed** Number of reparse points that were corrupted and were fixed by this mitigation. -- **ReparsePointsSkipped** Number of reparse points that are not corrupted and no action is required. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Number of reparse points that are corrupted but we failed to fix them. +- **ReparsePointsFailed** Number of reparse points that were corrupted and were fixed by this mitigation. +- **ReparsePointsFixed** Number of reparse points that are not corrupted and no action is required. +- **ReparsePointsSkipped** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. From 3410628167b43d7202873d245324695855be355c Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Thu, 23 Aug 2018 12:16:29 -0700 Subject: [PATCH 15/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 516 +++++++++--------- 1 file changed, 253 insertions(+), 263 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 05668c325b..000f17b557 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/22/2018 +ms.date: 08/23/2018 --- @@ -51,25 +51,28 @@ This event lists the types of objects and how many of each exist on the client d The following fields are available: -- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DatasourceDriverPackage_RS1** The total DataSourceDriverPackage objects targeting Windows 10 version 1607 on this device. -- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. - **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. -- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **DatasourceSystemBios_RS1** The total DatasourceSystemBios objects targeting Windows 10 version 1607 present on this device. -- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. - **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. -- **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. - **PCFP** An ID for the system, calculated by hashing hardware identifiers. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. +- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. +- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. +- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **InventorySystemBios** The count of the number of this particular object type present on this device. +- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. +- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. +- **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DatasourceDriverPackage_RS1** The total DataSourceDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DatasourceSystemBios_RS1** The total DatasourceSystemBios objects targeting Windows 10 version 1607 present on this device. +- **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **SystemMemory** The count of the number of this particular object type present on this device. - **InventoryTest** No content is currently available. +- **InventoryApplicationFile** The count of the number of this particular object type present on this device. - **SystemWlan** The count of the number of this particular object type present on this device. - **SystemWim** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of the number of this particular object type present on this device. @@ -77,14 +80,8 @@ The following fields are available: - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. - **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **SystemMemory** The count of the number of this particular object type present on this device. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. -- **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. -- **InventorySystemBios** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of SystemTouch objects present on this machine. -- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. - **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. - **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. @@ -101,6 +98,9 @@ The following fields are available: - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. - **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. ### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd @@ -156,7 +156,7 @@ The following fields are available: - **IsBootCritical** Is the device boot critical? - **SdbEntries** An array of fields indicating the SDB entries that apply to this device. - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver +- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -1389,7 +1389,6 @@ The following fields are available: - **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. - **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. - **D3DMaxFeatureLevel** Supported Direct3D version. -- **DeviceColor** Indicates a color of the device. - **DeviceForm** Indicates the form as per the device classification. - **DeviceName** The device name that is set by the user. - **DigitizerSupport** Is a digitizer supported? @@ -1418,6 +1417,7 @@ The following fields are available: - **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. - **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. - **VoiceSupported** Does the device have a cellular radio capable of making voice calls? +- **DeviceColor** Indicates a color of the device. ### Census.Memory @@ -1501,19 +1501,19 @@ Provides information on several important data points about Processor settings The following fields are available: -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. The complete list of values can be found in DimProcessorArchitecture. -- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. -- **ProcessorCores** Retrieves the number of cores in the processor. -- **ProcessorIdentifier** The processor identifier of a manufacturer. -- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. -- **ProcessorModel** Retrieves the name of the processor model. -- **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Retrieves the processor architecture of the installed operating system. -- **SocketCount** Number of physical CPU sockets of the machine. - **KvaShadow** Microcode info of the processor. - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. +- **ProcessorClockSpeed** Clock speed of the processor in MHz. +- **ProcessorCores** Number of logical cores in the processor. +- **ProcessorIdentifier** Processor Identifier of a manufacturer. +- **ProcessorManufacturer** Name of the processor manufacturer. +- **ProcessorModel** Name of the processor model. +- **ProcessorPhysicalCores** Number of physical cores in the processor. +- **ProcessorUpdateRevision** Microcode revision - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. +- **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. - **PreviousUpdateRevision** Previous microcode revision. @@ -1532,8 +1532,8 @@ The following fields are available: - **IsSawHost** Describes whether the device is running as a Secure Admin Workstation Host - **RequiredSecurityProperties** This field describes the required security properties to enable virtualization-based security - **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. -- **SModeState** The Windows S mode trail state. - **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. +- **SModeState** The Windows S mode trail state. ### Census.Speech @@ -1947,9 +1947,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup run in quiet mode or in full -- **RelatedCV** CV of any other related events -- **SetupMode** Phase Setup is in +- **Quiet** Whether Setup will run in quiet mode or in full +- **RelatedCV** Correlation vector of any other related events +- **SetupMode** Phase that Setup is in ### DeploymentTelemetry.Deployment_Start @@ -2011,13 +2011,13 @@ Fired by UTC as a heartbeat signal. The following fields are available: - **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** Last exit code of�Census task. +- **CensusExitCode** Last exit code of Census task. - **CensusStartTime** Time of last Census run. - **CensusTaskEnabled** True if Census is enabled, false otherwise. - **CompressedBytesUploaded** Number of compressed bytes uploaded. - **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. - **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to�throttling. +- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to throttling. - **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. - **DbCriticalDroppedCount** Total number of dropped critical events in event DB. - **DbDroppedCount** Number of events dropped due to DB fullness. @@ -2028,8 +2028,9 @@ The following fields are available: - **EtwDroppedBufferCount** Number of buffers dropped in the UTC ETW session. - **EtwDroppedCount** Number of events dropped at ETW layer of telemetry client. - **EventsPersistedCount** Number of events that reached the PersistEvent stage. -- **EventSubStoreResetCounter** Number of times event DB was reset. -- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. +- **EventStoreResetCounter** Number of times event DB was reset. +- **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. - **EventsUploaded** Number of events uploaded. - **Flags** Flags indicating device state such as network state, battery state, and opt-in state. - **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. @@ -2038,22 +2039,21 @@ The following fields are available: - **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. - **LastEventSizeOffender** Event name of last event which exceeded max event size. - **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** Maximum number of active agents during this�heartbeat timeframe. +- **MaxActiveAgentConnectionCount** Maximum number of active agents during this heartbeat timeframe. - **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. - **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). - **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting�OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting OneSettings service. - **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. - **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures�received from Vortex. +- **VortexFailuresTimeout** Number of time out failures received from Vortex. - **VortexHttpAttempts** Number of attempts to contact Vortex. - **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. - **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. - **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. - **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. -- **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. -- **EventStoreResetCounter** Number of times event DB was reset. -- **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventSubStoreResetCounter** Number of times event DB was reset. +- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. ### TelClientSynthetic.HeartBeat_Aria_5 @@ -2090,16 +2090,6 @@ The following fields are available: - **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. -### TelClientSynthetic.PrivacySettingsAfterCreatorsUpdate - -This event sends basic data on privacy settings before and after a feature update. This is used to ensure that customer privacy settings are correctly migrated across feature updates. - -The following fields are available: - -- **PostUpgradeSettings** The privacy settings after a feature update. See [TelClientSynthetic.PostUpgradeSettings](#telclientsyntheticpostupgradesettings). -- **PreUpgradeSettings** The privacy settings before a feature update. See [TelClientSynthetic.PreUpgradeSettings](#telclientsyntheticpreupgradesettings). - - ## Direct to update events ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicability @@ -2121,11 +2111,11 @@ Event to indicate that we have received an unexpected error in the DTU Coordinat The following fields are available: -- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupGenericFailure @@ -2310,12 +2300,12 @@ Event to indicate Coordinator's progress callback has been called. The following fields are available: -- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. -- **DeployPhase** Current Deploy Phase. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. +- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. - **CV** Correlation vector. +- **DeployPhase** Current Deploy Phase. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadyGenericFailure @@ -2480,11 +2470,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler C The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure - **CV_new** New correlation vector @@ -2545,11 +2535,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler D The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadSuccess @@ -2570,12 +2560,12 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: +- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector - **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function -- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess @@ -2597,11 +2587,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: +- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess @@ -2930,12 +2920,12 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **BusReportedDescription** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. -- **Class** A unique identifier for the driver installed. -- **ClassGuid** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). -- **COMPID** INF file name (the name could be renamed by OS, such as oemXX.inf) -- **ContainerId** The version of the inventory binary generating the events. -- **Description** The current error code for the device. +- **BusReportedDescription** The description of the device reported by the bux. +- **Class** The device setup class of the driver loaded for the device. +- **ClassGuid** The device class GUID from the driver package +- **COMPID** The device setup class guid of the driver loaded for the device. +- **ContainerId** The list of compat ids for the device. +- **Description** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. - **DeviceState** The device description. - **DriverId** DeviceState is a bitmask of the following: DEVICE_IS_CONNECTED 0x0001 (currently only for container). DEVICE_IS_NETWORK_DEVICE 0x0002 (currently only for container). DEVICE_IS_PAIRED 0x0004 (currently only for container). DEVICE_IS_ACTIVE 0x0008 (currently never set). DEVICE_IS_MACHINE 0x0010 (currently only for container). DEVICE_IS_PRESENT 0x0020 (currently always set). DEVICE_IS_HIDDEN 0x0040. DEVICE_IS_PRINTER 0x0080 (currently only for container). DEVICE_IS_WIRELESS 0x0100. DEVICE_IS_WIRELESS_FAT 0x0200. The most common values are therefore: 32 (0x20)= device is present. 96 (0x60)= device is present but hidden. 288 (0x120)= device is a wireless device that is present - **DriverName** A unique identifier for the driver installed. @@ -3116,7 +3106,6 @@ The following fields are available: - **FileSize** File size of the Office addin - **FriendlyName** Friendly name for office addin - **FullPath** Unexpanded path to the office addin -- **InventoryVersion** The version of the inventory binary generating the events. - **LoadBehavior** Uint32 that describes the load behavior - **OfficeApplication** The office application for this addin - **OfficeArchitecture** Architecture of the addin @@ -3129,6 +3118,7 @@ The following fields are available: - **Provider** Name of the provider for this addin - **AddInCLSID** CLSID key for the office addin - **LoadTime** Load time for the office addin +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove @@ -3187,7 +3177,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **InventoryVersion** The version of the inventory binary generating the events. - **OIeFeatureAddon** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_ADDON_MANAGEMENT feature lets applications hosting the WebBrowser Control to respect add-on management selections made using the Add-on Manager feature of Internet Explorer. Add-ons disabled by the user or by administrative group policy will also be disabled in applications that enable this feature. - **OIeMachineLockdown** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_LOCALMACHINE_LOCKDOWN feature is enabled, Internet Explorer applies security restrictions on content loaded from the user's local machine, which helps prevent malicious behavior involving local files. - **OIeMimeHandling** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_MIME_HANDLING feature control is enabled, Internet Explorer handles MIME types more securely. Only applies to Windows Internet Explorer 6 for Windows XP Service Pack 2 (SP2) @@ -3203,6 +3192,7 @@ The following fields are available: - **OIeWebOcPopup** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_WEBOC_POPUPMANAGEMENT feature allows applications hosting the WebBrowser Control to receive the default Internet Explorer pop-up window management behavior - **OIeWinRestrict** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_WINDOW_RESTRICTIONS feature adds several restrictions to the size and behavior of popup windows - **OIeZoneElevate** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_ZONE_ELEVATION feature prevents pages in one zone from navigating to pages in a higher security zone unless the navigation is generated by the user +- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsStartSync @@ -3254,11 +3244,11 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: +- **InventoryVersion** The version of the inventory binary generating the events. - **OC2rApps** A GUID the describes the Office Click-To-Run apps - **OC2rSkus** Comma-delimited list (CSV) of Office Click-To-Run products installed on the device. For example, Office 2016 ProPlus - **OMsiApps** Comma-delimited list (CSV) of Office MSI products installed on the device. For example, Microsoft Word - **OProductCodes** A GUID that describes the Office MSI products -- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeProductsStartSync @@ -3576,9 +3566,9 @@ Activity for run of the Transient Account Manager that determines if any user ac The following fields are available: +- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. - **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). - **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours -- **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. ## SIH events @@ -3589,22 +3579,22 @@ This event is sent when targeting logic is evaluated to determine if a device is The following fields are available: +- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. +- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. - **CachedEngineVersion** The engine DLL version that is being used. - **EventInstanceID** A unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event – whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. - **IsExecutingAction** If the action is presently being executed. - **ServiceGuid** A unique identifier that represents which service the software distribution client is connecting to (SIH, Windows Update, Windows Store, etc.) - **SihclientVersion** The client version that is being used. +- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. - **StatusCode** Result code of the event (success, cancellation, failure code HResult). - **UpdateID** A unique identifier for the action being acted upon. - **WuapiVersion** The Windows Update API version that is currently installed. - **WuaucltVersion** The Windows Update client version that is currently installed. - **WuauengVersion** The Windows Update engine version that is currently installed. - **WUDeviceID** The unique identifier controlled by the software distribution client. -- **ActionReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **AdditionalReasons** If an action has been assessed as inapplicable, the additional logic prevented it. -- **HandlerReasons** If an action has been assessed as inapplicable, the installer technology-specific logic prevented it. -- **StandardReasons** If an action has been assessed as inapplicable, the standard logic the prevented it. ### SIHEngineTelemetry.SLSActionData @@ -3636,38 +3626,19 @@ The following fields are available: - **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. - **AllowCachedResults** Indicates if the scan allowed using cached results. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. - **CurrentMobileOperator** The mobile operator the device is currently connected to. -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. - **DriverSyncPassPerformed** Were drivers scanned this time? -- **EventInstanceID** A globally unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. - **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. - **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. - **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). - **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). - **HomeMobileOperator** The mobile operator that the device was originally intended to work with. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. - **IPVersion** Indicates whether the download took place over IPv4 or IPv6 - **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. - **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. - **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 - **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked - **NumberOfLoop** The number of round trips the scan required - **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan @@ -3685,13 +3656,34 @@ The following fields are available: - **ShippingMobileOperator** The mobile operator that a device shipped on. - **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). - **SyncType** Describes the type of scan the event was -- **SystemBIOSMajorRelease** Major version of the BIOS. -- **SystemBIOSMinorRelease** Minor version of the BIOS. - **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ClientVersion** The version number of the software distribution client. +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **EventInstanceID** A globally unique identifier for event instance. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. +- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. +- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. +- **MSIError** The last error that was encountered during a scan for updates. +- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 +- **SystemBIOSMajorRelease** Major version of the BIOS. +- **SystemBIOSMinorRelease** Minor version of the BIOS. - **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable - **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete - **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. +- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. - **BranchReadinessLevel** The servicing branch configured on the device. - **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). - **DeferredUpdates** Update IDs which are currently being deferred until a later time @@ -3705,10 +3697,8 @@ The following fields are available: - **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. - **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). - **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. -- **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. - **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. ### SoftwareUpdateClientTelemetry.Commit @@ -3769,7 +3759,6 @@ The following fields are available: - **CurrentMobileOperator** The mobile operator the device is currently connected to. - **DeviceModel** What is the device model. - **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. -- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. - **EventInstanceID** A globally unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. - **EventType** Possible values are Child, Bundle, or Driver. @@ -3793,6 +3782,7 @@ The following fields are available: - **PhonePreviewEnabled** Indicates whether a phone was opted-in to getting preview builds, prior to flighting (pre-release builds) being introduced. - **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. - **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **RegulationReason** The reason that the update is regulated - **RelatedCV** The previous Correlation Vector that was used before swapping with a new one. - **RepeatFailFlag** Indicates whether this specific piece of content had previously failed to download. - **RevisionNumber** Identifies the revision number of this specific piece of content. @@ -3812,7 +3802,7 @@ The following fields are available: - **UsedDO** Whether the download used the delivery optimization service. - **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **RegulationReason** The reason that the update is regulated +- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. ### SoftwareUpdateClientTelemetry.DownloadCheckpoint @@ -3954,29 +3944,29 @@ Ensures Windows Updates are secure and complete. Event helps to identify whether The following fields are available: -- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. -- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. -- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob -- **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". -- **StatusCode** Result code of the event (success, cancellation, failure code HResult) -- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. -- **UpdateId** The update ID for a specific piece of content. - **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **ExtendedStatusCode** The secondary status code of the event. +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store +- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** The status code of the event. - **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. - **ValidityWindowInDays** Validity window in effect when verifying the timestamp +- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. +- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **RevisionId** The revision ID for a specific piece of content. +- **RevisionNumber** The revision number for a specific piece of content. +- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **UpdateId** The update ID for a specific piece of content. ## Update events @@ -4154,6 +4144,7 @@ The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup b The following fields are available: +- **ContainsExpressPackage** Indicates whether the download package is express. - **FlightId** Unique ID for each flight. - **FreeSpace** Free space on OS partition. - **InstallCount** Number of install attempts using the same sandbox. @@ -4166,7 +4157,6 @@ The following fields are available: - **SetupMode** Mode of setup to be launched. - **UpdateId** Unique ID for each Update. - **UserSession** Indicates whether install was invoked by user actions. -- **ContainsExpressPackage** Indicates whether the download package is express. ## Update notification events @@ -4185,37 +4175,37 @@ The following fields are available: - **DetectorVersion** Most recently run detector version for the current campaign on UNP - **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user - **key1** UI interaction data -- **key2** Interaction data for the UI +- **key10** UI interaction data +- **key11** UI interaction data +- **key12** UI interaction data +- **key13** UI interaction data +- **key14** UI interaction data +- **key15** UI interaction data +- **key16** UI interaction data +- **key17** UI interaction data +- **key18** UI interaction data +- **key19** UI interaction data +- **key2** UI interaction data +- **key20** UI interaction data +- **key21** Interaction data for the UI +- **key22** UI interaction data +- **key23** UI interaction data +- **key24** UI interaction data +- **key25** UI interaction data +- **key26** UI interaction data +- **key27** UI interaction data +- **key28** UI interaction data +- **key29** UI interaction data - **key3** UI interaction data +- **key30** UI interaction data - **key4** UI interaction data - **key5** UI interaction data - **key6** UI interaction data - **key7** UI interaction data - **key8** UI interaction data - **key9** UI interaction data -- **PackageVersion** UI interaction data -- **schema** UI interaction data -- **key10** Interaction data for the UI -- **key11** Interaction data for the UI -- **key12** Interaction data for the UI -- **key13** Interaction data for the UI -- **key14** Interaction data for the UI -- **key15** Interaction data for the UI -- **key16** Interaction data for the UI -- **key17** Interaction data for the UI -- **key18** Interaction data for the UI -- **key19** Interaction data for the UI -- **key20** Interaction data for the UI -- **key21** Interaction data for the UI -- **key22** Interaction data for the UI -- **key23** Interaction data for the UI -- **key24** Interaction data for the UI -- **key25** Interaction data for the UI -- **key26** Interaction data for the UI -- **key27** UI interaction data -- **key28** UI interaction data -- **key29** UI interaction data -- **key30** UI interaction data +- **PackageVersion** Current package version of UNP +- **schema** UI interaction type ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat @@ -4336,6 +4326,7 @@ This event sends data indicating that the device has invoked the downlevel phase The following fields are available: - **ClientId** If using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but it can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the downlevel OS. - **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe. @@ -4348,7 +4339,6 @@ The following fields are available: - **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string that uniquely identifies a group of events. - **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.Finalize @@ -4358,6 +4348,7 @@ This event sends data indicating that the device has invoked the finalize phase The following fields are available: - **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe @@ -4370,7 +4361,6 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.OsUninstall @@ -4424,6 +4414,7 @@ This event sends data indicating that the device has invoked the predownload qui The following fields are available: - **ClientId** Using Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe @@ -4436,7 +4427,6 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.PreDownloadUX @@ -4576,10 +4566,10 @@ The following fields are available: - **remediationSummary** Result of each applicable resolution that was ran. - **usingBackupFeatureAssessment** Relying on backup feature assessment. - **usingBackupQualityAssessment** Relying on backup quality assessment. -- **versionString** Version of the WaaSMedic engine. -- **insufficientSessions** Device not eligible for diagnostics. - **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. - **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. +- **versionString** Version of the WaaSMedic engine. +- **insufficientSessions** Device not eligible for diagnostics. ## Windows Error Reporting MTT events @@ -4592,9 +4582,9 @@ The following fields are available: - **DPRange** Maximum mean value range. - **DPValue** Randomized bit value (0 or 1) that can be reconstituted over a large population to estimate mean. +- **Value** Standard UTC emitted DP value structure See [Microsoft.Windows.WER.MTT.Value](#microsoftwindowswermttvalue). - **UtcAggParams** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcAggParams](#utcaggparams). - **UtcDiffpVal** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcDiffpVal](#utcdiffpval). -- **Value** Standard UTC emitted DP value structure See [Microsoft.Windows.WER.MTT.Value](#microsoftwindowswermttvalue). ### Microsoft.Windows.WER.MTT.Value @@ -4883,9 +4873,9 @@ The FulfillmentInitiate event is fired at the start of an app install or update. The following fields are available: -- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. +- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. ### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest @@ -5039,7 +5029,7 @@ The following fields are available: - **current** Result of currency check - **dismOperationSucceeded** Dism uninstall operation status -- **hResult** Failure error code +- **hResult** Failure Error code - **oSVersion** Build number of the machine - **paused** Machine's pause status - **rebootRequestSucceeded** Reboot CSP call success status @@ -5092,25 +5082,25 @@ The following fields are available: - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider: 0, GeoProvider: 1, GeoVerProvider: 2, CpProvider: 3, DiscoveryProvider: 4, RegistryProvider: 5, GroupPolicyProvider: 6, MdmProvider: 7, SettingsProvider: 8, InvalidProviderType: 9) - **errorCode** Error code returned - **experimentId** Used to correlate client/services calls that are part of the same test during A/B testing -- **fileID** ID of the File being downloaded +- **fileID** ID of the file being downloaded - **filePath** Path to where the downloaded file will be written - **fileSize** Total filesize of the file that was downloaded - **fileSizeCaller** Value for total file size provided by our caller - **groupID** ID for the group - **isVpn** If the machine is connected to a Virtual Private Network -- **jobID** Identifier for the Windows Update Job -- **peerID** ID for this Delivery Optimization client -- **predefinedCallerName** Name of the API Caller -- **sessionID** ID for the file download session -- **setConfigs** A JSON representation of the configurations that have been set, and their sources -- **updateID** ID of the Update being downloaded -- **usedMemoryStream** If the download is using memory streaming in App downloads -- **callerName** Name of the API Caller +- **jobID** Identifier for the Windows Update job - **minDiskSizeGB** The minimum disk size policy set for the device to allow Peering with Delivery Optimization - **minDiskSizePolicyEnforced** If there is an enforced mininum disk size requirement for peering - **minFileSizePolicy** Minimum filesize policy set for the device to allow Peering with Delivery Optimization -- **isEncrypted** Whether the download is encrypted +- **peerID** ID for this Delivery Optimization client +- **predefinedCallerName** Name of the API caller +- **sessionID** ID for the file download session +- **updateID** ID of the update being downloaded +- **usedMemoryStream** If the download is using memory streaming in App downloads +- **callerName** Name of the API Caller - **scenarioID** ID for the Scenario +- **isEncrypted** Whether the download is encrypted +- **setConfigs** A JSON representation of the configurations that have been set, and their sources ## Windows Update events @@ -5122,21 +5112,21 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. +- **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. - **relatedCV** Correlation vector value generated from the latest USO scan. - **scenarioId** Indicates the update scenario. - **sessionId** Unique value for each update session. -- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each update. +- **updateId** Unique ID for each Update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -5239,7 +5229,6 @@ The following fields are available: - **AcceptAutoModeLimit** Maximum number of days for a device to automatically enter Auto Reboot mode - **AutoToAutoFailedLimit** Maximum number of days for Auto Reboot mode to fail before RebootFailed dialog will be shown -- **DaysSinceRebootRequired** Number of days since reboot was required. - **DeviceLocalTime** Time of dialog shown on local device - **EngagedModeLimit** Number of days to switch between DTE dialogs - **EnterAutoModeLimit** Maximum number of days for a device to enter Auto Reboot mode @@ -5255,6 +5244,7 @@ The following fields are available: - **UpdateId** The ID of the update that is pending reboot to finish installation - **UpdateRevision** The revision of the update that is pending reboot to finish installation - **UtcTime** The Coordinated Universal Time when the dialog notification will be displayed. +- **DaysSinceRebootRequired** Number of days since reboot was required. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog @@ -5327,7 +5317,7 @@ Enhanced Engaged reboot reboot failed dialog was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device +- **DeviceLocalTime** Dialog exit code - user response - **ETag** OneSettings versioning value - **ExitCode** Indicates how users exited the dialog - **RebootVersion** Version of DTE @@ -5421,11 +5411,11 @@ Update activity blocked due to active hours being currently active. The following fields are available: -- **blockReason** The current state of the update process -- **updatePhase** The current state of the update process -- **wuDeviceid** Device ID - **activeHoursEnd** The end of the active hours window - **activeHoursStart** The start of the active hours window +- **updatePhase** Device ID +- **wuDeviceid** Device ID +- **blockReason** The current state of the update process ### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel @@ -5460,7 +5450,7 @@ The following fields are available: - **eventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc - **filteredDeferReason** The raised reason that the USO did not restart (e.g. user active, low battery) that were ignorable - **raisedDeferReason** The reason that the USO did not restart (e.g. user active, low battery) -- **wuDeviceid** Windows Update Device GUID +- **wuDeviceid** Device ID - **displayNeededReason** Semicolon-separated list of reasons reported for display needed - **gameModeReason** Name of the executable that caused the game mode state check to trigger. - **ignoredReason** Semicolon-separated list of reasons that were intentionally ignored. @@ -5477,19 +5467,19 @@ A scan for an update occurred. The following fields are available: - **detectionBlockreason** Reason for detection not completing. -- **detectionRetryMode** Error info -- **errorCode** State of update action - **eventScenario** End to end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **interactive** Identifies if session is User Initiated. +- **scanTriggerSource** Source of the triggered scan. - **updateScenarioType** The update session type. - **wuDeviceid** Unique device ID used by Windows Update. - **detectionBlockingPolicy** State of update action -- **scanTriggerSource** Source of the triggered scan. -- **networkStatus** Error info - **deferReason** Reason for postponing detection - **flightID** Flight info - **revisionNumber** Update version - **updateId** Update ID - GUID +- **detectionRetryMode** If we retry to scan +- **errorCode** The returned error code. +- **networkStatus** Error info ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5646,39 +5636,39 @@ This event sends launch data for a Windows Update install to help keep Windows u The following fields are available: - **batteryLevel** Current battery capacity in mWh or percentage left. -- **deferReason** Reason for install not completing. - **eventScenario** End to end update session ID. +- **flightID** Unique update ID +- **flightUpdate** Flight update +- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **installRebootinitiatetime** The time it took for a reboot to be attempted. - **interactive** Identifies if session is user initiated. +- **minutesToCommit** The time it took to install updates. - **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **revisionNumber** Update revision number. +- **updateId** Update ID. - **updateScenarioType** The update session type. - **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. - **wuDeviceid** Unique device ID used by Windows Update. +- **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. -- **flightID** Unique update ID -- **revisionNumber** Update revision number. -- **updateId** Update ID. -- **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. -- **flightUpdate** Flight update -- **installRebootinitiatetime** The time it took for a reboot to be attempted. -- **minutesToCommit** The time it took to install updates. ### Microsoft.Windows.Update.Orchestrator.PostInstall -Event sent after Update install completes. +Event sent after Windows update install completes. The following fields are available: -- **batteryLevel** Battery level percentage -- **bundleId** Update ID - GUID -- **bundleRevisionnumber** Update ID revision number -- **errorCode** Error value -- **eventScenario** State of update action -- **sessionType** Update session type -- **wuDeviceid** Windows Update device GUID +- **batteryLevel** Current battery capacity in mWh or percentage left. +- **bundleId** Identifier associated with the specific content bundle. +- **bundleRevisionnumber** Identifies the revision number of the content bundle. +- **errorCode** Hex code for the error message, to allow lookup of the specific error. +- **eventScenario** End to end update session ID. - **flightID** The flight ID of the device +- **sessionType** Interactive vs. Background. - **updateScenarioType** The scenario type of this update +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.PowerMenuOptionsChanged @@ -5687,42 +5677,42 @@ This event is sent when the options in power menu changed, usually due to an upd The following fields are available: -- **powermenuNewOptions** The new options after the power menu changed -- **powermenuOldOptions** The old options before the power menu changed -- **rebootPendingMinutes** If the power menu changed because a reboot is pending due to a update, how long that reboot has been pending -- **wuDeviceid** If the power menu changed because a reboot is pending due to a update, the device ID recorded by WU +- **powermenuNewOptions** The new options after the power menu changed. +- **powermenuOldOptions** The old options before the power menu changed. +- **rebootPendingMinutes** If the power menu changed because a reboot is pending due to a update, this indicates how long that reboot has been pending. +- **wuDeviceid** The device ID recorded by Windows Update if the power menu changed because a reboot is pending due to an update. ### Microsoft.Windows.Update.Orchestrator.PreShutdownStart -This event is generated right before the shutdown and commit operations +This event is generated before the shutdown and commit operations. The following fields are available: -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. ### Microsoft.Windows.Update.Orchestrator.Progress -Event sent when the download of a update reaches a milestone change, such as network cost policy changed, a internal phase has completed, or a transient state has changed. +Event sent when the download of a update reaches a milestone change, such as a change in network cost policy, completion of an internal phase, or change in a transient state. The following fields are available: -- **errorCode** Error info -- **flightID** Flight info -- **interactive** Is USO session interactive or non-interactive? -- **networkCostPolicy** The current network cost policy on device -- **revisionNumber** Update ID revision number -- **updateId** Update ID - GUID -- **updateScenarioType** Update Session type -- **updateState** Subphase of the download -- **UpdateStatus** Subphase of the update -- **wuDeviceid** Device ID +- **errorCode** Error code returned. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Identifies whether the session is user initiated. +- **networkCostPolicy** The current network cost policy on device. +- **revisionNumber** Update ID revision number. +- **updateId** Unique ID for each update. +- **updateScenarioType** Update Session type. +- **updateState** Subphase of the download. +- **UpdateStatus** Subphase of the update. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.RebootFailed -This event sends information about whether an update required a reboot and reasons for failure to help keep Windows up to date. +This event sends information about whether an update required a reboot and reasons for failure, to help keep Windows up to date. The following fields are available: @@ -5730,7 +5720,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **EventPublishedTime** The time that the reboot failure occurred. - **flightID** Unique update ID. -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **rebootOutsideOfActiveHours** Indicates whether a reboot was scheduled outside of active hours. - **RebootResults** Hex code indicating failure reason. Typically, we expect this to be a specific USO generated hex code. - **revisionNumber** Update revision number. - **updateId** Update ID. @@ -5746,7 +5736,7 @@ This event sends data indicating that a reboot task is missing unexpectedly on a The following fields are available: - **RebootTaskRestoredTime** Time at which this reboot task was restored. -- **wuDeviceid** Device id on which the reboot is restored +- **wuDeviceid** Device ID for the device on which the reboot is restored. ### Microsoft.Windows.Update.Orchestrator.ScanTriggered @@ -5755,16 +5745,16 @@ Indicates that Update Orchestrator has started a scan operation. The following fields are available: -- **interactive** Whether or not the scan is interactive. -- **isScanPastSla** Has the SLA elapsed for scanning? -- **isScanPastTriggerSla** Has the SLA elapsed for triggering a scan? -- **minutesOverScanSla** How many minutes over the scan SLA is the scan? -- **minutesOverScanTriggerSla** How many minutes over the scan trigger SLA is the scan? -- **scanTriggerSource** What caused the scan? -- **updateScenarioType** The type of scenario we are in. -- **wuDeviceid** WU Device ID of the machine. -- **errorCode** Error info -- **eventScenario** Indicates the purpose of sending this event +- **errorCode** The error code returned for the current scan operation. +- **eventScenario** Indicates the purpose of sending this event. +- **interactive** Indicates whether the scan is interactive. +- **isScanPastSla** Indicates whether the SLA has elapsed for scanning. +- **isScanPastTriggerSla** Indicates whether the SLA has elapsed for triggering a scan. +- **minutesOverScanSla** Indicates how many minutes the scan exceeded the scan SLA. +- **minutesOverScanTriggerSla** Indicates how many minutes the scan exceeded the scan trigger SLA. +- **scanTriggerSource** Indicates what caused the scan. +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.SystemNeeded @@ -5773,10 +5763,10 @@ This event sends data about why a device is unable to reboot, to help keep Windo The following fields are available: -- **eventScenario** End to end update session ID. -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **eventScenario** End-to-end update session ID. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. - **revisionNumber** Update revision number. -- **systemNeededReason** Reason ID +- **systemNeededReason** List of apps or tasks that are preventing the system from restarting. - **updateId** Update ID. - **updateScenarioType** The update session type. - **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. @@ -5813,10 +5803,10 @@ This event sends data on whether Update Management Policies were enabled on a de The following fields are available: -- **configuredPoliciescount** Policy Count -- **policiesNamevaluesource** Policy Name -- **policyCacherefreshtime** Refresh time -- **updateInstalluxsetting** This shows whether a user has set policies via UX option +- **configuredPoliciescount** Number of policies on the device. +- **policiesNamevaluesource** Policy name and source of policy (group policy, MDM or flight). +- **policyCacherefreshtime** Time when policy cache was refreshed. +- **updateInstalluxsetting** Indicates whether a user has set policies via a user experience option. - **wuDeviceid** Unique device ID used by Windows Update. @@ -5826,8 +5816,8 @@ This event sends data about whether an update required a reboot to help keep Win The following fields are available: -- **flightID** Unique update ID. -- **interactive** Indicates the reboot initiation stage of the update process was entered as a result of user action or not. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. - **revisionNumber** Update revision number. - **updateId** Update ID. - **updateScenarioType** The update session type. @@ -5855,21 +5845,21 @@ The following fields are available: ### Microsoft.Windows.Update.Ux.MusNotification.RebootScheduled -The RebootScheduled event sends basic information for scheduling a update related reboot to facilitate the flow of getting security updates and keeping Windows up to date. +This event sends basic information about scheduling an update-related reboot, to get security updates and to help keep Windows up-to-date. The following fields are available: -- **activeHoursApplicable** Whether Active Hours applies. -- **IsEnhancedEngagedReboot** If Enhanced reboot was enabled. -- **rebootArgument** The reboot arguments -- **rebootOutsideOfActiveHours** If reboot was outside of Active Hours -- **rebootScheduledByUser** If the reboot was scheduled by the user, or the system. -- **rebootState** Which state the reboot is in -- **revisionNumber** Revision number of the OS -- **scheduledRebootTime** Time the reboot was scheduled for. -- **scheduledRebootTimeInUTC** Time the reboot was scheduled for in UTC -- **updateId** UpdateId to identify which update is being scheduled. +- **activeHoursApplicable** Indicates whether Active Hours applies on this device. +- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. +- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. +- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. +- **rebootState** Current state of the reboot. +- **revisionNumber** Revision number of the OS. +- **scheduledRebootTime** Time scheduled for the reboot. +- **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. +- **updateId** Identifies which update is being scheduled. - **wuDeviceid** Unique DeviceID +- **IsEnhancedEngagedReboot** Indicates whether Enhanced reboot was enabled. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5896,21 +5886,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Number of mounted images. -- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. -- **RelatedCV** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. From 74c8773f127c7b53437e9d371c7dd590ae048a4c Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 24 Aug 2018 09:55:25 -0700 Subject: [PATCH 16/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 832 +++++++++--------- 1 file changed, 414 insertions(+), 418 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 000f17b557..7475140c62 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/23/2018 +ms.date: 08/24/2018 --- @@ -51,56 +51,56 @@ This event lists the types of objects and how many of each exist on the client d The following fields are available: -- **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. -- **PCFP** An ID for the system, calculated by hashing hardware identifiers. -- **InventoryLanguagePack** The count of the number of this particular object type present on this device. -- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. -- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. -- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. -- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. -- **InventorySystemBios** The count of the number of this particular object type present on this device. -- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. -- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. -- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. - **DatasourceApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. +- **DatasourceDevicePnp_RS1** The total DataSourceDevicePnp objects targeting Windows 10 version 1607 on this device. +- **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. - **DatasourceDriverPackage_RS1** The total DataSourceDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoBlock_RS1** The total DataSourceMatchingInfoBlock objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoPassive_RS1** The total DataSourceMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. +- **DataSourceMatchingInfoPostUpgrade_RS1** The total DataSourceMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DataSourceMatchingInfoPostUpgrade_RS3** The total DataSourceMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. - **DatasourceSystemBios_RS1** The total DatasourceSystemBios objects targeting Windows 10 version 1607 present on this device. +- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. +- **DecisionApplicationFile_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **DecisionApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. +- **DecisionDevicePnp_RS1** The total DecisionDevicePnp objects targeting Windows 10 version 1607 on this device. +- **DecisionDevicePnp_RS3** The total DecisionDevicePnp objects targeting the next release of Windows on this device. - **DecisionDriverPackage_RS1** The total DecisionDriverPackage objects targeting Windows 10 version 1607 on this device. +- **DecisionDriverPackage_RS3** The total DecisionDriverPackage objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoBlock_RS1** The total DecisionMatchingInfoBlock objects targeting Windows 10 version 1607 present on this device. +- **DecisionMatchingInfoBlock_RS3** The total DecisionMatchingInfoBlock objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoPassive_RS1** The total DecisionMatchingInfoPassive objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. +- **DecisionMatchingInfoPostUpgrade_RS1** The total DecisionMatchingInfoPostUpgrade objects targeting Windows 10 version 1607 on this device. +- **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. +- **DecisionMediaCenter_RS1** The total DecisionMediaCenter objects targeting Windows 10 version 1607 present on this device. +- **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. - **DecisionSystemBios_RS1** The total DecisionSystemBios objects targeting Windows 10 version 1607 on this device. -- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. -- **InventoryTest** No content is currently available. +- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. +- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **SystemWlan** The count of the number of this particular object type present on this device. -- **SystemWim** The count of the number of this particular object type present on this device. -- **SystemProcessorNx** The count of the number of this particular object type present on this device. -- **SystemProcessorSse2** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryMediaCenter** The count of the number of this particular object type present on this device. +- **InventorySystemBios** The count of the number of this particular object type present on this device. +- **InventoryTest** The count of the number of this particular object type present on this device. +- **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. +- **PCFP** An ID for the system, calculated by hashing hardware identifiers. +- **SystemMemory** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. +- **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. - **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. -- **SystemMemory** The count of the number of this particular object type present on this device. -- **InventoryMediaCenter** The count of the number of this particular object type present on this device. -- **DatasourceApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. -- **DatasourceDevicePnp_RS3** The total DatasourceDevicePnp objects targeting the next release of Windows on this device. -- **DatasourceDriverPackage_RS3** The total DatasourceDriverPackage objects targeting the next release of Windows on this device. -- **DataSourceMatchingInfoBlock_RS3** The total DataSourceMatchingInfoBlock objects targeting the next release of Windows on this device. -- **DataSourceMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. -- **DataSourceMatchingInfoPostUpgrade_RS3** The total DataSourceMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. -- **DecisionApplicationFile_RS3** The total DecisionApplicationFile objects targeting the next release of Windows on this device. -- **DecisionDevicePnp_RS3** The total DecisionDevicePnp objects targeting the next release of Windows on this device. -- **DecisionDriverPackage_RS3** The total DecisionDriverPackage objects targeting the next release of Windows on this device. -- **DecisionMatchingInfoBlock_RS3** The total DecisionMatchingInfoBlock objects targeting the next release of Windows on this device. -- **DecisionMatchingInfoPassive_RS3** The total DataSourceMatchingInfoPassive objects targeting the next release of Windows on this device. -- **DecisionMatchingInfoPostUpgrade_RS3** The total DecisionMatchingInfoPostUpgrade objects targeting the next release of Windows on this device. -- **DecisionMediaCenter_RS3** The total DecisionMediaCenter objects targeting the next release of Windows on this device. -- **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. -- **DatasourceSystemBios_RS3** The total DatasourceSystemBios objects targeting the next release of Windows on this device. -- **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. -- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemProcessorSse2** The count of the number of this particular object type present on this device. +- **SystemTouch** The count of the number of this particular object type present on this device. +- **SystemWim** The count of SystemWim objects present on this machine. - **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **SystemWlan** The count of SystemWlan objects present on this machine. +- **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. +- **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. ### Microsoft.Windows.Appraiser.General.DatasourceApplicationFileAdd @@ -156,7 +156,7 @@ The following fields are available: - **IsBootCritical** Is the device boot critical? - **SdbEntries** An array of fields indicating the SDB entries that apply to this device. - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver +- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -1389,6 +1389,7 @@ The following fields are available: - **ChassisType** Represents the type of device chassis, such as desktop or low profile desktop. The possible values can range between 1 - 36. - **ComputerHardwareID** Identifies a device class that is represented by a hash of different SMBIOS fields. - **D3DMaxFeatureLevel** Supported Direct3D version. +- **DeviceColor** Indicates a color of the device. - **DeviceForm** Indicates the form as per the device classification. - **DeviceName** The device name that is set by the user. - **DigitizerSupport** Is a digitizer supported? @@ -1417,7 +1418,6 @@ The following fields are available: - **TelemetrySettingAuthority** Determines who set the telemetry level, such as GP, MDM, or the user. - **TPMVersion** The supported Trusted Platform Module (TPM) on the device. If no TPM is present, the value is 0. - **VoiceSupported** Does the device have a cellular radio capable of making voice calls? -- **DeviceColor** Indicates a color of the device. ### Census.Memory @@ -1504,6 +1504,7 @@ The following fields are available: - **KvaShadow** Microcode info of the processor. - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. +- **PreviousUpdateRevision** Previous microcode revision. - **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. - **ProcessorClockSpeed** Clock speed of the processor in MHz. - **ProcessorCores** Number of logical cores in the processor. @@ -1515,7 +1516,6 @@ The following fields are available: - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. - **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. -- **PreviousUpdateRevision** Previous microcode revision. ### Census.Security @@ -1532,8 +1532,8 @@ The following fields are available: - **IsSawHost** Describes whether the device is running as a Secure Admin Workstation Host - **RequiredSecurityProperties** This field describes the required security properties to enable virtualization-based security - **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. -- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. - **SModeState** The Windows S mode trail state. +- **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. ### Census.Speech @@ -1933,7 +1933,7 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full +- **Quiet** Whether Setup run in quiet mode or in full - **RelatedCV** CV of any other related events - **SetupMode** Phase Setup is in @@ -2031,6 +2031,8 @@ The following fields are available: - **EventStoreLifetimeResetCounter** Number of times event DB was reset for the lifetime of UTC. - **EventStoreResetCounter** Number of times event DB was reset. - **EventStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventSubStoreResetCounter** Number of times event DB was reset. +- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. - **EventsUploaded** Number of events uploaded. - **Flags** Flags indicating device state such as network state, battery state, and opt-in state. - **FullTriggerBufferDroppedCount** Number of events dropped due to trigger buffer being full. @@ -2052,8 +2054,6 @@ The following fields are available: - **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. - **VortexHttpResponseFailures** Number of Vortex responses that are not 2XX or 400. - **VortexHttpResponsesWithDroppedEvents** Number of Vortex responses containing at least 1 dropped event. -- **EventSubStoreResetCounter** Number of times event DB was reset. -- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. ### TelClientSynthetic.HeartBeat_Aria_5 @@ -2149,11 +2149,11 @@ Commit call. The following fields are available: -- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess @@ -2174,11 +2174,11 @@ Event to indicate that we have received an unexpected error in the DTU Coordinat The following fields are available: -- **hResult** HRESULT of the failure. - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. - **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadIgnoredFailure @@ -2352,11 +2352,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -2394,8 +2394,8 @@ The following fields are available: - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure - **CV_new** New correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalGenericFailure @@ -2474,8 +2474,8 @@ The following fields are available: - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector -- **hResult** HRESULT of the failure - **CV_new** New correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess @@ -2560,12 +2560,12 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector - **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess @@ -2587,11 +2587,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler I The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess @@ -2612,11 +2612,11 @@ Event to indicate that we have received an unexpected error in the DTU Handler S The following fields are available: -- **hResult** HRESULT of the failure - **CampaignID** Campaign ID being run - **ClientID** Client ID being run - **CoordinatorVersion** Coordinator version of DTU - **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadySuccess @@ -2688,10 +2688,15 @@ This event captures basic checksum data about the device inventory items stored The following fields are available: -- **DriverPackageExtended** A count of driverpackageextended objects in cache -- **FileSigningInfo** A count of file signing objects in cache -- **InventoryApplication** A count of application objects in cache -- **InventoryApplicationFile** A count of application file objects in cache +- **DeviceCensus** A count of devicecensus objects in cache. +- **DriverPackageExtended** A count of driverpackageextended objects in cache. +- **FileSigningInfo** A count of file signing objects in cache. +- **InventoryApplication** A count of application objects in cache. +- **InventoryApplicationAppV** A count of application AppV objects in cache. +- **InventoryApplicationDriver** A count of application driver objects in cache. +- **InventoryApplicationFile** A count of application file objects in cache. +- **InventoryApplicationFramework** A count of application framework objects in cache. +- **InventoryApplicationShortcut** A count of application shortcut objects in cache. - **InventoryDeviceContainer** A count of device container objects in cache - **InventoryDeviceInterface** A count of PNP device interface objects in cache - **InventoryDeviceMediaClass** A count of device media objects in cache @@ -2700,6 +2705,7 @@ The following fields are available: - **InventoryDriverBinary** A count of driver binary objects in cache - **InventoryDriverPackage** A count of device objects in cache - **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache. +- **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. - **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache. - **InventoryMiscellaneousOfficeIESettings** A count of office IE settings objects in cache. - **InventoryMiscellaneousOfficeInsights** A count of office insights objects in cache. @@ -2708,12 +2714,6 @@ The following fields are available: - **InventoryMiscellaneousOfficeVBA** A count of office VBA objects in cache. - **InventoryMiscellaneousOfficeVBARuleViolations** A count of office VBA rule violations objects in cache. - **InventoryMiscellaneousUUPInfo** A count of UUP info objects in cache. -- **DeviceCensus** A count of devicecensus objects in cache -- **InventoryApplicationAppV** No content is currently available. -- **InventoryApplicationDriver** No content is currently available. -- **InventoryApplicationFramework** No content is currently available. -- **InventoryApplicationShortcut** No content is currently available. -- **InventoryMiscellaneousOfficeAddInUsage** No content is currently available. ### Microsoft.Windows.Inventory.Core.AmiTelCacheVersions @@ -3097,6 +3097,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AddinCLSID** The CLSID for the Office addin +- **AddInCLSID** CLSID key for the office addin - **AddInId** Office addin ID - **AddinType** The type of the Office addin. - **BinFileTimestamp** Timestamp of the Office addin @@ -3106,7 +3107,9 @@ The following fields are available: - **FileSize** File size of the Office addin - **FriendlyName** Friendly name for office addin - **FullPath** Unexpanded path to the office addin +- **InventoryVersion** The version of the inventory binary generating the events. - **LoadBehavior** Uint32 that describes the load behavior +- **LoadTime** Load time for the office addin - **OfficeApplication** The office application for this addin - **OfficeArchitecture** Architecture of the addin - **OfficeVersion** The office version for this addin @@ -3116,9 +3119,6 @@ The following fields are available: - **ProductVersion** The version associated with the Office addin - **ProgramId** The unique program identifier of the Office addin - **Provider** Name of the provider for this addin -- **AddInCLSID** CLSID key for the office addin -- **LoadTime** Load time for the office addin -- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeAddInRemove @@ -3177,6 +3177,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: +- **InventoryVersion** The version of the inventory binary generating the events. - **OIeFeatureAddon** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_ADDON_MANAGEMENT feature lets applications hosting the WebBrowser Control to respect add-on management selections made using the Add-on Manager feature of Internet Explorer. Add-ons disabled by the user or by administrative group policy will also be disabled in applications that enable this feature. - **OIeMachineLockdown** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_LOCALMACHINE_LOCKDOWN feature is enabled, Internet Explorer applies security restrictions on content loaded from the user's local machine, which helps prevent malicious behavior involving local files. - **OIeMimeHandling** Flag indicating which Microsoft Office products have this setting enabled. When the FEATURE_MIME_HANDLING feature control is enabled, Internet Explorer handles MIME types more securely. Only applies to Windows Internet Explorer 6 for Windows XP Service Pack 2 (SP2) @@ -3192,7 +3193,6 @@ The following fields are available: - **OIeWebOcPopup** Flag indicating which Microsoft Office products have this setting enabled. The FEATURE_WEBOC_POPUPMANAGEMENT feature allows applications hosting the WebBrowser Control to receive the default Internet Explorer pop-up window management behavior - **OIeWinRestrict** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_WINDOW_RESTRICTIONS feature adds several restrictions to the size and behavior of popup windows - **OIeZoneElevate** Flag indicating which Microsoft Office products have this setting enabled. When enabled, the FEATURE_ZONE_ELEVATION feature prevents pages in one zone from navigating to pages in a higher security zone unless the navigation is generated by the user -- **InventoryVersion** The version of the inventory binary generating the events. ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeIESettingsStartSync @@ -3272,8 +3272,8 @@ The following fields are available: - **BrowserFlags** Browser flags for Office-related products - **ExchangeProviderFlags** Provider policies for Office Exchange -- **SharedComputerLicensing** Office shared computer licensing policies - **InventoryVersion** The version of the inventory binary generating the events. +- **SharedComputerLicensing** Office shared computer licensing policies ### Microsoft.Windows.Inventory.General.InventoryMiscellaneousOfficeSettingsStartSync @@ -3454,13 +3454,13 @@ The following fields are available: - **IO** Amount of disk IO in boot. See [IO](#io). - **LastBootSucceeded** Flag indicating whether the last boot was successful. - **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. +- **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. +- **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. +- **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). - **MenuPolicy** Type of advanced options menu that should be shown to the user, such as Legacy or Standard. - **RecoveryEnabled** Tells us whether or not recovery is enabled. -- **UserInputTime** This is the amount of time the loader application spent waiting for user input. -- **MaxAbove4GbFreeRange** No content is currently available. -- **MaxBelow4GbFreeRange** No content is currently available. -- **MeasuredLaunchPrepared** No content is currently available. - **SecureLaunchPrepared** This field indicates if DRTM was prepared during boot. +- **UserInputTime** This is the amount of time the loader application spent waiting for user input. ### Microsoft.Windows.Kernel.Power.OSStateChange @@ -3554,10 +3554,10 @@ Activity for deletion of a user account for devices set up for Shared PC mode as The following fields are available: -- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. See [wilActivity](#wilactivity). - **accountType** The type of account that was deleted. Example: AD, AAD, or Local - **deleteState** Whether the attempted deletion of the user account was successful. - **userSid** The security identifier of the account. +- **wilActivity** Windows Error Reporting data collected when there is a failure in deleting a user account with the Transient Account Manager. See [wilActivity](#wilactivity). ### Microsoft.Windows.SharedPC.AccountManager.SinglePolicyEvaluation @@ -3566,9 +3566,9 @@ Activity for run of the Transient Account Manager that determines if any user ac The following fields are available: +- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours - **totalAccountCount** The number of accounts on a device after running the Transient Account Manager policies. - **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). -- **evaluationTrigger** When was the Transient Account Manager policies ran? Example: At log off or during maintenance hours ## SIH events @@ -3626,28 +3626,65 @@ The following fields are available: - **ActivityMatchingId** Contains a unique ID identifying a single CheckForUpdates session from initialization to completion. - **AllowCachedResults** Indicates if the scan allowed using cached results. +- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable +- **BiosFamily** The family of the BIOS (Basic Input Output System). +- **BiosName** The name of the device BIOS. +- **BiosReleaseDate** The release date of the device BIOS. +- **BiosSKUNumber** The sku number of the device BIOS. +- **BIOSVendor** The vendor of the BIOS. +- **BiosVersion** The version of the BIOS. +- **BranchReadinessLevel** The servicing branch configured on the device. +- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. +- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. +- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. +- **ClientVersion** The version number of the software distribution client. +- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown - **CurrentMobileOperator** The mobile operator the device is currently connected to. +- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). +- **DeferredUpdates** Update IDs which are currently being deferred until a later time +- **DeviceModel** What is the device model. +- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. +- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. - **DriverSyncPassPerformed** Were drivers scanned this time? +- **EventInstanceID** A globally unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **ExtendedMetadataCabUrl** Hostname that is used to download an update. - **ExtendedStatusCode** Secondary error code for certain scenarios where StatusCode wasn't specific enough. +- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. +- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. +- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). - **FeatureUpdatePause** Indicates whether feature OS updates are paused on the device. +- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). - **FlightBranch** The branch that a device is on if participating in flighting (pre-release builds). - **FlightRing** The ring (speed of getting builds) that a device is on if participating in flighting (pre-release builds). - **HomeMobileOperator** The mobile operator that the device was originally intended to work with. +- **IntentPFNs** Intended application-set metadata for atomic update scenarios. - **IPVersion** Indicates whether the download took place over IPv4 or IPv6 - **IsWUfBDualScanEnabled** Indicates if Windows Update for Business dual scan is enabled on the device. - **IsWUfBEnabled** Indicates if Windows Update for Business is enabled on the device. +- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. - **MetadataIntegrityMode** The mode of the update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **MSIError** The last error that was encountered during a scan for updates. +- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 +- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete - **NumberOfApplicationsCategoryScanEvaluated** The number of categories (apps) for which an app update scan checked - **NumberOfLoop** The number of round trips the scan required - **NumberOfNewUpdatesFromServiceSync** The number of updates which were seen for the first time in this scan - **NumberOfUpdatesEvaluated** The total number of updates which were evaluated as a part of the scan - **NumFailedMetadataSignatures** The number of metadata signatures checks which failed for new metadata synced down. - **Online** Indicates if this was an online scan. +- **PausedUpdates** A list of UpdateIds which that currently being paused. +- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. +- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. +- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. +- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. - **PhonePreviewEnabled** Indicates whether a phone was getting preview build, prior to flighting (pre-release builds) being introduced. - **ProcessName** The process name of the caller who initiated API calls, in the event where CallerApplicationName was not provided. +- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). - **QualityUpdatePause** Indicates whether quality OS updates are paused on the device. +- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). - **RelatedCV** The previous Correlation Vector that was used before swapping with a new one - **ScanDurationInSeconds** The number of seconds a scan took - **ScanEnqueueTime** The number of seconds it took to initialize a scan @@ -3656,49 +3693,12 @@ The following fields are available: - **ShippingMobileOperator** The mobile operator that a device shipped on. - **StatusCode** Indicates the result of a CheckForUpdates event (success, cancellation, failure code HResult). - **SyncType** Describes the type of scan the event was -- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. -- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **BiosFamily** The family of the BIOS (Basic Input Output System). -- **BiosName** The name of the device BIOS. -- **BiosReleaseDate** The release date of the device BIOS. -- **BiosSKUNumber** The sku number of the device BIOS. -- **BIOSVendor** The vendor of the BIOS. -- **BiosVersion** The version of the BIOS. -- **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. -- **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **ClientVersion** The version number of the software distribution client. -- **DeviceModel** What is the device model. -- **DriverError** The error code hit during a driver scan. This is 0 if no error was encountered. -- **EventInstanceID** A globally unique identifier for event instance. -- **ExtendedMetadataCabUrl** Hostname that is used to download an update. -- **FailedUpdateGuids** The GUIDs for the updates that failed to be evaluated during the scan. -- **FailedUpdatesCount** The number of updates that failed to be evaluated during the scan. -- **IntentPFNs** Intended application-set metadata for atomic update scenarios. -- **MSIError** The last error that was encountered during a scan for updates. -- **NetworkConnectivityDetected** Indicates the type of network connectivity that was detected. 0 - IPv4, 1 - IPv6 - **SystemBIOSMajorRelease** Major version of the BIOS. - **SystemBIOSMinorRelease** Minor version of the BIOS. -- **ApplicableUpdateInfo** Metadata for the updates which were detected as applicable -- **NumberOfApplicableUpdates** The number of updates which were ultimately deemed applicable to the system after the detection process is complete -- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. - **TargetMetadataVersion** For self-initiated healing, this is the target version of the SIH engine to download (if needed). If not, the value is null. -- **IsWUfBFederatedScanDisabled** Indicates if Windows Update for Business federated scan is disabled on the device. -- **BranchReadinessLevel** The servicing branch configured on the device. -- **DeferralPolicySources** Sources for any update deferral policies defined (GPO = 0x10, MDM = 0x100, Flight = 0x1000, UX = 0x10000). -- **DeferredUpdates** Update IDs which are currently being deferred until a later time -- **DriverExclusionPolicy** Indicates if the policy for not including drivers with Windows Update is enabled. -- **FeatureUpdateDeferral** The deferral period configured for feature OS updates on the device (in days). -- **FeatureUpdatePausePeriod** The pause duration configured for feature OS updates on the device (in days). -- **PausedUpdates** A list of UpdateIds which that currently being paused. -- **PauseFeatureUpdatesEndTime** If feature OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseFeatureUpdatesStartTime** If feature OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **PauseQualityUpdatesEndTime** If quality OS updates are paused on the device, this is the date and time for the end of the pause time window. -- **PauseQualityUpdatesStartTime** If quality OS updates are paused on the device, this is the date and time for the beginning of the pause time window. -- **QualityUpdateDeferral** The deferral period configured for quality OS updates on the device (in days). -- **QualityUpdatePausePeriod** The pause duration configured for quality OS updates on the device (in days). -- **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown -- **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. +- **TotalNumMetadataSignatures** The total number of metadata signatures checks done for new metadata that was synced down. +- **WebServiceRetryMethods** Web service method requests that needed to be retried to complete operation. +- **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. ### SoftwareUpdateClientTelemetry.Commit @@ -3759,6 +3759,7 @@ The following fields are available: - **CurrentMobileOperator** The mobile operator the device is currently connected to. - **DeviceModel** What is the device model. - **DownloadPriority** Indicates whether a download happened at background, normal, or foreground priority. +- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. - **EventInstanceID** A globally unique identifier for event instance. - **EventScenario** Indicates the purpose of sending this event - whether because the software distribution just started downloading content, or whether it was cancelled, succeeded, or failed. - **EventType** Possible values are Child, Bundle, or Driver. @@ -3802,7 +3803,6 @@ The following fields are available: - **UsedDO** Whether the download used the delivery optimization service. - **UsedSystemVolume** Indicates whether the content was downloaded to the device's main system storage drive, or an alternate storage drive. - **WUDeviceID** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. -- **DownloadScenarioId** A unique ID for a given download used to tie together WU and DO events. ### SoftwareUpdateClientTelemetry.DownloadCheckpoint @@ -3948,25 +3948,25 @@ The following fields are available: - **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. - **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. - **ExtendedStatusCode** The secondary status code of the event. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store -- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. -- **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **ValidityWindowInDays** Validity window in effect when verifying the timestamp - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce - **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **RevisionId** The revision ID for a specific piece of content. - **RevisionNumber** The revision number for a specific piece of content. +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store +- **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. - **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** The status code of the event. +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. - **UpdateId** The update ID for a specific piece of content. +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. ## Update events @@ -3994,8 +3994,11 @@ The UpdateAgent_DownloadRequest event sends data for the download request phase The following fields are available: - **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. +- **DownloadRequests** No content is currently available. - **ErrorCode** The error code returned for the current download request phase. +- **ExtensionName** No content is currently available. - **FlightId** Unique ID for each flight. +- **InternalFailureResult** No content is currently available. - **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) - **PackageCountOptional** Number of optional packages requested. - **PackageCountRequired** Number of required packages requested. @@ -4013,9 +4016,6 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) - **UpdateId** Unique ID for each update. -- **ExtensionName** No content is currently available. -- **InternalFailureResult** No content is currently available. -- **DownloadRequests** No content is currently available. ### Update360Telemetry.UpdateAgentExpand @@ -4180,19 +4180,19 @@ The following fields are available: - **key12** UI interaction data - **key13** UI interaction data - **key14** UI interaction data -- **key15** UI interaction data -- **key16** UI interaction data -- **key17** UI interaction data -- **key18** UI interaction data -- **key19** UI interaction data +- **key15** Interaction data for the UI +- **key16** Interaction data for the UI +- **key17** Interaction data for the UI +- **key18** Interaction data for the UI +- **key19** Interaction data for the UI - **key2** UI interaction data -- **key20** UI interaction data +- **key20** Interaction data for the UI - **key21** Interaction data for the UI -- **key22** UI interaction data -- **key23** UI interaction data -- **key24** UI interaction data -- **key25** UI interaction data -- **key26** UI interaction data +- **key22** Interaction data for the UI +- **key23** Interaction data for the UI +- **key24** Interaction data for the UI +- **key25** Interaction data for the UI +- **key26** Interaction data for the UI - **key27** UI interaction data - **key28** UI interaction data - **key29** UI interaction data @@ -4312,11 +4312,11 @@ No content is currently available. The following fields are available: -- **DCATUrl** No content is currently available. -- **DownloadRequestAttributes** No content is currently available. -- **ResultCode** No content is currently available. -- **Scenario** No content is currently available. -- **Version** No content is currently available. +- **DCATUrl** The DCAT URL we send the request to. +- **DownloadRequestAttributes** The attributes we send to DCAT. +- **ResultCode** The result returned from the initialization of Facilitator with the URL/attributes. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **Version** Version of Facilitator. ### Setup360Telemetry.Downlevel @@ -4392,6 +4392,7 @@ This event sends data indicating that the device has invoked the postrebootinsta The following fields are available: - **ClientId** With Windows Update, this is the Windows Update client ID that is passed to Setup. In Media setup, the default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe. @@ -4404,7 +4405,6 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as ClientId. -- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.PreDownloadQuiet @@ -4436,6 +4436,7 @@ This event sends data regarding OS Updates and Upgrades from Windows 7.X, Window The following fields are available: - **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. - **HostOSBuildNumber** The build number of the previous operating system. - **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). - **InstanceId** Unique GUID that identifies each instance of setuphost.exe. @@ -4448,7 +4449,6 @@ The following fields are available: - **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** Windows Update client ID. -- **FlightData** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. ### Setup360Telemetry.PreInstallQuiet @@ -4458,6 +4458,7 @@ This event sends data indicating that the device has invoked the preinstall quie The following fields are available: - **ClientId** With Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe @@ -4470,7 +4471,6 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. -- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.PreInstallUX @@ -4480,6 +4480,7 @@ This event sends data regarding OS updates and upgrades from Windows 7, Windows The following fields are available: - **ClientId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe. @@ -4492,7 +4493,6 @@ The following fields are available: - **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** A string to uniquely identify a group of events. - **WuId** Windows Update client ID. -- **FlightData** Unique value that identifies the flight. ### Setup360Telemetry.Setup360 @@ -4501,13 +4501,13 @@ This event sends data about OS deployment scenarios, to help keep Windows up-to- The following fields are available: +- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. - **FieldName** Retrieves the data point. - **FlightData** Specifies a unique identifier for each group of Windows Insider builds. - **InstanceId** Retrieves a unique identifier for each instance of a setup session. - **ReportId** Retrieves the report ID. - **ScenarioId** Retrieves the deployment scenario. - **Value** Retrieves the value associated with the corresponding FieldName. -- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. ### Setup360Telemetry.Setup360DynamicUpdate @@ -4516,14 +4516,14 @@ No content is currently available. The following fields are available: -- **FlightData** No content is currently available. -- **InstanceId** No content is currently available. -- **Operation** No content is currently available. -- **ReportId** No content is currently available. -- **ResultCode** No content is currently available. -- **Scenario** No content is currently available. -- **TargetBranch** No content is currently available. -- **TargetBuild** No content is currently available. +- **FlightData** Flight ID for the content. +- **InstanceId** ID of the setup invocation. +- **Operation** Facilitator’s last known operation (scan, download, etc.). +- **ReportId** ID for tying together events stream side. +- **ResultCode** Result returned by setup for the entire operation. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **TargetBranch** Branch of the target OS. +- **TargetBuild** Build of the target OS. ### Setup360Telemetry.UnexpectedEvent @@ -4559,6 +4559,7 @@ The following fields are available: - **detectionSummary** Result of each applicable detection that was ran. - **featureAssessmentImpact** WaaS Assessment impact for feature updates. - **hrEngineResult** Error code from the engine operation. +- **insufficientSessions** Device not eligible for diagnostics. - **isManaged** Device is managed for updates. - **isWUConnected** Device is connected to Windows Update. - **noMoreActions** No more applicable diagnostics. @@ -4569,7 +4570,6 @@ The following fields are available: - **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. - **usingCachedQualityAssessment** WaaS Medic run did not get OS revision age from the network on the previous run. - **versionString** Version of the WaaSMedic engine. -- **insufficientSessions** Device not eligible for diagnostics. ## Windows Error Reporting MTT events @@ -4580,11 +4580,7 @@ This event provides a denominator to calculate MTTF (mean-time-to-failure) for c The following fields are available: -- **DPRange** Maximum mean value range. -- **DPValue** Randomized bit value (0 or 1) that can be reconstituted over a large population to estimate mean. - **Value** Standard UTC emitted DP value structure See [Microsoft.Windows.WER.MTT.Value](#microsoftwindowswermttvalue). -- **UtcAggParams** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcAggParams](#utcaggparams). -- **UtcDiffpVal** These fields are not logged by the event - this datagrid entry is generated erroneously from build See [UtcDiffpVal](#utcdiffpval). ### Microsoft.Windows.WER.MTT.Value @@ -4593,12 +4589,12 @@ No content is currently available. The following fields are available: -- **Algorithm** No content is currently available. -- **DPRange** No content is currently available. -- **DPValue** No content is currently available. -- **Epsilon** No content is currently available. -- **HistType** No content is currently available. -- **PertProb** No content is currently available. +- **Algorithm** Privacy protecting algorithm used for randomization. +- **DPRange** Maximum mean value range. +- **DPValue** Randomized bit value (0 or 1) that can be reconstituted over a large population to estimate mean. +- **Epsilon** Constant used in algorithm for randomization. +- **HistType** Histogram type. +- **PertProb** Constant used in algorithm for randomization. ## Windows Store events @@ -4873,9 +4869,9 @@ The FulfillmentInitiate event is fired at the start of an app install or update. The following fields are available: +- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. -- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. ### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest @@ -5029,7 +5025,7 @@ The following fields are available: - **current** Result of currency check - **dismOperationSucceeded** Dism uninstall operation status -- **hResult** Failure Error code +- **hResult** Failure error code - **oSVersion** Build number of the machine - **paused** Machine's pause status - **rebootRequestSucceeded** Reboot CSP call success status @@ -5072,6 +5068,7 @@ The following fields are available: - **background** If the download is happening in the background - **bytesRequested** Number of bytes requested for download +- **callerName** Name of the API Caller - **cdnUrl** Url of the source CDN - **costFlags** Network cost flags - **deviceProfile** Identifies the usage or form factor (Desktop, Xbox, VM, etc) @@ -5082,25 +5079,24 @@ The following fields are available: - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider: 0, GeoProvider: 1, GeoVerProvider: 2, CpProvider: 3, DiscoveryProvider: 4, RegistryProvider: 5, GroupPolicyProvider: 6, MdmProvider: 7, SettingsProvider: 8, InvalidProviderType: 9) - **errorCode** Error code returned - **experimentId** Used to correlate client/services calls that are part of the same test during A/B testing -- **fileID** ID of the file being downloaded +- **fileID** ID of the File being downloaded - **filePath** Path to where the downloaded file will be written - **fileSize** Total filesize of the file that was downloaded - **fileSizeCaller** Value for total file size provided by our caller - **groupID** ID for the group +- **isEncrypted** Whether the download is encrypted - **isVpn** If the machine is connected to a Virtual Private Network -- **jobID** Identifier for the Windows Update job +- **jobID** Identifier for the Windows Update Job - **minDiskSizeGB** The minimum disk size policy set for the device to allow Peering with Delivery Optimization - **minDiskSizePolicyEnforced** If there is an enforced mininum disk size requirement for peering - **minFileSizePolicy** Minimum filesize policy set for the device to allow Peering with Delivery Optimization - **peerID** ID for this Delivery Optimization client -- **predefinedCallerName** Name of the API caller -- **sessionID** ID for the file download session -- **updateID** ID of the update being downloaded -- **usedMemoryStream** If the download is using memory streaming in App downloads -- **callerName** Name of the API Caller +- **predefinedCallerName** Name of the API Caller - **scenarioID** ID for the Scenario -- **isEncrypted** Whether the download is encrypted -- **setConfigs** A JSON representation of the configurations that have been set, and their sources +- **sessionID** ID for the file download session +- **setConfigs** ID of the Update being downloaded +- **updateID** ID of the Update being downloaded +- **usedMemoryStream** If the download is using memory streaming in App downloads ## Windows Update events @@ -5223,217 +5219,217 @@ The following fields are available: ### Microsoft.Windows.Update.NotificationUx.DialogNotificationToBeDisplayed -Dialog notification about to be displayed to user. +This event indicates that a notification dialog box is about to be displayed to user. The following fields are available: -- **AcceptAutoModeLimit** Maximum number of days for a device to automatically enter Auto Reboot mode -- **AutoToAutoFailedLimit** Maximum number of days for Auto Reboot mode to fail before RebootFailed dialog will be shown -- **DeviceLocalTime** Time of dialog shown on local device -- **EngagedModeLimit** Number of days to switch between DTE dialogs -- **EnterAutoModeLimit** Maximum number of days for a device to enter Auto Reboot mode -- **ETag** OneSettings versioning value -- **IsForcedEnabled** Is Forced Reboot mode enabled for this device? -- **IsUltimateForcedEnabled** Is Ultimate Forced Reboot mode enabled for this device? -- **NotificationUxState** Which dialog is shown (ENUM)? -- **NotificationUxStateString** Which dialog is shown (string mapping)? -- **RebootUxState** Engaged/Auto/Forced/UltimateForced -- **RebootUxStateString** Engaged/Auto/Forced/UltimateForced -- **RebootVersion** Version of DTE -- **SkipToAutoModeLimit** The minimum length of time to pass in reboot pending before a machine can be put into auto mode -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UtcTime** The Coordinated Universal Time when the dialog notification will be displayed. -- **DaysSinceRebootRequired** Number of days since reboot was required. +- **AcceptAutoModeLimit** The maximum number of days for a device to automatically enter Auto Reboot mode. +- **AutoToAutoFailedLimit** The maximum number of days for Auto Reboot mode to fail before the RebootFailed dialog box is shown. +- **DaysSinceRebootRequired** Number of days since restart was required. +- **DeviceLocalTime** The local time on the device sending the event. +- **EngagedModeLimit** The number of days to switch between DTE dialog boxes. +- **EnterAutoModeLimit** The maximum number of days for a device to enter Auto Reboot mode. +- **ETag** OneSettings versioning value. +- **IsForcedEnabled** Indicates whether Forced Reboot mode is enabled for this device. +- **IsUltimateForcedEnabled** Indicates whether Ultimate Forced Reboot mode is enabled for this device. +- **NotificationUxState** Indicates which dialog box is shown. +- **NotificationUxStateString** Indicates which dialog box is shown. +- **RebootUxState** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). +- **RebootUxStateString** Indicates the state of the restart (Engaged, Auto, Forced, or UltimateForced). +- **RebootVersion** Version of DTE. +- **SkipToAutoModeLimit** The minimum length of time to pass in restart pending before a device can be put into auto mode. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UtcTime** The time the dialog box notification will be displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootAcceptAutoDialog -Enhanced Engaged reboot accept auto dialog was displayed. +This event indicates that the Enhanced Engaged restart "accept automatically" dialog box was displayed. The following fields are available: -- **DeviceLocalTime** Local time of the device sending the event -- **ETag** OneSettings ETag -- **ExitCode** Dialog exit code - user response -- **RebootVersion** Reboot flow version -- **UpdateId** Id of pending update -- **UpdateRevision** Revision number of the pending update -- **UserResponseString** User response to the reboot dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** The local time on the device sending the event. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that user chose on this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootFirstReminderDialog -Enhanced Engaged reboot first reminder dialog was displayed. +This event indicates that the Enhanced Engaged restart "first reminder" dialog box was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The id of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** The local time on the device sending the event. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that user chose in this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedPrecursorDialog -Enhanced Engaged reboot forced precursor dialog was displayed. +This event indicates that the Enhanced Engaged restart "forced precursor" dialog box was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The id of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** The local time on the device sending the event. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that the user chose in this dialog box. +- **UtcTime** The time the dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootForcedWarningDialog -Enhanced Engaged forced warning dialog was displayed. +This event indicates that the Enhanced Engaged "forced warning" dialog box was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The id of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** The local time on the device sending the event. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that the user chose in this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootFailedDialog -Enhanced Engaged reboot reboot failed dialog was displayed. +This event indicates that the Enhanced Engaged restart "restart failed" dialog box was displayed. The following fields are available: -- **DeviceLocalTime** Dialog exit code - user response -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** The local time of the device sending the event. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that the user chose in this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootRebootImminentDialog -Enhanced Engaged reboot reboot imminent dialog was displayed. +This event indicates that the Enhanced Engaged restart "restart imminent" dialog box was displayed.. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** Time the dialog box was shown on the local device. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that user chose in this dialog box. +- **UtcTime** The time that dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootSecondReminderDialog -Enhanced Engaged reboot second reminder dialog was displayed. +This event indicates that the second reminder dialog box was displayed for Enhanced Engaged restart. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** The time the dialog box was shown on the local device. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that the user chose in this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.EnhancedEngagedRebootThirdReminderDialog -Enhanced Engaged reboot third reminder dialog was displayed. +This event indicates that the third reminder dialog box for Enhanced Engaged restart was displayed. The following fields are available: -- **DeviceLocalTime** Time of dialog shown on local device -- **ETag** OneSettings versioning value -- **ExitCode** Indicates how users exited the dialog -- **RebootVersion** Version of DTE -- **UpdateId** The ID of the update that is pending reboot to finish installation -- **UpdateRevision** The revision of the update that is pending reboot to finish installation -- **UserResponseString** The option that user chose on this dialog -- **UtcTime** The Coordinated Universal Time that dialog was displayed +- **DeviceLocalTime** The time the dialog box was shown on the local device. +- **ETag** OneSettings versioning value. +- **ExitCode** Indicates how users exited the dialog box. +- **RebootVersion** Version of DTE. +- **UpdateId** The ID of the update that is pending restart to finish installation. +- **UpdateRevision** The revision of the update that is pending restart to finish installation. +- **UserResponseString** The option that the user chose in this dialog box. +- **UtcTime** The time that the dialog box was displayed, in Coordinated Universal Time. ### Microsoft.Windows.Update.NotificationUx.RebootScheduled -Indicates when a reboot is scheduled by the system or a user for a security, quality, or feature update +Indicates when a reboot is scheduled by the system or a user for a security, quality, or feature update. The following fields are available: -- **activeHoursApplicable** True, If Active Hours applicable on this device. False, otherwise -- **IsEnhancedEngagedReboot** Whether this is an Enhanced Engaged reboot -- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action -- **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise -- **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically -- **rebootState** The state of the reboot -- **revisionNumber** Revision number of the update that is getting installed with this reboot -- **scheduledRebootTime** Time of the scheduled reboot -- **scheduledRebootTimeInUTC** Time of the scheduled reboot in Coordinated Universal Time -- **updateId** ID of the update that is getting installed with this reboot -- **wuDeviceid** Unique device ID used by Windows Update +- **activeHoursApplicable** Indicates whether an Active Hours policy is present on the device. +- **IsEnhancedEngagedReboot** Indicates whether this is an Enhanced Engaged reboot. +- **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. +- **rebootOutsideOfActiveHours** Indicates whether a restart is scheduled outside of active hours. +- **rebootScheduledByUser** Indicates whether the restart was scheduled by user (if not, it was scheduled automatically). +- **rebootState** The current state of the restart. +- **revisionNumber** Revision number of the update that is getting installed with this restart. +- **scheduledRebootTime** Time of the scheduled restart. +- **scheduledRebootTimeInUTC** Time of the scheduled restart in Coordinated Universal Time. +- **updateId** ID of the update that is getting installed with this restart. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.ActivityRestrictedByActiveHoursPolicy -A policy is present that may restrict update activity to outside of active hours. +This event indicates a policy is present that may restrict update activity to outside of active hours. The following fields are available: -- **activeHoursEnd** The end of the active hours window -- **activeHoursStart** The start of the active hours window -- **wuDeviceid** Device ID +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.BlockedByActiveHours -Update activity blocked due to active hours being currently active. +This event indicates that update activity was blocked because it is within the active hours window. The following fields are available: -- **activeHoursEnd** The end of the active hours window -- **activeHoursStart** The start of the active hours window -- **updatePhase** Device ID -- **wuDeviceid** Device ID -- **blockReason** The current state of the update process +- **activeHoursEnd** The end of the active hours window. +- **activeHoursStart** The start of the active hours window. +- **blockReason** Reason for stopping the update activity. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.BlockedByBatteryLevel -Update activity blocked due to low battery level. +This event indicates that Windows Update activity was blocked due to low battery level. The following fields are available: -- **batteryLevel** The current battery charge capacitity -- **batteryLevelThreshold** The battery capacity threshold to stop update activity -- **blockReason** The current state of the update process -- **updatePhase** The current state of the update process -- **wuDeviceid** Device ID +- **batteryLevel** The current battery charge capacity. +- **batteryLevelThreshold** The battery capacity threshold to stop update activity. +- **blockReason** Reason for stopping Windows Update activity. +- **updatePhase** The current state of the update process. +- **wuDeviceid** Device ID. ### Microsoft.Windows.Update.Orchestrator.CommitFailed -This events tracks when a device needs to restart after an update but did not. +This event indicates that a device was unable to restart after an update. The following fields are available: @@ -5443,58 +5439,58 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.DeferRestart -Indicates that a restart required for installing updates was postponed. +This event indicates that a restart required for installing updates was postponed. The following fields are available: -- **eventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc -- **filteredDeferReason** The raised reason that the USO did not restart (e.g. user active, low battery) that were ignorable -- **raisedDeferReason** The reason that the USO did not restart (e.g. user active, low battery) -- **wuDeviceid** Device ID -- **displayNeededReason** Semicolon-separated list of reasons reported for display needed -- **gameModeReason** Name of the executable that caused the game mode state check to trigger. -- **ignoredReason** Semicolon-separated list of reasons that were intentionally ignored. -- **revisionNumber** Update ID revision number -- **systemNeededReason** Semicolon-separated list of reasons reported for system needed. -- **updateId** Update ID -- **updateScenarioType** Update session type +- **displayNeededReason** List of reasons for needing display. +- **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **gameModeReason** Name of the executable that caused the game mode state check to start. +- **ignoredReason** List of reasons that were intentionally ignored. +- **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). +- **revisionNumber** Update ID revision number. +- **systemNeededReason** List of reasons why system is needed. +- **updateId** Update ID. +- **updateScenarioType** Update session type. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.Detection -A scan for an update occurred. +This event indicates that a scan for a Windows Update occurred. The following fields are available: -- **detectionBlockreason** Reason for detection not completing. -- **eventScenario** End to end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. -- **interactive** Identifies if session is User Initiated. -- **scanTriggerSource** Source of the triggered scan. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. -- **detectionBlockingPolicy** State of update action -- **deferReason** Reason for postponing detection -- **flightID** Flight info -- **revisionNumber** Update version -- **updateId** Update ID - GUID -- **detectionRetryMode** If we retry to scan -- **errorCode** The returned error code. +- **deferReason** Reason why the device could not check for updates. +- **detectionBlockingPolicy** State of update action. +- **detectionBlockreason** If we retry to scan +- **detectionRetryMode** Indicates whether we will try to scan again. +- **errorCode** State of update action +- **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the session was user initiated. - **networkStatus** Error info +- **revisionNumber** Update revision number. +- **scanTriggerSource** Source of the triggered scan. +- **updateId** Update ID. +- **updateScenarioType** Update Session type +- **wuDeviceid** Device ID ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded -Reboot postponed due to needing a display +This event indicates the reboot was postponed due to needing a display. The following fields are available: -- **displayNeededReason** Reason the display is needed -- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date -- **revisionNumber** Revision number of the update -- **updateId** Update ID -- **updateScenarioType** The update session type -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date +- **displayNeededReason** Reason the display is needed. +- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. +- **revisionNumber** Revision number of the update. +- **updateId** Update ID. +- **updateScenarioType** The update session type. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. - **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue @@ -5504,11 +5500,11 @@ This event sends launch data for a Windows Update download to help keep Windows The following fields are available: -- **deferReason** Reason for download not completing -- **errorCode** An error code represented as a hexadecimal value -- **eventScenario** End to end update session ID. -- **flightID** Unique update ID. -- **interactive** Identifies if session is user initiated. +- **deferReason** Reason for download not completing. +- **errorCode** An error code represented as a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **interactive** Indicates whether the session is user initiated. - **revisionNumber** Update revision number. - **updateId** Update ID. - **updateScenarioType** The update session type. @@ -5517,99 +5513,99 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.DTUCompletedWhenWuFlightPendingCommit -Event to indicate that DTU completed installation of the ESD, when WU was already Pending Commit of the feature update. +This event indicates that DTU completed installation of the ESD, when Windows Update was already in Pending Commit phase of the feature update. The following fields are available: -- **wuDeviceid** Device ID used by WU +- **wuDeviceid** Device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.DTUEnabled -Inbox DTU functionality enabled. +This event indicates that Inbox DTU functionality was enabled. The following fields are available: -- **wuDeviceid** Device ID. +- **wuDeviceid** Device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.DTUInitiated -Inbox DTU functionality intiated. +This event indicates that Inbox DTU functionality was intiated. The following fields are available: - **dtuErrorCode** Return code from creating the DTU Com Server. - **isDtuApplicable** Determination of whether DTU is applicable to the machine it is running on. -- **wuDeviceid** Return code from creating the DTU Com Server. +- **wuDeviceid** Device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.Escalation -Event sent when USO takes an Escalation action on device. +This event is sent when USO takes an Escalation action on a device. The following fields are available: -- **configVersion** Escalation config version on device -- **escalationAction** Indicate the specific escalation action that took place on device -- **updateClassificationGUID** GUID of the update the device is offered -- **updateId** ID of the update the device is offered -- **wuDeviceid** Device ID used by WU +- **configVersion** Escalation config version on device. +- **escalationAction** Indicate the specific escalation action that took place on device. +- **updateClassificationGUID** GUID of the update the device is offered. +- **updateId** ID of the update the device is offered. +- **wuDeviceid** Device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.EscalationRiskLevels -Event sent during update scan, download, install. Indicates that the device is at risk of being out-of-date. +This event is sent during update scan, download, or install, and indicates that the device is at risk of being out-of-date. The following fields are available: -- **configVersion** Escalation config version on device -- **downloadElapsedTime** How long since the download is required on device -- **downloadRiskLevel** At-risk level of download phase -- **installElapsedTime** How long since the install is required on device -- **installRiskLevel** At-risk level of install phase -- **isSediment** WaaSmedic's assessment of whether is device is at risk or not -- **scanElapsedTime** How long since the scan is required on device -- **scanRiskLevel** At-risk level of scan phase -- **wuDeviceid** Device id used by WU +- **configVersion** Escalation config version on device . +- **downloadElapsedTime** Indicates how long since the download is required on device. +- **downloadRiskLevel** At-risk level of download phase. +- **installElapsedTime** Indicates how long since the install is required on device. +- **installRiskLevel** The at-risk level of install phase. +- **isSediment** Assessment of whether is device is at risk. +- **scanElapsedTime** Indicates how long since the scan is required on device. +- **scanRiskLevel** At-risk level of the scan phase. +- **wuDeviceid** Device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.EscalationsRefreshFailed -USO has a set of escalation actions to prevent a device from becoming out-of-date, and the actions are triggered based on the Escalation config that USO obtains from OneSettings. This event is sent when USO fails to refresh the escalation config from OneSettings. +USO has a set of escalation actions to prevent a device from becoming out-of-date, and the actions are triggered based on the Escalation configuration that USO obtains from OneSettings. This event is sent when USO fails to refresh the escalation configuration from OneSettings. The following fields are available: -- **configVersion** Current escalation config version on device -- **errorCode** Error code for the refresh failure -- **wuDeviceid** Device ID used by WU +- **configVersion** Current escalation config version on device. +- **errorCode** Error code for the refresh failure. +- **wuDeviceid** Device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.FlightInapplicable -The Update is no longer Applicable to this device +This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Flight specific info -- **flightID** Update ID revision number -- **revisionNumber** Update ID - GUID -- **updateId** Update session type -- **updateScenarioType** Last status of update -- **UpdateStatus** Is UUP fallback configured? -- **UUPFallBackConfigured** Windows Update Device GUID -- **wuDeviceid** Windows Update Device GUID +- **EventPublishedTime** Time when this event was generated +- **flightID** The specific ID of the Windows Insider build. +- **revisionNumber** Update revision number. +- **updateId** Unique Windows Update ID. +- **updateScenarioType** Update session type. +- **UpdateStatus** Last status of update. +- **UUPFallBackConfigured** Indicates whether UUP fallback is configured. +- **wuDeviceid** Unique Device ID. ### Microsoft.Windows.Update.Orchestrator.GameActive -This event indicates that an enabled GameMode process prevented the device from restarting to complete an update +This event indicates that an enabled GameMode process prevented the device from restarting to complete an update. The following fields are available: -- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed -- **gameModeReason** Name of the enabled GameMode process that prevented the device from restarting to complete an update -- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue +- **eventScenario** Indicates the purpose of sending this event - whether because the software distribution just started checking for content, or whether it was cancelled, succeeded, or failed. +- **gameModeReason** Name of the enabled GameMode process that prevented the device from restarting to complete an update. +- **wuDeviceid** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. ### Microsoft.Windows.Update.Orchestrator.InitiatingReboot @@ -5620,12 +5616,12 @@ The following fields are available: - **EventPublishedTime** Time of the event. - **flightID** Unique update ID -- **interactive** Indicates the reboot initiation stage of the update process was entered as a result of user action or not. -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **interactive** Indicates whether the reboot initiation stage of the update process was entered as a result of user action. +- **rebootOutsideOfActiveHours** Indicates whether the reboot was to occur outside of active hours. - **revisionNumber** Revision number of the update. - **updateId** Update ID. - **updateScenarioType** The update session type. -- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. +- **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated. - **wuDeviceid** Unique device ID used by Windows Update. @@ -5636,38 +5632,38 @@ This event sends launch data for a Windows Update install to help keep Windows u The following fields are available: - **batteryLevel** Current battery capacity in mWh or percentage left. -- **eventScenario** End to end update session ID. -- **flightID** Unique update ID -- **flightUpdate** Flight update +- **deferReason** Reason for install not completing. +- **errorCode** The error code reppresented by a hexadecimal value. +- **eventScenario** End-to-end update session ID. +- **flightID** The specific ID of the Windows Insider build the device is getting. +- **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. +- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. - **installRebootinitiatetime** The time it took for a reboot to be attempted. - **interactive** Identifies if session is user initiated. - **minutesToCommit** The time it took to install updates. -- **rebootOutsideOfActiveHours** Indicates the timing that the reboot was to occur to ensure the correct update process and experience is provided to keep Windows up to date. +- **rebootOutsideOfActiveHours** Indicates whether a reboot is scheduled outside of active hours. - **revisionNumber** Update revision number. - **updateId** Update ID. - **updateScenarioType** The update session type. - **uxRebootstate** Indicates the exact state of the user experience at the time the required reboot was initiated to ensure the correct update process and experience is provided to keep Windows up to date. - **wuDeviceid** Unique device ID used by Windows Update. -- **deferReason** Reason for install not completing. -- **errorCode** The error code reppresented by a hexadecimal value. -- **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. ### Microsoft.Windows.Update.Orchestrator.PostInstall -Event sent after Windows update install completes. +This event is sent after a Windows update install completes. The following fields are available: - **batteryLevel** Current battery capacity in mWh or percentage left. - **bundleId** Identifier associated with the specific content bundle. - **bundleRevisionnumber** Identifies the revision number of the content bundle. -- **errorCode** Hex code for the error message, to allow lookup of the specific error. -- **eventScenario** End to end update session ID. +- **errorCode** The error code returned for the current phase. +- **eventScenario** State of update action. - **flightID** The flight ID of the device -- **sessionType** Interactive vs. Background. -- **updateScenarioType** The scenario type of this update +- **sessionType** The Windows Update session type (Interactive or Background). +- **updateScenarioType** The update session type. - **wuDeviceid** Unique device ID used by Windows Update. @@ -5694,7 +5690,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.Progress -Event sent when the download of a update reaches a milestone change, such as a change in network cost policy, completion of an internal phase, or change in a transient state. +This event is sent when the download of a update reaches a milestone change, such as a change in network cost policy, completion of an internal phase, or change in a transient state. The following fields are available: @@ -5741,7 +5737,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.ScanTriggered -Indicates that Update Orchestrator has started a scan operation. +This event indicates that Update Orchestrator has started a scan operation. The following fields are available: @@ -5775,7 +5771,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.TerminatedByActiveHours -Update activity was stopped due to active hours starting. +This event indicates that update activity was stopped due to active hours starting. The following fields are available: @@ -5787,7 +5783,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.TerminatedByBatteryLevel -Update activity was stopped due to a low battery level. +This event is sent when update activity was stopped due to a low battery level. The following fields are available: @@ -5850,6 +5846,7 @@ This event sends basic information about scheduling an update-related reboot, to The following fields are available: - **activeHoursApplicable** Indicates whether Active Hours applies on this device. +- **IsEnhancedEngagedReboot** Indicates whether Enhanced reboot was enabled. - **rebootArgument** Argument for the reboot task. It also represents specific reboot related action. - **rebootOutsideOfActiveHours** True, if a reboot is scheduled outside of active hours. False, otherwise. - **rebootScheduledByUser** True, if a reboot is scheduled by user. False, if a reboot is scheduled automatically. @@ -5859,7 +5856,6 @@ The following fields are available: - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. - **wuDeviceid** Unique DeviceID -- **IsEnhancedEngagedReboot** Indicates whether Enhanced reboot was enabled. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5910,19 +5906,19 @@ This event sends data specific to the FixAppXReparsePoints mitigation used for O The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Number of reparse points that are corrupted but we failed to fix them. -- **ReparsePointsFailed** Number of reparse points that were corrupted and were fixed by this mitigation. -- **ReparsePointsFixed** Number of reparse points that are not corrupted and no action is required. -- **ReparsePointsSkipped** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ReparsePointsFailed** Number of reparse points that are corrupted but we failed to fix them. +- **ReparsePointsFixed** Number of reparse points that were corrupted and were fixed by this mitigation. +- **ReparsePointsSkipped** Number of reparse points that are not corrupted and no action is required. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. From 3855996e813348297e731980c0e2721003fe88ca Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 27 Aug 2018 08:29:55 -0700 Subject: [PATCH 17/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 283 ++++++++++-------- 1 file changed, 152 insertions(+), 131 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 7475140c62..c88b2ded23 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/24/2018 +ms.date: 08/27/2018 --- @@ -83,7 +83,7 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. @@ -92,10 +92,10 @@ The following fields are available: - **SystemMemory** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. -- **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. +- **SystemProcessorNx** The count of the number of this particular object type present on this device. - **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. - **SystemProcessorSse2** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of the number of this particular object type present on this device. +- **SystemTouch** The count of SystemTouch objects present on this machine. - **SystemWim** The count of SystemWim objects present on this machine. - **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. - **SystemWlan** The count of SystemWlan objects present on this machine. @@ -156,7 +156,7 @@ The following fields are available: - **IsBootCritical** Is the device boot critical? - **SdbEntries** An array of fields indicating the SDB entries that apply to this device. - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver +- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -191,6 +191,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** No content is currently available. ### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove @@ -224,6 +225,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** No content is currently available. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove @@ -257,6 +259,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** No content is currently available. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove @@ -290,6 +293,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. +- **SdbEntries** No content is currently available. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove @@ -1182,6 +1186,8 @@ The following fields are available: This event indicates that a new set of SystemWindowsActivationStatusAdd events will be sent. +This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). + The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. @@ -1728,9 +1734,9 @@ The following fields are available: - **authId** The ID of the device associated with this event. For Microsoft Account tickets, this is expected to be the MSA Global ID. - **authSecId** The secondary ID of the device associated with this event. For Microsoft Account tickets, this is expected to be the MSA Hardware ID. -- **deviceClass** The device classification. Examples: Desktop, Server, or Mobile. +- **deviceClass** The device classification. For example, Desktop, Server, or Mobile. - **id** A unique device ID. -- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. +- **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId - **make** Device manufacturer. - **model** Device model. - **orgAuthId** ID used to authenticate the orgId. @@ -1739,7 +1745,7 @@ The following fields are available: ### Common Data Extensions.Envelope -No content is currently available. +Represents an envelope that contains all of the common data extensions. The following fields are available: @@ -1801,8 +1807,8 @@ The following fields are available: - **bootId** An integer value that represents the boot session. This value starts at 0 on first boot after OS install and increments after every reboot. - **expId** Represents the experiment ID. The standard for associating a flight, such as an OS flight (pre-release build), or an experiment, such as a web site UX experiment, with an event is to record the flight / experiment IDs in Part A of the common schema. - **locale** Represents the locale of the operating system. -- **name** The name of the operating system. -- **ver** Represents the OS version, and its format is OS dependent. +- **name** Represents the operating system name. +- **ver** Represents the major and minor version of the extension. ### Common Data Extensions.receipts @@ -1882,6 +1888,21 @@ The following fields are available: - **xid** A list of base10-encoded XBOX User IDs. +## Common data fields + +### Ms.Device.DeviceInventoryChange + +No content is currently available. + +The following fields are available: + +- **action** The change that was invoked on a device inventory object. +- **inventoryId** Device ID used for Compatibility testing +- **objectInstanceId** Object identity which is unique within the device scope. +- **objectType** Indicates the object type that the event applies to. +- **syncId** A string used to group StartSync, EndSync, Add, and Remove operations that belong together. This field is unique by Sync period and is used to disambiguate in situations where multiple agents perform overlapping inventories for the same object. + + ## Compatibility events ### Microsoft.Windows.Compatibility.Apphelp.SdbFix @@ -2011,13 +2032,13 @@ Fired by UTC as a heartbeat signal. The following fields are available: - **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** Last exit code of Census task. +- **CensusExitCode** Last exit code of�Census task. - **CensusStartTime** Time of last Census run. - **CensusTaskEnabled** True if Census is enabled, false otherwise. - **CompressedBytesUploaded** Number of compressed bytes uploaded. - **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. - **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to throttling. +- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to�throttling. - **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. - **DbCriticalDroppedCount** Total number of dropped critical events in event DB. - **DbDroppedCount** Number of events dropped due to DB fullness. @@ -2041,14 +2062,14 @@ The following fields are available: - **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. - **LastEventSizeOffender** Event name of last event which exceeded max event size. - **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** Maximum number of active agents during this heartbeat timeframe. +- **MaxActiveAgentConnectionCount** Maximum number of active agents during this�heartbeat timeframe. - **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. - **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). - **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting�OneSettings service. - **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. - **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures received from Vortex. +- **VortexFailuresTimeout** Number of time out failures�received from Vortex. - **VortexHttpAttempts** Number of attempts to contact Vortex. - **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. - **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. @@ -2920,12 +2941,12 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **BusReportedDescription** The description of the device reported by the bux. -- **Class** The device setup class of the driver loaded for the device. -- **ClassGuid** The device class GUID from the driver package -- **COMPID** The device setup class guid of the driver loaded for the device. -- **ContainerId** The list of compat ids for the device. -- **Description** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. +- **BusReportedDescription** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. +- **Class** A unique identifier for the driver installed. +- **ClassGuid** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). +- **COMPID** INF file name (the name could be renamed by OS, such as oemXX.inf) +- **ContainerId** The version of the inventory binary generating the events. +- **Description** The current error code for the device. - **DeviceState** The device description. - **DriverId** DeviceState is a bitmask of the following: DEVICE_IS_CONNECTED 0x0001 (currently only for container). DEVICE_IS_NETWORK_DEVICE 0x0002 (currently only for container). DEVICE_IS_PAIRED 0x0004 (currently only for container). DEVICE_IS_ACTIVE 0x0008 (currently never set). DEVICE_IS_MACHINE 0x0010 (currently only for container). DEVICE_IS_PRESENT 0x0020 (currently always set). DEVICE_IS_HIDDEN 0x0040. DEVICE_IS_PRINTER 0x0080 (currently only for container). DEVICE_IS_WIRELESS 0x0100. DEVICE_IS_WIRELESS_FAT 0x0200. The most common values are therefore: 32 (0x20)= device is present. 96 (0x60)= device is present but hidden. 288 (0x120)= device is a wireless device that is present - **DriverName** A unique identifier for the driver installed. @@ -3436,31 +3457,31 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic ### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch -OS Boot information used to evaluate the success of the upgrade process. +OS information collected during Boot, used to evaluate the success of the upgrade process. The following fields are available: - **BootApplicationId** This field tells us what the OS Loader Application Identifier is. -- **BootAttemptCount** This is the number of consecutive times the boot manager has attempted to boot into this operating system. -- **BootSequence** The current Boot ID. It is used to correlate events related to a particular boot session. -- **BootStatusPolicy** This field tells us the boot status policy. -- **BootType** This field tells us the type of boot (such as "Cold", "Hiber", "Resume"). -- **EventTimestamp** Seconds elapsed since an arbitrary time point. This field can be used to identify the time difference in successive boot attempts being made. +- **BootAttemptCount** The number of consecutive times the boot manager has attempted to boot into this operating system. +- **BootSequence** The current Boot ID, used to correlate events related to a particular boot session. +- **BootStatusPolicy** Identifies the applicable Boot Status Policy. +- **BootType** Identifies the type of boot (e.g.: "Cold", "Hiber", "Resume"). +- **EventTimestamp** Seconds elapsed since an arbitrary time point. This can be used to identify the time difference in successive boot attempts being made. - **FirmwareResetReasonEmbeddedController** Reason for system reset provided by firmware. - **FirmwareResetReasonEmbeddedControllerAdditional** Additional information on system reset reason provided by firmware if needed. - **FirmwareResetReasonPch** Reason for system reset provided by firmware. - **FirmwareResetReasonPchAdditional** Additional information on system reset reason provided by firmware if needed. - **FirmwareResetReasonSupplied** Flag indicating that a reason for system reset was provided by firmware. -- **IO** Amount of disk IO in boot. See [IO](#io). +- **IO** Amount of data written to and read from the disk by the OS Loader during boot. See [IO](#io). - **LastBootSucceeded** Flag indicating whether the last boot was successful. - **LastShutdownSucceeded** Flag indicating whether the last shutdown was successful. - **MaxAbove4GbFreeRange** This field describes the largest memory range available above 4Gb. - **MaxBelow4GbFreeRange** This field describes the largest memory range available below 4Gb. - **MeasuredLaunchPrepared** This field tells us if the OS launch was initiated using Measured/Secure Boot over DRTM (Dynamic Root of Trust for Measurement). -- **MenuPolicy** Type of advanced options menu that should be shown to the user, such as Legacy or Standard. -- **RecoveryEnabled** Tells us whether or not recovery is enabled. +- **MenuPolicy** Type of advanced options menu that should be shown to the user (Legacy, Standard, etc.). +- **RecoveryEnabled** Indicates whether recovery is enabled. - **SecureLaunchPrepared** This field indicates if DRTM was prepared during boot. -- **UserInputTime** This is the amount of time the loader application spent waiting for user input. +- **UserInputTime** The amount of time the loader application spent waiting for user input. ### Microsoft.Windows.Kernel.Power.OSStateChange @@ -3510,10 +3531,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** whether the person who is logging in is an admin +- **isAdmin** Whether the current user is an administrator or not - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience +- **isSilentElevation** Whether the current user has enabled silent elevation +- **privacyConsentState** The current state of the privacy consent experience - **userRegionCode** The current user's region setting @@ -3989,7 +4010,7 @@ The following fields are available: ### Update360Telemetry.UpdateAgentDownloadRequest -The UpdateAgent_DownloadRequest event sends data for the download request phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to PC and Mobile. +This event sends data for the download request phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to PC and Mobile. The following fields are available: @@ -4074,7 +4095,7 @@ The following fields are available: ### Update360Telemetry.UpdateAgentInstall -The UpdateAgentInstall event sends data for the install phase of updating Windows. +This event sends data for the install phase of updating Windows. The following fields are available: @@ -4180,21 +4201,21 @@ The following fields are available: - **key12** UI interaction data - **key13** UI interaction data - **key14** UI interaction data -- **key15** Interaction data for the UI -- **key16** Interaction data for the UI -- **key17** Interaction data for the UI -- **key18** Interaction data for the UI -- **key19** Interaction data for the UI +- **key15** UI interaction data +- **key16** UI interaction data +- **key17** UI interaction data +- **key18** UI interaction data +- **key19** UI interaction data - **key2** UI interaction data -- **key20** Interaction data for the UI +- **key20** UI interaction data - **key21** Interaction data for the UI - **key22** Interaction data for the UI - **key23** Interaction data for the UI - **key24** Interaction data for the UI - **key25** Interaction data for the UI - **key26** Interaction data for the UI -- **key27** UI interaction data -- **key28** UI interaction data +- **key27** Interaction data for the UI +- **key28** Interaction data for the UI - **key29** UI interaction data - **key3** UI interaction data - **key30** UI interaction data @@ -4204,8 +4225,8 @@ The following fields are available: - **key7** UI interaction data - **key8** UI interaction data - **key9** UI interaction data -- **PackageVersion** Current package version of UNP -- **schema** UI interaction type +- **PackageVersion** UI interaction data +- **schema** UI interaction data ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat @@ -4308,7 +4329,7 @@ The following fields are available: ### FacilitatorTelemetry.InitializeDU -No content is currently available. +This event determines whether devices received additional or critical supplemental content during an OS upgrade. The following fields are available: @@ -4512,12 +4533,12 @@ The following fields are available: ### Setup360Telemetry.Setup360DynamicUpdate -No content is currently available. +This event helps determine whether or not the device received supplemental content during an operating system upgrade. The following fields are available: -- **FlightData** Flight ID for the content. -- **InstanceId** ID of the setup invocation. +- **FlightData** Specifies a unique identifier for each group of Windows Insider builds. +- **InstanceId** Retrieves a unique identifier for each instance of a setup session. - **Operation** Facilitator’s last known operation (scan, download, etc.). - **ReportId** ID for tying together events stream side. - **ResultCode** Result returned by setup for the entire operation. @@ -4585,7 +4606,7 @@ The following fields are available: ### Microsoft.Windows.WER.MTT.Value -No content is currently available. +This is used for differential privacy. The following fields are available: @@ -4978,56 +4999,56 @@ The following fields are available: ### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureFailed -The Execute Rollback Feature Failed event sends basic telemetry on the failure of the Feature Rollback. This functionality supports our feature by providing IT Admins the ability to see the operation failed, allowing them to do further triage of the device. +This event sends basic telemetry on the failure of the Feature Rollback. The following fields are available: -- **current** Result of currency check -- **dismOperationSucceeded** Dism uninstall operation status -- **hResult** Failure error code -- **oSVersion** Build number of the machine -- **paused** Machine's pause status -- **rebootRequestSucceeded** Reboot CSP call success status -- **wUfBConnected** Result of WUfB connection check +- **current** Result of currency check. +- **dismOperationSucceeded** Dism uninstall operation status. +- **hResult** Failure error code. +- **oSVersion** Build number of the device. +- **paused** Indicates whether the device is paused. +- **rebootRequestSucceeded** Reboot CSP call success status. +- **wUfBConnected** Result of WUfB connection check. ### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureNotApplicable -The Execute Rollback Feature Not Applicable event sends basic telemetry on the applicability of the Feature Rollback, to support the functionality of Feature Rollback. This event provides critical information for the feature because it will alert IT Admins that devices they are attempting to rollback Features updates are not applicable. +This event sends basic telemetry on whether Feature Rollback (rolling back features updates) is applicable to a device. The following fields are available: -- **current** Result of currency check -- **dismOperationSucceeded** Dism uninstall operation status -- **oSVersion** Build number of the machine -- **paused** Machine's pause status -- **rebootRequestSucceeded** Reboot CSP call success status -- **wUfBConnected** Result of WUfB connection check +- **current** Result of currency check. +- **dismOperationSucceeded** Dism uninstall operation status. +- **oSVersion** Build number of the device. +- **paused** Indicates whether the device is paused. +- **rebootRequestSucceeded** Reboot CSP call success status. +- **wUfBConnected** Result of WUfB connection check. ### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureStarted -The Execute Rollback Feature Started event sends basic information on the start process to provide information that the Feature Rollback has started. +This event sends basic information indicating that Feature Rollback has started. ### Microsoft.Windows.UpdateCsp.ExecuteRollBackFeatureSucceeded -The Execute Rollback Feature Succeed event sends basic telemetry on the success of the Rollback of the Feature updates. This functionality supports our feature by providing insights to IT Admins of the success of the Feature rollback. +This event sends basic telemetry on the success of the rollback of feature updates. ### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityFailed -The Execute Rollback Quality Failed event sends basic telemetry on the failure of the rollback of the Quality/LCU builds. This functionality supports our feature by providing IT Admins the ability to see the operation failed allowing them to do further triage of the device. +This event sends basic telemetry on the failure of the rollback of the Quality/LCU builds. The following fields are available: -- **current** Result of currency check -- **dismOperationSucceeded** Dism uninstall operation status -- **hResult** Failure error code -- **oSVersion** Build number of the machine -- **paused** Machine's pause status +- **current** Result of currency check. +- **dismOperationSucceeded** Dism uninstall operation status. +- **hResult** Failure error code. +- **oSVersion** Build number of the device. +- **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot CSP call success status - **wUfBConnected** Result of WUfB connection check @@ -5066,37 +5087,37 @@ This event sends data describing the start of a new download to enable Delivery The following fields are available: -- **background** If the download is happening in the background -- **bytesRequested** Number of bytes requested for download -- **callerName** Name of the API Caller +- **background** Indicates whether the download is happening in the background. +- **bytesRequested** Number of bytes requested for the download. +- **callerName** Name of the API caller. - **cdnUrl** Url of the source CDN -- **costFlags** Network cost flags -- **deviceProfile** Identifies the usage or form factor (Desktop, Xbox, VM, etc) -- **diceRoll** Random number used for determining if a client will use peering -- **doClientVersion** Version of the Delivery Optimization client -- **doErrorCode** Delivery Optimization error code returned -- **downloadMode** DownloadMode used (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100) -- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider: 0, GeoProvider: 1, GeoVerProvider: 2, CpProvider: 3, DiscoveryProvider: 4, RegistryProvider: 5, GroupPolicyProvider: 6, MdmProvider: 7, SettingsProvider: 8, InvalidProviderType: 9) -- **errorCode** Error code returned -- **experimentId** Used to correlate client/services calls that are part of the same test during A/B testing -- **fileID** ID of the File being downloaded -- **filePath** Path to where the downloaded file will be written -- **fileSize** Total filesize of the file that was downloaded -- **fileSizeCaller** Value for total file size provided by our caller -- **groupID** ID for the group -- **isEncrypted** Whether the download is encrypted -- **isVpn** If the machine is connected to a Virtual Private Network -- **jobID** Identifier for the Windows Update Job -- **minDiskSizeGB** The minimum disk size policy set for the device to allow Peering with Delivery Optimization -- **minDiskSizePolicyEnforced** If there is an enforced mininum disk size requirement for peering -- **minFileSizePolicy** Minimum filesize policy set for the device to allow Peering with Delivery Optimization -- **peerID** ID for this Delivery Optimization client -- **predefinedCallerName** Name of the API Caller -- **scenarioID** ID for the Scenario -- **sessionID** ID for the file download session -- **setConfigs** ID of the Update being downloaded -- **updateID** ID of the Update being downloaded -- **usedMemoryStream** If the download is using memory streaming in App downloads +- **costFlags** A set of flags representing network cost. +- **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). +- **diceRoll** Random number used for determining if a client will use peering. +- **doClientVersion** The version of the Delivery Optimization client. +- **doErrorCode** The Delivery Optimization error code that was returned. +- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). +- **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). +- **errorCode** The error code that was returned. +- **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. +- **fileID** The ID of the file being downloaded. +- **filePath** The path to where the downloaded file will be written. +- **fileSize** Total file size of the file that was downloaded. +- **fileSizeCaller** Value for total file size provided by our caller. +- **groupID** ID for the group. +- **isEncrypted** Indicates whether the download is encrypted. +- **isVpn** Indicates whether the device is connected to a Virtual Private Network. +- **jobID** The ID of the Windows Update job. +- **minDiskSizeGB** The minimum disk size (in GB) policy set for the device to allow peering with delivery optimization. +- **minDiskSizePolicyEnforced** Indicates whether there is an enforced minimum disk size requirement for peering. +- **minFileSizePolicy** The minimum content file size policy to allow the download using peering with delivery optimization. +- **peerID** The ID for this delivery optimization client. +- **predefinedCallerName** Name of the API caller. +- **scenarioID** The ID of the scenario. +- **sessionID** The ID for the file download session. +- **setConfigs** A JSON representation of the configurations that have been set, and their sources. +- **updateID** The ID of the update being downloaded. +- **usedMemoryStream** Indicates whether the download used memory streaming. ## Windows Update events @@ -5108,21 +5129,21 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. +- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. - **relatedCV** Correlation vector value generated from the latest USO scan. - **scenarioId** Indicates the update scenario. - **sessionId** Unique value for each update session. -- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each Update. +- **updateId** Unique ID for each update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -5159,7 +5180,7 @@ The following fields are available: - **packageCountTotalExpress** Total number of express packages. - **packageSizeCanonical** Size of canonical packages in bytes. - **packageSizeDiff** Size of diff packages in bytes. -- **packageSizeExpress** Size of express packages in bytes +- **packageSizeExpress** Size of express packages in bytes. - **rangeRequestState** Represents the state of the download range request. - **relatedCV** Correlation vector value generated from the latest USO scan. - **result** Result of the download request phase of update. @@ -5445,7 +5466,7 @@ The following fields are available: - **displayNeededReason** List of reasons for needing display. - **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery).. - **gameModeReason** Name of the executable that caused the game mode state check to start. - **ignoredReason** List of reasons that were intentionally ignored. - **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). @@ -5559,7 +5580,7 @@ This event is sent during update scan, download, or install, and indicates that The following fields are available: -- **configVersion** Escalation config version on device . +- **configVersion** Escalation config version on device. - **downloadElapsedTime** Indicates how long since the download is required on device. - **downloadRiskLevel** At-risk level of download phase. - **installElapsedTime** Indicates how long since the install is required on device. @@ -5635,7 +5656,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. +- **flightID** Unique update ID - **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5882,21 +5903,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** Number of mounted images. -- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. From 050fc5032631103b12b95db00703d2eff6f07bf4 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 27 Aug 2018 12:57:35 -0700 Subject: [PATCH 18/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 173 +++++++----------- 1 file changed, 67 insertions(+), 106 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index c88b2ded23..93151bfa7d 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -34,7 +34,7 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields.md) +- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) - [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) - [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) @@ -83,7 +83,7 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. @@ -95,10 +95,10 @@ The following fields are available: - **SystemProcessorNx** The count of the number of this particular object type present on this device. - **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. - **SystemProcessorSse2** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of SystemTouch objects present on this machine. -- **SystemWim** The count of SystemWim objects present on this machine. +- **SystemTouch** The count of the number of this particular object type present on this device. +- **SystemWim** The count of the number of this particular object type present on this device. - **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **SystemWlan** The count of SystemWlan objects present on this machine. +- **SystemWlan** The count of the number of this particular object type present on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -156,7 +156,7 @@ The following fields are available: - **IsBootCritical** Is the device boot critical? - **SdbEntries** An array of fields indicating the SDB entries that apply to this device. - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver +- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -1306,7 +1306,7 @@ The following fields are available: - **AppraiserTaskExitCode** The Appraiser task exist code. - **AppraiserTaskLastRun** The last runtime for the Appraiser task. - **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** IE version running on the device. +- **IEVersion** Retrieves which version of Internet Explorer is running on this device. ### Census.Battery @@ -1518,7 +1518,7 @@ The following fields are available: - **ProcessorManufacturer** Name of the processor manufacturer. - **ProcessorModel** Name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Microcode revision +- **ProcessorUpdateRevision** Microcode revision. - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. - **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -1712,35 +1712,16 @@ The following fields are available: - **sig** A common schema signature that identifies new and modified event schemas. -### Common Data Extensions.cs1 - -Contains all common data extensions that were originally part of the 1.0 schema. - -The following fields are available: - -- **dblp** A bitfield that is set to a non-zero value if the event in the newer schema has an equivalent event from the 1.0 schema. -- **esc** The event sequence clock. -- **ev** The version of the event. -- **locale** The client language locale on the device. -- **scid** The Service Config ID of the running title that sent the event. -- **users** A comma-separated list of all users logged into the device when the event was created. The user ID is encoded. Example: x:12345678 - - ### Common Data Extensions.device Describes the device-related fields. The following fields are available: -- **authId** The ID of the device associated with this event. For Microsoft Account tickets, this is expected to be the MSA Global ID. -- **authSecId** The secondary ID of the device associated with this event. For Microsoft Account tickets, this is expected to be the MSA Hardware ID. - **deviceClass** The device classification. For example, Desktop, Server, or Mobile. -- **id** A unique device ID. - **localId** A locally-defined unique ID for the device. This is not the human-readable device name. Most likely equal to the value stored at HKLM\Software\Microsoft\SQMClient\MachineId - **make** Device manufacturer. - **model** Device model. -- **orgAuthId** ID used to authenticate the orgId. -- **orgId** Organization ID associated with the event. ### Common Data Extensions.Envelope @@ -1754,10 +1735,8 @@ The following fields are available: - **ext_app** Describes the properties of the running application. This extension could be populated by either a client app or a web app. See [Common Data Extensions.app](#common-data-extensionsapp). - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). -- **ext_cs1** If the field doesn't exist in the newer schema, this contains the fields from an earlier schema. See [Common Data Extensions.cs1](#common-data-extensionscs1). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). - **ext_ingest** Describes the fields added dynamically by the service. See [Common Data Extensions.ingest](#common-data-extensionsingest). -- **ext_loc** Describes the location from which the event was logged. See [Common Data Extensions.loc](#common-data-extensionsloc). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_receipts** Describes the fields related to time as provided by the client for debugging purposes. See [Common Data Extensions.receipts](#common-data-extensionsreceipts). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). @@ -1778,24 +1757,7 @@ Describes the fields that are added by the ingestion service. The following fields are available: -- **auth** Used to assess the trustworthiness of the data. -- **client** The client name. -- **clientIp** The IP address seen by the service. This is not necessarily the client IP address, but could be a router or some other device. - **processedIngest** If the event already had an ingest extension and the client was authenticated as a first party, the ingest extension will be inserted as processedIngest. -- **quality** A bitfield added by the service to all events coming from a client device. -- **time** The time that the event was received by the service. -- **userAgent** For events that are not using the CUET component, this is the user agent of the browser. - - -### Common Data Extensions.loc - -Describes the location from which the event was logged. - -The following fields are available: - -- **country** 2 letter country code using the codes from the ISO 3166-1 alpha-2 standard. -- **id** Location ID based on the client's IP address. -- **tz** The time zone of the device. ### Common Data Extensions.os @@ -1840,7 +1802,6 @@ Describes the fields related to a user. The following fields are available: - **authId** This is an ID of the user associated with this event that is deduced from a token such as a Microsoft Account ticket or an XBOX token. -- **id** Unique user Id. Example: x:12345678. - **locale** The language and region. - **localId** Represents a unique user identity that is created locally and added by the client. This is not the user's account ID. @@ -1943,7 +1904,7 @@ The following fields are available: - **ErrorCode** Error code of action - **FlightId** Flight being used - **RelatedCV** CV of any other related events -- **Result** End result of action +- **Result** Phase Setup is in ### DeploymentTelemetry.Deployment_SetupBoxLaunch @@ -1968,9 +1929,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full -- **RelatedCV** Correlation vector of any other related events -- **SetupMode** Phase that Setup is in +- **Quiet** Whether Setup run in quiet mode or in full +- **RelatedCV** CV of any other related events +- **SetupMode** Phase Setup is in ### DeploymentTelemetry.Deployment_Start @@ -2373,11 +2334,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -3531,10 +3492,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** Whether the current user is an administrator or not +- **isAdmin** whether the person who is logging in is an admin - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** Whether the current user has enabled silent elevation -- **privacyConsentState** The current state of the privacy consent experience +- **isSilentElevation** whether the user has most restrictive UAC controls +- **privacyConsentState** whether the user has completed privacy experience - **userRegionCode** The current user's region setting @@ -4176,7 +4137,7 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. +- **UpdateId** Unique ID for each update. - **UserSession** Indicates whether install was invoked by user actions. @@ -4208,15 +4169,15 @@ The following fields are available: - **key19** UI interaction data - **key2** UI interaction data - **key20** UI interaction data -- **key21** Interaction data for the UI -- **key22** Interaction data for the UI -- **key23** Interaction data for the UI -- **key24** Interaction data for the UI -- **key25** Interaction data for the UI -- **key26** Interaction data for the UI -- **key27** Interaction data for the UI +- **key21** UI interaction data +- **key22** UI interaction data +- **key23** UI interaction data +- **key24** UI interaction data +- **key25** UI interaction data +- **key26** UI interaction data +- **key27** UI interaction data - **key28** Interaction data for the UI -- **key29** UI interaction data +- **key29** Interaction data for the UI - **key3** UI interaction data - **key30** UI interaction data - **key4** UI interaction data @@ -4225,8 +4186,8 @@ The following fields are available: - **key7** UI interaction data - **key8** UI interaction data - **key9** UI interaction data -- **PackageVersion** UI interaction data -- **schema** UI interaction data +- **PackageVersion** Current package version of UNP +- **schema** UI interaction type ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat @@ -4878,10 +4839,10 @@ The FulfillmentComplete event is fired at the end of an app install or update. The following fields are available: - **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. -- **FailedRetry** Was the installation or update retry successful? -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. +- **FailedRetry** Tells us if the retry for an install or update was successful or not +- **HResult** Resulting HResult error/success code of this call +- **PFN** Package Family Name of the app that being installed or updated +- **ProductId** Product Id of the app that is being updated or installed ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -5129,21 +5090,21 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. +- **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. - **relatedCV** Correlation vector value generated from the latest USO scan. - **scenarioId** Indicates the update scenario. - **sessionId** Unique value for each update session. -- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each update. +- **updateId** Unique ID for each Update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -5466,7 +5427,7 @@ The following fields are available: - **displayNeededReason** List of reasons for needing display. - **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery).. +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). - **gameModeReason** Name of the executable that caused the game mode state check to start. - **ignoredReason** List of reasons that were intentionally ignored. - **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). @@ -5485,7 +5446,7 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** If we retry to scan +- **detectionBlockreason** Reason for detection not completing. - **detectionRetryMode** Indicates whether we will try to scan again. - **errorCode** State of update action - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. @@ -5495,8 +5456,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Update Session type -- **wuDeviceid** Device ID +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5608,7 +5569,7 @@ This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Time when this event was generated +- **EventPublishedTime** Time when this event was generated. - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. - **updateId** Unique Windows Update ID. @@ -5656,7 +5617,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End-to-end update session ID. -- **flightID** Unique update ID +- **flightID** The specific ID of the Windows Insider build the device is getting. - **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5876,7 +5837,7 @@ The following fields are available: - **scheduledRebootTime** Time scheduled for the reboot. - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. -- **wuDeviceid** Unique DeviceID +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5891,8 +5852,8 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments with which the task is scheduled. -- **TaskName** Name of the task. +- **TaskArgument** The arguments which the task is scheduled with +- **TaskName** Name of the task ## Windows Update mitigation events @@ -5903,21 +5864,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Number of mounted images. -- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. -- **RelatedCV** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. From 9728b81771119723324622947b782a83f11a952a Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Tue, 28 Aug 2018 09:18:16 -0700 Subject: [PATCH 19/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 112 +++++++++--------- 1 file changed, 56 insertions(+), 56 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 93151bfa7d..4b05b60b0d 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -1,4 +1,4 @@ ---- +- description: Use this article to learn more about what Windows diagnostic data is gathered at the basic level. title: Windows 10, version 1803 basic diagnostic events and fields (Windows 10) keywords: privacy, telemetry @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/27/2018 +ms.date: 08/28/2018 --- @@ -83,7 +83,7 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. @@ -95,10 +95,10 @@ The following fields are available: - **SystemProcessorNx** The count of the number of this particular object type present on this device. - **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. - **SystemProcessorSse2** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of the number of this particular object type present on this device. -- **SystemWim** The count of the number of this particular object type present on this device. +- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemWim** The count of SystemWim objects present on this machine. - **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **SystemWlan** The count of the number of this particular object type present on this device. +- **SystemWlan** The count of SystemWlan objects present on this machine. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -1518,7 +1518,7 @@ The following fields are available: - **ProcessorManufacturer** Name of the processor manufacturer. - **ProcessorModel** Name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Microcode revision. +- **ProcessorUpdateRevision** Microcode revision - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. - **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -1853,7 +1853,7 @@ The following fields are available: ### Ms.Device.DeviceInventoryChange -No content is currently available. +Describes the installation state for all hardware and software components available on a particular device. The following fields are available: @@ -1904,7 +1904,7 @@ The following fields are available: - **ErrorCode** Error code of action - **FlightId** Flight being used - **RelatedCV** CV of any other related events -- **Result** Phase Setup is in +- **Result** End result of action ### DeploymentTelemetry.Deployment_SetupBoxLaunch @@ -1915,7 +1915,7 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **FlightId** Flight being used -- **Quiet** Whether Setup run in quiet mode or in full +- **Quiet** Whether Setup will run in quiet mode or in full - **RelatedCV** CV of any other related events - **SetupMode** Phase Setup is in @@ -1929,9 +1929,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup run in quiet mode or in full -- **RelatedCV** CV of any other related events -- **SetupMode** Phase Setup is in +- **Quiet** Whether Setup will run in quiet mode or in full +- **RelatedCV** Correlation vector of any other related events +- **SetupMode** Phase that Setup is in ### DeploymentTelemetry.Deployment_Start @@ -1988,18 +1988,18 @@ The following fields are available: ### TelClientSynthetic.HeartBeat_5 -Fired by UTC as a heartbeat signal. +This event sends data about the health and quality of the diagnostic data from the given device, to help keep Windows up to date. It also enables data analysts to determine how 'trusted' the data is from a given device. The following fields are available: - **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** Last exit code of�Census task. +- **CensusExitCode** Last exit code of Census task. - **CensusStartTime** Time of last Census run. - **CensusTaskEnabled** True if Census is enabled, false otherwise. - **CompressedBytesUploaded** Number of compressed bytes uploaded. - **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. - **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to�throttling. +- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to throttling. - **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. - **DbCriticalDroppedCount** Total number of dropped critical events in event DB. - **DbDroppedCount** Number of events dropped due to DB fullness. @@ -2023,14 +2023,14 @@ The following fields are available: - **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. - **LastEventSizeOffender** Event name of last event which exceeded max event size. - **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** Maximum number of active agents during this�heartbeat timeframe. +- **MaxActiveAgentConnectionCount** Maximum number of active agents during this heartbeat timeframe. - **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. - **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). - **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting�OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting OneSettings service. - **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. - **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures�received from Vortex. +- **VortexFailuresTimeout** Number of time out failures received from Vortex. - **VortexHttpAttempts** Number of attempts to contact Vortex. - **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. - **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. @@ -3927,28 +3927,28 @@ Ensures Windows Updates are secure and complete. Event helps to identify whether The following fields are available: - **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** The secondary status code of the event. +- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce - **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **RevisionId** The revision ID for a specific piece of content. - **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. +- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob - **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". +- **StatusCode** Result code of the event (success, cancellation, failure code HResult) +- **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. +- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. - **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **ValidityWindowInDays** Validity window in effect when verifying the timestamp ## Update events @@ -4137,7 +4137,7 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each update. +- **UpdateId** Unique ID for each Update. - **UserSession** Indicates whether install was invoked by user actions. @@ -4185,8 +4185,8 @@ The following fields are available: - **key6** UI interaction data - **key7** UI interaction data - **key8** UI interaction data -- **key9** UI interaction data -- **PackageVersion** Current package version of UNP +- **key9** Current package version of UNP +- **PackageVersion** UI interaction type - **schema** UI interaction type @@ -4839,10 +4839,10 @@ The FulfillmentComplete event is fired at the end of an app install or update. The following fields are available: - **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. -- **FailedRetry** Tells us if the retry for an install or update was successful or not -- **HResult** Resulting HResult error/success code of this call -- **PFN** Package Family Name of the app that being installed or updated -- **ProductId** Product Id of the app that is being updated or installed +- **FailedRetry** Was the installation or update retry successful? +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -4942,18 +4942,18 @@ This event is sent when searching for update packages to install. It's used to h The following fields are available: -- **CatalogId** The Store Product ID for the product being installed. +- **CatalogId** The Store Catalog ID for the product being installed. - **ProductId** The Store Product ID for the product being installed. - **SkuId** Specfic edition of the app being updated. ### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest -This event happens an app for a user needs to be updated. It's used to help keep Windows up-to-date and secure. +This event occurs when an update is requested for an app to help keep Windows up-to-date and secure. The following fields are available: -- **PFamN** The name of the product that is requested for update. +- **PFamN** The name of the app that is requested for update. ## Windows Update CSP events @@ -5016,27 +5016,27 @@ The following fields are available: ### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityNotApplicable -The Execute Rollback Quality Not Applicable event sends basic telemetry on the applicability of the Quality Rollback, to support the functionality of Quality Rollback. This event provides critical information for feature because it will alert IT Admins that devices they are attempting to rollback Quality updates are not applicable. +This event informs you whether a rollback of Quality updates is applicable to the devices for that you are attempting to rollback. The following fields are available: -- **current** Result of currency check -- **dismOperationSucceeded** Dism uninstall operation status -- **oSVersion** Build number of the machine -- **paused** Machine's pause status -- **rebootRequestSucceeded** Reboot CSP call success status -- **wUfBConnected** Result of WUfB connection check +- **current** Result of currency check. +- **dismOperationSucceeded** Dism uninstall operation status. +- **oSVersion** Build number of the device. +- **paused** Indicates whether the device is paused. +- **rebootRequestSucceeded** Reboot CSP call success status. +- **wUfBConnected** Result of WUfB connection check. ### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityStarted -The Execute Rollback Quality Started event sends basic information on the start process to provide information that the Quality Rollback has started. +This event indicates that the Quality Rollback process has started. ### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualitySucceeded -The Execute Rollback Quality Succeed event sends basic telemetry on the success of the rollback of the Quality/LCU builds. This functionality supports our feature by providing insights to IT Admins of the success of the Quality rollback. +This event sends basic telemetry on the success of the rollback of the Quality/LCU builds. @@ -5446,7 +5446,7 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** Reason for detection not completing. +- **detectionBlockreason** If we retry to scan - **detectionRetryMode** Indicates whether we will try to scan again. - **errorCode** State of update action - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. @@ -5456,8 +5456,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. +- **updateScenarioType** Update Session type +- **wuDeviceid** Device ID ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5837,7 +5837,7 @@ The following fields are available: - **scheduledRebootTime** Time scheduled for the reboot. - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. -- **wuDeviceid** Unique device ID used by Windows Update. +- **wuDeviceid** Unique DeviceID ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5852,8 +5852,8 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments which the task is scheduled with -- **TaskName** Name of the task +- **TaskArgument** The arguments with which the task is scheduled. +- **TaskName** Name of the task. ## Windows Update mitigation events From e8ac9f7c1ab9b0e6a2e1f9dbe8a10680d6c2e9fc Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Tue, 28 Aug 2018 09:37:16 -0700 Subject: [PATCH 20/60] typo --- .../basic-level-windows-diagnostic-events-and-fields-1803.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 4b05b60b0d..4944cb6766 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -1,4 +1,4 @@ -- +--- description: Use this article to learn more about what Windows diagnostic data is gathered at the basic level. title: Windows 10, version 1803 basic diagnostic events and fields (Windows 10) keywords: privacy, telemetry From d178eb2ea269cb9d77bb43be3beb81826f35b335 Mon Sep 17 00:00:00 2001 From: Dawn Wood Date: Tue, 28 Aug 2018 17:47:17 +0000 Subject: [PATCH 21/60] removed IIS Digest... and RSA/AES line items --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 57ef262758..45384ac0de 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -30,10 +30,8 @@ We're removing the following features and functionalities from the installed pro |Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| |[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify a font appearance to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| -|[IIS Digest authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/digestauthentication)|Use [Windows authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/windowsauthentication/) or [client cerficate mapping authentication](https://docs.microsoft.com/iis/configuration/system.webserver/security/authentication/iisclientcertificatemappingauthentication/).| |limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source.| |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| -|[RSA/AES encryption](https://docs.microsoft.com/iis/manage/configuring-security/using-encryption-to-protect-passwords#creating-a-new-rsa-encryption-provider-application) in IIS|Use [CNG encyrption](https://docs.microsoft.com/windows/desktop/SecCNG/cng-portal).| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| |Future updates through [Windows Embedded Developer Update](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\)) for Windows Embedded Standard 8 and Windows Embedded 8 Standard|We’re no longer publishing new updates to the WEDU server. Instead, we recommend that you secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| From f01ea6ce805dc9f9379037e58c4eafe4ae646845 Mon Sep 17 00:00:00 2001 From: Dawn Wood Date: Tue, 28 Aug 2018 17:50:39 +0000 Subject: [PATCH 22/60] changed description of font smoothing per TR feedback --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 45384ac0de..fad87318a1 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -28,7 +28,7 @@ We're removing the following features and functionalities from the installed pro |Feature |Instead you can use...| |-----------|-------------------- |Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| -|[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify a font appearance to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| +|[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify the font antialiasing strategy to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/en-us/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| |limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source.| |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| From ec3f01256aa498283e6b354008c371cde70c0927 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 29 Aug 2018 09:10:17 -0700 Subject: [PATCH 23/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 145 +++++++++--------- 1 file changed, 71 insertions(+), 74 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 4944cb6766..1fcb6c7793 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/28/2018 +ms.date: 08/29/2018 --- @@ -88,17 +88,17 @@ The following fields are available: - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. - **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. -- **PCFP** An ID for the system, calculated by hashing hardware identifiers. +- **PCFP** The count of the number of this particular object type present on this device. - **SystemMemory** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of the number of this particular object type present on this device. - **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. - **SystemProcessorSse2** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of SystemTouch objects present on this machine. -- **SystemWim** The count of SystemWim objects present on this machine. -- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **SystemWlan** The count of SystemWlan objects present on this machine. +- **SystemTouch** The count of the number of this particular object type present on this device. +- **SystemWim** The count of the number of this particular object type present on this device. +- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. +- **SystemWlan** The count of the number of this particular object type present on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -156,7 +156,7 @@ The following fields are available: - **IsBootCritical** Is the device boot critical? - **SdbEntries** An array of fields indicating the SDB entries that apply to this device. - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver +- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -191,7 +191,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. -- **SdbEntries** No content is currently available. ### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageRemove @@ -259,7 +258,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. -- **SdbEntries** No content is currently available. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPassiveRemove @@ -293,7 +291,7 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. -- **SdbEntries** No content is currently available. +- **SdbEntries** Deprecated in RS3. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove @@ -327,7 +325,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. -- **SdbEntries** An array of fields indicating the SDB entries that apply to this BIOS. ### Microsoft.Windows.Appraiser.General.DatasourceSystemBiosRemove @@ -1518,7 +1515,7 @@ The following fields are available: - **ProcessorManufacturer** Name of the processor manufacturer. - **ProcessorModel** Name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Microcode revision +- **ProcessorUpdateRevision** Microcode revision. - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. - **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -1904,7 +1901,7 @@ The following fields are available: - **ErrorCode** Error code of action - **FlightId** Flight being used - **RelatedCV** CV of any other related events -- **Result** End result of action +- **Result** Phase Setup is in ### DeploymentTelemetry.Deployment_SetupBoxLaunch @@ -1915,7 +1912,7 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full +- **Quiet** Whether Setup run in quiet mode or in full - **RelatedCV** CV of any other related events - **SetupMode** Phase Setup is in @@ -2334,11 +2331,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -3927,28 +3924,28 @@ Ensures Windows Updates are secure and complete. Event helps to identify whether The following fields are available: - **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **ExtendedStatusCode** The secondary status code of the event. - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce - **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **RevisionId** The revision ID for a specific piece of content. - **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob +- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. - **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". -- **StatusCode** Result code of the event (success, cancellation, failure code HResult) -- **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. -- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** The status code of the event. +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. - **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** Validity window in effect when verifying the timestamp +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. ## Update events @@ -4137,7 +4134,7 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. +- **UpdateId** Unique ID for each update. - **UserSession** Indicates whether install was invoked by user actions. @@ -4174,10 +4171,10 @@ The following fields are available: - **key23** UI interaction data - **key24** UI interaction data - **key25** UI interaction data -- **key26** UI interaction data +- **key26** Interaction data for the UI - **key27** UI interaction data -- **key28** Interaction data for the UI -- **key29** Interaction data for the UI +- **key28** UI interaction data +- **key29** UI interaction data - **key3** UI interaction data - **key30** UI interaction data - **key4** UI interaction data @@ -4185,8 +4182,8 @@ The following fields are available: - **key6** UI interaction data - **key7** UI interaction data - **key8** UI interaction data -- **key9** Current package version of UNP -- **PackageVersion** UI interaction type +- **key9** UI interaction data +- **PackageVersion** Current package version of UNP - **schema** UI interaction type @@ -4558,7 +4555,7 @@ The following fields are available: ### Microsoft.Windows.WER.MTT.Denominator -This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors to help keep Windows up to date. +No content is currently available. The following fields are available: @@ -4567,7 +4564,7 @@ The following fields are available: ### Microsoft.Windows.WER.MTT.Value -This is used for differential privacy. +This event is used for differential privacy. The following fields are available: @@ -4604,7 +4601,7 @@ The following fields are available: - **ProductId** The identity of the package or packages being installed. - **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. - **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds @@ -4644,12 +4641,12 @@ The following fields are available: - **RelatedCV** Correlation Vector of a previous performed action on this product. - **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. - **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest -This event is sent after the app installations or updates. It's used to help keep Windows up-to-date and secure +No content is currently available. The following fields are available: @@ -4682,12 +4679,12 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The number of attempts by the system to acquire this product. - **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.EndDownload -This event happens during the app update or installation when content is being downloaded at the end of the process to report success or failure. It's used to help keep Windows up-to-date and secure. +This event is sent after an app is downloaded to help keep Windows up-to-date and secure. The following fields are available: @@ -4715,7 +4712,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.EndFrameworkUpdate -This event happens when an app update requires an updated Framework package and the process starts to download it. It's used to help keep Windows up-to-date and secure. +This event is sent when an app update requires an updated Framework package and the process starts to download it. It is used to help keep Windows up-to-date and secure. The following fields are available: @@ -4733,7 +4730,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.EndInstall -This event is sent after a product has been installed. It's used to help keep Windows up-to-date and secure. +This event is sent after a product has been installed to help keep Windows up-to-date and secure. The following fields are available: @@ -4755,7 +4752,7 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates @@ -4794,12 +4791,12 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData -This event is sent between download and installation to see if there is app data that needs to be restored from the cloud. It's used to keep Windows up-to-date and secure. +No content is currently available. The following fields are available: @@ -4820,7 +4817,7 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of system attempts. -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare @@ -4834,31 +4831,31 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete -The FulfillmentComplete event is fired at the end of an app install or update. We use this to track the very end of the install/update process. StoreAgent events are needed to help keep Windows pre-installed 1st party apps up to date and secure, such as the mail and calendar apps. App update failure can be unique across devices and without this data from every device we will not be able to track the success/failure and fix any future vulnerabilities related to these built in Windows Apps. +No content is currently available. The following fields are available: -- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. -- **FailedRetry** Was the installation or update retry successful? -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. +- **CatalogId** No content is currently available. +- **FailedRetry** No content is currently available. +- **HResult** Resulting HResult error/success code of this call +- **PFN** Package Family Name of the app that being installed or updated +- **ProductId** Product Id of the app that is being updated or installed ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate -The FulfillmentInitiate event is fired at the start of an app install or update. We use this to track the very beginning of the install/update process. StoreAgent events are needed to help keep Windows pre-installed 1st party apps up to date and secure, such as the mail and calendar apps. App update failure can be unique across devices and without this data from every device we will not be able to track the success/failure and fix any future vulnerabilities related to these built in Windows Apps. +No content is currently available. The following fields are available: -- **CatalogId** The CatalogId is the name of the product catalog from which this app was chosen. +- **CatalogId** No content is currently available. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest -This event happens at the beginning of the install process when an app update or new app is installed. It's used to help keep Windows up-to-date and secure. +No content is currently available. The following fields are available: @@ -4871,7 +4868,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation -This event is sent when a product install or update is paused either by a user or the system. It's used to help keep Windows up-to-date and secure. +No content is currently available. The following fields are available: @@ -4894,12 +4891,12 @@ The following fields are available: - **RelatedCV** Correlation Vector of a previous performed action on this product. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation -This event happens when a product install or update is resumed either by a user or the system. It's used to help keep Windows up-to-date and secure. +No content is currently available. The following fields are available: @@ -4924,12 +4921,12 @@ The following fields are available: - **RelatedCV** Correlation Vector for the original install before it was resumed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** The Windows Update content ID +- **WUContentId** No content is currently available. ### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest -This event happens when a product install or update is resumed by a user and on installation retries. It's used to help keep Windows up-to-date and secure. +No content is currently available. The following fields are available: @@ -4938,7 +4935,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest -This event is sent when searching for update packages to install. It's used to help keep Windows up-to-date and secure. +No content is currently available. The following fields are available: @@ -4949,7 +4946,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest -This event occurs when an update is requested for an app to help keep Windows up-to-date and secure. +No content is currently available. The following fields are available: @@ -4966,7 +4963,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. +- **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot CSP call success status. @@ -5051,7 +5048,7 @@ The following fields are available: - **background** Indicates whether the download is happening in the background. - **bytesRequested** Number of bytes requested for the download. - **callerName** Name of the API caller. -- **cdnUrl** Url of the source CDN +- **cdnUrl** The URL of the source CDN. - **costFlags** A set of flags representing network cost. - **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). - **diceRoll** Random number used for determining if a client will use peering. @@ -5446,9 +5443,9 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** If we retry to scan +- **detectionBlockreason** Reason for blocking detection - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** State of update action +- **errorCode** Error info - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5456,7 +5453,7 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Update Session type +- **updateScenarioType** Source of the triggered scan - **wuDeviceid** Device ID @@ -5617,7 +5614,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. +- **flightID** Unique update ID - **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5852,8 +5849,8 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments with which the task is scheduled. -- **TaskName** Name of the task. +- **TaskArgument** The arguments which the task is scheduled with +- **TaskName** Name of the task ## Windows Update mitigation events From 5d3e220d7667a53610e3a644271f490da3cfe492 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 29 Aug 2018 14:40:15 -0700 Subject: [PATCH 24/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 102 ++++++++---------- 1 file changed, 45 insertions(+), 57 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 1fcb6c7793..4187640306 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -83,22 +83,22 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. - **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. -- **PCFP** The count of the number of this particular object type present on this device. -- **SystemMemory** The count of the number of this particular object type present on this device. +- **PCFP** An ID for the system, calculated by hashing hardware identifiers. +- **SystemMemory** The count of SystemMemory objects present on this machine. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. -- **SystemProcessorNx** The count of the number of this particular object type present on this device. -- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. -- **SystemProcessorSse2** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of the number of this particular object type present on this device. -- **SystemWim** The count of the number of this particular object type present on this device. -- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. -- **SystemWlan** The count of the number of this particular object type present on this device. +- **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. +- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. +- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. +- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemWim** The count of SystemWim objects present on this machine. +- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. +- **SystemWlan** The count of SystemWlan objects present on this machine. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -154,7 +154,6 @@ The following fields are available: - **ActiveNetworkConnection** Is the device an active network device? - **AppraiserVersion** The version of the appraiser file generating the events. - **IsBootCritical** Is the device boot critical? -- **SdbEntries** An array of fields indicating the SDB entries that apply to this device. - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? - **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -291,7 +290,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. -- **SdbEntries** Deprecated in RS3. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoPostUpgradeRemove @@ -1733,7 +1731,6 @@ The following fields are available: - **ext_container** Describes the properties of the container for events logged within a container. See [Common Data Extensions.container](#common-data-extensionscontainer). - **ext_cs** Describes properties related to the schema of the event. See [Common Data Extensions.cs](#common-data-extensionscs). - **ext_device** Describes the device-related fields. See [Common Data Extensions.device](#common-data-extensionsdevice). -- **ext_ingest** Describes the fields added dynamically by the service. See [Common Data Extensions.ingest](#common-data-extensionsingest). - **ext_os** Describes the operating system properties that would be populated by the client. See [Common Data Extensions.os](#common-data-extensionsos). - **ext_receipts** Describes the fields related to time as provided by the client for debugging purposes. See [Common Data Extensions.receipts](#common-data-extensionsreceipts). - **ext_sdk** Describes the fields related to a platform library required for a specific SDK. See [Common Data Extensions.sdk](#common-data-extensionssdk). @@ -1748,15 +1745,6 @@ The following fields are available: - **ver** Represents the major and minor version of the extension. -### Common Data Extensions.ingest - -Describes the fields that are added by the ingestion service. - -The following fields are available: - -- **processedIngest** If the event already had an ingest extension and the client was authenticated as a first party, the ingest extension will be inserted as processedIngest. - - ### Common Data Extensions.os Describes some properties of the operating system. @@ -1912,7 +1900,7 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **FlightId** Flight being used -- **Quiet** Whether Setup run in quiet mode or in full +- **Quiet** Whether Setup will run in quiet mode or in full - **RelatedCV** CV of any other related events - **SetupMode** Phase Setup is in @@ -1926,9 +1914,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full -- **RelatedCV** Correlation vector of any other related events -- **SetupMode** Phase that Setup is in +- **Quiet** Whether Setup run in quiet mode or in full +- **RelatedCV** CV of any other related events +- **SetupMode** Phase Setup is in ### DeploymentTelemetry.Deployment_Start @@ -2331,11 +2319,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -3716,7 +3704,7 @@ Download process event for target update on Windows Update client. See EventScen The following fields are available: -- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. +- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded.Number of seconds the update was actively being downloaded. - **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. - **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. - **BiosFamily** The family of the BIOS (Basic Input Output System). @@ -3931,7 +3919,7 @@ The following fields are available: - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. - **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce - **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **RevisionId** The revision ID for a specific piece of content. - **RevisionNumber** The revision number for a specific piece of content. @@ -3942,10 +3930,10 @@ The following fields are available: - **SignatureAlgorithm** The hash algorithm for the metadata signature. - **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast - **StatusCode** The status code of the event. -- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. - **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. - **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. +- **ValidityWindowInDays** Validity window in effect when verifying the timestamp ## Update events @@ -4171,16 +4159,16 @@ The following fields are available: - **key23** UI interaction data - **key24** UI interaction data - **key25** UI interaction data -- **key26** Interaction data for the UI +- **key26** UI interaction data - **key27** UI interaction data - **key28** UI interaction data -- **key29** UI interaction data +- **key29** Interaction data for the UI - **key3** UI interaction data - **key30** UI interaction data - **key4** UI interaction data - **key5** UI interaction data -- **key6** UI interaction data -- **key7** UI interaction data +- **key6** Current package version of UNP +- **key7** UI interaction type - **key8** UI interaction data - **key9** UI interaction data - **PackageVersion** Current package version of UNP @@ -4555,7 +4543,7 @@ The following fields are available: ### Microsoft.Windows.WER.MTT.Denominator -No content is currently available. +This event provides a denominator to calculate MTTF (mean-time-to-failure) for crashes and other errors, to help keep Windows up to date. The following fields are available: @@ -4837,9 +4825,9 @@ The following fields are available: - **CatalogId** No content is currently available. - **FailedRetry** No content is currently available. -- **HResult** Resulting HResult error/success code of this call -- **PFN** Package Family Name of the app that being installed or updated -- **ProductId** Product Id of the app that is being updated or installed +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -5008,12 +4996,12 @@ The following fields are available: - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot CSP call success status -- **wUfBConnected** Result of WUfB connection check +- **wUfBConnected** Result of Windows Update for Business connection check. ### Microsoft.Windows.UpdateCsp.ExecuteRollBackQualityNotApplicable -This event informs you whether a rollback of Quality updates is applicable to the devices for that you are attempting to rollback. +This event informs you whether a rollback of Quality updates is applicable to the devices that you are attempting to rollback. The following fields are available: @@ -5054,7 +5042,7 @@ The following fields are available: - **diceRoll** Random number used for determining if a client will use peering. - **doClientVersion** The version of the Delivery Optimization client. - **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). +- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100).) - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). - **errorCode** The error code that was returned. - **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. @@ -5087,21 +5075,21 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. +- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. - **relatedCV** Correlation vector value generated from the latest USO scan. - **scenarioId** Indicates the update scenario. - **sessionId** Unique value for each update session. -- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each Update. +- **updateId** Unique ID for each update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -5443,7 +5431,7 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** Reason for blocking detection +- **detectionBlockreason** If we retry to scan - **detectionRetryMode** Indicates whether we will try to scan again. - **errorCode** Error info - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. @@ -5453,7 +5441,7 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Source of the triggered scan +- **updateScenarioType** Update Session type - **wuDeviceid** Device ID @@ -5834,7 +5822,7 @@ The following fields are available: - **scheduledRebootTime** Time scheduled for the reboot. - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. -- **wuDeviceid** Unique DeviceID +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot From c8bce926136310b3afc5783033cfe939b1e0c40a Mon Sep 17 00:00:00 2001 From: Dawn Wood Date: Wed, 29 Aug 2018 23:24:31 +0000 Subject: [PATCH 25/60] Updated windows-10-1809-removed-features.md --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index fad87318a1..760d25ffc4 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -45,6 +45,6 @@ If you have feedback about the proposed replacement of any of these features, yo |-----------|---------------------| |Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), including an inbox method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF Dynamic Lock APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| -|Snipping tool|The snipping tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Screen Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Screen Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the snipping tool as a separate app but are instead consolidating its functionality into Screen Sketch.| +|Snipping Tool|The Snipping Tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Snip & Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Snip & Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the Snipping Tool as a separate app but are instead consolidating its functionality into Snip & Sketch.| From 9f8d4ff661d17189888826b0c64d11a5abaa4bac Mon Sep 17 00:00:00 2001 From: Dawn Wood Date: Wed, 29 Aug 2018 23:26:27 +0000 Subject: [PATCH 26/60] Updated windows-10-1809-removed-features.md --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index 760d25ffc4..f9c6ae9c27 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -45,6 +45,6 @@ If you have feedback about the proposed replacement of any of these features, yo |-----------|---------------------| |Companion device dynamic lock APIS|The companion device framework (CDF) APIs enable wearables and other devices to unlock a PC. In Windows 10, version 1709, we introduced [Dynamic Lock](https://docs.microsoft.com/windows/security/identity-protection/hello-for-business/hello-features#dynamic-lock), including an inbox method using Bluetooth to detect whether a user is present and lock or unlock the PC. Because of this, and because third party partners didn't adopt the CDF method, we're no longer developing CDF Dynamic Lock APIs.| |OneSync service|The OneSync service synchronizes data for the Mail, Calendar, and People apps. We've added a sync engine to the Outlook app that provides the same synchronization.| -|Snipping Tool|The Snipping Tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Snip & Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Snip & Sketch directly and start a snip from there, or just press WIN + Shift + S. We're no longer developing the Snipping Tool as a separate app but are instead consolidating its functionality into Snip & Sketch.| +|Snipping Tool|The Snipping Tool is an application included in Windows 10 that is used to capture screenshots, either the full screen or a smaller, custom "snip" of the screen. In Windows 10, version 1809, we're [introducing a new universal app, Snip & Sketch](https://blogs.windows.com/windowsexperience/2018/05/03/announcing-windows-10-insider-preview-build-17661/#8xbvP8vMO0lF20AM.97), that provides the same screen snipping abilities, as well as additional features. You can launch Snip & Sketch directly and start a snip from there, or just press WIN + Shift + S. Snip & Sketch can also be launched from the “Screen snip” button in the Action Center. We're no longer developing the Snipping Tool as a separate app but are instead consolidating its functionality into Snip & Sketch.| From 8844a3bfdcaae06632832bf44552ef870da7acb0 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Thu, 30 Aug 2018 08:41:44 -0700 Subject: [PATCH 27/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 365 +++++++++--------- 1 file changed, 182 insertions(+), 183 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 4187640306..667d057d3b 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/29/2018 +ms.date: 08/30/2018 --- @@ -83,22 +83,22 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. - **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. - **PCFP** An ID for the system, calculated by hashing hardware identifiers. -- **SystemMemory** The count of SystemMemory objects present on this machine. +- **SystemMemory** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. -- **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. -- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. -- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. +- **SystemProcessorNx** The count of the number of this particular object type present on this device. +- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. +- **SystemProcessorSse2** The count of the number of this particular object type present on this device. - **SystemTouch** The count of SystemTouch objects present on this machine. -- **SystemWim** The count of SystemWim objects present on this machine. +- **SystemWim** The count of the number of this particular object type present on this device. - **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **SystemWlan** The count of SystemWlan objects present on this machine. +- **SystemWlan** The count of the number of this particular object type present on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -145,7 +145,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd -This event sends compatibility data for a PNP device, to help keep Windows up-to-date. +This event sends compatibility data for a PNP device, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -155,7 +155,7 @@ The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. - **IsBootCritical** Is the device boot critical? - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver +- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -183,7 +183,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DatasourceDriverPackageAdd -This event sends compatibility database data about driver packages to help keep Windows up-to-date. +This event sends compatibility database data about driver packages to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -223,7 +223,6 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. -- **SdbEntries** No content is currently available. ### Microsoft.Windows.Appraiser.General.DataSourceMatchingInfoBlockRemove @@ -1914,9 +1913,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup run in quiet mode or in full -- **RelatedCV** CV of any other related events -- **SetupMode** Phase Setup is in +- **Quiet** Whether Setup will run in quiet mode or in full +- **RelatedCV** Correlation vector of any other related events +- **SetupMode** Phase that Setup is in ### DeploymentTelemetry.Deployment_Start @@ -1978,13 +1977,13 @@ This event sends data about the health and quality of the diagnostic data from t The following fields are available: - **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** Last exit code of Census task. +- **CensusExitCode** Last exit code of�Census task. - **CensusStartTime** Time of last Census run. - **CensusTaskEnabled** True if Census is enabled, false otherwise. - **CompressedBytesUploaded** Number of compressed bytes uploaded. - **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. - **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to throttling. +- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to�throttling. - **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. - **DbCriticalDroppedCount** Total number of dropped critical events in event DB. - **DbDroppedCount** Number of events dropped due to DB fullness. @@ -2008,14 +2007,14 @@ The following fields are available: - **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. - **LastEventSizeOffender** Event name of last event which exceeded max event size. - **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** Maximum number of active agents during this heartbeat timeframe. +- **MaxActiveAgentConnectionCount** Maximum number of active agents during this�heartbeat timeframe. - **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. - **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). - **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting OneSettings service. +- **SettingsHttpFailures** Number of failures from contacting�OneSettings service. - **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. - **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures received from Vortex. +- **VortexFailuresTimeout** Number of time out failures�received from Vortex. - **VortexHttpAttempts** Number of attempts to contact Vortex. - **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. - **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. @@ -3918,22 +3917,22 @@ The following fields are available: - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. - **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. +- **MetadataSignature** Base64 string of the signature associated with the update metadata (specified by revision id) +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. +- **RevisionId** Identifies the revision of this specific piece of content +- **RevisionNumber** Identifies the revision number of this specific piece of content - **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. -- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. +- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob +- **SignatureAlgorithm** Hash algorithm for the metadata signature - **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast - **StatusCode** The status code of the event. -- **TimestampTokenCertThumbprint** Thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. -- **ValidityWindowInDays** Validity window in effect when verifying the timestamp +- **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. +- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. +- **UpdateId** Identifier associated with the specific piece of content +- **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. ## Update events @@ -3961,11 +3960,11 @@ This event sends data for the download request phase of updating Windows via the The following fields are available: - **DeletedCorruptFiles** Boolean indicating whether corrupt payload was deleted. -- **DownloadRequests** No content is currently available. +- **DownloadRequests** Number of times a download was retried. - **ErrorCode** The error code returned for the current download request phase. -- **ExtensionName** No content is currently available. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. - **FlightId** Unique ID for each flight. -- **InternalFailureResult** No content is currently available. +- **InternalFailureResult** Indicates a non-fatal error from a plugin. - **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) - **PackageCountOptional** Number of optional packages requested. - **PackageCountRequired** Number of required packages requested. @@ -4046,9 +4045,9 @@ This event sends data for the install phase of updating Windows. The following fields are available: - **ErrorCode** The error code returned for the current install phase. -- **ExtensionName** No content is currently available. +- **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. - **FlightId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). -- **InternalFailureResult** No content is currently available. +- **InternalFailureResult** Indicates a non-fatal error from a plugin. - **ObjectId** Correlation vector value generated from the latest USO scan. - **RelatedCV** Correlation vector value generated from the latest USO scan. - **Result** The result for the current install phase. @@ -4130,17 +4129,17 @@ The following fields are available: ### Microsoft.Windows.UpdateNotificationPipeline.JavascriptJavascriptCriticalGenericMessage -Event to indicate that Javascript is reporting a schema and a set of values for critical telemetry. +This event indicates that Javascript is reporting a schema and a set of values for critical telemetry. The following fields are available: -- **CampaignConfigVersion** Config version of current campaign -- **CampaignID** Currently running campaign on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version of the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client side counter which indicates ordering of events sent by this user +- **CampaignConfigVersion** Configuration version of the current campaign. +- **CampaignID** ID of the currently running campaign. +- **ConfigCatalogVersion** Current catalog version of the update notification. +- **ContentVersion** Content version of the current update notification campaign. +- **CV** Correlation vector. +- **DetectorVersion** Most recently run detector version for the current campaign. +- **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. - **key1** UI interaction data - **key10** UI interaction data - **key11** UI interaction data @@ -4153,42 +4152,42 @@ The following fields are available: - **key18** UI interaction data - **key19** UI interaction data - **key2** UI interaction data -- **key20** UI interaction data -- **key21** UI interaction data -- **key22** UI interaction data -- **key23** UI interaction data -- **key24** UI interaction data -- **key25** UI interaction data -- **key26** UI interaction data -- **key27** UI interaction data -- **key28** UI interaction data -- **key29** Interaction data for the UI +- **key20** Interaction data for the UI +- **key21** Interaction data for the UI +- **key22** Interaction data for the UI +- **key23** Interaction data for the UI +- **key24** Interaction data for the UI +- **key25** Interaction data for the UI +- **key26** Interaction data for the UI +- **key27** Interaction data for the UI +- **key28** Interaction data for the UI +- **key29** UI interaction data - **key3** UI interaction data - **key30** UI interaction data - **key4** UI interaction data - **key5** UI interaction data -- **key6** Current package version of UNP -- **key7** UI interaction type +- **key6** UI interaction data +- **key7** UI interaction data - **key8** UI interaction data - **key9** UI interaction data -- **PackageVersion** Current package version of UNP -- **schema** UI interaction type +- **PackageVersion** Current package version of the update notification. +- **schema** UI interaction type. ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignHeartbeat -This event is sent at the start of each campaign, to be used as a heartbeat +This event is sent at the start of each campaign, to be used as a heartbeat. The following fields are available: -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version +- **CampaignConfigVersion** Configuration version for the current campaign. +- **CampaignID** Current campaign that is running on Update Notification Pipeline. +- **ConfigCatalogVersion** Current catalog version of Update Notification Pipeline. +- **ContentVersion** Content version for the current campaign on Update Notification Pipeline. +- **CV** Correlation vector. +- **DetectorVersion** Most recently run detector version for the current campaign on Update Notification Pipeline. +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. +- **PackageVersion** Current package version for Update Notification Pipeline. ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign @@ -4261,16 +4260,16 @@ The following fields are available: ### FacilitatorTelemetry.DCATDownload -Datapoint that determines whether or not machines received additional/critical supplemental content during an OS Upgrade. +This event indicates whether devices received additional or critical supplemental content during an OS Upgrade, to help keep Windows up-to-date and secure. The following fields are available: - **DownloadSize** Download size of payload. - **ElapsedTime** Time taken to download payload. -- **MediaFallbackUsed** Used to determine if we used Media CompDBs to figure out package requirements for upgrade -- **ResultCode** Result returned by Facilitator’s DCAT call -- **Scenario** Dynamic Update scenario (Image DU, or Setup DU) -- **Type** Which type of package was downloaded +- **MediaFallbackUsed** Used to determine if we used Media CompDBs to figure out package requirements for the upgrade. +- **ResultCode** Result returned by the Facilitator DCAT call. +- **Scenario** Dynamic Update scenario (Image DU, or Setup DU). +- **Type** Type of package that was downloaded. ### FacilitatorTelemetry.InitializeDU @@ -4288,7 +4287,7 @@ The following fields are available: ### Setup360Telemetry.Downlevel -This event sends data indicating that the device has invoked the downlevel phase of the upgrade. It's used to help keep Windows up-to-date and secure. +This event sends data indicating that the device has started the downlevel phase of the upgrade, to help keep Windows up-to-date and secure. The following fields are available: @@ -4298,19 +4297,19 @@ The following fields are available: - **HostOsSkuName** The operating system edition which is running Setup360 instance (downlevel OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe. - **ReportId** In the Windows Update scenario, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback -- **Setup360Result** The result of Setup360. It's an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Extended** More detailed information about phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360 (for example, Predownload, Install, Finalize, Rollback). +- **Setup360Result** The result of Setup360 (HRESULT used to diagnose errors). +- **Setup360Scenario** The Setup360 flow type (for example, Boot, Media, Update, MCT). - **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string that uniquely identifies a group of events. +- **State** Exit state of given Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** An ID that uniquely identifies a group of events. - **WuId** This is the Windows Update Client ID. In the Windows Update scenario, this is the same as the clientId. ### Setup360Telemetry.Finalize -This event sends data indicating that the device has invoked the finalize phase of the upgrade, to help keep Windows up-to-date. +This event sends data indicating that the device has started the phase of finalizing the upgrade, to help keep Windows up-to-date and secure. The following fields are available: @@ -4320,19 +4319,19 @@ The following fields are available: - **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe - **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Extended** More detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** ID that uniquely identifies a group of events. - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. ### Setup360Telemetry.OsUninstall -The event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.OSUninstall indicates the outcome of an OS uninstall. +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, it indicates the outcome of an OS uninstall. The following fields are available: @@ -4342,19 +4341,19 @@ The following fields are available: - **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe. - **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** ID that uniquely identifies a group of events. - **WuId** Windows Update client ID. ### Setup360Telemetry.PostRebootInstall -This event sends data indicating that the device has invoked the postrebootinstall phase of the upgrade, to help keep Windows up-to-date. +This event sends data indicating that the device has invoked the post reboot install phase of the upgrade, to help keep Windows up-to-date. The following fields are available: @@ -4384,21 +4383,21 @@ The following fields are available: - **FlightData** Unique value that identifies the flight. - **HostOSBuildNumber** The build number of the previous OS. - **HostOsSkuName** The OS edition which is running Setup360 instance (previous operating system). -- **InstanceId** A unique GUID that identifies each instance of setuphost.exe +- **InstanceId** A unique GUID that identifies each instance of setuphost.exe. - **ReportId** Using Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled -- **TestId** A string to uniquely identify a group of events. +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, canceled. +- **TestId** ID that uniquely identifies a group of events. - **WuId** This is the Windows Update Client ID. Using Windows Update, this is the same as the clientId. ### Setup360Telemetry.PreDownloadUX -This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS. Specifically the Setup360Telemetry.PredownloadUX indicates the outcome of the PredownloadUX portion of the update process +This event sends data regarding OS Updates and Upgrades from Windows 7.X, Windows 8.X, Windows 10 and RS, to help keep Windows up-to-date and secure. Specifically, it indicates the outcome of the PredownloadUX portion of the update process. The following fields are available: @@ -4408,19 +4407,19 @@ The following fields are available: - **HostOsSkuName** The OS edition which is running the Setup360 instance (previous operating system). - **InstanceId** Unique GUID that identifies each instance of setuphost.exe. - **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Examplle: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of the target OS). -- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled -- **TestId** A string to uniquely identify a group of events. +- **State** The exit state of the Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **TestId** ID that uniquely identifies a group of events. - **WuId** Windows Update client ID. ### Setup360Telemetry.PreInstallQuiet -This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up to date. +This event sends data indicating that the device has invoked the preinstall quiet phase of the upgrade, to help keep Windows up-to-date. The following fields are available: @@ -4430,19 +4429,19 @@ The following fields are available: - **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe - **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback etc. +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used to diagnose errors. -- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT) +- **Setup360Scenario** Setup360 flow type (Boot, Media, Update, MCT). - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. ### Setup360Telemetry.PreInstallUX -This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10. Specifically, the Setup360Telemetry.PreinstallUX indicates the outcome of the PreinstallUX portion of the update process. +This event sends data regarding OS updates and upgrades from Windows 7, Windows 8, and Windows 10, to help keep Windows up-to-date. Specifically, it indicates the outcome of the PreinstallUX portion of the update process. The following fields are available: @@ -4452,12 +4451,12 @@ The following fields are available: - **HostOsSkuName** The OS edition which is running the Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe. - **ReportId** For Windows Update, this will be the Windows Update client ID that is passed to Setup. In Media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type, Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. - **TestId** A string to uniquely identify a group of events. - **WuId** Windows Update client ID. @@ -4468,7 +4467,7 @@ This event sends data about OS deployment scenarios, to help keep Windows up-to- The following fields are available: -- **ClientId** Retrieves the upgrade ID: Upgrades via Windows Update - specifies the WU clientID. All other deployment - static string. +- **ClientId** Retrieves the upgrade ID. In the Windows Update scenario, this will be the Windows Update client ID. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. - **FieldName** Retrieves the data point. - **FlightData** Specifies a unique identifier for each group of Windows Insider builds. - **InstanceId** Retrieves a unique identifier for each instance of a setup session. @@ -4479,7 +4478,7 @@ The following fields are available: ### Setup360Telemetry.Setup360DynamicUpdate -This event helps determine whether or not the device received supplemental content during an operating system upgrade. +This event helps determine whether the device received supplemental content during an operating system upgrade, to help keep Windows up-to-date. The following fields are available: @@ -4505,12 +4504,12 @@ The following fields are available: - **HostOsSkuName** The OS edition which is running Setup360 instance (previous OS). - **InstanceId** A unique GUID that identifies each instance of setuphost.exe - **ReportId** With Windows Update, this is the updateID that is passed to Setup. In media setup, this is the GUID for the install.wim. -- **Setup360Extended** Extension of result - more granular information about phase/action when the potential failure happened -- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback +- **Setup360Extended** Detailed information about the phase/action when the potential failure occurred. +- **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that can be used used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **State** The exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. - **TestId** A string to uniquely identify a group of events. - **WuId** This is the Windows Update Client ID. With Windows Update, this is the same as the clientId. @@ -4589,7 +4588,7 @@ The following fields are available: - **ProductId** The identity of the package or packages being installed. - **SystemAttemptNumber** The total number of automatic attempts at installation before it was canceled. - **UserAttemptNumber** The total number of user attempts at installation before it was canceled. -- **WUContentId** No content is currently available. +- **WUContentId** Licensing identity of this package. ### Microsoft.Windows.StoreAgent.Telemetry.BeginGetInstalledContentIds @@ -4629,12 +4628,12 @@ The following fields are available: - **RelatedCV** Correlation Vector of a previous performed action on this product. - **SystemAttemptNumber** Total number of automatic attempts to install before it was canceled. - **UserAttemptNumber** Total number of user attempts to install before it was canceled. -- **WUContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. ### Microsoft.Windows.StoreAgent.Telemetry.CompleteInstallOperationRequest -No content is currently available. +This event is sent at the end of app installations or updates to help keep Windows up-to-date and secure. The following fields are available: @@ -4667,7 +4666,7 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The number of attempts by the system to acquire this product. - **UserAttemptNumber** The number of attempts by the user to acquire this product -- **WUContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. ### Microsoft.Windows.StoreAgent.Telemetry.EndDownload @@ -4740,7 +4739,7 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. ### Microsoft.Windows.StoreAgent.Telemetry.EndScanForUpdates @@ -4758,7 +4757,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.EndSearchUpdatePackages -This event is sent after searching for update packages to install. It's used to help keep Windows up-to-date and secure. +This event is sent after searching for update packages to install. It is used to help keep Windows up-to-date and secure. The following fields are available: @@ -4779,12 +4778,12 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. ### Microsoft.Windows.StoreAgent.Telemetry.EndStageUserData -No content is currently available. +This event is sent after restoring user data (if any) that needs to be restored following a product install. It is used to keep Windows up-to-date and secure. The following fields are available: @@ -4805,7 +4804,7 @@ The following fields are available: - **ProductId** The Store Product ID for the product being installed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of system attempts. -- **WUContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. ### Microsoft.Windows.StoreAgent.Telemetry.EndUpdateMetadataPrepare @@ -4819,31 +4818,31 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentComplete -No content is currently available. +This event is sent at the end of an app install or update to help keep Windows up-to-date and secure. The following fields are available: -- **CatalogId** No content is currently available. -- **FailedRetry** No content is currently available. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. +- **CatalogId** The name of the product catalog from which this app was chosen. +- **FailedRetry** Indicates whether the installation or update retry was successful. +- **HResult** Resulting HResult error/success code of this call +- **PFN** Package Family Name of the app that being installed or updated +- **ProductId** Product Id of the app that is being updated or installed ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate -No content is currently available. +This event is sent at the beginning of an app install or update to help keep Windows up-to-date and secure. The following fields are available: -- **CatalogId** No content is currently available. +- **CatalogId** The name of the product catalog from which this app was chosen. - **PFN** The Package Family Name of the app that is being installed or updated. - **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.InstallOperationRequest -No content is currently available. +This event is sent when a product install or update is initiated, to help keep Windows up-to-date and secure. The following fields are available: @@ -4856,7 +4855,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.PauseInstallation -No content is currently available. +This event is sent when a product install or update is paused (either by a user or the system), to help keep Windows up-to-date and secure. The following fields are available: @@ -4879,12 +4878,12 @@ The following fields are available: - **RelatedCV** Correlation Vector of a previous performed action on this product. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. ### Microsoft.Windows.StoreAgent.Telemetry.ResumeInstallation -No content is currently available. +This event is sent when a product install or update is resumed (either by a user or the system), to help keep Windows up-to-date and secure. The following fields are available: @@ -4909,12 +4908,12 @@ The following fields are available: - **RelatedCV** Correlation Vector for the original install before it was resumed. - **SystemAttemptNumber** The total number of system attempts. - **UserAttemptNumber** The total number of user attempts. -- **WUContentId** No content is currently available. +- **WUContentId** The Windows Update content ID. ### Microsoft.Windows.StoreAgent.Telemetry.ResumeOperationRequest -No content is currently available. +This event is sent when a product install or update is resumed by a user or on installation retries, to help keep Windows up-to-date and secure. The following fields are available: @@ -4923,7 +4922,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.SearchForUpdateOperationRequest -No content is currently available. +This event is sent when searching for update packages to install, to help keep Windows up-to-date and secure. The following fields are available: @@ -4934,7 +4933,7 @@ The following fields are available: ### Microsoft.Windows.StoreAgent.Telemetry.UpdateAppOperationRequest -No content is currently available. +This event occurs when an update is requested for an app, to help keep Windows up-to-date and secure. The following fields are available: @@ -4992,7 +4991,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. +- **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot CSP call success status @@ -5431,9 +5430,9 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** If we retry to scan +- **detectionBlockreason** Reason for detection not completing. - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** Error info +- **errorCode** State of update action - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5441,8 +5440,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Update Session type -- **wuDeviceid** Device ID +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5554,7 +5553,7 @@ This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Time when this event was generated. +- **EventPublishedTime** Time when this event was generated - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. - **updateId** Unique Windows Update ID. @@ -5602,7 +5601,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End-to-end update session ID. -- **flightID** Unique update ID +- **flightID** The specific ID of the Windows Insider build the device is getting. - **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5822,7 +5821,7 @@ The following fields are available: - **scheduledRebootTime** Time scheduled for the reboot. - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. -- **wuDeviceid** Unique device ID used by Windows Update. +- **wuDeviceid** Unique DeviceID ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5837,8 +5836,8 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments which the task is scheduled with -- **TaskName** Name of the task +- **TaskArgument** The arguments with which the task is scheduled. +- **TaskName** Name of the task. ## Windows Update mitigation events @@ -5849,21 +5848,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** Number of mounted images. -- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. @@ -5873,19 +5872,19 @@ This event sends data specific to the FixAppXReparsePoints mitigation used for O The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **ReparsePointsFailed** Number of reparse points that are corrupted but we failed to fix them. -- **ReparsePointsFixed** Number of reparse points that were corrupted and were fixed by this mitigation. -- **ReparsePointsSkipped** Number of reparse points that are not corrupted and no action is required. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Correlation vector value generated from the latest USO scan. +- **RelatedCV** Number of reparse points that are corrupted but we failed to fix them. +- **ReparsePointsFailed** Number of reparse points that were corrupted and were fixed by this mitigation. +- **ReparsePointsFixed** Number of reparse points that are not corrupted and no action is required. +- **ReparsePointsSkipped** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. From 7c811c4de9592ced75a0c45ed8ed171c143ec8d7 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 31 Aug 2018 08:46:21 -0700 Subject: [PATCH 28/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 308 +++++++++--------- 1 file changed, 154 insertions(+), 154 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 667d057d3b..b9393f21fb 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/30/2018 +ms.date: 08/31/2018 --- @@ -97,7 +97,7 @@ The following fields are available: - **SystemProcessorSse2** The count of the number of this particular object type present on this device. - **SystemTouch** The count of SystemTouch objects present on this machine. - **SystemWim** The count of the number of this particular object type present on this device. -- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. +- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. - **SystemWlan** The count of the number of this particular object type present on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -1211,7 +1211,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.TelemetryRunHealth -A summary event indicating the parameters and result of a telemetry run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up-to-date. +This event indicates the parameters and result of a telemetry (diagnostic) run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up-to-date. The following fields are available: @@ -1505,16 +1505,16 @@ The following fields are available: - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. - **PreviousUpdateRevision** Previous microcode revision. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Clock speed of the processor in MHz. -- **ProcessorCores** Number of logical cores in the processor. -- **ProcessorIdentifier** Processor Identifier of a manufacturer. -- **ProcessorManufacturer** Name of the processor manufacturer. -- **ProcessorModel** Name of the processor model. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. The complete list of values can be found in DimProcessorArchitecture. +- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. +- **ProcessorCores** Retrieves the number of cores in the processor. +- **ProcessorIdentifier** The processor identifier of a manufacturer. +- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. +- **ProcessorModel** Retrieves the name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Microcode revision. +- **ProcessorUpdateRevision** Retrieves the processor architecture of the installed operating system. - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. -- **SocketCount** Count of CPU sockets. +- **SocketCount** Number of physical CPU sockets of the machine. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -1899,7 +1899,7 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full +- **Quiet** Whether Setup run in quiet mode or in full - **RelatedCV** CV of any other related events - **SetupMode** Phase Setup is in @@ -1913,9 +1913,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full -- **RelatedCV** Correlation vector of any other related events -- **SetupMode** Phase that Setup is in +- **Quiet** Whether Setup run in quiet mode or in full +- **RelatedCV** CV of any other related events +- **SetupMode** Phase Setup is in ### DeploymentTelemetry.Deployment_Start @@ -1977,13 +1977,13 @@ This event sends data about the health and quality of the diagnostic data from t The following fields are available: - **AgentConnectionErrorsCount** Number of non-timeout errors associated with the host/agent channel. -- **CensusExitCode** Last exit code of�Census task. +- **CensusExitCode** The last exit code of the Census task. - **CensusStartTime** Time of last Census run. - **CensusTaskEnabled** True if Census is enabled, false otherwise. - **CompressedBytesUploaded** Number of compressed bytes uploaded. - **ConsumerDroppedCount** Number of events dropped at consumer layer of telemetry client. - **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalDataThrottleDroppedCount** Number of critical data sampled events dropped due to�throttling. +- **CriticalDataThrottleDroppedCount** The number of critical data sampled events that were dropped because of throttling. - **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. - **DbCriticalDroppedCount** Total number of dropped critical events in event DB. - **DbDroppedCount** Number of events dropped due to DB fullness. @@ -2007,14 +2007,14 @@ The following fields are available: - **LastAgentConnectionError** Last non-timeout error encountered in the host/agent channel. - **LastEventSizeOffender** Event name of last event which exceeded max event size. - **LastInvalidHttpCode** Last invalid HTTP code received from Vortex. -- **MaxActiveAgentConnectionCount** Maximum number of active agents during this�heartbeat timeframe. +- **MaxActiveAgentConnectionCount** The maximum number of active agents during this heartbeat timeframe. - **MaxInUseScenarioCounter** Soft maximum number of scenarios loaded by UTC. - **PreviousHeartBeatTime** Time of last heartbeat event (allows chaining of events). - **SettingsHttpAttempts** Number of attempts to contact OneSettings service. -- **SettingsHttpFailures** Number of failures from contacting�OneSettings service. +- **SettingsHttpFailures** The number of failures from contacting the OneSettings service. - **ThrottledDroppedCount** Number of events dropped due to throttling of noisy providers. - **UploaderDroppedCount** Number of events dropped at the uploader layer of telemetry client. -- **VortexFailuresTimeout** Number of time out failures�received from Vortex. +- **VortexFailuresTimeout** The number of timeout failures received from Vortex. - **VortexHttpAttempts** Number of attempts to contact Vortex. - **VortexHttpFailures4xx** Number of 400-499 error codes received from Vortex. - **VortexHttpFailures5xx** Number of 500-599 error codes received from Vortex. @@ -2030,15 +2030,15 @@ The following fields are available: - **CompressedBytesUploaded** Number of compressed bytes uploaded. - **CriticalDataDbDroppedCount** Number of critical data sampled events dropped at the database layer. -- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event DB. -- **DbCriticalDroppedCount** Total number of dropped critical events in event DB. -- **DbDroppedCount** Number of events dropped at the DB layer. -- **DbDroppedFailureCount** Number of events dropped due to DB failures. -- **DbDroppedFullCount** Number of events dropped due to DB fullness. +- **CriticalOverflowEntersCounter** Number of times critical overflow mode was entered in event database. +- **DbCriticalDroppedCount** Total number of dropped critical events in event database. +- **DbDroppedCount** Number of events dropped at the database layer. +- **DbDroppedFailureCount** Number of events dropped due to database failures. +- **DbDroppedFullCount** Number of events dropped due to database being full. - **EnteringCriticalOverflowDroppedCounter** Number of events dropped due to critical overflow mode being initiated. - **EventsPersistedCount** Number of events that reached the PersistEvent stage. -- **EventSubStoreResetCounter** Number of times event DB was reset. -- **EventSubStoreResetSizeSum** Total size of event DB across all resets reports in this instance. +- **EventSubStoreResetCounter** Number of times event database was reset. +- **EventSubStoreResetSizeSum** Total size of event database across all resets reports in this instance. - **EventsUploaded** Number of events uploaded. - **HeartBeatSequenceNumber** The sequence number of this heartbeat. - **InvalidHttpCodeCount** Number of invalid HTTP codes received from contacting Vortex. @@ -2060,7 +2060,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicability -Event to indicate that the Coordinator CheckApplicability call succeeded. +This event indicates that the Coordinator CheckApplicability call succeeded. The following fields are available: @@ -2318,11 +2318,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -3476,10 +3476,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** whether the person who is logging in is an admin +- **isAdmin** Whether the current user is an administrator or not - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience +- **isSilentElevation** Whether the current user has enabled silent elevation +- **privacyConsentState** The current state of the privacy consent experience - **userRegionCode** The current user's region setting @@ -3603,7 +3603,7 @@ The following fields are available: - **CachedEngineVersion** For self-initiated healing, the version of the SIH engine that is cached on the device. If the SIH engine does not exist, the value is null. - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. - **CapabilityDetectoidGuid** The GUID for a hardware applicability detectoid that could not be evaluated. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. - **CDNId** The unique identifier of a specific device, used to identify how many devices are encountering success or a particular issue. - **ClientVersion** The version number of the software distribution client. - **Context** Gives context on where the error has occurred. Example: AutoEnable, GetSLSData, AddService, Misc, or Unknown @@ -3703,7 +3703,7 @@ Download process event for target update on Windows Update client. See EventScen The following fields are available: -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded.Number of seconds the update was actively being downloaded. +- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. - **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. - **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. - **BiosFamily** The family of the BIOS (Basic Input Output System). @@ -3719,7 +3719,7 @@ The following fields are available: - **BytesDownloaded** Number of bytes that were downloaded for an individual piece of content (not the entire bundle). - **CallerApplicationName** The name provided by the caller who initiated API calls into the software distribution client. - **CbsDownloadMethod** Indicates whether the download was a full-file download or a partial/delta download. -- **CDNCountryCode** Two letter country abbreviation for the CDN's location. +- **CDNCountryCode** Two letter country abbreviation for the Content Distribution Network (CDN) location. - **CDNId** ID which defines which CDN the software distribution client downloaded the content from. - **ClientVersion** The version number of the software distribution client. - **CurrentMobileOperator** The mobile operator the device is currently connected to. @@ -3917,21 +3917,21 @@ The following fields are available: - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. - **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** Base64 string of the signature associated with the update metadata (specified by revision id) +- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). - **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** Identifies the revision of this specific piece of content -- **RevisionNumber** Identifies the revision number of this specific piece of content +- **RevisionId** The revision ID for a specific piece of content. +- **RevisionNumber** The revision number for a specific piece of content. - **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. -- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob -- **SignatureAlgorithm** Hash algorithm for the metadata signature +- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. +- **SignatureAlgorithm** The hash algorithm for the metadata signature. - **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast - **StatusCode** The status code of the event. - **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. -- **UpdateId** Identifier associated with the specific piece of content +- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **UpdateId** The update ID for a specific piece of content. - **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. @@ -3939,7 +3939,7 @@ The following fields are available: ### Update360Telemetry.UpdateAgentCommit -This event collects information regarding the commit phase of the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. +This event collects information regarding the commit phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The following fields are available: @@ -3955,7 +3955,7 @@ The following fields are available: ### Update360Telemetry.UpdateAgentDownloadRequest -This event sends data for the download request phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to PC and Mobile. +This event sends data for the download request phase of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to PC and Mobile. The following fields are available: @@ -3965,7 +3965,7 @@ The following fields are available: - **ExtensionName** Indicates whether the payload is related to Operating System content or a plugin. - **FlightId** Unique ID for each flight. - **InternalFailureResult** Indicates a non-fatal error from a plugin. -- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360) +- **ObjectId** Unique value for each Update Agent mode (same concept as InstanceId for Setup360). - **PackageCountOptional** Number of optional packages requested. - **PackageCountRequired** Number of required packages requested. - **PackageCountTotal** Total number of packages needed. @@ -3980,13 +3980,13 @@ The following fields are available: - **RelatedCV** Correlation vector value generated from the latest USO scan. - **Result** Outcome of the download request phase of update. - **ScenarioId** Indicates the update scenario. -- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases) +- **SessionId** Unique value for each attempt (same value for initialize, download, install commit phases). - **UpdateId** Unique ID for each update. ### Update360Telemetry.UpdateAgentExpand -This event collects information regarding the expansion phase of the new UUP (Unified Update Platform) update scenario; which is leveraged by both Mobile and Desktop. +This event collects information regarding the expansion phase of the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The following fields are available: @@ -4006,7 +4006,7 @@ The following fields are available: ### Update360Telemetry.UpdateAgentFellBackToCanonical -This event collects information when express could not be used and we fall back to canonical during the new UUP (Unified Update Platform) update scenario, which is leveraged by both Mobile and Desktop. +This event collects information when express could not be used and we fall back to canonical during the new Unified Update Platform (UUP) update scenario, which is leveraged by both Mobile and Desktop. The following fields are available: @@ -4022,7 +4022,7 @@ The following fields are available: ### Update360Telemetry.UpdateAgentInitialize -The UpdateAgentInitialize event sends data for the initialize phase of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to both PCs and Mobile. +This event sends data for the initialize phase of updating Windows via the new Unified Update Platform (UUP) scenario, which is applicable to both PCs and Mobile. The following fields are available: @@ -4074,7 +4074,7 @@ The following fields are available: ### Update360Telemetry.UpdateAgentModeStart -The UpdateAgentModeStart event sends data for the start of each mode during the process of updating Windows via the new UUP (Unified Update Platform) scenario. Applicable to both PCs and Mobile. +This event sends data for the start of each mode during the process of updating Windows via the new Unified Update Platform (UUP) scenario. Applicable to both PCs and Mobile. The following fields are available: @@ -4090,23 +4090,23 @@ The following fields are available: ### Update360Telemetry.UpdateAgentPostRebootResult -This event collects information for both Mobile and Desktop regarding the post reboot phase of the new UUP (Unified Update Platform) update scenario +This event collects information for both Mobile and Desktop regarding the post reboot phase of the new Unified Update Platform (UUP) update scenario. The following fields are available: -- **ErrorCode** The error code returned for the current post reboot phase -- **FlightId** The unique identifier for each flight -- **ObjectId** Unique value for each Update Agent mode -- **PostRebootResult** Indicates the Hresult -- **RelatedCV** Correlation vector value generated from the latest USO scan -- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate +- **ErrorCode** The error code returned for the current post reboot phase. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **ObjectId** Unique value for each Update Agent mode. +- **PostRebootResult** Indicates the Hresult. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ScenarioId** The scenario ID. Example: MobileUpdate, DesktopLanguagePack, DesktopFeatureOnDemand, or DesktopDriverUpdate. - **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each update +- **UpdateId** Unique ID for each update. ### Update360Telemetry.UpdateAgentSetupBoxLaunch -The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new UUP (Unified Update Plaform) scenario. This event is only applicable to PCs. +The UpdateAgent_SetupBoxLaunch event sends data for the launching of the setup box when updating Windows via the new Unified Update Platform (UUP) scenario. This event is only applicable to PCs. The following fields are available: @@ -4121,7 +4121,7 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each update. +- **UpdateId** Unique ID for each Update. - **UserSession** Indicates whether install was invoked by user actions. @@ -4152,20 +4152,20 @@ The following fields are available: - **key18** UI interaction data - **key19** UI interaction data - **key2** UI interaction data -- **key20** Interaction data for the UI -- **key21** Interaction data for the UI -- **key22** Interaction data for the UI -- **key23** Interaction data for the UI -- **key24** Interaction data for the UI -- **key25** Interaction data for the UI -- **key26** Interaction data for the UI -- **key27** Interaction data for the UI -- **key28** Interaction data for the UI +- **key20** UI interaction data +- **key21** UI interaction data +- **key22** UI interaction data +- **key23** UI interaction data +- **key24** UI interaction data +- **key25** UI interaction data +- **key26** UI interaction data +- **key27** UI interaction data +- **key28** UI interaction data - **key29** UI interaction data - **key3** UI interaction data - **key30** UI interaction data -- **key4** UI interaction data -- **key5** UI interaction data +- **key4** Current package version of UNP +- **key5** UI interaction type - **key6** UI interaction data - **key7** UI interaction data - **key8** UI interaction data @@ -4192,68 +4192,68 @@ The following fields are available: ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerCleaningCampaign -This event indicates that the Campaign Manager is cleaning up the campaign content +This event indicates that the Campaign Manager is cleaning up the campaign content. The following fields are available: -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Current campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP +- **CampaignConfigVersion** Configuration version for the current campaign. +- **CampaignID** The current campaign that is running on Update Notification Pipeline (UNP). +- **ConfigCatalogVersion** The current catalog version of the Update Notification Pipeline (UNP). +- **ContentVersion** Content version for the current campaign on UNP. - **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version +- **DetectorVersion** Most recently run detector version for the current campaign on UNP. +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. +- **PackageVersion** Current UNP package version. ### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerGetIsCamppaignCompleteFailed -This event is sent when a campaign completion status query fails +This event is sent when a campaign completion status query fails. The following fields are available: -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Current campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **hresult** HRESULT of the failure -- **PackageVersion** Current UNP package version +- **CampaignConfigVersion** Configuration version for the current campaign. +- **CampaignID** Current campaign that is running on Update Notification Pipeline (UNP). +- **ConfigCatalogVersion** Current catalog version of UNP. +- **ContentVersion** Content version for the current campaign on UNP. +- **CV** Correlation vector. +- **DetectorVersion** Most recently run detector version for the current campaign on UNP. +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. +- **hresult** HRESULT of the failure. +- **PackageVersion** Current UNP package version. ### Microsoft.Windows.UpdateNotificationPipeline.UNPCampaignManagerHeartbeat -This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat +This event is sent at the start of the CampaignManager event and is intended to be used as a heartbeat. The following fields are available: -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **PackageVersion** Current UNP package version +- **CampaignConfigVersion** Configuration version for the current campaign. +- **CampaignID** Currently campaign that is running on Update Notification Pipeline (UNP). +- **ConfigCatalogVersion** Current catalog version of UNP. +- **ContentVersion** Content version for the current campaign on UNP. +- **CV** Correlation vector. +- **DetectorVersion** Most recently run detector version for the current campaign on UNP. +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. +- **PackageVersion** Current UNP package version. ### Microsoft.Windows.UpdateNotificationPipeline.UnpCampaignManagerRunCampaignFailed -This event is sent when the Campaign Manager encounters an unexpected error while running the campaign +This event is sent when the Campaign Manager encounters an unexpected error while running the campaign. The following fields are available: -- **CampaignConfigVersion** Configuration version for the current campaign -- **CampaignID** Currently campaign that's running on UNP -- **ConfigCatalogVersion** Current catalog version of UNP -- **ContentVersion** Content version for the current campaign on UNP -- **CV** Correlation vector -- **DetectorVersion** Most recently run detector version for the current campaign on UNP -- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user -- **hresult** HRESULT of the failure -- **PackageVersion** Current UNP package version +- **CampaignConfigVersion** Configuration version for the current campaign. +- **CampaignID** Currently campaign that's running on Update Notification Pipeline (UNP). +- **ConfigCatalogVersion** Current catalog version of UNP. +- **ContentVersion** Content version for the current campaign on UNP. +- **CV** Correlation vector. +- **DetectorVersion** Most recently run detector version for the current campaign on UNP. +- **GlobalEventCounter** Client-side counter that indicates the event ordering sent by the user. +- **hresult** HRESULT of the failure. +- **PackageVersion** Current UNP package version. ## Upgrade events @@ -4344,9 +4344,9 @@ The following fields are available: - **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled - **TestId** ID that uniquely identifies a group of events. - **WuId** Windows Update client ID. @@ -4824,9 +4824,9 @@ The following fields are available: - **CatalogId** The name of the product catalog from which this app was chosen. - **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** Resulting HResult error/success code of this call -- **PFN** Package Family Name of the app that being installed or updated -- **ProductId** Product Id of the app that is being updated or installed +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -4953,7 +4953,7 @@ The following fields are available: - **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot CSP call success status. +- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. - **wUfBConnected** Result of WUfB connection check. @@ -4967,7 +4967,7 @@ The following fields are available: - **dismOperationSucceeded** Dism uninstall operation status. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot CSP call success status. +- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. - **wUfBConnected** Result of WUfB connection check. @@ -4994,7 +4994,7 @@ The following fields are available: - **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot CSP call success status +- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. - **wUfBConnected** Result of Windows Update for Business connection check. @@ -5008,7 +5008,7 @@ The following fields are available: - **dismOperationSucceeded** Dism uninstall operation status. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. -- **rebootRequestSucceeded** Reboot CSP call success status. +- **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. - **wUfBConnected** Result of WUfB connection check. @@ -5035,13 +5035,13 @@ The following fields are available: - **background** Indicates whether the download is happening in the background. - **bytesRequested** Number of bytes requested for the download. - **callerName** Name of the API caller. -- **cdnUrl** The URL of the source CDN. +- **cdnUrl** The URL of the source CDN - **costFlags** A set of flags representing network cost. - **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). - **diceRoll** Random number used for determining if a client will use peering. - **doClientVersion** The version of the Delivery Optimization client. - **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100).) +- **downloadMode** DownloadMode used (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100) - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). - **errorCode** The error code that was returned. - **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. @@ -5074,21 +5074,21 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. +- **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. - **relatedCV** Correlation vector value generated from the latest USO scan. - **scenarioId** Indicates the update scenario. - **sessionId** Unique value for each update session. -- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each update. +- **updateId** Unique ID for each Update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -5430,9 +5430,9 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** Reason for detection not completing. +- **detectionBlockreason** Reason for blocking detection - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** State of update action +- **errorCode** Error info - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5440,8 +5440,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. +- **updateScenarioType** Source of the triggered scan +- **wuDeviceid** Device ID ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5479,7 +5479,7 @@ The following fields are available: ### Microsoft.Windows.Update.Orchestrator.DTUCompletedWhenWuFlightPendingCommit -This event indicates that DTU completed installation of the ESD, when Windows Update was already in Pending Commit phase of the feature update. +This event indicates that DTU completed installation of the electronic software delivery (ESD), when Windows Update was already in Pending Commit phase of the feature update. The following fields are available: @@ -5525,7 +5525,7 @@ This event is sent during update scan, download, or install, and indicates that The following fields are available: -- **configVersion** Escalation config version on device. +- **configVersion** Escalation config version on device . - **downloadElapsedTime** Indicates how long since the download is required on device. - **downloadRiskLevel** At-risk level of download phase. - **installElapsedTime** Indicates how long since the install is required on device. @@ -5553,7 +5553,7 @@ This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Time when this event was generated +- **EventPublishedTime** Time when this event was generated. - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. - **updateId** Unique Windows Update ID. @@ -5848,21 +5848,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Number of mounted images. -- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. -- **RelatedCV** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. From 6c3ca167782aef8f811c971e5ceae215fadff9ba Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Tue, 4 Sep 2018 15:22:11 -0700 Subject: [PATCH 29/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 186 +++++++++--------- 1 file changed, 93 insertions(+), 93 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index b9393f21fb..0680896ceb 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 08/31/2018 +ms.date: 09/04/2018 --- @@ -83,7 +83,7 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. @@ -97,7 +97,7 @@ The following fields are available: - **SystemProcessorSse2** The count of the number of this particular object type present on this device. - **SystemTouch** The count of SystemTouch objects present on this machine. - **SystemWim** The count of the number of this particular object type present on this device. -- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. +- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. - **SystemWlan** The count of the number of this particular object type present on this device. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -155,7 +155,7 @@ The following fields are available: - **AppraiserVersion** The version of the appraiser file generating the events. - **IsBootCritical** Is the device boot critical? - **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver +- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -1300,7 +1300,7 @@ The following fields are available: - **AppraiserTaskExitCode** The Appraiser task exist code. - **AppraiserTaskLastRun** The last runtime for the Appraiser task. - **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** Retrieves which version of Internet Explorer is running on this device. +- **IEVersion** IE version running on the device. ### Census.Battery @@ -1505,16 +1505,16 @@ The following fields are available: - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. - **PreviousUpdateRevision** Previous microcode revision. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. The complete list of values can be found in DimProcessorArchitecture. -- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. -- **ProcessorCores** Retrieves the number of cores in the processor. -- **ProcessorIdentifier** The processor identifier of a manufacturer. -- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. -- **ProcessorModel** Retrieves the name of the processor model. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. +- **ProcessorClockSpeed** Clock speed of the processor in MHz. +- **ProcessorCores** Number of logical cores in the processor. +- **ProcessorIdentifier** Processor Identifier of a manufacturer. +- **ProcessorManufacturer** Name of the processor manufacturer. +- **ProcessorModel** Name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Retrieves the processor architecture of the installed operating system. +- **ProcessorUpdateRevision** Microcode revision - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. -- **SocketCount** Number of physical CPU sockets of the machine. +- **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -1913,9 +1913,9 @@ The following fields are available: - **ClientId** Client ID of user utilizing the D360 API - **ErrorCode** Error code of action - **FlightId** Flight being used -- **Quiet** Whether Setup run in quiet mode or in full -- **RelatedCV** CV of any other related events -- **SetupMode** Phase Setup is in +- **Quiet** Whether Setup will run in quiet mode or in full +- **RelatedCV** Correlation vector of any other related events +- **SetupMode** Phase that Setup is in ### DeploymentTelemetry.Deployment_Start @@ -2318,11 +2318,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. -- **CV** Correlation vector. -- **hResult** HRESULT of the failure. +- **CampaignID** Campaign ID being run +- **ClientID** Client ID being run +- **CoordinatorVersion** Coordinator version of DTU +- **CV** Correlation vector +- **hResult** HRESULT of the failure ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -3476,10 +3476,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** Whether the current user is an administrator or not +- **isAdmin** whether the person who is logging in is an admin - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** Whether the current user has enabled silent elevation -- **privacyConsentState** The current state of the privacy consent experience +- **isSilentElevation** whether the user has most restrictive UAC controls +- **privacyConsentState** whether the user has completed privacy experience - **userRegionCode** The current user's region setting @@ -3703,7 +3703,7 @@ Download process event for target update on Windows Update client. See EventScen The following fields are available: -- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. +- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded.Number of seconds the update was actively being downloaded. - **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. - **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. - **BiosFamily** The family of the BIOS (Basic Input Output System). @@ -4140,32 +4140,32 @@ The following fields are available: - **CV** Correlation vector. - **DetectorVersion** Most recently run detector version for the current campaign. - **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. -- **key1** UI interaction data -- **key10** UI interaction data -- **key11** UI interaction data -- **key12** UI interaction data -- **key13** UI interaction data -- **key14** UI interaction data -- **key15** UI interaction data -- **key16** UI interaction data -- **key17** UI interaction data -- **key18** UI interaction data -- **key19** UI interaction data -- **key2** UI interaction data -- **key20** UI interaction data -- **key21** UI interaction data -- **key22** UI interaction data -- **key23** UI interaction data -- **key24** UI interaction data -- **key25** UI interaction data -- **key26** UI interaction data +- **key1** Interaction data for the UI +- **key10** Interaction data for the UI +- **key11** Interaction data for the UI +- **key12** Interaction data for the UI +- **key13** Interaction data for the UI +- **key14** Interaction data for the UI +- **key15** Interaction data for the UI +- **key16** Interaction data for the UI +- **key17** Interaction data for the UI +- **key18** Interaction data for the UI +- **key19** Interaction data for the UI +- **key2** Interaction data for the UI +- **key20** Interaction data for the UI +- **key21** Interaction data for the UI +- **key22** Interaction data for the UI +- **key23** Interaction data for the UI +- **key24** Interaction data for the UI +- **key25** Interaction data for the UI +- **key26** Interaction data for the UI - **key27** UI interaction data - **key28** UI interaction data - **key29** UI interaction data -- **key3** UI interaction data +- **key3** Interaction data for the UI - **key30** UI interaction data -- **key4** Current package version of UNP -- **key5** UI interaction type +- **key4** Interaction data for the UI +- **key5** UI interaction data - **key6** UI interaction data - **key7** UI interaction data - **key8** UI interaction data @@ -4346,7 +4346,7 @@ The following fields are available: - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. - **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). -- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled +- **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. - **TestId** ID that uniquely identifies a group of events. - **WuId** Windows Update client ID. @@ -4991,7 +4991,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure Error code. +- **hResult** Failure error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5041,7 +5041,7 @@ The following fields are available: - **diceRoll** Random number used for determining if a client will use peering. - **doClientVersion** The version of the Delivery Optimization client. - **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** DownloadMode used (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100) +- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). - **errorCode** The error code that was returned. - **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. @@ -5074,21 +5074,21 @@ This event collects information regarding the state of devices and drivers on th The following fields are available: - **activated** Whether the entire device manifest update is considered activated and in use. -- **analysisErrorCount** How many driver packages that could not be analyzed because errors were hit during the analysis. +- **analysisErrorCount** How many driver packages could not be analyzed because errors were hit during the analysis. - **flightId** Unique ID for each flight. -- **missingDriverCount** How many driver packages that were delivered by the device manifest that are missing from the system. -- **missingUpdateCount** How many updates that were part of the device manifest that are missing from the system. +- **missingDriverCount** How many driver packages that were delivered by the device manifest are missing from the system. +- **missingUpdateCount** How many updates that were part of the device manifest are missing from the system. - **objectId** Unique value for each diagnostics session. -- **publishedCount** How many drivers packages that were delivered by the device manifest that are published and available to be used on devices. +- **publishedCount** How many drivers packages that were delivered by the device manifest are published and available to be used on devices. - **relatedCV** Correlation vector value generated from the latest USO scan. - **scenarioId** Indicates the update scenario. - **sessionId** Unique value for each update session. -- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match on. +- **summary** A summary string that contains some basic information about driver packages that are part of the device manifest and any devices on the system that those driver packages match. - **summaryAppendError** A Boolean indicating if there was an error appending more information to the summary string. -- **truncatedDeviceCount** How many devices are missing from the summary string due to there not being enough room in the string. -- **truncatedDriverCount** How many driver packages are missing from the summary string due to there not being enough room in the string. +- **truncatedDeviceCount** How many devices are missing from the summary string because there is not enough room in the string. +- **truncatedDriverCount** How many driver packages are missing from the summary string because there is not enough room in the string. - **unpublishedCount** How many drivers packages that were delivered by the device manifest that are still unpublished and unavailable to be used on devices. -- **updateId** Unique ID for each Update. +- **updateId** Unique ID for each update. ### Microsoft.Windows.Update.DeviceUpdateAgent.UpdateAgentCommit @@ -5430,9 +5430,9 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** Reason for blocking detection +- **detectionBlockreason** Reason for detection not completing. - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** Error info +- **errorCode** The returned error code. - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5440,8 +5440,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Source of the triggered scan -- **wuDeviceid** Device ID +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5601,7 +5601,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End-to-end update session ID. -- **flightID** The specific ID of the Windows Insider build the device is getting. +- **flightID** Unique update ID - **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5836,8 +5836,8 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments with which the task is scheduled. -- **TaskName** Name of the task. +- **TaskArgument** The arguments which the task is scheduled with +- **TaskName** Name of the task ## Windows Update mitigation events @@ -5848,21 +5848,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** Number of mounted images. -- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. @@ -5872,19 +5872,19 @@ This event sends data specific to the FixAppXReparsePoints mitigation used for O The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Correlation vector value generated from the latest USO scan. -- **RelatedCV** Number of reparse points that are corrupted but we failed to fix them. -- **ReparsePointsFailed** Number of reparse points that were corrupted and were fixed by this mitigation. -- **ReparsePointsFixed** Number of reparse points that are not corrupted and no action is required. -- **ReparsePointsSkipped** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **ReparsePointsFailed** Number of reparse points that are corrupted but we failed to fix them. +- **ReparsePointsFixed** Number of reparse points that were corrupted and were fixed by this mitigation. +- **ReparsePointsSkipped** Number of reparse points that are not corrupted and no action is required. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. From 180c87e9cbed214a37e08789ba88ba6bac9ceb53 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 5 Sep 2018 08:25:52 -0700 Subject: [PATCH 30/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 118 +++++++++--------- 1 file changed, 59 insertions(+), 59 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 0680896ceb..e0b7fc29a8 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 09/04/2018 +ms.date: 09/05/2018 --- @@ -83,7 +83,7 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. @@ -114,8 +114,8 @@ The following fields are available: - **AppraiserVersion** The version of the appraiser file that is generating the events. - **AvDisplayName** If the app is an antivirus app, this is its display name. - **CompatModelIndex** The compatibility prediction for this file. -- **HasCitData** Is the file present in CIT data? -- **HasUpgradeExe** Does the antivirus app have an upgrade.exe file? +- **HasCitData** Indicates whether the file is present in CIT data. +- **HasUpgradeExe** Indicates whether the anti-virus app has an upgrade.exe file. - **IsAv** Is the file an antivirus reporting EXE? - **ResolveAttempted** This will always be an empty string when sent. - **SdbEntries** An array of fields that indicates the SDB entries that apply to this file. @@ -145,17 +145,17 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpAdd -This event sends compatibility data for a PNP device, to help keep Windows up to date. +This event sends compatibility data for a Plug and Play device, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **ActiveNetworkConnection** Is the device an active network device? +- **ActiveNetworkConnection** Indicates whether the device is an active network device. - **AppraiserVersion** The version of the appraiser file generating the events. -- **IsBootCritical** Is the device boot critical? -- **WuDriverCoverage** Is there a driver uplevel for this device according to Windows Update? -- **WuDriverUpdateId** The Windows Update ID of the applicable up-level driver +- **IsBootCritical** Indicates whether the device boot is critical. +- **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. +- **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. - **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update @@ -354,9 +354,9 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **AppraiserVersion** The version of the appraiser file generating the events. +- **AppraiserVersion** The version of the appraiser file that is generating the events. - **BlockAlreadyInbox** The uplevel runtime block on the file already existed on the current OS. -- **BlockingApplication** Are there any application issues that interfere with upgrade due to the file in question? +- **BlockingApplication** Indicates whether there are any application issues that interfere with the upgrade due to the file in question. - **DisplayGenericMessage** Will be a generic message be shown for this file? - **HardBlock** This file is blocked in the SDB. - **HasUxBlockOverride** Does the file have a block that is overridden by a tag in the SDB? @@ -399,7 +399,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionDevicePnpAdd -This event sends compatibility decision data about a PNP device to help keep Windows up-to-date. +This event sends compatibility decision data about a PNP device to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -447,7 +447,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionDriverPackageAdd -This event sends decision data about driver package compatibility to help keep Windows up-to-date. +This event sends decision data about driver package compatibility to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -485,7 +485,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoBlockAdd -This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up-to-date. +This event sends compatibility decision data about blocking entries on the system that are not keyed by either applications or devices, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -559,7 +559,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionMatchingInfoPostUpgradeAdd -This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up-to-date. +This event sends compatibility decision data about entries that require reinstall after upgrade. It's used to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -585,7 +585,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionMediaCenterAdd -This event sends decision data about the presence of Windows Media Center, to help keep Windows up-to-date. +This event sends decision data about the presence of Windows Media Center, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -624,7 +624,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.DecisionSystemBiosAdd -This event sends compatibility decision data about the BIOS to help keep Windows up-to-date. +This event sends compatibility decision data about the BIOS to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -673,14 +673,14 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventoryApplicationFileAdd -This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or are part of an anti-virus program. +This event represents the basic metadata about a file on the system. The file must be part of an app and either have a block in the compatibility database or be part of an antivirus program. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: - **AppraiserVersion** The version of the Appraiser file generating the events. -- **BinaryType** A binary type. Example: UNINITIALIZED, ZERO_BYTE, DATA_ONLY, DOS_MODULE, NE16_MODULE, PE32_UNKNOWN, PE32_I386, PE32_ARM, PE64_UNKNOWN, PE64_AMD64, PE64_ARM64, PE64_IA64, PE32_CLR_32, PE32_CLR_IL, PE32_CLR_IL_PREFER32, PE64_CLR_64 +- **BinaryType** A binary type. Example: UNINITIALIZED, ZERO_BYTE, DATA_ONLY, DOS_MODULE, NE16_MODULE, PE32_UNKNOWN, PE32_I386, PE32_ARM, PE64_UNKNOWN, PE64_AMD64, PE64_ARM64, PE64_IA64, PE32_CLR_32, PE32_CLR_IL, PE32_CLR_IL_PREFER32, PE64_CLR_64. - **BinFileVersion** An attempt to clean up FileVersion at the client that tries to place the version into 4 octets. - **BinProductVersion** An attempt to clean up ProductVersion at the client that tries to place the version into 4 octets. - **BoeProgramId** If there is no entry in Add/Remove Programs, this is the ProgramID that is generated from the file metadata. @@ -720,15 +720,15 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.InventoryLanguagePackAdd -This event sends data about the number of language packs installed on the system, to help keep Windows up-to-date. +This event sends data about the number of language packs installed on the system, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **HasLanguagePack** Does this device have 2 or more language packs? -- **LanguagePackCount** How many language packs are installed? +- **HasLanguagePack** Indicates whether this device has 2 or more language packs. +- **LanguagePackCount** The number of language packs are installed. ### Microsoft.Windows.Appraiser.General.InventoryLanguagePackRemove @@ -2318,11 +2318,11 @@ Event to indicate that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** Campaign ID being run. +- **ClientID** Client ID being run. +- **CoordinatorVersion** Coordinator version of DTU. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection @@ -3476,10 +3476,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** whether the person who is logging in is an admin +- **isAdmin** Whether the current user is an administrator or not - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience +- **isSilentElevation** Whether the current user has enabled silent elevation +- **privacyConsentState** The current state of the privacy consent experience - **userRegionCode** The current user's region setting @@ -4121,7 +4121,7 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. +- **UpdateId** Unique ID for each update. - **UserSession** Indicates whether install was invoked by user actions. @@ -4140,7 +4140,7 @@ The following fields are available: - **CV** Correlation vector. - **DetectorVersion** Most recently run detector version for the current campaign. - **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. -- **key1** Interaction data for the UI +- **key1** UI interaction data - **key10** Interaction data for the UI - **key11** Interaction data for the UI - **key12** Interaction data for the UI @@ -4162,9 +4162,9 @@ The following fields are available: - **key27** UI interaction data - **key28** UI interaction data - **key29** UI interaction data -- **key3** Interaction data for the UI +- **key3** UI interaction data - **key30** UI interaction data -- **key4** Interaction data for the UI +- **key4** UI interaction data - **key5** UI interaction data - **key6** UI interaction data - **key7** UI interaction data @@ -4824,9 +4824,9 @@ The following fields are available: - **CatalogId** The name of the product catalog from which this app was chosen. - **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. +- **HResult** Resulting HResult error/success code of this call +- **PFN** Package Family Name of the app that being installed or updated +- **ProductId** Product Id of the app that is being updated or installed ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -5035,7 +5035,7 @@ The following fields are available: - **background** Indicates whether the download is happening in the background. - **bytesRequested** Number of bytes requested for the download. - **callerName** Name of the API caller. -- **cdnUrl** The URL of the source CDN +- **cdnUrl** The URL of the source Content Distribution Network (CDN). - **costFlags** A set of flags representing network cost. - **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). - **diceRoll** Random number used for determining if a client will use peering. @@ -5432,7 +5432,7 @@ The following fields are available: - **detectionBlockingPolicy** State of update action. - **detectionBlockreason** Reason for detection not completing. - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The returned error code. +- **errorCode** State of update action - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5440,8 +5440,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. +- **updateScenarioType** Update Session type +- **wuDeviceid** Device ID ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5525,7 +5525,7 @@ This event is sent during update scan, download, or install, and indicates that The following fields are available: -- **configVersion** Escalation config version on device . +- **configVersion** Escalation config version on device. - **downloadElapsedTime** Indicates how long since the download is required on device. - **downloadRiskLevel** At-risk level of download phase. - **installElapsedTime** Indicates how long since the install is required on device. @@ -5553,7 +5553,7 @@ This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Time when this event was generated. +- **EventPublishedTime** Time when this event was generated - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. - **updateId** Unique Windows Update ID. @@ -5821,7 +5821,7 @@ The following fields are available: - **scheduledRebootTime** Time scheduled for the reboot. - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. -- **wuDeviceid** Unique DeviceID +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5848,21 +5848,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Number of mounted images. -- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. -- **RelatedCV** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. From 3d026868c6d6bb8a42d9137b57363111c1c8f1f9 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Wed, 5 Sep 2018 13:02:45 -0700 Subject: [PATCH 31/60] new build --- .../basic-level-windows-diagnostic-events-and-fields-1803.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index e0b7fc29a8..22c615bd2b 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -13,7 +13,7 @@ ms.date: 09/05/2018 --- -# Windows 10, version 1803 basic level Windows diagnostic events and fields +# Windows 10, version 1803 basic level Windows diagnostic events and fields > [!IMPORTANT] From c7a4923e53a29f7deed7b6940215203303c98ede Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Thu, 6 Sep 2018 08:53:09 -0700 Subject: [PATCH 32/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 471 ++++++++++-------- 1 file changed, 257 insertions(+), 214 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 22c615bd2b..833ad00fa9 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,11 +9,11 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 09/05/2018 +ms.date: 09/06/2018 --- -# Windows 10, version 1803 basic level Windows diagnostic events and fields +# Windows 10, version 1803 basic level Windows diagnostic events and fields > [!IMPORTANT] @@ -92,13 +92,13 @@ The following fields are available: - **SystemMemory** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. -- **SystemProcessorNx** The count of the number of this particular object type present on this device. -- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. -- **SystemProcessorSse2** The count of the number of this particular object type present on this device. +- **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. +- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. +- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. - **SystemTouch** The count of SystemTouch objects present on this machine. -- **SystemWim** The count of the number of this particular object type present on this device. +- **SystemWim** The count of SystemWim objects present on this machine. - **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. -- **SystemWlan** The count of the number of this particular object type present on this device. +- **SystemWlan** The count of SystemWlan objects present on this machine. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -156,7 +156,7 @@ The following fields are available: - **IsBootCritical** Indicates whether the device boot is critical. - **WuDriverCoverage** Indicates whether there is a driver uplevel for this device, according to Windows Update. - **WuDriverUpdateId** The Windows Update ID of the applicable uplevel driver. -- **WuPopulatedFromId** The expected up-level driver matching ID based on driver coverage from Windows Update +- **WuPopulatedFromId** The expected uplevel driver matching ID based on driver coverage from Windows Update. ### Microsoft.Windows.Appraiser.General.DatasourceDevicePnpRemove @@ -1014,7 +1014,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemProcessorPrefetchWAdd -This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up-to-date. +This event sends data indicating whether the system supports the PrefetchW CPU requirement, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1049,7 +1049,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemProcessorSse2Add -This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up-to-date. +This event sends data indicating whether the system supports the SSE2 CPU requirement, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1084,7 +1084,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemTouchAdd -This event sends data indicating whether the system supports touch, to help keep Windows up-to-date. +This event sends data indicating whether the system supports touch, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1119,7 +1119,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemWimAdd -This event sends data indicating whether the operating system is running from a compressed WIM file, to help keep Windows up-to-date. +This event sends data indicating whether the operating system is running from a compressed Windows Imaging Format (WIM) file, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1154,7 +1154,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.SystemWindowsActivationStatusAdd -This event sends data indicating whether the current operating system is activated, to help keep Windows up-to-date. +This event sends data indicating whether the current operating system is activated, to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -1211,7 +1211,7 @@ The following fields are available: ### Microsoft.Windows.Appraiser.General.TelemetryRunHealth -This event indicates the parameters and result of a telemetry (diagnostic) run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up-to-date. +This event indicates the parameters and result of a telemetry (diagnostic) run. This allows the rest of the data sent over the course of the run to be properly contextualized and understood, which is then used to keep Windows up to date. The following fields are available: @@ -1219,7 +1219,7 @@ The following fields are available: - **AppraiserDataVersion** The version of the data files being used by the Appraiser telemetry run. - **AppraiserProcess** The name of the process that launched Appraiser. - **AppraiserVersion** The file version (major, minor and build) of the Appraiser DLL, concatenated without dots. -- **AuxFinal** Obsolete, always set to false +- **AuxFinal** Obsolete, always set to false. - **AuxInitial** Obsolete, indicates if Appraiser is writing data files to be read by the Get Windows 10 app. - **DeadlineDate** A timestamp representing the deadline date, which is the time until which appraiser will wait to do a full scan. - **EnterpriseRun** Indicates if the telemetry run is an enterprise run, which means appraiser was run from the command line with an extra enterprise parameter. @@ -1251,11 +1251,11 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: - **AppraiserVersion** The version of the Appraiser file that is generating the events. -- **BlockingApplication** Same as NeedsDismissAction +- **BlockingApplication** Same as NeedsDismissAction. - **NeedsDismissAction** Indicates if a dismissible message is needed to warn the user about a potential loss of data due to DRM deprecation. - **WmdrmApiResult** Raw value of the API used to gather DRM state. - **WmdrmCdRipped** Indicates if the system has any files encrypted with personal DRM, which was used for ripped CDs. -- **WmdrmIndicators** WmdrmCdRipped OR WmdrmPurchased +- **WmdrmIndicators** WmdrmCdRipped OR WmdrmPurchased. - **WmdrmInUse** WmdrmIndicators AND dismissible block in setup was not dismissed. - **WmdrmNonPermanent** Indicates if the system has any files with non-permanent licenses. - **WmdrmPurchased** Indicates if the system has any files with permanent licenses. @@ -1332,7 +1332,7 @@ This event sends data about Azure presence, type, and cloud domain use in order The following fields are available: -- **AADDeviceId** Azure Active Directory device id. +- **AADDeviceId** Azure Active Directory device ID. - **AzureOSIDPresent** Represents the field used to identify an Azure machine. - **AzureVMType** Represents whether the instance is Azure VM PAAS, Azure VM IAAS or any other VMs. - **CDJType** Represents the type of cloud domain joined for the machine. @@ -1366,7 +1366,7 @@ The following fields are available: ### Census.Flighting -This event sends Windows Insider data from customers participating in improvement testing and feedback programs, to help keep Windows up-to-date. +This event sends Windows Insider data from customers participating in improvement testing and feedback programs, to help keep Windows up to date. The following fields are available: @@ -1381,7 +1381,7 @@ The following fields are available: ### Census.Hardware -This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support, to help keep Windows up-to-date. +This event sends data about the device, including hardware type, OEM brand, model line, model, telemetry level setting, and TPM support, to help keep Windows up to date. The following fields are available: @@ -1520,17 +1520,17 @@ The following fields are available: ### Census.Security -This event provides information on about security settings used to help keep Windows up-to-date and secure. +This event provides information on about security settings used to help keep Windows up to date and secure. The following fields are available: -- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard +- **AvailableSecurityProperties** This field helps to enumerate and report state on the relevant security properties for Device Guard. - **CGRunning** Credential Guard isolates and hardens key system and user secrets against compromise, helping to minimize the impact and breadth of a Pass the Hash style attack in the event that malicious code is already running via a local or network based vector. This field tells if Credential Guard is running. -- **DGState** This field summarizes Device Guard state -- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running -- **IsSawGuest** Describes whether the device is running as a Secure Admin Workstation Guest -- **IsSawHost** Describes whether the device is running as a Secure Admin Workstation Host -- **RequiredSecurityProperties** This field describes the required security properties to enable virtualization-based security +- **DGState** This field summarizes the Device Guard state. +- **HVCIRunning** Hypervisor Code Integrity (HVCI) enables Device Guard to help protect kernel mode processes and drivers from vulnerability exploits and zero days. HVCI uses the processor’s functionality to force all software running in kernel mode to safely allocate memory. This field tells if HVCI is running. +- **IsSawGuest** Indicates whether the device is running as a Secure Admin Workstation Guest. +- **IsSawHost** Indicates whether the device is running as a Secure Admin Workstation Host. +- **RequiredSecurityProperties** Describes the required security properties to enable virtualization-based security. - **SecureBootCapable** Systems that support Secure Boot can have the feature turned off via BIOS. This field tells if the system is capable of running Secure Boot, regardless of the BIOS setting. - **SModeState** The Windows S mode trail state. - **VBSState** Virtualization-based security (VBS) uses the hypervisor to help protect the kernel and other parts of the operating system. Credential Guard and Hypervisor Code Integrity (HVCI) both depend on VBS to isolate/protect secrets, and kernel-mode code integrity validation. VBS has a tri-state that can be Disabled, Enabled, or Running. @@ -1570,8 +1570,8 @@ This event sends data about the current user's default preferences for browser a The following fields are available: -- **DefaultApp** The current uer's default program selected for the following extension or protocol: .html,.htm,.jpg,.jpeg,.png,.mp3,.mp4, .mov,.pdf -- **DefaultBrowserProgId** The ProgramId of the current user's default browser +- **DefaultApp** The current uer's default program selected for the following extension or protocol: .html, .htm, .jpg, .jpeg, .png, .mp3, .mp4, .mov, .pdf. +- **DefaultBrowserProgId** The ProgramId of the current user's default browser. ### Census.UserDisplay @@ -1646,11 +1646,11 @@ The following fields are available: - **OSWUAutoUpdateOptions** Retrieves the auto update settings on the device. - **UninstallActive** A flag that represents when a device has uninstalled a previous upgrade recently. - **UpdateServiceURLConfigured** Retrieves if the device is managed by Windows Server Update Services (WSUS). -- **WUDeferUpdatePeriod** Retrieves if deferral is set for Updates -- **WUDeferUpgradePeriod** Retrieves if deferral is set for Upgrades +- **WUDeferUpdatePeriod** Retrieves if deferral is set for Updates. +- **WUDeferUpgradePeriod** Retrieves if deferral is set for Upgrades. - **WUDODownloadMode** Retrieves whether DO is turned on and how to acquire/distribute updates Delivery Optimization (DO) allows users to deploy previously downloaded WU updates to other devices on the same network. - **WUMachineId** Retrieves the Windows Update (WU) Machine Identifier. -- **WUPauseState** Retrieves WU setting to determine if updates are paused +- **WUPauseState** Retrieves WU setting to determine if updates are paused. - **WUServer** Retrieves the HTTP(S) URL of the WSUS server that is used by Automatic Updates and API callers (by default). @@ -1662,8 +1662,8 @@ The following fields are available: - **XboxConsolePreferredLanguage** Retrieves the preferred language selected by the user on Xbox console. - **XboxConsoleSerialNumber** Retrieves the serial number of the Xbox console. -- **XboxLiveDeviceId** Retrieves the unique device id of the console. -- **XboxLiveSandboxId** Retrieves the developer sandbox id if the device is internal to MS. +- **XboxLiveDeviceId** Retrieves the unique device ID of the console. +- **XboxLiveSandboxId** Retrieves the developer sandbox ID if the device is internal to Microsoft. ## Common data extensions @@ -1866,94 +1866,75 @@ The following fields are available: ### DeploymentTelemetry.Deployment_End -Event to indicate that a Deployment 360 API has completed. +This event indicates that a Deployment 360 API has completed. The following fields are available: -- **ClientId** Client ID of user utilizing the D360 API -- **ErrorCode** Error code of action -- **FlightId** Flight being used -- **Mode** Phase in upgrade -- **RelatedCV** CV of any other related events -- **Result** End result of action +- **ClientId** Client ID of the user utilizing the D360 API. +- **ErrorCode** Error code of action. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **Mode** Phase in upgrade. +- **RelatedCV** The correction vector (CV) of any other related events +- **Result** End result of the action. ### DeploymentTelemetry.Deployment_Initialize -Event to indicate that the Deployment 360 APIs have been initialized for use. +This event indicates that the Deployment 360 APIs have been initialized for use. The following fields are available: -- **ClientId** Client ID of user utilizing the D360 API -- **ErrorCode** Error code of action -- **FlightId** Flight being used -- **RelatedCV** CV of any other related events -- **Result** Phase Setup is in +- **ClientId** Client ID of user utilizing the D360 API. +- **ErrorCode** Error code of the action. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **RelatedCV** The correlation vector of any other related events. +- **Result** End result of the action. ### DeploymentTelemetry.Deployment_SetupBoxLaunch -Event to indicate that the Deployment 360 APIs have launched Setup Box. +This event indicates that the Deployment 360 APIs have launched Setup Box. The following fields are available: -- **ClientId** Client ID of user utilizing the D360 API -- **FlightId** Flight being used -- **Quiet** Whether Setup run in quiet mode or in full -- **RelatedCV** CV of any other related events -- **SetupMode** Phase Setup is in +- **ClientId** The client ID of the user utilizing the D360 API. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **Quiet** Whether Setup will run in quiet mode or full mode. +- **RelatedCV** The correlation vector (CV) of any other related events. +- **SetupMode** The current setup phase. ### DeploymentTelemetry.Deployment_SetupBoxResult -Event to indicate that the Deployment 360 APIs have received a return from Setup Box. +This event indicates that the Deployment 360 APIs have received a return from Setup Box. The following fields are available: -- **ClientId** Client ID of user utilizing the D360 API -- **ErrorCode** Error code of action -- **FlightId** Flight being used -- **Quiet** Whether Setup will run in quiet mode or in full -- **RelatedCV** Correlation vector of any other related events -- **SetupMode** Phase that Setup is in +- **ClientId** Client ID of the user utilizing the D360 API. +- **ErrorCode** Error code of the action. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **Quiet** Indicates whether Setup will run in quiet mode or full mode. +- **RelatedCV** The correlation vector (CV) of any other related events. +- **SetupMode** The current Setup phase. ### DeploymentTelemetry.Deployment_Start -Event to indicate that a Deployment 360 API has been called. +This event indicates that a Deployment 360 API has been called. The following fields are available: -- **ClientId** Client ID of user utilizing the D360 API -- **FlightId** Flight being used -- **Mode** Phase in upgrade -- **RelatedCV** CV of any other related events +- **ClientId** Client ID of the user utilizing the D360 API. +- **FlightId** The specific ID of the Windows Insider build the device is getting. +- **Mode** The current phase of the upgrade. +- **RelatedCV** The correlation vector (CV) of any other related events. ## Diagnostic data events -### TelClientSynthetic.AuthorizationInfo_RuntimeTransition - -Fired by UTC at state transitions to signal what data we are allowed to collect. - -The following fields are available: - -- **CanAddMsaToMsTelemetry** True if we can add MSA PUID and CID to telemetry, false otherwise. -- **CanCollectAnyTelemetry** True if we are allowed to collect partner telemetry, false otherwise. -- **CanCollectCoreTelemetry** True if we can collect CORE/Basic telemetry, false otherwise. -- **CanCollectHeartbeats** True if we can collect heartbeat telemetry, false otherwise. -- **CanCollectOsTelemetry** True if we can collect diagnostic data telemetry, false otherwise. -- **CanCollectWindowsAnalyticsEvents** True if we can collect Windows Analytics data, false otherwise. -- **CanPerformDiagnosticEscalations** True if we can perform diagnostic escalation collection, false otherwise. -- **CanPerformTraceEscalations** True if we can perform trace escalation collection, false otherwise. -- **CanReportScenarios** True if we can report scenario completions, false otherwise. -- **PreviousPermissions** Bitmask of previous telemetry state. -- **TransitionFromEverythingOff** True if we are transitioning from all telemetry being disabled, false otherwise. - - ### TelClientSynthetic.AuthorizationInfo_Startup -Fired by UTC at startup to signal what data we are allowed to collect. +This event sends data indicating that a device has undergone a change of telemetry opt-in level detected at UTC startup, to help keep Windows up to date. The telemetry opt-in level signals what data we are allowed to collect. The following fields are available: @@ -2024,7 +2005,7 @@ The following fields are available: ### TelClientSynthetic.HeartBeat_Aria_5 -Telemetry client ARIA heartbeat event. +This event is the telemetry client ARIA heartbeat. The following fields are available: @@ -2073,7 +2054,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCheckApplicabilityGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinators CheckApplicability call. +This event indicatse that we have received an unexpected error in the Direct to Update (DTU) Coordinators CheckApplicability call. The following fields are available: @@ -2086,7 +2067,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator Cleanup call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Cleanup call. The following fields are available: @@ -2099,7 +2080,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCleanupSuccess -Event to indicate that the Coordinator Cleanup call succeeded. +This event indicates that the Coordinator Cleanup call succeeded. The following fields are available: @@ -2111,7 +2092,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitGenericFailure -Commit call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Commit call. The following fields are available: @@ -2124,7 +2105,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorCommitSuccess -Event to indicate that the Coordinator Commit call succeeded. +This event indicates that the Coordinator Commit call succeeded. The following fields are available: @@ -2136,7 +2117,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator Download call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Download call. The following fields are available: @@ -2149,7 +2130,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadIgnoredFailure -Event to indicate that we have received an error in the DTU Coordinator Download call that will be ignored. +This event indicates that we have received an error in the Direct to Update (DTU) Coordinator Download call that will be ignored. The following fields are available: @@ -2162,7 +2143,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorDownloadSuccess -Event to indicate that the Coordinator Download call succeeded. +This event indicates that the Coordinator Download call succeeded. The following fields are available: @@ -2174,7 +2155,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorHandleShutdownGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator HandleShutdown call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator HandleShutdown call. The following fields are available: @@ -2187,7 +2168,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorHandleShutdownSuccess -Event to indicate that the Coordinator HandleShutdown call succeeded. +This event indicates that the Coordinator HandleShutdown call succeeded. The following fields are available: @@ -2199,7 +2180,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator Initialize call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Initialize call. The following fields are available: @@ -2212,7 +2193,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInitializeSuccess -Event to indicate that the Coordinator Initialize call succeeded. +This event indicates that the Coordinator Initialize call succeeded. The following fields are available: @@ -2224,7 +2205,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator Install call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator Install call. The following fields are available: @@ -2237,7 +2218,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallIgnoredFailure -Event to indicate that we have received an error in the DTU Coordinator Install call that will be ignored. +This event indicates that we have received an error in the Direct to Update (DTU) Coordinator Install call that will be ignored. The following fields are available: @@ -2250,7 +2231,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorInstallSuccess -Event to indicate that the Coordinator Install call succeeded. +This event indicates that the Coordinator Install call succeeded. The following fields are available: @@ -2262,7 +2243,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorProgressCallBack -Event to indicate Coordinator's progress callback has been called. +This event indicates that the Coordinator's progress callback has been called. The following fields are available: @@ -2276,7 +2257,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadyGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator SetCommitReady call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator SetCommitReady call. The following fields are available: @@ -2289,7 +2270,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorSetCommitReadySuccess -Event to indicate that the Coordinator SetCommitReady call succeeded. +This event indicates that the Coordinator SetCommitReady call succeeded. The following fields are available: @@ -2301,7 +2282,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiGenericFailure -Event to indicate that we have received an unexpected error in the DTU Coordinator WaitForRebootUi call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Coordinator WaitForRebootUi call. The following fields are available: @@ -2314,7 +2295,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiNotShown -Event to indicate that the Coordinator WaitForRebootUi call succeeded. +This event indicates that the Coordinator WaitForRebootUi call succeeded. The following fields are available: @@ -2327,7 +2308,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSelection -Event to indicate the user selected an option on the Reboot UI. +This event indicates that the user selected an option on the Reboot UI. The following fields are available: @@ -2340,7 +2321,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSuccess -Event to indicate that the Coordinator WaitForRebootUi call succeeded. +This event indicates that the Coordinator WaitForRebootUi call succeeded. The following fields are available: @@ -2352,7 +2333,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler CheckApplicability call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicability call. The following fields are available: @@ -2366,7 +2347,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler CheckApplicabilityInternal call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckApplicabilityInternal call. The following fields are available: @@ -2379,7 +2360,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalSuccess -Event to indicate that the Handler CheckApplicabilityInternal call succeeded. +This event indicates that the Handler CheckApplicabilityInternal call succeeded. The following fields are available: @@ -2392,7 +2373,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilitySuccess -Event to indicate that the Handler CheckApplicability call succeeded. +This event indicates that the Handler CheckApplicability call succeeded. The following fields are available: @@ -2406,7 +2387,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler CheckIfCoordinatorMinApplicableVersion call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler CheckIfCoordinatorMinApplicableVersion call. The following fields are available: @@ -2419,7 +2400,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionSuccess -Event to indicate that the Handler CheckIfCoordinatorMinApplicableVersion call succeeded. +This event indicates that the Handler CheckIfCoordinatorMinApplicableVersion call succeeded. The following fields are available: @@ -2432,7 +2413,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler Commit call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Commit call. The following fields are available: @@ -2446,7 +2427,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess -Event to indicate that the Handler Commit call succeeded. +This event indicates that the Handler Commit call succeeded. The following fields are available: @@ -2459,7 +2440,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabAlreadyDownloaded -Event to indicate that the Handler Download and Extract cab returned a value indicating that the cab trying to be downloaded has already been downloaded. +This event indicates that the Handler Download and Extract cab returned a value indicating that the cab has already been downloaded. The following fields are available: @@ -2471,7 +2452,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabFailure -Event to indicate that the Handler Download and Extract cab call failed. +This event indicates that the Handler Download and Extract cab call failed. The following fields are available: @@ -2485,7 +2466,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabSuccess -Event to indicate that the Handler Download and Extract cab call succeeded. +This event indicates that the Handler Download and Extract cab call succeeded. The following fields are available: @@ -2497,7 +2478,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler Download call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Download call. The following fields are available: @@ -2510,7 +2491,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadSuccess -Event to indicate that the Handler Download call succeeded. +This event indicates that the Handler Download call succeeded. The following fields are available: @@ -2522,7 +2503,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler Initialize call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Initialize call. The following fields are available: @@ -2536,7 +2517,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess -Event to indicate that the Handler Initialize call succeeded. +This event indicates that the Handler Initialize call succeeded. The following fields are available: @@ -2549,7 +2530,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler Install call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler Install call. The following fields are available: @@ -2562,7 +2543,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess -Event to indicate that the Coordinator Install call succeeded. +This event indicates that the Coordinator Install call succeeded. The following fields are available: @@ -2574,7 +2555,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadyGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler SetCommitReady call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler SetCommitReady call. The following fields are available: @@ -2587,7 +2568,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadySuccess -Event to indicate that the Handler SetCommitReady call succeeded. +This event indicates that the Handler SetCommitReady call succeeded. The following fields are available: @@ -2599,7 +2580,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiGenericFailure -Event to indicate that we have received an unexpected error in the DTU Handler WaitForRebootUi call. +This event indicates that we have received an unexpected error in the Direct to Update (DTU) Handler WaitForRebootUi call. The following fields are available: @@ -2612,7 +2593,7 @@ The following fields are available: ### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiSuccess -Event to indicate that the Handler WaitForRebootUi call succeeded. +This event indicates that the Handler WaitForRebootUi call succeeded. The following fields are available: @@ -2626,23 +2607,23 @@ The following fields are available: ### Microsoft.Windows.Upgrade.Uninstall.UninstallFailed -This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state +This event sends diagnostic data about failures when uninstalling a feature update, to help resolve any issues preventing customers from reverting to a known state. The following fields are available: -- **failureReason** Provides data about the uninstall initialization operation failure -- **hr** Provides the Win32 error code for the operation failure +- **failureReason** Provides data about the uninstall initialization operation failure. +- **hr** Provides the Win32 error code for the operation failure. ### Microsoft.Windows.Upgrade.Uninstall.UninstallFinalizedAndRebootTriggered -Indicates that the uninstall was properly configured and that a system reboot was initiated +This event indicates that the uninstall was properly configured and that a system reboot was initiated. ### Microsoft.Windows.Upgrade.Uninstall.UninstallGoBackButtonClicked -This event sends basic metadata about the starting point of uninstalling a feature update which helps us ensure customers can safely revert to a well-known state if the update caused any problems. +This event sends basic metadata about the starting point of uninstalling a feature update, which helps ensure customers can safely revert to a well-known state if the update caused any problems. @@ -2709,7 +2690,7 @@ The following fields are available: - **Language** The language code of the program. - **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. - **MsiProductCode** A GUID that describe the MSI Product. -- **Name** The name of the application +- **Name** The name of the application. - **OSVersionAtInstallTime** The four octets from the OS version at the time of the application's install. - **PackageFullName** The package full name for a Store application. - **ProgramInstanceId** A hash of the file IDs in an app. @@ -2723,26 +2704,26 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkAdd -This event provides the basic metadata about the frameworks an application may depend on +This event provides the basic metadata about the frameworks an application may depend on. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **FileId** A hash that uniquely identifies a file -- **Frameworks** The list of frameworks this file depends on -- **InventoryVersion** The version of the inventory file generating the events +- **FileId** A hash that uniquely identifies a file. +- **Frameworks** The list of frameworks this file depends on. +- **InventoryVersion** The version of the inventory file generating the events. ### Microsoft.Windows.Inventory.Core.InventoryApplicationFrameworkStartSync -This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent +This event indicates that a new set of InventoryApplicationFrameworkAdd events will be sent. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **InventoryVersion** The version of the inventory file generating the events +- **InventoryVersion** The version of the inventory file generating the events. ### Microsoft.Windows.Inventory.Core.InventoryApplicationRemove @@ -2769,7 +2750,7 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerAdd -This event sends basic metadata about a device container (such as a monitor or printer as opposed to a PNP device) to help keep Windows up-to-date. +This event sends basic metadata about a device container (such as a monitor or printer as opposed to a PNP device) to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -2880,18 +2861,18 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDevicePnpAdd -This event represents the basic metadata about a PNP device and its associated driver +This event represents the basic metadata about a plug and play (PNP) device and its associated driver. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **BusReportedDescription** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. -- **Class** A unique identifier for the driver installed. -- **ClassGuid** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). -- **COMPID** INF file name (the name could be renamed by OS, such as oemXX.inf) -- **ContainerId** The version of the inventory binary generating the events. -- **Description** The current error code for the device. +- **BusReportedDescription** The description of the device reported by the bux. +- **Class** The device setup class of the driver loaded for the device. +- **ClassGuid** The device class GUID from the driver package +- **COMPID** The device setup class guid of the driver loaded for the device. +- **ContainerId** The list of compat ids for the device. +- **Description** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. - **DeviceState** The device description. - **DriverId** DeviceState is a bitmask of the following: DEVICE_IS_CONNECTED 0x0001 (currently only for container). DEVICE_IS_NETWORK_DEVICE 0x0002 (currently only for container). DEVICE_IS_PAIRED 0x0004 (currently only for container). DEVICE_IS_ACTIVE 0x0008 (currently never set). DEVICE_IS_MACHINE 0x0010 (currently only for container). DEVICE_IS_PRESENT 0x0020 (currently always set). DEVICE_IS_HIDDEN 0x0040. DEVICE_IS_PRINTER 0x0080 (currently only for container). DEVICE_IS_WIRELESS 0x0100. DEVICE_IS_WIRELESS_FAT 0x0200. The most common values are therefore: 32 (0x20)= device is present. 96 (0x60)= device is present but hidden. 288 (0x120)= device is a wireless device that is present - **DriverName** A unique identifier for the driver installed. @@ -2941,31 +2922,31 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassAdd -This event sends basic metadata about the USB hubs on the device +This event sends basic metadata about the USB hubs on the device. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **InventoryVersion** The version of the inventory file generating the events -- **TotalUserConnectablePorts** Total number of connectable USB ports -- **TotalUserConnectableTypeCPorts** Total number of connectable USB Type C ports +- **InventoryVersion** The version of the inventory file generating the events. +- **TotalUserConnectablePorts** Total number of connectable USB ports. +- **TotalUserConnectableTypeCPorts** Total number of connectable USB Type C ports. ### Microsoft.Windows.Inventory.Core.InventoryDeviceUsbHubClassStartSync -This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent +This event indicates that a new set of InventoryDeviceUsbHubClassAdd events will be sent. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **InventoryVersion** The version of the inventory file generating the events +- **InventoryVersion** The version of the inventory file generating the events. ### Microsoft.Windows.Inventory.Core.InventoryDriverBinaryAdd -This event provides the basic metadata about driver binaries running on the system +This event provides the basic metadata about driver binaries running on the system. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -2986,7 +2967,7 @@ The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. - **Product** The product name that is included in the driver file. - **ProductVersion** The product version that is included in the driver file. -- **Service** The device service name +- **Service** No content is currently available. - **WdfVersion** The Windows Driver Framework version. @@ -3014,7 +2995,7 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDriverPackageAdd -This event sends basic metadata about drive packages installed on the system to help keep Windows up-to-date. +This event sends basic metadata about drive packages installed on the system to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -3456,6 +3437,68 @@ The following fields are available: - **UptimeDeltaMS** Total time (in milliseconds) added to Uptime since the last event +## Other events + +### IO + +No content is currently available. + +The following fields are available: + +- **BytesRead** No content is currently available. +- **BytesWritten** No content is currently available. + + +### wilActivity + +No content is currently available. + +The following fields are available: + +- **callContext** No content is currently available. +- **currentContextId** No content is currently available. +- **currentContextMessage** No content is currently available. +- **currentContextName** No content is currently available. +- **failureCount** No content is currently available. +- **failureId** No content is currently available. +- **failureType** No content is currently available. +- **fileName** No content is currently available. +- **function** No content is currently available. +- **hresult** No content is currently available. +- **lineNumber** No content is currently available. +- **message** No content is currently available. +- **module** No content is currently available. +- **originatingContextId** No content is currently available. +- **originatingContextMessage** No content is currently available. +- **originatingContextName** No content is currently available. +- **threadId** No content is currently available. + + +### wilResult + +No content is currently available. + +The following fields are available: + +- **callContext** No content is currently available. +- **currentContextId** No content is currently available. +- **currentContextMessage** No content is currently available. +- **currentContextName** No content is currently available. +- **failureCount** No content is currently available. +- **failureId** No content is currently available. +- **failureType** No content is currently available. +- **fileName** No content is currently available. +- **function** No content is currently available. +- **hresult** No content is currently available. +- **lineNumber** No content is currently available. +- **message** No content is currently available. +- **module** No content is currently available. +- **originatingContextId** No content is currently available. +- **originatingContextMessage** No content is currently available. +- **originatingContextName** No content is currently available. +- **threadId** No content is currently available. + + ## Privacy consent logging events ### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted @@ -3476,10 +3519,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** Whether the current user is an administrator or not +- **isAdmin** whether the person who is logging in is an admin - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** Whether the current user has enabled silent elevation -- **privacyConsentState** The current state of the privacy consent experience +- **isSilentElevation** whether the user has most restrictive UAC controls +- **privacyConsentState** whether the user has completed privacy experience - **userRegionCode** The current user's region setting @@ -3703,7 +3746,7 @@ Download process event for target update on Windows Update client. See EventScen The following fields are available: -- **ActiveDownloadTime** How long the download took, in seconds, excluding time where the update wasn't actively being downloaded.Number of seconds the update was actively being downloaded. +- **ActiveDownloadTime** Number of seconds the update was actively being downloaded. - **AppXBlockHashValidationFailureCount** A count of the number of blocks that have failed validation after being downloaded. - **AppXDownloadScope** Indicates the scope of the download for application content. For streaming install scenarios, AllContent - non-streaming download, RequiredOnly - streaming download requested content required for launch, AutomaticOnly - streaming download requested automatic streams for the app, and Unknown - for events sent before download scope is determined by the Windows Update client. - **BiosFamily** The family of the BIOS (Basic Input Output System). @@ -3911,24 +3954,24 @@ Ensures Windows Updates are secure and complete. Event helps to identify whether The following fields are available: - **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** The secondary status code of the event. +- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce - **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **RevisionId** The revision ID for a specific piece of content. - **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. - **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. - **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. +- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". +- **StatusCode** Result code of the event (success, cancellation, failure code HResult) - **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. - **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. - **UpdateId** The update ID for a specific piece of content. @@ -4121,7 +4164,7 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each update. +- **UpdateId** Unique ID for each Update. - **UserSession** Indicates whether install was invoked by user actions. @@ -4141,24 +4184,24 @@ The following fields are available: - **DetectorVersion** Most recently run detector version for the current campaign. - **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. - **key1** UI interaction data -- **key10** Interaction data for the UI -- **key11** Interaction data for the UI -- **key12** Interaction data for the UI -- **key13** Interaction data for the UI -- **key14** Interaction data for the UI -- **key15** Interaction data for the UI -- **key16** Interaction data for the UI -- **key17** Interaction data for the UI -- **key18** Interaction data for the UI -- **key19** Interaction data for the UI -- **key2** Interaction data for the UI -- **key20** Interaction data for the UI -- **key21** Interaction data for the UI -- **key22** Interaction data for the UI -- **key23** Interaction data for the UI -- **key24** Interaction data for the UI -- **key25** Interaction data for the UI -- **key26** Interaction data for the UI +- **key10** UI interaction data +- **key11** UI interaction data +- **key12** UI interaction data +- **key13** UI interaction data +- **key14** UI interaction data +- **key15** UI interaction data +- **key16** UI interaction data +- **key17** UI interaction data +- **key18** UI interaction data +- **key19** UI interaction data +- **key2** UI interaction data +- **key20** UI interaction data +- **key21** UI interaction data +- **key22** UI interaction data +- **key23** UI interaction data +- **key24** UI interaction data +- **key25** UI interaction data +- **key26** UI interaction data - **key27** UI interaction data - **key28** UI interaction data - **key29** UI interaction data @@ -4824,9 +4867,9 @@ The following fields are available: - **CatalogId** The name of the product catalog from which this app was chosen. - **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** Resulting HResult error/success code of this call -- **PFN** Package Family Name of the app that being installed or updated -- **ProductId** Product Id of the app that is being updated or installed +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -4950,7 +4993,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure Error code. +- **hResult** Failure error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -4991,7 +5034,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. +- **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5035,7 +5078,7 @@ The following fields are available: - **background** Indicates whether the download is happening in the background. - **bytesRequested** Number of bytes requested for the download. - **callerName** Name of the API caller. -- **cdnUrl** The URL of the source Content Distribution Network (CDN). +- **cdnUrl** The URL of the source CDN - **costFlags** A set of flags representing network cost. - **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). - **diceRoll** Random number used for determining if a client will use peering. @@ -5440,8 +5483,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Update Session type -- **wuDeviceid** Device ID +- **updateScenarioType** The update session type. +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5601,7 +5644,7 @@ The following fields are available: - **deferReason** Reason for install not completing. - **errorCode** The error code reppresented by a hexadecimal value. - **eventScenario** End-to-end update session ID. -- **flightID** Unique update ID +- **flightID** The specific ID of the Windows Insider build the device is getting. - **flightUpdate** Indicates whether the update is a Windows Insider build. - **ForcedRebootReminderSet** A boolean value that indicates if a forced reboot will happen for updates. - **installCommitfailedtime** The time it took for a reboot to happen but the upgrade failed to progress. @@ -5821,7 +5864,7 @@ The following fields are available: - **scheduledRebootTime** Time scheduled for the reboot. - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. -- **wuDeviceid** Unique device ID used by Windows Update. +- **wuDeviceid** Unique DeviceID ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5848,21 +5891,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** Number of mounted images. -- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. From cfe518510f4836ebef931a61ad0e8bde44bd20d0 Mon Sep 17 00:00:00 2001 From: Dawn Wood Date: Thu, 6 Sep 2018 21:52:53 +0000 Subject: [PATCH 33/60] Updated windows-10-1809-removed-features.md --- .../deployment/planning/windows-10-1809-removed-features.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index f9c6ae9c27..afc840b104 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -28,12 +28,12 @@ We're removing the following features and functionalities from the installed pro |Feature |Instead you can use...| |-----------|-------------------- |Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| -|[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify the font antialiasing strategy to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/en-us/typography/cleartype/) by default, so we're removing this setting. If you include this setting in the unattend.xml file, it'll be ignored.| +|[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify the font antialiasing strategy to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/en-us/typography/cleartype/) by default, so we're removing this setting as it is no longer necessary. If you include this setting in the unattend.xml file, it'll be ignored.| |Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| |limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source.| |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| -|Future updates through [Windows Embedded Developer Update](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\)) for Windows Embedded Standard 8 and Windows Embedded 8 Standard|We’re no longer publishing new updates to the WEDU server. Instead, we recommend that you secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| +|Future updates through [Windows Embedded Developer Update](https://docs.microsoft.com/previous-versions/windows/embedded/ff770079\(v=winembedded.60\)) for Windows Embedded Standard 8 and Windows Embedded 8 Standard|We’re no longer publishing new updates to the WEDU server. Instead, you may secure any new updates from the [Microsoft Update Catalog](http://www.catalog.update.microsoft.com/Home.aspx).| ## Features we’re no longer developing From b539428c05ce4627bd659b5697cd773dda9c8415 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Fri, 7 Sep 2018 08:44:13 -0700 Subject: [PATCH 34/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 160 +++++++++--------- 1 file changed, 80 insertions(+), 80 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 833ad00fa9..106429c136 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 09/06/2018 +ms.date: 09/07/2018 --- @@ -93,7 +93,7 @@ The following fields are available: - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. -- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. +- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. - **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. - **SystemTouch** The count of SystemTouch objects present on this machine. - **SystemWim** The count of SystemWim objects present on this machine. @@ -1300,7 +1300,7 @@ The following fields are available: - **AppraiserTaskExitCode** The Appraiser task exist code. - **AppraiserTaskLastRun** The last runtime for the Appraiser task. - **CensusVersion** The version of Census that generated the current data for this device. -- **IEVersion** IE version running on the device. +- **IEVersion** Retrieves which version of Internet Explorer is running on this device. ### Census.Battery @@ -2644,13 +2644,13 @@ The following fields are available: - **InventoryApplicationFile** A count of application file objects in cache. - **InventoryApplicationFramework** A count of application framework objects in cache. - **InventoryApplicationShortcut** A count of application shortcut objects in cache. -- **InventoryDeviceContainer** A count of device container objects in cache -- **InventoryDeviceInterface** A count of PNP device interface objects in cache -- **InventoryDeviceMediaClass** A count of device media objects in cache -- **InventoryDevicePnp** A count of devicepnp objects in cache +- **InventoryDeviceContainer** A count of device container objects in cache. +- **InventoryDeviceInterface** A count of Plug and Play device interface objects in cache. +- **InventoryDeviceMediaClass** A count of device media objects in cache. +- **InventoryDevicePnp** A count of device Plug and Play objects in cache. - **InventoryDeviceUsbHubClass** A count of device usb objects in cache -- **InventoryDriverBinary** A count of driver binary objects in cache -- **InventoryDriverPackage** A count of device objects in cache +- **InventoryDriverBinary** A count of driver binary objects in cache. +- **InventoryDriverPackage** A count of device objects in cache. - **InventoryMiscellaneousOfficeAddIn** A count of office add-in objects in cache. - **InventoryMiscellaneousOfficeAddInUsage** A count of office add-in usage objects in cache. - **InventoryMiscellaneousOfficeIdentifiers** A count of office identifier objects in cache. @@ -2685,7 +2685,7 @@ The following fields are available: - **InstallDate** The date the application was installed (a best guess based on folder creation date heuristics). - **InstallDateArpLastModified** The date of the registry ARP key for a given application. Hints at install date but not always accurate. Passed as an array. Example: 4/11/2015 00:00:00 - **InstallDateFromLinkFile** The estimated date of install based on the links to the files. Passed as an array. -- **InstallDateMsi** The install date if the application was installed via MSI. Passed as an array. +- **InstallDateMsi** The install date if the application was installed via Microsoft Installer (MSI). Passed as an array. - **InventoryVersion** The version of the inventory file generating the events. - **Language** The language code of the program. - **MsiPackageCode** A GUID that describes the MSI Package. Multiple 'Products' (apps) can make up an MsiPackage. @@ -2696,7 +2696,7 @@ The following fields are available: - **ProgramInstanceId** A hash of the file IDs in an app. - **Publisher** The Publisher of the application. Location pulled from depends on the 'Source' field. - **RootDirPath** The path to the root directory where the program was installed. -- **Source** How the program was installed (ARP, MSI, Appx, etc...) +- **Source** How the program was installed (for example, ARP, MSI, Appx). - **StoreAppType** A sub-classification for the type of Microsoft Store app, such as UWP or Win8StoreApp. - **Type** One of ("Application", "Hotfix", "BOE", "Service", "Unknown"). Application indicates Win32 or Appx app, Hotfix indicates app updates (KBs), BOE indicates it's an app with no ARP or MSI entry, Service indicates that it is a service. Application and BOE are the ones most likely seen. - **Version** The version number of the program. @@ -2750,7 +2750,7 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDeviceContainerAdd -This event sends basic metadata about a device container (such as a monitor or printer as opposed to a PNP device) to help keep Windows up to date. +This event sends basic metadata about a device container (such as a monitor or printer as opposed to a Plug and Play device) to help keep Windows up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -2766,7 +2766,7 @@ The following fields are available: - **IsNetworked** Is this a networked device? - **IsPaired** Does the device container require pairing? - **Manufacturer** The manufacturer name for the device container. -- **ModelId** A model GUID. +- **ModelId** A unique model ID. - **ModelName** The model name. - **ModelNumber** The model number for the device container. - **PrimaryCategory** The primary category for the device container. @@ -2837,7 +2837,7 @@ The following fields are available: ### Microsoft.Windows.Inventory.Core.InventoryDeviceMediaClassAdd -This event sends additional metadata about a PNP device that is specific to a particular class of devices to help keep Windows up to date while reducing overall size of data payload. +This event sends additional metadata about a Plug and Play device that is specific to a particular class of devices to help keep Windows up to date while reducing overall size of data payload. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). @@ -2967,7 +2967,7 @@ The following fields are available: - **InventoryVersion** The version of the inventory file generating the events. - **Product** The product name that is included in the driver file. - **ProductVersion** The product version that is included in the driver file. -- **Service** No content is currently available. +- **Service** The name of the service that is installed for the device. - **WdfVersion** The Windows Driver Framework version. @@ -3354,13 +3354,13 @@ The following fields are available: ### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorAdd -These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up-to-date. +These events represent the basic metadata about the OS indicators installed on the system which are used for keeping the device up to date. This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedeviceinventorychange). The following fields are available: -- **IndicatorValue** The indicator value +- **IndicatorValue** The indicator value. ### Microsoft.Windows.Inventory.Indicators.InventoryMiscellaneousUexIndicatorRemove @@ -3441,62 +3441,62 @@ The following fields are available: ### IO -No content is currently available. +This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. The following fields are available: -- **BytesRead** No content is currently available. -- **BytesWritten** No content is currently available. +- **BytesRead** The total number of bytes read from or read by the OS upon system startup. +- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. ### wilActivity -No content is currently available. +This event provides a Windows Internal Library context used for Product and Service diagnostics. The following fields are available: -- **callContext** No content is currently available. -- **currentContextId** No content is currently available. -- **currentContextMessage** No content is currently available. -- **currentContextName** No content is currently available. -- **failureCount** No content is currently available. -- **failureId** No content is currently available. -- **failureType** No content is currently available. -- **fileName** No content is currently available. -- **function** No content is currently available. -- **hresult** No content is currently available. -- **lineNumber** No content is currently available. -- **message** No content is currently available. -- **module** No content is currently available. -- **originatingContextId** No content is currently available. -- **originatingContextMessage** No content is currently available. -- **originatingContextName** No content is currently available. -- **threadId** No content is currently available. +- **callContext** The function where the failure occurred. +- **currentContextId** The ID of the current call context where the failure occurred. +- **currentContextMessage** The message of the current call context where the failure occurred. +- **currentContextName** The name of the current call context where the failure occurred. +- **failureCount** The number of failures for this failure ID. +- **failureId** The ID of the failure that occurred. +- **failureType** The type of the failure that occurred. +- **fileName** The file name where the failure occurred. +- **function** The function where the failure occurred. +- **hresult** The HResult of the overall activity. +- **lineNumber** The line number where the failure occurred. +- **message** The message of the failure that occurred. +- **module** The module where the failure occurred. +- **originatingContextId** The ID of the originating call context that resulted in the failure. +- **originatingContextMessage** The message of the originating call context that resulted in the failure. +- **originatingContextName** The name of the originating call context that resulted in the failure. +- **threadId** The ID of the thread on which the activity is executing. ### wilResult -No content is currently available. +This event provides a Windows Internal Library context used for Product and Service diagnostics. The following fields are available: -- **callContext** No content is currently available. -- **currentContextId** No content is currently available. -- **currentContextMessage** No content is currently available. -- **currentContextName** No content is currently available. -- **failureCount** No content is currently available. -- **failureId** No content is currently available. -- **failureType** No content is currently available. -- **fileName** No content is currently available. -- **function** No content is currently available. -- **hresult** No content is currently available. -- **lineNumber** No content is currently available. -- **message** No content is currently available. -- **module** No content is currently available. -- **originatingContextId** No content is currently available. -- **originatingContextMessage** No content is currently available. -- **originatingContextName** No content is currently available. -- **threadId** No content is currently available. +- **callContext** The call context stack where failure occurred. +- **currentContextId** The ID of the current call context where the failure occurred. +- **currentContextMessage** The message of the current call context where the failure occurred. +- **currentContextName** The name of the current call context where the failure occurred. +- **failureCount** The number of failures for this failure ID. +- **failureId** The ID of the failure that occurred. +- **failureType** The type of the failure that occurred. +- **fileName** The file name where the failure occurred. +- **function** The function where the failure occurred. +- **hresult** The HResult of the overall activity. +- **lineNumber** The line number where the failure occurred. +- **message** The message of the failure that occurred. +- **module** The module where the failure occurred. +- **originatingContextId** The ID of the originating call context that resulted in the failure. +- **originatingContextMessage** The message of the originating call context that resulted in the failure. +- **originatingContextName** The name of the originating call context that resulted in the failure. +- **threadId** The ID of the thread on which the activity is executing. ## Privacy consent logging events @@ -3519,10 +3519,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** whether the person who is logging in is an admin +- **isAdmin** Whether the current user is an administrator or not - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** whether the user has most restrictive UAC controls -- **privacyConsentState** whether the user has completed privacy experience +- **isSilentElevation** Whether the current user has enabled silent elevation +- **privacyConsentState** The current state of the privacy consent experience - **userRegionCode** The current user's region setting @@ -3530,7 +3530,7 @@ The following fields are available: ### Microsoft.Windows.Sediment.OSRSS.UrlState -Event indicating the state OSRSS service is in while attempting a download from the URL. +This event indicates the state the Operating System Remediation System Service (OSRSS) is in while attempting a download from the URL. The following fields are available: @@ -3954,24 +3954,24 @@ Ensures Windows Updates are secure and complete. Event helps to identify whether The following fields are available: - **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. -- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. -- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. +- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. +- **ExtendedStatusCode** The secondary status code of the event. - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce +- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce - **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). -- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. +- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **RevisionId** The revision ID for a specific piece of content. - **RevisionNumber** The revision number for a specific piece of content. -- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) +- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. - **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. - **SignatureAlgorithm** The hash algorithm for the metadata signature. -- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". -- **StatusCode** Result code of the event (success, cancellation, failure code HResult) +- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast +- **StatusCode** The status code of the event. - **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. - **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. - **UpdateId** The update ID for a specific piece of content. @@ -4203,8 +4203,8 @@ The following fields are available: - **key25** UI interaction data - **key26** UI interaction data - **key27** UI interaction data -- **key28** UI interaction data -- **key29** UI interaction data +- **key28** Interaction data for the UI +- **key29** Interaction data for the UI - **key3** UI interaction data - **key30** UI interaction data - **key4** UI interaction data @@ -4387,7 +4387,7 @@ The following fields are available: - **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). - **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. - **TestId** ID that uniquely identifies a group of events. @@ -4867,9 +4867,9 @@ The following fields are available: - **CatalogId** The name of the product catalog from which this app was chosen. - **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** The HResult code of the operation. -- **PFN** The Package Family Name of the app that is being installed or updated. -- **ProductId** The product ID of the app that is being updated or installed. +- **HResult** Resulting HResult error/success code of this call +- **PFN** Package Family Name of the app that being installed or updated +- **ProductId** Product Id of the app that is being updated or installed ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -4993,7 +4993,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. +- **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5034,7 +5034,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure Error code. +- **hResult** Failure error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5084,7 +5084,7 @@ The following fields are available: - **diceRoll** Random number used for determining if a client will use peering. - **doClientVersion** The version of the Delivery Optimization client. - **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). +- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100).) - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). - **errorCode** The error code that was returned. - **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. @@ -5454,7 +5454,7 @@ The following fields are available: - **displayNeededReason** List of reasons for needing display. - **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery).. - **gameModeReason** Name of the executable that caused the game mode state check to start. - **ignoredReason** List of reasons that were intentionally ignored. - **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). @@ -5475,7 +5475,7 @@ The following fields are available: - **detectionBlockingPolicy** State of update action. - **detectionBlockreason** Reason for detection not completing. - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** State of update action +- **errorCode** The returned error code. - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5596,7 +5596,7 @@ This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Time when this event was generated +- **EventPublishedTime** Time when this event was generated. - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. - **updateId** Unique Windows Update ID. From d436455649355ccda2521ea35c9568f7c5815be6 Mon Sep 17 00:00:00 2001 From: Dawn Wood Date: Fri, 7 Sep 2018 22:06:44 +0000 Subject: [PATCH 35/60] Updated windows-10-1809-removed-features.md --- windows/deployment/planning/windows-10-1809-removed-features.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/deployment/planning/windows-10-1809-removed-features.md b/windows/deployment/planning/windows-10-1809-removed-features.md index afc840b104..6d5df32e07 100644 --- a/windows/deployment/planning/windows-10-1809-removed-features.md +++ b/windows/deployment/planning/windows-10-1809-removed-features.md @@ -29,7 +29,7 @@ We're removing the following features and functionalities from the installed pro |-----------|-------------------- |Business Scanning, also called Distributed Scan Management (DSM)|We're removing this secure scanning and scanner management capability - there are no devices that support this feature.| |[FontSmoothing setting](https://docs.microsoft.com/windows-hardware/customize/desktop/unattend/microsoft-windows-shell-setup-visualeffects-fontsmoothing) in unattend.xml|The FontSmoothing setting let you specify the font antialiasing strategy to use across the system. We've changed Windows 10 to use [ClearType](https://docs.microsoft.com/en-us/typography/cleartype/) by default, so we're removing this setting as it is no longer necessary. If you include this setting in the unattend.xml file, it'll be ignored.| -|Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help).| +|Hologram app|We've replaced the Hologram app with the [Mixed Reality Viewer](https://support.microsoft.com/help/4041156/windows-10-mixed-reality-help). If you would like to create 3D word art, you can still do that in Paint 3D and view your art in VR or Hololens with the Mixed Reality Viewer.| |limpet.exe|We're releasing the limpet.exe tool, used to access TPM for Azure connectivity, as open source.| |Phone Companion|When you update to Windows 10, version 1809, the Phone Companion app will be removed from your PC. Use the **Phone** page in the Settings app to sync your mobile phone with your PC. It includes all the Phone Companion features.| |Trusted Platform Module (TPM) management console|The information previously available in the TPM management console is now available on the [**Device security**](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/wdsc-device-security) page in the [Windows Defender Security Center](https://docs.microsoft.com/windows/security/threat-protection/windows-defender-security-center/windows-defender-security-center).| From d7c2294644d8581b0457fb8a97e8189ab2d7b5d7 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Sat, 8 Sep 2018 11:41:10 -0700 Subject: [PATCH 36/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 449 +++++++++--------- 1 file changed, 223 insertions(+), 226 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 106429c136..0f325de817 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,7 +9,7 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 09/07/2018 +ms.date: 09/08/2018 --- @@ -83,21 +83,21 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of the number of this particular object type present on this device. +- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. - **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. - **PCFP** An ID for the system, calculated by hashing hardware identifiers. -- **SystemMemory** The count of the number of this particular object type present on this device. +- **SystemMemory** The count of SystemMemory objects present on this machine. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. -- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. -- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. -- **SystemTouch** The count of SystemTouch objects present on this machine. +- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. +- **SystemProcessorSse2** The count of the number of this particular object type present on this device. +- **SystemTouch** The count of the number of this particular object type present on this device. - **SystemWim** The count of SystemWim objects present on this machine. -- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. +- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. - **SystemWlan** The count of SystemWlan objects present on this machine. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -1505,16 +1505,16 @@ The following fields are available: - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. - **PreviousUpdateRevision** Previous microcode revision. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. -- **ProcessorClockSpeed** Clock speed of the processor in MHz. -- **ProcessorCores** Number of logical cores in the processor. -- **ProcessorIdentifier** Processor Identifier of a manufacturer. -- **ProcessorManufacturer** Name of the processor manufacturer. -- **ProcessorModel** Name of the processor model. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. The complete list of values can be found in DimProcessorArchitecture. +- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. +- **ProcessorCores** Retrieves the number of cores in the processor. +- **ProcessorIdentifier** The processor identifier of a manufacturer. +- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. +- **ProcessorModel** Retrieves the name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Microcode revision +- **ProcessorUpdateRevision** Retrieves the processor architecture of the installed operating system. - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. -- **SocketCount** Count of CPU sockets. +- **SocketCount** Number of physical CPU sockets of the machine. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -2058,9 +2058,9 @@ This event indicatse that we have received an unexpected error in the Direct to The following fields are available: -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. +- **CampaignID** ID of the campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. - **CV** Correlation vector. - **hResult** HRESULT of the failure. @@ -2250,7 +2250,6 @@ The following fields are available: - **CampaignID** Campaign ID being run. - **ClientID** Client ID being run. - **CoordinatorVersion** Coordinator version of DTU. -- **Current Deploy Phase's percentage completed** Trigger which fired UXLauncher. - **CV** Correlation vector. - **DeployPhase** Current Deploy Phase. @@ -2274,9 +2273,9 @@ This event indicates that the Coordinator SetCommitReady call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. - **CV** Correlation vector. @@ -2300,8 +2299,8 @@ This event indicates that the Coordinator WaitForRebootUi call succeeded. The following fields are available: - **CampaignID** Campaign ID being run. -- **ClientID** Client ID being run. -- **CoordinatorVersion** Coordinator version of DTU. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. - **CV** Correlation vector. - **hResult** HRESULT of the failure. @@ -2312,11 +2311,11 @@ This event indicates that the user selected an option on the Reboot UI. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **rebootUiSelection** Selection on the Reboot UI +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **rebootUiSelection** Selection on the Reboot UI. ### Microsoft.Windows.DirectToUpdate.DTUCoordinatorWaitForRebootUiSuccess @@ -2325,10 +2324,10 @@ This event indicates that the Coordinator WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityGenericFailure @@ -2351,11 +2350,11 @@ This event indicates that we have received an unexpected error in the Direct to The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** ID of the campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilityInternalSuccess @@ -2364,11 +2363,11 @@ This event indicates that the Handler CheckApplicabilityInternal call succeeded. The following fields are available: -- **ApplicabilityResult** Result of CheckApplicability function -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **ApplicabilityResult** The result of the applicability check. +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckApplicabilitySuccess @@ -2377,12 +2376,12 @@ This event indicates that the Handler CheckApplicability call succeeded. The following fields are available: -- **ApplicabilityResult** Result of CheckApplicability function -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **CV_new** New correlation vector +- **ApplicabilityResult** The result code indicating whether the update is applicable. +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **CV_new** New correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerCheckIfCoordinatorMinApplicableVersionGenericFailure @@ -2404,11 +2403,11 @@ This event indicates that the Handler CheckIfCoordinatorMinApplicableVersion cal The following fields are available: -- **CampaignID** Campaign ID being run -- **CheckIfCoordinatorMinApplicableVersionResult** Result of CheckIfCoordinatorMinApplicableVersion function -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **CampaignID** ID of the update campaign being run. +- **CheckIfCoordinatorMinApplicableVersionResult** Result of CheckIfCoordinatorMinApplicableVersion function. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitGenericFailure @@ -2417,12 +2416,12 @@ This event indicates that we have received an unexpected error in the Direct to The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **CV_new** New correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **CV_new** New correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUHandlerCommitSuccess @@ -2431,11 +2430,11 @@ This event indicates that the Handler Commit call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **CV_new** New correlation vector +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **CV_new** New correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabAlreadyDownloaded @@ -2456,12 +2455,12 @@ This event indicates that the Handler Download and Extract cab call failed. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **DownloadAndExtractCabFunction_failureReason** Reason why the DownloadAndExtractCab function failed -- **hResult** HRESULT of the failure +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **DownloadAndExtractCabFunction_failureReason** Reason why the update download and extract process failed. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadAndExtractCabSuccess @@ -2470,10 +2469,10 @@ This event indicates that the Handler Download and Extract cab call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadGenericFailure @@ -2482,11 +2481,11 @@ This event indicates that we have received an unexpected error in the Direct to The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUHandlerDownloadSuccess @@ -2495,10 +2494,10 @@ This event indicates that the Handler Download call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeGenericFailure @@ -2507,12 +2506,12 @@ This event indicates that we have received an unexpected error in the Direct to The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function -- **hResult** HRESULT of the failure +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **DownloadAndExtractCabFunction_hResult** HRESULT of the download and extract. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUHandlerInitializeSuccess @@ -2521,11 +2520,11 @@ This event indicates that the Handler Initialize call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **DownloadAndExtractCabFunction_hResult** HRESULT of the DownloadAndExtractCab function +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **DownloadAndExtractCabFunction_hResult** HRESULT of the download and extraction. ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallGenericFailure @@ -2534,11 +2533,11 @@ This event indicates that we have received an unexpected error in the Direct to The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **hResult** HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUHandlerInstallSuccess @@ -2547,10 +2546,10 @@ This event indicates that the Coordinator Install call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **CampaignID** ID of the update campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerSetCommitReadyGenericFailure @@ -2572,10 +2571,10 @@ This event indicates that the Handler SetCommitReady call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **CampaignID** ID of the campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiGenericFailure @@ -2584,11 +2583,11 @@ This event indicates that we have received an unexpected error in the Direct to The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector -- **hResult** HRESULT of the failure +- **CampaignID** The ID of the campaigning being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. +- **hResult** The HRESULT of the failure. ### Microsoft.Windows.DirectToUpdate.DTUHandlerWaitForRebootUiSuccess @@ -2597,10 +2596,10 @@ This event indicates that the Handler WaitForRebootUi call succeeded. The following fields are available: -- **CampaignID** Campaign ID being run -- **ClientID** Client ID being run -- **CoordinatorVersion** Coordinator version of DTU -- **CV** Correlation vector +- **CampaignID** ID of the campaign being run. +- **ClientID** ID of the client receiving the update. +- **CoordinatorVersion** Coordinator version of Direct to Update. +- **CV** Correlation vector. ## Feature update events @@ -2867,12 +2866,12 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic The following fields are available: -- **BusReportedDescription** The description of the device reported by the bux. -- **Class** The device setup class of the driver loaded for the device. -- **ClassGuid** The device class GUID from the driver package -- **COMPID** The device setup class guid of the driver loaded for the device. -- **ContainerId** The list of compat ids for the device. -- **Description** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. +- **BusReportedDescription** System-supplied GUID that uniquely groups the functional devices associated with a single-function or multifunction device installed in the computer. +- **Class** A unique identifier for the driver installed. +- **ClassGuid** Name of the .sys image file (or wudfrd.sys if using user mode driver framework). +- **COMPID** INF file name (the name could be renamed by OS, such as oemXX.inf) +- **ContainerId** The version of the inventory binary generating the events. +- **Description** The current error code for the device. - **DeviceState** The device description. - **DriverId** DeviceState is a bitmask of the following: DEVICE_IS_CONNECTED 0x0001 (currently only for container). DEVICE_IS_NETWORK_DEVICE 0x0002 (currently only for container). DEVICE_IS_PAIRED 0x0004 (currently only for container). DEVICE_IS_ACTIVE 0x0008 (currently never set). DEVICE_IS_MACHINE 0x0010 (currently only for container). DEVICE_IS_PRESENT 0x0020 (currently always set). DEVICE_IS_HIDDEN 0x0040. DEVICE_IS_PRINTER 0x0080 (currently only for container). DEVICE_IS_WIRELESS 0x0100. DEVICE_IS_WIRELESS_FAT 0x0200. The most common values are therefore: 32 (0x20)= device is present. 96 (0x60)= device is present but hidden. 288 (0x120)= device is a wireless device that is present - **DriverName** A unique identifier for the driver installed. @@ -3381,6 +3380,16 @@ This event includes fields from [Ms.Device.DeviceInventoryChange](#msdevicedevic ## Kernel events +### IO + +This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. + +The following fields are available: + +- **BytesRead** The total number of bytes read from or read by the OS upon system startup. +- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. + + ### Microsoft.Windows.Kernel.BootEnvironment.OsLaunch OS information collected during Boot, used to evaluate the success of the upgrade process. @@ -3437,68 +3446,6 @@ The following fields are available: - **UptimeDeltaMS** Total time (in milliseconds) added to Uptime since the last event -## Other events - -### IO - -This event indicates the number of bytes read from or read by the OS and written to or written by the OS upon system startup. - -The following fields are available: - -- **BytesRead** The total number of bytes read from or read by the OS upon system startup. -- **BytesWritten** The total number of bytes written to or written by the OS upon system startup. - - -### wilActivity - -This event provides a Windows Internal Library context used for Product and Service diagnostics. - -The following fields are available: - -- **callContext** The function where the failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - -### wilResult - -This event provides a Windows Internal Library context used for Product and Service diagnostics. - -The following fields are available: - -- **callContext** The call context stack where failure occurred. -- **currentContextId** The ID of the current call context where the failure occurred. -- **currentContextMessage** The message of the current call context where the failure occurred. -- **currentContextName** The name of the current call context where the failure occurred. -- **failureCount** The number of failures for this failure ID. -- **failureId** The ID of the failure that occurred. -- **failureType** The type of the failure that occurred. -- **fileName** The file name where the failure occurred. -- **function** The function where the failure occurred. -- **hresult** The HResult of the overall activity. -- **lineNumber** The line number where the failure occurred. -- **message** The message of the failure that occurred. -- **module** The module where the failure occurred. -- **originatingContextId** The ID of the originating call context that resulted in the failure. -- **originatingContextMessage** The message of the originating call context that resulted in the failure. -- **originatingContextName** The name of the originating call context that resulted in the failure. -- **threadId** The ID of the thread on which the activity is executing. - - ## Privacy consent logging events ### Microsoft.Windows.Shell.PrivacyConsentLogging.PrivacyConsentCompleted @@ -3580,6 +3527,56 @@ The following fields are available: - **wilActivity** Windows Error Reporting data collected when there is a failure in evaluating accounts to be deleted with the Transient Account Manager. See [wilActivity](#wilactivity). +### wilActivity + +This event provides a Windows Internal Library context used for Product and Service diagnostics. + +The following fields are available: + +- **callContext** The function where the failure occurred. +- **currentContextId** The ID of the current call context where the failure occurred. +- **currentContextMessage** The message of the current call context where the failure occurred. +- **currentContextName** The name of the current call context where the failure occurred. +- **failureCount** The number of failures for this failure ID. +- **failureId** The ID of the failure that occurred. +- **failureType** The type of the failure that occurred. +- **fileName** The file name where the failure occurred. +- **function** The function where the failure occurred. +- **hresult** The HResult of the overall activity. +- **lineNumber** The line number where the failure occurred. +- **message** The message of the failure that occurred. +- **module** The module where the failure occurred. +- **originatingContextId** The ID of the originating call context that resulted in the failure. +- **originatingContextMessage** The message of the originating call context that resulted in the failure. +- **originatingContextName** The name of the originating call context that resulted in the failure. +- **threadId** The ID of the thread on which the activity is executing. + + +### wilResult + +This event provides a Windows Internal Library context used for Product and Service diagnostics. + +The following fields are available: + +- **callContext** The call context stack where failure occurred. +- **currentContextId** The ID of the current call context where the failure occurred. +- **currentContextMessage** The message of the current call context where the failure occurred. +- **currentContextName** The name of the current call context where the failure occurred. +- **failureCount** The number of failures for this failure ID. +- **failureId** The ID of the failure that occurred. +- **failureType** The type of the failure that occurred. +- **fileName** The file name where the failure occurred. +- **function** The function where the failure occurred. +- **hresult** The HResult of the overall activity. +- **lineNumber** The line number where the failure occurred. +- **message** The message of the failure that occurred. +- **module** The module where the failure occurred. +- **originatingContextId** The ID of the originating call context that resulted in the failure. +- **originatingContextMessage** The message of the originating call context that resulted in the failure. +- **originatingContextName** The name of the originating call context that resulted in the failure. +- **threadId** The ID of the thread on which the activity is executing. + + ## SIH events ### SIHEngineTelemetry.EvalApplicability @@ -3960,21 +3957,21 @@ The following fields are available: - **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. - **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce -- **MetadataSignature** A base64-encoded string of the signature associated with the update metadata (specified by revision ID). +- **MetadataSignature** Base64 string of the signature associated with the update metadata (specified by revision id) - **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. -- **RevisionId** The revision ID for a specific piece of content. -- **RevisionNumber** The revision number for a specific piece of content. +- **RevisionId** Identifies the revision of this specific piece of content +- **RevisionNumber** Identifies the revision number of this specific piece of content - **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. -- **SHA256OfLeafCertPublicKey** A base64 encoding of the hash of the Base64CertData in the FragmentSigning data of the leaf certificate. +- **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. - **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. -- **SignatureAlgorithm** The hash algorithm for the metadata signature. +- **SignatureAlgorithm** Hash algorithm for the metadata signature - **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast - **StatusCode** The status code of the event. - **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. - **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. -- **UpdateId** The update ID for a specific piece of content. +- **UpdateId** Identifier associated with the specific piece of content - **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. @@ -4164,7 +4161,7 @@ The following fields are available: - **ScenarioId** Indicates the update scenario. - **SessionId** Unique value for each update attempt. - **SetupMode** Mode of setup to be launched. -- **UpdateId** Unique ID for each Update. +- **UpdateId** Unique ID for each update. - **UserSession** Indicates whether install was invoked by user actions. @@ -4321,7 +4318,7 @@ This event determines whether devices received additional or critical supplement The following fields are available: -- **DCATUrl** The DCAT URL we send the request to. +- **DCATUrl** The Delivery Catalog (DCAT) URL we send the request to. - **DownloadRequestAttributes** The attributes we send to DCAT. - **ResultCode** The result returned from the initialization of Facilitator with the URL/attributes. - **Scenario** Dynamic Update scenario (Image DU, or Setup DU). @@ -4387,7 +4384,7 @@ The following fields are available: - **Setup360Extended** Detailed information about the phase or action when the potential failure occurred. - **Setup360Mode** The phase of Setup360. Example: Predownload, Install, Finalize, Rollback. - **Setup360Result** The result of Setup360. This is an HRESULT error code that is used to diagnose errors. -- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT. +- **Setup360Scenario** The Setup360 flow type. Example: Boot, Media, Update, MCT - **SetupVersionBuildNumber** The build number of Setup360 (build number of target OS). - **State** Exit state of a Setup360 run. Example: succeeded, failed, blocked, cancelled. - **TestId** ID that uniquely identifies a group of events. @@ -4565,7 +4562,7 @@ Result of the WaaSMedic operation. The following fields are available: -- **detectionSummary** Result of each applicable detection that was ran. +- **detectionSummary** Result of each applicable detection that was run. - **featureAssessmentImpact** WaaS Assessment impact for feature updates. - **hrEngineResult** Error code from the engine operation. - **insufficientSessions** Device not eligible for diagnostics. @@ -4573,7 +4570,7 @@ The following fields are available: - **isWUConnected** Device is connected to Windows Update. - **noMoreActions** No more applicable diagnostics. - **qualityAssessmentImpact** WaaS Assessment impact for quality updates. -- **remediationSummary** Result of each applicable resolution that was ran. +- **remediationSummary** Result of each operation performed on a device to fix an invalid state or configuration that's preventing the device from getting updates. For example, if Windows Update service is turned off, the fix is to turn the it back on. - **usingBackupFeatureAssessment** Relying on backup feature assessment. - **usingBackupQualityAssessment** Relying on backup quality assessment. - **usingCachedFeatureAssessment** WaaS Medic run did not get OS build age from the network on the previous run. @@ -4867,9 +4864,9 @@ The following fields are available: - **CatalogId** The name of the product catalog from which this app was chosen. - **FailedRetry** Indicates whether the installation or update retry was successful. -- **HResult** Resulting HResult error/success code of this call -- **PFN** Package Family Name of the app that being installed or updated -- **ProductId** Product Id of the app that is being updated or installed +- **HResult** The HResult code of the operation. +- **PFN** The Package Family Name of the app that is being installed or updated. +- **ProductId** The product ID of the app that is being updated or installed. ### Microsoft.Windows.StoreAgent.Telemetry.FulfillmentInitiate @@ -4993,7 +4990,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure Error code. +- **hResult** Failure error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5034,7 +5031,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure error code. +- **hResult** Failure Error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5078,13 +5075,13 @@ The following fields are available: - **background** Indicates whether the download is happening in the background. - **bytesRequested** Number of bytes requested for the download. - **callerName** Name of the API caller. -- **cdnUrl** The URL of the source CDN +- **cdnUrl** The URL of the source Content Distribution Network (CDN). - **costFlags** A set of flags representing network cost. - **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). - **diceRoll** Random number used for determining if a client will use peering. - **doClientVersion** The version of the Delivery Optimization client. - **doErrorCode** The Delivery Optimization error code that was returned. -- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100).) +- **downloadMode** The download mode used for this file download session (CdnOnly = 0, Lan = 1, Group = 2, Internet = 3, Simple = 99, Bypass = 100). - **downloadModeSrc** Source of the DownloadMode setting (KvsProvider = 0, GeoProvider = 1, GeoVerProvider = 2, CpProvider = 3, DiscoveryProvider = 4, RegistryProvider = 5, GroupPolicyProvider = 6, MdmProvider = 7, SettingsProvider = 8, InvalidProviderType = 9). - **errorCode** The error code that was returned. - **experimentId** ID used to correlate client/services calls that are part of the same test during A/B testing. @@ -5454,7 +5451,7 @@ The following fields are available: - **displayNeededReason** List of reasons for needing display. - **eventScenario** Indicates the purpose of the event (scan started, succeeded, failed, etc.). -- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery).. +- **filteredDeferReason** Applicable filtered reasons why reboot was postponed (such as user active, or low battery). - **gameModeReason** Name of the executable that caused the game mode state check to start. - **ignoredReason** List of reasons that were intentionally ignored. - **raisedDeferReason** Indicates all potential reasons for postponing restart (such as user active, or low battery). @@ -5473,9 +5470,9 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** Reason for detection not completing. +- **detectionBlockreason** If we retry to scan - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** The returned error code. +- **errorCode** State of update action - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5483,8 +5480,8 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** The update session type. -- **wuDeviceid** Unique device ID used by Windows Update. +- **updateScenarioType** Device ID +- **wuDeviceid** Device ID ### Microsoft.Windows.Update.Orchestrator.DisplayNeeded @@ -5864,7 +5861,7 @@ The following fields are available: - **scheduledRebootTime** Time scheduled for the reboot. - **scheduledRebootTimeInUTC** Time scheduled for the reboot, in UTC. - **updateId** Identifies which update is being scheduled. -- **wuDeviceid** Unique DeviceID +- **wuDeviceid** Unique device ID used by Windows Update. ### Microsoft.Windows.Update.Ux.MusNotification.UxBrokerFirstReadyToReboot @@ -5879,8 +5876,8 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments which the task is scheduled with -- **TaskName** Name of the task +- **TaskArgument** The arguments with which the task is scheduled. +- **TaskName** Name of the task. ## Windows Update mitigation events @@ -5891,21 +5888,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** Unique identifier for each flight. -- **FlightId** Unique GUID that identifies each instances of setuphost.exe. -- **InstanceId** The update scenario in which the mitigation was executed. -- **MitigationScenario** Number of mounted images. -- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. -- **RelatedCV** HResult of this operation. -- **Result** ID indicating the mitigation scenario. -- **ScenarioId** Indicates whether the scenario was supported. -- **ScenarioSupported** Unique value for each update attempt. -- **SessionId** Unique ID for each Update. -- **UpdateId** Unique ID for the Windows Update client. +- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. +- **FlightId** Unique identifier for each flight. +- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. +- **MitigationScenario** The update scenario in which the mitigation was executed. +- **MountedImageCount** Number of mounted images. +- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **RelatedCV** Correlation vector value generated from the latest USO scan. +- **Result** HResult of this operation. +- **ScenarioId** ID indicating the mitigation scenario. +- **ScenarioSupported** Indicates whether the scenario was supported. +- **SessionId** Unique value for each update attempt. +- **UpdateId** Unique ID for each Update. - **WuId** Unique ID for the Windows Update client. From 46cf6cfd89a6b3207855489f7430daa8e8811b72 Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Mon, 10 Sep 2018 15:37:16 -0700 Subject: [PATCH 37/60] new build --- ...ndows-diagnostic-events-and-fields-1803.md | 130 +++++++++--------- 1 file changed, 62 insertions(+), 68 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 0f325de817..55efbb3633 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -9,17 +9,12 @@ ms.pagetype: security localizationpriority: high author: brianlic-msft ms.author: brianlic -ms.date: 09/08/2018 +ms.date: 09/10/2018 --- # Windows 10, version 1803 basic level Windows diagnostic events and fields - -> [!IMPORTANT] -> Some information relates to prereleased product which may be substantially modified before it's commercially released. Microsoft makes no warranties, express or implied, with respect to the information provided here. - - **Applies to** - Windows 10, version 1803 @@ -34,7 +29,6 @@ Use this article to learn about diagnostic events, grouped by event area, and th You can learn more about Windows functional and diagnostic data through these articles: -- [Windows 10, version 1809 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1809.md) - [Windows 10, version 1709 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1709.md) - [Windows 10, version 1703 basic diagnostic events and fields](basic-level-windows-diagnostic-events-and-fields-1703.md) - [Manage connections from Windows operating system components to Microsoft services](manage-connections-from-windows-operating-system-components-to-microsoft-services.md) @@ -83,21 +77,21 @@ The following fields are available: - **DecisionSystemBios_RS3** The total DecisionSystemBios objects targeting the next release of Windows on this device. - **DecisionTest_RS1** An ID for the system, calculated by hashing hardware identifiers. - **InventoryApplicationFile** The count of the number of this particular object type present on this device. -- **InventoryLanguagePack** The count of InventoryLanguagePack objects present on this machine. +- **InventoryLanguagePack** The count of the number of this particular object type present on this device. - **InventoryMediaCenter** The count of the number of this particular object type present on this device. - **InventorySystemBios** The count of the number of this particular object type present on this device. - **InventoryTest** The count of the number of this particular object type present on this device. - **InventoryUplevelDriverPackage** The count of the number of this particular object type present on this device. - **PCFP** An ID for the system, calculated by hashing hardware identifiers. -- **SystemMemory** The count of SystemMemory objects present on this machine. +- **SystemMemory** The count of the number of this particular object type present on this device. - **SystemProcessorCompareExchange** The count of the number of this particular object type present on this device. - **SystemProcessorLahfSahf** The count of the number of this particular object type present on this device. - **SystemProcessorNx** The count of SystemProcessorNx objects present on this machine. -- **SystemProcessorPrefetchW** The count of SystemProcessorPrefetchW objects present on this machine. -- **SystemProcessorSse2** The count of the number of this particular object type present on this device. -- **SystemTouch** The count of the number of this particular object type present on this device. +- **SystemProcessorPrefetchW** The count of the number of this particular object type present on this device. +- **SystemProcessorSse2** The count of SystemProcessorSse2 objects present on this machine. +- **SystemTouch** The count of SystemTouch objects present on this machine. - **SystemWim** The count of SystemWim objects present on this machine. -- **SystemWindowsActivationStatus** The count of the number of this particular object type present on this device. +- **SystemWindowsActivationStatus** The count of SystemWindowsActivationStatus objects present on this machine. - **SystemWlan** The count of SystemWlan objects present on this machine. - **Wmdrm_RS1** An ID for the system, calculated by hashing hardware identifiers. - **Wmdrm_RS3** The total Wmdrm objects targeting the next release of Windows on this device. @@ -1505,16 +1499,16 @@ The following fields are available: - **MMSettingOverride** Microcode setting of the processor. - **MMSettingOverrideMask** Microcode setting override of the processor. - **PreviousUpdateRevision** Previous microcode revision. -- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. The complete list of values can be found in DimProcessorArchitecture. -- **ProcessorClockSpeed** Retrieves the clock speed of the processor in MHz. -- **ProcessorCores** Retrieves the number of cores in the processor. -- **ProcessorIdentifier** The processor identifier of a manufacturer. -- **ProcessorManufacturer** Retrieves the name of the processor's manufacturer. -- **ProcessorModel** Retrieves the name of the processor model. +- **ProcessorArchitecture** Retrieves the processor architecture of the installed operating system. +- **ProcessorClockSpeed** Clock speed of the processor in MHz. +- **ProcessorCores** Number of logical cores in the processor. +- **ProcessorIdentifier** Processor Identifier of a manufacturer. +- **ProcessorManufacturer** Name of the processor manufacturer. +- **ProcessorModel** Name of the processor model. - **ProcessorPhysicalCores** Number of physical cores in the processor. -- **ProcessorUpdateRevision** Retrieves the processor architecture of the installed operating system. +- **ProcessorUpdateRevision** Microcode revision - **ProcessorUpdateStatus** Enum value that represents the processor microcode load status. -- **SocketCount** Number of physical CPU sockets of the machine. +- **SocketCount** Count of CPU sockets. - **SpeculationControl** If the system has enabled protections needed to validate the speculation control vulnerability. @@ -3466,10 +3460,10 @@ Event tells us effectiveness of new privacy experience. The following fields are available: -- **isAdmin** Whether the current user is an administrator or not +- **isAdmin** whether the person who is logging in is an admin - **isLaunching** Whether or not the privacy consent experience will be launched -- **isSilentElevation** Whether the current user has enabled silent elevation -- **privacyConsentState** The current state of the privacy consent experience +- **isSilentElevation** whether the user has most restrictive UAC controls +- **privacyConsentState** whether the user has completed privacy experience - **userRegionCode** The current user's region setting @@ -3951,26 +3945,26 @@ Ensures Windows Updates are secure and complete. Event helps to identify whether The following fields are available: - **CallerApplicationName** Name of application making the Windows Update request. Used to identify context of request. -- **EndpointUrl** The endpoint URL where the device obtains update metadata. This is used to distinguish between test, staging, and production environments. -- **EventScenario** The purpose of this event, such as scan started, scan succeeded, or scan failed. -- **ExtendedStatusCode** The secondary status code of the event. -- **LeafCertId** Integral ID from the FragmentSigning data for certificate that failed. +- **EndpointUrl** URL of the endpoint where client obtains update metadata. Used to identify test vs staging vs production environments. +- **EventScenario** Indicates the purpose of the event - whether because scan started, succeded, failed, etc. +- **ExtendedStatusCode** Secondary status code for certain scenarios where StatusCode was not specific enough. +- **LeafCertId** Integral id from the FragmentSigning data for certificate which failed. - **ListOfSHA256OfIntermediateCerData** A semicolon delimited list of base64 encoding of hashes for the Base64CerData in the FragmentSigning data of an intermediate certificate. -- **MetadataIntegrityMode** The mode of the transport metadata integrity check. 0 = unknown; 1 = ignore; 2 = audit; 3 = enforce +- **MetadataIntegrityMode** Mode of update transport metadata integrity check. 0-Unknown, 1-Ignoe, 2-Audit, 3-Enforce - **MetadataSignature** Base64 string of the signature associated with the update metadata (specified by revision id) -- **RawMode** The raw unparsed mode string from the SLS response. This field is null if not applicable. +- **RawMode** Raw unparsed mode string from the SLS response. May be null if not applicable. - **RawValidityWindowInDays** The raw unparsed validity window string in days of the timestamp token. This field is null if not applicable. - **RevisionId** Identifies the revision of this specific piece of content - **RevisionNumber** Identifies the revision number of this specific piece of content -- **ServiceGuid** Identifies the service to which the software distribution client is connected, Example: Windows Update or Windows Store +- **ServiceGuid** Identifier for the service to which the software distribution client is connecting (Windows Update, Windows Store, etc) - **SHA256OfLeafCerData** A base64 encoding of the hash for the Base64CerData in the FragmentSigning data of the leaf certificate. - **SHA256OfLeafCertPublicKey** Base64 encoding of hash of the Base64CertData in the FragmentSigning data of leaf certificate. -- **SHA256OfTimestampToken** A base64-encoded string of hash of the timestamp token blob. +- **SHA256OfTimestampToken** Base64 string of hash of the timestamp token blob - **SignatureAlgorithm** Hash algorithm for the metadata signature -- **SLSPrograms** A test program to which a device may have opted in. Example: Insider Fast -- **StatusCode** The status code of the event. +- **SLSPrograms** A test program a machine may be opted in. Examples include "Canary" and "Insider Fast". +- **StatusCode** Result code of the event (success, cancellation, failure code HResult) - **TimestampTokenCertThumbprint** The thumbprint of the encoded timestamp token. -- **TimestampTokenId** The time this was created. It is encoded in a timestamp blob and will be zero if the token is malformed. +- **TimestampTokenId** Created time encoded in the timestamp blob. This will be zeroed if the token is itself malformed and decoding failed. - **UpdateId** Identifier associated with the specific piece of content - **ValidityWindowInDays** The validity window that's in effect when verifying the timestamp. @@ -4180,7 +4174,7 @@ The following fields are available: - **CV** Correlation vector. - **DetectorVersion** Most recently run detector version for the current campaign. - **GlobalEventCounter** Client side counter that indicates the ordering of events sent by this user. -- **key1** UI interaction data +- **key1** Interaction data for the UI - **key10** UI interaction data - **key11** UI interaction data - **key12** UI interaction data @@ -4191,24 +4185,24 @@ The following fields are available: - **key17** UI interaction data - **key18** UI interaction data - **key19** UI interaction data -- **key2** UI interaction data +- **key2** Interaction data for the UI - **key20** UI interaction data -- **key21** UI interaction data +- **key21** Interaction data for the UI - **key22** UI interaction data - **key23** UI interaction data - **key24** UI interaction data - **key25** UI interaction data - **key26** UI interaction data - **key27** UI interaction data -- **key28** Interaction data for the UI -- **key29** Interaction data for the UI -- **key3** UI interaction data +- **key28** UI interaction data +- **key29** UI interaction data +- **key3** Interaction data for the UI - **key30** UI interaction data -- **key4** UI interaction data +- **key4** Interaction data for the UI - **key5** UI interaction data - **key6** UI interaction data -- **key7** UI interaction data -- **key8** UI interaction data +- **key7** Interaction data for the UI +- **key8** Interaction data for the UI - **key9** UI interaction data - **PackageVersion** Current package version of the update notification. - **schema** UI interaction type. @@ -5031,7 +5025,7 @@ The following fields are available: - **current** Result of currency check. - **dismOperationSucceeded** Dism uninstall operation status. -- **hResult** Failure Error code. +- **hResult** Failure error code. - **oSVersion** Build number of the device. - **paused** Indicates whether the device is paused. - **rebootRequestSucceeded** Reboot Configuration Service Provider (CSP) call success status. @@ -5075,7 +5069,7 @@ The following fields are available: - **background** Indicates whether the download is happening in the background. - **bytesRequested** Number of bytes requested for the download. - **callerName** Name of the API caller. -- **cdnUrl** The URL of the source Content Distribution Network (CDN). +- **cdnUrl** The URL of the source CDN - **costFlags** A set of flags representing network cost. - **deviceProfile** Identifies the usage or form factor (such as Desktop, Xbox, or VM). - **diceRoll** Random number used for determining if a client will use peering. @@ -5470,9 +5464,9 @@ The following fields are available: - **deferReason** Reason why the device could not check for updates. - **detectionBlockingPolicy** State of update action. -- **detectionBlockreason** If we retry to scan +- **detectionBlockreason** Reason for blocking detection - **detectionRetryMode** Indicates whether we will try to scan again. -- **errorCode** State of update action +- **errorCode** Error info - **eventScenario** End-to-end update session ID, or indicates the purpose of sending this event - whether because the software distribution just started installing content, or whether it was cancelled, succeeded, or failed. - **flightID** The specific ID of the Windows Insider build the device is getting. - **interactive** Indicates whether the session was user initiated. @@ -5480,7 +5474,7 @@ The following fields are available: - **revisionNumber** Update revision number. - **scanTriggerSource** Source of the triggered scan. - **updateId** Update ID. -- **updateScenarioType** Device ID +- **updateScenarioType** Source of the triggered scan - **wuDeviceid** Device ID @@ -5565,7 +5559,7 @@ This event is sent during update scan, download, or install, and indicates that The following fields are available: -- **configVersion** Escalation config version on device. +- **configVersion** Escalation config version on device . - **downloadElapsedTime** Indicates how long since the download is required on device. - **downloadRiskLevel** At-risk level of download phase. - **installElapsedTime** Indicates how long since the install is required on device. @@ -5593,7 +5587,7 @@ This event indicates that the update is no longer applicable to this device. The following fields are available: -- **EventPublishedTime** Time when this event was generated. +- **EventPublishedTime** Time when this event was generated - **flightID** The specific ID of the Windows Insider build. - **revisionNumber** Update revision number. - **updateId** Unique Windows Update ID. @@ -5876,8 +5870,8 @@ This event is sent when MUSE broker schedules a task. The following fields are available: -- **TaskArgument** The arguments with which the task is scheduled. -- **TaskName** Name of the task. +- **TaskArgument** The arguments which the task is scheduled with +- **TaskName** Name of the task ## Windows Update mitigation events @@ -5888,21 +5882,21 @@ This event sends data specific to the CleanupSafeOsImages mitigation used for OS The following fields are available: -- **ClientId** In the WU scenario, this will be the WU client ID that is passed to Setup. In Media setup, default value is Media360, but can be overwritten by the caller to a unique value. -- **FlightId** Unique identifier for each flight. -- **InstanceId** Unique GUID that identifies each instances of setuphost.exe. -- **MitigationScenario** The update scenario in which the mitigation was executed. -- **MountedImageCount** Number of mounted images. -- **MountedImageMatches** Number of mounted images that were under %systemdrive%\$Windows.~BT. -- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. -- **MountedImagesRemoved** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. -- **MountedImagesSkipped** Number of mounted images that were not under %systemdrive%\$Windows.~BT. -- **RelatedCV** Correlation vector value generated from the latest USO scan. -- **Result** HResult of this operation. -- **ScenarioId** ID indicating the mitigation scenario. -- **ScenarioSupported** Indicates whether the scenario was supported. -- **SessionId** Unique value for each update attempt. -- **UpdateId** Unique ID for each Update. +- **ClientId** Unique identifier for each flight. +- **FlightId** Unique GUID that identifies each instances of setuphost.exe. +- **InstanceId** The update scenario in which the mitigation was executed. +- **MitigationScenario** Number of mounted images. +- **MountedImageCount** Number of mounted images that were under %systemdrive%\$Windows.~BT. +- **MountedImageMatches** Number of mounted images under %systemdrive%\$Windows.~BT that could not be removed. +- **MountedImagesFailed** Number of mounted images under %systemdrive%\$Windows.~BT that were successfully removed. +- **MountedImagesRemoved** Number of mounted images that were not under %systemdrive%\$Windows.~BT. +- **MountedImagesSkipped** Correlation vector value generated from the latest USO scan. +- **RelatedCV** HResult of this operation. +- **Result** ID indicating the mitigation scenario. +- **ScenarioId** Indicates whether the scenario was supported. +- **ScenarioSupported** Unique value for each update attempt. +- **SessionId** Unique ID for each Update. +- **UpdateId** Unique ID for the Windows Update client. - **WuId** Unique ID for the Windows Update client. From 9d720fe58a332e16ac63b28e18f2219227d0b1a8 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Mon, 10 Sep 2018 16:34:22 -0700 Subject: [PATCH 38/60] minor updates --- ...ced-hunting-windows-defender-advanced-threat-protection.md | 2 +- ...eshoot-siem-windows-defender-advanced-threat-protection.md | 4 +++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md index 7b40ec9d0d..3eb5787182 100644 --- a/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/advanced-hunting-windows-defender-advanced-threat-protection.md @@ -72,7 +72,7 @@ The following tables are exposed as part of Advanced hunting: - **RegistryEvents** - Stores registry key creation, modification, rename and deletion events - **LogonEvents** - Stores login events - **ImageLoadEvents** - Stores load dll events -- **MiscEvents** - Stores several types of events, including Windows Defender blocks (Windows Defender Antivirus, Exploit Guard, Windows Defender SmartScreen, Windows Defender Application Guard, and Firewall), process injection events, access to LSASS processes, and others. +- **MiscEvents** - Stores several types of events, process injection events, access to LSASS processes, and others. These tables include data from the last 30 days. diff --git a/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md index c90bb67da7..cd9048386c 100644 --- a/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/troubleshoot-siem-windows-defender-advanced-threat-protection.md @@ -35,7 +35,9 @@ If your client secret expires or if you've misplaced the copy provided when you 3. Select your tenant. -4. Click **App registrations** > **All apps**, then select your SIEM tool application. The application name is `https://windowsdefenderatpsiemconnector`. +4. Click **App registrations**. Then in the applications list, select the application: + - For SIEM: `https://WindowsDefenderATPSiemConnector` + - For Threat intelligence API: `https://WindowsDefenderATPCustomerTiConnector` 5. Select **Keys** section, then provide a key description and specify the key validity duration. From fc1fbbb3867094c6744ce76207d1d07144897f38 Mon Sep 17 00:00:00 2001 From: andreiztm Date: Wed, 12 Sep 2018 19:25:51 +0300 Subject: [PATCH 39/60] Update docs to document new security property --- ...nable-virtualization-based-protection-of-code-integrity.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md index cb3e681ae8..0a7e07c36c 100644 --- a/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md +++ b/windows/security/threat-protection/windows-defender-exploit-guard/enable-virtualization-based-protection-of-code-integrity.md @@ -180,6 +180,7 @@ This field helps to enumerate and report state on the relevant security properti | **4.** | If present, Secure Memory Overwrite is available. | | **5.** | If present, NX protections are available. | | **6.** | If present, SMM mitigations are available. | +| **7.** | If present, Mode Based Execution Control is available. | #### InstanceIdentifier @@ -199,6 +200,7 @@ This field describes the required security properties to enable virtualization-b | **4.** | If present, Secure Memory Overwrite is needed. | | **5.** | If present, NX protections are needed. | | **6.** | If present, SMM mitigations are needed. | +| **7.** | If present, Mode Based Execution Control is needed. | #### SecurityServicesConfigured @@ -274,4 +276,4 @@ Set-VMSecurity -VMName -VirtualizationBasedSecurityOptOut $true - The Hyper-V virtual machine must be Generation 2, and running at least Windows Server 2016 or Windows 10. - HVCI and [nested virtualization](https://docs.microsoft.com/virtualization/hyper-v-on-windows/user-guide/nested-virtualization) cannot be enabled at the same time. - Virtual Fibre Channel adapters are not compatible with HVCI. Before attaching a virtual Fibre Channel Adapter to a virtual machine, you must first opt out of virtualization-based security using `Set-VMSecurity`. - - The AllowFullSCSICommandSet option for pass-through disks is not compatible with HVCI. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using `Set-VMSecurity`. \ No newline at end of file + - The AllowFullSCSICommandSet option for pass-through disks is not compatible with HVCI. Before configuring a pass-through disk with AllowFullSCSICommandSet, you must first opt out of virtualization-based security using `Set-VMSecurity`. From 7a6d5a00ca46d41b387f67b50d30eedbfe31b57e Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 12 Sep 2018 11:10:26 -0700 Subject: [PATCH 40/60] update proxy server steps --- ...ows-defender-advanced-threat-protection.md | 48 ++++++++++--------- 1 file changed, 26 insertions(+), 22 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md index d9a8498c73..a0893744f1 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md @@ -10,15 +10,13 @@ ms.pagetype: security ms.author: macapara author: mjcaparas ms.localizationpriority: medium -ms.date: 05/29/2018 +ms.date: 09/12/2018 --- # Configure machine proxy and Internet connectivity settings **Applies to:** - - - Windows Defender Advanced Threat Protection (Windows Defender ATP) @@ -46,18 +44,24 @@ The WinHTTP configuration setting is independent of the Windows Internet (WinINe ## Configure the proxy server manually using a registry-based static proxy Configure a registry-based static proxy to allow only Windows Defender ATP sensor to report diagnostic data and communicate with Windows Defender ATP services if a computer is not be permitted to connect to the Internet. -The static proxy is configurable through Group Policy (GP). The group policy can be found under: **Administrative Templates > Windows Components > Data Collection and Preview Builds > Configure connected user experiences and telemetry**. +The static proxy is configurable through Group Policy (GP). The group policy can be found under: +- Administrative Templates > Windows Components > Data Collection and Preview Builds > Configure Authenticated Proxy usage for the Connected User Experience and Telemetry Service + - Set it to **Enabled** and select **Disable Authenticated Proxy usage**: + ![Image of Group Policy setting](images/atp-gpo-proxy1.png) +- **Administrative Templates > Windows Components > Data Collection and Preview Builds > Configure connected user experiences and telemetry**: + - Configure the proxy:
+ ![Image of Group Policy setting](images/atp-gpo-proxy2.png) -The policy sets two registry values `TelemetryProxyServer` as REG_SZ and `DisableEnterpriseAuthProxy` as REG_DWORD under the registry key `HKLM\Software\Policies\Microsoft\Windows\DataCollection`. + The policy sets two registry values `TelemetryProxyServer` as REG_SZ and `DisableEnterpriseAuthProxy` as REG_DWORD under the registry key `HKLM\Software\Policies\Microsoft\Windows\DataCollection`. -The registry value `TelemetryProxyServer` takes the following string format: + The registry value `TelemetryProxyServer` takes the following string format: -```text -: -``` -For example: 10.0.0.6:8080 + ```text + : + ``` + For example: 10.0.0.6:8080 -The registry value `DisableEnterpriseAuthProxy` should be set to 1. + The registry value `DisableEnterpriseAuthProxy` should be set to 1. ## Configure the proxy server manually using netsh command @@ -88,9 +92,9 @@ If a proxy or firewall is blocking all traffic by default and allowing only spec Service location | Microsoft.com DNS record :---|:--- Common URLs for all locations | ```*.blob.core.windows.net```
```crl.microsoft.com```
```ctldl.windowsupdate.com```
```events.data.microsoft.com``` -European Union | ```eu.vortex-win.data.microsoft.com```
```eu-v20.events.data.microsoft.com```
```winatp-gw-neu.microsoft.com```
```winatp-gw-weu.microsoft.com``` -United Kingdom | ```uk.vortex-win.data.microsoft.com```
```uk-v20.events.data.microsoft.com```
```winatp-gw-uks.microsoft.com```
```winatp-gw-ukw.microsoft.com``` -United States | ```us.vortex-win.data.microsoft.com```
```us-v20.events.data.microsoft.com```
```winatp-gw-cus.microsoft.com```
```winatp-gw-eus.microsoft.com``` +US | ```us.vortex-win.data.microsoft.com```
```us-v20.events.data.microsoft.com```
```winatp-gw-cus.microsoft.com```
```winatp-gw-eus.microsoft.com``` +Europe | ```eu.vortex-win.data.microsoft.com```
```eu-v20.events.data.microsoft.com```
```winatp-gw-neu.microsoft.com```
```winatp-gw-weu.microsoft.com``` +UK | ```uk.vortex-win.data.microsoft.com```
```uk-v20.events.data.microsoft.com```
```winatp-gw-uks.microsoft.com```
```winatp-gw-ukw.microsoft.com``` If a proxy or firewall is blocking anonymous traffic, as Windows Defender ATP sensor is connecting from system context, make sure anonymous traffic is permitted in the above listed URLs. @@ -124,14 +128,14 @@ Verify the proxy configuration completed successfully, that WinHTTP can discover 6. Open *WDATPConnectivityAnalyzer.txt* and verify that you have performed the proxy configuration steps to enable server discovery and access to the service URLs.

The tool checks the connectivity of Windows Defender ATP service URLs that Windows Defender ATP client is configured to interact with. It then prints the results into the *WDATPConnectivityAnalyzer.txt* file for each URL that can potentially be used to communicate with the Windows Defender ATP services. For example: - ```text - Testing URL : https://xxx.microsoft.com/xxx - 1 - Default proxy: Succeeded (200) - 2 - Proxy auto discovery (WPAD): Succeeded (200) - 3 - Proxy disabled: Succeeded (200) - 4 - Named proxy: Doesn't exist - 5 - Command line proxy: Doesn't exist - ``` + ```text + Testing URL : https://xxx.microsoft.com/xxx + 1 - Default proxy: Succeeded (200) + 2 - Proxy auto discovery (WPAD): Succeeded (200) + 3 - Proxy disabled: Succeeded (200) + 4 - Named proxy: Doesn't exist + 5 - Command line proxy: Doesn't exist + ``` If at least one of the connectivity options returns a (200) status, then the Windows Defender ATP client can communicate with the tested URL properly using this connectivity method.

From 1c81cb2b62d4cc992a5f0ff3974abda281aa0083 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 12 Sep 2018 11:17:33 -0700 Subject: [PATCH 41/60] fix urls and note --- ...nternet-windows-defender-advanced-threat-protection.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md b/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md index a0893744f1..4456ba11e8 100644 --- a/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md +++ b/windows/security/threat-protection/windows-defender-atp/configure-proxy-internet-windows-defender-advanced-threat-protection.md @@ -86,15 +86,15 @@ For example: netsh winhttp set proxy 10.0.0.6:8080 ## Enable access to Windows Defender ATP service URLs in the proxy server If a proxy or firewall is blocking all traffic by default and allowing only specific domains through or HTTPS scanning (SSL inspection) is enabled, make sure that the following URLs are white-listed to permit communication with Windows Defender ATP service in port 80 and 443: ->![NOTE] +>[!NOTE] > URLs that include v20 in them are only needed if you have Windows 10, version 1803 or later machines. For example, ```us-v20.events.data.microsoft.com``` is only needed if the machine is on Windows 10, version 1803 or later. Service location | Microsoft.com DNS record :---|:--- Common URLs for all locations | ```*.blob.core.windows.net```
```crl.microsoft.com```
```ctldl.windowsupdate.com```
```events.data.microsoft.com``` -US | ```us.vortex-win.data.microsoft.com```
```us-v20.events.data.microsoft.com```
```winatp-gw-cus.microsoft.com```
```winatp-gw-eus.microsoft.com``` -Europe | ```eu.vortex-win.data.microsoft.com```
```eu-v20.events.data.microsoft.com```
```winatp-gw-neu.microsoft.com```
```winatp-gw-weu.microsoft.com``` -UK | ```uk.vortex-win.data.microsoft.com```
```uk-v20.events.data.microsoft.com```
```winatp-gw-uks.microsoft.com```
```winatp-gw-ukw.microsoft.com``` +European Union | ```eu.vortex-win.data.microsoft.com```
```eu-v20.events.data.microsoft.com```
```winatp-gw-neu.microsoft.com```
```winatp-gw-weu.microsoft.com``` +United Kingdom | ```uk.vortex-win.data.microsoft.com```
```uk-v20.events.data.microsoft.com```
```winatp-gw-uks.microsoft.com```
```winatp-gw-ukw.microsoft.com``` +United States | ```us.vortex-win.data.microsoft.com```
```us-v20.events.data.microsoft.com```
```winatp-gw-cus.microsoft.com```
```winatp-gw-eus.microsoft.com``` If a proxy or firewall is blocking anonymous traffic, as Windows Defender ATP sensor is connecting from system context, make sure anonymous traffic is permitted in the above listed URLs. From efc762987b6083a53dd6fad9224cbabf63385c07 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Wed, 12 Sep 2018 11:24:59 -0700 Subject: [PATCH 42/60] add images --- .../images/atp-gpo-proxy1.png | Bin 0 -> 31311 bytes .../images/atp-gpo-proxy2.png | Bin 0 -> 32863 bytes 2 files changed, 0 insertions(+), 0 deletions(-) create mode 100644 windows/security/threat-protection/windows-defender-atp/images/atp-gpo-proxy1.png create mode 100644 windows/security/threat-protection/windows-defender-atp/images/atp-gpo-proxy2.png diff --git a/windows/security/threat-protection/windows-defender-atp/images/atp-gpo-proxy1.png b/windows/security/threat-protection/windows-defender-atp/images/atp-gpo-proxy1.png new file mode 100644 index 0000000000000000000000000000000000000000..50cc3f6f67bdd44a3f11d938cf35ab4c5bb79e70 GIT binary patch literal 31311 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/windows-defender-atp/images/atp-gpo-proxy2.png b/windows/security/threat-protection/windows-defender-atp/images/atp-gpo-proxy2.png new file mode 100644 index 0000000000000000000000000000000000000000..dee5f471b158a66c16949354b412aaaaad71cc7c GIT binary patch literal 32863 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

(7kW36)gh(&l|S!zuoCsFex3*9$%lIlw4 z6zYE+RUeV4lzJn{oS%CE&L-E3f4H=!UoNRW5qE@?ZCB5F_>+DHJ?jO(gshyD^D?CH zMASILBihdzBs;kSgmB(>*DqoZ?fNSz1nsmYC<;+k&IuL)iW=GLq|7X*y$@hd32Y} z59DOslEd4oqU8_F;7>0jqRs$Bpj6TSV*92)m1J?roMX^rCTe@#a&Zo^pb|w+u7NK{ zYt?ctRtWlT08c&P$IQ*Fgz==hm6JF^embroTrh?Ob*Wo5y_B6sp<0 zyjBO6=N+!D3(+?j?Is>7Vn3MWB!d*LR%-T#}N>M(b3PNLY}g^uVZLdBDl7(Sx&tW^WRR{Ajfd{ zhNjmm-He&yE~WF2eg1w&9_ytUelIH_6D60DLxOB81)DeRX}497p^>QauUOD8=u ziJQ-%bcW9FY>ZPuPi>|IF`WrbH$TZwmXDGwSXulY`N<-GjJaAtdYslt{{yiO(`1xs zpZu76^O3QnXikVc{r(S4FX?l3Ff;WW)p^alHM@r=3$RjC%DC)1#abh+lGlJ5SzEZvJP~BB(`apq`p5mwW%Ym?I=`6&S6Q*MM zuH^?H%@?0{NyuUifNe_NfaK1$%OVr*YK}SCzOgsyR3n%ylr-lrsOV_;R*->sv4|!d z{m88VOKt=zP84Kzn>|;+oqIT^u>2i59u>5>DhI={YLh>QAX3M@`FOmxy(PwKCRuX1 z_j3Z>L_#_If30FrHlPd~q<#4E(n#QB%b`qO_6c~wG*0j-(OO%o8`94{TDQ#d#ml+b zWn_J)(d~}RlXc{#%dzUWZPukzn#em@8zqNsZvHGCosPC1iE}g1P{Lgb-J2UdLpJ1^ zH9K-+eVN`*BOJ6pLDB%Hl$`n{1(0GanmD1ids37;A%@~!3-1Ojpqu^WF2`q;$-uhs zAX=&<{8$+k^De;yYZxWusxr7bK1J-`UhEgYHi`(BXIaj@9jQTG4YW$^#mu>U_)P!tkNtB`Q!_Wd7_M6vtNUqlZ2M=)E_+kas0f21E| zqt@@&%(Fd~%V}1Zk39S5E%=@>n%{F@{7el*{kRRPU&Sm;RM6?m*e@vW^~;QXkI z;R_mSl$aCtAk~3i79|R)gsX{<&}p#Y79A{=P~J zU_3+E0egLxUg@(|^a1k@Mt~!tI*?)#rMd?*Sb^{v;D!oSf+r0}XDS zR_D8#9IfbC=YMF7=-crdf;GqR5P(>Za7P3nAdqUYkQu0jlcYUCnqCQ`bk5N zR0bgAWQw*&LV|!9KW(sVB9RIu)<4DD<6pL%t{O+=_wq#H-%{>M*O$pCvWr+D3?Kjc z8_@FyKk+yrz9k4xhy0TxrCOuF0VYp}s12$b*UBfZLY72Z=ICX4NFru2JXZ=VZNwj2 zGbtIs{6YX1u_}W3!^j|7`1*Wzlr6WpeL%ln)--3E8d1tX8zL!TAA5P(7yj#?^PA!q z)oFf^__luIy%XxtYzUT|0_%Adf^Lq4rHy10L<)krzIs(g=O>41fu_AN8$gVPyT!O>wnty z|LWX-?7@KZ<0gmDy{dcZI$1XM{!M?1X7ERLKo>LCH3PvcAEL3q(Mv!I)sr@M{qBC< zH2Fc|^Z>A0R%2w*khuN^%iJI1Q2r;FS>&+BtMaeg za|#zw*rw80o)}kMX=*F>E?6Ia?;!>&AOa~xXY;7>m9KnV>-~C*afgnJ?V7NeyOPZ1 z&e~UP+E!8YRvl!1?h5;U?TwCfZ|~M+spKMR);(B8s`vs#2s5Mjk%{1PCR*z~oHPJMS;bMeU_%?5JeJuNf~@uynJQ+75g!bfwfKr2 zo*BiuPNzDuy$Df^7zhq$qww1_at6V*S79-W0+7=B2~mY4Ja^_t40(_FBR^Kzx$y;y zqJ*0WU8qFIGqqv5V&u$DBrpo1VB{Gayb2p)6dUo*FQN|m>NF=RI_ILPL~hNzJ;s#R z!qJ|KbxjX0lD)Ez8A_^W1hTg&T`4&JnEJZjS7DN*+0-5A ziHuojKWL(Te4J`QqVFk^L1bUBp25{;Ho{ZbA;K>p_ZamhXXPULk$+Z~Z%sfBav^T#cfapKIB0U(>P-6z|86l+)SvK<6h98lS z%=O2S5@>bT-y9hfctpBiQ0o5r1)DG-e?^{Hw*@#vL~3#cs^|dYNtwo>aJEmcM&Gc! zL_|&=GX?9jB?)g>;1*Xn@%;G}`I{Q``NwY&J8;#W@$V_NhkMpA5Wjf$rB>&qJ&d#O z3X{3pt1Ka>NYA5^6sVUR?6KhuRp2YiiXkKW@c0FI@yhyMvE9avFNY$^HV%v3ZF+uM z(R|x5jhY_YloZ~dXd6L5e|^8Ii!BrX7X~L}cY$F;E(cX7_!>$Zh*q1f3yol& ze3qMpOpupm1)W zGhusyjfG4DMy39W9QYM??i7l}7NH_Sb?Q84DN&umRFyXl=m(FFH{_9@Ip35HR^Ws6 zKZ!JsV!)wL0hw;(-xdWikL%~j>)wSJq00?-YnNBo$2qr`9@YX`PjoVomZuMeB%T$T z@+X=PpL}l`$69zJxr>vzTQ~zV&z7RllkvD#R)cqo@qLzz1)TSIyDo*I2n$9e3TWOw-7rys4_HjSK=e%Zeqerh~Y z1F1SnTcO|(`~Aq6;ZmY~crvF#=?0>GF>HN0xI*d1sVk<-+6pT1$C-MGhLM2=t}xcd zX;kfr>3%I}@uHZ6IAMQ>sjSCJQ?mxR=2yn-!2qt=|)c+5WDbJ?&%@vP9M0J(}20YSODwq{wCHad%S*(r4Fu^ zZ3hvwb7r)3qq^_ppIY*Tp)#$o9)%GbZJt>iJDL3Q$uuG}yd%{rUWTG&>Z@kbT?yoP+ zWwIXnY4kCI5ir0s_on0CVjxk(3GP(~Du$z|?D1hMHyZNP+{XE5RNaPLX0@*&z7NCm zoY^HhQyvG7pnb9JV=V)x(qx^9YuLBhYV+zLF{+GxsbGYbr?eo%>fB2tjf>%X=YhFQ zz_vL%V|HCXl)AAc&)7<`8~^i~m-l{`wI1&)cQKKIFfBC57;>Goka{hsHS$xpueq1w z+{kN;nDGrppHKeY_SWyAWc4b??KL+3psADm`z)(v;MwMrpV_yRI0M^TTmyaEq~|vfw_1CL4!pvE>)S4rvP@WXi*N&iOyp}I?1euYdZR0lB|qQ#B=JJNdrS|{1ukB{ zJ((Z?ox5Bi0b6*zP4ac;C0AkNLe!Gy8wScR!rjPowzaDaK5hbc1_TuzXfuW3-=22N zT`rErq<6FB0#etqvLqF!?RM0vqJEX;(&TfG!z841?{m9{{K3KXjo`w-w>_-a<@ewac7CdgFH9(;)5T->Bg=^zgqgKyXStqaaP{kTk#^@h@e7G zzZUND@}M*94Z@p86_I_+&2BQ)O}`WQeFK-KY3?gopGmC2)v-r?Wt;UDtqBbIz$rXp+nfcLdbvMUg5pWwJ%v)WtP^$C zFw$(w!@Q1fhtqu1I1lzdcD-}xLa>rgK0b+D;4Fgn$VHl1cN&b4KdfOi;d^65eeb2q zYN`h&(titUxe?FS$|Hj)UgFfKsjj?>VQ6iQP%WEUR>W|rm2fITM8LE5y5kmAm6L0T z{XO%3E7rW2L|#f}SM`J5-Bl88V+mPv83+@G@a9n6U*718*Hc3+iuMyq_lu@c&ic9c ztm|V7=uugE&XbmDrZJdbFn$8W?}(wi{a(MD*_ zr>!uN@04ZnU!E-JreK>U`^UwKi$EQShQB`&<}_Uzfq?g+H^}SAVDgM!P2$C9W9jnX zwdd4~4Cj~JnkO{4$KfBK{IA~ym{)VT$p%1VkaurLNJ80@$MVS)2IOfm>N-QAhw!)k zu*65y^n7k3FnA~sIdc>2IZbjPj0EH>=Pz49ks1!`)F9^@7g?*9y;_CAA%(ABP}!b=T z-0G(F{zd@!Rf|Xh<^pr_`@-Bo4(H9(#JDj=*0^iQw6yO>5*Loaodq7mh7I8(TZ+09 z5k4>Ja8R#h^B2yeycm=LgFgMeY&%7-jOlzTM`5+P^Q)-h&%&lR^R)1xUkgmrW?L>q z11_|ptF}6U^yXTQt|P6Qv#lQ@sdhIExxBEOXaz=??}GqQb?%p3qMH$_ntnqenZ-cb_|8vhlA+0QN- z?Mk4VH$ zf-u(K>)(03-C@sJCv1jMgsAhr39_m^5n^&!8gM0@5PM=K30V7tYUkq8B2@5KuZ766 z@4wkm77G1XA{G&OPZo{%^*zORIUi37>`=pe+0Dk4>MwC9MUX8jWUQ|eY;a_(@T}x? z%TViTmWaX2++C@N!N^33@$`FRdS|kabHO$7bzjc?=a&6IqVtJ2Jf&5T@9YH_ii1?G z+1s_IX8lRT#S1NL#UmR*T4yio+R>*ke(@)4rgl}qeq?M{XB(Y(eXQBINS?JtU$Rgg z4pW>jZNVJcd9&py`{F4JF*_Uk{iestixAV+vEgwY-HkZ<$}#{)lg4?jA*=4Q&wLr8fDtWIhOue#7T$3B-naZ5<`3H&u;sl)oQU5(wirM zaYO%=>B|94jrXkT?H`Px1(JwUqCduOSakos|2S?Nv239_A|pR9Q-@J;-dMqopD=K0 zhW-NZEKz8RRas~g9|cGR2nbR6!y)(gg}<>k2mvx=-2!@7Q953ZF)@b#!g=^)lwJ9Xj+SUyE2cwLZ)T|NVXRR>6DONP+p(&{we&%+07E!B0^*=Xjggr}g34^5q zu(;JL&8{_B-G%WlH6CnnHV>=yx4Lt^nIJL;PRLl~4FPLgey^IIT>xRihC$0|@v7<2 zVeD1=fR)HMEn7cW9J5E@6bsMTJ@9VN*&g>(Gf%~;-!3nwshshaH9GAVUHOLg%>d>} zAh>vJEgqRX4oyGl*H}l#sTlPSAWP)#Ep>|bofO5GhqSOJQ<4oOev}rFFuO@Q@*>{a z*TWt#Rf$oMQP^LZ9NSQ0C4!S`Z=M>0?57@{iiLrp!+$-+|LrG8{v&_?SN`k&YXiXl zT?H}$PqdWvv>5XVSt%fgY6hurfrWyR$U9eFSfv^)0*czcsIhBZZNr6HGlZ4d_~s$w z)V&t_5L1fp`9^QfcP8-3Z%g|ti2)<_dHa543gaBELT}7-R^~m6)F;9&O5q^{7Ly2i zjoGHNYhzv(fcefDWXl^VQq5O7*NgCVnY3Zq0($~GVPbis$(b?z49gx^KvbT9M_(P%J(_7Kz`;h(iNnRFU5b5V8V3A4L%ZKjnZ$5`_#F%TL2X7DEgC zidFQ8Y2i!;BFFD|PXW3VyX&3hzg%Xv@P5K(6q+t)hf{e)KpJ-f)%TUC?rOd?+? z?Id1-2>PS=@nL&7iT>7oViH=iUso~uZ8Z`$Ts}Hk^c!D>^}#RL)iB&2&WW4u0x%9Z zjX&e7N%WE6B>OWMQOw>{7&-KE3*>XD{$K6AXIN9~yY3sE(`i9P1q7s7=tx&U>a?LC zg0#><4ZRAHP(p}`fOG|sPDF$V1R}i&K`9XskX`~r=_G_mNdgIhJ>pzz?f=?)U3;JF zoNJ#?`xB&%WaNF{`}sZh^NcqLHkfS8unI>mF+YD4Enyc?@358QvQ@`1**3%_)^#PS zm`|AGqOl!LOW+bt;gWJMndUaYeE_RmS;L2^d=14mNpcPGjpBkXobE*wjRxh7#culD z_`aDFo)UUAzhYt|cPdxj{6~7o+JY1Rvma_9MDp&gbwhZp`QGknmX<@WiJKex8{qF$ zwH@kuaXZxWVy^0+Gx}#akpcRcla~MaBZ?DJtZrn?#2tLKnX1W_{<3)T+=s#EC(phv zI{WngwR?{IFAqhjko_ZX!)#4YT+f6^o;bR%)lmBoOrXttDSexL?$-02hQKxFlH=!= zVx7@94zQ0$KD>z5<2e+<31JKAk-awM)(Omx0&>y|gT18*_u$n4g2qv095?hEgXT7b zT$TsUIfY#Dh$!oFx38)HvWF<@RKaSKoV5m{z>(NKt(aL8QbE3kIREmtiW znuspYn5xTqZ+~5Og*g-(VI!_BPQN8`wYzn6)vG%PAnckY14irg|7@XTb~6v;&vWlT zf0F-M-u}HwnNWwibJksdSNhQZba-*`NA(_Ou?HMF^k>SU$WynUU%P#T!ngZ}!rWxt z1MO$%SBE~&Mwm$^zV%Q#oX)-VI@qXWa$lQ^VC&M?cuhXAbVvQiN4-Xn9CWh`A)I4WsZR#h!c$hY6!LI>!vS~%?d@Xv=|4x|Ac*-!3U`VMt9J;01m zpIuw`?VVs}4F=cJ_WY=;SHI6KCI_R=rp&~&kP+esx*vDQ`diLvDZ>W%b%GS{qztrQfWEmlzlz1 zUW#Y2i_g<0*k?3Ux}%&ftoc0^vy8pthoZy|=hpccy=}Q==z#e)g1$ejs?gx4HNGVT zz=Cqktw8mTr&T4?+8KdmV*jl13d=b=%$b-9D|5%c*H!EVp(>!+M$;c<2-64eiy zzoly`puesXL6m_b5?vDotw2jE#I_QZ!EX zx`D={Bz$vio8fC|`-@f9%w9~q>5sHP?U-j6ze49O@1{DY#d*&!() zd~gnjOCK8|&*in!`P0d2qxeFV?eENAf$Y_T=+E5S z!aanUy&dG9NyzG1&=I|rw#-d=A?>f=4eGU*uTExr^q9xI19bC<{h>k zjbsjYth6h;%7X6al4$PDnSvn;JQw=fBp5b4b{l>r7|e*StIM8GwL+~z+6#JUOuGMp zCw%!DitUqM%g3JnNl90z@1rMBlF1d=v}uM0pF;0`5UAzi%R1oC{nNMY_uY>$uM(Ir zgs#*}4NZo-FTo7S{GwN;FQhJ-N8;njWAi>CH=0aD2}6*Cp`S94>?}xi&#NwfxZehA z2RKR#M&stI68anB#GAEir^xa-bw-#^Vc&e7COS+X)^YI`!cRah+6S<52%mkRvC5>m zBP9k}b-EDoGLVuMf|dD4@JQG>o%Yi${E2OREpg=&HXj;=5>2eMrk;D0Zx?=EEEY_a zK2mLcV|aJ2bhJz~#p;ZLrq({1&Pcf_c;gJ({bc8`7WKK%phs4p&k)vq^fR~c1=2VK z5lT2ZTB}$__qJf~d3Z4j!0`k`P06Rc8Ug~-N_H3y$rrQIf&{wh9%P2!a;p1)7NszK zt6G~O4?>YuKr#6Uubjc-eZ?gfFA~IJUM}-pYY&+1uGMRUkZ!xRukR zg}^l`Vti7m*+(waN0Tn^e)fPK2`82-HR;K^zHe@vKpL?&hH4s3)b*lUQRBPRCo+L= zjIyyrJHJJO(*jR?e-80nAAgM8lQc**I@C)a&o68A&Q;Ez2TvC3DPJtU<(zfEt@&R6 zbcA-mdh^Tu7iQn}*pxKmC&Kcsfora$$MD%HI&I>@vP}b=r0$J$72o@LYlhOHJfdb! z){^L0I7<;I*wq!Ptfc5C($YiiN%#Vrc9#o0k3^Ere<)-|d1HV*w9j65jnCWa->iOudh zwB@%E54<+Wur{%|3GKhNso)T_H{VCk*dh=5gKqsf+Rf%cH1 zt;q+Q4Rd3Uj&ct2k8pxON?gGA_(*N4i4eVgNqfd8p-_x*R@XAPV!f78i+q}O@b058 zHOq8As29-dwDt3N{Ic|{2f~|QUXr3w-QZ)jh$A({H$l$p;!2no&cNL$#HcxFPKWVv&-wbVcbTV z&c{ALK|u=HShf7cE_ZwB3#uioyMpchZ^d=`JC16|0B5RrL+6h-`Z?y|mr>wG;>FXp z7c)fy&R;1F!ugxRO@8&pXPWS-nfSi0X6H&DAwwR|k_j$&a$ZwGp(a|%3X5{YDal`Q zzqL~2l{T2IGUbh)t`U@jo?X}trTCAnTqOz6wqV!IL$icw!7jm)TS1?&yIo6ysOxI1a279ftWM~~=K{lL7~j@Bk@^Yc zxlLZdJ6 z;MoS9&&N_0qBiXMj-{KqI(^Hhtvo2jKug*_AEPW?D*E;`RP=jot3IiTjJWGP(p8gG zZ`o_D6V<`e4IF#mJ$bDCgn%GFr7pObZ}#35EqvHnNMX(PBjGGW`6A=+@oT_NQpv^R z`2m*)2et0F{#M2u`v-w8Sm$}mt%Fx=MCfp;M8>k7x31;oD|W>fp%QL(TO`Zu_1a)+ zsBODJ-X+?)NAWwqyT7jb1kHr%X87tz#xqjLF`wJIy3H82us07^Ynz0xQrBkv2A z;mF_)Fn5gy;8)7C?B?2Xi^p}1!)XI%d}m1@(0PI3^Qj|kaPJnEA7g?zU$YoMS0u`Gkp0&OM?>3(_Hc{2WQ6l8UZ+_K>;`p@omg0OuNFnzK?e4AIRP- zO_5ByV&AtMDCm{aZ)iad%z|j#we||N)~Uh6@ht~@2NMz+p9i;5lSD^Z&<_9u;X<jcxmMgU>d33 zpRu2>kEpYD^bn9;(>KViG;KAtcA4MU;c9V}KotlA(G+C#s52(sG&?Oe$!tVoln2D` zw(oyXVUMulU+Ik0Nme=m-s*=Bn1efswo7zWMURxeRq#Zz^4kMRyH}8VtV{Mprss#L zP%&!K)Xg}N#urW692JMajawjcaXxI~$6*ddKk}tGG`;s!jl5H*zhXAq@b~WL(xC4`p0!PcLFvRlB$g$1 z_@IISXn#8E=uu~#Q)uVoIy>m8Ua&gb6K^sx(c^ZRrcAf5{YGCN_C0Fce?Hk9o>tIn zG;8Q^xatnwj(oH=PSDVof)U74C8%dc=Rk2dX$) z%z7;lHBmDS8?H8l8mlF`=y%g(zajV_i?`WpexI({*!Zys>{;h^>&y{1vH-fO-`f8A zY=D)wqeo!#Cs8WG|4#ynD-A4kaK)0CN7sXi@vrN;`&`f-^1Ysvqyz}E$4kuCek4T-9)u?Bh=GKQ@e9VUKimdG}gZlPenD7F-^j=i-yJ$??4G|H)Xg zuuW;CW~58AmU+F6kLIu6eYw?VoF8cdZwpEJbHt!W8E>ZEp~EcFD|=c)IGJS!HlWC^ zWuLiq-`W20Si2#Df?Uy^9vJk^PvSo8Y}B{Nj09BjNy zU`o32i`IX%d9~K!{zrDw7#ftmqbE>K*GE1j{ZwmW&1I|M<>jFR2?$qi6{{t zyFQD?`@{fr2QmEaSzN;}X^T_NT@clPPkH4Q*eP$)+$9yT;sLyF2@F`?~LkslN!&v#=t=PZ2*( zBJb-e#*xY7b>I@fl7qf}eu03_cf17M9|P2Sf@p)-68%FdHSTl(3>ViF`dje(W-mx) zIC@wvd9Rj-0bJeKsD%JFz+Q48PEV6k^3#BQ=amlXTH1;?=yg;);2}>(9m)UUPJZcN z(bM%t)xZ|DKSmA&3Vu**2a}kV?%c@ld6}tU74p8~JyXr`)B4=GSw45e)N5}*2?wzWdBP;=MP~1X*Bk7bGX?A!4g7C2Mo8LwX5Cu8NK0=K)cy( z(_ug?m+D}>?j2XFgl(e&ffxMU<31{>8!QVY$JMvT)dP#?*R$Y)(i{(P*3Ye~2}?Jx zG*l@4TtZDyr68ir&XxRl2Yj?=nMv=p$+1a_m?7X@k7l`Swp+=K_}?vIRn=KF>iVo$ zTj21e-HF+AgO6}@1|^+~M$iS<67!|)(+C7TOFiuL;(7Tmw@t^!Z+6|x86>k2$`g`y z4!TOc(JKN@LV=W;S7Jh1mckLVsmo>T?>H8OxY9?5GYR>)yI$8J@Q+i>j_p-VdM(Ae zsiVuAu*fQsfy`Bg8C;v64ODzdN8hizzCmd5?+1ud67_-c1e??K6~1Rr7Lu z^IE?U;|SJ4FLZu;lPq5u&;`9KI1C;3$3Jv$3ZErLcc|Y4PvoTsb)d~8Wi~nksc+OJ zRw=MCZPyZcsrHZKZ$cg#(nji`m|QidQ4g!VF%_>`sOulL>euyGoF*O>wOJrY{JzmT72zN6Pf~SN!oge!SQ_YGE^0ZlyS3H02rfciCzhD zI*M01!+^|aN#xHpJN9W5tRkplvG8gsM37`L{8pu*EeIs`7w0zuj4r@kYPtoy_pU`6 z3<;04l}9nuJw-~;Jyv)Tidf0Tly^79U2Fm`db#A3kmu)O1GV%2BE09w?j;{O;>(up zFzv*3+EmEo;X?Z2J-Cse+jalDf{W2Lz=+U2Ys;zVTQzJ!fD2m;tX*7+Dz>S&?f&j< zy+B$uk9`h(Y91hy7dm8W211fX%hCf72qH^d0K7)r5dM?>w6EzT;ran^V zDhhRqlf-MEnJENF{EqJKLs!%4QFR~*Cn)aH(9vA%$xWrjfM=J8v#7JV;OYs)s z<=#4Efy?|78P@(k=AH#lP%`O0KyUe3sl&wuGIsn=DY1JmLdjY%`+N;Y#^4u^ItqHz z%?Tb~v;4XlrP9moLnsdw$;WkcjV)G&i~eskvUOJDW}Jnj-W1|*hpLyA1-Yb^b#pQ5 zKw=Ua`d>?A)V77ktEJt}WDTiBj5pl^PYzyZ&Rl^M0ZxL+yJnR8k~0+*5G_-J2_wx* z3~ZC)7UKaA9i#>jugripVBGSd-p+Mz4v^x|E%AV$f?S^hSv?3;3BU;`+S9j^r*Ivx z7!p~9z6YxzP7HJWnC5PKl|gq(n+2BQ?VBn7JY$7OLd}SNG46jiT!@~w{&@<& z>e%~OY*C7HoP+-V*a;if9Y9DQoYM8Ulvt#9&qQR_X5u|TGzW>&EY$qD=I?c@0KWY5 zp>NEU#pfN;ouib{0Xwf8%0|3Hody@^xU2IsDE>+J&r}7T12$4cDm?0EKp%Njfo%O{ zk9nP`S9j}22CuV@R%#7w+5o{07DszVXV4&}85nTJgUp&-p{$dbUA@?A@~3I1^MuN8 z=E%#d&yI~P7rKiP8Nyy~<<+{5r#3VPbWC8-@xz1$JZ86PZF*WHw{X)=ymnaB)P&_- z%Yf~zl3Mpc>{?g7Ys;+*@%2~q8z^c@j#1M%)4gla852R|P~Z5y!!Fo~hnHb=!N%)& z(OvBzqUx9;d>Aq4Ir=d{q@FH_ji!&zbDX92C z+9r=FTb^>(GH$Ht>g3^|ZgamHS<$PJO)k}$($oa3g~|FwH$M!*hv)Ic1tE8ou}Cd5 zs4+2x^`P^D*-jk(6Z&cNJ}ihp&1HhL6DS%L*g;~(p?oSD}mZ7ZE6 z!QM?fo?pI5$B?B;Q!Vozjxzst`k)k(S(~9TJ-a~Fr*~C7^kQ4zGM+ZcFi>3NJZ@iV3nAMxI1n1CmB zI-NPam##cn5k#!+*n2}iGb&kM)uke1d&6wRSOed&nv0)a%iRqZWHo0f`DStH)w((- zX*;^T;22w(mLv9a=Er-^h_?L0p~j!C5lS>V$8VKr$h?qn>W2Pyi1UnP zYmB=y{(frP8D)~%AVTI15|z96gQuWG;yJ~oB1HBRGQ%UV@_3LdPmU8sz z0o=4%3N0(TYWyDSj>>PZ7X50x#u$V4&Fa?`4l}RbJV)9&_oJjC#~VYdZoLgRf$t45 zg$_Kms<6l2fdNGzN=H0#nOWv|{+_E@Ref`i_sVMEO2oA4E<)87{Bu4_LTdM_?|{hl z}^*tujlINUFPJ*5#jF0LNeevJ$L3SwDa z#JBO#%X6q}A~&uQ=3mOCoqYet>k3W@u2K9*#mMq_6T$lf+cKx?Shl^=BO1aFbKPgq zC+QD@8-^RMc-CwB&9Il19slUX0y(&Q!XxgUHffwDEYzXXKGt6U5oj*_H(maRV}G6Z zUST)66V2R~Bx8IT)0_O{_;QxTPtq7gBkEx$REs*pn=q-_iOxHHcS?PNVw7oTb!>`6 zz9)qxl;gj*t&2`M_JypVj&lO(0|=EmGV*GBoSFtL6T|X|i~^JX%5;=FMn`lItY3H= z&O^WCp%YApL1WKbA&l3p7t&{EmjWA~KgSXrZ%I>E0y7T+kP9-FK2$Z`Ui33NyQwOx zO-OKcyyoBpSr|xrTF@m9$kTBjkR@%?qeGSAzHIxsO!F3t!1l|7*)Xz8MF z8hGZ)Q7uCBamvJytd^0wnk&&>vRqT2QHQ_|g0GOHwN!8DT8_mcsTuk2ME0z+d@Suf zywnRU!yxQb{TyJkqNG3_crHO2H+V}#GLcW5BCpXjP<5}ue|EyRkv3eSqejv^)}dVB zFfm_77ARc44c}~^*kwGL6uP5d!@RH6EStD$eP+2N0)LND*Zu>FKoJ(K*(g+bP3Ao` z9d7T$E=-Imb^=qOuTDRB?@nTLAK;MEmn%2(QcBZ~zs?AypA>^9SOMlPKx5MZ{zWWi zAUHhr<7VnfX)i?wYoGQxOOAk-Y1ah!vb$%pQxY1{k~!~`Oz$a1*QF7*{HLuYf0`9c z(?x?=fmx;ZedJCrTBOsA-XR}phB1qVqe9M0bO$C^miXBhi+?56WldpVn`yPb&%I$p zr_ZM*sJfkOUE%9eI#?{kj>yK8{ne*v#dsO0Mja{%EjuHWv0^P8K^b5$do&mPwFgAC zHbsLP!wHCwB2GcV>ONOCGdz&T@p?fB6g6*lb$3#&I{}6Wk4i|ufwO4g`o)W|q!?GO zi7LZS7i79sT~eBz6u3AwuO5Ec3HVz;yMx^9I~*aeCr6z&0Y~DinqW+Ig{;L^4Blq> z_0LJttuY!!2{0#I*>y3qJ?7s_*fR%RvkIFP{-?^D=0a2T#CO1dPE)*8+QX^$^&TZ8 z?s}dnp3-Ceiab&c>+{5Gw{*nBR%Lbuc)YuR@e0RMkzIA*oj4-|@jqJA9qvyprPk>L zE>R*JW`ivl&^r90?@Apj%oiQrdtBw0U=b?olB9F0i&@o+_n7JM&@M)IBrv2P8yA=Q zObHTdEqy%`BJ9S}@i&vc+Z2{r{LzZl6SZaW;61ahJ~>a_BqXOkIdw21C?Ik;wJAB( zsvP>4KlX{G_uK)kiEsZz514VPSUxWCgNGL527z$Ardw5K^#eXJ@-P*}yrLDm>Nck= zy3G#wi&K111FUEA6-3>lSE7G*Uag}|XMtg~>*c!~thVY_v?I%KDf-3lFUsu{()jv* zRM5euQ$9;fBVW$$Yk_0v5O=PV(9u*^a+_?vS7bJtIZr~S z%xK&@CDBL#0$1kYHIodZ}q#*E#W_vTOZ@;g?)4IeJJ>9=^N+w)8GOGluV=vBHak zzB10K!(=c1xX3r24yC>j3B%&J%WoW?+Th$~>msn^=K(GfxZS6!R^UiE(d`H~z~Mlc ze7kWKdIoCP*f?@i*Wez?QSUvjgPF&&w+!#MkLS@G*BFY53_Wjh89{Puo3uUuZ zZlrkPD_F*9hBaKEeJ%8peD;V7FtLkY`DJ3xaju7@z6JyJr%x80E1w2dUSMjK1jk z*@=T0;|yTUfb22M+;pHCh+DB60ws+$9mH6|UONG z%LV}V!t0CU)Bkg2@WaB0-UC^xd88furQR#3s1PXkgqQukA7_nC=bS5P^3Ln)Mc}wV z-z3P4l(rfun;SsqM@ko3n?gZ9Iys_p6)f~1*Y}dub{*JA-bmYv#qxqyTB{h?%D6V2S-uM~Dd7fv6V!TuKGB{cK&5ix}@5jwL zY;E{tVRy{{*0iDCfXoCZ$;&0ISju$_PgDD={@mcD?R&y?6-Y_ay8fd&@2p@)0JX&Y zCe?4L7=Ob?FU`CEk?jh0Mif?5K7~8IzF4fps8k7tD6Ebcc zlT5l+QegEl)4#f+2H_809J__(2H8io1BS#lup{g6A3zkn=o|203dEWz6Sjs6OFCbzJdm2ayVDgr@`;}%c zHpLfJZ3HDkXjE;rThdc9vG#%S+9S$_ldP?X!z1Mn2^Z?s%hy##O*3JaqIz*jh{=@U zKW=S9PAUS90Z2IV)!|-|)|Yn@Dcb@41>&y2;_npMT16M(XCJn8bEZbZdCR);=WiEA zlN3)+iCJ-4emdn2+ffO@eb-)j;dCu{BLi({-%{*wx&g^1t-S$J%qfZl_bYtya_%H9vhixhH`af#W8F`^ zYWajG-NlTBmJ(f^u@hWUjd))jV&Y9(C->^h8(RI-)fGW-_eces_lDW z{to@VsLUHZ=8}oSY0;~e+y)AF=Lq;o+HQX+tm6r^`!0FN{ z)w2&hP$Cv2=fzU!)pYe{3Fo(0DNwS0hNMS;1 z@i?Gj==s#ByyW4AyCoQHe4-nOeiK;FK#hPaX$Bgtd)|0i)edkDFMN3PJeP5=T00%hB)8%(Ktqyl+62=wbl zrZes3drOXJ1Ej?6#_e>I_6P=EtTmb6Pk0nCB_2rp_b2dpBoALt2FLt1l1-Mr|NH$$ z0Al^i@S`?$f}zljA%9Sd>6*@8puRrv3=@DJXxl!}tyYErD7z2%{TUOm+W+bGx-~Zm zoaCb;d)v4@Dm41h+U^>0*JE=#h&rufD!xG@4VUyUdbCc#svih(ijD%CWT!pmGHu0`WWNqT#Y4LlIB<~{v8Q{+A; zWbq=kX?K&d*swRx?TKD;3Tqk%r?0j;g@0ef?!L9c5=m2Bo%RO*91l5|gmv$@@$TM_T<9$F9wR1g4 zCx!JBj@W=N6Eo)zF$UK6pDN3T?@1w8A?)ZDe(WZb(rEl_+OyVamByr0q`u&ETcb#1 zVs*+-Ze}<4fEW_Kt5@;+drUS#((1!^2)|-``jErozPNrd>fQ%b8qr%`EVv9-od8yS z;zS~dA%~a+*g)bpL*$wv7P(`WTGxz3*J6?AQp?j~yMbwOEYDDt@&auVG2Ecuga5s7nL-g(m zGw6vQ?sz_nb|UvNP-KE4id?jk__@Y3wQ858hgEQIL^d_naU=IawmL@{C2_d$?RkFo z`r@KmCEJlYZRnRqp6BbXC0*nX#wczQ^mZ{pzz-l+@dv=3aK3%W_NEtmm1ZZ8^Kg>c zyGlfE6g0Cxxxs$L=`8`LRlmV>^Zek`%yOje?N)AXV@Yiv47*^b8Ca)fb-!B0;F42w zxp-6xgSuIhmAw~$9raUBv)*Bm#Hcj1UjY_uUI^(cMKFPqWm?eOW@{Unn`Gpm7_GE9Y+olCM%Zy=Qbw6GWa2W7;KCl$^7s-@4((`wo*WsO z#eeEsb{Vsm{JwP!>sYG@3M<8KvKo%P8DOLAkQxa(qwC8!QV9w-%G1{7;1*2NUP|+@ z6_YG+(YLhxxBn|oLj2h0#{xD{SV;g?_%MCwuhAH_W2Fi)lvL$@}b|4{OdIr z9R9!nPuKS9DMf+4iTxvDgC=@8TF=Mxk0nI|WB2PKrJ-IImK6#KJ__6wcNv&9|F2WO kNKOLFxxfWbK8Ic8-GS0rOMF2Ca1&&3)A&Z&wfoQh8~b7XU;qFB literal 0 HcmV?d00001 From 40c8816a359b758f675ed34c474c314c459d5209 Mon Sep 17 00:00:00 2001 From: Greg Lindsay Date: Wed, 12 Sep 2018 19:59:49 +0000 Subject: [PATCH 43/60] Merged PR 11270: Added info about Windows 10 servicing changes Servicing lifecycle changes --- windows/deployment/deploy-whats-new.md | 8 +++++++- windows/deployment/images/support-cycle.png | Bin 0 -> 8937 bytes 2 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 windows/deployment/images/support-cycle.png diff --git a/windows/deployment/deploy-whats-new.md b/windows/deployment/deploy-whats-new.md index 8cde17231e..7c7f1d1ff8 100644 --- a/windows/deployment/deploy-whats-new.md +++ b/windows/deployment/deploy-whats-new.md @@ -7,7 +7,7 @@ ms.localizationpriority: medium ms.prod: w10 ms.sitesec: library ms.pagetype: deploy -ms.date: 09/19/2017 +ms.date: 09/12/2018 author: greg-lindsay --- @@ -25,6 +25,12 @@ This topic provides an overview of new solutions and online content related to d - For a detailed list of changes to Windows 10 ITPro TechNet library content, see [Online content change history](#online-content-change-history). +## Windows 10 servicing and support + +Microsoft is [extending support](https://www.microsoft.com/microsoft-365/blog/2018/09/06/helping-customers-shift-to-a-modern-desktop) for Windows 10 Enterprise and Windows 10 Education editions to 30 months from the version release date. This includes all past versions and future versions that are targeted for release in September (versions ending in 09, ex: 1809). Future releases that are targeted for release in March (versions ending in 03, ex: 1903) will continue to be supported for 18 months from their release date. All releases of Windows 10 Home, Windows 10 Pro, and Office 365 ProPlus will continue to be supported for 18 months (there is no change for these editions). These support policies are summarized in the table below. + +![Support lifecycle](images/support-cycle.png) + ## Windows 10 Enterprise upgrade Windows 10 version 1703 includes a Windows 10 Enterprise E3 and E5 benefit to Microsoft customers with Enterprise Agreements (EA) or Microsoft Products & Services Agreements (MPSA). These customers can now subscribe users to Windows 10 Enterprise E3 or E5 and activate their subscriptions on up to five devices. Virtual machines can also be activated. For more information, see [Windows 10 Enterprise Subscription Activation](windows-10-enterprise-subscription-activation.md). diff --git a/windows/deployment/images/support-cycle.png b/windows/deployment/images/support-cycle.png new file mode 100644 index 0000000000000000000000000000000000000000..3f4b4e87c01ef98a9ac772a7ebe5cc8d5f81842c GIT binary patch literal 8937 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 Jam6|Ae*senEieE8 literal 0 HcmV?d00001 From 04431aa86a8c2c5a754e0adc9fbe76ff0faa9fa9 Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Wed, 12 Sep 2018 20:14:43 +0000 Subject: [PATCH 44/60] Merged PR 11272: clarify kiosk browser setting location --- windows/configuration/guidelines-for-assigned-access-app.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/configuration/guidelines-for-assigned-access-app.md b/windows/configuration/guidelines-for-assigned-access-app.md index eff3c3a789..4c7f8bc3ee 100644 --- a/windows/configuration/guidelines-for-assigned-access-app.md +++ b/windows/configuration/guidelines-for-assigned-access-app.md @@ -53,7 +53,7 @@ In Windows 10, version 1803, you can install the **Kiosk Browser** app from Micr 1. [Get **Kiosk Browser** in Microsoft Store for Business with offline license type.](https://docs.microsoft.com/microsoft-store/acquire-apps-microsoft-store-for-business#acquire-apps) 2. [Deploy **Kiosk Browser** to kiosk devices.](https://docs.microsoft.com/microsoft-store/distribute-offline-apps) -3. Configure policies using settings from the Policy Configuration Service Provider (CSP) for [KioskBrowser](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-kioskbrowser). These settings can be configured using your MDM service provider, or [in a provisioning package](provisioning-packages/provisioning-create-package.md). +3. Configure policies using settings from the Policy Configuration Service Provider (CSP) for [KioskBrowser](https://docs.microsoft.com/windows/client-management/mdm/policy-csp-kioskbrowser). These settings can be configured using your MDM service provider, or [in a provisioning package](provisioning-packages/provisioning-create-package.md). In Windows Configuration Designer, the settings are located in **Policies > KioskBrowser** when you select advanced provisioning for Windows desktop editions. >[!NOTE] >If you configure the kiosk using a provisioning package, you must apply the provisioning package after the device completes the out-of-box experience (OOBE). From c5e8c12338c9ded1a53502f46e53605fcda47164 Mon Sep 17 00:00:00 2001 From: Eric Avena Date: Wed, 12 Sep 2018 15:11:43 -0700 Subject: [PATCH 45/60] Add new file for fileless threats topic --- .../intelligence/filess-threats.md | 55 +++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 windows/security/threat-protection/intelligence/filess-threats.md diff --git a/windows/security/threat-protection/intelligence/filess-threats.md b/windows/security/threat-protection/intelligence/filess-threats.md new file mode 100644 index 0000000000..9892a12d72 --- /dev/null +++ b/windows/security/threat-protection/intelligence/filess-threats.md @@ -0,0 +1,55 @@ +--- +title: Fileless threats +description: Fileless threats +keywords: security, malware, coin miners, protection, cryptocurrencies +ms.prod: w10 +ms.mktglfcycl: secure +ms.sitesec: library +ms.localizationpriority: medium +ms.author: eravena +author: eavena +ms.date: 09/12/2018 +--- + + +Fileless threats + +The term fileless would suggest that it refers to a threat that does not come in a file, such as a backdoor that lives only in the memory of a machine. However, theres no generally accepted definition. The terms is used broadly; its also used to describe malware families that do rely on files in order to operate. In the Sharpshooter example, while the payload itself is fileless, the entry point relies on a script that needs to be dropped on the targets machine and executed. This, too, is considered a fileless attack. +To shed light on this loaded term, we can break down fileless threats into different categories. This categorization maps to Windows Defender ATP protections. + + +Figure 9. Comprehensive diagram of fileless malware +First, we can classify the entry point (inner circle in the diagram), which indicates how fileless malware can arrive on a machine: via an exploit; through compromised hardware; or via regular execution of applications and scripts. +Next, we can list the form of entry point (intermediate circle): for example, exploits can be based on files or network data; PCI peripherals are a type of hardware vector; and scripts and executables are sub-categories of the execution vector. +Finally, we can classify the host of the infection (outer circle): for example, a Flash application that may contain an exploit; a simple executable; a malicious firmware from a hardware device; or an infected MBR, which could bootstrap the execution of a malware before the operating system even loads. +This helps us divide and categorize the various kinds of fileless threats. Clearly, the categories are not all the same: some are more dangerous but also more difficult to implement, while others are more commonly used despite (or precisely because of) not being very advanced. +From this categorization, we can glean three big types of fileless threats based on how much fingerprint they may leave on infected machines. +Type I: No file activity performed +A completely fileless malware can be considered one that never requires writing a file on the disk. How would such malware infect a machine in the first place? An example scenario could be a target machine receiving malicious network packets that exploit the EternalBlue vulnerability, leading to the installation of the DoublePulsar backdoor, which ends up residing only in the kernel memory. In this case, there is no file or any data written on a file. +Another scenario could involve compromised devices, where malicious code could be hiding in device firmware (such as a BIOS), a USB peripheral (like the BadUSB attack), or even in the firmware of a network card. All these examples do not require a file on the disk in order to run and can theoretically live only in memory, surviving even reboots, disk reformats, and OS reinstalls. +Infections of this type can be extra difficult to detect and remediate. Antivirus products usually dont have the capability to access firmware for inspection; even if they did, it would be extremely challenging to detect and remediate threats at this level. Because this type of fileless malware requires high levels of sophistication and often depend on particular hardware or software configuration, its not an attack vector that can be exploited easily and reliably. For this reason, while extremely dangerous, threats of this type tend to be very uncommon and not practical for most attacks. +Type II: Indirect file activity +There are other ways that malware can achieve fileless presence on a machine without requiring significant engineering effort. Fileless malware of this type dont directly write files on the file system, but they can end up using files indirectly. This is the case for Poshspy backdoor. Attackers installed a malicious PowerShell command within the WMI repository and configured a WMI filter to run such command periodically. +Its possible to carry out such installation via command line without requiring the presence of the backdoor to be on a file in the first place. The malware can thus be installed and theoretically run without ever touching the file system. However, the WMI repository is stored on a physical file that is a central storage area managed by the CIM Object Manager and usually contains legitimate data. Therefore, while the infection chain does technically use a physical file, for practical purposes its considered a fileless attack given that the WMI repository is a multi-purpose data container that cannot be simply detected and removed. +Type III: Files required to operate +Some malware can have some sort of fileless persistence but not without using files in order to operate. An example for this scenario is Kovter, which creates a shell open verb handler in the registry for a random file extension. This action means that opening a file with such extension will lead to the execution of a script through the legitimate tool mshta.exe. + Figure 10. Kovters registry key +When the open verb is invoked, the associated command from the registry is launched, which results in the execution of a small script. This script reads data from a further registry key and executes it, in turn leading to the loading of the final payload. However, to trigger the open verb in the first place, Kovter has to drop a file with the same extension targeted by the verb (in the example above, the extension is .bbf5590fd). It also has to set an auto-run key configured to open such file when the machine starts. +Despite the use of files, and despite the fact that the registry too is stored in physical files, Kovter is considered a fileless threat because the file system is of no practical use: the files with random extension contain junk data that is not usable in verifying the presence of the threat, and the files that store the registry are containers that cannot be detected and deleted if malicious content is present. +Categorizing fileless threats by infection host +Having described the broad categories, we can now dig into the details and provide a breakdown of the infection hosts. This comprehensive classification covers the panorama of what is usually referred to as fileless malware. It drives our efforts to research and develop new protection features that neutralize classes of attacks and ensure malware does not get the upper hand in the arms race. +Exploits +File-based (Type III: executable, Flash, Java, documents): An initial file may exploit the operating system, the browser, the Java engine, the Flash engine, etc. in order to execute a shellcode and deliver a payload in memory. While the payload is fileless, the initial entry vector is a file. +Network-based (Type I): A network communication that takes advantage of a vulnerability in the target machine can achieve code execution in the context of an application or the kernel. An example is WannaCry, which exploits a previously fixed vulnerability in the SMB protocol to deliver a backdoor within the kernel memory. +Hardware +Device-based (Type I: network card, hard disk): Devices like hard disks and network cards require chipsets and dedicated software to function. A software residing and running in the chipset of a device is called a firmware. Although a complex task, the firmware can be infected by malware, as the Equation espionage group has been caught doing. +CPU-based (Type I): Modern CPUs are extremely complex and may include subsystems running firmware for management purposes. Such firmware may be vulnerable to hijacking and allow the execution of malicious code that would hence operate from within the CPU. In December 2017, two researchers reported a vulnerability that can allow attackers to execute code inside the Management Engine (ME) present in any modern CPU from Intel. Meanwhile, the attacker group PLATINUM has been observed to have the capability to use Intel's Active Management Technology (AMT) to perform invisible network communications bypassing the installed operating system. ME and AMT are essentially autonomous micro-computers that live inside the CPU and that operate at a very low level. Because these technologies purpose is to provide remote manageability, they have direct access to hardware, are independent of the operating system, and can run even if the computer is turned off. Besides being vulnerable at the firmware level, CPUs could be manufactured with backdoors inserted directly in the hardware circuitry. This attack has been researched and proved possible in the past. Just recently it has been reported that certain models of x86 processors contain a secondary embedded RISC-like CPU core that can effectively provide a backdoor through which regular applications can gain privileged execution. +USB-based (Type I): USB devices of all kinds can be reprogrammed with a malicious firmware capable of interacting with the operating system in nefarious ways. This is the case of the BadUSB technique, demonstrated few years ago, which allows a reprogrammed USB stick to act as a keyboard that sends commands to machines via keystrokes, or as a network card that can redirect traffic at will. +BIOS-based (Type I): A BIOS is a firmware running inside a chipset. It executes when a machine is powered on, initializes the hardware, and then transfers control to the boot sector. Its a very important component that operates at a very low level and executes before the boot sector. Its possible to reprogram the BIOS firmware with malicious code, as has happened in the past with the Mebromi rootkit. +Hypervisor-based (Type I): Modern CPUs provide hardware hypervisor support, allowing the operating system to create robust virtual machines. A virtual machine runs in a confined, simulated environment, and is in theory unaware of the emulation. A malware taking over a machine may implement a small hypervisor in order to hide itself outside of the realm of the running operating system. Malware of this kind has been theorized in the past, and eventually real hypervisor rootkits have been observed, although very few are known to date. +Execution and injection +File-based (Type III: executables, DLLs, LNK files, scheduled tasks): This is the standard execution vector. A simple executable can be launched as a first-stage malware to run an additional payload in memory or inject it into other legitimate running processes. +Macro-based (Type III: Office documents): The VBA language is a flexible and powerful tool designed to automate editing tasks and add dynamic functionality to documents. As such, it can be abused by attackers to carry out malicious operations like decoding, running, or injecting an executable payload, or even implementing an entire ransomware, like in the case of qkG. Macros are executed within the context of an Office process (e.g., Winword.exe), and theyre implemented in a scripting language, so there is no binary executable that an antivirus can inspect. While Office apps require explicit consent from the user to execute macros from a document, attackers use social engineering techniques to trick users into allowing macros to execute. +Script-based (Type II: file, service, registry, WMI repo, shell): The JavaScript, VBScript, and PowerShell scripting languages are available by default on Windows platforms. Scripts have the same advantages as macros: theyre textual files (not binary executables) and they run within the context of the interpreter (e.g., wscript.exe, powershell.exe, etc.), which is a clean and legitimate component. Scripts are very versatile; they can be run from a file (e.g., by double-clicking them) or, in some cases, executed directly on the command line of an interpreter. Being able to run on the command line can allow malware to encode malicious command-line scripts as auto-start services inside autorun registry keys as WMI event subscriptions from the WMI repo. Furthermore, an attacker who has gained access to an infected machine may input the script on the command prompt. +Disk-based (Type II: Boot Record): The Boot Record is the first sector of a disk or volume and contains executable code required to start the boot process of the operating system. Threats like Petya are capable of infecting the Boot Record by overwriting it with malicious code, so that when the machine is booted the malware immediately gains control (and in the case of Petya, with disastrous consequences). The Boot Record resides outside the file system, but its accessible by the operating system, and modern antivirus products have the capability to scan and restore it. + From a8b1d3ad062d579b3749e89f20b6a4d3fe70ea06 Mon Sep 17 00:00:00 2001 From: Eric Avena Date: Wed, 12 Sep 2018 15:17:03 -0700 Subject: [PATCH 46/60] Added new item in TOC --- windows/security/threat-protection/intelligence/TOC.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/windows/security/threat-protection/intelligence/TOC.md b/windows/security/threat-protection/intelligence/TOC.md index cd09366bea..db9e975f40 100644 --- a/windows/security/threat-protection/intelligence/TOC.md +++ b/windows/security/threat-protection/intelligence/TOC.md @@ -10,6 +10,8 @@ ### [Exploits and exploit kits](exploits-malware.md) +### [Fileless threats](fileless-threats.md) + ### [Macro malware](macro-malware.md) ### [Phishing](phishing.md) From 9b9cfb75e6c8b6904de0f59bb6b9ac59d6e759f8 Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Thu, 13 Sep 2018 14:06:54 +0000 Subject: [PATCH 47/60] Merged PR 11284: add Surface 2 and remove "point" updates --- ...atest-firmware-and-drivers-for-surface-devices.md | 12 ++++-------- 1 file changed, 4 insertions(+), 8 deletions(-) diff --git a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md index d009237304..a023fdb141 100644 --- a/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md +++ b/devices/surface/deploy-the-latest-firmware-and-drivers-for-surface-devices.md @@ -9,7 +9,7 @@ ms.mktglfcycl: deploy ms.pagetype: surface, devices ms.sitesec: library author: brecords -ms.date: 12/07/2017 +ms.date: 09/13/2018 ms.author: jdecker ms.topic: article --- @@ -23,11 +23,7 @@ As easy as it is to keep Surface device drivers and firmware up to date automati On the Microsoft Download Center page for your device, you will find several files available. These files allow you to deploy drivers and firmware in various ways. You can read more about the different deployment methods for Surface drivers and firmware in [Manage Surface driver and firmware updates](manage-surface-pro-3-firmware-updates.md). -Driver and firmware updates for Surface devices are released in one of two ways: - -- **Point updates** are released for specific drivers or firmware revisions and provide the latest update for a specific component of the Surface device. - -- **Cumulative updates** provide comprehensive roundups of all of the latest files for the Surface device running that version of Windows. +Driver and firmware updates for Surface devices are **cumulative updates** which provide comprehensive roundups of all of the latest files for the Surface device running that version of Windows. Installation files for administrative tools, drivers for accessories, and updates for Windows are also available for some devices and are detailed here in this article. @@ -212,10 +208,10 @@ Download the following updates [for Surface Pro (Model 1514) from the Microsoft - Windows8.1-KB2969817-x64.msu – Fixes an issue that causes Surface devices to reboot twice after firmware updates are installed on all supported x64-based versions of Windows 8.1 -## Surface RT +## Surface devices with Windows RT -There are no downloadable firmware or driver updates available for Surface RT. Updates can only be applied using Windows Update. +There are no downloadable firmware or driver updates available for Surface devices with Windows RT, including Surface RT and Surface 2. Updates can only be applied using Windows Update. If you have additional questions on the driver pack and updates, please contact [Microsoft Surface support for business](https://www.microsoft.com/surface/support/business). From 0281c673997f1e5e58f7065891676ab4a88ceaab Mon Sep 17 00:00:00 2001 From: Brian Lich Date: Thu, 13 Sep 2018 09:51:41 -0700 Subject: [PATCH 48/60] removing some whitespace --- .../basic-level-windows-diagnostic-events-and-fields-1803.md | 2 -- 1 file changed, 2 deletions(-) diff --git a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md index 55efbb3633..2f0e8fbb61 100644 --- a/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md +++ b/windows/privacy/basic-level-windows-diagnostic-events-and-fields-1803.md @@ -35,8 +35,6 @@ You can learn more about Windows functional and diagnostic data through these ar - [Configure Windows diagnostic data in your organization](configure-windows-diagnostic-data-in-your-organization.md) - - ## Appraiser events ### Microsoft.Windows.Appraiser.General.ChecksumTotalPictureCount From 1440307c26312d697c7010dea48960e112f42776 Mon Sep 17 00:00:00 2001 From: Louie Mayor Date: Thu, 13 Sep 2018 22:13:28 +0000 Subject: [PATCH 49/60] Merged PR 11299: Security alliance topics - Removed references to online contact and application forms --- .../intelligence/coordinated-malware-eradication.md | 2 +- .../intelligence/virus-information-alliance-criteria.md | 4 +--- .../intelligence/virus-initiative-criteria.md | 2 +- 3 files changed, 3 insertions(+), 5 deletions(-) diff --git a/windows/security/threat-protection/intelligence/coordinated-malware-eradication.md b/windows/security/threat-protection/intelligence/coordinated-malware-eradication.md index 5c1f9d33d8..2f6a6ce43c 100644 --- a/windows/security/threat-protection/intelligence/coordinated-malware-eradication.md +++ b/windows/security/threat-protection/intelligence/coordinated-malware-eradication.md @@ -32,4 +32,4 @@ Organizations participating in the CME effort work together to help eradicate se Any organization that is involved in cybersecurity and antimalware or interested in fighting cybercrime can participate in CME campaigns by enrolling in the [Virus Information Alliance (VIA) program](virus-information-alliance-criteria.md). It ensures that everyone agrees to use the information and tools available for campaigns for their intended purpose (that is, the eradication of malware). -Please apply using our [membership application form](https://www.microsoft.com/security/portal/partnerships/apply.aspx) to get started. \ No newline at end of file +If your organization meets these criteria and would like to apply for membership, contact us at [mvi@microsoft.com](mailto:mvi@microsoft.com). Please indicate whether you would like to join CME, [VIA](./virus-information-alliance-criteria.md), or [MVI](./virus-initiative-criteria.md). \ No newline at end of file diff --git a/windows/security/threat-protection/intelligence/virus-information-alliance-criteria.md b/windows/security/threat-protection/intelligence/virus-information-alliance-criteria.md index d08b16e029..10e99ef924 100644 --- a/windows/security/threat-protection/intelligence/virus-information-alliance-criteria.md +++ b/windows/security/threat-protection/intelligence/virus-information-alliance-criteria.md @@ -46,6 +46,4 @@ To be eligible for VIA your organization must: 3. Be willing to sign and adhere to the VIA membership agreement. -If your organization wants to apply and meets this criteria, you can apply using our [membership application form](https://www.microsoft.com/security/portal/partnerships/apply.aspx). - -If you have any questions, you can also contact us using our [partnerships contact form](https://www.microsoft.com/security/portal/partnerships/contactus.aspx). \ No newline at end of file +If your organization meets these criteria and would like to apply for membership, contact us at [mvi@microsoft.com](mailto:mvi@microsoft.com). Please indicate whether you would like to join VIA, [MVI](./virus-initiative-criteria.md), or [CME](./coordinated-malware-eradication.md). \ No newline at end of file diff --git a/windows/security/threat-protection/intelligence/virus-initiative-criteria.md b/windows/security/threat-protection/intelligence/virus-initiative-criteria.md index 6edc83eaba..26f3bbce30 100644 --- a/windows/security/threat-protection/intelligence/virus-initiative-criteria.md +++ b/windows/security/threat-protection/intelligence/virus-initiative-criteria.md @@ -54,4 +54,4 @@ Your organization must meet the following eligibility requirements to participat ### Apply to MVI -If your organization wants to apply and meets this criteria, you can apply using our [membership application form](https://www.microsoft.com/security/portal/partnerships/apply.aspx). \ No newline at end of file +If your organization meets these criteria and would like to apply for membership, contact us at [mvi@microsoft.com](mailto:mvi@microsoft.com). Please indicate whether you would like to join MVI, [VIA](./virus-information-alliance-criteria.md), or [CME](./coordinated-malware-eradication.md). \ No newline at end of file From fbab595f8f6301b251862503603d704558036d73 Mon Sep 17 00:00:00 2001 From: Eric Avena Date: Thu, 13 Sep 2018 15:44:49 -0700 Subject: [PATCH 50/60] File rename --- .../{filess-threats.md => fileless-threats.md} | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) rename windows/security/threat-protection/intelligence/{filess-threats.md => fileless-threats.md} (99%) diff --git a/windows/security/threat-protection/intelligence/filess-threats.md b/windows/security/threat-protection/intelligence/fileless-threats.md similarity index 99% rename from windows/security/threat-protection/intelligence/filess-threats.md rename to windows/security/threat-protection/intelligence/fileless-threats.md index 9892a12d72..931f8d854a 100644 --- a/windows/security/threat-protection/intelligence/filess-threats.md +++ b/windows/security/threat-protection/intelligence/fileless-threats.md @@ -11,19 +11,24 @@ author: eavena ms.date: 09/12/2018 --- - Fileless threats -The term fileless would suggest that it refers to a threat that does not come in a file, such as a backdoor that lives only in the memory of a machine. However, theres no generally accepted definition. The terms is used broadly; its also used to describe malware families that do rely on files in order to operate. In the Sharpshooter example, while the payload itself is fileless, the entry point relies on a script that needs to be dropped on the targets machine and executed. This, too, is considered a fileless attack. +The term "fileless" would suggest that it refers to a threat that does not come in a file, such as a backdoor that lives only in the memory of a machine. However, theres no generally accepted definition. The terms is used broadly; its also used to describe malware families that do rely on files in order to operate. In the Sharpshooter example, while the payload itself is fileless, the entry point relies on a script that needs to be dropped on the targets machine and executed. This, too, is considered a fileless attack. + To shed light on this loaded term, we can break down fileless threats into different categories. This categorization maps to Windows Defender ATP protections. - -Figure 9. Comprehensive diagram of fileless malware +Figure. Comprehensive diagram of fileless malware + First, we can classify the entry point (inner circle in the diagram), which indicates how fileless malware can arrive on a machine: via an exploit; through compromised hardware; or via regular execution of applications and scripts. + Next, we can list the form of entry point (intermediate circle): for example, exploits can be based on files or network data; PCI peripherals are a type of hardware vector; and scripts and executables are sub-categories of the execution vector. + Finally, we can classify the host of the infection (outer circle): for example, a Flash application that may contain an exploit; a simple executable; a malicious firmware from a hardware device; or an infected MBR, which could bootstrap the execution of a malware before the operating system even loads. + This helps us divide and categorize the various kinds of fileless threats. Clearly, the categories are not all the same: some are more dangerous but also more difficult to implement, while others are more commonly used despite (or precisely because of) not being very advanced. + From this categorization, we can glean three big types of fileless threats based on how much fingerprint they may leave on infected machines. + Type I: No file activity performed A completely fileless malware can be considered one that never requires writing a file on the disk. How would such malware infect a machine in the first place? An example scenario could be a target machine receiving malicious network packets that exploit the EternalBlue vulnerability, leading to the installation of the DoublePulsar backdoor, which ends up residing only in the kernel memory. In this case, there is no file or any data written on a file. Another scenario could involve compromised devices, where malicious code could be hiding in device firmware (such as a BIOS), a USB peripheral (like the BadUSB attack), or even in the firmware of a network card. All these examples do not require a file on the disk in order to run and can theoretically live only in memory, surviving even reboots, disk reformats, and OS reinstalls. From 668d45b89b3b298aafda80d228a31f1e60e25a85 Mon Sep 17 00:00:00 2001 From: Eric Avena Date: Thu, 13 Sep 2018 22:56:59 +0000 Subject: [PATCH 51/60] Updated fileless-threats.md formatting --- .../intelligence/fileless-threats.md | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/windows/security/threat-protection/intelligence/fileless-threats.md b/windows/security/threat-protection/intelligence/fileless-threats.md index 931f8d854a..c858315b87 100644 --- a/windows/security/threat-protection/intelligence/fileless-threats.md +++ b/windows/security/threat-protection/intelligence/fileless-threats.md @@ -11,9 +11,9 @@ author: eavena ms.date: 09/12/2018 --- -Fileless threats +#Fileless threats -The term "fileless" would suggest that it refers to a threat that does not come in a file, such as a backdoor that lives only in the memory of a machine. However, theres no generally accepted definition. The terms is used broadly; its also used to describe malware families that do rely on files in order to operate. In the Sharpshooter example, while the payload itself is fileless, the entry point relies on a script that needs to be dropped on the targets machine and executed. This, too, is considered a fileless attack. +The term "fileless" would suggest that it refers to a threat that does not come in a file, such as a backdoor that lives only in the memory of a machine. However, there’s no generally accepted definition. The terms is used broadly; it’s also used to describe malware families that do rely on files in order to operate. In the Sharpshooter example, while the payload itself is fileless, the entry point relies on a script that needs to be dropped on the target’s machine and executed. This, too, is considered a fileless attack. To shed light on this loaded term, we can break down fileless threats into different categories. This categorization maps to Windows Defender ATP protections. @@ -29,16 +29,17 @@ This helps us divide and categorize the various kinds of fileless threats. Clear From this categorization, we can glean three big types of fileless threats based on how much fingerprint they may leave on infected machines. -Type I: No file activity performed +##Type I: No file activity performed + A completely fileless malware can be considered one that never requires writing a file on the disk. How would such malware infect a machine in the first place? An example scenario could be a target machine receiving malicious network packets that exploit the EternalBlue vulnerability, leading to the installation of the DoublePulsar backdoor, which ends up residing only in the kernel memory. In this case, there is no file or any data written on a file. Another scenario could involve compromised devices, where malicious code could be hiding in device firmware (such as a BIOS), a USB peripheral (like the BadUSB attack), or even in the firmware of a network card. All these examples do not require a file on the disk in order to run and can theoretically live only in memory, surviving even reboots, disk reformats, and OS reinstalls. -Infections of this type can be extra difficult to detect and remediate. Antivirus products usually dont have the capability to access firmware for inspection; even if they did, it would be extremely challenging to detect and remediate threats at this level. Because this type of fileless malware requires high levels of sophistication and often depend on particular hardware or software configuration, its not an attack vector that can be exploited easily and reliably. For this reason, while extremely dangerous, threats of this type tend to be very uncommon and not practical for most attacks. +Infections of this type can be extra difficult to detect and remediate. Antivirus products usually don’t have the capability to access firmware for inspection; even if they did, it would be extremely challenging to detect and remediate threats at this level. Because this type of fileless malware requires high levels of sophistication and often depend on particular hardware or software configuration, it’s not an attack vector that can be exploited easily and reliably. For this reason, while extremely dangerous, threats of this type tend to be very uncommon and not practical for most attacks. Type II: Indirect file activity -There are other ways that malware can achieve fileless presence on a machine without requiring significant engineering effort. Fileless malware of this type dont directly write files on the file system, but they can end up using files indirectly. This is the case for Poshspy backdoor. Attackers installed a malicious PowerShell command within the WMI repository and configured a WMI filter to run such command periodically. -Its possible to carry out such installation via command line without requiring the presence of the backdoor to be on a file in the first place. The malware can thus be installed and theoretically run without ever touching the file system. However, the WMI repository is stored on a physical file that is a central storage area managed by the CIM Object Manager and usually contains legitimate data. Therefore, while the infection chain does technically use a physical file, for practical purposes its considered a fileless attack given that the WMI repository is a multi-purpose data container that cannot be simply detected and removed. +There are other ways that malware can achieve fileless presence on a machine without requiring significant engineering effort. Fileless malware of this type don’t directly write files on the file system, but they can end up using files indirectly. This is the case for Poshspy backdoor. Attackers installed a malicious PowerShell command within the WMI repository and configured a WMI filter to run such command periodically. +It’s possible to carry out such installation via command line without requiring the presence of the backdoor to be on a file in the first place. The malware can thus be installed and theoretically run without ever touching the file system. However, the WMI repository is stored on a physical file that is a central storage area managed by the CIM Object Manager and usually contains legitimate data. Therefore, while the infection chain does technically use a physical file, for practical purposes it’s considered a fileless attack given that the WMI repository is a multi-purpose data container that cannot be simply detected and removed. Type III: Files required to operate Some malware can have some sort of fileless persistence but not without using files in order to operate. An example for this scenario is Kovter, which creates a shell open verb handler in the registry for a random file extension. This action means that opening a file with such extension will lead to the execution of a script through the legitimate tool mshta.exe. - Figure 10. Kovters registry key + Figure 10. Kovter’s registry key When the open verb is invoked, the associated command from the registry is launched, which results in the execution of a small script. This script reads data from a further registry key and executes it, in turn leading to the loading of the final payload. However, to trigger the open verb in the first place, Kovter has to drop a file with the same extension targeted by the verb (in the example above, the extension is .bbf5590fd). It also has to set an auto-run key configured to open such file when the machine starts. Despite the use of files, and despite the fact that the registry too is stored in physical files, Kovter is considered a fileless threat because the file system is of no practical use: the files with random extension contain junk data that is not usable in verifying the presence of the threat, and the files that store the registry are containers that cannot be detected and deleted if malicious content is present. Categorizing fileless threats by infection host @@ -48,13 +49,13 @@ File-based (Type III: executable, Flash, Java, documents): An initial file may e Network-based (Type I): A network communication that takes advantage of a vulnerability in the target machine can achieve code execution in the context of an application or the kernel. An example is WannaCry, which exploits a previously fixed vulnerability in the SMB protocol to deliver a backdoor within the kernel memory. Hardware Device-based (Type I: network card, hard disk): Devices like hard disks and network cards require chipsets and dedicated software to function. A software residing and running in the chipset of a device is called a firmware. Although a complex task, the firmware can be infected by malware, as the Equation espionage group has been caught doing. -CPU-based (Type I): Modern CPUs are extremely complex and may include subsystems running firmware for management purposes. Such firmware may be vulnerable to hijacking and allow the execution of malicious code that would hence operate from within the CPU. In December 2017, two researchers reported a vulnerability that can allow attackers to execute code inside the Management Engine (ME) present in any modern CPU from Intel. Meanwhile, the attacker group PLATINUM has been observed to have the capability to use Intel's Active Management Technology (AMT) to perform invisible network communications bypassing the installed operating system. ME and AMT are essentially autonomous micro-computers that live inside the CPU and that operate at a very low level. Because these technologies purpose is to provide remote manageability, they have direct access to hardware, are independent of the operating system, and can run even if the computer is turned off. Besides being vulnerable at the firmware level, CPUs could be manufactured with backdoors inserted directly in the hardware circuitry. This attack has been researched and proved possible in the past. Just recently it has been reported that certain models of x86 processors contain a secondary embedded RISC-like CPU core that can effectively provide a backdoor through which regular applications can gain privileged execution. +CPU-based (Type I): Modern CPUs are extremely complex and may include subsystems running firmware for management purposes. Such firmware may be vulnerable to hijacking and allow the execution of malicious code that would hence operate from within the CPU. In December 2017, two researchers reported a vulnerability that can allow attackers to execute code inside the Management Engine (ME) present in any modern CPU from Intel. Meanwhile, the attacker group PLATINUM has been observed to have the capability to use Intel's Active Management Technology (AMT) to perform invisible network communications bypassing the installed operating system. ME and AMT are essentially autonomous micro-computers that live inside the CPU and that operate at a very low level. Because these technologies’ purpose is to provide remote manageability, they have direct access to hardware, are independent of the operating system, and can run even if the computer is turned off. Besides being vulnerable at the firmware level, CPUs could be manufactured with backdoors inserted directly in the hardware circuitry. This attack has been researched and proved possible in the past. Just recently it has been reported that certain models of x86 processors contain a secondary embedded RISC-like CPU core that can effectively provide a backdoor through which regular applications can gain privileged execution. USB-based (Type I): USB devices of all kinds can be reprogrammed with a malicious firmware capable of interacting with the operating system in nefarious ways. This is the case of the BadUSB technique, demonstrated few years ago, which allows a reprogrammed USB stick to act as a keyboard that sends commands to machines via keystrokes, or as a network card that can redirect traffic at will. -BIOS-based (Type I): A BIOS is a firmware running inside a chipset. It executes when a machine is powered on, initializes the hardware, and then transfers control to the boot sector. Its a very important component that operates at a very low level and executes before the boot sector. Its possible to reprogram the BIOS firmware with malicious code, as has happened in the past with the Mebromi rootkit. +BIOS-based (Type I): A BIOS is a firmware running inside a chipset. It executes when a machine is powered on, initializes the hardware, and then transfers control to the boot sector. It’s a very important component that operates at a very low level and executes before the boot sector. It’s possible to reprogram the BIOS firmware with malicious code, as has happened in the past with the Mebromi rootkit. Hypervisor-based (Type I): Modern CPUs provide hardware hypervisor support, allowing the operating system to create robust virtual machines. A virtual machine runs in a confined, simulated environment, and is in theory unaware of the emulation. A malware taking over a machine may implement a small hypervisor in order to hide itself outside of the realm of the running operating system. Malware of this kind has been theorized in the past, and eventually real hypervisor rootkits have been observed, although very few are known to date. Execution and injection File-based (Type III: executables, DLLs, LNK files, scheduled tasks): This is the standard execution vector. A simple executable can be launched as a first-stage malware to run an additional payload in memory or inject it into other legitimate running processes. -Macro-based (Type III: Office documents): The VBA language is a flexible and powerful tool designed to automate editing tasks and add dynamic functionality to documents. As such, it can be abused by attackers to carry out malicious operations like decoding, running, or injecting an executable payload, or even implementing an entire ransomware, like in the case of qkG. Macros are executed within the context of an Office process (e.g., Winword.exe), and theyre implemented in a scripting language, so there is no binary executable that an antivirus can inspect. While Office apps require explicit consent from the user to execute macros from a document, attackers use social engineering techniques to trick users into allowing macros to execute. -Script-based (Type II: file, service, registry, WMI repo, shell): The JavaScript, VBScript, and PowerShell scripting languages are available by default on Windows platforms. Scripts have the same advantages as macros: theyre textual files (not binary executables) and they run within the context of the interpreter (e.g., wscript.exe, powershell.exe, etc.), which is a clean and legitimate component. Scripts are very versatile; they can be run from a file (e.g., by double-clicking them) or, in some cases, executed directly on the command line of an interpreter. Being able to run on the command line can allow malware to encode malicious command-line scripts as auto-start services inside autorun registry keys as WMI event subscriptions from the WMI repo. Furthermore, an attacker who has gained access to an infected machine may input the script on the command prompt. -Disk-based (Type II: Boot Record): The Boot Record is the first sector of a disk or volume and contains executable code required to start the boot process of the operating system. Threats like Petya are capable of infecting the Boot Record by overwriting it with malicious code, so that when the machine is booted the malware immediately gains control (and in the case of Petya, with disastrous consequences). The Boot Record resides outside the file system, but its accessible by the operating system, and modern antivirus products have the capability to scan and restore it. +Macro-based (Type III: Office documents): The VBA language is a flexible and powerful tool designed to automate editing tasks and add dynamic functionality to documents. As such, it can be abused by attackers to carry out malicious operations like decoding, running, or injecting an executable payload, or even implementing an entire ransomware, like in the case of qkG. Macros are executed within the context of an Office process (e.g., Winword.exe), and they’re implemented in a scripting language, so there is no binary executable that an antivirus can inspect. While Office apps require explicit consent from the user to execute macros from a document, attackers use social engineering techniques to trick users into allowing macros to execute. +Script-based (Type II: file, service, registry, WMI repo, shell): The JavaScript, VBScript, and PowerShell scripting languages are available by default on Windows platforms. Scripts have the same advantages as macros: they’re textual files (not binary executables) and they run within the context of the interpreter (e.g., wscript.exe, powershell.exe, etc.), which is a clean and legitimate component. Scripts are very versatile; they can be run from a file (e.g., by double-clicking them) or, in some cases, executed directly on the command line of an interpreter. Being able to run on the command line can allow malware to encode malicious command-line scripts as auto-start services inside autorun registry keys as WMI event subscriptions from the WMI repo. Furthermore, an attacker who has gained access to an infected machine may input the script on the command prompt. +Disk-based (Type II: Boot Record): The Boot Record is the first sector of a disk or volume and contains executable code required to start the boot process of the operating system. Threats like Petya are capable of infecting the Boot Record by overwriting it with malicious code, so that when the machine is booted the malware immediately gains control (and in the case of Petya, with disastrous consequences). The Boot Record resides outside the file system, but it’s accessible by the operating system, and modern antivirus products have the capability to scan and restore it. From 13cd2581a14bee3fd5d5d5dddef0b9578e27028c Mon Sep 17 00:00:00 2001 From: Eric Avena Date: Fri, 14 Sep 2018 00:14:28 +0000 Subject: [PATCH 52/60] Updated fileless-threats.md formatted --- .../intelligence/fileless-threats.md | 80 ++++++++++++------- 1 file changed, 53 insertions(+), 27 deletions(-) diff --git a/windows/security/threat-protection/intelligence/fileless-threats.md b/windows/security/threat-protection/intelligence/fileless-threats.md index c858315b87..c4f9f7dc4c 100644 --- a/windows/security/threat-protection/intelligence/fileless-threats.md +++ b/windows/security/threat-protection/intelligence/fileless-threats.md @@ -17,7 +17,7 @@ The term "fileless" would suggest that it refers to a threat that does not come To shed light on this loaded term, we can break down fileless threats into different categories. This categorization maps to Windows Defender ATP protections. -Figure. Comprehensive diagram of fileless malware +*Figure. Comprehensive diagram of fileless malware* First, we can classify the entry point (inner circle in the diagram), which indicates how fileless malware can arrive on a machine: via an exploit; through compromised hardware; or via regular execution of applications and scripts. @@ -32,30 +32,56 @@ From this categorization, we can glean three big types of fileless threats based ##Type I: No file activity performed A completely fileless malware can be considered one that never requires writing a file on the disk. How would such malware infect a machine in the first place? An example scenario could be a target machine receiving malicious network packets that exploit the EternalBlue vulnerability, leading to the installation of the DoublePulsar backdoor, which ends up residing only in the kernel memory. In this case, there is no file or any data written on a file. -Another scenario could involve compromised devices, where malicious code could be hiding in device firmware (such as a BIOS), a USB peripheral (like the BadUSB attack), or even in the firmware of a network card. All these examples do not require a file on the disk in order to run and can theoretically live only in memory, surviving even reboots, disk reformats, and OS reinstalls. -Infections of this type can be extra difficult to detect and remediate. Antivirus products usually don’t have the capability to access firmware for inspection; even if they did, it would be extremely challenging to detect and remediate threats at this level. Because this type of fileless malware requires high levels of sophistication and often depend on particular hardware or software configuration, it’s not an attack vector that can be exploited easily and reliably. For this reason, while extremely dangerous, threats of this type tend to be very uncommon and not practical for most attacks. -Type II: Indirect file activity -There are other ways that malware can achieve fileless presence on a machine without requiring significant engineering effort. Fileless malware of this type don’t directly write files on the file system, but they can end up using files indirectly. This is the case for Poshspy backdoor. Attackers installed a malicious PowerShell command within the WMI repository and configured a WMI filter to run such command periodically. -It’s possible to carry out such installation via command line without requiring the presence of the backdoor to be on a file in the first place. The malware can thus be installed and theoretically run without ever touching the file system. However, the WMI repository is stored on a physical file that is a central storage area managed by the CIM Object Manager and usually contains legitimate data. Therefore, while the infection chain does technically use a physical file, for practical purposes it’s considered a fileless attack given that the WMI repository is a multi-purpose data container that cannot be simply detected and removed. -Type III: Files required to operate -Some malware can have some sort of fileless persistence but not without using files in order to operate. An example for this scenario is Kovter, which creates a shell open verb handler in the registry for a random file extension. This action means that opening a file with such extension will lead to the execution of a script through the legitimate tool mshta.exe. - Figure 10. Kovter’s registry key -When the open verb is invoked, the associated command from the registry is launched, which results in the execution of a small script. This script reads data from a further registry key and executes it, in turn leading to the loading of the final payload. However, to trigger the open verb in the first place, Kovter has to drop a file with the same extension targeted by the verb (in the example above, the extension is .bbf5590fd). It also has to set an auto-run key configured to open such file when the machine starts. -Despite the use of files, and despite the fact that the registry too is stored in physical files, Kovter is considered a fileless threat because the file system is of no practical use: the files with random extension contain junk data that is not usable in verifying the presence of the threat, and the files that store the registry are containers that cannot be detected and deleted if malicious content is present. -Categorizing fileless threats by infection host -Having described the broad categories, we can now dig into the details and provide a breakdown of the infection hosts. This comprehensive classification covers the panorama of what is usually referred to as fileless malware. It drives our efforts to research and develop new protection features that neutralize classes of attacks and ensure malware does not get the upper hand in the arms race. -Exploits -File-based (Type III: executable, Flash, Java, documents): An initial file may exploit the operating system, the browser, the Java engine, the Flash engine, etc. in order to execute a shellcode and deliver a payload in memory. While the payload is fileless, the initial entry vector is a file. -Network-based (Type I): A network communication that takes advantage of a vulnerability in the target machine can achieve code execution in the context of an application or the kernel. An example is WannaCry, which exploits a previously fixed vulnerability in the SMB protocol to deliver a backdoor within the kernel memory. -Hardware -Device-based (Type I: network card, hard disk): Devices like hard disks and network cards require chipsets and dedicated software to function. A software residing and running in the chipset of a device is called a firmware. Although a complex task, the firmware can be infected by malware, as the Equation espionage group has been caught doing. -CPU-based (Type I): Modern CPUs are extremely complex and may include subsystems running firmware for management purposes. Such firmware may be vulnerable to hijacking and allow the execution of malicious code that would hence operate from within the CPU. In December 2017, two researchers reported a vulnerability that can allow attackers to execute code inside the Management Engine (ME) present in any modern CPU from Intel. Meanwhile, the attacker group PLATINUM has been observed to have the capability to use Intel's Active Management Technology (AMT) to perform invisible network communications bypassing the installed operating system. ME and AMT are essentially autonomous micro-computers that live inside the CPU and that operate at a very low level. Because these technologies’ purpose is to provide remote manageability, they have direct access to hardware, are independent of the operating system, and can run even if the computer is turned off. Besides being vulnerable at the firmware level, CPUs could be manufactured with backdoors inserted directly in the hardware circuitry. This attack has been researched and proved possible in the past. Just recently it has been reported that certain models of x86 processors contain a secondary embedded RISC-like CPU core that can effectively provide a backdoor through which regular applications can gain privileged execution. -USB-based (Type I): USB devices of all kinds can be reprogrammed with a malicious firmware capable of interacting with the operating system in nefarious ways. This is the case of the BadUSB technique, demonstrated few years ago, which allows a reprogrammed USB stick to act as a keyboard that sends commands to machines via keystrokes, or as a network card that can redirect traffic at will. -BIOS-based (Type I): A BIOS is a firmware running inside a chipset. It executes when a machine is powered on, initializes the hardware, and then transfers control to the boot sector. It’s a very important component that operates at a very low level and executes before the boot sector. It’s possible to reprogram the BIOS firmware with malicious code, as has happened in the past with the Mebromi rootkit. -Hypervisor-based (Type I): Modern CPUs provide hardware hypervisor support, allowing the operating system to create robust virtual machines. A virtual machine runs in a confined, simulated environment, and is in theory unaware of the emulation. A malware taking over a machine may implement a small hypervisor in order to hide itself outside of the realm of the running operating system. Malware of this kind has been theorized in the past, and eventually real hypervisor rootkits have been observed, although very few are known to date. -Execution and injection -File-based (Type III: executables, DLLs, LNK files, scheduled tasks): This is the standard execution vector. A simple executable can be launched as a first-stage malware to run an additional payload in memory or inject it into other legitimate running processes. -Macro-based (Type III: Office documents): The VBA language is a flexible and powerful tool designed to automate editing tasks and add dynamic functionality to documents. As such, it can be abused by attackers to carry out malicious operations like decoding, running, or injecting an executable payload, or even implementing an entire ransomware, like in the case of qkG. Macros are executed within the context of an Office process (e.g., Winword.exe), and they’re implemented in a scripting language, so there is no binary executable that an antivirus can inspect. While Office apps require explicit consent from the user to execute macros from a document, attackers use social engineering techniques to trick users into allowing macros to execute. -Script-based (Type II: file, service, registry, WMI repo, shell): The JavaScript, VBScript, and PowerShell scripting languages are available by default on Windows platforms. Scripts have the same advantages as macros: they’re textual files (not binary executables) and they run within the context of the interpreter (e.g., wscript.exe, powershell.exe, etc.), which is a clean and legitimate component. Scripts are very versatile; they can be run from a file (e.g., by double-clicking them) or, in some cases, executed directly on the command line of an interpreter. Being able to run on the command line can allow malware to encode malicious command-line scripts as auto-start services inside autorun registry keys as WMI event subscriptions from the WMI repo. Furthermore, an attacker who has gained access to an infected machine may input the script on the command prompt. -Disk-based (Type II: Boot Record): The Boot Record is the first sector of a disk or volume and contains executable code required to start the boot process of the operating system. Threats like Petya are capable of infecting the Boot Record by overwriting it with malicious code, so that when the machine is booted the malware immediately gains control (and in the case of Petya, with disastrous consequences). The Boot Record resides outside the file system, but it’s accessible by the operating system, and modern antivirus products have the capability to scan and restore it. + +Another scenario could involve compromised devices, where malicious code could be hiding in device firmware (such as a BIOS), a USB peripheral (like the BadUSB attack), or even in the firmware of a network card. All these examples do not require a file on the disk in order to run and can theoretically live only in memory, surviving even reboots, disk reformats, and OS reinstalls. + +Infections of this type can be extra difficult to detect and remediate. Antivirus products usually don’t have the capability to access firmware for inspection; even if they did, it would be extremely challenging to detect and remediate threats at this level. Because this type of fileless malware requires high levels of sophistication and often depend on particular hardware or software configuration, it’s not an attack vector that can be exploited easily and reliably. For this reason, while extremely dangerous, threats of this type tend to be very uncommon and not practical for most attacks. + +##Type II: Indirect file activity + +There are other ways that malware can achieve fileless presence on a machine without requiring significant engineering effort. Fileless malware of this type don’t directly write files on the file system, but they can end up using files indirectly. This is the case for Poshspy backdoor. Attackers installed a malicious PowerShell command within the WMI repository and configured a WMI filter to run such command periodically. + +It’s possible to carry out such installation via command line without requiring the presence of the backdoor to be on a file in the first place. The malware can thus be installed and theoretically run without ever touching the file system. However, the WMI repository is stored on a physical file that is a central storage area managed by the CIM Object Manager and usually contains legitimate data. Therefore, while the infection chain does technically use a physical file, for practical purposes it’s considered a fileless attack given that the WMI repository is a multi-purpose data container that cannot be simply detected and removed. + +##Type III: Files required to operate + +Some malware can have some sort of fileless persistence but not without using files in order to operate. An example for this scenario is Kovter, which creates a shell open verb handler in the registry for a random file extension. This action means that opening a file with such extension will lead to the execution of a script through the legitimate tool mshta.exe. + +*Figure. Kovter’s registry key* + +When the open verb is invoked, the associated command from the registry is launched, which results in the execution of a small script. This script reads data from a further registry key and executes it, in turn leading to the loading of the final payload. However, to trigger the open verb in the first place, Kovter has to drop a file with the same extension targeted by the verb (in the example above, the extension is .bbf5590fd). It also has to set an auto-run key configured to open such file when the machine starts. + +Despite the use of files, and despite the fact that the registry too is stored in physical files, Kovter is considered a fileless threat because the file system is of no practical use: the files with random extension contain junk data that is not usable in verifying the presence of the threat, and the files that store the registry are containers that cannot be detected and deleted if malicious content is present. + +##Categorizing fileless threats by infection host + +Having described the broad categories, we can now dig into the details and provide a breakdown of the infection hosts. This comprehensive classification covers the panorama of what is usually referred to as fileless malware. It drives our efforts to research and develop new protection features that neutralize classes of attacks and ensure malware does not get the upper hand in the arms race. + +###Exploits + +**File-based** (Type III: executable, Flash, Java, documents): An initial file may exploit the operating system, the browser, the Java engine, the Flash engine, etc. in order to execute a shellcode and deliver a payload in memory. While the payload is fileless, the initial entry vector is a file. + +**Network-based** (Type I): A network communication that takes advantage of a vulnerability in the target machine can achieve code execution in the context of an application or the kernel. An example is WannaCry, which exploits a previously fixed vulnerability in the SMB protocol to deliver a backdoor within the kernel memory. + +###Hardware + +**Device-based** (Type I: network card, hard disk): Devices like hard disks and network cards require chipsets and dedicated software to function. A software residing and running in the chipset of a device is called a firmware. Although a complex task, the firmware can be infected by malware, as the Equation espionage group has been caught doing. + +**CPU-based** (Type I): Modern CPUs are extremely complex and may include subsystems running firmware for management purposes. Such firmware may be vulnerable to hijacking and allow the execution of malicious code that would hence operate from within the CPU. In December 2017, two researchers reported a vulnerability that can allow attackers to execute code inside the Management Engine (ME) present in any modern CPU from Intel. Meanwhile, the attacker group PLATINUM has been observed to have the capability to use Intel's Active Management Technology (AMT) to perform invisible network communications bypassing the installed operating system. ME and AMT are essentially autonomous micro-computers that live inside the CPU and that operate at a very low level. Because these technologies’ purpose is to provide remote manageability, they have direct access to hardware, are independent of the operating system, and can run even if the computer is turned off. Besides being vulnerable at the firmware level, CPUs could be manufactured with backdoors inserted directly in the hardware circuitry. This attack has been researched and proved possible in the past. Just recently it has been reported that certain models of x86 processors contain a secondary embedded RISC-like CPU core that can effectively provide a backdoor through which regular applications can gain privileged execution. + +**USB-based** (Type I): USB devices of all kinds can be reprogrammed with a malicious firmware capable of interacting with the operating system in nefarious ways. This is the case of the BadUSB technique, demonstrated few years ago, which allows a reprogrammed USB stick to act as a keyboard that sends commands to machines via keystrokes, or as a network card that can redirect traffic at will. + +**BIOS-based** (Type I): A BIOS is a firmware running inside a chipset. It executes when a machine is powered on, initializes the hardware, and then transfers control to the boot sector. It’s a very important component that operates at a very low level and executes before the boot sector. It’s possible to reprogram the BIOS firmware with malicious code, as has happened in the past with the Mebromi rootkit. + +**Hypervisor-based** (Type I): Modern CPUs provide hardware hypervisor support, allowing the operating system to create robust virtual machines. A virtual machine runs in a confined, simulated environment, and is in theory unaware of the emulation. A malware taking over a machine may implement a small hypervisor in order to hide itself outside of the realm of the running operating system. Malware of this kind has been theorized in the past, and eventually real hypervisor rootkits have been observed, although very few are known to date. + +###Execution and injection + +**File-based** (Type III: executables, DLLs, LNK files, scheduled tasks): This is the standard execution vector. A simple executable can be launched as a first-stage malware to run an additional payload in memory or inject it into other legitimate running processes. + +**Macro-based** (Type III: Office documents): The VBA language is a flexible and powerful tool designed to automate editing tasks and add dynamic functionality to documents. As such, it can be abused by attackers to carry out malicious operations like decoding, running, or injecting an executable payload, or even implementing an entire ransomware, like in the case of qkG. Macros are executed within the context of an Office process (e.g., Winword.exe), and they’re implemented in a scripting language, so there is no binary executable that an antivirus can inspect. While Office apps require explicit consent from the user to execute macros from a document, attackers use social engineering techniques to trick users into allowing macros to execute. + +**Script-based** (Type II: file, service, registry, WMI repo, shell): The JavaScript, VBScript, and PowerShell scripting languages are available by default on Windows platforms. Scripts have the same advantages as macros: they’re textual files (not binary executables) and they run within the context of the interpreter (e.g., wscript.exe, powershell.exe, etc.), which is a clean and legitimate component. Scripts are very versatile; they can be run from a file (e.g., by double-clicking them) or, in some cases, executed directly on the command line of an interpreter. Being able to run on the command line can allow malware to encode malicious command-line scripts as auto-start services inside autorun registry keys as WMI event subscriptions from the WMI repo. Furthermore, an attacker who has gained access to an infected machine may input the script on the command prompt. + +**Disk-based** (Type II: Boot Record): The Boot Record is the first sector of a disk or volume and contains executable code required to start the boot process of the operating system. Threats like Petya are capable of infecting the Boot Record by overwriting it with malicious code, so that when the machine is booted the malware immediately gains control (and in the case of Petya, with disastrous consequences). The Boot Record resides outside the file system, but it’s accessible by the operating system, and modern antivirus products have the capability to scan and restore it. From 3e65447da29278a8dcbc283374180b98c808b664 Mon Sep 17 00:00:00 2001 From: Eric Avena Date: Fri, 14 Sep 2018 00:16:35 +0000 Subject: [PATCH 53/60] Updated fileless-threats.md updated meta --- .../security/threat-protection/intelligence/fileless-threats.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/windows/security/threat-protection/intelligence/fileless-threats.md b/windows/security/threat-protection/intelligence/fileless-threats.md index c4f9f7dc4c..aef2a71d9b 100644 --- a/windows/security/threat-protection/intelligence/fileless-threats.md +++ b/windows/security/threat-protection/intelligence/fileless-threats.md @@ -1,7 +1,7 @@ --- title: Fileless threats description: Fileless threats -keywords: security, malware, coin miners, protection, cryptocurrencies +keywords: fileless, AMSI, behavior monitoring, memory scanning, boot sector protection, security, malware, Windows Defender ATP, antivirus, AV ms.prod: w10 ms.mktglfcycl: secure ms.sitesec: library From 0a9f5243d8cf4639b132bd06c3bea0e5332dec3e Mon Sep 17 00:00:00 2001 From: Jeanie Decker Date: Fri, 14 Sep 2018 14:45:46 +0000 Subject: [PATCH 54/60] Merged PR 11308: add content moved from hardware customizations --- windows/configuration/TOC.md | 1 + ...change-history-for-configure-windows-10.md | 8 +- ...ation-user-model-id-of-an-installed-app.md | 95 +++++++++++ .../kiosk-additional-reference.md | 5 +- windows/configuration/kiosk-prepare.md | 148 +++++++++++++++++- 5 files changed, 253 insertions(+), 4 deletions(-) create mode 100644 windows/configuration/find-the-application-user-model-id-of-an-installed-app.md diff --git a/windows/configuration/TOC.md b/windows/configuration/TOC.md index f0a6f2503a..b388b128cd 100644 --- a/windows/configuration/TOC.md +++ b/windows/configuration/TOC.md @@ -7,6 +7,7 @@ ### [Set up a single-app kiosk](kiosk-single-app.md) ### [Set up a multi-app kiosk](lock-down-windows-10-to-specific-apps.md) ### [More kiosk methods and reference information](kiosk-additional-reference.md) +#### [Find the Application User Model ID of an installed app](find-the-application-user-model-id-of-an-installed-app.md) #### [Validate your kiosk configuration](kiosk-validate.md) #### [Guidelines for choosing an app for assigned access (kiosk mode)](guidelines-for-assigned-access-app.md) #### [Policies enforced on kiosk devices](kiosk-policies.md) diff --git a/windows/configuration/change-history-for-configure-windows-10.md b/windows/configuration/change-history-for-configure-windows-10.md index 6ec85f01c1..b16671c047 100644 --- a/windows/configuration/change-history-for-configure-windows-10.md +++ b/windows/configuration/change-history-for-configure-windows-10.md @@ -10,13 +10,19 @@ ms.localizationpriority: medium author: jdeckerms ms.author: jdecker ms.topic: article -ms.date: 08/03/2018 +ms.date: 09/13/2018 --- # Change history for Configure Windows 10 This topic lists new and updated topics in the [Configure Windows 10](index.md) documentation for Windows 10 and Windows 10 Mobile. +## September 2018 + +New or changed topic | Description +--- | --- +[Find the Application User Model ID of an installed app](find-the-application-user-model-id-of-an-installed-app.md) | New + ## August 2018 New or changed topic | Description diff --git a/windows/configuration/find-the-application-user-model-id-of-an-installed-app.md b/windows/configuration/find-the-application-user-model-id-of-an-installed-app.md new file mode 100644 index 0000000000..9234ee8d90 --- /dev/null +++ b/windows/configuration/find-the-application-user-model-id-of-an-installed-app.md @@ -0,0 +1,95 @@ +--- +title: Find the Application User Model ID of an installed app +description: In order to use assigned access with Mobile Device Management (MDM), you must know the Application User Model ID (AUMID) of Microsoft Store apps installed on a device. You can find the AUMID by either using Windows PowerShell or querying the registry. +MSHAttr: +- 'PreferredSiteName:MSDN' +- 'PreferredLib:/library/windows/hardware' +ms.assetid: BD8BD003-887D-4EFD-9C7A-A68AB895D8CD +author: alhopper-msft +ms.author: alhopper +ms.date: 05/02/2017 +ms.topic: article +ms.prod: windows-hardware +ms.technology: windows-oem +--- +# Find the Application User Model ID of an installed app + +In order to use assigned access with Mobile Device Management (MDM), you must know the Application User Model ID (AUMID) of Microsoft Store apps installed on a device. You can find the AUMID by either using Windows PowerShell or querying the registry. + +## To identify the AUMID of an installed app by using Windows PowerShell + +At a Windows PowerShell command prompt, type the following commands to list the AUMIDs for all Microsoft Store apps installed for the current user on your device: + +```powershell +$installedapps = get-AppxPackage + +$aumidList = @() +foreach ($app in $installedapps) +{ + foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id) + { + $aumidList += $app.packagefamilyname + "!" + $id + } +} + +$aumidList +``` + +You can add the –user <username> or the –allusers parameters to the get-AppxPackage cmdlet to list AUMIDs for other users. You must use an elevated Windows PowerShell prompt to use the –user or –allusers parameters. + +## To identify the AUMID of an installed app for the current user by using the registry + +Querying the registry can only return information about Microsoft Store apps that are installed for the current user, while the Windows PowerShell query can find information for any account on the device. + +At a command prompt, type the following command: + +`reg query HKEY_CURRENT_USER\Software\Classes\ActivatableClasses\Package /s /f AppUserModelID | find "REG_SZ"` + +## Example + +The following code sample creates a function in Windows PowerShell that returns an array of AUMIDs of the installed apps for the specified user. + +```powershell +function listAumids( $userAccount ) { + + if ($userAccount -eq "allusers") + { + # Find installed packages for all accounts. Must be run as an administrator in order to use this option. + $installedapps = Get-AppxPackage -allusers + } + elseif ($userAccount) + { + # Find installed packages for the specified account. Must be run as an administrator in order to use this option. + $installedapps = get-AppxPackage -user $userAccount + } + else + { + # Find installed packages for the current account. + $installedapps = get-AppxPackage + } + + $aumidList = @() + foreach ($app in $installedapps) + { + foreach ($id in (Get-AppxPackageManifest $app).package.applications.application.id) + { + $aumidList += $app.packagefamilyname + "!" + $id + } + } + + return $aumidList +} +``` + +The following Windows PowerShell commands demonstrate how you can call the listAumids function after you have created it. + +```powershell +# Get a list of AUMIDs for the current account: +listAumids + +# Get a list of AUMIDs for an account named “CustomerAccount”: +listAumids(“CustomerAccount”) + +# Get a list of AUMIDs for all accounts on the device: +listAumids(“allusers”) +``` diff --git a/windows/configuration/kiosk-additional-reference.md b/windows/configuration/kiosk-additional-reference.md index 8260c569cf..9675c42d2c 100644 --- a/windows/configuration/kiosk-additional-reference.md +++ b/windows/configuration/kiosk-additional-reference.md @@ -8,7 +8,7 @@ ms.mktglfcycl: manage ms.sitesec: library author: jdeckerms ms.localizationpriority: medium -ms.date: 07/30/2018 +ms.date: 09/13/2018 --- # More kiosk methods and reference information @@ -23,7 +23,8 @@ ms.date: 07/30/2018 Topic | Description --- | --- -[Validate your kiosk configuration](kiosk-validate.md) | This topic explain what to expect on a multi-app kiosk. +[Find the Application User Model ID of an installed app](find-the-application-user-model-id-of-an-installed-app.md) | This topic explains how to get the AUMID for an app. +[Validate your kiosk configuration](kiosk-validate.md) | This topic explains what to expect on a multi-app kiosk. [Guidelines for choosing an app for assigned access (kiosk mode)](guidelines-for-assigned-access-app.md) | These guidelines will help you choose an appropriate Windows app for your assigned access experience. [Policies enforced on kiosk devices](kiosk-policies.md) | Learn about the policies enforced on a device when you configure it as a kiosk. [Assigned access XML reference](kiosk-xml.md) | The XML and XSD for kiosk device configuration. diff --git a/windows/configuration/kiosk-prepare.md b/windows/configuration/kiosk-prepare.md index 1a38681d7c..e4e836e249 100644 --- a/windows/configuration/kiosk-prepare.md +++ b/windows/configuration/kiosk-prepare.md @@ -37,6 +37,8 @@ Disable the camera. | Go to **Settings** > **Privacy** > **Camera**, a Turn off app notifications on the lock screen. | Go to **Group Policy Editor** > **Computer Configuration** > **Administrative Templates\\System\\Logon\\Turn off app notifications on the lock screen**. Disable removable media. | Go to **Group Policy Editor** > **Computer Configuration** > **Administrative Templates\\System\\Device Installation\\Device Installation Restrictions**. Review the policy settings available in **Device Installation Restrictions** for the settings applicable to your situation.

**NOTE**: To prevent this policy from affecting a member of the Administrators group, in **Device Installation Restrictions**, enable **Allow administrators to override Device Installation Restriction policies**. +## Automatic logon + In addition to the settings in the table, you may want to set up **automatic logon** for your kiosk device. When your kiosk device restarts, whether from an update or power outage, you can sign in the assigned access account manually or you can configure the device to sign in to the assigned access account automatically. Make sure that Group Policy settings applied to the device do not prevent automatic sign in. >[!TIP] @@ -74,7 +76,151 @@ In addition to the settings in the table, you may want to set up **automatic log >You can also configure automatic sign-in [using the Autologon tool from Sysinternals](https://docs.microsoft.com/sysinternals/downloads/autologon). - +## Interactions and interoperability + +The following table describes some features that have interoperability issues we recommend that you consider when running assigned access. + +> [!Note] +> Where applicable, the table notes which features are optional that you can configure for assigned access. + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
FeatureDescription

Accessibility

Assigned access does not change Ease of Access settings.

+

We recommend that you use [Keyboard Filter](https://docs.microsoft.com/windows-hardware/customize/enterprise/keyboardfilter) to block the following key combinations that bring up accessibility features:

+ ++++ + + + + + + + + + + + + + + + + + + + + +
Key combinationBlocked behavior

Left Alt+Left Shift+Print Screen

Open High Contrast dialog box.

Left Alt+Left Shift+Num Lock

Open Mouse Keys dialog box.

Windows logo key+U

Open Ease of Access Center.

+

 

Assigned access Windows PowerShell cmdlets

In addition to using the Windows UI, you can use the Windows PowerShell cmdlets to set or clear assigned access. For more information, see [Assigned access Windows PowerShell reference](https://docs.microsoft.com/powershell/module/assignedaccess/?view=win10-ps).

Key sequences blocked by assigned access

When in assigned access, some key combinations are blocked for assigned access users.

+

Alt+F4, Alt+Shift+TaB, Alt+Tab are not blocked by Assigned Access, it is recommended you use [Keyboard Filter](https://docs.microsoft.com/windows-hardware/customize/enterprise/keyboardfilter) to block these key combinations.

+

Ctrl+Alt+Delete is the key to break out of Assigned Access. If needed, you can use Keyboard Filter to configure a different key combination to break out of assigned access by setting BreakoutKeyScanCode as described in [WEKF_Settings](https://docs.microsoft.com/windows-hardware/customize/enterprise/wekf-settings).

+ ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Key combinationBlocked behavior for assigned access users

Alt+Esc

Cycle through items in the reverse order from which they were opened.

Ctrl+Alt+Esc

Cycle through items in the reverse order from which they were opened.

Ctrl+Esc

Open the Start screen.

Ctrl+F4

Close the window.

Ctrl+Shift+Esc

Open Task Manager.

Ctrl+Tab

Switch windows within the application currently open.

LaunchApp1

Open the app that is assigned to this key.

LaunchApp2

Open the app that is assigned to this key, which on many Microsoft keyboards is Calculator.

LaunchMail

Open the default mail client.

Windows logo key

Open the Start screen.

+

 

+

Keyboard Filter settings apply to other standard accounts.

Key sequences blocked by [Keyboard Filter](https://docs.microsoft.com/windows-hardware/customize/enterprise/keyboardfilter)

If Keyboard Filter is turned ON then some key combinations are blocked automatically without you having to explicitly block them. For more information, see the [Keyboard Filter](https://docs.microsoft.com/windows-hardware/customize/enterprise/keyboardfilter) reference topic.

+

[Keyboard Filter](https://docs.microsoft.com/windows-hardware/customize/enterprise/keyboardfilter) is only available on Windows 10 Enterprise or Windows 10 Education.

+

Power button

Customizations for the Power button complement assigned access, letting you implement features such as removing the power button from the Welcome screen. Removing the power button ensures the user cannot turn off the device when it is in assigned access.

+

For more information on removing the power button or disabling the physical power button, see [Custom Logon](https://docs.microsoft.com/windows-hardware/customize/enterprise/custom-logon).

Unified Write Filter (UWF)

UWFsettings apply to all users, including those with assigned access.

+

For more information, see [Unified Write Filter](https://docs.microsoft.com/windows-hardware/customize/enterprise/unified-write-filter).

WEDL_AssignedAccess class

Although you can use this class to configure and manage basic lockdown features for assigned access, we recommend that you use the Windows PowerShell cmdlets instead.

+

If you need to use assigned access API, see [WEDL_AssignedAccess](whttps://docs.microsoft.com/windows-hardware/customize/enterprise/wedl-assignedaccess).

Welcome Screen

Customizations for the Welcome screen let you personalize not only how the Welcome screen looks, but for how it functions. You can disable the power or language button, or remove all user interface elements. There are many options to make the Welcome screen your own.

+

For more information, see [Custom Logon](https://docs.microsoft.com/windows-hardware/customize/enterprise/custom-logon).

From 39c6fc9992a2f08ec9a8489d856d2121dfc9cda4 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 14 Sep 2018 15:05:59 -0700 Subject: [PATCH 55/60] add in images and links --- .../intelligence/fileless-threats.md | 32 ++++++++++-------- .../intelligence/images/fileless-malware.png | Bin 0 -> 236382 bytes .../intelligence/images/kovter-reg-key.png | Bin 0 -> 47256 bytes 3 files changed, 18 insertions(+), 14 deletions(-) create mode 100644 windows/security/threat-protection/intelligence/images/fileless-malware.png create mode 100644 windows/security/threat-protection/intelligence/images/kovter-reg-key.png diff --git a/windows/security/threat-protection/intelligence/fileless-threats.md b/windows/security/threat-protection/intelligence/fileless-threats.md index aef2a71d9b..110687b96b 100644 --- a/windows/security/threat-protection/intelligence/fileless-threats.md +++ b/windows/security/threat-protection/intelligence/fileless-threats.md @@ -1,22 +1,25 @@ --- title: Fileless threats -description: Fileless threats -keywords: fileless, AMSI, behavior monitoring, memory scanning, boot sector protection, security, malware, Windows Defender ATP, antivirus, AV +description: Learn about fileless threats, its categories, and how it runs +keywords: fileless, amsi, behavior monitoring, memory scanning, boot sector protection, security, malware, Windows Defender ATP, antivirus, AV ms.prod: w10 ms.mktglfcycl: secure ms.sitesec: library ms.localizationpriority: medium ms.author: eravena author: eavena -ms.date: 09/12/2018 +ms.date: 09/14/2018 --- #Fileless threats -The term "fileless" would suggest that it refers to a threat that does not come in a file, such as a backdoor that lives only in the memory of a machine. However, there’s no generally accepted definition. The terms is used broadly; it’s also used to describe malware families that do rely on files in order to operate. In the Sharpshooter example, while the payload itself is fileless, the entry point relies on a script that needs to be dropped on the target’s machine and executed. This, too, is considered a fileless attack. +What exactly is a fileless threat? The term "fileless" suggests that a threat that does not come in a file, such as a backdoor that lives only in the memory of a machine. However, there's no generally accepted definition. The terms is used broadly; it's also used to describe malware families that do rely on files in order to operate. In the Sharpshooter example, while the payload itself is fileless, the entry point relies on scripts that need to be dropped on the target’s machine and executed. This, too, is considered a fileless attack. -To shed light on this loaded term, we can break down fileless threats into different categories. This categorization maps to Windows Defender ATP protections. +Given that attacks involve [several stages](https://attack.mitre.org/wiki/ATT&CK_Matrix) for functionalities like execution, persistence, information theft, lateral movement, communication with command-and-control, etc., some parts of the attack chain may be fileless, while others may involve the filesystem in some form or another. +To shed light on this loaded term, we grouped fileless threats into different categories. + +![Comprehensive diagram of fileless malware](images/fileless-malware.png) *Figure. Comprehensive diagram of fileless malware* First, we can classify the entry point (inner circle in the diagram), which indicates how fileless malware can arrive on a machine: via an exploit; through compromised hardware; or via regular execution of applications and scripts. @@ -39,7 +42,7 @@ Infections of this type can be extra difficult to detect and remediate. Antiviru ##Type II: Indirect file activity -There are other ways that malware can achieve fileless presence on a machine without requiring significant engineering effort. Fileless malware of this type don’t directly write files on the file system, but they can end up using files indirectly. This is the case for Poshspy backdoor. Attackers installed a malicious PowerShell command within the WMI repository and configured a WMI filter to run such command periodically. +There are other ways that malware can achieve fileless presence on a machine without requiring significant engineering effort. Fileless malware of this type don’t directly write files on the file system, but they can end up using files indirectly. This is the case for [Poshspy backdoor](https://www.fireeye.com/blog/threat-research/2017/03/dissecting_one_ofap.html). Attackers installed a malicious PowerShell command within the WMI repository and configured a WMI filter to run such command periodically. It’s possible to carry out such installation via command line without requiring the presence of the backdoor to be on a file in the first place. The malware can thus be installed and theoretically run without ever touching the file system. However, the WMI repository is stored on a physical file that is a central storage area managed by the CIM Object Manager and usually contains legitimate data. Therefore, while the infection chain does technically use a physical file, for practical purposes it’s considered a fileless attack given that the WMI repository is a multi-purpose data container that cannot be simply detected and removed. @@ -47,6 +50,7 @@ It’s possible to carry out such installation via command line without requirin Some malware can have some sort of fileless persistence but not without using files in order to operate. An example for this scenario is Kovter, which creates a shell open verb handler in the registry for a random file extension. This action means that opening a file with such extension will lead to the execution of a script through the legitimate tool mshta.exe. +![Image of Kovter's registry key](images/kovter-reg-key.png) *Figure. Kovter’s registry key* When the open verb is invoked, the associated command from the registry is launched, which results in the execution of a small script. This script reads data from a further registry key and executes it, in turn leading to the loading of the final payload. However, to trigger the open verb in the first place, Kovter has to drop a file with the same extension targeted by the verb (in the example above, the extension is .bbf5590fd). It also has to set an auto-run key configured to open such file when the machine starts. @@ -65,23 +69,23 @@ Having described the broad categories, we can now dig into the details and provi ###Hardware -**Device-based** (Type I: network card, hard disk): Devices like hard disks and network cards require chipsets and dedicated software to function. A software residing and running in the chipset of a device is called a firmware. Although a complex task, the firmware can be infected by malware, as the Equation espionage group has been caught doing. +**Device-based** (Type I: network card, hard disk): Devices like hard disks and network cards require chipsets and dedicated software to function. A software residing and running in the chipset of a device is called a firmware. Although a complex task, the firmware can be infected by malware, as the [Equation espionage group has been caught doing](https://www.kaspersky.com/blog/equation-hdd-malware/7623/). -**CPU-based** (Type I): Modern CPUs are extremely complex and may include subsystems running firmware for management purposes. Such firmware may be vulnerable to hijacking and allow the execution of malicious code that would hence operate from within the CPU. In December 2017, two researchers reported a vulnerability that can allow attackers to execute code inside the Management Engine (ME) present in any modern CPU from Intel. Meanwhile, the attacker group PLATINUM has been observed to have the capability to use Intel's Active Management Technology (AMT) to perform invisible network communications bypassing the installed operating system. ME and AMT are essentially autonomous micro-computers that live inside the CPU and that operate at a very low level. Because these technologies’ purpose is to provide remote manageability, they have direct access to hardware, are independent of the operating system, and can run even if the computer is turned off. Besides being vulnerable at the firmware level, CPUs could be manufactured with backdoors inserted directly in the hardware circuitry. This attack has been researched and proved possible in the past. Just recently it has been reported that certain models of x86 processors contain a secondary embedded RISC-like CPU core that can effectively provide a backdoor through which regular applications can gain privileged execution. +**CPU-based** (Type I): Modern CPUs are extremely complex and may include subsystems running firmware for management purposes. Such firmware may be vulnerable to hijacking and allow the execution of malicious code that would hence operate from within the CPU. In December 2017, two researchers reported a vulnerability that can allow attackers to execute code inside the [Management Engine (ME)](https://en.wikipedia.org/wiki/Intel_Management_Engine) present in any modern CPU from Intel. Meanwhile, the attacker group PLATINUM has been observed to have the capability to use Intel's [Active Management Technology (AMT)](https://en.wikipedia.org/wiki/Intel_Active_Management_Technology) to perform [invisible network communications](https://cloudblogs.microsoft.com/microsoftsecure/2017/06/07/platinum-continues-to-evolve-find-ways-to-maintain-invisibility/) bypassing the installed operating system. ME and AMT are essentially autonomous micro-computers that live inside the CPU and that operate at a very low level. Because these technologies’ purpose is to provide remote manageability, they have direct access to hardware, are independent of the operating system, and can run even if the computer is turned off. Besides being vulnerable at the firmware level, CPUs could be manufactured with backdoors inserted directly in the hardware circuitry. This attack has been [researched and proved possible](https://www.emsec.rub.de/media/crypto/veroeffentlichungen/2015/03/19/beckerStealthyExtended.pdf) in the past. Just recently it has been reported that certain models of x86 processors contain a secondary embedded RISC-like CPU core that can [effectively provide a backdoor](https://www.theregister.co.uk/2018/08/10/via_c3_x86_processor_backdoor/) through which regular applications can gain privileged execution. -**USB-based** (Type I): USB devices of all kinds can be reprogrammed with a malicious firmware capable of interacting with the operating system in nefarious ways. This is the case of the BadUSB technique, demonstrated few years ago, which allows a reprogrammed USB stick to act as a keyboard that sends commands to machines via keystrokes, or as a network card that can redirect traffic at will. +**USB-based** (Type I): USB devices of all kinds can be reprogrammed with a malicious firmware capable of interacting with the operating system in nefarious ways. This is the case of the [BadUSB technique](https://arstechnica.com/information-technology/2014/07/this-thumbdrive-hacks-computers-badusb-exploit-makes-devices-turn-evil/), demonstrated few years ago, which allows a reprogrammed USB stick to act as a keyboard that sends commands to machines via keystrokes, or as a network card that can redirect traffic at will. -**BIOS-based** (Type I): A BIOS is a firmware running inside a chipset. It executes when a machine is powered on, initializes the hardware, and then transfers control to the boot sector. It’s a very important component that operates at a very low level and executes before the boot sector. It’s possible to reprogram the BIOS firmware with malicious code, as has happened in the past with the Mebromi rootkit. +**BIOS-based** (Type I): A BIOS is a firmware running inside a chipset. It executes when a machine is powered on, initializes the hardware, and then transfers control to the boot sector. It’s a very important component that operates at a very low level and executes before the boot sector. It’s possible to reprogram the BIOS firmware with malicious code, as has happened in the past with the [Mebromi rootkit](https://www.webroot.com/blog/2011/09/13/mebromi-the-first-bios-rootkit-in-the-wild/). -**Hypervisor-based** (Type I): Modern CPUs provide hardware hypervisor support, allowing the operating system to create robust virtual machines. A virtual machine runs in a confined, simulated environment, and is in theory unaware of the emulation. A malware taking over a machine may implement a small hypervisor in order to hide itself outside of the realm of the running operating system. Malware of this kind has been theorized in the past, and eventually real hypervisor rootkits have been observed, although very few are known to date. +**Hypervisor-based** (Type I): Modern CPUs provide hardware hypervisor support, allowing the operating system to create robust virtual machines. A virtual machine runs in a confined, simulated environment, and is in theory unaware of the emulation. A malware taking over a machine may implement a small hypervisor in order to hide itself outside of the realm of the running operating system. Malware of this kind has been theorized in the past, and eventually real hypervisor rootkits [have been observed](http://seclists.org/fulldisclosure/2017/Jun/29), although very few are known to date. ###Execution and injection **File-based** (Type III: executables, DLLs, LNK files, scheduled tasks): This is the standard execution vector. A simple executable can be launched as a first-stage malware to run an additional payload in memory or inject it into other legitimate running processes. -**Macro-based** (Type III: Office documents): The VBA language is a flexible and powerful tool designed to automate editing tasks and add dynamic functionality to documents. As such, it can be abused by attackers to carry out malicious operations like decoding, running, or injecting an executable payload, or even implementing an entire ransomware, like in the case of qkG. Macros are executed within the context of an Office process (e.g., Winword.exe), and they’re implemented in a scripting language, so there is no binary executable that an antivirus can inspect. While Office apps require explicit consent from the user to execute macros from a document, attackers use social engineering techniques to trick users into allowing macros to execute. +**Macro-based** (Type III: Office documents): The [VBA language](https://msdn.microsoft.com/en-us/vba/office-shared-vba/articles/getting-started-with-vba-in-office) is a flexible and powerful tool designed to automate editing tasks and add dynamic functionality to documents. As such, it can be abused by attackers to carry out malicious operations like decoding, running, or injecting an executable payload, or even implementing an entire ransomware, like in [the case of qkG](https://blog.trendmicro.com/trendlabs-security-intelligence/qkg-filecoder-self-replicating-document-encrypting-ransomware/). Macros are executed within the context of an Office process (e.g., Winword.exe), and they’re implemented in a scripting language, so there is no binary executable that an antivirus can inspect. While Office apps require explicit consent from the user to execute macros from a document, attackers use social engineering techniques to trick users into allowing macros to execute. -**Script-based** (Type II: file, service, registry, WMI repo, shell): The JavaScript, VBScript, and PowerShell scripting languages are available by default on Windows platforms. Scripts have the same advantages as macros: they’re textual files (not binary executables) and they run within the context of the interpreter (e.g., wscript.exe, powershell.exe, etc.), which is a clean and legitimate component. Scripts are very versatile; they can be run from a file (e.g., by double-clicking them) or, in some cases, executed directly on the command line of an interpreter. Being able to run on the command line can allow malware to encode malicious command-line scripts as auto-start services inside autorun registry keys as WMI event subscriptions from the WMI repo. Furthermore, an attacker who has gained access to an infected machine may input the script on the command prompt. +**Script-based** (Type II: file, service, registry, WMI repo, shell): The JavaScript, VBScript, and PowerShell scripting languages are available by default on Windows platforms. Scripts have the same advantages as macros: they’re textual files (not binary executables) and they run within the context of the interpreter (e.g., wscript.exe, powershell.exe, etc.), which is a clean and legitimate component. Scripts are very versatile; they can be run from a file (e.g., by double-clicking them) or, in some cases, executed directly on the command line of an interpreter. Being able to run on the command line can allow malware to encode malicious command-line scripts as auto-start services inside [autorun registry keys](https://www.gdatasoftware.com/blog/2014/07/23947-poweliks-the-persistent-malware-without-a-file) as [WMI event subscriptions](https://www.fireeye.com/blog/threat-research/2017/03/dissecting_one_ofap.html) from the WMI repo. Furthermore, an attacker who has gained access to an infected machine may input the script on the command prompt. -**Disk-based** (Type II: Boot Record): The Boot Record is the first sector of a disk or volume and contains executable code required to start the boot process of the operating system. Threats like Petya are capable of infecting the Boot Record by overwriting it with malicious code, so that when the machine is booted the malware immediately gains control (and in the case of Petya, with disastrous consequences). The Boot Record resides outside the file system, but it’s accessible by the operating system, and modern antivirus products have the capability to scan and restore it. +**Disk-based** (Type II: Boot Record): The [Boot Record](https://en.wikipedia.org/wiki/Boot_sector) is the first sector of a disk or volume and contains executable code required to start the boot process of the operating system. Threats like [Petya](https://cloudblogs.microsoft.com/microsoftsecure/2017/06/27/new-ransomware-old-techniques-petya-adds-worm-capabilities/?source=mmpc) are capable of infecting the Boot Record by overwriting it with malicious code, so that when the machine is booted the malware immediately gains control (and in the case of Petya, with disastrous consequences). The Boot Record resides outside the file system, but it’s accessible by the operating system, and modern antivirus products have the capability to scan and restore it. diff --git a/windows/security/threat-protection/intelligence/images/fileless-malware.png b/windows/security/threat-protection/intelligence/images/fileless-malware.png new file mode 100644 index 0000000000000000000000000000000000000000..f393bd77ba22d08ffdf5a2df9fd724f3f919e92e GIT binary patch literal 236382 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

bA4S%?gOR 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 literal 0 HcmV?d00001 diff --git a/windows/security/threat-protection/intelligence/images/kovter-reg-key.png b/windows/security/threat-protection/intelligence/images/kovter-reg-key.png new file mode 100644 index 0000000000000000000000000000000000000000..8da19269611dcc7cfeba9ca4e2c186b1aa5eb989 GIT binary patch literal 47256 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 literal 0 HcmV?d00001 From 8e4fe7c63c8434c12c819e6144b6ba22e07c829b Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 14 Sep 2018 15:07:46 -0700 Subject: [PATCH 56/60] add figure numbers --- .../threat-protection/intelligence/fileless-threats.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/intelligence/fileless-threats.md b/windows/security/threat-protection/intelligence/fileless-threats.md index 110687b96b..33654a0999 100644 --- a/windows/security/threat-protection/intelligence/fileless-threats.md +++ b/windows/security/threat-protection/intelligence/fileless-threats.md @@ -20,7 +20,7 @@ Given that attacks involve [several stages](https://attack.mitre.org/wiki/ATT&CK To shed light on this loaded term, we grouped fileless threats into different categories. ![Comprehensive diagram of fileless malware](images/fileless-malware.png) -*Figure. Comprehensive diagram of fileless malware* +*Figure 1. Comprehensive diagram of fileless malware* First, we can classify the entry point (inner circle in the diagram), which indicates how fileless malware can arrive on a machine: via an exploit; through compromised hardware; or via regular execution of applications and scripts. @@ -51,7 +51,7 @@ It’s possible to carry out such installation via command line without requirin Some malware can have some sort of fileless persistence but not without using files in order to operate. An example for this scenario is Kovter, which creates a shell open verb handler in the registry for a random file extension. This action means that opening a file with such extension will lead to the execution of a script through the legitimate tool mshta.exe. ![Image of Kovter's registry key](images/kovter-reg-key.png) -*Figure. Kovter’s registry key* +*Figure 2. Kovter’s registry key* When the open verb is invoked, the associated command from the registry is launched, which results in the execution of a small script. This script reads data from a further registry key and executes it, in turn leading to the loading of the final payload. However, to trigger the open verb in the first place, Kovter has to drop a file with the same extension targeted by the verb (in the example above, the extension is .bbf5590fd). It also has to set an auto-run key configured to open such file when the machine starts. From 42823b324940cacdf362f62dbd3b0c41b0cd8335 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 14 Sep 2018 15:14:45 -0700 Subject: [PATCH 57/60] update images --- .../intelligence/images/fileless-malware.png | Bin 236382 -> 235045 bytes .../intelligence/images/kovter-reg-key.png | Bin 47256 -> 66124 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/security/threat-protection/intelligence/images/fileless-malware.png b/windows/security/threat-protection/intelligence/images/fileless-malware.png index f393bd77ba22d08ffdf5a2df9fd724f3f919e92e..e59e825931107baf41e34a5b475b1f4d9bc97930 100644 GIT binary patch literal 235045 zcmY(pby$?$_dN_E-Ho(#cc(~+G>9}vcXxwQf`HQ9A>G}rbPq5z(lK-n@Vn>vzMnr{ zuS;gGGiUDEXP(VB^wG&OWX-R@Uxt71(1Uz$n&#qplVvu&LDUHVzhW z{I}Ssz$d7%Pc)q@-Mvg)E#M5DUtrVG|9iNNo0+`{Fx3^Vxu+ox7)F5&Yn!+_+BjOl z^^omG0AtAi_k9mnGYh!umv2Y^n>`9j@Y!p#h_U{2@Aq1*j?QyiAOG zLEQJ+!R&!5bu*a)B(jg38b$T?8EKl3y*OT8cf&8lo}0dpeTJ5nRujh@?U&*p598*W zvwm#WP@MNDZ-GCN-$GH(Iw1j0K~xdI&~#zty1m=OI4`qOs+j-NJ3Mu>AgXxS+?yWS zII*u?-Po}2S#!8!666-9e1yGUphH0i9(A2-Lz-T!fI|dKz=FdI4FewTJHz)bB%Y29 z_#r;K|8Hojp@yX*F`oLrLAU=6F4oBj{UrbYO1X{phLtbXxmU|lHFLjSGVdgjy33kyb-iOwp^9A0QjIklVaE^Xq-yuDZJs=9c6 zaWS9&&ad&}zzuvRs+S|*!g-Fh^`$4f<dAZ5m+*HFc=_Xgp!lTiV zi?nRh$EE-?Z&^y-p+-STOlf8N z(?}m=_-D1rwhdy_4prw^E_4P6HY17nGH_YF=Rs<7G=Ei}jXni`RwV<(HeRP&{+%>~h@*J*Y3M zVt*}ReH@-s;!_@;QgSz3w{)ln*6Wh{e`dv5^nb>=d%ZNJcz3IWf0^85#GV22EH7<2 znEF$RyS9_Q&0wjWV--dfe%~|PKaOZaAr8{Z!W;^>+~vTBg&e_up){w+am7Lyw4a=raOn)+Qzp z>Z+kNzQ^sY)jpn;wRveIzIXD=Wq`~1i2t(*ZnJIe-Mx26MDu*xnt|V?6rQgay+LMIFS7!LL1S;m}^cu__}q?F%{9aeNufm|}UDG31E^ftC(VB)*-_PAeyR znHhF|^~t4cwrT8fp5E=(3m?Hj$12$sA#y*@xRvmgu|Ev3o65Z&T?{n1jBTRAC~j)! zAggE&A~RoeDr+9X%S>93n~!()vxC5ri8aiH958dYsDD-7JcMMF?=pY2 z)H<2Jc9t|Y#D1}E-Cnb`qvtc&Nl7o{0Q|>1lvh-O&S$TPCC@z9c2`1O|1{-kj8d32wF(@xeF81d zF;LhhaPWHwBx%{Ol+UI$GYdGVBq+7t1(KKt7;hp=-7RP{6-5p!Z>dLH4^W$)+%Za; zn2;j1QBo$@?6+i_-iLoIOMrj!YtHQ$=<^Ktl*ep-)Rut^$7`)wvx3f3A}vAU;BR0whNyZDB?Fz#k5WIbgGHaAEn+1rGJo zPt;D1z>RHIPJ_wi(680SHfd8SrNwy9@G&C8d37wxT9xC)BLsGW3$>1B6h{IKy3M7r zpOyz*zHxmLk!V8-yH`g;&nMWGWgd&0YO@RU)(uSTXpyCH+*#XYq!}=?EKctzGSr(4 z46HkuwI|!c;5!t{iA(0}HQsaX3q@;d7?G|$$^IkSAYNazD!f>XDdNA5O;FmPXgE{E zu@kQp=5(ZiHQ$Ie&u>#^N3r1e+ibe-W0{>pnXQA`zxN#$hje&EJ4HT;DfCR7qa|9= zuZv_|&@KxIh-H|6$oAvYE=lTVQ7@*PfWSd7_ano%{^aZwRon~8V@g~L{L;(6Vdsn# z=8Nec%%4cS5d^ib$15-C$xd&KQ@PwR#r1dQ_%Phbcj`-726xN&>;&d&T^;z#7v?VJ z+emE>$?d_kX;{cyNrYBqxw0+~?wlnRbSkgVCQ2v3s_VE??$hIl+iMlWpC@k+pN=^Jd*R5OU~8ywT*brrrwmYR`>6z7@cI}u{^ zf8L|M91u4Sf&4mwI$|sZgsPk5R!v&@fZuf{jJOnQK$YV%o^p^#!c}b4Gn0$Huk7hb z_tW-V_Dfcg)#UN~J-lwL&@~=S$MmpYOf(;gBCG(X4qOJHUE~w|leJ!N3+A9u{JpRC z-pA(aRv(G%ccz}?NsnBVrU!q)DQmi%C1!bS5~`_3)#&aaADLi@PE#4+X;$4PTizrs0scmTY^td? z3kipj%Qth)>{-i1v!wyJ7W6J`n%MgOsL0YjEIr^d2hjB^1CSG*=#4FDn&)1?ZK`eg zi^V#&nzux7_js*Ezw5w^&3f@qm6K?$X*Yxc^2uQjgaxOMb?#b(qo1{EO_lkbp1qjk z#3ji_XPC#LH8e;HG#^dd$Ti-VG|46s4Ki{3Q2!#=*OO)Fwi;PE57v&RSRX>|Ya9%B zG(G$^wru+CX$`^&;G3miu>Dm|)L`M=AL+eZt=ZAFD7Sp%fLgM40{dfw#32D&WMgqS zCsCDEZ%T$vcWLaQUPN1>w2R3P0rty-xvEs|Z_)cJRjHnp=&tyQ%I;#X3?_%M30Q&~ zPJU^ub@{yaV`)Fp(ERXEG_MJL6v!`a`c;!Eivr_ZbY70enU8vlDncE0JL$H`Rb{3J zBjXi1hT{?SU8Ziz>0f0+`=Cthqj*=pnF_o>$qnqBxfMdO-($=D#ezl?Pljqd8W%77 zi{Lyt2=r5ZUu&`q0{eHU5NHO(E{k3y|sJ-83BM#_kw3K$boMUBWl8tV23Om^1PO}sb{H%quL*bY?dJZw zGDvpk-|L$kq&4`U?4gq^6(Jydb-esllcBLtzeFPn-E^SxO#6Fz-x>aEv|-Geq*ZU^ zt~h2MM$`tST>C&_@07ZP3aQPsKmc1s$>LXZaw@p-_h>rvXil>?2b< zW{lN=8Co5=Pe=~1b%ems^&)mts4+3f3nej51OE8iNOks7wSaA?ovWZ$iSCUSp)s4z zBy3H#4wxBbGYw4NXKNjB<*|fA``a1|12W!U;NzOMg-Ew7@To+`yR$kyp+dy{Ilr?R2KNOtIf8)!wbMaf_;p ze|<7?d9YMOAK~GoFx(WDNH8!pRU=;At6$oTI+*sc_N0i*JvtJ%caEJ86&7PZVdv)Y zQ|>E+_1^PY(a`lF-;itvuUH)sA|xO=XxrJ{?MKg#K~4D;Kidzv1S~hQ`FVtH~vjeHi*VE?jt^DVydOLI=hUnPPbKr*2QN9MZHOzjpl0I?U)LV8o zt=9lUaQ)9TSnNx00;tHSlo4j94yKBKM%@gOOBRcIR7qQCr3*(3o^4iC-#s2(`kWn1 zT7y|~)>id+3Z3-Zyf})4B*SCnmT%8_9d7)bM!&SayI;(X+XlD(oyE1uA_Dr$cv#d} z)0td@hR#ovuC;d{X@`f0anUM#YhXT5CXh^L_auYEh3in&g=a4??TEVL^k?M9bSOA>R*(S~eMk z##-E$m-GH2UhFT=U)~hw&0hc1c(`?xeOart0oMgXQ^OR4w~;XGn!FhZ9!fAr`7fKWR zSw>t+kSf+c4a3gJS$(zld8Mq_)yiH2$LMy=Df^qnW_EGb5hmtH_@ABuuOt_b5^$G# z%0C5fFA1f`9O$Pl9Hf5w4uEtxMk%1ulLl+RPb|zE6Qr#Ml3lp~Cldj4Q7vifgfsbk zVvKN1w}EnY4wmduX+>tcwaJznCrYSE2M33*zgl(%sB7lpe*T8N%io9Di%rm#;83&x zlpt=)skh|(zj^0vGLr22_>ZY3b^AqmwQ-mRO;$(Vi2p`_MQ#Ii?E7Dy;{M(6H0M|d zO~=k;476X1-Ny?v6DH3-<~cuFun5J*wzouV z&P0RqsDKiz+x)L|wkwpv2|Bw#`2sh>=6mII9^2`meY<)Yw-Sah>+bAN^)RFhw40L+ zJZ^Ackg$O|Tt4^+iLU4nEY!fBBz+GRpp;y!>(ZIc{Y^dcJA^{mb>pr5ZxwF4XT3Ej zgy;EgU!JK*DBsIY4s-uqw^1eYM;TO}JZ~o?hZB4D+LMw<5^gr}uX&@RjDWvR|1q}W zyq}w0=&y#35xvLkywL{nZ>5bmX&I(tTL%1RlKZLNRIWA>;+=x)`mPj^#>|2>!-DDv$RUabkCR@_OU-d>ypkHWa+( zKq8zg9^luM&$SkumwL7yw5)7ucTi)Yw_F^Cldt>V30S9A3v`4S8;5B+lhr+x+u+n< z(6mW;jF=1!v!-&pAp%h$ottYV`(|CTQ!?V#UUszawFKJmH9hpyF3m(YO3AK)ZZlxw z58Oz5fO>B&hVh1njh<8 zXA&4V$X*}(W ze@QnPERSvu;=eNC%YWvwF(+QIuh?0Q)4sR}B0BHWj}~fhV;=rd_GJ}-G%kfVm3e4dq_-fR06YO-K5$A@~GeHr$I;NUQ0 z$E~C{#uumZqvr^NXSB<1Fqc^G@hB+|--y}LLj{DFlkXLH_}ft3I^hJ#qM}VR#qyAc zsphkUqd}K5-Ncu}!xCE|B@$*=Jy_)8b-acm$@#das>fC=W9_V9fyz(8Ck!r6e7NEt z2Yx7q0d}M_0fi~@TlRKIZRb@JLJcW3oE@nQEkkl~eW}3U5hUPm`HSvYU3HmIp&_?b z&RmMg6L^+JGPc0qewZ;!7-^c%CY=atG@fpSEi`XYYL?H}%R!;rv2sx@%Y0}ospDe8 z)F{x3+fXEt%jFYs_^p$?ixGx4;$m!bgs~YruNph`Ns+UEM&uiM(}BYGFjV{ls5b*r zqt_1humqmFx$r_7E;q(=o@9EOkJ-Uv#{Kf-O_*H7TNi}PA#O$;;mIP6U=J$ME9)MA z?`X@1!$e>3D;>9pzy?f<`H!B4T(U}ZIOb>s$k#p&LwJ<_yS$X%hxl?>`#sYIEc@!} z;jvA`cHenJQiB^ZPzU7L@FR=x@I`hC*<<*_Zq@D{UF8me&o{C?x&Y3No2h~r*I(YXe3?|8o(hP zd%;*87}n z`-7%Ov}5u}8G8h|F|z>SAhYz`XtcDV)nd%!y^nm71MO5Tb*>I+TY(p zCh`fBpijn^_qWKSOzg3jCx1IhBrAC7eN3*KIZgzocyS+NUMXWYt7`nYQ9veL$NqhZ zz?bXxXj&y6^qS00vqQuTb+WrQn9(S+U%g+%1**PUYOVjH9By8y-T_ zH)Zqy@XLg43H&JfiZiA&0@4>lP^7#PLDb}K<#w9(-ud}4zx%1$81^JZUk&XtezQ`% z#*;X;MFt8T5>+a}7f}fTiSyroy%=t`?p#(=&!^F{eJm(pThSZQyz{TXZ>n8ik-CBf zxqXS|XE_f3mq+H6cPu~xsjY^Q;^fYC@Qaw_Y9{DcYe-*ar`+Ig$8S^4$L!p6+sdNg zJHgIi?6|_oyvnJN#O=Rb-N<}tqyaT&&|uPaDG)yc#?e?yUe=xcnjY*|CGW>G+)s4+ z{^I-bT%9%1(GW3%z$YguP1QK?6pN-urc-#oau->TKVF^-pSlF4R}DhRd?E zxyF+V82d}{NWXviWD zP0UpVU<53G^7(y46zYmODMCRZEks=A^S~<}JRH%Z^fe=@?z*He&T~8dWtb*Z_VqKp zk5CBb{Q9>)3;lJ8@oCe@WJT0Tx{&qO09;9NCn2lssg#s8qk)1K=-1)wm#+$DZCn-x zf+OhobcWbYf~*5eq_xB?-XYOD`ZD7}#T+3pn3N7|yiEP>1C~uSmhrubnoTg#eyBxV z9>ZXNbwIDAQI4vvLT0_{;ppPq2sNDO_!|S%9^|xRM}^kaghD!hwb3eC4)!RwUWKQ- zg@Npj`*lvA-FY9e+hu0&ryED%lnqx+%MVQ})h|?Jk-BL^~hcB5`?IGny7FjJTBkg4aQ2k2#j; z`>0od2v@ZSbO*Sj8-)eFuncGvbgTG$vt|E$UyYc_Q_BdXrjI6KA7?zypTtSZ5H}~= zdj4X}MJZ4NB?}2wDW)r!2!Gzh3+Y!Qtf2$!V+~tbya0B$K%A9PmOPuS>uEEVRbS-9 z0DE-dwgxNVm)_*4nqykFrd=x}yEkn^=VtA0b7v|Y4-!$!5^L$-3CICNgm+(4F`88t+kp-7)Vg>n`VX1bD z5%eR@^1_}Nh>IrK{{dSLEv<%p2Gf9K+d^1g-gStAIV_NEnRgQ0%ekLESU%OvM^1hKm}>)Aj#JJ)5-oh93*3PB10gx= zlYWnstvtE7I=b}U+7V_#T$d2gto<%W2N!Laz~7fo34N!Y;K_vIgt zrzpyL(94tm^Zj0XM^{C~kMioSbZ@aPZR93Fi5IBbY4=OuM@7Zf&2Ta(j9>?kj!Ep_Hxzg-(da6N!*c~~m;V&q(gGoV(94)G1NUXztHZhY2FPYh zU?)V-FMkT%K0a1);0Hec)@Gs`peBkof~D?2-Ov1X3l;Die;ISkcgNB`efs2lK1hr( z)#hOr6%|E#!{n7<6RuibSV-3#JIaLthxc9P)N^SRC__0w>y)qv-|qG4-5s8+oWtpNe69IjeY*)jtTb5RXj zv{*fg+FVPbtlCEt5+uZ5cm^7CMTc;*Mq*UaLi0Bai5g4<#U}Aigt!|TS!Kyn zjbvh+xyx=$K+0M2LgMkUCw^W}$Z@$JujV$9v6>L6<*Zb^D0RzRP3Nl2!_NhRucb?R zOzDq1uyKoFz{Xi+y2zbA(JLl%x$P>6c%6>L1wpr0cDzMR7x=e+Aagf;9{9vYN zzik4QG4tKa^OKj)579>psB(Ai4si?4W84wAu+!X;^eVfmYmP6bEj`A{*lw2gd{yw-iRa;U!gH#&{Zp?WPxpWSU}NSo5bksnv`xNFR9QhfO8U{<%q`7Kotlv^>G z4gSl+)qw%97b~u#>~L&4HNgogBHx$lt@bF*fKQ&tDoB)fX0+cgA<8AbKH26 zd=|6J&pRJNHooZ5%-On!PstJfiAu{d#TR316GG(2+-{;R#P1tKHC}blrh@a@;3a{K zM8K4ZILq%`KuXAwA@y>QJn;6&*+xxD3SKhRlTa&=KG{ZHQ?tLi_$3^jvo$!OI1?pR z?D@~SH*}h@1zI-B#KuHjHrTSoD7i5Ke(9-pd_lzJ4d3Rk4l*mw!)21iIfl@}gU?;~ za^O4l-PV;8ybmO!z4u!ueKsq@44e;fe;lrxG=s3Mg0e+IV)j}F#{EmN0R8VXDfH?K zAL$MdZO9wrg6rn};h1n@FVIUk3{t*Gl`N4R#~0wUf+G=-agca{d>qoog1(c*M5ZuY zrr&AnShje^Tj_A;S!F?&1zoF6AIk2RCrFy8m!mXQ7mg{FOF)EP3ED8a>hBX9lqR;U zKAq4oMZxoaV`#MT$}OclmP9CWiK@xPpDLj$RhE;$OA6F;{<>D}QToj%Z?5ay#Qfac z;J&{1o?<$(IIjn`U9e7km|nd4$H(+}BE0!x-{&2P)av}`=y=U?Svze_(2tRVFWcz< ze6cUR;`2z=vKwB0e~umaAUhUg>YOs*TXXR#+C zq-&eeNr-Pm4s=&JxoSnpge}VAbWKq(W{iuyIbEbV{2hPDKR`=RephhyH`9CTI~^YC zLY3j@k2kz<-asCM7ka+ihCh39Mj6=X{dRx19oKrlo8fb_WW~(P48KtjCtW?n9WVo8zn}J? zn7kBv?BK1P74TX;m#5J?wu2}#%PJ_KQUyLpq!_siGiJHc2(Eb}C~z)S=;bR@kPB`I z##L`!(tF5M7SHpLo8M5!$|+Yt*Sv0vsK zf#*cDS^_W2*3jR|m{}+0Jg>HU?agVbB5o9=7@02BS&XG}BN&3xcq~Q)njPlL2oVtx z-?dz8498Ny|1K{#yE$HZEfwql#-NfQ@8@D-WBb>6yN2*(wap{O1vqzdxjgzb{4#_> zxb;&WF~i1b-{tVrdyu1NB&E`oX`>$JV^n{RmE}DQ>93SidEb%UO zLH1s`s;f^6NVjdB3!Qssn#GAX)nXZ=Ob7Q78#Q`ME#`NWXaSAS-+DF)qnhw_fB*ti zPFT5BBA-W`ohoh2vZPXznJt31)@uovfsd!M2XCg^1&&B#OY}`vJqdG4yx={ku>1|T z2}W8My;c%%sQ5Ps%3;L&{!y73t0B~iY)-%H=XR`**O6qJ$w^wz=8niS&z zoJ{N6xE0n+bPg2S^9yiv>qTbo)xk=<9;mn4DtF!G#F;V~*I}%L8aNXg1&Eutv~p8b zhN48AMq^GvkNR*bLYtu!O>7T9`tUg@N=fB1c@^|@WSqutM+6t}cvA$FJ(&V^jZ%UH z24&NkLWOra?Aek*5&;iaHWmHE@A+^*%?dsWuXgfIOz@-RbP!dF#T|p72-!h)Z?_}7 zcJpUrb1SG-Dz{G;vNPTvm)h@&s!cT0B`7R69}Mhh8xCD%1pNg=I;C!<+aY(a`Ogfo z!)Vf!G&BvrEls>xEcZX!r_A(lT_2nL^Drs>r;0+Qtx>0oHUR*b$XT5a-}i(}MCTSX3+e$JlgeX( z)&8YEVj4Ffk8D} zDFTbadc8}WUBAh^Cm6mpL=QY#CFw~XLCuThdNc}Ld0BUS0g@`j!uSjQs@|&|hzm+= zs>ppU3M8N{-mN+yr@HB4K)q z(WS5_oTM6X(4x@tq3iSoEe99e9p}#)6Wyou66u}3%@H;Zh7?sUWzGRhMk**SXN%?3 z{(s&^0C(IhEG$GjpOGc+;ALfH;m8B;Hbom`5q?mJCfm#w*V@jru#K8t{QD~gJ?odD z*^GRVe7T=A2)y5MKUq#nV%4q#W{ixCqzbvvuoa{6OmiIOS(i`lZcyNi5B{BFLhaF=``*VVCxWJ^0a)uXRKnfVdBuT zE9k`i6yl{&EPi43Yt`3Le*p^=?|PIz{}&SgiJE@%qybOYAh!wOy?34aSN6D2wY!!;C9C|H~p%?a_Ohdh^rWy zlJ|v?u{hp{VlUf`DCj;2`#eJQnWPGT?Nq@wUCzRSepp2)+eWe_u|3dBP+nOm>T*IX zg~iV;;iYh(Km-zC^o@!s{Fb@LCF2f0=$n0egUuoIZ0zk1vgPmK7pTM@^vb6=i#yUq zT4WPZqDiwmw)q%U5v;hynv?owc&>8D9}U2P#wS`hDs*`6M+*)qpzgb^Xg2+(A5bWC zh2WsVp4F9w@biy0_k)YZIIT~g644vi>4>6FoDF_`Fpn5jnuRWJ6ThEZUqGnk>k2$d zHUt(AjU23NoL@Nyy>Q#D=}kzqa+W9^hgC^==q=w2JQvxS{P^^d|9S!xKx^Crp|8rZUfr(?!O3-l9hB1g3ZgtU>MzPcxVp85T$lSf7!)o?6k(T!;k$Zcz1L&>n;hRC?rY1apSK3h5Gl>Kg& zJ;4VWCJf!`^77g4>)z3mH{tR<%|~XONmSH_2DrsySfDI> zCKmU2+KwHpsUjS9y4nteOp}H1uMd0+Z($dqhE+Aqv@PD(3}ts%M-3|}Y3_Xo?Ygct za>7MDI*BJkluy4M-51(d_r~c*uIBw|n6cf|n=MuXc`P^CjkZHNhNs^4zma?(8H$q# zXU13kGN{cODbv3rf9_2l_I{SncGWgE!Id)v!zv9$G)c$3I-wRnI!YtlAj%1)Ktt^| zehH%sWZ1sxG(0!Po$a;I?96NI&3!0u04UNzaUgdb`mH}2eOs@EJOc4g1@f?2?|QBkGA>BY7FOK2>ttmg)T%_N^e9=^Ay zVcTu~t^X9;JRl#%h#1x2(PRgHd=V9Jvz#na1fgBvZz>!Svi3h7E|oKeo8bHomSO9S zB4pKRbS3P3yc(*jV0e@2PVsL0usy}q8}yo3$!68O+YytVh<}>@Zn&Gsc^yAzs#23# zJBv4z!$I+PBgNO%I}v7rHcOo5i<+wsw3Lkib1e$=iXXNea?DAPI(@H~cdqH_=@SzZ z`4;-o-;$;gw-m03`0t#a%j{bZyaVw)-yGVX1{|BoVIKY&*Zz^`p&-HEG)rgvDf*kf z+meI=vuyLJA@@?#$MWF9EIOh%ZuhA#@hX6jJk9eWoc)ckmPEvwi&-#cFCvR1i&bP+ z`AE)CguJjY@0Svz4XBGE!hQe4j0*o!Q1wSC9HxnM1C`+mlv2w&i z42cekAa8SqJ>y#%?M&gw?IF+p%Wu9;!YO2hJ99X^_%h=pGc4?(LO6VSFjBb1o>O+Y zeDufa(i2VvybpJ@N0LJE`Yk1J%i&)MG3H+CCgEb2s@8IHif+Eb2u6$}k!Hc{!4*gK zWk8Oeq`_>v2V+EdIOKlL7i?q&77zeeO@pR*QUo2+k&;VYWSYecR5$MrbMNl)emj>J zUDUmv4dP1Pd+GeyPI*rS6xyhAfb_L7`LXPaML8BoRmkH;jrX~iay$ff_f*DH1xP9x zBgdGT7oPs`hShP%O423NL_3u)?Aw_+5^+?ab|H*d)wv6v&IT{J-oIGVOAKUN-n=%! z#S&B$jT&#HY$Dr0MwUleOFy}rTf$-_U&@kP6-yhRx0!f8xa@d5_!woXu4E>7L$Tn# z(v!Ea#O4RIap~eP&eRw6RgPW>DOmO7{9Og0+f%)UZuQ=_+@HSj_j7d$3_5u|GK%-9 zhys;3|L^GM-a5?!>?XDOm4SSb$*`z8H&fZeR;i_L~sy%!y$2O6e5gj%(f!sEK>!<39e%ljfl~n}+JCP-@#?+M^G2{FYE93BX^lz8$a~hGQD^ zD@X5rq@e~A5Exnd%E8_8nt27d-y$u}K*W~ZC%f7Qpn5{=6;C#C7Cp7BrlZd0A{^zA z;)v+bq!Em=BHOT_(M?yw#6vt^Io7tOteE!L$i6_n|Y53)KawVEMlA6gq*Lh9w=b!MqKNlmW9 zNgX?H4T1Y!TYIx|+@5NTGuiTn%i{Yyp&DqjJPN7c)11?7lXk4Gpf64bGb_x%%`8%L z2D(v&%;Jx;J?O8JD{J2@x8uxC)fnFUI#hC;;KigGcx|E}-8hazUM}83g4&{TjD#|i z2T>1?AK100r_WzS=z-}ScksFMV}i~AEfx;oKPR(9Q?8Fdz^!;L47Sle4@3WT`B}b; z%gclHZb{CLvsW;N>2}3!QUc6yuw<39lV+8@x#kBc%FX?fBeuKNa?*}&VHNROtS6S4PVc-zu3CfOk@>s)hOOr{7k~?>0gdPz%$nn=Alg1 z(bj#h;B&{qlp2$UBYVijcL%RJRY0iC2k1MHp%+DU*8@wjO*oigQDE9S(V8!6&j*8q zEBFOy?_iV>W48BKuv2$u?>A?jG;@F%aX*~`^4HpG6@{8%~>tmn_)vh)gFH}hQP^4kty&0C6oLpx;O;fCrHDXheHMAWk z84Gz71AIw`_k9(u&#CL4;jg*IS7-dKI~xs03baOfeOmf_2Ako%WMr$e-JtG&P$#Nh zn*`s@2l#oL65QC9`#*667XzcJF3-Bec+rD3G(@ou+bta1u_EyRQ5QiTFz0Q1viz-X z(fW`9eU~#I(ATm%{Y=v>6VUth7f@JH`+=*Io1O~Ad3koEADMM$pZF8M9yTbK6Zt@& zmrbVf%z25&Tie@I$2O#lbS$nXluqG(uB_f{TYt*my)W50pT^eh2}!vNbWjHXhxIe$yzzt`z6i*@Gp@B@t>Jz4%`b)q{$lj zx(u=`H>3E>Vwv8juzlui+AcVP-^+FuLU?T0h1G?xMH#S8uz_W~pedV?$HP6dN3Jz0 zG%2p?FU0$;%xnW#s->eN^Wwr4?sJ6>{5x4$L|`LCI|BeB%EQA0c76mLmH`RiC~M7e z5V+H!lkFc`DS36Rs(eRBeCo;2(RTF1}TM#?58Zvj$j{lJAyw=Oh>OfWtr zMZVgo6YeY^r`2umVqV)AXdNNlFA_kj>VCZF5@8n1&WQon1-(!#D=$A->wHw{H`mf4 zj3(xkW0p@FC4pirV?~2i%>jhbpDG)WDtv4M+ zlXyJlg#(_GChW$LCF)fSXi)uFq5x^xQ5}$Z>;|qeLD<>Z0l(g>uD2W~{aj_x+7A*K zy%Ymh{B2vP!D&4(0#Xi;(g`1nm^e90%!XsHeaF7(=0eAOzj(#Hs;ROgkjd}3p4NaB z8zhQ_aH=fH#J-MwDPzR7>}(&cwMIW}tjhf`#VDz#aPBW^L9ybNERs*t9_0Li~`Z_vUpLWGNE-$e!N{8;pYxEQj^YKG|0s9EMYTKn1-OgHqea z@Uur#ienFQ{aCG5<4B=pJeOWNO-wAlxS+UF63s;oq&R6xbJrvdwF%Ue~IQoPucv)k<3Mj*< z%jK7aO%6_%o_6WQxZh>G|NW9D5piegkHFrWlE&VN6+KQAUP6&M~D=W*A*iBHC_)DK+@T!M1=w1<4S7HR$NF>sfWVd>esmvE^Ofbj0nkxG-i2OPi%5qUh)AqPW*->cH8-|w8V8rf$@CV zuKMJvHMLj)FgjV^(F8F1>If9q`wjW>`4O_`s0m0RN!mtfqQwAho*wx0a1Onk+;hC# zNipULgnG-xlK)L))+7?@Dpd})eHxfYUtaRiPEJ4oQmK`3!G>YvAa0cmQ$~nT|m2bJ0g^ik4&2@ zS{)MJM+nYpI{%QM#8~>#snBWi8M98SNoMaa+SsiMNR~7(T>IgN z4&M+a2>N4`qb>8L{eJHUnFn7%M4ZLk&sykq&I=u<#ybZG3Sy(H0Hc5%4*{pDtt+R1 zxLK744&IkrTy9zzeUUTWKjd;T=i~-0#BaUIA3cBilH-+Voko|LLAr`UlPt@Uwi`cM z%x$?S6f3&>IvkUvm)nf7-uoQS^w%ONu){*fex>GDxA+a+XbQ(LPnS>JVuv+l_v1JP zIq#_sLkw`KE-rJR2A=kfsOzf)My1VEmtofjW~-knCEVkyIrTQA42_MAVi!|pV;Q1x zk+@4IkH4`;=XAQ(b`uai{BQSNX_6V(kNt85PBc=9ceEuXqDr^1cMgradJ8y%q{K{3 z(|kL-Zu$9M5vnmh!a&e(xeQW@7`deu7g~^k8)oyWCz(9C%j<6F4rlAd2YFXJSdVFIq4FVMEtC{VpHZU$Ud3(AIp9*i|I% z&BL*&CV&Gu!8<9|4-`P}t7&Dvi2&fZ2|$P$3Pr`& z0fgd`OjoqMEH6q}e-nQGvLp&QV=8OLT(1uhObS(d&xqrz5R5~e7aBhmO-=L~H8Pj_ z17;_RMwr?^M%iBsGX!ePuh8-rCD3Jm27gkQ!JBDPy?3dzwFRM!X%ZElS2Y@02(^FP^a#vLm=GY4skT_oRa2(3b!Ef{}T?WSnJl;+fNqgm! z@&D@&Xon925Kz5!FW#6XZ@p#5kI;cTZhYNtPXsrjv3y-6&70Hp(R8h&eaRZCcqU(^ z*3+Nihet=FzaVk(>B&PY+LoGSO3X-fScS$Acxw+m2Gxvr8Oi5ANX66D`-i4}tMg5( zPk)FS_$k%D*ltC2Bv6s3BE#MVg|bo}J<~}9c6HozYr`YHz)7yHw#66+J|!iUCvQTI zCV#%|Cz%W4!d;hBD|Tm=SZw_!(TOkYeug9J*{v8>gGRuq_robRaBw4plgrT*@9FV+ z=k}=7pu?G49!2sllFOUM>K1amv-Q8b0E(y??nFbXSp#;}9A+a|3hpN>VcU#BUrsWP zggpO|@Uv(Sf9EX`&z7=^$(8zS?!?mmxn%GQSMKZ)4h~nw7!y;A0f)J8x67v{(Trba zMupmt;o4O8%#Xt332_pG8+nuG?vO6?#VRwdeeN_R;bP0|F?xk$=hh3$fPYv&|B*8J z%&zm3`ak(|lg2O!zqo2%P^b)xr(rwJ*$DZwMZc3|$F#dM(N?ZQ3xjJ}!ON%Pt?_%k zx$`x(5y~~J@-)#RrF_PHP)qnF_YxbQowbg}Y%UGmqgoyK*Gjb__%>5C?f|Icxd0x7 z8_N)k19T(jvkj?qKAS!OEb4ap^24Zq2?@&JyE|_{Um61r^ZWwQuA1P;5 zeJa(U>`gf`0LVgHKzKmtS!s1!>Ix7ALhu63BxO|gZ#+Gq;6`i9yZ}Nbn_*ibkUC~t z-K^l!1)YFa*Nueh3mkxl^8u{_&~L?5{Qx8{r=vpxh`R_q!^068MIZA(N2Tfoa$Ps; zk*kg+@59hKfHu&mR?L2p3zk9v9AB!}$YNq*V!ztPKj{fbgBAcHDJ&|&B_$oXzuY^& zy)99pn3Q&J_dId*83P22*?d`a$a-&YFM!p5Jw4viMwv>uab~IPoj|q*qy1*LESB)U zx6b!p->wHu`awE}hhoUS$HXA!0+J&Jg-9YHD{!NHh7OY1Yrw<9qtoHd4M@ei=fhOU zxz^M9Yz8eq0m|I%=2(|SyJ`%u02LFn$n#_w4uIlo?QwvLXCjbMYTPXmeCw7QpJSlO zrgr+!D}&PmvfdbWD^)VOKxOzAyE6+`FZ(T-7OO80)pCpp{r99|Zlw>eBNW6P5(01U z>xGafI|@e=LpF34WE|ALvQ*9WZ?N}I-N3RS=yI(7iG<%CgNGykQ2x>!!idVD5voWm zuBr13HT-`xopn@|Ti3T~0g)1r?mCo|bPFg*NT+m*lt_0;w{$2djYv0$Ae{mN($dl) zA@$AujPLc2bIuqZ*z3O6S~Gt0nsZOu@GtPcIxv(RBH=4t)R!|%(gtGV8*P|`WR@*o z0k^{m8dAYfmP}N4`T5a6g)QM^@_wvuM~d=(e9J2FuO4^Vjv@Vuu^V(7jkwq903r zO%nB8=DQ+sJQG&xK=uY7T?FAL#ne2X#-mLh^C}OCC}KA4_ip7P4TpnFQy&<{bNV8Z zlUO5VY>E?;v9Xv2(qlLVHvf9Licnemi#*fTCXtYkNd8Y}y+DUFsiUiQ;-%rmUu?^P zci-)K8QA@IeMIJXO+Q6zauA~wg<1I%>uLA8G=#r=o`Y?PLU!5TgOgDc_1|MNcqJia zC`!J4t?fcCN;QLC#{4A_DUp%=k^z^@A@dG`etv#kU0oijAWXnfX{EoIDAowi>-{rX z3ZBayUydMu?5Uz6wp(*Hg6Y$Iy1>RXyXHbbO8RuAJEnC21qFqh6vvY~Wyehv>J|r) zCI_;LRJeC$>t3w@ThcJ^0B`QWLnB!=BERduI^Y&izn<>S!bQCcu7aYtxcCZ+?nZ}M zmkY#l9m@^AZ1HgO00{J??{4hreN{n=d37}K5RnYi_?-tvN8_ku2?gfn=DKHtd*OvD zq1{B0G{`GYm6TdODWuY3Qi{4oTMnc+@68FrjX4KYtw^i%C+BSX?1;k|O@6z3B-b?z zNkKwX9)Z20S0I$nPXNQ@y!-1>RaMmy)^e`@P5R)V5-z2Xl%XM|Lp?>S(FhcGks3S> z>EYj2C!1r4oJHi#pZK)2r%)e z6ZFxSkIpy$wzzNdzt-`SZniST+0&wFHF{RiSseTK0pUIJ{n{}Lo}{&g;W37uqQ&>r zALO1TE-Rs;qbN!9hueK!R+a3r8(LTD*OOKI=xom*#XOLJE_L{uj`R_8G77d_;kZJj z8J(>B&kklwvmY6l*r$g66atYl9pFSeq&tu-tUY62i>%>9avZO3znrcyeLd_x-?gRj zA6#|?)n=9S_#>emTsF-zsdsG47L64v`DdRz6h_?n&h!hGyT$T; zXE#aWC14^b*N!UdB|X8gccVz^R<=BzHRv54mS?abH;&~417oK1rS*4XJck}yUkFV=U?CU$DIDkcB|3nES>sns&-Ur z*yMy2qfN`r4PF}K_$pqyVLsi+0cQgR3v*iN&6k2Z06;GMzxhPn|4`v zyvF)_O?_xQ%s_be_n-9H15aJBM`TnCd@{1W z)xIP$9y2tAXgpq^42zF}g&qK+hj3kp9R6r+!1HpqJ|Z@@t#E(ew0pVkcl=Ih2A)0d zX1rzk#mn~9dEY{h79kg^)_Cd*cdViZp+a{3&R{PjAMh9i<5St3wO z&;q{`1COQ6QZzA9e*A-mchFUEud7ua0e_k+bGLGO?=4At_jH7LxFglbP26ea`p_G( z!-G@vgz2S$XXHH)>Oh1Db z?h2&u*UQ7><4*AXb@Kb=v7ReO6j<2UGAWh_UIfggW79)0RW2^PAV;ocyDuDaEjBot z=WIGUIepPNS>*I5xd5$%+Il!^c`%)CfoKiF#V?>zitT>@$FMV98GQEv7vdg3eANSv z>Uh^5PBoGb@QX&BNjp3Cb+2aKre3vDH6~m^GB{qOmXGr4J}GJV_!d+yn4`%b{i)mj zSz(-uCvhGCArb)%=+VeZGo%m1Ae#_tC>Hl$eFRFgf<$pr^Y{t$vNo*q<8MZ>i42&}U=Ye`RHV ze(%`{uBgCEU`xtdu<9-jK3STI;p7G%4XzMe!B+t-W%fGu?kJ5PHV&Ac_H$p%afK-hkRE& z@xl)3gcLtphqg4VZN@$l7pi7=+wkMh@`rul)heRazANY^E0!zRs`7SVE$=qq#>Z=u zZ(*@D+bSkAX}RGh_21yfDW}s1ci0!3zZJ14uI%SaCr`9&dPg8N$YCiYZcVl^Yjp;t zw;a&23>%vNxvPwI@Q9?BR!vGuov|XnM%w*sM3D{toCSIFDy+B({+N|BW1y$U#KW@& zDez-Kfmf_5ZzS;s>;B8I+B6NQOLrWqIR%Hf|q=E1{sOde&wv zjsInK_i17mBsvW~7raa9#`e7FN0hhikv(K0)z9g5@xP8(tj^L@jQW4OL;6=ld(cL8 z=nH-oi&da5+U|&Q4EGCc=;ujD}3_zBUg| zbzJD$twF~pnHK9Iw#&bbC!yoRVch>VmnLxbqa)PhPV%MssBaC?Aw2fp`fxtK@}g@r*!K<6kxgS+o-BIo%D12{YaAU`Jd(yy(S+lx8|6IxHHS4f3<07H1Hg;5O(Sv7X-+JF$Cj0 zA&1cY+hPw5kF}kGOtS~koP|h5J`zOVa%vWP+TYnDgA^QPN++v)H$+{x$KEw)bCO=| z;DcXguEu)qvD24xeg_Socq}bKqv!R>ggc~aeZr~|ZEYMcuE%zGR!BO zrd}!)22$k~sCTKV68M+v^KMDdv*!>#`&*J?@;&-g$dGubT9U&lw|V_6Z1{-AFByC^hr$yKBnWN#?tFw@Zm z%EyrNKn!3&EeM*8cDa6~)3Qv7X0eQ!S>9RNRE6Kzc)5}Fr)n@;xmRt+gM8XDSY zmE|)C&O0EZb^IssV|@I$X1lv>P&wTX#AsHn5+Y}3XV=Zqz=j4PF5|YHH#ZYou84#- zEsa#feNSm9yhpI@YFmY4aXOpVgm_l6i58JXxFYj?73l91ObsaEGp{Hd}>vvm%I zR^{XtAFWr@eq!oYms?m^cvZ}xpr{mXT<*AeE55|ST#)8hJGr7E#qZ6y=a`t2qY@l$ z^UM8@(p!OS+j)+_RnI7H3g6N9bbNewU)KFCU>45V4h#6$%m0czm=?3fb}Xe=UyV}a zj ze4FC>m*1s{95Q7kQZ)}9w?%~!$*spBb3tGqbkw6smwG>aPIwwSP!8qz)At8x*(z^4 z_ZSb0Z^VB6b$*UUzb*H?#Pz=sYZxrV&jWRrYW~f2wz|M8p;fG)|HJ2V1$m>9W3plXnhQq?stCTkQL&} zg22@B;O~DL1)~r;L0iJ(u{^o0`DVcKN?qUQ7f?!o`JI;)- z{}9-3%~Wr2Zs^q8O-9~cw%?k=GeWonS0W6|L$2@X3@1(Ox6aOVKuMODm;d)Z1_9?u z;WR+W`Jpvls9I>+8Mg4o%-kHhO&q6dZ0}26pWMH>xtS=_;~Q!8-D})9`WT=3pGFvz zuZ|&cKl(dmY|c+!46A%KTL)b=K+Fnx9MDn-IxsRZg+dj5wAxw~G8E+LO7lDLlxt8i zU=b0?pceOfUabBpv#sJ5#bG9N{#{J8&lJ6Grg>zo!v;@E*=-nsFU601tw&Y!T#O2h z6mgvIC@IYZc$CdaC2cvhONkW{xzmS2-sb~)N9XdV zD86G~#;5A-MMEbxz4}*0Vo%vxI#yXpCt}w992O>&l%Q zsW5}2DkM~wTpGvTcW^d3W8!{e)3N|dqlsG){n&MhD7&k>`wMuko%!mx#1Bm2kq%PN zrSO|2{{>LZE_ANB@_0-i*X*YS$mjn}vlQ>eGykmj)0ZvxBP+I7D>Y3vp4&_;You-; zZHwWf677n9@7aZ(z2O4abakXGg$t~E^8DoNUaiRG@8ufR3T}&I(Eolp=aX+ufEJI$ z7zzPC|1mKmN?w!z_ASY3%N5ZDX*Ev$63wFi5VM~g}B6VqnHjYO|K7Ab8l6_?}M zY@HEUG4p`R3(TQ^&7?&a$GK?|Z|e-TNH(sqFD-7BcyXU_a0o^)a&mL@M-{; z|K(Wnytf1`1AB1quY050_jVTAlfG0D3;SPCR&d?Wj7Xf}Y)y?vMA!}gsb6^C!!Tbd zQl1uL^{akY_TOLEw)5W_RoOo?tx)uoNMb3)6@x{_248SzCUnZLeCu{!^i_4WxWCU! z#!|t^!e@1^tKI$=qm|k_v3z#%gHPzuM8z%{k#CbR&BFWE|*2vtm!$fJ2i+fxn&2kXXGOp<$#ejKEes4#@CuN2m zcf9ruF@^+n1Y=)=Y@?L5mKxEC2r5bTBI=tU9XJ7wRgg^Hd6|OHY)qUY1$OevpX0qF zNy5$S9O_yPHf+f1E7c$@QWtnyj^~4ikEUu@6g44QfwQ2w%JCmX@6Gs2PiK)ALX9(q z&*C-*IZKnDIiNi}3mpH``%;Jr6NPJo=GD*()kH?#k1YcMS!eGS1K8cO=TQ-OH4Vj`IsW4rLQonoMt`T{*?@dAabK4cXHIDC%+zAG1t=*Jt0&y(OWuV<; zDevn&93nlsuaW^;+eRB>pX0_qnsPiUomv9@Mc0QTnoK-wvBIcx&E-R{{{+^9gY*Bu z`_G;JiWfv*I2Lw};zF2+@%2ijbnbV-G&J8Fst=DxB)#Xm(NA`K93Skr*C&xU4+;A( zi`|~B-SY6-qS4(jo$vN*RaI9xHyZ|gyF!00?0H0_D*p4W*>@S6u@-cJjd_aPtr`^l zn1C`?&}=f}i9Qva_dH=NFfBeS|0|R#E8( zY|9fb@grClMU?du#h98!T+YiJa!m5MwZ$(FvrUMtdS zW@dUu!cr%9zdwb2;8Rp8t40Ao%9U~&qsP?0SE-yy8%Zzs zI8wdbPD}P;9d||WG5%N1|E?C}X40a`Ipkw9DvtzLh?x3`jtliVtL*1I6H$!~-`fUP zonMeTN4Zmf!pDy%#!?^{v&FHq(3O*0YjZx?RD1MDUv6!&i)L#yls(S%_tm5Bc9(#o zPbg_3HF_$px|-Y0B}GUiNnzQ!#@7EbQ*9o+2pMZtWEj9c>wG_L&ujiQoMn=dXl|N` z!ol6>gAG3!k7>t>?|)`V_6>%gvplg zL-XGOIEg5jCW4Ih)~u6J*NN4Q68DZsD=tkoI&z%%mvGePft5cMlXi!EXl6Q9&g&Lw zt184!rkz&x^Y0ESNgw$nB@X=_YUjO9cOk<2xk94FbmgAUYQnSKJLm!{=`nm(&-YsP zE?WwlOkKW-B`sEEH4T>Ba&LiNucA6NRGFw#dafzHh#BvxO&HG zj_cL@u3OUba3_~C~Z8gu{%I0z*CW>z_Vqb2#lH-VQ-p-!f+g=nM4%slbS^P+- zr}CgGuV^wsQ_~@c*28bUc(1AdS}vvI{e#WLVxe~fY0gbrsb&7;D71>a+TZ1F9SG3S zGtz5!xZ4Y7Hs>2jRO&+vnp*Q~0s=lhwP>z7;5pAHuE8t0fIYiK)}$-TJHj`2w_Zu6 zbY}`8{#rDZ$BGajZ}#6B>j{0hm!PGXSe)`iU9FLmyyH0FA-kRC`Mzu-u_77;tHE4& zCsXOhZ<=Thb_?Mbu2H3mefY)&95*4xpRIVRjPtX8=+x76^*$P{YU0)6Da*@qQB~8( z*V3exA(HD}AMPjUa93j>M7&fgc`x6YZ6(+F99~;8bBbXGNLRG3WO-MRx>+ryOsM-I zOd5t3W@(X_1#4vVWOisNKK-=)#IkE-bXsk$vEP8%mQr&8$^Wqct7tM&7YSNYEULus zZbgEYE)J8G)rqHrA+k`@OshS$j?Jw#5Ej{w`b3SWY)?sc=FQaBs8v30>HJU>-&sP! zuEo|WS|mwj{H{}}G$-*pl%w~C`C1OKY8A_?=%S0cb?W?5Z}T!N#5FOcQs(90^`@vO zFKw{vMdwu0q#As)7$xpi)|XcM{slB)@#POh-&(!T3Lsxc6z}}qVL}5nY0gt8=DeM@ zmjw1aTfO~myeFUV5*S07l73^I2%5erq1ToB^p!Q<;JaLk+T;PMJU$W`u3xJ3c99fY zXohp~n_wCdG~_Z|!S6vn9&cPwY{}fhM&{mjZgtzM|L;?SSKw12CCQf##yCGepL3oE zVMxEuzAp&7j^~fTCay$sy<sCp5ln|_mk36=2R;KY zo0NnJJxZ=oS5#1Ad24+!tyj|dM(;6+d}FL9xqb(+i)O5?Wky1GHz5%-#F}sT)m14O* zlB){&W<+%KN7Y;j03<3M7bVCa*@e(z+Ap-E_x3)8R@mKaW1s7PZJ}9+y0y(1a^yzyD5FyWW{`*I3-wS>an2H?GbP+=k;I|?2SENKn z5S7djbqxy(M#LNIiK7{Lodx9gk7jpAdIpAw$VkLo0Z*gbrC_|xg;r67j0PwOV(@^c zFSL>?WsAJK&!RF~`%(w7L~$>ETU*!S0bKYFt$ zMg5Kp{+>1(MT5_ys1A*@=WUv_$K72Yrfi*y5La*%Q+O?j8l%w6IQU^M%}vmHC1*sW zz0$SFy<%g*jDK$^e$ch?O@01k#!Y&&XGMaEt~zg0tq@$H7xi)Y-i;0|l3QW;_c9hw zpO=y6nWSQG@TPv)pOa|fY$#DA5^3Qe0zRrx!f%LOg!clOs0$o{y!`x`7Eiu%gZlLz z8vm2eg0Ft@L!Y8@C^oUjdb;(~XU`aznZtm5@tP9$yApy;DDc0%nJCe^8}&VC$SNO- zLuD_T5#`Z?uKTJ^uwfOn|CZmwH8^qk*~)0R_dtxT<6fYh;$Be-0eR(N=GF zBv22w#tZRKF>t<`aK|SkNCUZ`S8a6<(nA;_LX7|qppQ8zAptpH(#{g9SFU?=>4

If-Q@#(Qb<@>Vp>`+2%pFZFfUHxA1h4NL3GL^)!5JQj!4`L z!U=QQMEK1gA|$TVCW+CKtO5j_xAR)>wkaKK_-opylHSBMWy}kzX(`tv^)doraKF*nNO%a(GJ3wpgvda zedd7Rtl(;Tz+?r$y;+=uC%iUklV?pI&sqmStnB*J5+7cr3?gJ}Ka^yk-b%eV% zmg>D=V(*tU!rA6$R>>Co4&($&i=EKntJ%>!OTLU+8+q3x8yqk3D*8o!UY}!2;ep$* zsBpEyzgZ2psr=0z=+V1kpOMYgY%`7 zBbJVO2N!8+e}4paq8rYbEnIgbozI4*U~dt+8Qk`D(Y8K|Z}98Oe`;v@LYjoo%RP_R z*9-*Vl>_cI4g;yeaH;;hXoJ^<=mGg`)T;RODdrN-G5}$e2xXp!hXB;mJXW+jcdEe% z1F!=dkj(WWV|CR+#BB#t3RVU*!TR~(3Yc=#fQN18DCOGE^!3RBim`;+81QoF0pPxV z6l<_BE2T+Yp6-s>9K}6}Cglm5n9yvyz42z#Dna`S&t7cQDgsdO()HQmlhR2ue)7KF z-X$1fM$f^qQ@63x6>;Bwu`L^@0wjb^2%I`3eR*)pHeE$5^tu-pb05FOUEbcl`;{fv z=Ub*@TOWY_Hsb~NkRFHO&~b1?!xJOARN5}qDTZ^z;XN6IhllsR-Z?pO1%3ZJ07oFk zo}LD(6q>`r#g2Lz;5S1(ps&B*3@UfJ_GH{B8-S;TLEiWTl34xzS zH33qv<@V-s;q@W(eI;aM{JHi)+<1^hPxlv9;n|P>4#CUNg@!`7IzT&*H@6tK`$3`l zEu8ug;9{4yx1$Eu=y`Y&`jS{s5$Z0q2z>)Nb`znWUbb@!$x^8F8L<-h>7w6Is9sA61xc_Js< zwf+Sa+bf&8dN}$;%?io94ca{k`DZ!BWR0`zc<&kb$&uBPFBY41!b=}W)w)>8Zha6! zW*dcd+VvdS**^Lwj-K+K0w?lpu;SI;m;p*+QDxKxyXlt z=Q7iFwdx;a&?_)85L@xcZo&jccp>>*9rgsU^q&J2O{+ji5{0giDCBd_tx|X&uoa-! zptxg1fCKrB6v9@(pppO2K<3Fst-pM-cdr4smNKK(34#ke^VqI~7W|~) zXQ@uye%s~ntkK)fjsRp-2lk-Xmmi>X1kW(q?(YvGcQ>3#nK)|kct)%k`N!(&i8^Sg zJHKl0R?jE_9|!gg0Ehj?LGeX+u zmL!y|0>`Zrm@-x<<$@Up_O6FL2pQrAWL0t@581{%RxsOB&9O7~1#nG(rb9^m2(JhQ zuF4tv1ql=(FbT?`2S9-WYJlKcM~*=KK7eg;g1Q4azfA!6M<{$jAmceztW`=9L_5dt zds(rBzbhm=`{J&SWKy7`U(2^NVVbdWWnv6*ZMsvRzo0po7hLM>A?Kj^73hx|Q?Du&7i71rHKiG@iwKr^! zhAcob5+LiloZfD1INgl(Ti3}PD~zArHFkSgNafnS8Sy(6v%Xn|q(DAWs8vNKNy;EV#nc_G09bn_iC+eN{; zi|)ont7<@;+*OsWDf4zQ2n-Ld|7GA%-fp=kuKUT3oKAY2COoZr!S#kK8`3>l1|;Fn zW06PP9`fE#pDC~C|06DQW3S2s-}ct1uu#*6Rr1<3r82*JyzYedrMs#&npXWu(cQ2FK>|fPkU~I5wL9%l4mO zbA~)3S8hvQfbp8yqodE4;x6PM&dXPP$5uZF%xHLCnxp5%(VFM+kRTcKt3l;X1QE>x zAByOiypVkY-oq0{9B$3lKZGqtbdRB7VDP%EK83Br2&OYO0Ol2XJT^d3ZC|+@BAyd$ zyETMz)xqImpLx|AhQ^*3?SA4=Q*U3X{K{Yt-C7Ry8{R{9wRz)P-04b23BJ`gmwb_V zt7P#=BNvH`5rj;Nt9myZ*L_vdGxqCI58Hb0|98U&rj1g}BOW5*qaV*6j#ZjJ;WBJk zB5s2Il=l!9)W6!;{YNhLdt%pZvBr^~{2mY{V7d^EWOJuNf`pWm(X+e5XJmcXS?CxT z>$W2?uUe)O@U7`&zvKl}=#8Z3R`7WZ`-#+JTYqIpuxK>w{a;#KD5hkkhm?_pJZ>a@ z`F?6!&4Nr%P51O4^uGR4>N8{V^xpQ$kgqqnnM1F!nG6E1qmSaH4xyfCBoG_lLn@Oz zmcP@r@LEeCt;nms_cY`yP{~jk&~~<|{UwGPaz==bt```xNk4&o+_9%!ZE$n{I3dr`kH5B40v0Yfri*z7jc zEC#hmupEfg45`jxUVq6KlHo*1#Hs);6T?uIyg6q;bnHS66Bw;^p7^Hwuv&g?Ce0_X!7NC$)p4voXWE&#n_!%q%C84NQU?;9Ro2mi2ey&>}amKY$> zP(}raro=~%AP2wdBm#FyFD~Bt_0oRyJu+kwz~5+N6JaN6-eSu#YmAVA9E*G)y*j+>$Zsb?mtvn=P`^zf4~J zp6=b~HXruAsCnf~RZ1#(etJ%i_4ZuG8iW=92cb>gYq2-X%*<8hJ-B~QEh-pkuUlj--CIxpCCpHVBx*A7F>jZnhD@8k6}Xzp>4y! zu~p8^txhllLPc^<_8JDqC1)lA_ByAgPpiQfa|)I^bq;>O|?TUUdPz?9Rj`)uzxy| zBhEvLgJ`7r@`ZbSIQyP=+qoAmm2OyAPqf01)R)8Uzi2PE(aX|^z1#9Zsas}@vCL<$*Sc_aF zktqZ$(bVGP()i(VaV)?LFg%HU4j!z6E@OOa@WIwl4DagABCwg@Vml$F=o=hlPniI+bp z%IP!;h9{x~bxm7S@bO&GJ{+DN_^ohweo0m->S&DpTq@YW&3pXg{!b5tp;}b^5aI-} zu~vzuDGb3ycv z=wjKQ!kKA(3*LVz^nsBH1lFLesX=V+wllp<{OyzCJ9;)YY&kVxzs;`B525=v3nUfw zk536;pn)_{UiDOceSL_LsSp)M!gYauCqy^|=LwN;!h8XsouEINfsHK^A{-QI^D@ZY z)!Te7#CA)K+uH=^ABYirNAy@iW`h_h0N4t&L6l6%d4L3_S@b**8ZSVz!v+4l2(T4! zovoHMJv}|gpv5F+Weq}56V_pZ=xu`b=WbC+?ZR<2h(cxyayAk{dVzI->}CS@03b9Y zpF=tDUF+GYFDrF{0e6$A1Y-!3G{otdu`|FD zKTVWXQo;e@1cer|PDJJb?}isdDIokn$@vHgJfzd$Vo$upAsnC=7EXsNTkXDY1k%h1 z%&*(}S)S?M3O*d4m^gIC{*>$Z>lPzQ?Nuj>emT-AbD|yZsucz~kl@&9gN)^@2f@R~U_!=9}S6ePh^7o~s zr8&~-oq86uS-8Pf~Cihk@1RN0? zT*9W(m@pi&Z(s{I%dJaU`>BS4ZtTmnp6^*TiZbXUSX@G8 zXE*hE2ym#ot+|HSvm@y9Hx3Q+mDt`!w|4%E_Y&#N-dNEyJTOEwABZ&WKuTP^cd204S9=m1LyI1+*!xH`_Y*Ho_ z90VLW!9ZH`R5ZxiBcm$oy;Bnc6e9;-aEeQ&49@qcArzh$HfJO?u|OVdpl_?5S)o zlw?E3RZVe`eX5b>*YMy~v)(Uf)Bo%xAGlsNFT3@y?RfeEi97t?u~R+$w8f}dZKJ32 zx{(hjhEH7TZ#axCj=eAQ$JCU%{uYrn>@_)(rT-s%%wRV$Dg+cObH()b7fj0Q(F8G+~j$T4# zV^uuS;hyZ51wMKSms1ITl)-0q5z_vb1kRAqdB3gq`60=V?ZZ&@I}iE?k~s~+Y8^ih zn7_B?$&7eK(rGQ}1L06{neJan9~_DBhV;MvN=}L zX55SnZFr4GmbO1?cu+FDxq{H8QkI*E*x#^SnEZJ8Ws#1Y(gd4!pCKkFnxfg}c7Pg} z?G^{^>mK1D&$b?S+aoxHbhZmUgJkoB`9@L47(5&d=07rcwjEz=$-uL`FWdpMF(kDkRF$JtI9%PddR0yz>t3 zd%wJ?N5SwQJKx3j{_C8FaniRV$}t$KVNnCy^ttuffc!w$ihO>D8IL!5zDnUSxm?B& zbB#Wggcl9(4k9)H^8-ptt9IO^X{+Oy0KyLubN_kNTaQ0W9)qEmqSti(NCn0lSRL2& zOpU}@4VgzcK2RmN{d%dteVz*mEkrjyuE;`_X7#f)|2B{+p2&w~Zxrr)fYv6f*b_~6 zr-+;ljig}!r7lD>ixJ&S)`)Y>p8IjqPK)3w9vlYEzs$vU^tU#hOpSXbbsvm2BATKz z{R3{T_ghx-i+&0C3=N(tGoi`QB5zTBQbhWX-eeQ=17;*j9?Bnf8f@0^aBLJd`k*ym zIRZ7cj!4CK%&lj*GDTaNoAI0EMgFH^%M+Wyp!FCe`5~(@bS415qZUpw^eGV^DKYp@uTHnzl zxvdL%>m@Fe>3v_X&4r1sZkCVN=8=K0+m0%R_+PXEf8)S;pKS_xER+UcUNr*T1+w`_ zhCZ_B^d=N(B5nmjx1@3W4h#$o^l!bdV8IlJebg;3%MR2`YG3UVNpCysZp6|%MDq;@ z$gIBaK9c4m%B`}^%&=kId;E_1TI>yPF~7OP(OaCu3LMm>IlXI`K6AdsXq z)X4yCxsLVQD>WheSfAkUSHA^^VT@xgxcE*Oe=LU>*e5|qx?`dz^o_k zFsn4FpLu<%ftEQ`Fk)P*f4n2wF4d}eNhiRP$C&qFP1Z{}WH!=-H`D1?R>w8;PK=&N z%qV~GXf;~M6bbhAJ~MwLj8z|cC$4mS9dl1|js(QGDe=i`d0M2I9Hj4&Lg^wUk3{jZ zmWOW3nYt)#8y-`Tk`kr8%wVuLF?sHB6^W-x+x$GiQ#t@YD)g*W2`n^}`mUk$j&_QB*L>-h%^iPx>y zW3SasAWnbSeiJ##eoKpwIa=zDhe#+n27E*=`G&J3I?Yv2o+L63=A}cb#q0g^!O5TT zU~(O4sHXV4J=wYY zI=`4)JBnCNEA7}QjZN(TSb)jYGW|;I+>s}RTvWDxjv9lB=+Xg?@8I!lR6iuUI!P)s zZcm_Dzm-yoAoV)klMZ!RQ?p2~XuA#?u^vHQikdO5@*Q_GQzYJKT<-jmZqK3D2AZ(X z6SuldyGJEI@~sJ>8rj=FBw3-4@5)0-vAeoU@QPIIREMqmRiVK)`K{{|4i1h3L3B9c zga+jGd#vurq*C6i)lYA>!OI<-9iA@Sqx5oKT)Y#$&erF{5L%J=adsn`(dJX4SU2`t4d$Lu>NPFU*BFhAM zcU=3G?8?6(563^Qr~Bex2XBY+Jo8gpL{8sik=!Av4h?wtm7(==tki%;yIglDZt+%W zpx{;7-#+VUWxBz%Q;G4yVWg82`^>)X1@TLdm%nELbHyv|Q_;60zu%*}es~kSIrdk& z&f!=0Y|`R~SEaboex5|T`}>3cYAG(x+jB>or(%&4ajyEb-T2A{tsQnJqFiw1IJH$gq}o=Cgf^1PzM{&Bliu-v|!EzCX3>x-C0`xYRSxM(#8p z_dlzsa+)!tEZ}a-x+Gp4%m$&336dpd9L>`kveh!#YWnHucU$^K@Ig~wW2Sq0B; z&JLB@uDz%iIn#RZ7H@lh%RTeBZQtiH|8>c6>H8mwRhc$>9_^QxJzQ(o|-e&DCq* zRUj97Wpzrey!_6V-J?o}>X%@#RLY2Zu($VXI!qLh@w3FeN#xXm5`?7jPc&t#$*P6h z?>9jq&!TC%7l=@VEbN=9#5`zKyyO#ncK$lQ*5KA<)saPx!&9)m%g z&BffdYntxThP$pq@J$~9l3x!Vye!4A%vsv(Yu_6-^%vCFC7tlhNHo01zvT@QufghFW z3`>q=|GpsZjr{z8?#@wxFna?EmsGxHvF^``7b6u>{@sOM5xDHJom&m2$L$p?iA6tXb{r^)K~9kzZ^d&#mSP`EqU3?0kSjULL^nWcuq;*oS3Yiw{LEfuSj3MkK!t zn=+S^QWK|ZDDi4brBfFD4GK&Z6GOh6^$GiVb$w_4_0+vEDLXrcQGtk)P);i0@bcQi z%F3*I29(u~Okp*AH6rx5p5P&?PFr_c`h<-1$dQd6yIOoQl8B!DMkWWOdpCM$bS#)< zw)Jb)NAiU6kN)Uj$>E>;Q1E}_qll`M2C8D>j810! z_3hA~E{A%s`a!fy$KHpRs37Zxd+*zZmaum8Z3#5rd;3B#_y_;|bM_J&B3>gRJ?W}& zc-N3i;-1o-H5HVwk+VS!L?AQ$pnF^FGS{@mb|wV|4D#A{J%_o@kp)G9jbvG2a#btb z!i^J|9~}#uvQ(T82SaGiZR~Zj+y*2^pCFEQ;5IpdQN05djn4sco4?+w9Vnyltu)&u z+u35CiDhN}R%kBJ`k|C7K^50?Twj-&m30-@y1p&vm&GS>AUJKrZFRAf|?)om`7ccQ(A_ag;WMUo% zi__J|2)0h_Vl@fQx>4%&8fS&G@af+CGpG-Zh#f0Ar9=HH8NQ~+7Rp3fpyL?To8MVV zYV|;M2$AvWQcCoD#{Xy6vZ$ncx-cUT8F}RyB@))%_Nyxjc0Xf<#V0iD)fE!UGaI?4 z(4DN5DMFRmrvUa6GOWN?2KDBT^eQvTb|hWnE7k`;**A(}R?G7qx97V2KF11cKNqWR zPm>$aK0CUqX3%Z2Aj6GP^Zv2ak2X}L$=#A)fk#sPHR843&Dpr^Qslq&Dw~WH2KCUa zM5%-{bWx4P9C<+heQ9=4r5dpPx|iOYgI_PIf&((F4av?oHdFBTUxSz;q9O`uCpeWLNd17AY&0mSX;-KoOU z_a((>{12Iviob3=CPJgMy1PH9KQeZoOv$T_3AdRHz80p%!{uOQJByhVF0ri^$iLKA5&q=g^!OHKFtHb}R9)Du|LvsV`TiHf zvs=HcJkrx|g2&ci#Hs z@FV8B?V69+de82AaNNK>?_V)}aAu>tKD|^oq4`Z5$biB0UupsF9Io*`+4{=;p^_3z zbi7=K!=W0rm~_8ziHCI7J5gZUtc(b0zy9)IzqJPj(SN*~lc8;1*RE0$Sp*-8gWm?5 zRVSbQiksy;J5g-A@ZbgoKsm2clL$jyDfr$c3Rw80m zDYz2)lq;3|?pBJzyZ1X47t5M8ehBdLHiWPp)0pe%Ky`c#u$lb)e1<{SuPvCzJj{h! z^dGfISsE@~*9v$|BIhGq%lq3V+bX_g7TB?dyH5Sl)@jXu-KaSSMb8%S(Ix#*bGkp7 z5Ue5n*Ym?JEkWP2zsa7hxL6#nN$Y=>A=x^=urQDHku%+R$Q&fL9YRa28`rv|Apm`*WWfN<(7~h68B&X7cCE$o}vAG&^?JvxR#& z)tq^(?7F2lU~??F)Lv$gXfi$CWh1%2ltlI}`H!YUIGM}J;k*RF*bQmf5873t9<=j4 z6_VFqs`3H=;p+YKaSnO*7zZS@hUtF|7YA=G{`=f;)3Pd!)=$8bj*rEnXgZq?bxO_e zx2SHp@yPz5uJg}Hw%F)84Vu(OWcc_RC>YCkvt+$@%!F^IKRT&#vLTPIi;yP9 zHBJ0t#qXjx%YWJCC^np0iyft|U8WsVJW=?yVv(r~|_ z#5Od4n-D6-ebFLD7cm?-m?dwqBRq6raW_vfDo6fEH(B-W&ukz z_$CXlKlC>~p!O7T?8vWQG@A@fs+>DMlnq1y)}XSoGUCE_`Lu>LoHQ(42HGE^Qha<` zXZ>eh&3ku!y0Op&*HM_7;9ZdG`rtSi7cq|ac}j<6Z1ru`IdQP%$iqJGoS-e8{te?I z8tflq@>*`Bu=5S@g%h6g=93K8r{$cMitSxW6%<*cYNsa35U9nAR()MS)OBI=FZ~9Cw-V)1q+s=J*MWxb_8pdS9=+^qyv9zd~Be@I`*~%L%Iux_B zgJtb9{TPW?$MJbaB%z>b#l^?V!BS%fJ+Q#8+HNZ;U_FGWVaTT;5eUFcanwBk{hQAB z7ayW7z}Esrs1Qo~G-9s7t9{WEAWlC@;#LJ@Y8EK9w&#GhDFZo#6zs{^wX?xN3sJ~m zuL1FA3CTGG`4y?u1D4~u@;Pkjh&&<$O3&lKPpz!3ZUa>J_jLc3#J+2z?Rfsp{gxvF zls8gHBJ%-=3;fWr5V6Gq6hR4;FL%;TZXFihZK+5qAw(Vo7~LB5emyY~3d>r<*;ZeX zhrWOEq0|V1>N`a2U%ZdRzCQFh?yvs^;U6C$3l1dXNI>L}5;lOGv+V(rAPnRof3eVV zp8JPiK)`OYhzQv?p&&9Vg1ix8fOaegGR)apoErD+H2nCn|NYkiYcHfz zL43cEdG!+FwUA{2fy1Cie)K#mF|il2S;OEi0=)z~t_%bM1(Pd=Rue$ls=&4%JuhX& zK_VX@0PYqyH7p6h5#PFc2+skNfTkbVDg-2gCV_g+1i#^nZqHO9N_7F4-2n|spPZar zs-tU9I7wW zR$UrS{f5_xs)l^)!=7Sr7T&hop84e=)jyy)<&`~$P9x!#?C$XG<)I4yU=nws+9DPk z6?vqx;O~vedb`;&eAA(;*wuGx|LuBMRwY-AH@%T2kjZ2{7|tPcvSZdT+cXz>_V~N4 z5eHsHyR(+GE7s%9f5-R^!sQlY`|Z_U=M`mhhggsGxUCLWgFqiA`_U*l7pDq3)tS## zlH*)W7);z<;kARw=i32c;p~BZJE-_ZZJa(VCuZy47Y&*$?hH zUgY3R+%{DqktZnZMSEwUyd(xzUX5SM@z(dqb%(^mo!G3D)79zAvpLV9>uu^>%iMv( zXX-~IRF_reH$11>NTSt5{vMrQw*0+%&~n>JK}CWCSMsmLF1vyD4K-xA>wd6j*IfN z)8cBz_4o@%De8Y(QX?qm7ph78u*!(BxouSeHwHC12pwfXf({_J0oc^n+~iuCnzqyB zv|(Xk&>P^|9D>=HK~)Eu9^P5}4vvbJu0fvmA%y9K{0Im&Ux`tq>)by*g63ex)jt5Z zv>s0FfdM)cbW5Ti2LC9e?C1kGEs+%sSSB*S1)SzZfw!6kP9D&rzMT_Djjb@NpQ99W zWroQQWO_)T!Xls(R|41tcDtV(rlVju3&3E8G$g?AS;M;&>0bqRFPi~r0sLAF%t>IW z@Lr7+*_v+@fXLOmoSb;_8Z)&H6opT=Lw1BznLvpHlR1EZNR;arkSS9j_X4nJn(jzrDSEKAr|@t{PB*FULB%5vqX}QRLUCj{!?t1=@YR zFv~yJW;7E7)k}X#;Jxzz6GABBFp_(&muD`S0axB0`wPR6A5*2z*&=ZzbXUzQZqw8& z3Y_QF=KtXm7Eg$ zCsZZ996arBXDzI|>x4-0BT=(eEq1ca)6|Y)zn(e4YH0PRFiY!t&j%tL+xzIGWtWY9 zikWyhk)GB+?-qI4u0X1SaX?7#i`6!F)<8{4!RqeU z0*xjWapKLqGIn-UF{!sAw4yKGgXNa4fqDYsvc_iyS~|&d?+tMzC(C>Q-sW3##H$ zMX;yJr0{~LdHdd;~13nTdSSx`VM7q<0qxQzBPO&D0{uFn?i;X}o z@D5r6dkuZ8ZgoP>&n__9YicRu+NLy$PLJAhrSGM%rR;+>N_g zI57Yg1h}QoP(;D#K>zBPh~%ycqOl`T0bpDIB_=A!$zh;?=)?qn3OYNV>smir7IkzV z(tE=TA|g-_7fk}Y&dP56A_0zh^AG>A`TQ2UUDz&w@U8{IBk((32c1|vbD0d-qBK!v zKV9L=0a&mEC+p2IMSA?U%*QcL7m!38V1Bt9E@7s#g5~5F{Lrjz4}gq;*hh$~u=zPz zjLZ&VFE@C-57*2LUqW7h?PO8RRZrFtOXge!uGUxN(ggKOr^31JC2*a3S42-t6_F5yDjy}erbFe&tb~V8d$&o zV<>9(L1XEkjMsZ-hK%fqpkN&I{NgdF@!=Xa6l7`BrX(eWV5;9ft=bhD_!?gq=>da8 zXJac)a`zMB?T=vCy2T`PQNe@_s#vldDw%q`gJeMnZNH`tS@h}8m{BPPDF(uZwU?;{ z%YQa1CYJ`zpGsxf$Di&SwNQNGU@)rt-n;&u~0S0F`ZS6e{@%Ul0IPdIo>o`jQeKVRQw!65x2T4Q%Bc%mh1iGVTRiVvY43H z3gvdmTn`>lFXd`JgyjTwHIVc9dZ`-Hg&34IdD-hdb`AX`=&^3mS;0Jsfrbj%qcCZ1 z!eRv=@I|bKdi@+?9SUT;oeg9Y%6WQfsdh0M;rpRfmAgox6yVnxup1SsWg)x5^9|1{ zi24E>*jM;gOa9R3MoCGjf7+uQ8?#6~N2blvg$<5LFotl$K`or1F!du6tkubNr)?-lL@Pyoa<8Jk3_l29D`xZZ%JhfTdE@Jh0&i1Hbe^DTWb@?tYl2z)FEn=Dw-+ zf&KGMsz92%euSO1A=@yzVo<@aPyGyh3dw<+iKC zr!rmXE%%qnG)F$T!Zep%mG*SxZjOuW#UJ0~8k-T3fc&Rr87$UiOr0ab^qUTZ@Yv{ zs`0N_Y;E;%_35@Nc$X!^#06csv#uLrOm^8fLYD@^j8FyJGx?u~e?ABk;XU(oQI(mo zt}*9N;ojaz+gb5#Y=5bxS*V((0In&VDW|=*!}}K|_8BcOQzrr9^&1#yKI@^|QdtiS zb7VrYZ8=R^L=n#uA-2&su{wt5rcTW*Myw;G@;O!mv0&xPm-^dGMUjYd-*pWej%heJ zPfDk#RMNhz%Zy<)eQkGkdM@pJKO+(Q3PJl|_dR#ut_a{*q>*m?SH;$NKD$_7dT<1bXm3%>Q>-guOyP&K^eKPufbv0? z(7HFwm|*<@10=_B9pG<$7F8I-xlV#eo;m`fcRrK6z7&wi;_>Q!3Yk-gVGBsQ+eVvk z$em^x{^Poa(*c{8XgEEa2;uv{uA)r8YNZ-&#JUE2S6^UJrZK7uxb}x#hXQzsgDQl; zqX?;Du4f14QX+4^xOlgifXWdhU zpFd(C?5{_7N&|3X=H%pbK0`XvrWUL}sDST^U?*L zzPgM$*>R>i2JglF9!868(2aiz6%CftHvh&H#|{jgu(n>zDsK7RNsqT}ob-T$tnXRq zk{_JvfamE>lP(a^QZpFg8-;*6&KKmA3wZo3DGe>N@LQS)4+FoBzct0mOCXSCK`M)4 z^Ym}f=rbPy7vCRN-Zh8DBzSn`N>L9O$L;<<3!vO+ZCmfqWkEg@(A9m&Mfu5zFwB*U zzyR}__;{PMPA1&!By~}Mij~`5_olhJrm9JDU6gLx+|%S zT>$dlftv{q!)l24`hQ+LSZarch9Vfd=%Vl0_7lPp3Tc%Ap3MHCp?sjnAwaGY*iK|4 z2rDhmY(d{@BP&`m_3RL}&d|Syr;Q*#AqOv{gAZ7!W}4hN;O-9AJHcV;9Dw>QDB%F^ zdY2HJ7tS$seh1QEKlB=?d&$(?sPRm70=~_Vjd)B#f_n_x+r|C9eM!^27vPyi0>VE% zpG$Nj9pI=8C;IdUTzgRqh#Wg;Zp3>b$N zIC^%T(D|R4Bgtm~d?Nc(!H3b7>E(W~@0)f}z8z5~U@wX4s<&?h0Pr=83Ec!r`XEdxVa#9-Fn zB(*yI+i5&Yv5ro)pB`0+FjNC(`-KMi8$1N@NpI{m3Z%QTJjXzLOV~y`_LY#ZGA&(S z^#*miM8<~YrOn^1$$SjeeNMxEOtK%BkB$P_zvjIX`a?fxb{0S7cQD?Xtisr@NBKjO zU%GOud>lZhdT~ua-+Lj*twx>N;G-@vF|nxg5(-QOd2r00cb_&+7j;1c!yaTe293#U zkj~b>poijIuA$J6uLVFN3))YH!n=J40d6nhSh}*ZvNcso0UN9&$0K+@;Sh}ELK-2# z07x2Lz0(i4Z)k2BH83K5j<=*?#||$xQo?YU=0>=BH#dZ-m($Tf(kkI^p)L#0Yt`*O zG6%qZ8cA@6ygP!@DW8ElRQL(x0px`WrlO8c-HXL1@Ievmst)#{%(2dKXYIEam_KM> zO9ru%W^<78j8hR$k`GxQJsY(Hs2r02a=-_Fu2RdaoC`M{x*(*3w+kuh zK&=w#0Re^vfaL)3M#A)BnW6L3EoNm4sQe)2aqlB*q!u8j0RazCwfXHOj#zbp0zZT{ zS0rR)NP7*t@1NLEpq`rt^+_ZS|SnR*=(~Eyf7$71IYKG})qMqp*km8T@Dk zd&Y>$=X1iraLBYv3ZJ2z7xz1v(t~jSAc$ypf$Hql#E(Y1?Xf(p_RB+D$bX#_DC`s|#s(_sN+Y@ZTk_&ld6>ITbz8ppnIHdCBI@-s2N^#d+-kqR zYv$o!Nf>cc0Jv@eHpaKuZ8%Af?btlbcP=(gt^jTf3L5GOkIbsc(PS zubjv~t~spAq}aZaiBs+O6m_?tb|lfo}AT(q{>F zKFTcJe4`ypiM@nfB4Y4zLncE>$9kxf4OIU7U@19lG&NOgdE=<9Bh8xqUg$BSNmf@; zeL$f{EwT7~)!p*a0wc=Xx95LhqnXJC<3_ULaGo(mDhPEI5$|`{BwPIuwk^_^L}l_QPmQ69KG*p9^C3-V$yjE_@UG{(!d%ME z+{PQ9#U#0Qx=nlR10=_c09-v62~r+NGM8~IP&a5I&~FTpdoMA+){grcPp z%U$y;B~-TTmUJ&VvI>n`Bt0J}ZIn93Ynjfl7F(G)4_X9M;^UPEmauuPbxp~87;UetUk>X2#RT|b-*ZHw!w|P~Q9>%-u`QaPim zL3|m6iG{>eAOn?i91Lg%(g?*lKAmD zm|i+Q(5XK+d-Tr8t58Otcmv`X6-EL8fYdpb@91{Pehd!L55ud`U><*>9~z=w*v2Wx z4{PFvxF8v+4#j4@p>-Ihz6x3@rb`beYq)iM`bARQg8-8XqF)VPzF%yrXb2A7joI*& zr>L$HKY4Rqg09%1mJr^vJ=ex>DQPsC{`+Iq+%N-2(ySE9Bn=eu z$qqP7tfuHWW98RW?C zbaGDXn_5p&KPeOQrO5pfzM1s&+2_A~zb~}!KJ?}3VN!+HzB-rqKOHLriizqnMh|v)(D-u> z?gsV)b72m4DxA%{DW8W6X|j-3J;bW>N-C?0#d8%PPU>Zi*g5ZxKiku zcFHF_9=jA1z{m&QSlZFtPgJmP!b-aLx{rfog;z^(Tsj8(!LwCHHuCjseWH6~Vv@Ta zB(d4I^p#^@Gj9b_VJn#Gs7?%5ehqx9pITrpd^1^vKewn^Ax)L|$-5g7^61Mgd4gLn zqe9X{av3o4CbM(0b8HQH{~78C&1a(6X#Rls;0?#{G=bvT{Cr>i`V)-Jad9hOG*L(E zbOI82CffMOh9tzi1D50NeKnWSjOBPXb6MT@ z4lC^m^HiM#FR|}#|NIc*K{sG=Nbxr;ta>cl-fEdj>!A-bdBTppcV3BE?Cm2j^o#d~ zpLqre#tRJ2OD8GFk0%|+N|JOC#fya(8I3Feu}7yzO2C4yeNQ!rusLP--3afik-H{- zxqKgTyZevNoE(B^(1QXQaeVUiV&#ScLvix0o5b8lhWCOtXWW-K?~OJDj_DNsP#IXs z`Am+R)0x4-rp2G$kjzWtQA0N%6p5ln#Ut%i_4^mDr2{L#@mplqQ z(ag)NW|2#d6Y?`-v3vC+RLuo+oCD&Q7>LmeCSOD~j-Xr%Jp-dgST^IYqm+|Rvl z-O)J1N-N-ku#&r{okBp#Yh;6TJI97C^O<*ymf zL}RQ`7tn@M3?#zI+%@kDr#HXEc##rIL>g9UUYlI0OiU$a!DHi8QDX1)il1)RRpetp z&Z5|@R=@GuR~@zD*Xvj1x$7#j;*u16A|;&RXhb=};R^SQOu5KWDsq=j2hty(I~MhQ%a z?5L6-_t^THXbZi)dws0mJ4G>s`+Po&z0C$Epn9rl=3pUJOYlLqTwUy({qu)ZlL5rG z58_G#$P5rQB56{Q1jmUni25>lbuzW{;{|#U^;^^5D|!&5+DDAxoI0$M{13}NYlx)v z=TZV$UT@Kx&Kqk~h6XG*Z$!SdbNWN`$oxm06~Vuh-bQVa>JqrP_pUBPpBf7}6ZTmj zY3I{6_q-35dTm4m_EeqAH-jlNMggDFF=FOJ4Q1?#MFRNWNE=6*4%!yS*Idekwiiv)maFqQ>P{^awNM_FYkMZn2 ztgH6EuL}--$<}TQUFu!^9VWQ&Y{x}w!v$PEcoff6~S!=b}j z@~W`;s6u)|yT#Q>wIlGRdEr#o%8BBc_blpyca_i`4*~8M9ZK){8+M5>{*!B^tGF4X zk`-;)H(}7um7?1G#6?hyMB}yV@0iJtM2}B!#$ZZg5d0i&%%79Jk_0Pi_wLamY0zV| zCTh2+M=Z(2=OS@wD<4a6-q0vMz0+59zo01YESZ;>I-#2htKa!t)QvMTLyhD#EdkMRW-$@-EGt%@)t9?(g&ch8HmIPO$ z`~*S5yz7NFD)7~$!hOvx3aB&%S1mMUATr8?UjdtUNn+jB$2!};T%I4D14rWpfXWNo z2O`vf)__7xOi%v;dwD1H-jd8zd|=X}>a7p4cmH|f-*PWe9zN{pKfZXM_AqEJ(df5> z(9ZN#jh&Onp5);7=L5gQ;$`fc-obKOqQm-V`kPLXws3eqFZEry%SN{5>POZ~y#%>e zWUe17N`4r1J((DpW+LeKxhP=84i@`}+;Ev;Q8d>4XI`_fcth|X#2Q@o5p7&H#O1~i zuqQ>V>>08YYqqhDEfWX|`k~&C*Qikb`BVihkag*3=T&1$R6?hzqHGVlSY;Zm(eAH3 ziPRoya59x7N18umw-6?iVOZFL8`n*r?UQi(f?3yM2x})rAcsu2^yb>&2c-y~W5WSq z&3tfMxI%KsCUhAB?>-9BK?@2J;-Gs%TthUX&4Z8xfRFR+?k#$WAt*Nv=E%N-iXT>>%Im@NWu1{HbSE6UqU`IncvSdBn zRqdaby2712r zxm^~aY?7}9?wHb^pP9(@8E-gEc7Ue)w>|OUvs)s(8^sC?MS99H9+b%RFCrE~4w*#G zP?|=8rxsFR2YOE5syQ_ALE24K=Q;pP=eEC)0YQyOYg{OV_akk4p`RyM&QXz8=n%6O z0yQ9nPpdRXcmFwgNBGZ5gbggspi}m)yH-JA%fe!0I%^JkC&B<*0b~QA@qleRgtRAK z(Bbc@rn(JWL3uMAWY9|JlZv!o0rJIr=VQGsM1{c1e*;!^fOky%&z}K0_c@C80X75x zOqUz0q>IKtkVq)hR8f~8i*GCE9U^hUFKN_=erE?u>D!Q32g-yJ5|CN_Y!K>ixxkf? zvS|kU?lod*kOt*?fszE53q8yFz#ajmPqZaKUVu6!CL%(84Sk&;3ls?@Kwg{7OuBgw zNI(dA_@f@5ippd*@-FG+j__xT<-tXds+}b<2|t!G)&wi(xjSKK!Vx!7-+(sGAwpw$ zejzzqwa;lCr!@Sf=d9fyzeuy3H6}+`4x=TU&V1;2p(u3U8=d{DRDVKRQ&kkhR_!}^ zX*t4R8a9rf&!SxYV~_l}y$2cCbXm^Qe~<>syIK%Wwj3I&JyjS!YJOW#EGBt$nQ`P> zIo+w;@BO`XLGj*J^2Zfv`mYf@L<%9AF>cSbLO!YRfOGNLY-*n0!Me4!e4h2X#k>|z zW^+j|A*F?^eD`LO2KUQW5)5_i$bH@X@qFvsv1gEN>MnRoo#o5Tm?d$6Auk|lXq3(%HNw`}?a{wUn!|?FG zI=6uuXdlFKAPf}}hl&ERQ!~31rjFg+-AIgO|Njlj127Z2#z4dvs4QgA!hq2Q01*O` zAcO{Ke~F|QB0HIKE&Ko3VI6{Mkd zeEeq!zeIFUa4Fz{uq|0tRpocK{LT-;m!Pk10@OXxcwb$(W%?Z|0~{#><2kUxVYN3B ziHigIo^g;LfF>kj1u`Glyu`D-R&GM4^K#uIN9>%J@#L0?OX=~CZsyt&Vn=6LRHsZ>;fB(E7uo`s(!x@ zsJ$#-m^mLYV4Lwh)|U%AcBBt*l=yOp-#62CiWkeQ*(xJ=?fpqYh@Cu7DHNZQEI_K~ zRYqQ0<6TXkLRa}bZZ{TbInsQZsx%J24>Zdh8wTwM$rz{_Uw5!^1A||OGL!#NFvg`a z-$oPb+cngJgNu&V==IQfk{+|E+MBWxDu10$dUdx|$>x;a+ErV_2buAlx1OG+o6mmF zYZ38fLaAk^Sk3hLP;AWgmbaO#oqhGznh4h9t=Q-6XH4;4)VKr%Zt9^@=vgvjkrJOUjf67d3%w?e-*WID{p^SvQuyEIoXZU~R ze#jdN86j(-Zn<4lW$qTePsKE~k%tg!6?Eu=`J=bNWmOdPRR8uYXaSD&T82m?DWD<1 zWDLC_VVOj7d08QiGABo`%?mV2X662B8qzK(v0DJxH?Qne%9a>d^v4!_V+xcBc zt8G`pF3itI79a$8gJFdVF+$?UUuBWZ9VCnc#+94~fYOIuxIF*G$74vrb4PYB-q2hM zk)Du21q}h2nVAW}Uvc&CZwzx7ya#BN(DMqWsi0g|kb0nTLQw9Mqc90Qy&AARD6d}M zVPZmTpCu($HZ~;0#4-TBY&Bq^p-Nm|zJzwwGGNUJ-2GN@ef=xLGhIvP;$7BLEt|K( zZf_-yqZmWoK7`N6_f!`-JT-2<`c>3WXZ)Z^w_`!R;|3~BL6zBzw4`$PRfd@x*DtU7 zt<0<*S=(xjtYS&T&d;Yai`?7vT{!*M)`!jukvnX`5gi^}j2=ZQY-2bFS<^}5r7vaQ zX3fO@3RMY9)P63g+GFz>uk71(UG!+X;i!nDV~_g{+6k@mKKZ_}530uYEa%RL4v%ZP z-);K3WN$^jQX>} zy@rPJpopNID|rTvo(%kwZbn)jHX&!fr)h^wn^Fo3IeT~opZr<~ zHveb%wOUzKoAi(qcNxb~k=Mo>v#%CcQ$YD1X$)5!`vX3rGGgAiuT!xZnWxr@-e!kX zC_Yg|8g=*BwQm`{k#nY*vshcw9eP@qplEuXspzzaRf67QvNA4j$XMJT{}{V@?<&4R z4q>;Yr1SN#-xS!bt*?(k#1~@>HoVp=&?{&Y*1>!z-Xmk=9i30ne|PjWEW=WQer1LD zUu@rdEmJ&>f@DDiX@!W=rR+uDA~X z&whh}DzX}oqbAS&sGTNg_)Lfv-KVwWL>q8x#p0h79OZNn2;SAzwURReR%6HkTMaba zKHGVC;I5dbkvql;>1?cr-mBC%V*g>^37yFa%-EB|PR67kecIj2_1Eh>M?;QwGqheK zMk(q>cd`C2ZrEjvIvOKx z8p9+i>5S0#n0h`KXgXuqx0P+}2L^kcC)Z=@zs00lxbB>9Zy5$oo5`18ao-dX7Wv_$ zEW+J#1W7$t8CR`ocb6D5ZrDF(KX!;yD!H>x+_iq^YV{J{TvFn?)B+-G3~13zjslTw z8~Jfh{`Vw7-nBkh>O?ZGV2&a8UTEMI=S3sL#t0YxCa9{d!xdUUrzEZ_Mz-v_wH`dej3h;B&s;r4GF-Z(y3t?vp1SP zdU^*$I5x-~-_EY0J!>M9ze9?{=XGF47jXF-Eyig6=n=!uw^c?QE=jhsmU9a(XVkvq&WY{t1PI(Rxd2PyZX2+IuH(?%(rmgeZ|bM4sgdAt~^UG@2Ip^TiJ-F)!w zU&2AOKN0oG2SVEDI%8j_8n$$z!?w7h&OZ5aGMlu#iYqA!VSHKc>=GQg^If#7*Mm0L znSe84L!EpXOCdZC?XD$e?dy{}SO1>{FrV!B2A=762By!~rf%sSe8J)nEw-_Id*T3j zmF|R69{Hkg7>e<*F;a7vMdHRDZ4=>DHLm97sBV4bY{XNuc+*JO`^X<;J*1f?M)}J*qN%WoRIY|FZW9#M15$b4Ykkv5!)5NB@Cu#54tU)s^ zUD=*^sy^QLypQGHqPb+N0oVQ7qQT5`u$s?&DLfKB9833hvribJl${%IerkF7R=U61 zg(ij3IE7FqyY#-lK=I`Mnx}(+?V{k#EJcnqY>&f^0Tdec5bP++r|A#HGa4UXFD+^X ztc{fV1QBz=!hG_^buw{*I4qx(z`_30s%XgP)K$?L567HI;1U#~>4sHBe#jxX18C_` zL@6_BBnCni_#42QC_x@ygVW>((7urndRsxm+#*Q%l0f>X^-!2H3kfAa?6xc9{32=p zdkw1uEhan=32p|ez7aTCki@M)?&e?FM+oQ8yw?-~;(ZpRHmB5#+{f*6X#j%3#W)Gd z2;?->c$nU>INuDBK@t`rl*|=2oBSYBqFI(f0AB(TlY(;(nVvIj0ZFhi!10M&s{3&T zUf&OJnz|7+7Z52^_~AoLTwJ&Beyd`Z#H(cC=Tx`E52U0gX)H8ez(v7Qz72IBN=nLf zmtM+w|G&G)Nu;#ADV+L63sL*xD1!gA`Ut@!1H1wMeGy&rFXICGDALgb^Djhx|KOQR zcDr__Iqfe{c*LxTJMs0v{=RRutlxc4u8ED0O!q{(I!IDoj?NZ7*&2}$26Gk87dT@n zyb_XEoPHk|`a+((4NK!cD%!!=vLe>-@JxE4KTBMMy>$-D4Z=|lt1IN+|6}El!DiHW zhfN?6JrYXtv_>RWMQK*L^pjDh-z&B_$*Zujpb5(HW-%djxzBzdt}I`H#U18Hu|3DLJ9757-D)Q6>GoKoIUC#f z`SzmEM~kQ!C1%Am*PG_;i_zw{vBFSvbZ|9;t}kAI1PeA&=xE6Vh(e#Bs-P;L}~l3JB?R z*Dq|z1q0rj8GX1sEw9V_7RHym-yH!-&S&0*A#t{Z4qq40BxERlw<{zQFSJX=q6{>4 z851BjwUpQYWI?}~IsaOt^(X(I$tX~M z(Dz5q66z)YhQz5kcEWeCOHY-XbPtmoOwwQwtH#El8-6#6o#-|H?T7hY6_d!tyx&XD zc9jX38}iFIPdYvj)!KdgL_mS}V)(OO`(}osCZ8Kw_^_Y4Wz>w*ZS8#x+7dZNHmYZE zD^_3$=9~zk=`)Apm7wEHWj39N|5KQ`u`z>gv^r^NX+f!n?f48p7htUD;7I`IR|qG+ zkUdif4QOm^gntCB;CB-5XF7`x!MPqsZq+o419Bmy7}Omf{V_%MYXMj1_nOKl;6x~M z3hPJ+AW;YNFGu;nqX6@ESl=q!_yGx-&9gCwrEd&eTIdv8I&&e ziR)j~W2OOzSev<-o^LH=qi4omO!_|uQ z(?kdJ=CMoRC-H2WzfOyW44a};7Jsdp>Iuo}kZJ35mQq{2?HV$@ctAgF*j?V*m_8{G zDe$h2<>5zijp;kY2}CR5fl^CT|GZ9epPJM4uO#@MUu-^{_wwNQ6s%gsS$X;AnBE|8xW|jl@FB6#;=AmT2sLk>5uT881Uzb(mgu$Eq{FEO9xzV`Zg zPj?-6nLtMhn?95fO;KO}iMfW6A;zL*(GWNVCe$f?{32zz;#NM^Ge&h+XVo1pmkE_E zG`y4eLH+WonAUcx=q}N{Z-e@-WuYfeLc^9~eK9D+b31~$r002OD5Y-f-0~|*zR#hz zyOyd*e%NLF&u)&rHki~7h2j&bT{=q)jpc&ZYGj^GqK-~zp#sIG3Rm&WXCKT>7S2E+ zRTk1JZ=XZg5z!A^#)eZYJG>_f2})7qE~qW$I}!^Qjx4zCb26L4?%v1WI^CRfD6phO zElAjc&Zn-(6|3ByY8`1C{Qj$_ouE&@{3xC(gB4l@bKGsRXAGu)3KvQ`7uIVZ&UXJ1 zO_kBx40Vz|GOQDPkHg_wZJivo`n$)wiM^+#^#UhxS&bXuRB%G0|bNpVu7mqf0eyB7jx}Qy}qHlkzlZbL2xT!ceiOHIIK_k#I&L_y@ z!`3QaN*qq?V9H!HV{PybU0#Eiltfm@#T{!f%%X8je{|(?2Zhv4M_Q+|T0U&0-~C2T zWk{}6Qr*dxhwsD0f7Ov}S(l#^PW?uf7KTMVt$fFS77*4w=X{E@!W1c$ox36uhf}+H z!I9EP9^Kj+^|AS|;k@PBGq1o)x+W*5D|{VZT78uA;i*lJjrlq2-+S+c-qZdd%I%@V z-8dz$tLgX;vw(P@D*vL)gn*>LZX8UvmJjii#X`AO%7W!9NAqed{t-x|wx))O;4>@< z4cr{`P>v0cE-yaA&){mV_S&gQ7&_k&F%jj@t=5;nj2LU{ zxGR~o)L-)~(GxEl5|GPZ_Z&9UUrbCFseXv>fHhFdNmF>yGO8FCNY|-AY{-^o5ZzuA zHDr`#b2S^1&7+}J#;$wIh`267WNA6-ar4W~my6@|zOt!;Pu^JIFCY5iK3?SvTT5mP zsmwQIAe8$hj^h&&A6UXJTE0}wHh6ooneCpNBeQ&Eeity&sL|3+qF+h{{8uuzIg}le zyB<#e`QSON@LGn|B0&{}B;v|GHA?X)vB|9bC+nB1rhfbUAY3BP>p$4^B`drqX{vtB z>~Tk!)7%pquL()zLVe*BTEUHPaQu(_ZosiXP5VNBNTK`6aoogBA5~W--P-S7qT|>` zg7Rug80hH&*+g7anApthfw({4a2NzE$#zzY<|tZTc>K$_S8&-8=ZP1}CGx1rF=Oa* zVR35hAq>#lQ@-*{#lmo1jv}cI(usBl%kxveW)iyFo#>QiT)xChu*c9m_gk28lkokm zVB#HcLk8Qa;S+`Ig`lhssSMEr^E)nP7d6Gcd_roChCj7+CNCwrri_z{!yj2k4R(>u z8VQ#14J@FfEUWtuvoWV)Hk%T19Ph;RhW$uAIPbz&xw5?>uu-vk__AqizdxGKCASn4_2Eq&uC{`J!4Yw)$v@c+>=}jyq`vdgq(5&NMQ-4uVkZTd%p_FRk6L%e zE^aS2d*9?9f5d6OxAq8mWVi3YBm2S>%wVrbOy2pny!ru0^t9w&m}*eJ?ap-o&KgdqKZ0#)^AKyW@P%%NPEAO^c`e z9#&W*bPG}0)6Aq*&VvlEAOJKin#bu16nsnEdk3TwY<;#=1S(9z#)A z;#XySa(ggr38!9#D;civEtj^Ax!d)(V@dAF`htqJ9A(p^fpqQiwrs5D6ZUa7532ne z(y=iLe)ia4s7IWuk}_I{*B$^N(bDoTQj_Fmi~_bZ|KVSB*;?XG7tVL7wSh*0CHQLX zN4T$=gg^7v68qqC@ZBl9$f3H8|A?6kpDmb0C$lo{9Y=aF#j*d7r4Y6DLhJD8u^_`Z zl3Mmp*yPxPI!tDCzpS_k*Ay)7vJ58jK=Zo$9zS32B(_RA(#UH#)4aQ38X%u>zt#@i zbx|A?9~7x|bfB;jus5)Aax1`kp*{_c#Z;a~v+q7llFB5?KM5q*beY!II{k9IsTrE` z3^n&>+A|iJLh^x6s*l4P*U(BzmbK8m+<1r{yiZsRyh%*)xtyb)K#@;1vUGI2voa32 zyT2R_8&?K+J9B|9miIL(tY6O;vHWdJLVeRQ*>VyWuZpgy4Fn%2Hw!iClcr5$=WXR>3ui(byo4qdHSGim3 z!7gGNz|mAJusL{56s9o9_14|^o`}e2Z=1}~+0FExm!smcy3CIi`l1*mqN4~8_R4fx zE;^$HpT~Et*5l_m_&j8clGSZ!kk>O`Au`j7Lu=qHdZeP=??7kIk|w`U&Q2x4^jhz% za-J1#PuyZAhlaG{9Jhf-u);~K*Fn=2=e0X^+`?tl;}_TO2S>Miw>q~Q7{6US))fD3 zc&+ct91zxbRn3O0qvN%b`o!x!#*ODXySI!?Xx=zc8A;X&oc{9^W4aJxseOVH{v5ZU z*QhpxK0dcyjW}$rpF!_oEW7IG5m{`JoKLp$sH!?%%NhII3vCju_eGdVi)R>bOHI4| z*_$22+J7atS)L)bo!=JBn!0SZ z`dy!?Nmtf`n#PSlI=uZw9372*ZZ!=3(_FU0LI#bM;<3=!ht4JFlw#y`T0J)8S>wg5 z>;)S=>Z-X<;)_Un$voPgn_JX4F#ja%$?^Sr(Q?q?Trh0h_jvzbNBRq4mx(hH+p$W_ zoT3n>yl$*2Qw*#}yF_@rFmIqYf4F;v;X&S@^GWg`$IRe(Z#LPZX8P#zf#l15XvVz~ z&ubTY>G8-N862_p(MJE2N;vBr%pZhNTb)0|jPO4TA}jSg>Ljja=oH z$V$8RrY5Kg&6Xmp>zXMy{(3DK<+ODsNdFTxf&w=}T~v3GCAeefXr)KC8%_;rD70jxVxW)6R3}+blTCqT#tK10p6h>DU_g$nQMSCd9RP zYgkg^{AXYn%8EpzZNF)g7KMV~6>?b!CGb*7P}l$C6HRj6_V+zXfv#Uf=B|%vgM|S6Xnun>B6E+ql z)}0muV0oUXkmS8M=ED;^w<>5m$4o8AEq1jRqrtY=cs^iqOS0_y$TQCoGbpUizuHw+ zX(*6nQ#PsY8iPJ%{nw+DEf~Y3ehTX0OR`d7%?f&}$p?L=*UI()SUC86ITn=n39+@c z(X2JA7-y=DO){^j>ABD1tnmr{B(q+vX;gZwN0{AU3yip9Kap!d`($@IzHsqetnQ`m zceT8@kRc(cLDRX`vKPm~rgkv$Zn_Tzuc|~!P2x~GHbwgPF!5$r1+o=J;ej~0*n2m# zHkUG<-5}Ev@m^X8oA)2gzz9TrB3^Z?z1*nBu6uL|dM4aiQnvna;r{;qGr_?`?!u?1 zP8dPb8^ak{i;6mTZsYOq#*K=5c`${hXqQ6J zV5Ifq?R&N>XK|f|D4q6}e+rcg2!uZiPX37&|Aza?373+^-(`l(vS2kC`nDo_8$7^S zxy6hJ3hyR+{vfXe@~_vdpcbQf6Tev;Aa(OIJL$6txfSoGI7Pa*n3KMTJGPC^^mZ27 z=yvh@WMgd>(Q@VEN_AIQX!!|*l!0BV39iD}q9MWZGUNFl$j?6Vw4Sx4sdEEMY;#`c z@|BxJ1`K80TNci%F&VtW_xtb1WlLT~*Q*Zl>g0kdx1gg0Rk0(&8fKjn)_(^*C1rAP z*5mMPb+ZcNK$`t;GYK(e?Cr6%n6V97?9pBaq90s#gMU<|u&v_B(Zzq$?L-TvEgZL` zZlipHu^+k8j9qRat~MVnuqf0YzF+wQ91UG~22U}U1xF5H-?0X$_r)=6hv{~2R^DGc z_n)w>Z>olULx)i$=%Pdu9Hri1?Ib-l`jp68qK`4o`MTZce5ph@^>+QeyL<-i@msMN zZj?XOSPnta(nxv}?9QwO`>}*rp|K6t&Svx(Jd38ATFA$-GT@*L^)72D))+S9iz&iV z5YW>RapjTeuyEYjqU9)Zb9#Q-$HaZ9NaQa&{E)2Sg2h5u#DM+Hkg~Cdq_e5aUS|c) z*(z49BW+b>d|(joa}^1X(U(xe@T~SI+o6k-7qRvYg0+j?{2JB4*rNohxZGgut~ds% z9>k3%g|6C8p{3P%#Uxc>u0KVue*a;v3n?_tEnzTVzWqV!cU#obLIrsQnvR z0HZG4HL;lFvMu1dU;t`@`Nc^Z1~e1n_5G*9dg#@H13Rbcfsi3iYw$kiKN8=s;L08E?wsC-3brs`xRHp7qc-VMOR8eSciGXYQW>ojP#=04J=>%N#7sU(2MeZ(gGh( z{;EH4WN(q7xw~-uKUgiPc?%hIowS<@hv$6XWS_6`Aw?6a|F(qhA>h0Lb?+iiIa~FI zxfhm>#=mn~z@0NoE+>ty6K~b&O|!rea=<%U7u$|AVg{+^ytr`}V)-dHd8{eUiL0RA?;#5MR6PPY%Qp}5-=tiwSlsRPXYuYtR+^ey7;n}aIT97>5W*3o218AaBX}YU zJv(w~E^@{5)jqb|pVBED{tF(qhi#tYYr^mF7A|2S_PKWDB+P{ZT~ICv-?`s zujO=~o~-`d2ZSH=cRqF!T^Ery&8AWm$U<%SV24C%SKO)MFMM}#a7E=I@K$~Dqbw*Z z-A3h6NZ2c6j`%Hq8iT)h+1z&eM9UHg+0610gow0o1)I5ZWDoucT>M2+n#P1aKr#%9 z_riv!i&azH9HuGeIE;a#{l_A0(Rn@sxq1QtUdR?-qL2={Vwfute7^(Ivkw^o0p#)^ zhS|@4B7b9dybMcJ5s8<#adSIFi3>+*zTStv* zW@b-+b(eoUz&E)%*S*=e>h`6?*W*Is_K~5~=TFDHJl$mux?4!q^SI2XmUA~E_rORK z!Qq(1L=b2qE!X#^A1tsTf1XS1pPF?k@bZl6Q8+XO$0K~BngH_V&8LU{ITr6`M_S?E zi>Q*)gh?{PiJ#P-5`4opwJ0p!ODB@!qA2|G`(47I72TZ><7YhloxA3XQnkwL_g+fX zXw^q+a3B1UDm>zYRfgIRZrP1|Jbk0kbI*p&6R@B!-h|`ra#>%~><)H@e54X=>(mLywcw5fL zKlUNZ(PCFt$T$Z_H;bl$fT9I-%?SPIS=qDN?1b$|-{R+Ovys=~;%m9;%r~;EJXkD* zAKYXit|jVHPIC&a+h|9NG+a9IYFsZ%{W8}QLsecFrwPtoC_8!p(D-mcmDx~$g>pcJ zj)==L_ke1-p<29>7yfnY``WszYFWH8I)N*L-i z_Qw4W@r|xu^pBkk~hhNz2#MWvXf0%sG4EMk$R+GunHu1et`Q)$X8audsU-+`}B&X(Oy7P&x6@!p?kUmKJn#!#rrAbB+PSkiz1ro?ePrPlCiR<5Noo_#nfj6Icxh)Xz8dI7i zpou4rPD*iPJjW{(5)|o3_&nYZtsdrwI!d`w>sfN<)Jc&O&oni z96ibLn;=_*7X}s7hCZu#CCr zT1iKzFlIFHk{vd1<3)ez?)#m}^k77Yt=y(|dyC$X=;lKatLB^lW{$(b4alih%m)fy zsxH@W6*w{=(9Y4htjn;=br5pJW%@X(vw1A>CJ zP8?L}HY!KTMlh(oe&zX5UfRsyScs^<)8vPHtB~$mmGusbQZ~3xds_nPLGa{ctgL7; z{SjrKUysr1it6*AWhqM1MRXrbRN5qiz7CV^z^lcx8=**^N*vy#uSeKf6XB`SJTDR{^tB<^0!=YE~<6i=J-$Tb7k2mmN2k|&!OTZz*7Z6YHdL= z?YiAq<=#Wu-Txf7=8oyY#dwT0!x1V)vKbhBDG~LU`FbCgJp9;Pu5phWDo|)$<;L;< zq4cN!tc+!kqm2A~{+PB>ZG2>_-(ttcgNkhpv(_h9eF^&@AWIb&4C!afv#!ZI-#|(( z(yOyPjV%8gpNO?~srpZ2-_o8)ehQ4DN>;jbLP<-D2BY&tgZ`h*U?%{_29t=O8pD|W zb&p*XfvBIFH9ZtuahItQLM_yVH7SdTDw9!Dws@kGAaU?qvNc|U4+}_Zzcrt3Z_ym z3}kllhgkySeuoOCHw$$pFLlJ}Fht>cv%O%JYRpFaTC~15CK+3Dq#R!VaVSgIVOGv+ z_VjE$7^B8UgI^e@>9!w97kP%vuwXT|wgV?{f14m9(Kj~tw7RN8;Dymfnc zKUF;$SOs~YRc9L>NAVvkJiUCE?0X-5sVM?qO%lSpUuWrIVs(o3><28#nF^jN_qa+I z<80PEkGOA5%~UoWVp@OIvv-W%MgXaC5Qq|GqGacDI$uq#Mo17Me$9!*kJG2l>5L1H zDkz2(fKx4a8U7tJymh#CbUVu&bn5BsD6@+~R330?`RqNbo7$nO{Oz~4MC~_(H?I_1 znxh+6PWb+QpvR3lrZl9_i77;>WR$BmlVp`Z(0X3a)b=S^wA>Y^S#m;29@?Cv;8=Fo z{q;9-VxrlteJ4-HS#{d;;b}90hfzoG5R!xUy03%`K=Df8HUgvbUDDxdk~HJMF#QLe zdN3MdI8S;zXVgqJgJ9p6job3L$6%j~{QCnKAhk%JPSYG6ZVH6KZm zpg<=~tVO}Qh|sY!G4N(#@p?|TO{Xq(=a{h1KU01HS;}5^x0%v@LOtF;HIV!PTJz&N zOG{YYS@AD~SJlZ!n|TT@mRhvz0Uk_YsUKgT?Y|R0}O% z4pa|C-@VqGz{2bn6Vc!itLMIQcj!Xken}mu#WJsCeJ9u9^#wWHn1V-%Z2x8O#|W?Y z(}jL!LlYLQYe|OxhD(cZ#V`0WwmFsnQ{f#D<1=QJiOtnTBFR!o;WtjksmTlyprF2m z%kpVNReH;tjYBRA`4@+Pz`&*bWGlScVzS8gyTvhy%x?mH$MbMSy~tYe2@plHe_(3- z_a4qi$AvSX#1ILdNEVg)dwRrIdL5tAb=~ArKMz2te%e2R* zyWV8H;i0N(tI; z{9s!1qVOP(8udLWYcfzP^9LUAAtJ)*sm`ZiZ9k1^IvoGGrg{+gnjT9X*By}4^N*7G z*7n`3LW)HD#?%8zo*Z{q^mSsV8(kru~H0@wl=l*VyEN$>jrv_v=R@ zU*fyQv9!7xjVf;bc&>(rZ>+z$f6HIPRj%+U3M))3%%=%#EiwO2sp3ka({ZR1Q9%-A zOA=Nl;~g?u==67;-6bSzS_M4yP-1oUkLT|0ClND?SDW5_Sxbov&wmMrTxGd>Ik><& zXzWR%iwpl+qO?WXweovpHDZfD=86sV4XB;1AmlLUh#B(`xIlFZYG(9!P%c2q9I4MU zd~pI&WvwbqjN;UmG$vN?vkwX{=KMG9bxmKISrwwe;y~u%Hi4_Buxj?MGsLo_miU@D zw;f_H!y`!%OBH_DPhRXSo^H=XkS>CfUsifJI=GQLUwXGNuZQ4?Qq^r{Kb!DTMpPXq zu%L4qA9TB?tvIX*D;R5?XqZY+^j>pCN%&$vN>==lD9d> zQ04pN*%wVb1T@A5WWl7Mt(8VGQ;rUs?<2y_))r{2vH%lG@}OCy(uQBynE7_h?^)HH z{P7y^)9!o$oQt(u>$M)J{DPjtLv#%Oax(s0p7rR-?uVKlHnn39$5+ZjYm-w=L{)EH z9oW@C4{L>N%LWp*F+OeKmCg56#BO$s$SCa2MCAV7Q%@cr5htOP>VOHDPdzk0D9X#h znHm4439=D}2I_`MGvFj)$v0dCjd9*S9-wF?4bjtb(<(yVNWkc zu#LVlw%im`m83d?C>{2CoGi;)szqj}LwewXPg~W^%hST2f@y`argMGzL_vZNH9Vn~)Z1k8m>gGn6!gN7y%Ysp z0yItp56h^jlUwn7b6RtKQ23&d0q$2QBq*e@!G|Xxh-t42PJP3Dx~W$<&fKbBEEqWA z-A&SHS^P+M7ZohQJF)}r2sh3^=e*kClb?k8jLMEs`-%Zs0ovEP&k`}EB}V)DBIKqP z$qXUnxcEZF)&wyt+`*qnGi0Y78(hCAikV?{vp2KEYEpS|i{G=q1#Q%Jd1T+mTz{mFV+dO0PEbRF zMX$V&5oC#;od)oJLcil-(Bi5QOpK3`M8pR=$1iq=B2uf}vBsA96KwacWIi^=y*H3^7W5pMrhrHQ_5mYjbG4!wT6v}LE zdsiGbZQhJgaYKF(Q2Ms+15knz&5|d+2bYtbmra$gfwe2BKyD*N3Rnoe`=5arg4|b+95!jssvOpYg z!GW$?>KXE3hFBtu9(+%dw6wI4X+}OUlSCE_`h_7DXTU3FoaII7hIE$#8EyS)od{Xy z{iJuBPG#CMu~p*19V7pb91J#-=*h4e%|Y-9$0-u~Z3%~kNz9e+SAA!~NHxsmbB7dyZlQVZ>jU_i+5Y*`D9= zUtvnm$AXWy=I~XvCyYvwaTUIj5_C4O#h&nkev%N{ z6M#a6gttaok-GIW%JPFT%&gut z44nc3V`WiAg(!PCFNh4VLqVE^6tgAifb}KSlz^c92S9iRr^>L737sA4nh6YLb zIH&v822RV>Jgb01|9~^|Pa3W8)%^fy_Ud1b3M>if9y>8DtI z^3|ipPq*%C++{qq__Q~_KHYZ&<6w1G3ER&|_2`)Bvi;&hYrPjtj<%Imse(VmR8dM7 z7|%yf`ZyS#E>Dd^Kn|;cpVO%?Z}Bg^mh)G#c+52lf>geAQl2**5|xKsfx^pIO<~>6 zc3b?Ovm-(o3?@Q?XchEko9QSKdV@rTd z<7cUP7o5&hQ$9$^eFgYkcu9w~CB{t*i{M^SHhxElri5K|^*!hjuON(0HI~NE^{KG& zbg>Z`F^yN;u?w8MA8jT_r_NIZl?jSi3?u2UeHh$z*3{S_a!JfcZS=0R#L~=MA=Xnz zq_wP|j(tp|iWz`+(l~ouSUEe5g5j-niZ}j51^(Vvr3;k1XPq~mR2X8bO)TIVqig2^ zM?5z^F3y|{L4n_=e=&wVqg*I3nMiiko-U(~HV?Xm( zzU85@KKyumeO0f2z=48N=K!KD9}hToU|3XOH7Rvp6?AHU(BZhNo=JaK!&OimpsJ?E zvn)dot8-=PLlaBHviXalcswEBEKc$Lt?>knw|<7N;1mMR!Z&>idJ=N7`2(W~#ZMkq z=N!ka*Hm!VmOuOvP-QT5<(1A~SjtgHfd!nAv2^ZXLyQ}9-ftweAk0kL`FJrE1XhrS zPC!k7zy?q6ya6~t-|xu<7_T*VpF!hpQ%~jLNH~YdfGdRtZ$^6wTR7&z;-os|+Mm;J zLd=a9Cot}yw)@y*WYOuam4>|?$T1NtT7Mde_JGQzDwP1tMP2+H0V_%^?m z8NO9APK5z2^KyT_f%YilW?YTH2}m>*C7$}c#iu~L_#=Ck?q_|exC*D3$hbv?>k!GY z*F9qyPdQcQe*1JAvDOx5&HK-&&c$%8R6B-`e-5JCv> z0W`>djkW=kx8XUb06bj@2Ee=4?1yLgvcTkI5>FEE%8}{c$qeK}4d2|d5;*~RKJ#q# z^OIN+^h$L}v|Ty#q!H#A#hn@WvF#f@mYBBMkbtHA@5@wL_wh{{!#Fyd0?H zTO*HWBX7398171s81Kh?_A|hvh|nBxfqF(6UWPVYS{9o3q{@)~*U``8EQ2 zS-x8gfVSp&bpMsoY7<44_d)`puUaP?3{AnS8cRXx$3fh5kC_!aNQgng>u4Hw0~xvi zqrJFI%p_~f(c~XO54Pr3`F09}HZ_TV-MB1|E6_62-JA z=wTd_64gEi+gD~-iVYZsW4xdQlax)7%#^Gkqep0WfGx)F+O&p#57}^BLjeU`Sciko&8}yd^8XBP>_4cGb5ZOQ@@pw14IyS=tW3 z+fK4K2PZSN1SOQN!of;p*6fMVN!cN$)mNO3s8sMTiVKFE$mEsjIZq@?lzsE!@3+Z*Ow z?W%P*{b&2VPFiQ?itE5M*)P%>y%H7ZhHxFfUYpAdxNg1fr#|vy>LIcC%eSg1&*t-W zj9UEA0iJkgr9ECv35S z`}p*XR%}2Uru?+fdu-orXaO}-M51+b_PlU%KGQ{ABW*WOJFACUraA{D^NN$y!26kZ zN+?Z!j3lFRcl|;cJD|em`C>QsmtK3A5?yehSgzz%qv2ty^X|XbzwG5;_ep5l&lzNs zpF~_0P_vaNsZ%dT@#V9geLAZ|)Z#Ep9yMgTJqyp~yH62w&q zW=yve)o7S#;|$!?o3O9n5)An+hio-m@|PhReU77+Mt?=+ArDehTGsX#${PbWOyW;@ zafB?MSdw6RghZg}#S%?jr4vkNsYnG^J2KPAX?GvX?fo*)SCe3*3Vc;1#yy)p5!fDM zOM=A!KmJo)kVcn3pJs<0o z!}-b#r#}6G>UjN)fG|ajfj0r>m|@}#Pi0{(ch{kZ^YH^&3vL{Hz4SzW>j=v!k2G(6 zmDI$|i;3P7E86mAC_3@BGPzzWD^F&bI&v!cj9i0N<80gK0 ziBmve2>Pv_z`FM>XcP>g$w0DTFwz{oft_9regGLSx_wHtGZ7sbi(;{R$TJzSSotC~ zo9)Yt&(4>g{;$wC>;`RrCa$*qXuF`lfPJg8lZw_W``?uvZc&L$ZpalP?4!W@Jr_7+ z{PW~G5h0fGPi#^C#bC8#9zszd_dF1|b9Ii*%KFPj|@7Ekg`7YF20-(;K zvHGtLyI#ykpt{7nF-C=UjE}um5m`vwxIZ(0603>3T&~rNvxeK9;7&x_vB{Gy4523a z<)3EvBVTRt{srPQ0E`{u6HV-|*5$2903krstBhj~N+1xOpg0AFZPOkNn4^$VP(TG@ z1}ZRBsp~Yt#cA{JG9^mUaTju=D9x2cF)jvs!lxDV+4-4QUDvnjau#5@nn^pw5ji2t z_d4hvdsw})`82(~&Ym$4hTHlI3#*gH_Z|Ju1K<>~nqdIul#gJ_3xZFrv)SN5_3-d` z-48KUw7fh&EP{cc-6jQda~dFsSOxGORuzOXFbvvH;uQ(b&bYX^z=NiSGFkAY)amiQ zSJq?j{IdPf?uJhb7%9qDe4TiEzM8=I$|`Zq<-Pz{~45fg!4^0p5_dM2#M~)03Pfs z_w^LS*$|7xE1saklCB#8q?H_H=yPQ}yCql% zY7*Ucu%#^sa7a0|5F`UA3NfC)EuW28Ibr4DR$$X|uF+LD`J4q&T>(OjKxD4qwVLEz z)%&3wpK7Xmw?yW6)UQ{coEmOsW}Iy@#H^xVBQMSm0&qUCorSdNKKfOAY_(?L``K#R zQzl**^TBqlA!t7N5V1bGA(49X1f|)XAa4fjZ#-*FQ08fRl zFBevCw$i3~+)iIc1__KyzHYaR8;pP?O+o0;L()vO+Uhutl*(<7*KVNqCaAbXoFP>@ z33{&XgSjMb^a1vLr6yM*xFQVd3E3Q%K2P!HapRiWF59|$2#v>PGuhUHCvI%#3eQoC zA#J|B(oh++(=Hz9R!;I0L%V!Vjck4 z0%!)5!5wVKl96vkK`I&{Fbh#PK}bUYl>k^z;4cAV&#RbO!phgC5*~*~F39|CBpV?# z=)WDs?taI@Y9S3s>ytDz;b{u+WNpjG;ZGOxikE6?EAkNi)IKP?+?$Hu(Ra_VesRFp z&q5iNY{2D94SZ=m5~%+$afcg4FJJ8P`}O*~2OhHRiE zZVH@ld(4XON*8mzZfL>YuR9m&H+ak&v7yH~@}UZb>Q#LIyr+Ksq|IY@nm9>+$0W#& zhhzQ2te4wxI$RqXNMb%pMiU`+B+#p-2>I}Vc|pkh|7r>Vj+`&Ktw2V)?=Sb9#*aV& zHy0p|z{GbLu-Q!jqBmq_=*8lsrMtAKPUvxTc#l?)>N_knte7nH&){W#Iz4n8rOL_6 zi~Uwzra$UxUo{)BVS_3(SS>GaWC)A&9k3{5 z4geGMQSDzlhwDRaV`Jl8AeH%R{EaYqs26Zg#y~6$L92s*PL174TZhm#(OA`saJvnG z8Quu`Upg)xQ~q!UJZnRC0_QLDE=h7}5em#D@!D__RV|TiO!v0r81&Vg$+(@!+U(F@E zMfNQi5R?eWzZLKNU7efMIcF)2{XJY+$h3^at?9~>M! zo-2js?c?KA3qffEpASb4-DHl$o1EO-i*$&D1#*Z$+_apQ<4{4J9YAOjGGk?Sw%*&* z+sh8hSweT4Sm0>@pa+102SO%E0f?T%<{u|AoSXbfWF#^eAjJo^R7H1po=$LZQc<0P z17HeFmTnKHeh?AqSZQ=2iG+(iL;FikF|8vm`&xHEJ3qFn+xb;!{O-Ma3R@MT-RP3^ z(*ASs*E|2*!`A+1mg8RTfKXC`VHnE33Xdt=rt78{MnB^91Bs!O>rPWxJt!7lyS(I* zqLdMHrsY@ecb-!NLBB`PZhIfqGZaQ7>=B}=?;X7Z z2Iz1Z7$X?9!y}fDy0jaP>CU7u!>rJC|2X9a#%Wujtfd1*!K>pP3VM1(KR-XHBo@6v z@a}1W#|KI2EjicidED>!3VDIf1t1edl(8XJF)&TZmNo*2>U~bjkjZMm05jnvkd~L< z0=C4{NbC8_la;LA2seq>lK<-kz}w+S;bK6==^pv1Ok+fPT9MelMy-%*>CG zrSWhJJ|Zysji278%sP(#?ajsT{UsKtmH49xJ+rd5-&5d5;A^V1f*}(>Q*CBq4 z3sxwcg1dlb+oe*OJZurT!t-<~lFxFD&HMLe^bPm^@GfxmmnfI4?r+W5%l72f4(m*909PPen1+y zTMa^+11N&_muG(9#RD>(NE}8D2uq8D!*&@f<#Y196B9lZYkZj{rB>onpN8mFK!(D- zbMc4SZS}jI(Dt>8W|5MQsvJ0fHkaF45fF=q3oqKBoreuhnW1hjkD)h(g#gE9qEVI5 zeB?d>px-Z+CVS-`>^WAvn*(oFUJ%6H+FY%y_$HLE=9+A<&fx3L<|xrl`x0VqT{alT zaVQI$IoDNA(Jm?K6sVIPz2hhf&q|2vIXvb~0UiUYr@y}%aKWH_U!L4p^jkiPh(G}X z$+e|C9;&uXh-`1C)iN|Ph#5hp?i0> zp4B`aKW#)(N5@m65%;DwmWmk2>413_#x{4(ss=3YkJ1XFNoL-1LORDXsIaew`NBTG zab4XoGaL?*mv-a3a6vF-6erB*;8Siwfd~m9D0@h34nX?J^VJqB=e(urrIKJn03@mD z67@Hvq*)8&Q*ol`!Avps(l>dxx*u!Ut$U>>ZF(>G2CL-2gMgq40Dgi9d_u)Eu-|5Z z0pv+=*8^zy7w%6tCo5wh8gSoA)P$g4fDEF~HHhP(#p41ZE&%?Ae6Ub6+1Y`m`Q`bh z9TcnZ8%UJD3zh-9!EyVGFBB+U!8PF7gQ)qx#RSm(l{!m(B@>o;U^9m#5P&pO3C>mH zrJygPdZVU?pfCcabb9!A>abQwjL2TDQ2XNY-J`5yv4qe2(4)CW4_=L18)^zTo2 z_Js=m{7nD$oF}WyWFMcN1WjbXqXP~Lb1)tb$%%k{1-b&r0l-t!2DCb;^44ntFk8<8 zj&eZv8_T{Q2nL#}J z?w$Eqk0G07pFQrfBqgIS@1SCP)_QN@KSR!4`)w?V?3^4d7p+Sieqk?g#se*ODDZex z0&xrwY@F7QB|d$D>>EHx!wzUt;5Jv*)O7P`|5%UqVSXdjMCX z0svIrIQ>p>8TFafiyC#W(trPJa@dfBl8hoqJmCfAI+9CIL4Mamy8TH(BHpw<;ewMw zQ53sAwF!saBo&ezD6Wh%pa-!)}dDX^u04N#LZA0Ze=#q<>0-;{;ueF z;`8@4ZwFBEE{m*J9}79!5n*CNlCx(WPEbaMg8@t7^(s)1Q1SAn0!-yAHv3hP)%&^C zogJy8f3<@B+~6GdPe{Oqu;T#D1L`fmD-%#2Mf7$7(A%p9puJjZB#TlBO``mz3~El{ zAL?+dsdcemb7ZjiF1v=?+EB2`V4_;!a|c(KdF({%7iWRQk%S~t8K)vD7XxobH5lLT{lfW&09Sug2TqRq zt8`$}rKY3Xt;?*=Lm$+-%iH9nC3Mv{U+gd@aMU(6H&+2nJrMKsfpga#lm*z+mSQnU z{T|stAaV(+83w+0)GHg{46z1$-!T31Lg3O!k)wg^s6f>Y)!=$WK&zOU2li7EHbjD}>c( z&+le;_mvF(@%<$DgDqot=X;Cg?k0l=+5^vKn-S^qNtPP*xa!)~TbxhLe_h+Fk(#18 zlvEqoAj=s5l*YiTdkgXri1?_SSgoK0uHmlRH zqrX2Cd<#o6){}ICmd6xPm{J<)bm6)!anhb)LH$^bj?D3{4l@-)W}kG$2XzLBpL(>K zT=zw@NS=15s)a$U)JN6?zsq}JvF6-(J60N>%I!mt_Wr4_h1Fa&U*&D{^<(Fb(@Vcp zmUoA6rbp&+hUeKpP3k4#cqrORnoNjbuGkK;Yz_i+3%kiXlmobT+1A99Z!k#T9sJ&9 z$maPQ^++60myY%Q@eg*p>@bdU9Ag7;e}AqTVX!Day7gB?Wrx`iW% zAQObH#@uO@JMq?}q@-hjbA-=s47-ZzatutapqJ!Qz}A0Su}=;zN+pps@_!;~zaHDP;u9&CZv*DYAOl8%8)_AUDYo+=#Y{i>s* z!AX<2#>Li^wqHXGYqe3cL@t&DGz^Tr7o*;;{Bk7z6#^96;tJZpD!euZ|NK9^OcNJA z3W}0y*C!fq(<<6u7PLEMK^I6?;XLrNJC{${z#(AcL=wRm|JP;#bCxN|4!0a?Uc>dI zx@7#f8P_Ovp40so%-uJLF@0OnDs;IJE(bt{t~xfl14@syq9X9JaRUe=rDk&k9_#tt zP8OKO0k)c(V3q!!9;I3<_5IoMm>fDt(C>Bq1%&S1v{~L=fM*L*1Sv#aaA=5JAXq2x zDD(y}V6$?`(0+St+Cattt&uwOp>kgMr7-R=j(8`Ll>M!x6}D(SG>0izZ0? zV7I+IVG;0`N;JzyL5K-?0U&8PGxG@6j}%f6-**fRMF7&P)7iR&GaoUKjvE3F4n#Bx zR*wmH8aqLhZmVbQAECJ;S6I>#rZd3aIceq@psF&BU75 zj4k%T2eEv8WQ_l1J(eJmP79l{xu7E7|A|`h+U+lpUh$Wq;&TLpV9DX`+|1v*KXZ6k z4uY;)uxlRy+C)H0?l5FyGwgtZ70vd0d4{O}@bujS0IL=uLqSSMhX5dILBjwfhur41 z7`@TEzDQc(j;fNKPYbY2U{q7@&Bq=~!I22y42}Qo_uQLJ;(~!Os4K3jzlb+Z)+B^- zz||MVpWMG);bHZrl&d;m8rI*M82q+kLS(a zmU3p|L$pb{BVQz}q>g*ZF?KXK_4PW_}qDk%Zc12uTN5-il)naE5N6&V14Sy3Yw?0=Hi+B-0~=jpVuLpm6oH-|Zu-GeWl%4v z@Vc=DU>w19jju+PT5PFuEg&a=Bst(1KOg^q_H*_i?Ax~v^J)wLz_hfq%rwEm!m3<2 z>gns-_ByUcOqIJoL=R|#>k6_9njrfjdJe~1yIZG#@8`#eMPf6^_^xh(i6Mnx=4r@4 znp(ZUYJ}kU#m&@%ULB`(;G<~}-FISbxDx*9dKq_h5!lcXtb0No!E}LFQB~b~!gCkA z3^Uai62!a|P^PqrrRw<{V#h~jDC)1p`M6QcMoug|8vKI9x^iFF+o!Dus}P)FV`4)4 z$HXYMO-P^#UZR7CVREwEdV7BlVSWhM0B27xcvbIqb7LwNjySFVMgq>PYPr536v(E( zks&~EQDB}83(CO2z}Up(KgZisl@?PbUHqY2>iie5`%)r^HA>$U|FI0IkPM?JWigeY z*FQ3B?J2vB$TQ=yoS;MY;^jC!p&B&wv*mH9f61w%}noBEi*wHPBaul3E#ZbJFT-?LoRjZbM6C_r=u&`BA|2EM7_mpsJH&o{ta z?lypaL$Ggvump1~p$JIiAleb!in03pYXCr-?`GSdd%+(Y1=eN9jQ%Z0zzN?krbn`k zi5=LCUUWYnpoQqC=NcR+fwR33WNVP61*zQMDI~0T9x#Jg7offds#$rL28NtAKEGY- z77h`2TnK>~pkRDcH_tHP52S-JGej4}O_aH_COwzcyB`z5H+uwVY^9!XYh-!YhX$mm}Eo()_=pblRk{H2uc?2ifD z!gdo)Hr7DDwtcBRoQV;-;CI*+hSj_jox{*O*vew3<;-W!x)`N^>EW%!wD&q#rld&g zQvYKPH+En%mAsmo+D{wcDMonn=HihBLF{Ljj(K(CAEzX)9wx@(no!9s**}}fOMq6a ze^(HruFj=7X8=AFz{49&vs8JUG z-vb*0j_PW_`Gxd^f;1dbS9$g7)!|}e{H(rLRAHuPIMA>H^LysQ5&BPklE_|XQf)dO-_~GE7MB%Jq6i%Z)DX`KJiomsbbFQ%7e|)} zmHI><#nt4@r}y(D3;^Cvf%Eh?`UAbgF9 zL1S&@3y`Hxe)}-}?vivmCR4A8GTUM|=!5%3E&b)58!K~K&Gv7%mDS#}a{K2+51pDX zqceHdL<08TuZjPim!G{*bZ6>!&3d?1rd%Ehd4}a5pq`DkHyLv8NmuiptA}xa>qE-I z`{i(vkT|}J^ND4gg28|H$9scn-i3=F)xIYHEDNaCFo2mkjMI1M*eD>T4lDs6*Khzd z#clS$SHQq2p{4Z}!g)98i|n+jtpf4^eV}{*+RFiO{zQQfvAnzt&Wm1E4f=N77H~$e z8TTMSe*Ew$DoGFk(1#)vs3qzLkK;@3zsQG&FC^{$w}w9hK( zI1&T-*xP6TZ!<4vp$U6fgK~q^cDP;WJ_FUkC|L7?(T{wRpgtOjY@+xx9iyLMZ!SzO zdT$^cO($_`c7u$KyR#7_fCg~!oSYm1hO>E7FDEBSiqDqV|CPVlb;I9CxZn&GalLgu zoV&qG<;EK^5p!r5^ld0tt;ASpAQ$vp{{SscCToh zc)CI=+O|!h#e+`GHzdk@e--H*GNZ}!K(1#vG5k{m#_+*>D*o;!&4*9@?Lc13lQF7G z4U|0Mdo2dqPIfstAo&DJ0|+#QNWOV+^*S1@~!%Hu!*z6$|(R3fr>@36og1&+DI zA$P?wXZEeq+&|%iek8v`_1!`vEI;BZ5ohNqo5ChciC)mC?-6Mx(qFiq4fH73x@=6g zo#!~*D4X(eBAPwlg!1}wg#G#V^{Z5AKA%7n8w9l;f{ZT)6sG5!==F9h5JabOt&UT^ zvZW<9{2K7sD21XBYD_+j7x~ZW;?Je;A&5<2p|i#Z+z2fU_V#ctKUv^S4vA{jfG8Rn zZdhfxii3gS^EIcqbWcfjT(RkTMKf)*XDdm>s8~UISofL;w!|;VHxw#m8%NhBHN4;*kSER83;a+7OjOrp|u`i~G>Zuefnxgu=k8@WUXWy30| z|EU<#lE%Nn+{Bv6#& zvt&iziX^r};bNjO3Z{RB{ut~L-RPYQ52@AhVCDkv#y*d zPvQqugTA%6&$w8Dx#=@DL%0ErXS6%dkJ0qIx@sM}yvpe4;sG~1Hk2$h2`tQ3apq&~ zYH?Ki?0e^)Yh0Y+5o8TBeTgar1U|=(G-rk3%2kDdjt2c~eW;Oisc3j3WI7ISEN}v* zq;IY<#HC9S{r0#~l8JC}=-Q{-JRmkdJkx(IUt zzXUd{?~+4O6BkS|=IYle_3$M&0_wn-B8$8G?sTE7;dhkl_J17P@@-&Y<@jVPyUw^c zk=8wA_0RX7e0 z1?&T&M@lVla3{wbqV-wh?3sf+B5qE1vn7M!v>bS9zgtG}hoXfMR|@4*h;EP}JOe&Wh=i~qWF(}_Vq z!{XgO0Rh1etD3$gDGf8QV%?1<;E4IJvwEo+Im1c4F+er7CH^ zLmyY{-q%7SUe~WrcI9w68glIOxbwwwrA1#{!pM*Bi6?l=L>4i;bz}l6^LG4`rULqX-?Taw_16o#XTkq@iSq>BtN49haPT#JTWrZJztl;!<#aWgp_&AbxH{7{f z>~6L^YVhA^f$G`9y1U!bS7gM%j=(_i%IA3UH)pdhe*YUq-YOXSFBJFj5=BDSU+pOiua61ZIwW!G=4C$>8**LRvdSiX5dBQ|cyNXgpLcP~ zZDgbgO*YQnQ|Ww7R4p|mFGOLWn7#FQ62I`J4@!|y)U9wBU54~$4a>mS|J@GP$xzgK zEi#=^H(~zev!4*5LJgl>D(MM7-dwoz;~);BZ*8Gyd{wb+AfceF`Cof`#9LY;gKl|O zS0?)jN2#nY_en3;Acoz!e`x;7HQ%_O@6G(hr5}MNM~2~huPs=0fdBFwhQD*YSTggW znm>wSA8&G|W!uIX%2Z)vd}N4Z>Er9kw!9iASqRk(G*KD*^DW~|ZWf5SGB7mZ_SYqX zY=y2ea+TQLup`ah5QxzQa52r7*hy! z)3ZWV1V;$12thC;ng4sDg6@3QLGd2-y(F#) zJ?qyelRp=PkMX6(iqjMm6btA3ilV*ws}&^d!~RY%k*$`bx`CC!m9kzoxp zH|U^IH2>|x60efz^@>E~Lww&w`jyD7p6KwRDMgm{+tz}FM;gJl+G?3xrC}I6pDdmh zzG@?}Y{t~g*HZpPvYC@}gOB?9K(7Mhp7WI|&(Thb6QhxuC@QNL`zxa~q*RVnB zo}M0TX}+~%D?(RwH>)_C8i9?IMO`C4vz*5l0TeSYS!*I9kn1N%J3$ZkVy?*zVc4U2 zb@5vA7GmHybn(c^m8(ohmG_GOpBA9)V&j90^WRMCIx<_@y zs-s<)D8vCn$WSpb>VRN}Rv$=bu9H9rW&W|a_z}>UBbY*_1<*_OtG{-jc2EYa2APNS z9xx^OTJ+{c|Jy{Gt`wan=%(f9rkwuVC%MR)@pBulDQ29Qw0YGQi)bt6PvTKEv15My zc`>?U(0YcK?oEO_M<7?o@h{$1X~F@;fV`0^PG6UeJo%Snhir8RehnwNeBY$^!EH-#VdoSuOJF=c!)=$`}#C)PmSK}$!6jMOqe1PUSX9vWfSU|?HGd|xRg zG`X*1fkCRj4iBav!QULe+1;>&p-0yMzkha^!U_NW4TwBdknr)Q&%MVU9UX;H);}#; znHd>1i?UJrjcuN19TrS^#(V%D?u!oiH9d1azXI%@ZvW!#>d8legDu3J>P$z z52TbO$i>25ZGiYBGA<6f>AMIf(0dnVLoY9ZM09tyF%Iy?I|!t){pRdBC^ysqlZD;6 zyw|u`2;Apo_ADIdTO)LpCT&qwRosYCbf6;w87#=t5ThEcJ(fLqi^lr^f|%|Il2o&K zm0RS4j!;1HGHP~y;x`k#SaLe~UV8qmn4jUU=t;tlur~s?%8CVUq3pc{oT+koYa=_1 zT+9VEf3EJtv{vD_>ss8_7wGV84`fKCbUP{Fxkgu|B$(M999j;sSo0Oj*v{}FxiEbH zqO&@w@SoYk*j)WC>00YaVy=}OcQ*Z(oZ`Hn9@nK(GcwGZ2=%iyTgtXQx^s1EzIZER zuspgj{fxWDa+@6;_X|cJq14&UpQGC9!_^`Jad0;h}GS%;l6kUNE_? zvB0f(?nTdBct1|^2IZgc8C$zP4@H(5YC%$<-2o~4U|xub+vBj4q=9P{Rpfo-f$bq8 zF6nk)7?BWDLdCCOdx2NCy643mVb3kR3d4GHm~)9x(|~F9S()xbz-B)52os_rb8~YG zInOBqz6^tGhUw!-Ob=CsTb7>$xss&=#XcJI80Z>wWg2Nv4zeyO>zQNF*TJRX@T`soz@zc@K z!OSiqSBfj>7_Il`ngN@}CnD+s!O}r94UE{z2h7oP=U43XwEpeY;=hf*18?4-zQv(Z zR#m+R1QHV;Ujjg$H9iL>{^$Eo&CTgSiBSlA$vuEAK?(-fZ#PIQ?4~NIKtogjf5lKd zstoSPoh^Q~ThpUoV~z&Hzz|vu#BiwI+5xzblwe_D4c;|@g!+eupFhEW^V}MF4dVg8 zbU21GyQubaX{$t&8Xs>&1%1Gu!$jV6K-A@3rec@n1U?yc#5`MGsdCBDSKFj})>-dd zbi1C3^hQ%VG4%Ep86`wTsf{@Zh6?UuhAf@kkbOH{C0+@r+c_YJwvMaY(FV#x)$xrbsF_W%ho(H82}B zIJnNwx1=U}{05${>+T<29Gc(KWyDX(d>0jkoTf2F8}%LvK8&4ys|ktsDF>-R(!TXP z4gYFpvw{qi+pByC4d_aBX+w|>d#Z>vWekw(*IHpBVYNjM4iHglP$?Zdje|-LDNaEf z50#IPk5tf}5OLgq+SnY%QL27?oCQ>q@KjA{sd?ipj4Q;3;t8PyY(9Gl;~TUqjnd%} zZeGr9ZP}h3EULp$uRljeD@)%(n`68TQamF4Kp6v~m~L=EbwLLGH@Ikubt}l>+nk@w zZ+k)!!-{yD0Dm9`9F~^C`Z8DFck^B};!5oaeHcX#iY>&<4#ez2xQ!5(4csJKvyI$9 zac~;czJb*Q$ewF<(5+tzx9Psf6kvUWF!j!NGs{Q6&1Z4E{CYH0!m9NQyBDa3$Ts*(St7Jmz zMa(Fj%JJq)uLfVNdzdu0`nU>vAE%{KKUXZJbMnN+9PSWucf)aSgi!aZOvsd@L#ek;}KbyAT zH2#tVGel5a_vb_)sB!>EUw1zX4|;3AaWv`P#9{U*^Gc_vToBVhIf#!Sa}a|H;KJy( zuB&-@<^7e)8A@?`2qfr!rY<1|*cw7=3MUDZpx~rO?Ip3d0 zgg5l3awGJoh(UsI3~2%dZ4$622*oO5(IKCsbdD9Mq>KCUA=WuUNS)=gURS`pBS7b*d}>bhRdhEYKOWmElojn^||^XE3r*8Xi0|Em0^OwF4*BQDWKES8a}ACDa3UhAXxh|N$@OMEg_ zKie1Ut#qO=X!B-}!8n)W`zzg^Og~ZneD#N=5M30#@;g@>X}ntH-}#}Lis6-6kxqnN zHpe8(pP5q44lV~rOUeqRJC4`O;GV7#$s*VER>k;;&HBjmZXv3wWRD! z7Z(>lktl?vz(YzZ?(15)hZq*ZoCr0LZwQQOL(IyCdtnfidcuJhJi#ojqBf+Dq!bk~ z6Bys8r$^?pHa=vT+V&)Vp2QW9L-+VGwI(4#pEdu*3qh3r-|)&o5GJ{acyC~N7e&AI zDqZ`{g^40Mx`aP>#P`>n*Vkf%?0s$0Yr(vxK=Tom%y!RMuZ}EB-+!dC(!Dlcb?{L& z33|tx@|s9$(H=4v0PeUoQv87CpQ%hId-C^#=1&--%J0>6b@%3a{!VSS-0x9pOED2@ z>l7vx`1B}*_Rp>)^NRZy-`nP*+Iyep&c9OKtP1_kR1-V6@nMe29ofuwmU{g5O)io= zbr)R40Ow}CQ_C!TPb3576geoe-<%3G7?2HRV+ifi-d@(u z^a^>-qhFl5Iz+&WlXzaFSr5O%%C5#$6MA2PO zpq7t}jy}F_JsuJhhpyS@`k148EKNS$qUW|w8|M%7SY;#L0Gr1%-b;X5z`%Q1i&B_~ zC5k=Zp1Cyk`-jJAj8vxo@YH2>Bn`XYCYTMgJkrY&S=2eNDn1+r$vPS7l$MJROqIp`S-TVadQ9^{(KM@fF1h@8 ztsjAq%Z%DVcGlf8O)*oi&Ge72zNJ)%!Hne3C!X(UB)i7dB?j)`E*#+G5ikFoWW0X) z@^J3aWcQ5>`ky)MMBn4AxGk~bj^|RP;?dU4mZf2rOPf}fQ#t)_!msY2C4U^?%G2h< zMun+b=Fo2j{<}HP9+MS8oKMV&Y;g+5^3DPeTx1g%(Qzny!H%Hc;{6bD2LWDj=*x6~ z`iMMDT3Q;IVUQ$8MnxStaywV7QjpxXwY9ysN=Hm&(qr{dgDd+TCn6T%ZCYBI_$EK; zJy1p`E3)P7?(mY{^Y!!N^*dT?S-=<(?<6lsatat86EFPzl!}4&Q{qY5iEe9byD!C! z_v|G@3 zB{is|JvWS(`mDiORZV;3`_G^A-#Xz`W#Q}gn5R2Ne7X6XS&b$e^?LvM@*}yMWOD0b zF;lU*xj8-#`KAWlS`hBdHhi+U(wz%3HEsCU5JkpcWX`uE?H$5-+#S??JXfb4?C4RY zEwZPLb$59@{eaigRWg2W-BdsYjWM$De#ms~W^RDYd#fbnjcoCwUIq{~Cfj8Dy@g`Y zFQx}(O@Sxo2TT?H4x~hyg6fWZUbXOY6M}1m=NdyTk@5Ab6x`@;DlfT*Y&INW>`*{! zYipW_2eVoc0UXazF(M|#tuhTATtB*9s4|rVX{+Dqq@Kr~%G0N(Ym|@d#!!K0S@7GW zsx$EJ8H97Ed}L_*k?h;>wVuIIxllR!Evd%E2k4r#KP4T#xeW6{EI0LyrUC~ zB*yl?w@6<0sCXm<%GR$IUexw8>2R(a#kR!tFc`hdQZ4}4FFGzY^ToeDLgvRtxLK7b zv6BfTtU_~i9btZ9S)Uyr$WQ(ZzqFskm&bK@l75UO#%DKM!r&x!io*9b`+ZgrQdCI( z_~FHPp4+CHO&&`6(oa`zOr$14m?v}`eD7>+XVca4&mW7pJ1EnMl`hgrc_o z^-kx;&BF$3OH1GXR#D&yCMG2%aTtjT3#V}zfB6GBM7*Hv0Vey_yW^Rbmit|!f`S6S zdxI2xTswq>gg-c{T03D}aS8a}fVYJIAMrYYkKg2#qQX(AbhS(E5Bt8{YoRCvau4W| z{x>5K=2*Q3ofe#4-5~NnjBN+GZVvEfh-s2AoHia-5FRmcHvk(Ev9YJV?*mT%>w-!K z+T(AQe1`ye`M;@jCjKy(!ZIMi&z}gYi@5W7=SGXV8S$VG@FnY@7DUK|5q6Yhb{#}h zzB&AH69%gf=uKXE)8D5QcGVjCtxrzQG}zE)GwpGK!hq48)AIBbA5B{7f!7w(9rP^x zEL*7u1)Rg?DS9j%KQ#GcR7m7Qe{6SXr5&DfWxo`DH$rrSqIyQ)EQ8Y9qPcW*?{Kl>*9@TK=C60!{7v?BSPR!`^2t z{jsrk{6a;kS;K!-6ya9L(!EDp)*-t;7d4Wd46ZzGo7~0t!gjsSD2C{o8v7csEKnJO zKc>DW>d4Gj6O`2%rxvLPBRQ=LUGF z@CR&ve=f0k4w3&{a4~4HWKVpk4-e z;;>k{(P8QxIGh3l1ASrIxp+``M=0PEQ0t!>S)8?%8q_g^wB@|m41SZbGCgkS!$W9Y zhb7KODviYe(F`%EVqs=RC?ue-iWd9(3jQ=VWU>e5;7|zdzIz$*wtMhsVe^CH)4Ict zHS-5QH`z*KRNPjyGJB&q`k%*G6Q({0R7GF-&=H$xlbH6`9hYyfvXxGzIL%AwkEfim35!+1C|&ChscR&B(~o8bkm-| zaGc}v;nF7KEQMqI5lJ*a+Xk6j>7Vamq$Z9jDb>Btv}X_*lz%%IIljI2Bw^*15O)#Z z&a4xu*8|bEHEysYBrYk zOIY2S1ED=8N3hz;>;3xlFRnDWXQiPtxfrR$EvBP(^VL`?L60M6rwf9$Um!P0ta~W) z!`S&1*uvJk(={3R<;&6tc9Ce4AfaX^Ya*^V)8=FDm+z@^heKrfA+(wLm@1Nx?m!wP)qrdq+CJg2QA;bnpOHJ#XQ0YHY;71 z-P!djt>V*?)C%V#XNr4lC(I^PNKZsh{O`75ZmZqN-HIJtUg?FZiO90cNotmgi&Bm3 z!*`{^`LIb#+TKOw;E(Aev^4ak=vo}&@ukTxdAI5V&oTpRcNurQjaHKJPnExL6kzbG zNE<#B)oXfbq+=cE6D;^ao&S@KajnXII}ico+N1IO3;%A^o+PgkU%%9auj4Ig@#Inv zTT4p|(ci<%=Gd;ZO``vKKv1R094YC2mpl4>ys{tBi8swtc^&PHNssV@-r6X}c>{|R z`EL*9lHK}5e)3!SvDEEE+0Q*@)MR8D|As3`v-&z9k7wH}f5tuhsw9|ki%0Qo!gjuV zdgpSIh%f!?`S78-f4y>QnJrPYm=}H@4$lQOB?N+*PrqZ9?aHi6xs+Sqkq^bmlYUaw z;`}-Li><|v4?!9g8QcewsV(IS4ZMzZEsDdQuDral9S;&jJPygj)tPFY77Z#3tWi+v z%g`PW7=(47%9K3kZ|d}aH_mU|dOpbeE>mgsyW9N|lNqfsV|EG5kXcf$F^=+Fesa>e z0^-GTNwr0;`gqwK$8{{AKaH>^pS1G+$At6oi@b&v&50$CiZ zC4c#HMervh#yb`~>XmS=k9W-~@S<5t6*RRM41AN`lnLcB1lmz!UT|Jillc7VFS=$sLq(as?_o+FhkTt{?wc*|17gSZuYHW?#~QW) z3c52~_hX|%5fqAaZE{+)3n8`md#UqZ?=Sa{kK6Z8fqXQZFReN574)WV@2+G}5)TSu z#Lv+slv@wXjfL&|MQn|i*tJYUB^QTb!)QI-vMaLuCpDA(!^VpZd^F^673=Na-%lJ( zv4hGYwV#_Dl4$nd|J575YE$)RykXUG?p4ga57F_;3$l}y125+-B8rKnf)6Ux&fZXZ zy>Y?GV$>2D`SA1gf`Hx9(6bizhoKfW4=!I0lfC-=Dzi%OCNgzWag(@yYpzvDu=8h8 z#M46KZp(Nc3a0F)MtLQlq7!;d=R0z0g|0IC-~MyT(c5utH}ptq7%Xd!dwAgGA&A8U zKD!30CfWCXou$mxg_?&5@q}1-E-j1c6FjC7GJH>T)GXxuYnqld0gBYh{0GJ@$~9`H z52sb@U+~||zKzdVKJpE9!bvyaP;+OdOY~nhk)1lp@kpd?9q`$ABSFL00_8whpVB0XMiJ@iPHM{e38M`m1au$ zth#Tpo;!` zUg0w1&C`-nR<=y4fU`&0a}O!SQCwQSlq$MQLyC-vT{gS=ZFj7#dP_HzjF-q)DOw#~BsqQGaAQ1r(`#mR1p>9YJ}7_s;?D5Y`zZ=R!&GAtOUcUkH-P{lS- zspcBzDI*DIVs-SG7Wi9X3zp8MV;8iUrqfkufx>Nw%0LdvyoL`sd> z8#Mn!^SVtt7A$)CtnGbowY-U%mx~6(Rr4y>ho~qwoS$8YzxAto<=9&-=HlLduyjC~ zD}M2+rTD?tU~uK=y)E*=bnGepx=WtLirJpbgNE^HXUuc2=tJMce)4Uh^kKb^8=H~@ zWc;)!dD1Elti&Oxxnz)0NHUmk7was?K%2+(#`n!5iZ!C_iDIc@EJ2x zT<_eu>j3IuG?{?kg8P*2x@obrCP6M7e5_pBHq7?Sw91&dZ?^UZZ$pbPPXsM^=M6P| zr1Aco3*qSvOBuDz(S_Lwr5`jJF)n9NNtR_3-$x-GW7~Zfrtv*?J)LlkQhB1epZ_&; z6B>HxkHb18N{Qqjd7gBtZ~gr2Hsd zn1F8G(VKcS>;F4Sc(rXzxU*+}_aCC@5uN{M>CcA|cO&=xKje77yIsg33#k4KA^CR> z&%{fS7yK8fhz3m~g>W*Jm+hnOq?Uh5WaKiguk*iRqJQ%6$Hd9E#j7(8eC&`2E)`eo z%7EysS^@(%d%B5W=_LJ@OVs6@$Fd6OX8kPX>QYkNcHBEryvjeHG!ZV$p4?`+_P0Wf^Rc~IDYS&huo!5y^b7PGhNpdi<2TOTc(jKx@=C0p$ zuw9c6Ah4UG(~ghswL+1CGkG_iOU*>lLb1qj$un0pv-s?u4_|h%44&8iwRsya$MD6k z*6y5S)i=67ofPk)7%6#I!#fZPSN*UhC4X8K>5I`->C8E-UA;uCjp|avcsGA~_qugY z0C#~Rj4{H`(?ols+;I5!AD#CXX5)12e_xRRo&VR{{_7Go?}cBgYP;hQ<#LN7_8kq8 zk?4OEqwkhqeyFt_q+ZB6$M#6Q{`Ti_?DoQ!q4@(1{9VcP5Js$ts{L5GevEcOSprtO zutrTCJX!yG9GjV87BYWzW7&!%t*}DPEUCgE52UVb_hCCMVeexOX`mSGj@x+&ek2rS&NrcJNDPu@4mf|${Ssqt=3MlB9xOZV9&JC zwzp^Ze>uv%wAkbp3T7mb6KQQtNdj}Fsi`Rdyu;KDh%3RZX9JaQm}vI(3yz^0O<_f5 z!oIW)n-asdpYy)5no9)(x{rKsK?DQY`tu5y@$B*<_B~=Z|GQLbMqNLrHu`w zuNURN`S5Nui{sB}z~p6h0FoC6Q62iXAmd1@l|~Z%mUEmPt@mpeYrKZ;n#c5tg^5WMILF_O zE^&-j4}1I#3suuYpc4c0Bl{nZ%`V_1{r2joBBG+$PaJ?=ih(wN?aMGwNf+10!)$t$ zMmcdTlG7+=6k#Fee1#ZAml1CS>20bMRyXqVnp&u$PI@P_@WysxmkUhO^K2K3S$ACM>d<@xJy?PAyC6{N9B; z&VY@Bg~hHJYsl$4^CfmOdio9FV}sg{@A(_FCKsax>lSlucK$8d{@azjIuRx{U<;vN zrfhOuMgdDYQj_q1+gH|3zlQeZ!}#{^Wwb^%bKu0sCq4C3#y8{X3#?&E(rIxyb~}*D zm~2QFBD#lCOxbtbILWyB-$rjxi1_ri18c+fLI-K0YTtu*!oSmZ-q1D5;a`R&D#TGd zdPgncZ^_5)>FP=g+H7DkHg_n=W6>ogC4Z(obQq*P02Uq?TX*Pxi>UKbQ%PREdL=9- zCVARSO;Vv7otQ|Ft1mE&gb_Zck_;}RH{e?Z)2|#~c5AgAwi6*v?fdIq2UKJpHlrq@ za8ouL)C%&xv>us@QBez|MEovGDW&hNPpwj(<^7_!J+&^f*Syh}h~-~dF3o#BKIZ9Q zm@zHOz-EW5cMmr!*8Fm~vG^!~f0DgPqokaGDVoT!n=f&h7%PF(EMbg?tx)ytb8dI1 z8r_N&e|^r>N`>({C!!eTv$9%y-hWyw6x__u&$3rP#451uZU0<}bXhTNxTvGnVwP2r zzaabZErF32xF=X<3em(5f%R+i`cRjbUE>n|$1s$3BgiMXal!QalA4#@4DF`~h4jbN z0r&a;>U9?Vkjz^j_XsV1)S}4YmrT?5`BecW0SOHgGdupHM-qe~8GYRz@5*Uy>yx*1jZ$qk?}LS`0}tDJLx7=Dx9f|GS#c`7MNU{3{tg&c}SR>?P70plJf9ABB+P5};jO^Yd*ZJ&81qDsP0a(3q-T z2vJGn#gD5RH4`Y@?^qEzZ|uL4O|R=t=t>vG5#d4+Im^E6@Dveb{!Y+eVoW9I+bns{ zlOx%~`YVN%TdiK5^)S`h$3Rw<)??Z*G2HB1x(s}k2K_3xubK`i8nX_R{7tMJ+?Eac zWm+}of9@-%dgj)e-W_x2=^HEY8h+s^6cs{Y#(OWLHl0b5(&9zYm+OPoO>Rtd6?uKd ze-s>FI_iK^9clIRK;)l2d4dApqL|Jk|rk?sz{F!I;bnb@&HJ_o&S$Z|+s z3B9a=TF;)%00E02Tmc*e?zq-=lwLJ13H)L1Zvd%#KuM|kLC8tiXP*+H8xZ{(B0L6Q zK9g6MRw1FGmpfG*8iZjWW2r%y?iav<1Xh$h&M6w`ga7AnN3eZ>*dYa8EQjkFcmXto ziGyRk(CUX^D`6&md|FzwS`c7Gt+#)7WaX_*Q)(fvb0P5fDWF%#2){M}Je!a%g7^SX zRE$Fm4k$71d@WE(#k_mh3|PwaAp$ZoCHOV<>#So>>%pioQlLTtznvX~oPoaQWy6s( z1_s9M#VRgBMu&(>v6}_sg)Pjl1%*EnEjaMOW;0%Hz>oM!7prl1adC$|Ro&hBz(Lq( zat_F|A9^PU^fv&n1i=qif5YOdt5`T5@ZkA?5NHMnvv->{c;H2bB!m*vj&?6f$WeJ! zE{E}))-i8MbM54plAp~UYVy~tUd9BiSkx4^u#f~&8?2ZvPZ6(D9kqvD3;a{$EaFm1 zuS7+>+(;h6{g(G{$LiAB@&50Lpy}+T9|ii4_1)iTMi2d2PtkCmj^Zspu>< zFm`hr8xOb^eI@EzqtSEO(`@_r`mcB-o4QGcIm5?dN*)y>kIM%?X^STWDvdLoFr0%q zC2QD!c1OQcePN(yzB(QeqxyEvP@cUI<rv zn}5*!&FX7;SB`J}07I{0WiD1fN@V*Fr}g<7*>YzoUnwiWMhb}s6z2nX?Ji{WaqJ|CMCJD!X6O?bwH(l5MhY0486 zMK;U7J>jibdomJf$V=Z}d+Owy%{bv7n_*$osi-XUXOaAI{`w2u9G#ikZ~p|w?lC{U zInz6%!M5uB#4J$y?A8F6O&#^y^~c;b$96-FOfjE#i022%5NHT%>8smI8?fcG>6Vis zka5r%TLBwwTW_#aG;h3@F4`(07S!=$z~#*2?5D)S_9W6%^Hg_+gbI*tykX3VwL7yzQ&h)hIeP=TniC7 zukNzcJ~C37Qst1ZyKav!(J3PaBHgC&>lUbX9p{?fL*@VykN2+r&t#4sP!*O7HXy{B zgM+cK$Le5l0j>NK5}3<3BVuAeJJI!5HIvr@9X7=pm_Q3bLWSfwQ;QZ1YX@m*Yb&Cy z&F>X4korbOlwkR{0e2rFvnVzw#3Lf3|Y-(!K z-|>97KL|U?92S1DHaq$~QYjE@>DSv6fsWS_D)j&5KQ?>x81A%!I!8H`>nWHt5hM#7 z;{{;MOh@U4ufPYP0*J#IbOhEfC777d;Mqgy-4CdP5HU}nQvk9LR6$^{`t&3Ws~mW9 z#CeNo5Aa@am67pTVuJn^!QaMEiX_0%evAl;bNI#SAb$gbp*+}V2DO)D&3?zsxvW}n z@$Wc*(Hiq>4hxSw1B68O`&Wpd&H}z@UrHG<>hhYNynz#M|qJZ+)i{3f+9$ zqzTz1mZWD_{=dfy+ev6ziKK4WaUJNn7L+Z&bvwjdTniASWN-e=$`5J%rf{z@6U69h zTiV{~bzO3t2Lm|Cw61?HoI=;_9$_P zTNdx0{`^|^O zFWeWGCqtQS#L~mKzufpa3%_=MIkrW8j`NnkMi0s9Kfjy@A3w@91PQQX90?63{NY*; z`54D>6&G&y;q2x+K2j`_;pp{8=9??JzAdVgCedxoHVSo<`gLnR&*jzC)lm5H2=yt1 ziXnX4BO@9DISz7U(a0( zhG*fFhR`LMCr_TdJEx+ih6I%@PuxWEo;Vs7PR^K>uIM`Fc~OLQ7QPsiI_m25%jhi|}*seOss($Sg(AMcth5GnZ zKa}H(W=E8mvsyz~DZSi;MRs?3FK@NdzYw94XHoY9Dn~mkm{6aqF9)HcSVz`{G?%OL zlr0{-rD!5DTlz6c_%mSJ_SDqIVaDKcY-sMD`j7GtEF|B{b2aaS?u#FIYAE!B;Z4?Z z5)czx4+bwZx!pku`j>f?w>gDc3I{zLgQ1{q1wvEUeGL;xM!((T_QP%pMB3!XSAQcx zSN5yYSOu=sikb22T-`E$i7GiwuwVCQ2y#6uyod1EBG^$Vf-T@=>8*7fe1V`r4el7@ z;^N9`eny{&(<)MlFUVH>c*BlMFl zi;scb%B&D&XK{R89UCHt9P>7?FH#QKGW5qDhLS*~LFpgMQT3Sk^~Z#X-zZ6omoiN9N!_Y?_KuL+!ZE&El)@`I~jLW;NF-YB#t_f z%WVAQel5L4LTno29pdG^C&`yo-g^IW}J{>UX;XCW2Fiu7I}$Cl`n2#mM??vJe|ed}3rHN7h4^$;gkIp5rXMcl|K z=)*8NvaGRx>RY4i@!El)vQ*3MU)V;ibI@9>!v;uuCmP(dmivxo>8*b?IDWZdUW^LTxVeNS4! zsni2y7@SWC3VbMA!r?wM4I~v0tlP)6ro4w+hz~-GARQ2qD2d3sEB{tppms5OSfb5t zX)weaJhAPGXnD%@YeGPjgs27}+se*35RsDrw|*wvrad(d^@cI>dG+nTL*(=Nyv%ap zN;M!x;v_qSyCMP76xMxr^CEI1va+Z?1|HpolaEnIh&Ui10Ftqi4m^UNGFaq&(qya? z5S7G48NG|X^5A|F$F{z!yg`_fyolh&tG*~YGA1^3k=u3yH7XxmCbn+Qq7=@XB$_zy z`>kmb#e8+>y17?nkDEj@XsYex)75p2t-s+;UF;nw(y!h_)5>GTqBl(D3SCa&_m6FB z*1^YRng}y%Vk+#G0BE%EMc z#~~ekjP!i~kvxDbbWTntL)U5e)C7*>3sAH3Prgc5g-Y<`S^MArILc;JOa!VnhZFj! zrd!WB`8zI8YkGXvj08xWiDL=sV~y}m*A%GtG&>{R3oTWD5RR(d0fQ6hOoa3Y+>bs&|Z<-NPUVZQ~2x^FmcJRB77Bx63XHAfCZPeGUBUrY~h0 zi43e!+vKlRhV@u*6+^p6%5QxS>a`8%WVK7R`}`4+H&9Rx)T5>B+1cj3(6p=*3~G<5 zm91Qi?in?aaU;2jW}Ec??375KL#h>@Xz`wa{=G%#fYXN+22Cx3uSqEjUuc7To3?B< z2B~~V>IP)Wi0@Wzy+z^tcS%eW6!03O#tx}BN{iOH;)(ymN)xA#ITDEkhRM{L8tLDc zQQUKgbx;ob>@tM|;^e=zi)4>e#&<~lHlQ$2R1)M{Nvtqxq3Vj-&SHE1bI$;GI}(3< zz80$`t{O@iNPVJ(J6t*x-JoC?8m#oQ=b%G_k|1BZL`xe0)x}L*&dqO8WLY9^w>TD? z`(IB;C9E+TxD>A5791^%$}iLZhjiaBhyX34ZTI^@P*`Z6?GXEK-^bO8nGe;5P!tn7 zZ)^!{xQqUrrYH*S#wsmh(62I%jal03RhZV9AqNhOKl7Bpr{Yb2P;8k@5v{ z6Os*^pH188%weh{={VB`Ycaldg?A?W>RK3{yEWK|z&;ceih-M}`ytuu-Me>z-~>Qe zeh@GV#DajvQ4ur-6%|qJ+QnZ%28{?mgC=wXnpbFM;~}QKK=(7;jG2-_|C=Qbl3uId zDH$2c_V%Txi|`ISwMJB*-c& zE2qS`y1Tm<@?L=o2;{B^hbRPKK?YyFa{xFwVVvK6Xhji?JR;@DXTdKVk*f|VjnAMo zbF8{=oyY~!KEx#)`G5&Pn;K^d=mVhCFMzrh;W2<{F9<@_LNpSvm5}RXe8RAZK$*Q+Dky#x}J4e%$_?>_># z5(>%-*kQ=F&`G0*zJ^SnY6z=^!th7FQsQ)@%g56+NLI%K!5iEJ>8ojuW407%QRaLb zWsgab>U-;}eKYq2g~hftOy0z}X0I_75ld+^6boQN|Er6^?$o{$gN95#`R9}7eO%Rq z&Up+rLJuK~zC$JE!t$nwT&br)diEG!Rt{Ee1<(Anv~$Umi{+zn4Bo%DOf-;xNb#Pi zk3C0d@n+RnrAqVoDt%V5Ry8(?i8rk_!}2bs?T_oJfN9@bU%bR0#p(^316|owEcHF# z_PcJy2VcG!j8+eGqL_zVRUyaeuU*k3by+VI6MjH^B2wLRTX@RUJJ$=;LxKFwcPuvc zKmE&(4HVkHZiOH(q^39T*w%nm1y%2KZD(*(#D^(LS(?f5Xv-#6SrJ#B=)sC= z8Y9{x1)^fK+b@{|B(u4ikxR>^g{_Twm#c!TsF(j?mcA$%)c%@gCa0!FTXdnL?zy%jsN~r2GQvyxFT!!BClATot+^$?~b0H z2U%ua9Y3@M{e)6w+U$t(zb}D_pGpj@$sjR%qNu3I+-Rjqh^Pty0ki>KJ;Lz{OAc`h zLF*j9TK}zFm|WD875?*PMdQLxOOy5e{UK=8E?~eV0)Psk)hO5JMJS3>Q=27F!?4gA1i}R=nXw1|2ZE#G3ZUh1K_&zvz-_&$b^{rtX zeYsJy);6FG@5H974~1F#+5^0$V72rsm<^}i$4g1vn`bB^H4*~AMBqMfArs~&8k{S zau>!q-cDfiH{+9&N2R9fy?e-s6}5$W$K|QWJ6(oa`zH@6_pp4P&a8BnOzptTdU__N zFwlfji~D{B@BtBjSqxf1(4Emgd>H%VhwSd&o|{L1(64#h1XBKU7U!^@qjd!*HiNm6 zYUdt#={(YJ7s28VqV?npS*H}-eqy}k3Qu_mWBLDdkgGK4eZIcK)BEW`)63zn4S9#M zvLBjAEEqq1e&;hAKwAvG#ZyMce%~)8qtlVUXobi9K3d*aE3=x*ypzPX-8-@`NT=Xq zOeV{su{lT3KnqcVm?19)QB@KwE2v(2c4XSSJ!MWj^;NlX^4_c_6_xl>oi;A`l$jue z)^g?-;MoYX4qV5_1DMY@tn7y9C$q-KJ1!j@;hgA!zS|?&M&cn#Nb`e`&I5*fOKWRCpxEAmzTeEuOjb_L%6=Pp<3%&v zB9Pmd3~{b=b92*mHn`A~^i2s0*b{w>eHjXo3c3G!B&$8`6_g447aZ3O;C6gsX_;Sd zqK=0uE-vos+G|g5%R>qP!q@R}{^)=$!0n+rf_ud#gVJEm-q_ffKYaksR`}sy#~Ml! z^sB_1ptY4&>i3w^+exxsS5GCg=1UK)+Z@b0l9OM`Sreb{GDsjaUuD|wNxRrF#4@ax z3fD7|Ld{d6d#qIGE+VnFBX*pS`b%6Qp3o>$yQ!&okjbLZ(Vi#!qB(ErV5f8aLyh(J zvBwhSeapKM?pQ|d{P{mgg{?@M414>uIf`!TuzP_SL*xOF!icbJX;<&50WQ2@r@&^k zl$7K3lZ7>F`jjcZx|VZ=z5^SZ9Pnx)*cNaM+Z=tVj{mUg(e0sErW=cJvP03T(d=#o z2=O$a(2&!+{vB6x;M~_yuu}*NM-I6!txC0!_KAH)WXpRcV5KVK(!I;}%(2nKFuw$<(XcKKaEBYwP^!0F7?)!oxr}k1^L_X|^o;`ZjVLkH%H-t!T8LstB=qTa%Beci6mm+E45nF9U_@2l5Tsu}?#?w;(2L}g1 z76DeZ!?*_UE24aAY7z!m6X7_6ayGCv8k5IK)}s{7m*4U~;uV5t$Bzpm(jK``1B(mg zVHni<5P1(`79^UNCz>fjbing`A08h5y-6@oZw`Ab59Ii$=;&H`^7mi;-DcT2gPn*7 z$%lTgyo&4|x?w%DZQK9T0yH{51>(SCFZOa*DOF*Uh>DF*@J@7Mf;HobE@!b5`Wv*6 z;CdSu^8{JX^1fE7Li}d;sjm^--_sgJ5>$M~G|I;Ni(;_2{Twbog|lR3G-*B@L1w`? z{T`>$O^MV`*o6N&h)mCUUIjHVGu-S~V*1NlifLdesHv&%QHh=y;I4iOS%gt2=edczN>~L^vy$Nz ziP=osXc1&VpBNdUEP1#uu(#dqlYjjl*Vot?@ah)1F20M>Bw|-guqK~HTW2(Oq}jzp zc6k^VP`(&MB9;~P`?a%Y(Bx*x)fdCsE~ErbIyPq2gm0WVx|XuYx1vF~+_)I6(PHn9 zB2?9pKRiFdR)%HgW9?LA?x+5kd^&%m3UEOGqH909MoXRzd8)!Y>JFtbYEnZsm6n%d`2{ zn@aFI#}5ak5ODYSl$37pKe~E*GmDC5z=q)mG6?M5y};}!LaaS<#JhLQkSY6L%3pX~ z;}AVos#Det_y$~1h&2K7=TOM#yU+7s0&+C;sg%AMbzDF}S_9VFvd~?R=ua49SKl}C zKk+L0`ipALO}<+tq4(P^SXndDuxG&Dw$@2!9Lkk?lJKK&(V~ginU?dn;`WN+bQ`$E$m!JfBATU2jXuO*^tbe=bsKZ~F3u4Pbo$}<@@8e^-N_t4c%MqbB_)?+3AO4562`fVwPrMpY&uKd`Skn^>BsaV0Q8 zN?((Z7@AS&rxAM<0ZC7}rDSKksGKJkac2Y%BXBO39K5qN78qbFUPG9bCpp(NWu;%7 zZB3DiTk+Eb)qEghc)oTu-T9v4XgDf+%W z!M@bz@buqy#I{!(^YI4;j`*|}E6(`_E1Z}kHLtPlD-=CLB71!aq^(Xo9haUoCm0?d zt|X zg)YhT!Do{yg{mO;P=#5(xL6dK_o~~1ESDZJIQQdvW;8<=G{YUS-_YO!>+$)slXB{_ zq8}e-g}N4G-rZMF^9@dT@UbY<5btYUTJ|FfUvP}kh!QK;K2Z&M%_O<-qWAh4?BAX* zdrJIfDQBuRHGJpPjG7%8G${V?LQ$Uh2QVMw*2(EQt#+A>rMBD+ivL=a_dMrkUgeG5 zd&Wq726_E}-Acf@{7?Ub$bp3?ZO+|RB|Upgf!kwD8IN3sfWbj9?qhfOBq2)xu6_~F z8$g>1V<;YtpTV&WFoy(UKq&%91S`>>>8TO>i2Z1 zUBly2B-BL&FRgMd-`Gh}*m%oJYx5;q`w~vOJ@L2qQKJVE+ZpM6bm*^iV&h9r$^B2S z?Y+6XnrG~?Li2Q9^3Cg$%F!gJ4j#G~&)xc|Hd0cK_VFYCC^oWF;=S`nBi=s?q3%ok zczv_D@br%B3%!mP7EvZ1Tv@%$>8WwlJiI{-LD~%q zYmpYU5o4S{QnaZXuUZz%4Bgu94D%j56`_>=V)4#NU%qI!(i^9|C4!wzlO`Sx&$)CArDu;^)25K z-pLwzvH`2s%8f}@5(vAVy0%miCZ=oc|>sssUb#^PVtRc(Y*l4$| z9CBJN3>V~Mk#Hcd27)SDal_yO=I78B;J>cGnMg`e188prH+oZ#LsZ^xu@jH0())dKB-zUM?8y* z3NB2NSs(tb)57vyss8AV=Sm|ZTFoTDra!pGV1~+ZmZKLNR{j(v7Irfpr^8 zDqMR^laHK+$k~A~7FpJdI4i`;`8xxrV9>-YC zc_eguj|Ze#TU7ip@ODvJOQz zbK*-SdBvBV=K0QIZ#4O=x{k2!uAh_3E4bBWSQ*#8S8J`-u>u3&Ll5>H-dhchfZ@BF zyqG%`uf`;z(}TlCgH@p3g*c7%&r#nuk+c+>o*3}_WpAl!`q|eck7X=c!)aN93_$7D}zYv@C#_fLGy|FRjCofKLY3y!=*nP zZb7XS@;2@fttZMN8J73D>-}~f0V=N~@!Ceg>u&Rr37I|VwZEKpUA_}KF?%AC>!?O5 zolqQuz>ww#`Rp`D*OQ+-j^EQiayKJYpGxodm$7TkE)p^#j<>=rhhOom|9$6tiW9be zdfufQ@u9vFrDyt-Yd9wIk3C~QqZ1tYw~$wlXTss-J^{X0EUiJafCPn&iMGFWTvq>XB)(%({`b_H z>W{#6nO#Iv+4$JUTdaU$LgPU5-@7}jVfhUcWD)04MO;_A&VZ2#Wa%)_xIHaL)d<@d zlmuD~q?3W{?7=Z65mNJ4g_sEc6kH!RSm4tuUWCUM;Cuy)<4M+m6+gf7UIJ5vhC z4Dxyu?Ds}*IIi|?Ydb#%5_o*?3K7X!9c3H-XqzYbC znFqEWT<>e3CD>7B7p#hN6z+(4rm1>rQeG=jbv{sWg657sxx#~e!dZSWBCnhQTP%`U_i%PUw{7gEeUR1gp0A^?P<(% z62OFGG!Sygq1A8j30?=erwe9#oSdAtgJr_R#;OaX1s8F2Y>a?j!671mb`Yk7;8*7z zE}!0Uq13^Uz=|-&ARH9n6#!`N0rp9O#Yam0e3Spq^yXb5I1J~W%DnaW7&sdJ{7V1B zg_L=(QC9{=kGZ%CDzI5xzoAJby5SmsGJ@)a({&V{^zo~_rj;`GJ+DSU5m*Ll)c(oX zmVARp?Sj>dzwe_GuW~M5J^0+DJ?DEm-PCgLV;!r~e{A)yF49tOizJ3ug|PG042t%4 zm{@(c{}^|&J*4fSXIH+P^Usyh54Qq&PY>8fq&NmG=|1~Da`hqm8AUypm`ArJuW(}K8k$wKVn5kgY#OX z<%br-v5e`5Eo5ZV`zZM1aSx%QZ+WsCz2Mc6+JGm=FSY*I^N%Z&gfE&hy@N>Y`nxut4MG9| zLSkMc4F5vFOC;4OE~kg9wk=cSj?j~x-(;#mH*(I4H zW_$ZOw-p(7Ybpm6knegQ{%Pr3D^D6d*99u_oyPAI9waHJx}H5SH2+gx*k(V|{_Zrx z(VruE!fki|bD69f@%`YfsPE+5{oO2kWX?asSk`xG=Ub`c4j(?r(I?P{hVGP)Ja_fd z=%(hl9;XKz*N9cNvSYTqaDNL^vKD_-*u$uOR?JH0cb$Dva-BYnMLt(}O{8bK<$9vX zX2H{e6Q?&#ZeG_3ZoZUnp|h-5#}pKN^1ES+ambss@m+%l#r1AAGKc=z9hdm8x&QV! z->EzAs~4G*F6`IVZ|v_UsxLemN@Vq(B%FJ&Jeg14IM~|S8o%o1;bDXME3^URmzmwI^rz7u9_vu-$wJi*r>OlpW+wJdxhVVH-c7l?}&`YdO9^AF?Z zvBVa_z9ZOlKY#uNJM{26*r>4Z{|-w-hvCX30Iu3aR%*atZ-~cv9lU8IuKVz$Wpzeq zH~C`L4Y%QX+4?98;mRh1H@E+;UWbQTEBw|BQR=U*uEvKI^79*X?*Lhe1iZXLw9AUx z86aBqn@kZ#m~h7;)?{ibJN`&h+co{vz-u&O87Gt4?i^Oy5l!i9dO+a*Cz7V60p-TW zGvZBk$KndQf^Bbd@~Y8A=_@(O^(Z7B+Dt+S=z8JGh|E4 zd0bNRM?qH(`RxeBWGUf~q~&HSi!(5JMwR<}dD*+?EHB;a+_z>-iHfdoAmj!%7%KC- z)E-}$FiW-(iAOBOJDT``%3DcYI$@75^J-`>dOxcD6cWxGI}~7efjmS#E3TOBCSQWc zAEjE(?9$iQA6qx@WQTob&pz*weFww5r1Kv?4~)Eaoc??}sad!1=UL0lkdyRr#dDPY zQ%M$p{swPF7FE>x&?!wu)1WP|Kaa%B;CmbhmXL53J-Nz_ErlZ8qgs&bgzyS(Y`4cB{+FiBXdekp8 zW4LO6py9`8;*Ey#c>@`$o^Lkeqe9BQKH;adm1*R&_fHR$GZp{w61KT}VBT%1?xXff z!Gn|ObsHT+72EDsyY;RaC*8b%x?$GQV28<|)yF{EBe?7*Fq7T*I{fqR@6kJ^_|0O+ z{H}ovh-$$aQ!>L+A8Z@k@RytIL~>RZUyH5M|uK%oSyLK8eZy zpvPfe32Lc1HWwZ0IGr-*S=pRDK`yd}#ja-uD(Vi*>)F`8kL8)NPDwr|@&1Bu)nAEI zVTv>?$$E7s?T(z9%#}Qo%a>_q(zYFMT!m)v;3@Yxu@2;Fn-zPOyD&u~M^2P~SzZDgu)-cp(mWhu0%n0k<(| z%U5$n&#S3DLmiFpdW3J%sr0@@*cE_=&U59R82B9v^jgYa#d9^!NbO^MwfQe7%$M$K z>2(c!L;LIsc**f1)B4n z!yci>5{DadXTwYK1{c2)#T^(!Z(*_3F=#8#{$r^yO7m|1akZSIwe#Ex+PqF|(UQ9! zTg6DuOR=;)z0y&~{q#yAx7x_!H!+%2AD;t9ZyuMQ8D$aTeXe-#u8WsU$Totlw1UF3 zkF2Ff?ciN=i#Sjgpo6*b4Ay9+NbO^;4vcAseAd2kG8vAfcFnvJ_!B<*<416fnHi>D zhNXuN_Brb(&|Wd3|Dbu49D(v zmp?aoZmjaj+_dAdi_7e09`C*p#xl5R{Cs4s;9?XH`LsCSYI0fI*NQj1BQM7Oz1duF z@)4de5|kzjd$_pvQK+Y7M&GKJ8X*Zd-6w&|1HI}b94gSbU=`R7l}iD~=D3t+Y>sn= z;3B#%5 z3^0O4{F>FT(8R-VvZ+B)Vb}efmINUWY~W~-eFssM*kwINgz;2X*LKCEK4XTWBEwY|EqV2*!_a8RClOQ6w7 zzedmEl@xz|EYnNQ($e+bSft`8v!j;E!C&2pRc!v3crQ_kFWE#&YEU{a99=frkz^8J z^(4OZkL;9VmUivM(ERKN4E~R(CX1fR{}SPkop2-d8^7w-}i6jzax=y0(d?IMd zCiK#bzvc&yM)Cz zM*OAarYxaZW;e=6JS%18Sq1rn6Who#*&{5T1U}OGSl`vbNWRUg+QvlXM;=_g!79A& zC7nvA8##8E-8w?IS?cw5otLE2_dP`&ZTHI_(u)Vnyr3)o@OlS@a#mhhgI{Q`q^ERn zU)^TOLeYX1)1#xZf44mTxII7XeCZ+Q+ez@bJU1p{+wS@KKkSWDI&_8k8B{=Vqx%e_`}i@Q{d zK3`mYs{o>2x~sf?`?TA-r*ypkGe3oB`B4Wu^L+=mPTdncDf_)5zm{pCN+>UY^$d5a zKE+MD>84|ju~s8Aj-PHWWn{dce3sbH=_t`KS=}pP&BM;%ts(6!C%rpLIDaES)4XB< z1l4S?j^JYT>Bq$XJl`;8X2Pf%cuO|;V?=&2YF=w;S>%g=8bb@-;#-%A=LUtGAO;l) zcmWT6bjjq_$FG*gkGT*WsD$zN!qQSYXdXnE46=c7VJKq8g7frKTU$5~a5@NIAU1rC zJ`=pzY+T+%C5#Uu=z!>pqcR;VPz~tin|$NrZdHY^3|g5qjP7t*={{4~jd8syc)~$m zIChEQIk>{yl9Eg)5{Y~aD=Vuk*Kbw6DJUE;&eXuK+4tIxJ~(ZhCGj%jZcI-de10MG zjj&in9uBx7f?JzQTC=5Kw$sqlfAHP@YdUNHm}_KYL>~T`#9Rctl%|`Zp!O93;Ki|V z7CG6u*2mh86BxpdRI8j_pJ{2+#&l>&JZvt{X86+k@uV_o8dtJvtx(QQ4)>^xcdILK zse4=H{bDH}Tq)Pdl?-#A3`&kl3ii4j zc&ko6KT~(>*(TW|?URID14k=1%W@1uOZb%vm27(vYW9EQcocO;4&k`dVaA}*sQYWXTwyM2P zF?~}SWL+Y}1t;03p`m0z$PjZj5&o$7F2bM`W<`Y-O2je&AIPfWaC%1rl4VhOWWj&e zaLxlR&xCIk02kthC+-7~s|W(CTMEpJ2tp!ZoJ(A}n4S@AIb1BIf7l2K4@fzHbk3kd zu^T8ofo~bZwQ8t&M3hLIBa|TES-;9ZBm-(sW8HJ@bdq)OuX6`rk{6bqegq_}lFBR| zN;t6-l})tzN1Vi>S1j>4Kpb#EDe81CnKoUGQXcU1V&MMA5nshtyJn%|RMcyceX(EP zV_S(lt@__IL)xfLj&aY4v*DkpU9MSO$Z5H1yrG!RXlLBz|4ICGgjGP`wAjrVk@Cy5 zye;cnbll%o^aSS>q8D4CO=}u^B;hi8)qt9HEzx?YuQ%oSm$osB|CvP!A@~pF`~xt& z%pD!I@U9?FG=n0~_`Q25N}qio`hdr!h&KzGtsJfmEeF}?13M?@MVq2N?}Kit4r8?r zTQP4WpOH`_gb+Qv6^kpxcDQAyP)-;0yq_cs`N{vr5``Y9Lq1MUPG-QUyYsHF9?P!( zJJ9}INqOx?wMxo-+O5;R^fT$5Sv~Z@V`|qxSsq3xi4lui~n-(q0KIo?D}KYfzv3nRjl~c)5Xc@9MRK z%Y1Vx+`6@0!f%qg4yZ4>Q`|8IMHQLDe`fPx!8UAQnu75Y2J76?(qH*5&Ou6sW6~0v zjWB5Z`L!ej9gr*5Enu7(^chf891$0f1{b}0lOKxW0`&)P9QujP84pW%67ZUeOo{=^ z5~Ou3x~o4p;FgJL7XAU+yacs74tD;%RldI6*TivukHJ|Lte}s?VG4$m-Eie;cXxLZ z;1&;nJQhKrNYo}I@Xo?V;6gU|_G88CH0~>8N-;pcY@dA>HC{VbDhWbL31d$?JE=Dr z-PcOM_zc2@7!eV17y4x+?jA>xn}rzN`}gnvMv#Nynkghhz%`q6JQANi4Ngd4MYs}S zSPyV36~Trul3M!NM=(~Zk%_xzz`UyRwJMP$t1t^O=C=` zFUhsYrIVKJvwBaQN}3J-OYK<5*qgGv=A9X8;Xa2+1TUR9o7*JYa@qNJP}m!7 zgXfLKDFvKk6XxMY42LXx*#AElpzP+6xsjb2+ynNJlGzE2oYgbUyxzqp9!FBmi`beo z_0BW5?8wWY(fODh{w~I>hQ={#d8xMf%0Hn3{RVc|QnkbssbIgTiaizQKmUtkaM?#j z*(UYXRxGV+rikYfgwp4biA}^1{Ev!;ei&Pk6Ar%D+O3@V-JNeu9~;Fb3WAWh>$M91 z<*A!EsiYvY#50;4Z){PIdHq@p4E53b@FBid@)S;MHaRuF06!iOFfLdv9xk$`BEgWo zb@k3^85vMzaB~q2xDe!{=V51^vvL`J;!sJnbQk4f;oR*frTva!xk`2yQt+r|Wl`>? zqil}1>gn$&v{V70@#=JU_@Pr*Pqz`qgP?W1^_XWvf*e|r<59zYkW5G+8~es!Sq*UN z9U#c@V361IeN(AAhPHH}o2Mvoo2_=nP@b$}PqayB;;MJ=-aei)-JF-^>PF^X)z>IJ zbZFRmc=5viK})rCMv6r@&W7H^cp)Zh`v~t}H|VHN25<&{*R2g>bd$+B6jw2j_TT#0 ze1h@2t-HJ*w%WjERnc~HUQf#HKbMcUqN*_e%%8pUEGtS4=O1b(r4IFn2 z|CGK|Pq^pn1VNRgs`}RL<2WY97MB6;wEi|NhGa zDiBZIvn*S=y>%O<5R-%h6Rz_tl;Xr6I4N}1Qo@VOk3FuUtPSjWpK%u{=pQnG;}W97 z@88YP0mN9#f$Eb1)(dJwItGUO?Bt+jut!-ZuF1%4P3$qFb?243^83t@2 zp`rh&gdN18b`L1>Jl_G zymlE-n^Wb7cbF~yoD|vQI4ZlJjCFSdS73}t;bBrglIcf-?@|;aVo%e>Gx#5Ux$h-u zhU0k(BM#qpKduZ8ho!t{nD|s-wKws0L;S4s)w7Z!((wt}Y79#yA3k@aY5rGWJ4V6M z%O9M6WwNn40lH^4p<61&M@%cdi5HFqMNdn+5TkrF?oQX}%f^EcB0T~#8|t(gw93;% z6{koLt^5qf*`!wkytvIVJwTFc<+2n3)uLq}N)cvBCw9OmS*nqo1Q>v#JN^R=itdjD z0-&F8XaAzqfKIkLJ5_IrS=0Adr#TphM0Orsu@zq>R@? zC+1xnpFi0tp|9h&n5{I!^yqcoY}~@-l&ho(TMmWp+oFM-^7idV^Spqe>b=tdH zIiIZT0P{pSH2M9$sONg!`>73Iy$j~_(~HSw8#%xcOiNktqa#9&7t}qW3x_!?VFg@@t`x{l@-xGkc-)<_GB-bx6 zP{5ErP$#Djk{pP|JAk<0XnJUrn}w(T=%AE{zsjGBcD-f%hwd1B&P>?HGrB#pb@^6y z1kV}OJu_XMN=%9ol*VN-wT-j9#_wNFZ2ot7=Qo||)Lj|f{B~zI*v0ReP(JAq=@NeT z+N1P*-RO{yDb0eD{sNEeexav~T1B^CJHEZIgF=G<_9fkZJn6r@Ap=Ga@%x}VpkZbX zDlT>{O>S7084e62M}{m&TUprY{00Tp2RTo~Hlx$HHN)~o?%y&!J|+$71WzxotIX<& z=RG|o;Tj;qT7$QY+3CoSA5VV?w>{pfAiN(4tNLfpo=tjBVmRvbvrm}vfIy<997uq) z=v#>73=mWjj^v>dLq|OYV%QnJ=*5Xx(@EQIw4#Ynqz8a-4MF8O{8$&a6Z4deXZvbr zqnbOJ>2^>{?^;kZ8cgbr+5EnbT%IOSt7GxI8s+YaqRXVT@|@zm^jjx+S;x=xvyWw_llIx6)QV#}q(6D84^He>qt<-0ym2?%2p7kivDT}LvZ!(<_s~e zytTP544!&zf4`J&n5+J4hyKUJB0-=2o4^zejB~Zq_u$FyA{6uSVdqp;8&daNL3;}1 zYVpcZG;ov%@PZ+(NZE_9xX;d%CjR?cApwLvRlj3v{*J` z#{(+uNRziTO_lhMCt-l&1OgATLc;w0cj3{A+`gxzZS{Ydr4M1;1EM}u4VDcN9JsT- zXEw9pMi0f;F&R9IH1wFv(?B<-0R^B|;YPo5@=fg0&pTf-_^&+7pPEckS)cMl_=nVf!JI}jbOchg6%QEmA&+Rsfg?lM!HHpfz2Wok!CTr90uI1Cp`%_3NRiIZ)y`m(r?G2KYrp(7+dhP_CGI zR^SY(1AqbPpT+g-pV5GQzGUk25#*82*D;b3W$pr7nGm(GvPQjogO35EMX-Jdy7SK6 zlm&2dAOtOVtYK>vU^Nqyl!Af+O}3vX4hw;OJyExQ@TX?R8_{tLygGH89zlu3FBzUbeQ9MP+C+n>8l zq8FBm>LV;UJgDY(>69d{oXRi$w|@QV%F8fClCh;v1-6P7V}7ZB9G{%*{1IwQ9$w$5 ze=q!fqwYKJsq3xZ9!-sj2#|Ujjm^AJ$Zh%inBFn!UR0@t>7^kCql!q!V<{6qesNu06I3!!>HYgTE4EN|3L`=S^#pRe zD{KE6m>w93fD0^xPK3y^7mR+mf@5$AoI#?A0kD%~w~YY;6FjTIC#-2|3P#~ssS`TF z(dEt_tIpgr_UqP^oK_mnJ){elilMk%JnMcJU*@4^V?8!qprbt zI4Cgp=HRz)M8pe_)XxRqU>E}62k|^l-$=y3Gl>Z5!Jahr+R;&4RS)SD|3no3_zpvI za;qRkc3HKDiX`^O-*SunIjcZZ#vFY&!Jjh6D7l|pLVRbx@39sGj;ISq+iM(1cRkr# zkR6wQ;*?gM(9I5Rf%^${$%?dWAMLkupH+&Syz$ZHN9UEV;;qsu$MYKnhD!mB5esXk zD_b{Bk)oJAu%tvBH?B3HUB}Pl4{nAR@IDg|%-EYO?$`Uu@GJlkD5%~VN-g8*W@Gh% zkuPf7&JF^%S)N?t<<7H%odIQ?pnhf}^ctn8KcLR`SB9eJlVvDmPAn~pcz?+_NT#LY zG%vrYaoC>YwvN~yfnjyCu6sP^uiUm6x+BbaPqcT8=Sq8W*nd9HFO265-OCQypGkEp zRbS&AN2{TdIkQrRI`{ci{rkhAQx`RQ4c8qlUP}15(m%c__H=n?CwAhK6qT@O^$1SXXv zy1P|;zJ8YPeU+s6hlsg}+Y2Y9s|S)VuhHL2bWu7{ev(N^kCIoPk~e%**ST?xvqPps zte1W$i98#_25rogh+9NCU0xs-f4?@$Y89+0yb~ zO{$@r7VKM{etf0ZpRe#wNPnzwO}A1@5!qRp%Sn7+p1kOAUH*BZ@_Lk%3Qs=D9}7U$ zuzw&LKO+1IN$e9X(=@eIWjyjpVMY0SjGzA^iVU zDE&M|qwF(Ud+1S`>V%H0MPYBgcI$sYg zi}3C`d1KHsXUpHuj|d;bFrNbq5G~n_`#6OP;lof&OKpbBmayYN1%o1Q0?S{}EtzHF zpPFWm^OjM!#-TNiRM9{%U}}fDgb%)7?<@cJHHmBQgVVLmN=onF4R!Ob>G5Z$W{Xcy zovJLSrM3$Rkvg}cSiaQ%n@e6pJ-C(b(7$Kw!3Mn6JQE^p+~Zc{RU1aN+ZT&oo^lwe zy7%#j!-%+AK5tw?yX`%d1r|MZUO$Ck?SvABihwohpz41ryatyW3ocf$pEUk6+_T$N^~jx5i9 z$1PEg*yb4oy%F6JAOT249|M}#%{3AyCSsrpqsQjt;J60_z!?=Csc9*`A5`u;j-I`Rt#MG+n~5YxPaR-nJTS{^Zgc9FH~#*$StOU! zLPQ0=;|N?ha`iQ~xBm6RBq1;VgK}<$1Fcpm{-AhHlee;SK3qzcXQGeBdCVyvbUmpO z@k%&VPu13V#x6ec8h28Tey7wt8GA-_2K|cF-z3JGA?15I0^EPJMeewVz3ts9_&uyd z8l(^$t<#iVrstAaA2c7M(&raYUTr~s+4G!9ZT|7BJijo~m;Xe3Z4v(ZMC`RYptC(2$+gYqQn&V(4du z7hQ@%Ux}^qTHdyD+pYrFsq--4It$!<1LFlED~DhQ|NdS>baB8#iMTw_4lfbXbz;n_ zo88JvfA-enh}zX%m-=rn?^&}Lbt<}~E7P9z=ZoL(1*f`iUl{G9ciJD1a*lfP;+U|Z zik_y-n>04pvDG8`n{E&4eGk^2O4*g7N11wlg8iq1%YjuBKxlwLK4AujQ~rMeYq5f+ zS*XDY>9bJ4!&9eDEv+wD65<==h!8Y6^@-VsJ&v$BLw)7Cv1qNww;#LI25(UC5a*RD zFOE-weJU<5_Lh8kSlqC}W77PrK*jiNQbWn9AkqWwsk(uJBy;EWy$z4cee}NWTy*>L z=nXoTWpY*}z(LPnWhmAk9h;hMxjpfZp0vwXIfNs2hc;=A75UUbmJ^G40m_#PA`W=R ziE2^Zde{*$Kv!!f^f)fo&%SW@q!)$+CNgC#W3` zDF%P4&UvX-wr$|gf5Lmy*)L||{oMC?^K<>|w+9bCQC;MDy_upr(l=nBEyHfw8fxkf z;91n7j(ll2TQj~E1(z)*F6jOVN)RRlv3MXvCa9uz9biM?yptOS7AaiC-pzLI2j2x3 zS3H%D-j!ombJ)@2;Q_Yn3p`G*cR708=6mAFXTjjSMteK_o7IOrp*zE#k0Zhv z{k)#*a|fm*f$JjWzIqS0#k$CnT^z}f|7@^eEK8W>e>pup-!qn5=I zCinr-kAznsXgXx67!nZ^C4`gdf(Z#`g9gZPE+;zo8;i+N#y|OBb7UjKqWXCF>=mV# zqI9hJ6IiawN4ifq>V$-PN7N46oYOuS%J*LP=U)Su_skk+=BSKf@~UHN>h6lIq!$;r1-{$96w6VL(!Epmkp?%8 zx$ylHeVL4fC5aWM-bD>7>VzlF zTs+ovrH9|Qb+!*Mtdy9Wy<}%t?A@0#^ry{QHt&K^8};lff;Iq1>rAE&0(Gmg4vFUU z|BaCu1WkZ#PX2B@mO^m6omYNbtk&Cyw49S|pUfGQVjN{ZE>^XEpPHzP5GZ+W{AXn; z&8H%9y00ZD?6cp-l$E5$woGHnZNbGa*%RwUcXAG}B?y|zf|N*64dj=cit0m8PYf|o z1MAB5J<)d|WRsGSzX8wPw4dfq4;6JgqHMrky_cSz!$1J7eb{3d$KNqmJQ{T&_m$w~ z)hk|t$UNu?6geS2vKi_*c|C}o!!TTr@4~6R{n`x3vKHB~`h>!BiEmagKylTAET6|u zFAOEtbljOQ-=3Nq`saHc^cz?}ca}NtM^Yo82_ahPEuKFhuaQ2~= zh))yK;w>+~t>IoX&se9|7hR_0>5iUV+Z|KDE%vqcb|CSRyv7$l@{qIt2+jCG-S>Qg zQK@MksXWaYoA27*e7hI>t^N%v(aQ6kE%3Z=O351is5R7Q2ZS<5CxbpYlnvd9Xz6x4 zx!`0q< zO`3sy#?}VmUqK|A^mMSbIbBbEqNuDZIq??C%L}2im`<9ntrVn4eT>&R{Ju2 zuB|4G>Bh*e4~xnLzx8Q^a;&e3?Q!U44FCPmPm#pG2N%-`69EachN~lr5eBtiOm@lb z6W<>!$r<%@?pb=SA4{gO>KB%{!jYp<`lj^}&5e^lY%erqu1|S*9kDzI5M#ixiW@e# zu$0n9YiA|GjNVu@M1eUaM2z=BDhWhA=IHWnNrcI*nPfEoUU|Yd-q;kBI~+&5$zO7O zcaepK{Z1d_^~vm#pOT*9^_GcA=ORe}jD2>gI-hNcdV-iwfGrKXlHWR(i)(B30L}nc z7lG=dsVo$?SO!T;4TuFq(+!eN)5YO{e^+Qjolb~MW`0_h5N1)Dlk0K%Zp?p5OGd~s zT%)^qN{^cI?R_I_V>_eIA2x$s2)z6`{dxE8-ACe#V>0O%ZWfP>M0JZjdnHpQl=HO2 zzNgr^OJcJ1X+v_wDM@cn*6i@PRA<#g?U@Pfx$KwweN%SObRIk$^EP2OXb^){zK3&Hs}5f=UqC%^LNWc`;8BX%|CGg~ z&pvheJ;0O{;ISjOmFQfOTYnsQa{jS_{*NUZ>@MYtgLd~%5(A)MN3h%@Zz|8J2l2Z~{oqgdHH16Ja>j z#;?hs+t0*KVK`v~?>3lj5E60-#yhT+02LI1=RZWgPhM6=yD;yjl5~~%xpyMu_LO(^ zWp=4A8Bo2VUTVsJnMY5bU1P+Xt`M2c=4HB1ylRzyK`=~gA8qIEVw2^O{R=L|9Fxv` zX(pH;c`u!85DbQlkH_w%0Jn@ z7?P!zZ}>&*hJ0;F$R&f4Nv%E0v!52DHKbhUcKY0QoBa7U#JIxUe|zQEgF$sWkbYB?35x=p7B6F>9>1u!rHO1XSxyqly4Al; z^-_*;h--UuX&=EBm}PDGpRmA9H9`Nz$8Nvj2y@` zr*L|j0n#Rz8MuYIuux9AZw<%%wE34OH2L55&s^4;w$4;9j;qvmpGMCei?8^hTKWr| zS~bXG2nq$5?jQ|_H@l-LvWCT?qKXQzo77kq4Si+QB@c;kKq$~4OzT8298fqV@F2B$ zT=G4QvjWL%1cz_uER1tE=In7#d1Su$m32AZD=f&@_-yRth7ND0Sng!2;I|Ob5-l}p zv4(G>HNN}qC0d#&4JKXW%9vJd3Nflpv%4o#mT0GKzucx9c>5-q)!w@uR;0Tc#<@Om zcPtl&-JBPXyX=wn_U6PM@mcTI?=|U~UukuY=M4vb&mN(--LgKmhx(w}bl$&%(%ycT z-^>YlHsIo=-=h=FORdKFY3VCTq}`%el}+D^i45E2>Hj_* zOnz@YwCd;#xSQIDd0QgCUS1&GvAideA$P}R4cq01{)+4p z^8V_)XRmWNZ=HJjvi&rb%h_t$Q%}N>*X|nSBfE0<+TQx1k0plLwsvr{hFlNzJ+^+sve77debg zPdA|WASPwl)^K(|(d-UZB*Zd@?xL|MLZx|$B}zHneEs(b=vE2neTgcQa6d)Z-tPtB zpuh@EN#h)aq@S^O6RNZ*Cav z^lK7!UnZX$eoscp8r8vl5#((diS3f8f43zH%*Pm4e|~Fg$+2WUX)b*%oNf1$=XzP~ z6BwtsE<5oY_^|i4^~9Up8TE8sLbZYb^M5IWdI8=w$Y9F?wC zyi+`cQNVm4>@@!su~5tUHCpE-QhML5AVB%cUp=MWe`o|yT1(woq&a>mcWN}i((~54 zuI=|DX6^B{Wy7qBKVL<2WwQt|xzK*I88IEf(2od01%|mfaCV1~y(0O%{LQ;WQFZyq zMf=COdc3A)G=`p45oe4aGai52Ew<4z_f~^HKh5J_NN>6}U&i{lLfwotA$!8qgqSvY zFL$UwnO%72pBK?~fe;DwX{Q-5qO!MdwSn)+oZf!g?#jPCOHHMGC)rXhvD z;kdbUiSOg7oa5=7@m~oaLNo=%P^A%Ubh~Z5OD346fdpII*hmqiSPOcN7B2kHpX_gx z`EJXm_^dKRFG~9TWqzf_cta!u&xN~?$`xPx!bh~AAPVtZe1SXQbt+&w!Jne-_50;% z%IMh6MvLUv=txwFqv&BRaPa-o)A9|dd{dP|63 z`=Xq}QXecQp;O`_BvC41ymug6FE7yir&@@%KQzK@LTK-Eh|gc^VYBj(T-0a!mS z+y|WsF}MWkdK6CfAlqA5TPtDy12=PnEY~DipQoV2q<7fzn3PN62C4b_ReGQ>D6IkC zNtpKRW0R?_uYZWzE#8flP3}$$-Y=nT!V0p)e`0o>_X%rOC$v2TH#!Zed6!H1VU5eH zuP?~>9};5Z2>urd=2qkB;j$LMz+n=@co(o)F|rtf4+yqm=wvNB2cHJwsPL~j1A9LB z_zAPVgl!=DT^$5}lFFMwj{(V42Y;pK_LdK^QotPq1%tSYgiI}^_Z^lc@b$q;p9BDz zX*xM3o`+^Y1TJ#_Wh7u+b{E_N9A*IQzLsx8^GWD32rCCHPI_2`AtV%2(+SqgG`?*A zJ4rbv7cC-ZlZ1bDo0w`-jQGOv^P2N!Cv4NZ0|) z2Y&}mn0YJho~Xi$u$qGmx)s=7KNQ!Y3=kJf{;Zs(75wI1-EB=4|GVk|>7TN4 zci&s*g4jKjmtTEoFnrIWFLb!lBtD=Cq(H)0M#SMg49fwVifKJ2sK_8R%aT3 zUgBZe37j_2*Vl*3FNoM5A#x&26U`Qd@b2Oer{OvPRx!ZtRzPEf+_?Ccu0Yg8%2>OapFG0Fc(&e%{G zQ@~@9DR#o((=oe7*0xkLzHlxUyY4cIP?j&2%~@5`eQyO*eEWl_Y_@9p8}}xew7o4r z*3ckHx~+(@60IKJ@mH@jIWH<}EAmA{B({r7-s`kij%r97OR?<&U)bSOYMDP)3`<=O z?f&P(qo2n0TP*s_(Wpqe?Yj*P1K!4>=e*BnYc=2g;y)PHr=mr&ZnsYQAS~{#w%ETr zI^ssc_fHnymjGhT0Xo9Voz>pnKA3@50WEoQ9-zX3 z11ebbM4e2CT%htGOmuv=ypL+eok6Q9AP`?AkC+F-Ou8jSZrFi`4GzP=A0iSHTd+e& zi1h$o0VpUt@g+@6&kf5xh4DFnc8G|87kW9hg!7QIGm;xbP)QT6L)i9e=gv)_!iHux z5LAq%nd}q`d;1V<2INzK6eUaup6IwWStu|)I0n@tzN}O3>5TirL3TTY2yVf6otux3 z5)4<2f@{G=2Rc;nR>sW0fQfkIz*C7605=LP(wRa3A+!~9bGHsBt;)o-+fwD! z*W(iDaS@85eRp&gL0zijw!?+hFwyz*$V_I8_*;*A8Yky;-xbue&fKoPyMu>;a`k8b z2PhOpe^QZ?o1t}_JZKJkSsaLnP;azPImvyoUaQN!y;4nzFShAaxRuG0S|-WUUV+wd zU60hyc|EJ5AoAP=6`D95z_mdsVvUD}Z1)FP1y3;x(oH>c&zQA_1Zv$^m){UpPftU? zV^r1!bQq!vq$&yFiA_NmLbx)~ajOg67?cFbcf0nE2IC_8PotZ8^^q^ciMfw^lDFAj z=kuE4MN4|%oxdjC=F-*f%-d?u9MxEoVKrCIX%>yC! z=(tIWugBPb*e=`IU)4I?_Tgdpy3IC62A}=oD4q53u@?tVRVJiAEOi;LW(+&@CuBBu zZ%3}{DfXJdD_I5J!tpHPd??DQ5uV|Ea&f0hSh7X?TE&Ha$sJm=3?XTOn$N1$b2OW; zdtasGkKU>C$nJ2?jP56w^#+qLw!YeDz7nphbpox)eE|tCMW@AXxjGK*R-}Ea=cmcX zanZ72qj0KcBT@szIA|F`RJ#XU#r5AGH^Sis50DT@5QejOtb}k8$5admA3!%5tGO6# zEiH-n$BcFyEO%l8()ac2B2*5G0D-F+ghjDtAg{4 zcrXN^I^2_~5X>HXwc@FO8Aa$FGEce`KjoLcN6b4&_Vekbf`&taKn%WSnJzrAVvzlf zUfb3{Alx$Iod3aZrC$3bgLhZ?rv2JV*33|mh*w4Agl|%7>A63o>0q!C*DnNI1)vsC zm-y_KC%Q!9VF5CQULn9Z{2928@U`2S)u;xYAIUmK62t|Ge2omnAi8ekZxPkV1)lZc z?JX6UW0m^+xg{0(B#oPQ;^W(ojX7S*f^QXiP1}Ure*G6_ddE-MMnu!$qE6*@ZS3KJ zKb?7D2Qqj4DqdM;p?=_?^byo9me2>NxOK1eJ7AeIB~$tOtoBW<&8+;P{wM33Jaue< zC3G@is?F6!XX1eTg^XMG>6e;l7-?7bL|jf#XH$D}_kP^NLK2>Fmuj~8O*WVwGds@j zTxaADbu<(9-l;x1qf3{W``_=KC+I46MCVeOdiMl|`rfeVbQCQtE_tT?;p^R_AKa$@ z+rz-8GI)BhuVRWMO@LzDJ+(k3DzW7Q*&7~{?u8)Apot)qTna=_m1;pTHb}4oNXn2h5)9c{~>|wFFxK5iC`Lb8@ZZYk34; zFemcXC zRaj1*hOjiol?b5|#FuL4&x1Wp&&q0lBNk?`SlXBn?M1Z#oqT*n8Q#_usGHcHW;Qk| zpa|kxJ=;=yk1MM20$((7bmAi21?a%aq(M_odGS%fbN!dr0F;QFApGVWk*XJX7@+^S zkg2{O-X-Ud`zR9s2fqo26Cy~)2|p^UhKSz1@m04@#kienTk@%A z*$&z*8DQMBE$v-b^f|liFT22iJNkK^XmtYmf{ebXCA;$WngG!<;i8=Yj{3QCHj*B~ zaxxNP>R;ox8$VF+!yVXHVD@T! z54AmSC~Ci|6M8l#q3^y7Cv?d7?Q?{SMJu63J9Lp(G;^8JBSl6tX^9K+* z9w{qYo_G0cM;`Iw%aJJc2z3+or&c2s@+3kmYMNinZE_p_cyKW>0V6p?1)Dv}Xl+B}vc52qv z<2u=L+2hfViA|oZJ$ePh4ExnRb+ZBwKuGXC`$me@S4Xfeu%J;c?}f&*92P`_^9! zcl~93{ty{|P%MLco`Dma=t`k)Bq6f?2pT56-CfjBbj-|+C{1CLKZ>P8=p%uYJL5GI zW)oIcTsVwD_lbq40Ku)MqoKL0oL&R%G-$6lL=o{}PB==5vEX?945n5N_U>M-F}KEV zOK*y`BjVDIXvuc!Fz@%%5VfDvnG`g-r}GSp_qTOO7WLuPLm2a=-d6ah9J*oI&#xS| z5&GiG5A#etMBVV{zotQ*!fUqpe`xyda4h@xe}oW^5h5ddCtLQO*?VR0$jn|L+1Y!~ zWUrz~DzZlsQufH++5FDy^F4llJsnS_`@XLCIM3Jl8Y6~=taXizy`lnEJi3+oWloty zIl_T?!&&@%mKTs!tuZg3)!4r?J#Mfu~I- zcv8f?a#*Dx_=UkN9AP6H`SFh`bij`ytFYRHb9nbS9DOX*_&q_IbYTy1Cu#;pe%_V@ zRj!%>=n{dUkL3G+3=*-mgVVdrK6#a11Q+uLTtNuifNK|oKhOe9aqdDcL7qC$cp#;+ z-gRDD{B-Fy)Sbz+FHfheNN_ORTSfbyG&VEaZ+RKz-Mf9Tdk2Dpy`G8WmXt7fC_0}7xw!14 zztPU7n)klvw*UFDEq;Gh!$r;5-kAAW-0Z-gn|nZ>vH1mu&XtNO0b)ZiT5BfZG4vEL zIz%oC)_cCCZYeC9q0nGjpKhYSmKy{ThGyls?E@7rpVda@{h9vNfF0lt!eF%y9tIrY zSQ(@SP%R9`Fannzi0srAI(^VCxd9`;+i{|X3WlYEFYlH;zzhK21ltFGkf{J0+ZHZg z&>^+|X-w`olsMj;8r!UZ1WzPo!3OkdD+v-@s-Hk)r2-1qL5t`An;jrYnb7Ik+Dswa zhbs5{VojeZopGJgDfKI(BZ}2f=}WV4mQaBgSF^{(cE|CuvNQ6v6N~09FVoFJDuSJP zXhJv>A51qDPL<=e_>J@JdAZgxcf5L6@!&C~E*pl&)eq{6fOe^4lgSUJuav7T&sUa3 zqhg8+Iv)J}9;^G9=+e)-&^Y}c3ki<)DgEdtePB(O$8ET+J|z|q_<4ekUKYoS+MJ8W zYo~6}GbjGFTU@$ABk4i@t$#JAc|RqBTnGlK=XF#$wg1eZ0lhj$Jn*iBM2AxxofHAr z-8e9h;0yD+gxMv^fb^rhygUHZF>}?@3u{3)YYviVsHb_4s6cWBq-}#bb5ua=Q0JhZ zF}yoCjPNzVYz5~9UH{#!2T0WcWyt}wF^F+A6iSFx7_72-tQ&B581CG;LrFy?1lEEP z;;`W1eH6jngos$OLld`^)KpXkymBybh$Sm@h+vsPBBa$!p7x}>-z*4N%V12mvIW0j zVq%JbgoPf_pH)8DqhbGBzEWJ+1wA%QGLs7gLDz)n1bFgE{C<>9#4F>c16vF`k6%v( zC;okj?epGN;Js-oG-?e%QG&IDa4Mks0rz#cji2|SkBS1TCYbvy!qjR1|}|I)&;j3B5Qoj4lyED znTysgnVFbuTQ7YHTizAMW{JpBI+6U2QSy_&UgYoi`O7**z!4`i4v+qC(je_%*;sUe zs$`*_W}8Z8`PQK@*IiV?=4w0)svH%0SG{EGc53|x>L%^`VWu~_n*#JlLt+%f$D~69 z#+wH1h4b5=WVyv;c&TKCr0LxZrB=^J^Eo>y`*Y)ly*5w&aYwv;A7Pp@245?|TK~aV z3>{`zC*@i85OQRz-W&H`&(cHA>=IJH?#C>NeT!E!0io+B^BV-AwDJm>oc*k_EKiy zG0ANET7d?^4@ozL9IOZs7HUJ91*Dk@1z(ARskov1K9aeJaf_4-s?VzGYA}GI-Q{bV z1mO)NWdQ&^Ff)S~7l5T6Qu4z@A3>zy-$e3`0P6%ECu+v$H*xY-Wo~J3kOASE7pTc? z?d@>)v4L2}^SAcX_W=vSb)0I*x@wMHSw27%p6 zu%U++S_B$%q$&i}%L7{HFL0-gaUF%AZ-hto$#&S2Ic;^k!Y-+qV*)xllm8dnsBSY z*JN>Ydr^1yTPK%(Km1?VHGDr=D4{?SG?aqRnBI@*$bjo%32dAIFtL0s@daP6BL)e3UsMH}ALe zN&(SI$!m;Ptsh!j5zh5{?;SM&{}DS?xD*P&31fxe3{E;HXJbT>26s&O&$RDxquhgq{ ze|9k~Nt;|CNT!Nex7>VjMUSS1tyQsPwugndPcD3o;?NcY%t8^g4$xA?vR2J>J_ktL z7RyCVO|1;x4Z@~`P8%LYt^?tJ1puNoJ^hmfpgUv^VB_Kr=(Vur9_|=G$q&mGI5Do^ zEa{P=`Wy`d`Vd*B!UtUBHE;$m0>=3D+czs`XXLjAFy{^cadQVfBAo0<;|Z-c`OGNH zI6#h=3M=27i;O4S0~r07ThzZbM??;A0IDinx6$R*ko4snC?HXIJNGGuy#4VcT|F>^SE@1PTvu{2}2Y*I0`R zMbe7FT#}HOSQe=M@M@KLMYn8(eD^qQV*JgE2RgKK+Le`h=`bEX+cS-bfXbvjDl!sD zN+#Xu1fDZ8-GLcw&$7Gt$=r>AfB?i+0+uHejA{XAvs)8O@3n?^g6vgr=23%TiA`Th z=j`k~m<|!$zK!7G0PDQloZA6K6li9(!71R81g9DsgA$!m@s}Y1e`yw&DKdbx0PbVN zeGVzop)2RGh_fA5*OOTTf4;|TdR0AeqkM)Z?E?cT?WoSS$f>{oj*kHnfjaTo`j2@S zBde9hW)TA2qX1k75R@LS+6n6{ED|)P4c9B*5u&B3H(fPhdwqAw|4pO-wcQBJA3>4%9`E7fcES+YE`K4 zcAWS&eCRa>dI7Fku;%GhY<9Nsdy3~pEM+{BW?!pZ^K2`UkF{5-d11e_jh;jBl9 zEdZTp!p9c&rg9ub=1}xNg`#@ncbJV0Z$oIQs9v>28#)U!3u;!k1sV(zvDb#A z9JQ%;5(haPVRbwvi%aSy(6c^#T_1GMJ^O?K4~^-;Qa^HVATAk5LM`Yj%#B_niGhe4 z5DY^~>}R0_MEvxjP#?p!@i(+w7#EF?ELWb&>Gd8`eUoyqaFtA!#AjHG3Z~K=&}qQ; zK@68jpILIf=otjk6mb930A*st_|X&z20w64BEAc-{>OmUjL7*|o4GAMqeHi%owI0P z{?$H3QPEFGW-``<(+=u(6i8b|4*~xS2oFH4T++_C*i#{R4JNZaP<3)BH?CRy697M? zB#62MhqvsCJ3_oUxw*h-!!_5^9=yduV%b2O(-BL@UK^3oCf`qnT_Si-JeL}{X-HHt zjDA-BX;dv)RYlaLrpqUltfnyXelt%|x$mJI@57)F|`JsG*pN6or!9z%qmW3Ep^>CQO{f{_j3K{Y4&J^2k z>f-#)Ip|3L^k<5iqBQng-IB*8mX+@kY6TdQHJEpX>dnndUa_?68f;K#+_yd^)FRkkgRalv_E z^3^<{ihBMXPIB1iCBh+5N1ECKpveNll{GBHuGgS^rCQLCw8M2*N~MN2=MHr#kH1KQ zn7;9-IeN43pZB(U4X-qLmLu551_|FL-5IgR!wRY9dD1LzCJTf#ID=qWD1)5>Q~*dQ za*l}ifBO3RP=C1)V#D!T2rLKS38f&*kU*yods{rZd#dwaY1~;`cw_PX|GWf#2UE(d z6>Vp}h2s_(LEpKPUPJa1mI{mv0K^tiB^e#S0`E^Syh5Toz}V0b-5T!U7c^LDCKEtn zgIX3B$xnl%rwXku9a4qL!I^_+(1U|rM<&2VFc<6xWaAW$1;h;mK-G|nixJT6NkUKZ z8WQ9X8WUU#&?@c1QTrVniQao{Iqro>>|lEXPY(V9!l8soGCVV?nB(Kqv+M_KUAEzd zN=IF-)?lN6n501af+T1IhYoS@{|llj5LWj5JWq1wcr!{~toRR$f-x%H|E@u=K0|PB z;|k$h%jJ%j&z?Ch!8d5NU5e9!NLv+Ea{+N-vxqzv8)E-Xb;S$zhHKTii!%lpk%1+5VLQP^hd?S@Q#yw zYvN9$`gpQ%3pqGpZaM`5J0!~<>S`O{->`~G!CypVz)%dqPXZV1o1l0H6K11zst+GN zjDdjS_aE)2Y{>Zqoxq4zgGRnj2=;B_>qyvzo{!TzEf3N_57;HD!K#qbtHI1T zTGp>1>T^h@Z^sNJPQBY6pM$|G#sjnpjS94glB)aSW`dz6LlXKmgjBa5HTRLg<#5Ur z{D_AsUA@6C{D99^=0vvw3>=X348Y2eRs{$>|8{28;mSFMluCqA2L&QD6Fdkr1Z;wm z8QwhWxt5s~%w(};S7<@BcW|qt-oPZFrd9*)UkmtOL3Ogt~FK8z%z?Q-At_KuU9F}gw+RcvR=|mHL9vOM# zLhNab&$ZlbP(J_+p=uvPdzG{P z9z{@|R}!N?2RLaI?nlI52+Bf45DEo#<7h1)1TzPE1WQX(z9wq%wy;t@A{uuEe5%_w2bc|3$ChrPfL3))p(_@Y|}Gz zXHlWIObM(HDLkWhcgy*njFP=j$*bq)z$&P_;aM;a?cP3ZD2;(kadlg&0iFfB3$7+H z*Wb7$jIbWjKdr3~wMz^f6eEj#O5bcwUEiq;o*B5D_GU3%r_zp3=}Y?{_|*M;NDMm7 z*M{vlJgN61zA~V<=D^WutAHI5+F8N8OrU4 z&a7f9%P!t@JOU!uN>*vJ}g@i+B2q-8N2JfaCHo0QrQ3#?r zTdoA!M6iUa424KpJq(^FdbOQXuA!N4eM4}oeyvGZI#hkZa3t)r9L_4M+>&4%gAys; z9d^ALCZu)|3`6J9l%!9*vpHvng+_Cu6_??Dl#(ONhgkKsm@N4sRq{?4Hw3Pt!(~kZ z&}<&1E=||2YBt+GBajntneM&lVkZ|{(k8us9$!}u(j~g&Z@A^AmwvcZLh&1gf}?AA zv1C79k!yDsC-kaJr1cw~4Z4#CG=@gLW?8sR#HuqAmY9EJH_$TrH9}(ffN=4l#}#5- z@$@ocZt3r*XpBbtBMZB2laI0;w8bs%Tf#*wNf{|$&z+6yojO&Bl^MI!IbJ1Mxzw`I z+?H$7d!Ugg&w0meI)53Sx60+&5dyNnCD7JjB1KiMx z_*uA3VNccr;0$0ExRTF7ij;lxFDHN0$0jB$h7Albb_CBd#Br%?7fk}n6J5NzGNmOO z^d>)g_tu0k|JOwG^Mom!x}jqJL2{DAaU1W*xa|4UIP^up zk+xb$r6S;GcPRCt(a(!rywOo^z}G`K4GT?ZZ%Rcu@ao+(y3ewy7#pNg?N?1MXp6Axs>52}crr>%c)=r@A>18KY6<0#|f^O z`xuQUv+wZ+F8zc;t5s|K&19t{nQ(y5P$}~epFX`;rLeMgO}!DWJSbEXp~ly$Gw+=6 zNVLwOa#H&K_q&QzkIUa9c|M~XL;neBrl2&{%RK{fLG#3vOQo{^Lu(`VUNM z%dy+t@fZ?8Yzve8ilx15_lRa}C6kB#5sgyJSRbwlh;crDp}y_8PRWzm18hGb|9@n6 zhI09RtBNgKNZkpE--@;czU&yzldm0j-^i!<{n71DN`!UZFuKs_JfTUu4`G;idU2iU zUDjd$@H-Iw1jAxe<7*%gAl51w8C9uo`eVbx(P75?6;?j4(;XNz!-&Zq5K=_nT0TZd zN$C_-hnn0ogEarvCMYl;EQKwT=C|%5@{_!`k3xni%Uzzneb8e`9VGQqZK z_|A`?|I%pmt&B_7+rKKR9eSJB9uHWkRLbG^K6t#^w}_lfeNZSG`? zF9nMznaESjxEnKq%OBXbS_8PlF|VlXe;fw>^16sTyV}BT4@xeuVqV)DCGZp$+X%jj zJO1Tmxtp+8P`5m1_HEbY3U#*DK(6#Is!rv2=pX<8>UOhTDvTP1G}Y;)o?2zi5wo4) zk;(N7{87@{prxq5@C{vhB~4QxMZFm^ z9!=MelFxz8GuoLa%wH*G!pG3PxamZM_QtT8helF`FaE#(Ag2IsxPqni zI1Oqs>|!MuiMsku0*aU1Y&fYgyt?eV44mSqs?um=agd+}u5ONT-Ne#NSSGF1(Jav_ zxH&OqgGN6bMq(q5)_2cqBwDWLXrrQ(TH8dNi4>BfLVF3+TsW>#haU%h8`68uAZ01= zBkF*ytIY&NC`44{LtBMyJc-;<3>D8#h~0flgAnWva3CZl4_a{qLI2(EpAM35^CwUG z0chcHzH#FQ|F$oaha=+4 zAFcko2o#U3?zn=I`EY$EN=cjfhFjWhkS1|L>`3q@ECvQO%IoAg?cn|K3y0S!IKSGj zse?C9uwO{44R7aSiF=2)`wO7qSQjZ8Olr%==6(LrTP)-==gp>5p*Z|>=k{%iZ)Jni zDyB}ENebRB4bQ&iqw_h0gjKFK66^%L0G?x$LaN}Zm4bpoPL8Rw3>Q6u?E}Q&@Th|eYg$O8pc^P=K-gXNU zGmiQNgAy5@d|#V(C==?Hq9Z>M4H!Q*z5CYj{NCTi`QbIyxE=!rA|Jd*R;6Mo+KVLcr$bL!0pMF;gh3UV4 zUSwv)FCVZ+hK8sx6^t3SfAl54=}&=9Bd!^f-0u7oe>K(Bt*PrzSKcGRytW3^%<1so zKC$T^=>NUZXXoYjJG5W_S&bN%?CtKNn1g!|EQRkK!ND-#>I7^a$(KP){((Y8D-)qn zqL`S|f`_s|)D&5C(syjR%$OJ}xiV}~Jrt=jVEC#oto=r3C+*3&vwV_Km}#xuNXX1U z<~gGPn=wOiR_&c&^)8&{4DKfaWk=z7619)zQEPE7>g^;hG4&RQ+h4l6d0DQ1C5&X# z|K)ua;%;N-aWFfb@vK))lg}X_k`7Z<)O+VoxmMS{&TE|;8gq{a?!=buPIxPm0_A;i zQJbvx^G*oyjSOW4rKGQitX5?IPSI(oM-J2~h<;R=W-iax6kdnS^rT=s+?{X(C{fJc z6K%hCGELL(RCvEu8p4VQ2?@cEff5Y&q3s82cSYTyLE`t$cg+A|2mUKq*5bk}0wqt> zH`J(FE%o@#xMM4H&@eZ9+tdy!8z9cYM8>En1!lz#fXPMwS~7p*huAFt={<+#!vPj$Q!i2#k$E1(Ils zc(=k20m2&0*$3U*pgRDfbu^M21b8RMtMiV?ae}w|-CR2(D45%fU zG0m$wbGRKAf%~;<5CaranOcnGyiak=hsp_5uPx~$YX|3W$SpoikEO8t9(U3wOw(wy zsPv`F(_e>Q#dy=I|HjGm%J}ogB(Yc4$=NCC5n~jw>$6UKzVDU&=Q>YE(8jEDIj&w% ze;LCn;luqa7|~m%z!_aeIiJ1+@sJAuejvRN%%X(5o&Zr~0R~>?uqi>ghY~0M1?q%ClE)m-5 z?;y?~zHIPx43m)5JpiH*(g<+%5ScY- z0H&_~vynF`!qoiahy@UZc6^=5z^HlANjSQ48plv=_5=Yr;m{ndnd|z1FJBhJCvsJ3 zhIdbA>Dkz_LYM~c4@)>Vc=I2wIHUajZKCmnkAblwxkKSDv?WC>U-)*!cx4&GP+O~c zt>p1-eq^x1`j2@fu`QRMM^*3r?B=08AJg-PxoS7P9on)C;zh3RI$S%%UQ!4}19dwO7f^ zvLbLMFwx(r=jdFj=$UIj2Z6*l!0Olje0W!i{wfpj&_;08eT1C>F-lNPAO_MfPGJVB zJUAHViEAy(Z2o^PKp;4d%R#MAMWqUiaR6wM*AHk?cLVz+3@Xs2=4OMhZNSM7B6-SM zW`HYh&|r-XPgs?auO8-OAlX*3TxisyL6{5RT#DHBx(_1CDR_)v{P~`E)$F}z6rdwW zxC%_t5C#x%1;GON74)nIzr=j^!x(c8_%kLk5ay>`<5{3w zXLX&fdXX7DzB(Ft%`be_ekZE2(s(7V@i};Y0QC~&3BaQH1i&R?NCf$q@F`;8D9~!O zRn-pMr(_WC)F~f_z3J@fr)}@4R`y`+$PccF3Zp--$_7R1+%DZihhGwqwV-Iwn(w#y zwtSesHE_E8lWf0BFbN;Y&IH%13D5^e6Zw^D+aa)=!5

TchmBEuW`o(C?KknU|Bj@t>$210 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

TchmBEuW`o(C?KknU|Bj@t>$210 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Ξ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 vF5z=xEWylA Date: Mon, 17 Sep 2018 14:15:35 +0000 Subject: [PATCH 60/60] Merged PR 11342: add order of elements in XML for Start --- ...change-history-for-configure-windows-10.md | 3 ++- .../configuration/start-layout-xml-desktop.md | 20 ++++++++++++++++++- 2 files changed, 21 insertions(+), 2 deletions(-) diff --git a/windows/configuration/change-history-for-configure-windows-10.md b/windows/configuration/change-history-for-configure-windows-10.md index b16671c047..469b9d0261 100644 --- a/windows/configuration/change-history-for-configure-windows-10.md +++ b/windows/configuration/change-history-for-configure-windows-10.md @@ -10,7 +10,7 @@ ms.localizationpriority: medium author: jdeckerms ms.author: jdecker ms.topic: article -ms.date: 09/13/2018 +ms.date: 09/17/2018 --- # Change history for Configure Windows 10 @@ -22,6 +22,7 @@ This topic lists new and updated topics in the [Configure Windows 10](index.md) New or changed topic | Description --- | --- [Find the Application User Model ID of an installed app](find-the-application-user-model-id-of-an-installed-app.md) | New +[Start layout XML for desktop editions of Windows 10 (reference)](start-layout-xml-desktop.md) | Add required order of elements in XML. ## August 2018 diff --git a/windows/configuration/start-layout-xml-desktop.md b/windows/configuration/start-layout-xml-desktop.md index b75768d432..6dc0b4da16 100644 --- a/windows/configuration/start-layout-xml-desktop.md +++ b/windows/configuration/start-layout-xml-desktop.md @@ -8,7 +8,7 @@ ms.sitesec: library author: jdeckerms ms.author: jdecker ms.topic: article -ms.date: 01/02/2018 +ms.date: 09/17/2018 ms.localizationpriority: medium --- @@ -39,6 +39,24 @@ On Windows 10 for desktop editions, the customized Start works by: IT admins can provision the Start layout using a LayoutModification.xml file. This file supports several mechanisms to modify or replace the default Start layout and its tiles. The easiest method for creating a LayoutModification.xml file is by using the Export-StartLayout cmdlet; see [Customize and export Start layout](customize-and-export-start-layout.md) for instructions. +### Required order + +The XML schema for `LayoutModification.xml` requires the following order for tags directly under the LayoutModificationTemplate node: + +1. LayoutOptions +1. DefaultLayoutOverride +1. RequiredStartGroupsCollection +1. AppendDownloadOfficeTile –OR– AppendOfficeSuite (only one Office option can be used at a time) +1. AppendOfficeSuiteChoice +1. TopMFUApps +1. CustomTaskbarLayoutCollection +1. InkWorkspaceTopApps + +Comments are not supported in the `LayoutModification.xml` file. + + +### Supported elements and attributes + >[!NOTE] >To make sure the Start layout XML parser processes your file correctly, follow these guidelines when working with your LayoutModification.xml file: >- Do not leave spaces or white lines in between each element.

bA4S%?gOR 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 diff --git a/windows/security/threat-protection/intelligence/images/kovter-reg-key.png b/windows/security/threat-protection/intelligence/images/kovter-reg-key.png index 8da19269611dcc7cfeba9ca4e2c186b1aa5eb989..456f0956fa03a9ff803d14734d9a873959da24d0 100644 GIT binary patch literal 66124 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
|O66zq8g}w?Ckn?giLGcs{7?){I% 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
pb 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 Y5cJt58v}jCz)wJd$tX($F<|ij0CHWCp#T5? literal 47256 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 From 15b1de60e62088d2814f99fcddd97cb7ce2ab0d9 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 14 Sep 2018 22:15:41 +0000 Subject: [PATCH 58/60] Updated fileless-threats.md --- .../threat-protection/intelligence/fileless-threats.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/windows/security/threat-protection/intelligence/fileless-threats.md b/windows/security/threat-protection/intelligence/fileless-threats.md index 33654a0999..050b8e2733 100644 --- a/windows/security/threat-protection/intelligence/fileless-threats.md +++ b/windows/security/threat-protection/intelligence/fileless-threats.md @@ -19,7 +19,7 @@ Given that attacks involve [several stages](https://attack.mitre.org/wiki/ATT&CK To shed light on this loaded term, we grouped fileless threats into different categories. -![Comprehensive diagram of fileless malware](images/fileless-malware.png) +![Comprehensive diagram of fileless malware](images/fileless-malware.png)
*Figure 1. Comprehensive diagram of fileless malware* First, we can classify the entry point (inner circle in the diagram), which indicates how fileless malware can arrive on a machine: via an exploit; through compromised hardware; or via regular execution of applications and scripts. @@ -50,7 +50,7 @@ It’s possible to carry out such installation via command line without requirin Some malware can have some sort of fileless persistence but not without using files in order to operate. An example for this scenario is Kovter, which creates a shell open verb handler in the registry for a random file extension. This action means that opening a file with such extension will lead to the execution of a script through the legitimate tool mshta.exe. -![Image of Kovter's registry key](images/kovter-reg-key.png) +![Image of Kovter's registry key](images/kovter-reg-key.png)
*Figure 2. Kovter’s registry key* When the open verb is invoked, the associated command from the registry is launched, which results in the execution of a small script. This script reads data from a further registry key and executes it, in turn leading to the loading of the final payload. However, to trigger the open verb in the first place, Kovter has to drop a file with the same extension targeted by the verb (in the example above, the extension is .bbf5590fd). It also has to set an auto-run key configured to open such file when the machine starts. From 9994130f5d8ca310cccfd34d197940e7403a9362 Mon Sep 17 00:00:00 2001 From: Joey Caparas Date: Fri, 14 Sep 2018 15:16:30 -0700 Subject: [PATCH 59/60] resize image --- .../intelligence/images/fileless-malware.png | Bin 235045 -> 198148 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/windows/security/threat-protection/intelligence/images/fileless-malware.png b/windows/security/threat-protection/intelligence/images/fileless-malware.png index e59e825931107baf41e34a5b475b1f4d9bc97930..f55afcb5ff7b5688c8fda1cd0d6eb292a24aa356 100644 GIT binary patch literal 198148 zcmX`Tb9`Lg_ck2cwr$%s8{788W*ggf(=<+Fv_WI1jcu#3o|F6g{@y>PGqbbj%$&W~ zS{K&-G+IqX78!v60SpWbSzb;`0}KojcnJXy2Ln7|JnCNqPw=jCdLCe4C<7l4@N`BL zLSPUUB(E$DyA6+mgN7|l$%OgekhCsH+!JK$;tp0-J1z$dA%TD)DJu^PcRN>*or^OV zCOkPMFplssF6rXx>uzUb3j+I&IxYZ=qWm}NZe{i{l?-I(WCg~3j|va`1^(kNnl9EL zZ!>o*FeBIZkLig2UEI#Y!qE(v>JHZWvpEqMhWi-SF>`mebG8BdNx1(R7=!)a=RMsm ztiW#H!%zNinxu=9la(_F>~1`x7Z`*2nD)sIJ?jw?2@JARvki1BbZqbD7@V3v`qf$&PHU|zZ_D-u-*1gCy7kMYrH?%woT{}> z{%RZ42!1U}3ZWbA!6dWH9v@%Y*dVpBhJ(Psf(yM5XHV6e>^c}9&$f9KnWB8V{46@$ z*C&C65GgU^b{Q}dRbzK;0b@0od}o{>QLIKM02eIj z2F+R3|GzOP0*LgFs~`-nTQuK8e0+f10RI{z`!Tz5-~y;b#L>_! zk>03Yg7nb!L1Fk9U z|KEzZEuza6ios-)qME?qTZnd%EQ%ASs{i(2!>?ZADKe`d$1M@9cUbKAh#JCt30b{v zc9agAp5a0!CRSeP?}aay{x42?{|hLhSvmYo#X_;CtqU@;;b9+J<~2JjNt-=pSjL+4 zXK^$IPZX8M?nQdcl!+E7s7=iCI8*|HoQmS&QagbTxL_{jgQ6gIAPh<%OFlNs4Gx_k zGwAo?JtVKi1MIL^Skeme>-a?;$VPN2tFs1rSg3XQiJ*O~rf%gtZucBA3+{RwVr_cH zGrvm?3fXmnxR5TFc(|54?IdDBF`N50r%{yqLaVd#*hLtxvi{BKsh2 z9UnS?y33LuQI`_BNWYUp&xg{O4KX!1!Y8T!8=Z}d5(F2Kf=vIBcmJ*3Ofekg3rWzX zRnX__g1<1qE#9v|S_zhM)<(F8IT@Tqx8teHvqNqHvn{gA?(#H7`Wh_E^0^t!inH$Z zj-+Gm@`5BSdlrHu#%R0x{xITgy`gFRRjAo_g$aaez4Y?#xsw)CF7PMdmR@#Cbe&?D z7{zw{v=MRPMRul#1Px#0nJO@22?k1FuCl~~xFp02%qYmpILPsKE!_HC zExOHR#3}TdmdoUq)KSGYajtAg@xU)(wML6S#5$0T_T-3`_B3bD|6*rKKu}R^b|`?Z zIW#VH!3`c&kqm-x_6IRzm!sGA79kjg9KdGB4SUfi9z63Iha5oj^&}p^@YN>nJn6P% zK3+8t7uJkm(XaG38VZ?2seDQEF%Bs{!P?E;9g;jKDq~ZqOySE{*iOTerXNq#NWvwr zB^*|2l(r_ybo@)!SzCA4;TW6@85Vc56^Vk6ZzC3g5?YMUAox*+JHU z^OwfmS;DpYLY6c-JwzvXV>x*zQr2k)J=mS>j7CA zaiZmHIlI}+qUB6dy>5GPbYkX0YO`U0D4G4SRH=aUqq>0iXla)w$zHi{TIQa59xftr z?iUgPHOoCI@Stgd&IWIdk}1JJGvd&2#{4)eg(-fB4mQqP$p0IM)_8r$4S1?${@u_*-l8c zJ->gdssW zZ(4K~k5^Ie)&C$L{QHD;tBkXfGsk2yCpLPWq=CWhIjXRe<~>@eco4uac1_P1qiKji z$x6`jK99!t(B}LRYv)S-HnkUrSk`6c1)muuU>OgPY^`M&${HboSh$q>2#J!lVS-oV z&21}zJIfz0OB8KTqBg?Cgs;?$X2lLkY}s)EEoiu8^>y!+el5QPw5! zl;0CS_((t02g!(mjDdQI`*rbzBEETG$zn$JRBiX@k?##u&B)019@6PW^CmYB#4#P- zdOr(HPlHsx0@Zkg2WvdG7oIHGa9-P zuk)q*)R5jRM;z*BLNL-(?fV(H6B-1>k~Higd}AY&h@pCZySYWnrgHMZiYJ`o78<>d zZ=t9-P6M})+v=&cd(i)C87f?+Fc`*e=woDOxZ*?VDK*fNsu>pv8&S&BI1WHj+2F*I zS$G}MEaTyziVxy&D)=9~+zFa7%9FCXUWTd770%tnYR?vQuQ^+TWfVI|jjPFR!=`|i ztql6i`}d(37q}a(B{6T~?I7ssS-xm!=?#4SmHx?-zU(`jijXr#^x@$bB`lNeM-lmz z38`UDMW-L*cg^V3E41LSu#4b}#5IYZsa6K*(%`HD1(Y!dENCKq)%`pfVfs`g684gn zIvt&q8d_?z_Z)J3f@ffi16{DuHA_pl64$k;{~a4kEKEM8;S78kyq#`O#aOuIL=j)H zhts#oC_}mo14G5#a+yNP(*N`a3D_=4od0(1RRZtm{t^CFmhY z7c94>+fb_g&qIi74Qv%M-M~3)JTX(Vh?h8-8w4q#sCPjBwu893dRj^f-s^Lk+pMl! zC(B9>(_cqh>%AP9jPKuVR3-!>(9*DeAI_A2=@E_rzDU8!R|Hz0?yS*}Ra5ekIuD#9 z8+>CB9jC+E+}_Mu4D+c+m<=EUGYS6z(5a?`QE%)?XIm&{%Sjr>6*er76{2^kpY0d! za>op&l~G#8*2Vy3NMMU7DpXoWArkOrBSqF?s*bg#)Pt}zZG9fLLTbcPyjEG~(@4wi z-VWgQG|bM#ZO?+%-S~BviV>5M4q!K1JB&hTxPXdqXskZmP};FG91=wn`{N{6uc0_u z>x4kB8N{ifz%YhzxY3yw+ATO&?N2V<0GCp)?C=-gcBP{QS4$4UaN{?!BgkZEngWPA zawTpXfb)ZV{ugubL7Q7oC7Ljqr0kS2x(p5TxHSH9q zBgF{Y?xVw&>~x)Ph-mqw?JKk2U*-}{uYXI8WWB~nY8=p?H5s0Ec;H+@Je| zo+XZ>t%Fk*>0F|)fEr7RVsUoJ>xD-?qVd9)o+Gk5rsN+o{+F@+&M_*pWn{ zwX~AeV^zl*UqYj(g=bq-$-4U|hc}qn{<;uBvKAD&U7@WYafEeece(FH1C!~aD7VyGApDe1Yhoq=i#>v(S% zk_*GJS#YL1894jF`a@ljgp0FDB@VtKm_z?82Z|6n()LU7Aw-jWf5rN8pdQpf! zT~4^zBRi2Y(Phw?LCts^ErTqB@_kd#2Dwt_-Wd?7>XR@8D>HAW@9~ z-#)u(5xW48GFx*nfB&_)sn{AbTlQbq=opI73CdU9&~1j zfiKkr0Qxj+e4vk8)+TK6+oDs=)kZ8|7aCe3zSOi{EBCLHi@NRbL>{xlFv`y$v+ZQz zBXxBtvBk>XL3gi!7m+o>NElnWFfj&NQ_+;bjh0&6FEXAq#7n6=38y1A)yKXzZvq8x z2N-X6`y2`QYvC3Nr{a3zL}T}^Lhpzsg^q;k^xb!M0oTa>J;!or=8zCSd zh!%!Wz25E5K2f6aW%*U;>i&TPNM2x^Ks6oKXS$%xod+BhQ_7~nZm0V3CK`o#q|V1O zr_3B`&#tR;hKw4AGVfM%mI8sit-!I7*jzz}=k%*!F!XPTYJ%h(#956$Ao9ny^ZaMY zR0O{9-iWRZrU(XBC~w!8W`NF@^D80P73VLBM-W;ic})S zJkiGnC4Q7sw=d*YAv-IJJwF!Cgv!&hDpY#RW*wKtvwIVG4{FRj0#nHUSQ&a>ssFn$ zj;TO&T%a}MS6JClflJPZoL*<-?;81wQ09oLEXFjo`B3V|=?3z~32cef+5f(~(3>l} zabBLs)_%7pa=U8$mff26(Xdq zzl8WaZaB*$s=WaHXr0!4aDCm$=;Jww;K;iC@8_MgwcyR< z8vU;@8WiQ9>LdkIvqz#%pxX+L@lp~^AezAr zCEIHoW=#SNWAUDUa_!7`IpXuf{qq#Cwo`yFRQv^i#~4X4URSpO#HlHj87KdU>1l5B ziqJE^uB%`6#(w_%^kaLAl>V+SS;n8d7=CI!y@jKYL*--~K~QO#{0Wb*PyZTQ0T1(! z-a@T#^85PqFylqd?#zMx<3S#Fo^OC?)NP$uA{^7g&=eN_1wts?=S*mpp48!a*a0@K zo1bTCKx$il?9xmqJOt^A>dpfX$I4i*GIUSMmtss#q*=SfCDNL`@>ZScRdcuTtb#ng zTHHPA$F@+_CaXxv&a|HQBFbt>9fqRt)XUpss#%l{ny<(D1A7N?+i9iGms3lO*|!G- zexA(R|KwlsmRsYxbR*JswjY17Sov>p6JSKAW^bW$Z%f@~r9jhT#dLqT+|saAN#M0E zK>YUnlSB?8EP2z2(kKj*!y3BxwfQCR#_kWjLNKR9w3e@#c%*o+&DU}5srmc;S0Y;RCq}!@Ly74hB_Y9r-dL4HbK@Huy1&P1_vc#u*(*skC+fkm;m82~ z_N!LZpW-GOHu@}5GqTi=Xzt5-`l%{Vi+er-=1@(}aAWXp&cEhn0Sb_38h!phP9B~G z$Cj3}%ug>FXiWH`obwUn{7IsS@@9DBdo}OvlxU_dmcv%$u#sF#-h4aeXf|;ybwkhfe%iNr~xzyN|aH4 ze$%RcSlM`sveJ{HK<85K_cStGu=*JSo)>tx^z5JSxZE6lP#9dW-tEundu@4qa^m}R zR9W@y+x9r;R9Sm_w&?4TYFcI{r|0oJkGHToodAOPro|(@;nbvD&kEWVEEiP6*902q zSdq1HkGjC$70mL#;}1vgd)RYG(xv%ARZFcPM-MOLY$;N~ZST24#^(!8U(Vqxm1B)o z{hwb&gA1oNg5*+iIZkIP{n;0SPUu98w5AlBGC5zbe34Eye=n$>t8O@#^NEM-__fEa z9>7mQV=S~@mVd4q`eLunrL2sl4ftpkz@5U92K;Qco4XW39c#Q4O6=+qLh9dq*hv&6 zL;2YkiP(O(?7)9DfSE1i%TXA3hreJFEW9(6cmUj|dtJ3YlQpnWG&jkFTK(6md7~2iQaqMFViCNaB_j>wz7n( zu=&8ebKM!j5P}>8fp6+BFJ$(4E$rWL@tGWu1+3D!L?Q5)G?&wosL3jo?I*RJS)#!r zylWs#St2*6y}dmqlb*cEd_he^L!=NZz3&FC3BbFZXAucF0ng)s-|>VEPPsrpT+|0H zc4l^KLmv%Zo`anBjQ{PV z{7@@vW{2mKEXQR;IkVb#JaKaPw+S)I%(4g7bmvI`NwT!98E(o`uhmW%n)*@7oTfo8 zE~-YEDkqozVi~_UTJkNAMQV|o&Mxvy^7;0BKshtP;uo!_(9IO}`0F8akC&sUO3rld zwohEd85&e)0eMmlD%?sG4O=)JyKq7+{a_t{!791SFrT!v-0qfaJbpprPFL%&D$VVt zX{u~}Z<;LeIGD`yUiV#fA7d_?Gi%YbQYDAhWy zP~xEIr#U3QE{_S}NFk2J|8bB6p0bTM#m64d8(aG*P4!|eQx1N@jxgGC z)D80CF@0#J*PHe{*j&W>{XCGzQ9%tY9*x_(?gq6V@V2+Ow#rg}B6hv@`T)x{eUnZI zdw;r=>JoTj044r&wcSIn!5sRc_g%y$&kZK<`A%9Py25TX@P17Qh^$p$Ex@|o-=6<_ zyj+hFd5p6gdarpJ2HyU`!o|J0?|si#&gBW*%h#k6z|e>?nWd)4lVCFOYazB$xaAFk0M9h%34F_+;cU>2mr=i@7>im6Kgi+}-NqFBC@NGZ&0 z9qVA+xaaqpmHPIr!|fvOIRwn;aA4c*`dT8t*9mCbz7 zc6RcYIwTq=^w{6>$Ja3fSHtKk(yW4K2{2rI)w5ShOJVr{$;RpMm+9>~vo}eO%GS|ww|P#b zw5<(qrG=h}$#UQe`tIHyJLpgisUK)P*E?>jwh{l|S%4)Dq<+(_zDPs&5o(_TS$TQ* zKY#u_^z^c3RH%XAh&F!RX*`IpAO(X#VGWj)ITcnKzeng;*OeJalfS!-@WI?N_ale7 z`mug%nkrUkfotn-0{h8=tgzsDwA#*zYYYNkF!9G^eZ8?#5xsSg3tN4SL>nk!C-FUG zU-#Q#u9#}eg}0!cb#xJ=yHmtOlk>3<=WO^Q;~OnLD&mSb7UVV8@|hVb&_ClcT#=T| zWd^3e*At#Js5!bx<#_5!_Ljo@kjlxMxA6Y53qy`{%;6Uzk-0TVhuRNtgu$(0k;h$B z5}~XHi=pf5G1exZEAtMov(Xt@QsfBQdyv4y_Fyc&NC4l>!PL-=(CFys*V@|OH$p)9 z9|BTt+B5$XgS43$d3t*Kv$-A6v5p5SzUtP)QGKRAVTG>(yt*c(vy?92TPD7HqK`C> zMcSb3Ww8r`**4@GUbtGlkcRCpi(A`+p_sGQRkdf2q^jEVJyd1|-Pe7<@E7S4epoSH zkkHi5+s63ruBOWNDd*&`4CaT>L@zX@)<0b07Jae`SwcM#WTvgqZO^IGONb|sT*_=g zQoJ(ARlDW9nKuI_qWiDQ$N@H^Yyb$Sf{cKJ1G80*uD_6p0){BR9iaay{f7CW@)~q( zbm*y%Km=1amtAK95_4Q1G$3K8KH$-vMkQ}J1RN4B46L8cmFP1maB3sZ@3_j)^N$u@ z)GwgQ4?kS(;0yb4dF+pG-L1GBObTA??&rGf*9E^aMm3bWZ2OYbp6nyU2W||x5v7dm zq6AmY*`+Uk0>O3tq&|uo^wl_Tuj_>ZDXU>6n(C3Dit3Ejk@zPbla#+~AMfx5DX}sQ zl~Q-FJ?Id1z=_TE-87CH&Aknei^4&Q6&#?mQy2!%dCvd+d$}4rrLL=+mRkB)n`nl& zdKrGA*WgZ_DE!8zt{xJU^sgS3YM_+hpg>I~F$T_#*4EnqDA&qIY@Obd^5G9l=|e?` zznnNXwjLKmC1usnIQuEC)*LCvVW7&oaZ;QiO#Z+C+7H`59h^-$RlQWE!S}`*AOy|* zP8%=#yxII7G(Ud)Ao4$L$f}6m;RDje&W=8nR@Hhkj~`%&AAsjJN?(Z{RC&&wDI zYNUBDWinquBi8$Z*R0MZG6&tsN<_&m~Q7907Q{h&6hCVaU zY3ZKZpWm-2qmYRD)MeuyYUcxuUY~W5H1B5mzfu@CXhb2*y z!{4ieOi{CSS;B|AG&7{5HT<#rdPA4Y#y;Xk@LE-+DN1uG)PJ>rjP^3EBLbqS?e%V@ z{c%5+o`GR`i^m9ct_>hxc|P0GVtCo3GUvVb-52Z@zmW_V*0vf-WfS)kgI_3DTAcdt z0~Hh$*e3FavPgY*le?~d6Y}o_4JVO*yc#fP2YdQ=)bCK&EyG2ywzq>F6Ao_jwCIe$ zTi^fny&x_azJrA>PO54pV^@_mQ0lBQm)}Z)bW*?#?CPs{?AiX)BO?lHW1X*mZg~(I zL5Vn;%n&!1gl`JfZ~!XUs%yVzp7;5qqi$=cdg*5y66U^BXNEy;9pkayw@236_H%&( z|2NjObZ-i$R#o!)G&Quj?9Q^tTLVWGVgrf4qf6 zr#tibT6i^8N#xvw2qsY$A(H_by5eq=k_`a}_FF-Xv6}@}HB#9k7oUfWw!N{jA z@Ch4?#r0UWtNbY5WN~T_J*o`YDxq;hJA(WudO&1K`T9OO$9o$s9L-m0PJ&N!#jE5C z>(T~RdyxP8W#G5xsYP!tAGt0;2x z^8U<*PcE4pmWOH>(NJ=1N|43y6#;<=J2XU*Y*2Qz@wNPhZx_c=PO`|{SMv2@`8bCB;VvWS*bG-Q7?N61`^))*5x5JJ0)$WF9h3dUV zkFXV;Fr%WJKT5(uHS2Ca5#RxpT!|*u9h^l@tomD+Jb_|o%pYN2^2y7oND?ur6|~7H zLvbo2znGcZ(!evKk1D}^k)qgjcwE#itKq6ZC*K$@9aP?aB$0qaD0u{H)*XTD;$2}! z7GLAZ%xG3EtervG0&A9mVArJmMi|f>z}f4+MM<=>lj0%cJ`loECXBms>y;Zlj^i%- z&sGKlZMgRWlqH^<$i=*CImT;p& zI9`SMi~(ocQlr#LX7$1-(b!_(Pf#HN=eY74T~H+(B@ArEv);}9LJt{v>dF>pV#{I% zkipiX=qes?e39gJOz{YOfx;Wib;d@M4=sIO_!Rc#m zGAV3@2HgNB@4ui?chtwDW zHH`EVj9BraY+Gpf9?ex*rd@cOe;HK&G#wiy(@I;sY(Xt>h{kQrJ7N2axKVvTV#FRu zx1Y3+25iYpMMJ@GYViIwTw=MQE~%KNI^R+cqBzp+{jC2dmPz{8s;gtzc&vT=IDB2P zW#{)_CeIM$eK#tpR+^u%_Bvb=_kOfjKg@05-dtTX8@k`YjmF;Cw&WYB2;ks*&%ra5 z5u$NkvvK`#Hz+>*+Ds3L1_hpBm8?)MQB%2-q);wbt^okLKz>C_OGZ>wRA7(TkehC^ zExMEZh;{i2R{wkuQqpa zeGPeOn`EbqndX`)MhIR}SiS>Xw92@P{$|F+@~S2CJ`W5dK>vTIU4P>2V9|lfQSS_pP_VLVfj+ zeU6N#1t&5xGMw`1zb;scxnipVN;nBzQ(=(_Le?e`qlNoyKGEu% zg^0~8bm_Rm%)~QL*Y-vWhGoTP?+cA#)jFY!Xp4@U+>NQd23#BpsNF$t(luOLC@88m z946j!svy9ZEmOuQ8XZ-b6gXiLni@lX=>Vuvv`lFn5kJO|n-|-1FT#}24N_g#HA0j1 z1O-m)*0V@_eEh@P+XB&Y%S1fy`Y^C3BisvyO><`j2Y@x;D)#qU+Hs{NzOpbV=OXaJ z-_UEx3QQ@7EBfvA84?hK%m4H(?}t49{LEwxXBD1xMl{}Rti&nAnC2E2r|PS$KKT&5 z8d)|RXWuN2{!laZ-E>Jx+MC+bR7vF=6!;bt_eZhau2wm&H)q=vydh2rKU2KlPcx|q zY(eFGw^r(>avt!|!-Rz$YvI7Og1*wtgF_eF+)8Oqks60X7nX=!3qzucGE1`APrjRL zt5r1SV$#5ZLqZA&U|OIs&&iU4gOh8g7ZS}=aX5r=<1`Ehb97`HLosOleeGUX9i7eY zmjWd&W>%K<-gSeLazu5n(o6ao%T7?5iJ)a5P0rA8_U~J+r z7x7WLMpRTA7u;niD<3by7ulVxtd+XqAIQjZ0`xCMP6yi2QmF(2FdA|J_yK#b3!b4D z@*)pZ;#$&aF&a0qcl$|VV9Xhk16&VxcKv|q&e-q=U;w#ex&|rb;bY<=D z0Fz%<#Xv*jy}sjHG6d*}5Rg!Ze`^SFjX>yNK-~ab3v3<3UpJg+X`G4@9xTWk+R3rYv#FzXKhsWS4JG-w#GH--T9b+ppT zDlIK7RjO`pZ~wKb%B(K}zWtYZE{~J>L=N{SZS8A7lTG&q2mekWR^-Uuy(hK_=u;)70!={^4-6)I>{L7{HM%7jaPFpP*yx8~LYNNAuICfyD+3d@frx=fIo_ zbwk6v)Qt~^6jOySltkDMtXRAoP>H}71J;7&cosXLS!h}d0V&jVzwVEPjqTP4Pdi<% zm`QxM(a4m+q}Kyn-ie%@qj^ z4F~Qr<@*`>#(|EWdFx?^cBcDVOj$maXwJ~@iCmu@6PFY@sw}=MyeJgn@k&Ket3RWE z;s|*&US1$txc}Zvd7D^0d@26qc`|v*??HDlpIxzUz0a!q^Khn=&+k;q9`_I1^V$*; zK1bG-tm^QO{J1Ri^}u%{oB&$U%s<|PKbWpqPz~bpg|1X zT)l)OLo#H0O}GjD`-D7q9+-Mj=nW-{blkB57CHRl5fCf(G!QQY(!wnQ463^hxJ5T2 z!v*Seh2%m~6bJS=SI*XrAVDiDtM9rEVSp`teOQ_ZXag~zvGcfv8a(`w1~a9ws6v-u z8;_ITZCg=7j{Ai($RP^B&s&1<@v6hyW(B)4^!+@*7kEY5;eYTsc z_%IWI_-zAn=J9W9&mf?6EwsPuiZi5}pDq6w&*r4XRi84?q0vyV9?ufDvZ5Z#WVP8J z&ldVOEeXU%#PYKKhg}T_W55VDd4F114SGJy^O)rCdf1MAxetElUF-B7@-(`>x#2(g z-sH9T1`w1!AXkAfg9WP5cn)_gkU5ENJHPkNQx(c}yL{NArNVq~_Ge0EQDqW{Mt&?9 zkF_5Zi~#_X>M%kZQB+%-a8lP>@cXw+2k5BpqZFm<7>@uo4LyinF}flW=9F_vsNcwY zZ4j`J7Mtxbd!N@X+5i)_sockK-|u>#baZxnNq{9mBH;Q`_zrNNLeau+-xzRM zjg{WtUXPZ4oUHfM2w)|+qC`daL90+3eZ4o*fG=_i)4I`ED}sN5^pN zAHW!U7fea=9)p?mAJ7Az?kakM2szK&Ge;^5M@O-%ZS8F>m#(o_pT-Jry2sv-NeiFP zdkZ&2?_gn2@drlt7$0v^RXyIv@j+Fmzf0fm1^0XIMY^l~Q|;y57T(t<5?$Vc4IeLb z8qNP8v^cND9Qb}%8~;vc^3xf$-R9y&f40o-;_hqev}Th_el9v$4jLiaCkolD76gwn zD}oi6yLdzfZUV2{|JHo127anP@XghI3ML&4$eL>qQQm&ndhPIfo0viQsD%eCNe3 zFE%4Bh)#`;3NaQhmm4&fyBi|=1sfB4gq0|kqgRlw&4B9i@~y>yTm32C0q)i$h7HSz zMI6%Y1=gsZ^>>Czc}|WB19Y~Wj?Zbm`78q1Yx{t8FZ_|zi9*+Kh&W7}OE!h&KrMN> zN(|o3FmT@5O;xqt9ZqgP`*1A*mJayfFOdLvW~HQH0E?@jsE7z4p5S>~cu5Ixgf)K@ z=wW2BnL#{0J_4_z=2QgZNna0T0YGvC8Y=aszaR>N-+cYjli9$zx>Ef$qP*DyaS3g*M=Tl3zC zKj}~^5Xv4R4bFRis(UYKY)mP9J++A=7Q}(0EKn7`#X89IKtUD$hc-Ak_yLuG{XQlT z4h{+93Q%zl_gy*1mHh!s)!ji{lht4UF^tw#cSN8YxA)h;#cH-p9>CU3U*pN7sU8}z zkHY5g_xl!*$fYGEVX!1VA)V(Pu}xDVxwc#}Xb^K;cDA;gzzR|08oGjuzFj5S+1Y)x z_qKbU&v(u{FZM%WNlby|{J6tKFFIJ=dQJR2ZK@|4b+vy0J2F zW%yQRx0~1qik%%|{0kpKephg{zC268+_6w@Et*xvLpEG`Q3zZjWQXRD;F=y8d%iYfP`l9Y5g=Em~$c_JBOuaj7v~mrLQG zgr!V6$CgP3=(hk&G55$&J<5)tYz{}_3!8sYfAGs848=C>cm1ZArl}VJ-gS^LZs4@4cK*wFBcbYlD)jfCk>^ZWWX55!oevyAut7OdFE)G zYs71hU-2yz5oA`-X*fqnC#i`nP};7C$M4>s!I;MSr@2`KEbsz5GA~yuaq8^@IWr3d zQ^K<3XP19iexl67O>)PSiWe&Jd&U|9+?tjK)#Z?mT175`y&Q+yVuMy^FeE~rxThz- zfQ`zEim3g4>k8Gvg1LV#0O|pR?0gdpOi-$fJPl|nO##Ru?&--5W-*jt1t6%HF4rp1 zVFuc)8Vrn#;18Gms2{Ni#2`wg5)bd(>gqUv)*lJi?SKD)CErbY3ji1_nV}O$+l@Q? zJGDVD);K&iw$r)s$^t+P*atIR!2argf9|;6m7VL-lU-3kBl2=7nIQ6H3s#|&-S_@7 z^?vz!5nT8oI04|hXnqZaguNbRth)>+eF*`ePP@)nnW^PQo@+&+!BfF_;g(oqzoYg8 zFxynVS*Vj$ z7~wz2>!(Z<>iZCI9{>t~CD3WI1`<~(mnR+|&hAI$nfooiUmI>*>sbFj6Z$P~-}I~U zaGX><{yW$1L*C$znH=<8p%#U;K7xhkpFzl}EtTb7_c`Q6m7QtT%mw0JQky!;Y%$;@@Gyy55oJi%ID@?v_6bP4>6;WFQ(9 z;WI3iJP-%i5D9NGzsLS`ikyZv5l)1&BUsob;QsR| zcL0nyXc!7o?QenEzQWshyNfh*oq4p?*g3L!>+44qQBvd>$)X%`eP#`k=fY4RwrCI{ zn%bVdFjSc`7Jj^Ve`OWgSgDSSO+!nx%VRIb%n8{gH+)&aF=Q>`cg^B!giXhO6uKOG zT=jcjF}$gvJX-sa6|r;bE)p$dT_kLxuTX-#N|7~;1x3gu&3}fraUu(H|7Q`FTlk5SixJcmB zbgPTWo2b7HiH+u?=;b~CfinOA=Hqzdcw@jn1B;EUEhuq z$cwEmq~05Wy!iO|RMgb!KkWaQ+9uYX;Qk=cW5W5z$t1~>%gomcXto^ZwT>;X&MN&M z4CxG72nN!MR-f-*e{w`zow~04}C`2 z8`@*Uf1U+;@q0|+31M~V1N#4W764WH%HmK)O^)>vr~dsXxc(34iFrHCwxfz%-}83d zrEUw>PVcjwqb>y=&Qq1467vC-S_9Y{hP8XTB`4uB^M9Blc!Pag6 zVtZQ|O^Y7+Gg^2JmREh&X@+M*9c`BrMJ1ocsFMJg2W+N4LvHjJV%^#ed)ptTHpgL~ zvco#a;HV?a)Ul%Dr}w$xXeR5_^F{9zAnay5iL3u8 z*xK4gpYSdGz%8tPcpqHga#+J4F@jM~)XJrE`VchJ2rFNj*0npX}SikWX>hK591 z47BL@_`j~L7<~c`cOsTb78|?~%N5gUDwMcBqmpj@t7}h-W|`WLUjbGH1W#_DrHBv$ zUjE2i8fJ#~B}^_d!iTNMGgq6-Y5t{kCs`dy6h=BKw1k1KqZYb92Ta1K7z+!>^j9c3 zz9sP(1@J2_RQxg@H^xgcPeu60z-p9JZ21~K`c8zg@0Gn@a^28->ucMg@ z;1iSMdZgEVu~Rd3F2R3YjE0uSe|%8tmH)@ncgJJdhi}_^uk5|aDneyt%PM`hk4BO!$BO~~dwuiyLr-skf?e>`=&-S>5UzvuTjkK;Ix%cTjOP&zyZ zO-J`bUS1GU_Kx+Mbr*_3i)5%SpFZ2UjeP0JUF)7*dq-wfGR=EpZ>_oFs%;PSRF#xi zV$gcyvzeu&7!6Y;ybr1Om-)WuIkPc;FILs}%JH!hm&(m0md;dhJkt65vLSG-F3``<~nb79^zkUIWS9`}TN@AR_= zw|a2Vhq4#n2~$X(Qs*18^mQ+l{2}H;so^i+9x&{*Gcz;8WtrXf#tuITxI7yzH@<_Y zx{F_5_YV#AEW3|3J$LEs>QZ}U-s0;8HEr#8%iZnix+2|DJqiknHzZ-UhJ{r^By=U* zcnu8=9AW>EH-T<`r|mj`R_qz|y*X&@ip^Ri1=3<~nENNjQ1XeqJUh&jgQW;i%O93; zFw-X@h9{%>J%$r6?4}+nXosX8!X7y|+pIhQWgsantrwc4Cv&a$Q4o^Oxh@MO$pSXm89aa5TTm+s(KMZSIXgSMzQ)7D3lXh3 zKi<_G$+^D{EGcXSHrT1@>C|V(yTll0j6U}m$;ikMwxU4swbklyHdIabze_5=>RdFl zCB1yWmKz-t!+QJn8`CE5eV}z}06`0++tbOou7X-5G? zKHV=4T`Jt?lj1qsb~D%+7VWi{nc5%yF;1muvajRDrDfVF;}nkQc>O+w4EG zva+T=Kcn{al>8ki7)$k1t(VBOe*LTQFbMIyBaxBW3-C70WCDQ=d~NXwiN-< z1J{r_G3TF><=mVx@%2@KQXS*W7zt_t?{`LDuL@+v*+iuHoNO9sz-mG)U-@Qj(bdR*OqU@+UR5dfH_DUQS@VJP={a@r^M0{9nJ+5g%zHDZ6fYNL;R5LlBNV#*3YM^0LgrAMsE% zqr=xkgzGy^*COJ=Jgdj7D9az_O1wTU8sg@?F2hod$HV$KKIXGMRQ)Pofs#tVM1C&d z<%{}}F7Yj*ivVf5pDyp+lE1R+t1EUq@4pmh*2vnMRwE9VVf0PioBS($7DD zP~pFZ0tGzEf$)Q!Ub=qCOr`7dP1233KdCAB?AUzNs;C;VeDg1E2@5yyCcvgR+}c%B zH^VVZ{iySi41mJP(2$wUeV5#jt*~@}B)D)~;%N#f+m9*X12OqTyuxj`p zYiYF;-kH(LCn&7ImLtx*?I8E?;X@%E9%13cA3t>d`|m#-Vq%1t*ZKG;9Aqyo*w*le zQBhGA$2+q&wzi|KFa5BH=&3(lJ!tnB&67okD>_~0QUqUP#%sb9K62>$_wSRKGTB*F z$c{EAxHvhnaBxIl(~9C54Z=Htvj}T>Af>>t){g$3PXe4j%qnCc0I&-S3sXyt*SlG( zrtm5NE{lqeM#McEdwX&wCQT?fp&{4*wx=ZmF2sRGEK*Aoke8RAKR%xVR!=PJHK+zj z;ETIvBTTq*zR0Anx-frVTWN_A7Udcl`qHpX#7-5IE@{@bNfG}WokZLDb# zS`;K~%4kX4j}pw4HFhd-ux5T<=_$VQ$yCLqF`(jpG_EA_E_&Vle!!qyOoLuprGRtdaiy85 z##`~8pXJ6Xs;V|8QC!6a4XkEu$C@cc_jV=mEj~v*n>6i<3uXNEBlf+&1Krgix3L2? zmfmR0tQGcc*3SI;3OibtSAMaX>kjPt<(*~3Qh%yj@u1bTDyndZ_VLXRSPtV)|Eqq0{Y;EcuDt?$$-uS^i_-7p3 zuw@04z;b)wa24M>Zb6v`W4i34R=#KtA6B6K+nNd$3cT`P{4(v_v=kb1b2%{e zkI&>B{#9F%xc{2F#N4Tl?qzv0yS@2D#=HB06o#oI83a$Mv10N~K0O*fjcYRz@Y<$S zkexWHUCDERD4lH4z_z*g9;?%_O)oFY`Nu6MI+}?muGK4Mtd?SQG{!{2%VX-dAI2A) zGfV`t&nJ&Css3{*6zA%*B$U;UrL@P*>Iq?zHp{(p^3p?6E}?4vfXBdzEdR-TYRg(< z9J`9Rlg91w_V0wx#Bl5W$d2jAF$fT-w+nf)t7&)fPDNUA!wWo3mGsd2e|ndqcaS8C zx+EshDc?K#$mnU>Yx&%Q{MkuNN!BDiSq<%;r=*icdwZ#mFiNRS5AUzNk7k|^dhI@2 zrqLJ2#BrX;qGeh1uI?}5R9oWs=1EQ7-?_^Y}2-q7hqov)JIH$jEEoI8(p6TE7vq zvwwaG8pq!6YzJ3f(Mph^@@c-NAO7RgX1`vuOXBqC`vbVp6(lzR6|NSF)d^X3-#XkG z&oafX^YGa8J_N6IMRwEvX4Wqmvc)Nn>!?TG-^nh3iLd63>=y^fh1Z zYrgFhu#rjgeXqlNhNsfCt$lZD*-SMCizK1-W-T2-$u9A9Lq22$Z)qYAv)qN{3; zFmm#*bqC^gP9xG=w7$Sr_g+be`Om9cde?K0w`h{bWpI_*_vrAX8fyGo;KiApmEkxu5*@HUoM zt|^=kiUf4Tb7Qt1n6*hyMjQNG%Kx6(Zjf2=j;_^$To{m4IKHQPuNL8L?FUu3K9nO0 zSJtcL8ZriTpX-_FUj$#A_QL<0U~{rH#_7xg-N_n}4iSbBz{yvY-_84<@G&CbE4-RQ~VsYAxAXVK1f zdAhWyiFoC0t*nbpD~VW!wfK|5IpzcxlH;X&w%x`KI(9xek7gca{d`<)rQm5=(AC0l z>agfrsGg-bs5bTq}SgjrEuXHzahL7=>wr z^3={c!os3%%5C+dP|$@%%O_y^QfD2>W|zh?*$0< z5;1V`cZT!LV9Hnqu;ic-kJ_rST~x@uWyUFv8Q5nlii&&9+P#i~O0S1~?#;w}{-aW- zGUL?<8=E1AYFZrY9j-J6<9{TiG#ZZOjxctp;Y@TYf!X~g{;Tun0&d>(fAo3ahwNnQ z6g0q9roecn7p(BqeXoypJ1a$TobWO32|6{_WEmMzZ1-E2=QZ<@EuL+)R8AF@VaD28 zBa0fsI6l{M`~uICK4PS&o8Vr(`Jbz#EOXN4Gf6B{+!e$B6j8taU0v{X`QFL5v)X!b z)0~qt@J8TrIVUw*%$%k{SZoAg1vbXTN#DUT<}uG6B?&2|3Rt&Bwf6d)J-hN$t!ydO zW&dI0vC1ndkdZTlPOnOpT4hvh8aU}adX%*P(TqX?_l-l3lB%l6_+xhe#l+lHW)XJZ}-admQ&=H;8`wMcE5@1*nZAd8eG*cx&GOeZ^t5P^|VTP?`do2uWZau zCFIdVtbf`Fme<>&n1jr5eg2c2)d>~R*02j`NU<)$Tk}-oP2!$^Jp3;VPXQCHIff3k zDpNHmx}UN`2j$__!HLeD8sB|(^-!4)xo`cM7VT{Q{NsM*Q_Qn(+lkiMW{G#rdCea} zg5z{n`iOu4y}9Ow;P1KN{ifaUiPetSqHe$N)=rtmRhpqmn0ZixfYL4F zvFsscb9S(pdhz_-@yLvK#if9Ej@td>(-n{EiPZ5>;8`kyt9JxGw0@{)$-&L zWOGK8hTa$`9y)z(eIU_%cI7z3C@s*m{T9#B4gG%Z##j9xmb2aP3%ZcYnoJ!Lr|-q~ z)C|o$6dziCk{#Eo&DF8ylO0tua#i7GeR2~4I?Uf56K!I`r(7iRs9o)^Os_+uSml+B zc<5{un!+4qInxwdH47j4V~j}spw}ILu|KQ(c6gs;r9OcSMXKku=Kcjo3qL?y0m8?q zLZ>5^)RK%JPz(=pdcVHF3Xut$?fBWkMSc03m-Yw$NEgEf9MFlnx0ZUBVpyqW15rEr zDRKlNm@!lXht2o-vi|uBg$7*t;`s-#vN8|^R^cXEdYkz?=jg4)$88HDW44$dn>nGl zv-0wp)!z|UT^^K@lA3@^Ux1D;KNMO0735&PxRJjW5Egs;L@o%YDVxwQZhzza>67s) zvX&iHrJthyF+3Mp=_YE_SmI@@y&C8Jld18utQeHs$!$ca+=pk0WvuZ>jxzpJu1Il< z)TAU?sLJIsQJ0aC|LI>yW?}W0*bROy^uU%~5nx<@g}+nx^4wdm!sJDVhzloYo04G7 z#ktpMXQy=V_ZXa}P_Mi3Le55`RNb^gfhFPMe5^w5zml*=Est;pY&|u^B&0)7%nW5IFtDCKl}QOxHhWv2WFEIn z%4pS==d(NJ566n(cmdpjE29ctOlD|~LB$G%*+p~LHpKmKIHtL{Z({VfFgiLoSd&M7 z^djm;!?uDpbEh+x^#RLQb@RdP@>2Kfn-2AqmD`|@iDCVql# z2H@*4pm59d`1tfIY%b4^vJZ$JI?F^0&y%4BC5PL^}wyE?(8g(efN1Gw0?-8Vrgk<4|Jv)hcQk- z`-m?Jnj{PhuvUkKg(YNV4T9dR27MYLK9Q1=qAabfKto6YcUr~M^ER|q@Ab-!KxPy1 z+R%Z|8#(J-1eQsd8d`a~nVgc+%%26@4N*Wp}u%d!(g z%;}f>lPBEpb%=6y!MW88Qx?zWTC?FA2-)+tG<#y9n=CP-E5Fk9^%cvifXv3anAFUO6r3 z2&`ga{~o!F;{SO(bK)f(;%YhA#*PP!FTe5et;efQg=05G>sxGfXJVMfDX!EjL_#D` z^bO(&KZnpr~1Q z2Zk+m*fi8>Td3lmYa}C5=ln2$!pXuCytVZVuGiw1t@<8yg#xy&sP?t6}gA z*mxy>|9dc!0d&Ocr6rsE{QM`gjiSJUbuI1-`RrMM?l@Fl_gmG#fEpc(zyd@Plrp2w zF**1BYMf^!{~H_25Vpo*Q;L(H@S;$#T>JhGao_zYGfbYDF_Ai%M+bt98m5SldwXZj z{}v^$js?63tcOcwpCy38K*SPQi||D->Za9!ZZHG`5DHAw*Afy8$;@u|`6%5tY)jlm|HimZaVf9BJ=3zsl!EnwfC?8>~2JpvmS1USIjcBo@4nF#IUkGUDcT+kO}y zHv3TCsaa`qeQu7FQQcSNL(v=U z_?jzLd(zaSQ>h(_HE|~|pv9M6@8hdr*K_6lHz0B|yQtd%FkK&F2DRLi}4ia*5kKxa+ z3vwz$8GEgtmrCv%Vu~$R;+Ry(%WVEEC&dT`nhyD9 zMxPyZJ1?bS+zq}XviE>YTx-;5^4?B|sd$i@WJxd_Cn|>O-4>%j!~(_;n0$}5?<{2G z$#Ap{c4r(NO zlBpUVhLPjDp<=?afI`i^RPS-}uUFwsyrAazl1&0L+b#45VU1oJsFKoUC&B3F#7R1$ z8Cb73**2KBS#hnfKG&HFj{P^5C>p{iIIsDFI)0g)j54$r_4a#_3r4 zoyewyIHKS%8if0!x%<1NdU_j_107w3RNH4_biMIRy_-iO&NJd$-hQsFJu%>h1A#)k zSpJQmdCuORD@?IN?E`W%At#3jBWxd!lDEojQ4y+VI?Q(>xftMA&(2ndQmIxJYe|h9 ztZ?hJfk9;czFq^aZ5ul~tYe4&-uFv{2ciHUZQ3Np!^4Aul;RrO!5WZ2P=Fow+We`U zgn?1E4rmdMihWpk=n1*Gn)31(M3JFIIleJ4U^-f;PUm~Hft=9Dg@BhLlWef)fVl=i zYi;cbil-^p{rmUp?Vz5wJATgJl!PIZ4%ng6enG%!dv8sW9%4~cYU}BNYy6YUwW;M_ zKr#uyhMSm}xMtJce$oy~zEVJd6gazKXIS)UPSw~}8}M_-xVIYr%?CEEs(&IJ16PH@ zZK}-ww2N`&=G0J-#!3mCo@+3pyf@@ zNEI=*v9yg#-amYm0+L(Rak~`b+CFnUF`a6c6UYmJ-W@Y4&qrbqxm<{|M-$ zC`x-`N=nkC1!db;Zy9`HiO*Dd*PZf3dwvY~A|^!?9o^oi+%waKSVX1W@8bjIC@^W? zr*fJ9%hku-<8{V((C%1mp3$F`eu3X$gPCU_q)&mFHG~z^yZG*5hKO=fSfPXG&P)c7 z*#+Eq8b!CLr7KE!Lzv(Aq~C!v+@E|$&;}{LZl|Zsg0m1 zII$Q5FWi8B0jC4^)@GvyoXVQgm$z*P-pEdPv9hv;tll9gkmru>u>w%W7Q^b@!~j%g z3AYV37EHt3J6kKzffaMoXdoj{9Yuv79v;r|g(rrLVlsBM*uf~;$-bi8#0HfVgXQ~w zzjujOxG5?ZGCVvQOzwfhuKVj(xX%j<3-XGJXs!^cG5TJG{CD8>OT?BaCnpCQLJ`0= zBqc&tfde2vBu8NPUR=gIxiweJIxA_vsSR^eAFG;rMnEkT1X^6)rmyR_KO=?ISwo7T zI7U0w@Uy9q!56pKKR2z9XIBYqjEO4qHER~G_+Kx;-p3u*j_Vm~YDJkKyxJ*)^y=J^ zwmF6Cygk9JPUsQhaV$(u=~3YL=pVrjEcBbet}?ng$v~9j=SJ~*Lu{eCm+6CF8n%!1 zMb@*q#_TtaJf6+F0V@IfJh|U82D_tO9=DmjY`y$<7d-Q-p^Ai0rZ*J-jyK2Vo><{v z1&lM_pX%|_ecQK@qLFdsQcx@z9+5k3^geHMZ@8DP>Um1Bu4wALT>qb|WIAX+igdzl0nN3VA70?Yp|4_6K z6`MXSzw>k_H;-yy%;6p*v1y|xF6Xsxi-K*ep|VVF|EuMn4q^V@{KDgBrTIv{LTq1u{{q-WZQ$UY@!c%%*gQHNX6mJ; zr5ymg(+4IuakoDhV?~;)hwEdAZ-F~Km&bnsv?y>MfZ>(4*-RygL?IDganMC9J?|;G zKHGE$!CWw70{s$Na8=2hHx!Q^J%T0D@mWAmGDcfh^dv1OCyp8CVYXxn{9rA()mMhI z)gC<}gZ>AxutUoQNF!#}S=#=>8LnZdr7mC)z_@$hj)h2=IucUS;NC@v&5MBRDXMpB zvU)((k0^u(%2MFeO`k3lm375-V z^`8|(OH2Kax29U?f~8$hxC?zuO<2gvHx(X9{ufhb_QIt@$qFo75PGtQ<0?@Gy?bv#(?%9V9KA#*xOmlj;~3yD zN6w#TlS0rtO2OyTgsu`YMsC1i@qj{so=9oWQUC`$7W7noM9t6wWy8!=(T9HQf8r&l|>}+8K1}Q=O2307LUBMNb zFddczdze|}k?TX|HQ7C%d!PUcd2bm2!X5-2pl@hs8Pt|V@B%M~-!QW{TpNYHk41b1 zZv8{3_^M^D$k_~?Dz&v2`=bV(WgJ>y_+1S zYB-K(Jcyy2S^%fB4O~-1f;{p?dhnsFJA!Vnq2sj!pmy)yq%|~Jh&2HaC^AK$_O=#k z8&z|Kw4BVz^BaaI!)zBf%3p-dYJC0q;9*8nhV%B=6SKQ4YY}3Y7|BmjWpQ-A^L$am zc*Ipn5RmxT(f@ofoOS@^L}?oNCMawIM4|4U|TaY&QSI)_U$2MG&;qba|j0AK90|at0@1|_P z=ukVLOyLb5Kx_8{RVUy$6mp#--%WcvB`uO297ur&bPFea?#rkdyWR>emAL0?HzES;EWI9)xIE zP!Ryi-iSNHY62TCjY?9;#HOow-@pJeCd-{3K6bL-%hW$Gz$zt`V>gtE zxtj~i3k^}^!Lr~5uYz_l+oR0m-4hYU4|`=~p>0YeXsOqqr{nfku%E8)1%kSypenR5 z(Y@rTMAGh%cH%f**(|(@qv`#6weai%_o0KnJZhAy{Ql4D-!^B5H2!U#!XMbIg!T%k zdC^?|+K6S}_2T&8tNX=iN@J1pwU5`g&3gwkWBeC(V8$w~%GTb|7Mt<$XY3y2p0K7S zA!V&*z7=U|$mlz3L{+LFGd^s_5?X6LqJBkFMn&3WvoPC0cj7SZma{YVX26Yf>3pg7 zpQsQCCT@}F51@k|3WOr^+JBTm(8nPx65?}y@?=d~sO6dnsXO2X@CUI;Uw8G}Q(RsB zy%YS=QGv5Xh6UFu=T+_BZ>v-9PQQ26%yOjQ4fy1NgT=|I&(?$2K0(ta;{1;^;yFGy z$_`&K%7x3HYoDvBRhqp%6xJ@bJ)c<}l@hu0>D~F!UPdl!Tdb!)ZD6^l9r{)Y<^~F< z@urkQ9pvKW)OmlIUFRWre%q`vp6GZ^t)afA@9&h{{0FN#yd|n94^OtJ%QqChH|vQz zoA;9pTg8VBSrJR!xvgUp$Sk-ucX&@=Sh(pIj*laIS$_94Q>A@x>*IUlb-0vPUH!+W zp_(4(3@TNBJ~bwEs}Y$2XD@+`P$iF`^5)#nwLN z{C)eRs{Zg%Ps&{moNFwSb=RsF*SNoZ0&mv+PUwE=^i->uyEv2PpSAloGY;zDdTW=N zp3}{|b*}~X-pKhjxuJ4)Z5eG!FcEZsNvSh9H_&eG_e-cHB|2*C9!Io|Ub}KbKYr;v zERm6wMTL$jYx=ibK_TJfXKU$=f7zq^b&DU@3FwtBm%S~O4$&nO_cmIXKzm&{ z5pG!*{iKafgF@j#N}4M!XJvBK`t9(rtPqB3q!Nn(+JvVl-cVqe6-Tcv@dHsEPt&%N z3KbHZdx0GFt$Hv1T_<&2*!q3U(u*suBJnSY2@Y2HMCJ%`3uhp%-@mN}Ph#lg#-l9P z>c`P^j{cYibTN4Uv&ptQY@+$(tP@>PXBKI!{f(%NbAldi-cyr!$_K+5;?}S zW)j3f!NKEJJ&x7+G_=&gT6aw+_Ri58l#{ss?7u*lFx11AYP+F6;U-~%gVUG!iapw( z>W}ulCmXqS?Q|FvDB38x#NS55BLzrTqUN*vlYPzulX2p4C@M%W6YuUij)b=Oky7n+ z^7)PQnWM*8jgEvfWAOgOkPe&Uvc0ey7T6D9PFt+o?pWIKc)QZb0Qqt(9PQ{pIB&648Jbz_qBJo zB@GXne{a6f?G-GO@ucmK(qqxv>JM~vZ>uX&C_oY=*I=-tKxW*?E}x`o-go^dV{h!c zwKvZ2Mn4bMK2pn<307Ks@`Y*tUdCt$GqaWDSj5oMG8IB79{h(d=(cLQ{o>`8IM!hx zMh_FW-_0nrcX3)K|8PwHxpp!v7?e@P=-@x|rdx>1Ki(oWC`-*ZDZqI~Wn6_`GsYML z{|3j6TXB42)F|$X9%PiQzfT5eW7bm8*EEJiDUS!9YUN+#L-Y>bj9!3UMedGg85O>O zpZIWoHS1Pln7Et}0eX?>tL(eSdwqGbzy(rks8OS#>6NCq`eD5LBGkEM8K{Q6A|1jU zv^60^Lj7ae*Gly+&E5OxmByX6u|na2z-pzd5uu6*H~iWwVZ6xP4G9TB4U;TeTIqk4 z{UyRNMQv>Lw`5;t#5FDX72zuxeWy}#-L^B6Q_gF8G>hsedhtKj%PanwKM0B(!})HY z>AV7`@Fk^-^hCg(ap!i%v;ej&N|wTW@`oacr0pVackTg+p9&-xTd5>e0Zk}VtM-R$ zX)3A@3muZ}x;fsgzIJnY)bNO7qsTm7A*s(KtN(r79PS&D;lX#n(@*k?J=5dEJPrSr zdBpPgchtGs^{u8QI>yo>MsY))lp)3MrXP%rgz58b&k3wLqO z&h{%WSthp(`ukQuT)YaGWkgQvip7XuE_P^X>p^R)gv;o(ooa8 z&udPab`vS3lQ~k4fC?F9kNyPLa2-WMj#}@KXP` zx5CNy{f?8~yirc)BT%0hHYyE_`9t>3yR`dAbg`_6o^JaHK=&q+H`OzXZ&!&!I(++Ly6JK9lP~0)+?;GhYSYEt^=MZ@8 zq*G#$xSJ+`DQ`D)7Ui7HG!HeOV(Es+#eNa>>5p3F2u$6dKK^~=&HKNMPntz)rA`uP z9!oQy`w&&ey?i~CC1y?epbCd-CE$$4L;8}SiMliR5}W4xE@_1H6-AN8+dp7!_^|jg zn`UoMhRB`)!pW$_^x$W&Y&)udvssHa#Z_S-$#R!^IGa5X8TfRS7rZ6jAK}C-Oo1C zsstnU#OKmeK@+7y^=dEWRoYkeD6_KYkK@V47x)<&Pqhid-4=hdi{4B@*sia1F0SUie(B-6Fqu=Qr{3i~U6r2d;BhCl_X|Z;vr=x;*LFtc+XS-cMFm zRq4LjG;;p%l8c+j%iYK{D5bcM1jNvzP*+B&#E8_rao4?mOZPVu4=d+xHoL>{0j<>kUK~na+S=!xEPcrg6FbL z)-2bzYQMaw=V8*%8F1@=Hrqmqvj1xJHFr$MfFd0KCF4mj2_TB{!CIC4hIvkwb1QC8 z`hUVT12=0TcX9)C`7Yc#W0e#afd$24rCM??Ml_pdfZIIoIs{m~ciU~B7w=t?cr z%3gHfRAnbbZKm+of6$a&8^Am z&`@mRt8x#68XMeLs+(uVU%i`VFF<;}02g`S;7MAjB{lLY7{xIEDV|xe@Ob8i(;-Ln ze9f=)HY>qcJ;wP34X@}}+=B0`ZC}H$gHSB14XO+oeD0b3_Fuf|d$jf-E$;r>uYFW8 zm#L7s(mjjgR{x6yuCS>t+}fteR!pvgz*%(~{Kd5k1Iko+mYtMOqq$J34ZIS`i@+WUNM%IH)m;Q^IIqaa45@4{W zH?Ouob7PUc6lKuWcKGj;@a5TYf!c(?z2nYW|HFNLUY)2eF29aE?uK9BT6#O2FxO0o zqnxj!(`hVUqk8XX=~naIWd#0L<_scHpXJ15RUAY?0roLXm z_-R|w<$&M9yK^I1O-cL#di@vO>A_xBT<*+{)xp}Sz{yy4Gb2@CdDj}TsFfqaFR}j# z|LISJMtP_Hk_fujD1OTR=8@IKe^mKTu$V^9Fo5-J`E{hCp=vi$alg#qADbTi)=YIQ zlitmaWrAMky4rwk%@Z3zx;riwU7B>&ztCQK639IMe9M=CTER@bpnK*bCS;IQw&Cxx zgxiJq5MAAT#q{pG?bmm-8{8?MQSmi07B|1YAu0)wNLM#B^BvzzIQ)7bqzp5 zxGg$APXA9aWs42h z^91S-ud+?takQWY!SvfQuxu+pJ7Klk)h@UYG^$t9z zHxZb~mDJPK#Uh}VfexAmBwWMYBA|@Gs!*cy5v?8gLxWa-3F!8l$|SBSqw@P;i2YU9 z!pVU(1dSTG88~rs`@H;JOA#zn9!Td`6JWbxpVe@E{m8+vi0rh6_`zys?71`(8XDu2 z`Z(`6^<6sxa5Su*RFlIXUX`;GCsm~KNDlG$CVeKb<~(>!>)?O9eLUkc_8NYFbU@2_ z;^ig}@;5&6)QB$lJ@FQQ8s`LFK6U-B*JHOXOUkMGqJ-CeGoQ*B3~emiP8!9tHN>ty zCH{VS7KC!QZdaZJ(~RkuH##~+`1=bG?{nx*(O^c3vqpzKOYE85WODrD5AKwzN@;(t z1hRde?Ja&gJt6nro>4e&+Ic@(puYaI0AKLlu}G8m7Hc<+oTV)4qfwWH4gEx0n(DrT zLI>I%x#vO@niF3BW`Y52AyM78*mCXq=6mZ8D(-$vGROcXWvtlk0Tv;3$h+W)V`GKe zvLp$%(g6yn%sf1a>5~Rn#Po7a#xCz36rKAVrA)YnH|+VM^-wrBEZg0F&?Dq|75&V; zpgyeRNtY#V%X=*I<4-Md&1g)E_7zL(Qsq39r0&7wPZZKDeZ|xt4)<`Rpx*aC5fW@U zB!iKX1z=(jIuJ zSM&<>*Yvy31wgoem@X6y-DnaJEim_hymfBC84oZ;Kw6@>0)>J|n83uGfO6b7GE$`Y znpXDtDwt7T0M`e;A|hbTfGH8VbxQ(n0Q?-n<3W~CG6+vTKH?$FRp5DmsVtZ_Km<}S zo78|Ptr*WZ1WK^2+HY+{1v`Uvw2$R#ipVB}C!{dB_#SYM@pl zTDajEsOA9+Ftxo9N-PCcTMU9?zz3r8@F9|!kA%fQCO1*j>@YBL2oDeYLb26ukb zMvBS_HFtNBxtGTbFh`5Xh~OAYc=JXc^fyHQ1tp3TMtDEK!;c}&NQThO)b^*+*o&jj z6NXh5EHH|~&cT_&t#40FLTk0$&2y*n;n4h9rkiK81ZCY^d?DRL^PV6M8c}TM>#RG8 ziPf1Evy#@y^hg#qRQ(*MyI*R>JZ>f?CVDovp}W~Go_Oxqho#|l(X7k^tn%@nwAN9p z=-|p7vfN8xv8m{{8QKt~m-c;o_t%`pk>mLO#~T8rj_yYmwKx~}1;Q*`H^x7z zwZ4rnDFshad<;Jrz8Sb`w=a(~X6Wg9^u7YBb zN7qw#ciT%g4zAmV8*llMlO@S8r&q~}g#-oFYtiTFZE7kwG4wb_CRhIY_4CVc{ui$w zzhVrySpUeSqUE!y*|;bNC3sC3=FTy39VaDVXlXOgq{;QQtOg9PzV+L=KXTxovwHcx zR+ISGjk@0D|LQNe(nPL057te7Wi)#`xiwI#HobXdq!;r(D1U(BIe(%4Zq7;a1rC2q z%=B2GjC9f?atCvrzV8bUa3Z@VI}6LyXdXmnD;gQ`#;6q@@Njr;{>D`CZWa7Hy*&C^ zN&mlFW6H{^c`j{_-I``ScmB)h2*uK#sYV|c9k;QubKi7ov-m!b8g@7zzwh1S%EMUH zF;S;1z4h}Wp}BucXt=p^VPKv26USSXlvwHKvhp&2Kjo}xz7_gPZDZp> zC>UD0DX>@n!p?RZ*VPvWUlR;)pR7t>tAKve-`8gWCJW^xd7xJz-~PD)geD-x$E-5# zhM7+=5YxgS?zdk2Rb%v-M^$`9EekJ1a+kryGk?08+q<~G*DHOM2o*>KoLF#(3^~=! zeub^s2R=CCdyzo#q^I{G-V1U1La+}YHYQ3wJt3!Gw;_EE;)l54SszjbN_Q13fbX>K zPvS6f>!E}z^yl~-5$M4A1S3&*Xxm`u9%hKckcVMFdHD{rjv*b)z*xVBEvwGX27>(n zqCHfawQ%$CJ2L!j7D#U`^_dT2k8RR{b2MAe82A8B8xTkJGk`>IVg^`3n zUC&0sU19|qanc5R%&-35fOM&J@Y`JbujF2AN4L36QKpfW;n%qANH~*hWP)MO8c!uY40V25UceY&(#g3UR{a}3g zV&~L8<7&XuanrGXM8Ik+ry|5AE$%_J;$xHgp?aQ~bos_=$t zI`t1lM^ZV9DJs$j_G>{b1PnrNo@_~4h>xBnI4$fqHvIXI&sC3}z0*6vl|5{5`41Pl z0DAjZT!VB2j4oM8uO0cinu;ImsGYu1;E{A4($y!w9UAtU8Mi;6;;cU1X7ffp{gcg&@V z_p!WjzB#s+1>QBuV`u!_&>KBwB+iP>3?4(cX;EN!O@)P;0RNE$WoFWX`?4OKmB{=n z(DBRAh|fcS$vd!tAX$BCf-P?#>kHd8e;8yQTM)NjKXS_#i9oD=`X+9efDA05#X8)b z%Z+68jRGT>$5$GAAsBo|%#1J=NPWwW0QNW}Zy{#E){{T@0*z~|IRR%5zQ;R52P4wJ z7Cf76OaT>VWhhH&qVu5ff4u-kMn=ynKs-b;-;om;%yr}-Z>wp;Al=)y^bi*>t)-`@ z2wSxQvI2^Wi)C;+Alb85{myJRxS3!c+gCJR>WmxAi`~oapM4n7gHhlEt|GZkV2l7f z8UdkX!thy#rOuyS1O)Q`BKo0rS8~-3zUIBZeQbyXT3XRq(mxrK4>O67E%@h;RRjSI zT04x#|Ni3-PU5;*Z#raar`jTQCows>3rduMIX@O6DIymL@e+fih(u99&=X<}(~!PA zoOJ)3&+T(BC%u4WPy`&s)%kZ|+H7L;b@trhp(msNo-AU|5u$!2!Ioy~O#_~?Hh1Zf z>&+Jx8J?o0dgY1}UYut461`6`C)ac$ORO78GFc0hVGAyMpae+m>u9w{O>+60ePWmB z@#9OaY{%=kc!9rPKMV4uHeIo-9BW5%A6Vslp8w-_EP1-A8#4d4c4Vc&{;DTmlj@*J z`hrOPhz#c^DN*?TxqnzEi&@|{p;+0RfjNqQer|a(aS_IR6Zh;Vsb|Is$rUUp2RQn2 z>?)jO(RpgVTf)5=Rh#D&YRnR)t>b#?TdkBs)6!afr3GqVgY&{js;|&Q?Ff_DMMWw& z*dLC)AHHopZIr5zT^zeT{RPv@mqAV(vqlbQqtmOe=2ckoKaMcAD2oiL&vvF;&si|M z5*sJ!!$~kYQEd$4hAM|kp6>euaARn6;ni*Q6r8mlTqTj;pK(962)K@yXx<;?{Yoh4 zkyGW^QPJZTZ7U-lufp3GseB`be3gAE>M2U+f>5DD{w8)SH(MeO=x~M5jH19(D;AD? zA>tckN-a~924X0yQ4h631D5xO-n zpT8P<_s*Jq(EXW4p@Y@WIew%3g@1|47+pf&y;=;5*y)KL1C;fkkb6f0jSHe_BVm5& zh5Zl<)7RJ6UQ?F-7|bJhGTPdt5c^4eBvCkedgtPK*XiwhZH*O=VYk7_gTnRF0i=D5 zP+3mRoL9DnTfbYfetfd|r>`rr-uM)p+nDxoG+kkX0+#WZ6drDh5VmPS( zbfDq*E6d3x?PtrD@$_28w8+`JgQu71fq5k*nZ_<{n7M-^Yr+K?(t#{@=G@7h+^0dw zFM8vph*KrBHd=%o8bM$)9;5q8e9@EtUGlV8nz73@=JksOX@0{->fBzXx}Dj*GykY$ zsW|^XEV3_2_k?r$gynVfBrW!TC-G|RrpPG{)IF|qu0VHFlS7X@i*xyy?54($X#D8? z-I=RQzp@XP0crbz-1!?$j6;#emsekX%)CXC1-1qYuFaIsn{PLIsiM}FNX@PWk&#bY zjEido{culodn?XGr*xstGclMbdYiLA8-MzXbz*pgx(2wkA+`~LEC#92oEJc<$4zgc z*OE8BINc?U4PuL=npOHye7$LYJpgtL1jxW`kin6KM;Xv$46SDr*6`%=O3_-$p3Rx=5j>BRb6n>3ia7+~Q8k7sDOw7Pl=!Wkw{V~5`@yojScAJu&m zx*D+8T5#?{EldY~NF9#_Zs6MWi}u zG5U$87n`QdS68&o>EC1X-|CcfF6dcb;IrVYvqa=by_wlExvl=;ahk@D4c$-ugA4my zjFzWqd_cCo&#MZ$)YU!lmqPO;6o~%{`Ku4}1Y|7TP*Gc`R8kxES8|2_9+K+l?JT|# zKpu6Wbvs3}MJ(q!Fob1LV_=})2!r1>CUCX9)OK?RMp zP3XSls))0XeNK*8d{gDFnno&<=Rsb%O%Z2%2^I(CdmnArx8i#@>4V5AQ`HOxk`HYQ?O|`zfi#)@uh99MM?!cHfxq z5OgJ~cL{%EOH_V#J-P@_iiNa|gp?H6ikRTdmr1on3x?q%RuwXMoP|H+QXtuu-@biQ z>|OV6dI5dq3y5<-{5&qr`&hv;L4a#fhX;Bg6}ui%G5|0W-?IA_mHk|O45EFIL-+4r zcOb54C5W`qrF@CT{`+sTEl?UTFSDp<3Oq$fu@oO}`=;;K$z^~vTn!rt8;55aC8sP? zd{WRS0kd*1a^6Bt2er5>GyHBw-~#L*Oc>>p%Ulk)H4q#Cu>yTyTLzr0#E;o0^eVlU z^nR{3HuL@a*$|5;=JFe`@=MpIS&YulYj)HM+Ua#`Y~d zLi7!7%GA>}q^T-Ro&FRQ8?0WFUr?syl#0|QL~LxpOv&HBmKyht&JBBBUf!KHIQx}d zWufX1jGI!1+FcH_$trui7+w1*WsA5)X0jbcXWxk|FS1heN;J6O$tbK$>&IGQ9+7pn zT|b@f9sSjxIjTj~Q1U#OXU-$=rY^=5&G2coek(rLiK?ujVFynUK?Z>M&6?BUd3hwc zBR6jOcSK7z%{o6E>)t)~KtMLQwFO#FtiT|L`o*P#*?MMnVERjLO1+x>A*6}^G+zQdO zKM120%L__x5XKKK?&obvf{AVh#)W1AuP-4m_6C@ykYr;d_zXh95Jnw|lZLLt=?@Bc zU*On4pcEiEs5bk9=2uCNHSbdfL1(iHNvKB%4FlMST_r{W7O05bH);q%B86F{9w=$l zV$Tc;_9+#j85V&=I)z56!_YpvXI$TW2sXpalW@5t_8I5r&-@HiPkRIdI)G7bK%#Bo zNlri{7QmRujQ6zDD_YT*Tf^d^5R{Yx0h>CyPV5en(3XIaa{v&ZJlL^tG0>ox-BCq# ztmpl{*8+>`V&{1q;!s0?t4&?Mo%u4OV!T8sM9W1J&*gT7oZ|Nl57;da=$af|S1@zk z&q}B`=#Eu$$W80)DNw_`?MiD*K1%t~vGmtzHrBeMZYrByV$-C|z9=5_GVVaoi^{pHM+ zQD~a?S9`ah$CN>mjP#Ho%|=|W7n;@wp_sBv2#P3}95bq=pX}$$+&v$0}fo-A|vOs}j1jryEAhi%I0j)SZhzR&7EiEmQ z!NFXB9*AcJDgZkV53XSc|bIVtdv zsSU{f?uErR{^Vj~!x6H7>F+YSN{R|X@;}Vzb?edOBV`cGHf}&Ah>CoB`t&K%_9Lt= zd}0W*?`7A3t^vv>Gd00~@WvIbXO0M+2+P`Pq8C~S@I@jb2SiSSFHp(Mj1d$RxJuC# zrcE{O%c>xgTw!arn3&K`uVyx zEiJ8dcS?tXfYg`n?nb(#yCn}PAxNimcQ*(~cS)CkG`w?u&-MC`UZim5Gc$YdweB@U zgH^3SWcd*$o$3c84g}qJ^^cUCb)3svTjRW8A_LZoc>RGRF*?PLW)y8m({Z$q^E77S zf6V3gChIU0>J-7F{VAmCD|~M6a0lGCqD3W)_QzSiqR=Bs%g4>b_X(5$&(}bs3(OWt zIzT?Xv!13oZ8>6_08KvA4_V|%plbBG+V2K!f-z`lS01N@+7jEn?gA!ORLFVL2ajEZ zOmkhdUm*3BPcEZAU8s^=Zt#)Yrl*4anqDDO9NPuv`@$H{-XF)iV!0sfqlg`LU3hzW ziMW`3Q-j`<@WUs{1?izi5w z&;?n63Q@!0L^3U7TYoddTN0^OEm9X=dM;er^MHJ0Y$ijOD^-koX6kRnP6w-Dw>W;K zZFrgJ(xL*%Rwu9a8rA(8`~wYnUxNY@jl9-ThV&m(|z-@9SM zHmdDT6td{HzInUVXZ^uPsJ)Iq9CTwi=q?tQK>K$GI5_#4Oi?J2iD5(R2J4=P{hFoR zDty^u(p!)fpKs8RZiX$*UZ`w{@Z1L@U8txt$y8$EBmO(YnaNLup+UhQOg*&fVU7w3 z3R+e-#3I30Dt;NAYIrj)gna$*AtBRBJsE_&TlP+Hyup-}QZ=IrbL-)I5=w|P(6sLl zmbz}#QdLv8Rem6~( zaulbOX?t32g^jRMm%6($VZ&|nrd9es$Hb%!s_s3isk5E}hKZC4rQ9tBjHpP*XC$)&hbztc3g>x8CIYi!dW}pT^@=0;D21P;+PBgeBUV+B8 z=CfjmV;>dHJMcCZ-JBAfQmXAsn|xYt8To&Zlw(S+aVg2DID~ApY(fvHMw+ zGdQs>_n zjf)mE-*$b8m>?ExZ>=+5D0#Sjc+oib=fkAwE()5`^ADiVVpDn?$Hb>s_)L2W(h~tjM&8eEyDhCQZsd`-ju-diaA#yZtrPO!2J{TdKAl#5>z&AQMjI-Txb7? zzwNLiH?J1j>ASvAbBovOeiR!jte`mkb-=_@tX|jK&65 zN-KP^ql{cIkl<#Qf_uYRqY*AoYt3jNSU=j;H9&A}Em@7#?n>duL=#f=E;Pm(g+-k@bW?j&to>3NEpeH0BHE08HJnfRbe_MI zs;VOwG{z_c^2k-y%~6bdi7)?6HD{%6`LGvyw$U-w+avJSTKzt-sbqRr4-hgn)YSorRy|g{?%CNJ;Xsn0@3!MEZkmy(uLEY@t7xaMDX58#6cQTIWrEY@<;D zX9*2HF7av|2dk5sjT^#-%P@$0 z8Yz%saeMPCPwVYQV$9>#h+jU97fJie?KS@1D;gsHRPz$y-GSjyK8%d^2l4WCz2PPK zhlT2*lypH-`9vATe=13-Vxr45OZoH=$POK)XfG|JlA-J81>Qny<1~eL4&oWNt$Nc` zLst(nSm+$-fa^M==?r(31|=9O6gbx)-J(q&0lxL!efWr=(vE zH6BQO@wY{QQwP6Qza)a_m#2Cp?=ouFFKzX~0K{E~ud=l}*11*nL6421e8za}xic7h4YW z5G<+wj~O5@95C?A|LzR0dzYIIL!;G!%K?NAPFDlfRuF|rSXKXz%V%)hkECNww%z0B zAvF|f7LnLcC5RKC4Mtw-JE`0u*05|(;c;sZ;PKARVmF*sn6D1_mM_-Df!}+RKB`?U z&VlM&SWg=s=gcF`!)lXWtb1ISOxZj1jH;6z5-D0?VuN<6-nit$7Z*$l8-Cx$v?dyf zK}Re&dWj)!lvxq>*)lX*x@H-fi(fzVQF9f^5~}3Y^&?gv4j1a`)5nEMJ$`sgO@ZueqT&ftdZ5Vx2GZQ@w+jK=$R@=z(Hpwdw!|LUWgs&{3D){p8i^_ zt56^IyRRkM2cd#r@6M2;t%VRQFpM14V*D+8j0mI2RQg8T9z33BlOO-Is3xc*j)h&r zTtC#=9I6KDC|F0~7S%g`!u-g9X96A8&&_cH6A;t|2i!{R{wm2Y4w=ZRgAa-oxP zzyX;qQKk3k7;rWOL;_ko)TtlhuRuq{Uq($$?R@>^ITe`2rz#Ca04jrlf#IWarcW2B z7JeKF0y3yg&14v;nn3@H4%8@CzzK4E0lp$6Gc&r-8c3SJKS;nkh}wB^BC7yQ156|t zn3!y?mOzIIq#uL11!(U8EgdMB_z5HU)q zqa2VH0o!0Tp$(%VD1vZ+<27l2+#ivbqj7v1`j%!RGfS})?9|6-m*0_+KUUL&q?D_% zlg`l2uLs)84LZZ^T0ckZ^MZXvkRab>Edu@TGF`&HyTEm@n9*$6HUc&4=rq|kUuMjO zTB?6<-cA0{hV|bQl|{zljX*l!#klcwOoWZ3b}uBJSam|REk~*mnu6QEQX|(s@bgNl z>u#_u4aVlRD>IpGX=l;y`1)F8F?zB{89dY4PIR;q2l@0~*vMjqgkS$Oax-fO`Oea@ z%`yfwZ0q~`t0BOp9(R}BCFsQ4{wzl2I>|dps*~L)hg}RO#TMFlySh+UeD>m7ZL4JF z=WOui)cY^)T6%4u6SZKVt7DYD8c`i)((koP-S1A~d|=PP<>unb6<0yBdhAOa}_EnoRR zkKju}^-o|z3c_>1fEwyo1i}}nr5Aia|B3r0_*hVuG=r~8DCEup1I7k>Kf=jOz~cBs zg$+Lay?w`>1!yBfNg*J1D;G?4p%_|V=&JF` zHf>{0h`jiKF8vr3a|6PAGy&^HoCXIP;{^>VFSa@QIouE;vBTl{0^>K{|L~Qs#@P<> z=Ftb)K2^-_Q{3S5HVF?63ZC{r1>=zPaT!MSZ3d~&g`0q`yG9-Zj)W&;G|}%s1w?Bz z^ScXaR3u*PUK*>n>(uuwCWoT0qNBA~Iy+MS`_sk6Db0PFNGVgy(8RMWKp-R09j;qn zefSk7v(RwLe>q~ILt<<;qM76stFli-R7DnrUA>Uq42FZ)*W_i33;L z>^V86_~S7d=Rx(rtvavRp{=ozku8usVGL9>|7&;w@~MQf7Qo+usZp%m8&}YQE9F$J)q_uf_817#2!#YzXG)3IIJLD z`{qz!OFRd{1;T*!r_(Rcg$qQH3CYR$-cKNl9-IU?py#(U-}%gA=yyj8jY7P*^8xX} z7{@Eki9ikH40`();N8j4BpRTJuC|(@0w{;(lZNH}g=*@~``JpUJFoL@+yQFg1YJgR zK%{{F_n-+Adfq4X`9($0Mh!I23@})rIV?Bp{vuE~3^XPUwBewl0H7~|?v=n>Hvy%` zfX+`d2wuAd!ds94;|;wwfSebQSSb>x`-%H{utBFS5V>nlc~Qflcl50M&lZ>B4-Wd! z((@k=2z`+*{J9qn>IqZagoKglf?4Keqjx^DY`pgCaV#>fR;dG_c|tQK6fx0i?5LbA zj?vRqyZHO9gX^gp5Q&AqUrL-E%yBU^7hl%yZC&hTrsJ0Z9F)+nE{R~ zFH6~63X#yQM{dd2_KKbo0hN3wyJZecx0B1vPS&Wjp$Au|>EeU#*0&$nSd5L|Hc%@w z^;(vFUeq*ISr`!Siza>%L3+1sc)g|UGw$~#93$gf_Gw``N5aGjj*J3-G(oBh8O*yJ(4oM2o^Lmq3J~6kN{co{{av! zG6Ec!<_@R?0B}J+2RgJ<21!f=g7V+9vmi@v3?%Q2f~y0#W`M&3I2K3198yL`#=53+ zY)lR+lLhX5LP1vsz_tO6oGP$N$oy`NK^_-M0ND0`lxtGtB@;+Ma2@SkfpC|ak1rK) z?8)N>d*dm^(|{C@9SCUnRvh6=OP&8MTDpK`2O=4UCno+tLw&%Vh6W4~fCk3#w0TcO zRaG2Fg#c#)^eYp=J_x#az{R-*s4ajt{uhBAw5y?_8gTSw?WbdbTtR4b+SDv>&HvW| z0GAx-*Sspqa)-irK$s^KPV}?w?|-FbWy52xsQF;KUMwYrnVEi9E?)G^P!mE$W8mXW zOZs=_tw2?Tj(!~Ri&F>Jl$dtq=u~CgTRP%Kjq2MnQlI)llF_g&_Yyts!X)q)D320o zIqWiWPWQK^;ICPQequOJ(Z+}1cBdA=OLkB(4%GxjU$)Z7NbR+xgv^weMb;UchW{8| zNiO^wHMQ-S2~+kQr~fkOoQY^GG!cU5t(>?NDCrVWsIeUMaVSCn{@XX|=)whcP;)F)gj{X*A|auw%!uNX%u`Gl}j^K+Kzj=qE(c>f1C?3cV$h5w>)8|Xyj zBZEQY!&6YBv3IAfJB5)k(_+ruDo=fkr8OISIPoR<_VFijS3{GP9DU*YXU58o&e%xH z)IdA|D;`Cpv3n$A>ptjyrV-1(NAngPguZnfRZVSUxERpNP?2DQaTX&x`ySYp`fFG~ z_EQfUJG7H|y4rgAOZ+wT$hic;9ZtZk$>sNWOUGBN#1LYg4(?dsqB91>8_MeS%EEsC zXC?$gYRSvR`p<7bwp7#VEADV1w?n8llw`RO2$HJz&`?nUZQw^k13}ziFjf$lOa{v&54!OzK~u3dC2=>B#SxDSHjh>4dQs;aB(&}8{VPWBJQ zj(zy^c!V@bEW4u9str&NN({oTSH(cS)8fB(u z&&}yzk@oSVVE5`IT|7MKH-TDUj}hW_$wwz0Rw{Ja5V(pe=P(94G>A;!*?QWB0 z_woiKpss`NLO?n)`F-It6to1uVM74Mm13@@z6&C~tQs1+8tl-wyHfj8SaqQxea*n^ z1FasxNs0y}%|$Hc*3xH~TRo=T z2l%$XYeW--a|!N?!@v7lp9bzQhiXEkR1;_;<%LRbZ);i0^;%y^giT{=XNu&8#Ga@+ z{lMauJEXeDjv?l`r=`J@5mi3K@RM=LeX4oPtJDxU5LcO5lavB(ZzUzn-!_bWDxtQ< z#!GZ5RaLe#B|^ntq;+(7B86=h;mQm!kWn~Q+VwbcL*9um*Ls~85U{RyUw!HP6Z3k0 zrcstR*n2NAIVHeY$XeUUI3O<$3r-tyQR>HCa5td;VB-q$VJdQ0Ft)n6>P5GjEqX-Y zKV%YFN1Vx#vc~jnO}X5P=6Sqd>hMUZEP35lblJfomodngxs)&~asqfso&$hu^>2Z0KPR z+!*|SCbK62N6TX;K?+8y+6vqy0r@5rs5PNeMj)9v05K8ig;Rhf|9n*>0&WvuHZDA% z8MB~{0i_O@+9QXG#Z1U@Ut0qqH1x_*u2oIdAO-~=f`|wxX$?%sEdj9&%1MOoIbhI; zqn)DN>GuI#dTB*OUZmG!agk(C`Fg{@YI z8?L)p^mK40p=gSj^v-DwQtutA=B>t+f zVwoE|p^g#E?$iUFWEe`?_q}Mxq8Ch9(!O2ezrt8pJ zXL?!%Jo8XhD3|4g8CVZMstX;+g9-@>bo&N)Wzf(*kY;Fnd%h`e-v{&{fR2}{$f`1F}`9Q;Vu@U?l@_mgTPFY1o%*#s<==nK;_lE$4j#+}fg`U?z z0Su@>(Bx;Z#K0JrJ%<4mO7-|ZoiJ4N_jq^t4ZPG);sg`}XxQlo5(qAU%oa+N1Gf}d zsDhrAH3k4R*W18`(X?vs?BZg&#|Y+ofF%$G)@V53$bd1NJh-2NxWLy??iv(c0T@+3 z0CZ12Us};M1S@1*kj0qv??Cp(oK~9&{n?oQG#H@MPC&Ea>{&u`z@#=MojL@_uTX&i zadbDgun-AQiXUF@i~^}-9MA=Wt_9E}MX-{;f`bM4776f*mz1!2&lOtNc;DEAj)aLX zg6*;enAA%{To)odfdmd8A0Mch2dDjE=;YHwN=u#S>+}=?L6Qlfhx+<%op}~Sb#4X=oyBL(q0CtAH z20QtXaV+CJ5W!#t+oT@qxUlhkaPM7}CK;~Ommf?d!r$%jonpliau{*^#wF}NS$0p` z`Lvm#)r)2s6bPV`D@nH=o7oOaI!J2NTxd;6cZTFL6c;Px8@fMj2t2N*R^W^Ne7NM4 z%uXL?XFGH(FPhgoI8yd9#=D$6D)oU6FN{++?kTv|Fn6jm?EvMkn!nRQPsv!Sg1 zeEIy}3R|d4m>Z4JA;vWlxI6{rN_+6cL>T{l&Xpf~Hp|Nsn-+?rY+p{uO8?l$i$X%z zXoyTqBNe2ou4h$4#JuxCIf71oVbGhc4WTA~ORT@Z16+nU--QNR6E1wp2q3-P$Y@BM zbDP+3b)Mm|al;*Tws|l3ra)CAX*flH)~CsX>&4HTwpL_uXt4-?CXeNnc2N9UQ;v{= z>L*_=fudFiv0BWtB|Epbg*oL637hSlueov&E$nX9IU#VNbYuiW6F<>2pdy#r!#e}_T*1f0uP2dZBcU8A_QN#9?Frr!E{V%(( zV5WsguF^+z{2wHQu2o5$FTFfVNzz{&Kn)=Nw^SQ>F)SrbYWNs@4JO75f?*Y=%X5Jy zpJjTEQV!yeMEUGk1`WlLMfHb1rchSOQ)$K>O$+sNijCh@QZX|`p`~s)JI^SdGqVZ4;HqN`mef0H7_4}_V}Ij z_@OVYqvTp2Lj0eC(0tf7vh>cM+vfYA(`XW{zSc{=^Bvi2)!)3KE(&MTsatX^l*p3N z3)k3#PGKLw&;RGM`_~h1F`ufspi9M3bEDK=hNp$idmsPcZNbBJl9b_tCsZw<#ydDG z-yF!k5>uhEO5$aJO`$er;ycmDqo0Tzk~x6syW7O-p)*0kUSK8CgdmVfY$gkQj@+l) zmP*Q59<0n?-@JcAa$isXiR8HH6AX0tsBz~tV_@*&h(X+_{;pV4*b>uD(LE}=%3S%) zRJBB1Kwb9{@sN9IR2Wn1uOwW)rF9Zz%RT<5eII5Tnj#M^C*x&;TH!@`uu=wTaU;^I z6-HtVR6D7#&@+Z0pEAl3ezq3VXCS?~_$PJbakVbH@Ae<&UY3Cvkfw^tO7SV2(wR(| ze2F{k&Es}>gg2vUZQkv{G%Mt0MPQ9AL0vmf@X`$`-%6{KbZjuhr24N@QZs5i_qJRE4=h*n#;r~EN|-I7U1uDj`211 zEdTQ$%V~=}M`$x+2y1Zqc_7J4@MJj_oD4)6A4A?fdPKwXxd6UYpdu1Os8?-vNl%~< zOMP0YfFgy1NWkrtDVpdfzDSrm0htwNZ9|RnvW?l-^XLAGl$=Q-|To9BoZpebZ8K!~2#OWt7gGl-N5L={DUmpRzlrNY<$)bYsG#%gUtzq?#u+%-hxcii78nt@4C^mS$X&er4j$eq!c#Rg+5irELj zw6WngmRH%@3A|)AM}3sudrZh8T;Y1%s7sqetaUyAU!EE{0`g$flo}sfe~dH4%3VsH zeQM-=z%e)9qV+2kMVeum*DClJ%e;|V*yyrSMxwr=xQJfFx*9%E0wIs7ZD(fh(L)AL z7fRZhKZ6``<@`7z^;b{NIUS@cTXCBjV)U|u26z27amP&D@3*tWd&Ne}DKi(1h}55u zmDEv2aoRY&F^b&B3-T#qma6>ZRQNJmx~>jWqf``A6$ zmg?dVnnwc>BIR$IUv=7%MxCR>KRLjmPSmuBBBO}X33@M2N9y(H@uV8-_pfI@mq!7x4=1QjkhI%x$ z1y@2rB6^%|H!UNJUPFv^t;V){iCjl6`KpjPc8#1(Pl8485-)Gmj_aWt<0)O(_;8R~ zCxX%PmN$MGIs0z}j5V#QuYN`OJV!8n@x_%GzpC(pBk;u2Q9Nnmv;|or@ln5@^3bf2;jIASOoEefIMs-^5-eM*8E?YK1h8 zp07r?v1CnGsT+|GY{m5Lt15(2+1(&6!M}a}Db>cK!h(4DqIt>d`{8UGc<{2}GO57q z!oR!I_IW^{G_4`hzCLr19VSlJ++RMeQCMfRSoCCAUNMKx$I)-MTATt@=rH>lSgL8a zYW`O;V7-0rFz9vg_kAN=`5IJ&T$93s?DnmpGMa{i59DJOBkeZ{GjwmNE^a?0)v@=U z-CS`huS+3Au4|}S)E(^ ziw1&imiVqXVy__RXqA6~H9z4>dtS34^ZKV6cEh^Urc6uYrH9ai#7pmP7w~Z-<%0*0 zf1)4DtQ(TQzc+3=6_@cRVY2xjQN9>ex%bbU6?Bv3v~r2lTXJ5m6Gr!~pYLXQe3g@e z(SppeQfjGk3#Sh!WimBn9#0APyeVN;(FLbo2s#jUy%r~5#$Slk)!#05MnsrDH{pIj zNH4@GMuU$1*0MfiC~*u~_abp^_KarYW1vt;rtR$Doq8Lg7P&I@Hy}1X9j3NDck(sa z_9%Ls%+9|<54Ozq4Ew!9!*uk|1iPDC4s<+k?_xxX46~mf|NUJ5JCsds`Pjb={N$9* zY4-IM7=c}R)*g7Fp@w#Q>s%V~-~MdJ$^$ zCBmgq11`auS?e*=xh!ynvBsGmC0+v}JDj3PZS zI&nUyl+}n3CjKuT?`}kz(%cIZNiM8Tn{X^ZqN$RYV|JEY?(ST8c!uHy+#!C*u%n&o6nh+oz|; zf3fQv4ioRWQ^RscGClvj1xonli^A;7sX_9D^mx=E;9Y~tb%!>op-%gcFV7SxLERs} z>O*w7WXSjm?JsWTQ!cKU4LNEIvA-CKr1d=Ffrp!p=wu4cP(tOr*zfUYU(>~UKyffr zNDfaD>=nDL>95Un1yY~rf#py;l-0*>*^TZY5dxX!&L>I~wZg!mAlfR)CT4dvfV z-x-)HUah^KD-v!{FW31@exizBp`%-BBEjgP-t85To0AI%7qo)V6GQn*hSz)S+WR?e z{J$YsElT1vzRFLvLeM{hU>>`xmsefo(FqlKfl5tkMkPL4e@Je-*34%$!4Xx5{YJ59V|8%a06&$Vheq_ z8buq9F;!G9wv!M?AVG@qR5=A(>Y3Yxly8O!f=VM|2lE_9`(Rf%s>#p%HHN7D4Mzf} zv8;vJA(^*>Ssy8=x934TRiMuNj#A&wE@Eq1r>h9riS#_#^0&j!>R6v=M80QaHEAL3 zMcc;Np{>1?BOjh{L9(V9gq%jS_4Q&?RIkR|@7{5Ma%PU0+aff8rg9*CyuW-|r>9`M z)zoybfCLw1xu*E1JJAYLF22()xs-vjSc3W5(@m>Y`T!S@r|_+KP_HT;De&Wn@}YMy zuZ|XP=6!qmt4AltpZ#sJQ+lXeY=#@X*O~#TiiLRezw+b3i%&2z!WeN>mw$3&-akI7 z2<}-rzf|NMOjXn3Pa%hy&qv;)A(S3dZpf5022S;Fntelf)YneZ6kd^#sQO8Lo1HTh zdsSd4E16t>TkXb=gB7Erb|^@Fzw@`tE-#)o@*&%x$Fj^l;dtuY>c5_QEjY{bEJL&n z<-?Rbyi<(oBAT(2H(zq49wd`Khrn8B+cv$)oW^W4-@dfg^RcibU|a1EoVGdty@#+c zp%)PHK~PWcaPS1y@lN#jrx)TfAq_kfN`y<{wXt8qi>|}t`Akc7HQC|Rl*ZZwKa`MX z9BslvSwA`pYtaz>5LCku`&H>LVvzNK^!mdUR-yU%^jIn(w;4r`hQ~kl$tu%91<+pX zh4g2?bNu!3(S}o9U7Z0UHm*=(5<9>+^+=p}!%~KR`3Op#wz6nqwv)lCjuQ^shX^RxWQ5Wc9lCy+?IqYcdkW9F`=kZqoqt# z38VU_T(f%Vt)HL6|DHm`o}cfT8jcxErv-`Yf_+AWZvVa2w5#qTpOeX+8b&Ndp95%PJ z1#x6Zq?7joX#Sj%#@>Q&#yUvY%m^w^GyI{BhwZ5q%Y%E&?k?l~zS5{xX%;4g9YAbI zELd8|X?uH6XO$3ZEYLfK2PS-x@$16b-`l;Nb>hf?YcLGourf!zjD@ZBSOwJ!?^mtn zYn?`GdE-r9C=Yybdva^yr5PUJL^#y?tv@K{<>WBK5eLfKc%cS|qxWrJWG2N1V8vdh z9$r^_N)h_|_%YVdIL+4=x#$$Jlw!cwelHdYp!1fQCJ`Utd5)8#vALLd^Drzo`*xWf zt(h>Xlq42rjzEK>SQklvH7*;Lmh#64QE9meP-^oY>2=yXPjcAB=X}}IaJ5?x`aGZDwRH?NY zL1e9_ffq{T_zy%SGECt28`Gh$3xWI*k;9e_N*BgmoMg=6akA!x@_s?OiRTso13Mhr zIaw+gGi#uXJfiHx0>+puPDa=50v?dtK7Fl<@){iCaoqK1Or!3AYqpsay zPhMb7IU(3ior1N1V(}Q92#Y1AR1wZ$itD>QNeM)AKdg{tARH{gQPPN%)SuMrqN0XG zsaj^3l}LXUa_Yz|Agf{vNb}=JLd>Y9q$^~4!i=$|#j67)=+_yO*_i&n7GRurxQr4d za&P@UEOkw%H{ZqE@zVSW8x?`t>qGr>L*CMsOn=$E;)t*F`vj905?z{$iArkY#UKc3 zyD|JV|K{&edhGN30WLUDp;3Kh0|U0y5i=`)^k)o zq`Y8DHF2f*#b3;Jo@bEGsJBkLttF%`KvMF*8G!&G3J1sYXGUqrbk2YA#yV;TNYoFz zoF@aDwk%A$FBX2HZc6lvdmm08IwiY@%I;+ZIh3u8xF}symq%hs|y6KcqH~ zcMOUhKl2#dN@>{hcYXK8&zURwfinun-C8@ftJe47K|hv=GPeAok^u+1cc-0JmvD_e zoR@Go#I<%fV^=Tsbreg&pX(Z%89%beqaxRl(Vg$aVTq8f0wxu2fE_d5Rc@p4R8e~U zS;tkt-G+`%=v!goTDoZ-liAkw(4(1BS>YNUg}a^&qf_&*d#rcKIhZHYo*Q$@Zwtra zC)tcAzo_Tm#jXbkVkhcemdV`Ke`GCct`pmvjk}pHQf1l>ud_F!1D8IKT6UwPjK6z~ zO^Tu$se8Zuw--C0bSU4W&8N-hRouiQ#7TU~Wf>nn0WVUi&c3}fBt%ojrpkVCH=I&N zW!10G;-h3#IP;{HlwZa+<*8}5}iIf>s-cTX96hwQQj&a$7P-Ig)? z!o!}@45ebYwlovZOY3ivtxr{&l5+maK4|5|-Z39-)<6t7gk4}pox z-B86h(69RbX5FB7cJF4Z)WsX;ojg@I17jeyI)iMK>gNjDO(Jp;G9K@mW{DShS*%!{ zd?cL88*zvkq|VGohf|u<{X@dq z>itf&8#*eO%0eZ=sK1-3647KyQe{^#>dNh>EqduZ!f`=CW3?_F7X2+xD_rJp5l?hg zuw&*>#lLE825J7=oQE8Ku-AKbp`o!1s;D9^*A>ZBV(0_f5CAm#%B%_IfXYfrA3Z$< zpx$3Fc?RZV;4XzSw6hIAlL93IDG*vymnu>n^7i6Zi-S0=YJ^V z=ak+vhD1|@RZ!2Hej+ZEPp$xibOi(-rpb;LoYktP+i18_r?53rX3(eFm{(ESU1~h& zX`eMS_h>pC(}O%=tn`FpXy7lX^COjbKR;RZ)xdmct=j;*9>ae80s2OndN{oR;Ts{; zn#ykV<|c01pYR*bpX7|WOCQ)_h1EB|&U#1e(^0?LF^a8})!s{Jo@PpgpN?eI@yu>AL_P`oKr#|zS)fUHUmIR8N+Lm{B? zycWLwACX7Xz%vy1d7*l{sh|2ng^Jk*pGl$KY%m&U^7QmXrUW)$AX&}=ThJ>q%$e3#nF;)c__%`6Ft5Dp}O|&{Jki`?&;#U z{p)7BuwYg5s*~uWK;La;F|YJLMsx;gOOMI1up(hJYTgy*Xx%e^k}5<9s%7T)$(hP> zi@i0}rM<#Hzv3i2Tfr)PxZ&k1>O6hD!)`Yiz1RrjBjnc2ZuKZ8Y+e>&{p!TP4@=W@ zT;E2DbzeMcC_=i$t4}q*+SF5_?}yV`EBa`rur-HbBXk zYv&j7GzSf3FtH2M5QQ3wDEGYzpY=@{z=4Gz6l9p0k?u?GU zW61z^FPXQvt95ZkuLOVAN?mMfCT?+Nw^(1EvHz2{`0!@LCQyOG&fmuC0b#LTAS!oo22njv-0ikA*eO7ZW0~o|70)ipH!+^B`LU_n# z9~z~vAH$Xdlo)7^WM|3<}fNPgN9jKVGa zpj-I(CY5^IfL4#Fzsilpm{)6nvOkxM+*kS24JPZ5L!#smNBZXYYJu>hFurjwZf#0+ zCC!j8UmQ)58)|ni_p_aC(t?`0ynBYPBHlD5?MJC2XIV&y@mqkP0N!zVAYGa=9b342 z@`IKu094fnGGqWbMtIY4dudOsOUjUZ$?4dXRH?WkId{S zmUDt+4pwzxTmkZ{fQ=_+bwOcq^5+x&itn~#4JW+X9O3!yZx(uM#^R`qL*XfDX@!q} z87755DiHwWLG|NM(gUbU_JDQBZO$#}dn*X}1Uq0GAbLP`{?Kh<$he&%Tvey!a&c)| zl6rF-F>Z?*D`P;{@Uk9;i3+==5ma)Y!_PP0EZ^>R&L`ws7l%uS%(cxGA)S{6dgOqn z8^vcd=3i>x-aXX}4ga0@d~Jyse)td!9&os7#F|{kKfm60Xw}C#GN8JVyeH%^b%E8> z!$E6&)m0#hzT8zqOt?cED5Y}iXpMccTrfi`l32Bg`D}9vC|t}4VNgewO$>k z_4~j0AkP>+qROkLdAPq03X3(?8G?iuqV<^z=e3Nd9*y1_Nxa*RN3WAAkORSk%lDcb!?WVibp(^-`tLX_kH$ZZY+NOAb+saYQDXb- z_h|<&x2W>T%~pD_qFv0dY{mx{IvUd@m|r_?p7WxgeqZcrMXf3&Eg-iA-wmaj1x|)c z^2%Y<((ugqcaHn*2hOzc+8C-kJgZ(b)`TLuDphy6A3a+lQzghcv zxm$EZ#y1L+#-6Bj|d5&5sF=&l036p zrXz}()2%UG24=m1dGmC-AMvUkSg4^}mDMa?jX0#i9-SZ^0!%4#wHKE!b(kft-6&m65K8{&fB%>RY*)zdTcH1SP>>j6Y=;K@cyi?~1$AU|5X5 zaj^F0+yg!8MC4$+@FGI5VA}7^et?3k`LkIek)hq<#n;(!>MCe%+4tM8gWlj@9xZh%d`CJ7 z;X&HHJsA8dCwUz`@yM6aJ}iRc7Ni~a0fWORR6hksZ_?nN0$~zK|ndUS%vV z)U>8wnZ;-vU@%yr%v9Vcequ>X`38IM_PHN|@6Cac_uT*nC4`K5-q}e8eFcXiRZy!Z zn&)LM4#BEsEcNqEj;9&Y&4^^<*upJ+>L1DRo0P-r8V_@92miWnC7PJ|x(_MW=y!to ze+-?eU*uyEAn4Z-Q`|#9;s?#XZEkLM`~Cpsa)Ok~?eyo)rxS^8)8YjW?qN0+al58wBgQ{*=X~=qUs85UeSne8M(0+xjyDH1jG;HVZ?HE4ZDMMb4 z3&C&Hh<+MTiMQt)YmE9hu%HMi2?koB9{Z|CDRuK8?5u(^cdn){yx)fXzy@~%nUhOE z$iHtdU#rRP9M>OL-^(7znORaHtgw3={QS%_f2&Ai6Q)FJM?e8IgvZCnUfH9gqX0F^ z{`>_XHTS`NDr*<^+4UT?5?+To{QF?GTcbq_1<49G5-+T zydxbnGEC82m?}H7Z6L2_Lm3h?C4EKyQ5B!}jA746B4p;FPP~y-^S+ia@$ja`#h+HO zy)Dy4^2=5mc2>#swa$9U$DCmz88Yb4Lh~_&7HcpU-gS#ZE@MIfc7iBv*LIIFfGDvq zS-HyTO8Y|;UkXoRBoVK~gSeh>2fJqW>i276UM%!km+_eS2l9OFxrZ_)DklDGPpzgC-XnMXloWPZ<;3>lQZLGZQH~oD_bopDtB; zg9Jn#aO*Fg-l6mA&X5FA)D|^#@pa5i$#VdlNe~&C|MkpLGeg)wkCHS?WsDx zZDa@CIT;mr2Kyz!&3GCLUM;36XP823)uy5)LKSz^Tt+gu@7z97TpP?J^&XzxZ0Nmz zrl$lZI7@pfG|^4>o`c8IJEuK=LL&9g@;1B`u|NNvD8_w1_lfRDZ-gCQBxoa%AgW%Tq2+QE(rRz7!D% zb?#G25RAUD_8||x;xnh4k&OMJ`SSreXhF=q$CD`cXl)xit>6>^vJSb?)O9(~{{jaa zApn6qW@*=}2i`my!vEu9+u6=$6!jL}&p^T~<#0lY0X2pYf5WAf6(i>%A?dpn_Kujh&O}Yz5_`wDHK55-DR8cWuAM%|M19Tk_G_AHJYL(n zT`|49J7ktWn~0t?I-;j>jd|@2zj&ZSppL$RLeJw9D=m3>qlu1a>U_&}_BnN1>Et|r zz~$L@fj=S^R<#S0pKCrZ_1$g~2q2`rOJutL?ax5=zWDRYJx}oHc7hSABRSD&bx_3E zysb?(7dy7eq5GzpK)tn{)Tue!=BJdgnq2braOyK5OBu7cn-6@&QP&%Wz#}8(wZi}! z%bO=${a?0^#v$F)uSF?+EC7+vf)F3hTF`yOS*AgFbHS!K5SJ7rn=l4`DR=+q;C4}; ziy)}6EjfA2_$Yux_Mwgy;#_v!oaCy*PCTqw+C0q*Xyfjxcg&>Ktw& z=B`+YJsj};M_0hV&>|U~K=}gx`-n#tkZySa8yM<}!pv-;_eG>4Q)1 z68Zu{76HsDe%f-I>hzeOd;e|4>2LEJ?ddxocw-Lu?W@h!(%efu$5_f!fn*mrcJbWnz1jo#`bjP%80LFQROL~0XPK)dHi=x3g24txpvBg z#Y(*T_`Wso=^847YzCwj{z|#+zCN88nVO|}h1zkl6QX#H(yKumZ(?GDb)5CRW#Ewa zhTrJ{T{mi6VaGjx=3*k5H}}6?Yx3CCMX+g6QBfm;1d3XfocQB{z5V^mU~Ob%V_U0t zl()6LE%L*iw8$2o5vqjg<9;1!$!KF*11+j( znuJ~#M_uE|*y1#*Dqoj2*r)Qzqj`myf{z034w}@ig=1NNM!T+SWz9vddvfD!##x?tKkFU)76;>+WHT3&-qBR!jR?Yi(&lr=V z6>$ni*^6wyxqb^JUT=soqlAU*{CwpdEnZ3moyjY9JnB)0%a0aB^JKcN%b2v(#t$e> zb@;5D?L7bXE?2mHbKT~W?^W3k{OK3Yq5C+z-g!*Xuf?6p>2lM^=a34;mE`^77rm>4 z2A^O2K9D%fnXhX0>tIQ>rGw zg4F3-nc0s|o1-4+p)v`k3kyN+e;x*!vFH}%-zE;6FLT z7C}Cb1ZEe6>Fm9?qTewZlk(^6{fr64uT@-HoB5)ksk!Twce0916qoziuEMZ~bl?`VVAc$4?*X=)9y6 z;7>$T-QwY1{AoLml0ih_HxMmy{yMw)6pg~TBHUT@%ZsCnl!+A!#KrXgTA35tJzvx6a>W%k-7-C-GBF$3G^gh zK$*i0@A&R9Wdu{UhfkjLK%TJ}1Yq|L|JP>!0@DhTfsA;kph0u}O8%G_2LsG3;ML~` zL>_2NsQAn=z=qAt!SVi^FxVC5w*mHRp{JB$33dsnnLWy}xx2BS^E9I58fbiQmydU? zD5|XB?CElNd+kp~h;qE$?XQ9?=|#6@?gaQ8^Z9$988w}pw!RTK)3IumNc~`dzx&Ks zf=*K+eX(TlUHCay9#Vm4P28Ziz9leJH_quO93?rh~fNKr7lK)|`M@zJy3HTn` z!+i2i)T>uiK$ykE#FW_WB>fKIL4Z7_KUgDD&2=HxdTudt}iC24He|)CwzUCs_jylL?mt4sYp5`e}GZR$&u~- zTFHHE{Nc$4CTab~>YUel-r2E5?^@H&7q>vXs-JH!FMP(|y7~6?b8JZG^1QRn-on(}Qs%xiRXyt&RV2ZSB+E1im*0md<4XAbP!I|~Sf%Bm z%LTCb`EG2$O0o3CZRBGEDu9S~k-8a7FsADU?JAnP3RM%m0O9xqqWIv&{{@)`uX3!p zBSSJ!on0RO&NsWQsp`slRjv;syrQx9Y7`BYEF&u>ARM{P!Ljy5je8-oJG-q~U42er z)PhhqmFd>Kk&p};gai&7qIG1zg=VlY$R zoP_OoGxB%*yBNxkzb`FSzgDnL-fpyUWM*O6J)Co@dA@B7_CW+=ado+U^;;p2S}p|y z(B{Ys0U5l|%QFz?0w$x|yFZpzH6c?=JJRfG|FU|U_gV(WP>;hShFoxULGTMW&S-!& zNfzJ-*$eQk3P8j{)6ZEJ8+-~*B-9JZYk-H$4MK#!_D3L3C}IqQm?-Nk4+<27HoyI| z83woIn@F7e-M{tdfe?w{44~8+w>1qQ;UZLmRAZmpF#NVTzW}d$_uEwCK0u5Ddg1qV z>9aLEHNBRq%=be>OdKCB$FM_jb&0orPosxZhKI@OT9Jqt&L*;1eaN>vQ}>y&Wp?0J zd1Do^l}Yz+V=nyDPoIotU(a|l9OrK{)|JgACAzcsraT@dpc{H_ysRB~){RNZZPi~C z4c;b`H?AFn({<6qYfuw770QQaKPl?1^`$pmDaos~ox}R~8|%|b=Tm{&=Qm;S9qw@V z&iYT5n#g(7V7AcB>Kr;yc$29i;+d3 zQo-z16enp+dfAi4Sg9ZSiD{V%6O|-=5-H5x#1Q_#!Xg&^ua=^Az(!HY6)Qu;aTRF& zzY>XVB(B=ESM#I@c#jEf%^STow^Pr#WR}iw=X$Kslnz)C$9rn`c6~Lo-@TQSi5l)N zqP1)~y!0uTYGwPZ_wJE0k;o-WLM=+v_w!}6QJW;dYPtbZ+7(QzyzpZ}m=E9Uf>-r= zDKCkG0eBRL_`Sh^m<+*TG;1F&QB@B9Q3~HWyT|0$_#uICCW!jVs^@=N0Hx>vsMH{$ zd8|+sVe5iT6gB2L@?4EKK6e5(tUkxHl1*`hO^g5s5X4JKNdzD^I;S3M^FMlejt&h6 zJT5C1xGcCvQ==YPKx&4)0l?RR10!|1&J;@QvX&c$ME=0#2;-lL^(rO|zoydA0PflQ zIYS#3%p&>eECX+LO-yhU(X@*ne-b{o@RAyCu1ksPix4<2O}iD^#?K|Q6xGkVv#3nJ ze@v?BHX6FGqA}Pd7%krY!O}pXAg1Q2-mN=#I8+IlwQ6$g=Zc!jFamp}8xyLlU8M|n zZjJP`RTZ@f_Sz;Yon=01F|3*LE*o0?njWOuL{b4E2BYxH{tUQ!p<8a)3rtl?xSn7v z_2}{4m~WP;MoO*z7nBf34W}$bj#PW^TLHF1Lq~_4NMZ*C4yU}55*+7reeY@}UfNk|ZIbMYPZqvj_Sb38W>3r|67%^+(+nh_I@ta0Nbq?-E@b?eh0{W6^ zI~oc!ESTOFJ?{0tnP~91IoBipC$XSAmU$i2fH-eA$W0`om1Wu0y-X**9D7 zw$NEV$7i8Wvyu*N$-Q!yhDtw{_@VuRj+@MvI!yB9WS6J@-_w?Hn6al@uTXB7xZXn1 zGJ;vq%kdh_lF~1S`9C0Xep%w=_{#OdV`_i0dh&euN*xmd8Ls#B5t^q{5WlsqFn&!f z_PRLRJNto$m<=vjeZoxRr=I^pgW8N~wDv0NC#H@TJCAhFYIMd-ldS;2 zj##KCd)0?mdW(zTicaWfHNMA7xiTt!5ozkd;s&}9m>Be^s6o=sXpOZdX#4>B_~&bZ zP{30_yET>eNzWUF+deV87|(uFXXHCpL5%P^4=nn8BE0TzF1{(E65)JF4A2N@Tc$jq zLaTDPTP}zM7BG|Km6k@C^1gAdt|rO#%jvRp^{Le~Tbibk_#N-Wwdni?Ncy~4m;#HcX4KDxM@VhP{>`oud@SXjeJ z0k_X%yR_35lX1bSn>L+X+_8K2%`oL~x`-SH1DQmnT#_EeoeNT42yr#hz1-y4{5s3U z;VQR=kul3qLCsG{K^pa^sa#W%|Uzx z8r`qMGG)PhY&lk(%YtM`7}!d7^g%t7Z)>+~ckQ$zgbBHFLC*`SuAHqcdq`cw^qZ$Y zfFw<%#BqjIa}_|&fcLHptagOnY-wo;kQM+}i8(Kzz`pfeK?zG}o8aK_iO2CgcXy7J ztD=jTF}Mv_%CPKOEcF=6GRl4!4ve&jl_UgPX5i{vqLZLyl$J6q58usbJwK_KR*0O% zYM{%TEz2Lay`b`4rKCGsUOvBEoR9xeMEg=PBSNVF3fM4d$wM{(?vvpO_zbX1&<(4) zT*vbgYs0DFYRHNv(gJe*~1rh7{ zu*Ci~5QiFi|4N2LI@Fxu?iWWtx*?24Q18$LmqwaZ`5Gnt7Ux?GBCG&r9 zeV~UkhAuz|;_9c?3$E>^eM0MOZ&p|Zn?h-bNJOsDOVKzd1;I@P0|aEQL8S?pyEM3@ zfVRE{7ugCzVIm4RMn{?u_^bT+G?EU15X&^BPAonwziYZ@{kOYuW1b~zKm3zyd_bFy z)Po2AmA>r<%jdb01imc2>pzezsKEkHaDt4Qu}M4}}3m`#Is0yN7x&omVs+ z=2S!9P_SQLI+G1G|1CvAd^Yg#-x<0QaRz55rR&526Xk@!tJF28{AzynXHhp^cho(m zKeI^BNU@ zC<2cH@{B87(fW1vs{Z~`P>yBej#XQ#LHiI5Vh2mhTdE`gu9AQ)cIKmN0I_li9FQHtWdMCfqWvH?2O`23I6k5i{Ad-QQ(+qrTAMpXn& z#U#m;MKyd8&B4=}KCc1x4ym)ph?%5uyQv>jI!k75tB&mNbTDVX`_}hcEk9QyIMt3V zlGlD3+*eAE#qaXSn=Sdk%t(Cv5vBC|IrX(zh5NO?o#7tYS!myFeIZ59r1ZMv`AmBV z_LRP`7OaLxl7wXD4t4h@8>$PqgMfno3`$ceKFC(%5TgT z#WUIJH|SQEH9ZvPFwQ4JtCOtvu_|;lWIsrr76q4BL!k1zAfXI|2#CV(uqn|3^UT$u zEH$7_Kti9{`EL4vAw=te4k|b}SiEAer)L3fC#QcebaX7IE6qOA*%407CE{8_8$dL1 zgxQdJ{-#cLA}Wx1^7a)mnxKx-Cr;xlQzrS-l@TFnQc2mc0NN-<4hCl3^7C{>`WFMm zIoxKT|8CknZSAp5mDkb1Dq4*43oAFh)!TKukG|ojg(k8SYeR&q2vwPTMS>f%?4M^jlG@BrQI zzg{*Hqxl~u8qQi=_GnkXB(%C6fi*ErMuq>9?Xn8(76$w}4E%MQ7=qXm)FuIqIRTfx zq^;@vak^Xyx!+z0rUX3}Naw_VKri(1^56g)?^gN+L~~`G?5{Pl$Q0j^!%;UAF3I9l z%Vnr?{UHShTHgJBivf)08BqdY4t=*5U-6V!p^A(!isr&-@suh(cn0GlZK2bnKgvDV zv}nt}Z0;gpTxJV<&M#J!9fIkW7KSOzP1Su{vETA~_-|xs$xM`T&E3J>d8S&v8^BMj z9d6HF;+4NXa(H~NQ21NH!<<`VZ)!J3%g%Pfdh#!B>A&?&6BWj8JrWhPyGK_{)>B$` z<=wBe%dRe7ag#{uj3uYy`(Tf(x2aG!s#!7Rmm)WRapU_|7by?*KZ+Wn9meIE;;x|3 zY>KUoovUQ}CHCWfttGIZvmfc16nwe&n?2)I-@4HVUPTeBpMnHUq%-eB{~k>$Eh8Aa zmNM#S6l%KGe&t|Fep3|5+`Aqot5_Hu62G@i?-bT0EtBy0*PH|PvHMr<@`l_Sz5Ybk zm(OexWpdw134XRM)@(QzRS}K;o*$`%`dFD$>hu)ltp9hap~K%To>wG7_F?YB3v0{! zF|oTQAvDf?GSmrJlLXZU#jcC>8cnC|6n#Wt=|O@vPrD06S6ag_1#9i|)f+{X)H7W~+E3Moj-RM75*cz@6#fjcXB@KmYCjU*{sLhMUB6j;9dP<_t#%kOsiYhY{<;&cs zTj}>2R-^J&){DMM&+B!AE$SM(jl9mkvmg^W(YMmZlc}a|G=`U?>HO%G&-!Jh3=E=_ z?|ybAczG`W$UlZ$)pHd+cPy9GbmQDY!B^jsb@%sKMi!5>*03e+ z4s%eqT2_I!PSzT8+cLW5vn@8v+K#>+iER07O^-`QjZVkR7Y!fH*IMonCh1NIkg2=A z4nVZnL79e+9a0PAa289h1Whr;HzeCdGFq4#J@CXnJRBi7`jXUx!=SfcX)(i1sH;?e zT;{02i9T0OYq@{NpX~N%K^V94{jw`X=OxKN=Lz%CQW76em5W_!b5fKawcfkUv}Lod zal7*R@d@r|I@QbsNz|5kJ}nQ_7tf-2X!iM}i zhkgQIgvCB+V;RQ|6#cP05Ip;K4bx4n!BB&yoW&W>d^Swr{C&_Gxne#erKOq{)l=-X zf?oc~6z762+$a>k^n0p0Z%*i)7Qgdl*`%!&^XCUh@2CY9d5u2$^l!~VZt3hOUOl*$sPRXDYV19M+x+}M z^Cv<@trd)CI25@y>ssxS&#z*VCLUc1FAw+JG1bdu-QVM=NxK^Ih1*KH-g=h)$-mv= zl~pUZ%5#R36YulIJl~DUPa+KaJM;nFn-#-M(yg@ZeRufz1?sPY8mWYQLIqID#7t+s zn&=wphAn=bqQlC32)C9tTlZ5z?zCX>v^@;67q00@P;mC=Lre1S-@oID!;WH1dVFx? z;Jt)AtMcbq1G{oK&~A5bdX$qx7Y*w-EMImQ9Ru;P7G{`Ip#(IGK}^ku-9;xfmfX_R zMIWAu6bhr3L=F7iF2zv>qjj&`jYzhOjXlX~=0)vCKaFc6WfHp9gHA#RXFaZ}nU}SV zdWRFQtEQwYlz&@`ry6a<@lkE2~?^*?`K=t$fBEC!1IPINe6lalE*=6|=_@^+*1&wP`ZJMMCbBY&4`Pk%M*H5Xgkcv(NrE#v+4E#a9%x2X-%sA&)vy;_`U8`@99g zumLx3>qlcMYzB_V$jOoXQ99qPD*6ehW1v;L!P4!amX<6`W02iDaQ7uv4`?_hCnvu{ zkIJcE8v%(tF8hNb+E5*CSHrsDyZiWk^>o2V7PS;!*iC2q{JyO|ZUNOF!t;g66#bDy zIY_WI#4ym}Sj5WRcnBMN*%La!UTaZwW;@O(Gg0|{Jpe6nWfCN4NpCrhoJZ3zG5qM< z_v7$OP-2(dbOJP#mhQ-q9OC{%y~p9+GW#ILOemx)m&tTCSW`Ed_vuehxp)j*PZc^g z(vb(t@6E;<6#1=*oQ4};eIhL*4DngY&sOfNLjh_w51Rl}GLiHt*@(>H!+HL_k77)OL&9OU&Uzu2?=`h#f~4;e<7;+?f>M5m*;>}S#T>;4)P0IKjC!Conr^L_ zzMb}rJG#A2ajof*g`W9l%)PbF4~k{iB1lDo{3lCw4E;}jA>A7M{xzO|^d0LLvEW<1 zJf7HMsxs@qg1O)Gf$cL`a*jhijpQQ3a03|eZ(%qLBjk(RK*V$aiSS*#*I*_DfMjGX zweLe+0Q4Y0Hm4#JWO|O8B1ik(YaBHEL zm&K8Vcx9N`yt0vbTCD(ZOkOl@;gFkzZawOo(z zk9wEj{2r1z7O$u6O5m3=1>s!iYkBH`>+IFR$`|n-{YE6g^>`z=x+*7IbNrruH}XwV z1xY^PAFQ)~*B)ehPvm@3?|E%|GXI^(nr~8|HWqXK#7s9@rTP$E{P2zUhkHMl{up{X zio|VUP?>NCk>_hqmBacYBcS8qZNzL)|iMWLmo@xFwY8Dpk>1sEai|ec7 zCsG^?sNUZ~!Tv^_6$*by9)l$^1Qu-eX8fH;aLe)_?`KVngtvYd_RNLZy*4pCxnD0|fOpF{Cq z(r}urtge#K(`)MM&(dFw5HT&GoMT?cKvj*4SD+H05HwOA4Q4M5X0}aAYGl9d;nqHq zg5myhCpQ77m`1lI(!+qLlIhcHY}SABq#k4eAN&buIazNm-4-~CFYBpWM6`HvpACuv6Mim+%?@>0>61Y#ZZWp-=hE|i zZN?kSY@!Q~uG>E#j~jsLJ#mqyZ%T9HQT$}Sq*{xy9K29fif>USpM0QbF{w$hwvy2N z`?DD$dg)bDs-U(uiKDze7)crUFIpS6k`b^)d<9?aBwv(4t&J>1 z;px6l20rc>42e*T{ZA|bcZdv)PGFei1?pPc(R@s3!;mxPrel53oMR(_Y63earv-Gi z=YU^^YZVOzzQ(WS?SDMo<{UopLC_+yD}2S%qT=Yt4Z;;*Wg7czu;dpMe1=eOc(lHP z$_%16k#u)IKMDWV9M~&nLLX63dI!8Q3q=`@OEAXzy0*Uy>V|62LD6|FphEZeeEx+9 zsPPf_b8NtQLHp4ej0*mfsQvMD{QQdot}H$z-!WGDvIq8)bi(I$nQ;i66WaA4Q{ITV zKdZ=~6jW8uCN9IqkABnU#S;@_Uazrecl0!k&)oX4_SNxYTv~cWDPC?!xg9|YzT)vd zu_CIXR@%`Y!c+JA#fthg+$K8@mU+ZkXI_itp9Cl|;eAm}M)f#(B)--;QaZCSciz}K z-G9^VFyZ+~_z%XM;I06i_GjlbsuYiK$7;0i3_i?%bN0tr-e@%`YSN3!&3 z>4ZWyZl_w>*{ETnftYvk3anMTN#mFgS%AX-_}3vH;dgTV$uJEvZCDCDPR2V8n1Its9X(f!fhpO}&YPxvzAQZR~%r6Jxj_=VD7Q2=rhI#^4q!)^&&YEtGW!-ysx**1a> z#Hr zz5WWHr*N#X@=?}LRo|cYs8_jc1PW#zjtc~xt2qks_&4B(>oBtXC3_x&d20fnVKkRC zmntm?AKQ9=oJWz2OgG4{R8#=1#Gk)9eLU}}Z_0}^F8tMDHgVRlzmg3P8^8T8o=Ah~s3Gmd-H=xJd2?R>K=M?2N(HN|Fb>l!b5{Ayp3KM@GX-m>n950i;~e zi9Chyo9_@d0%PLL#g1^~tav%ag@dO1UPyvKg7O-_&p(^L@W>$(SQi&Q>C0oL-Q8V8 zj0dM1b)fhDD&RoVM4XVt>nhOp;qj9C?+@DknFUu_ety2qw=yb?V$#H3vY4JLT?;8; z;gsWJFLQJAh*z)VQ!Fj?$_xCManOV_qCqI5{op|$d(@(mEfA#OK#kpaA)%`=%;6PE z8YZ0^=bM|UW&H_DhKzZjI+RKvy}V$fRExV1bJTru=b!xipNKC5z48=_!KGd2mUlPi zgt8{Q*e0a{xC~6XIXM&V-2R^yKrfyty46}L*o<1~`|i_%u@AgWkNM>rS#s!Fs%-d9 zQ73+f(LW}ity5=sZ+p!x2V(%87G)X#ELK%*%TF$@vzo3m2?>Z3}J1D`P`M)Rc_cfMXTUQOk?X*<^1^2h6zet@**;%r3xax}<>Jr)s)lM#0rSp?`HxbHS}?d>6!+I6>-e|_cQ^)G zkhmnO(3xFH(37bH@fY|2-UXR4P}spsD?cs>WyA(7>$p>2!ASv5Nh7Db|Ls;DBrWsQ zjC;^3YCV`Nz$cjaCk=mBx{w`j#$ZWlAH+LQin*@1Y#-Sul!f4UOlLh-V#tk~6uhid z#!zTyzmcFwD&8=9T!4xD47G!5hg5$714nuXkdEW!StJ?SfVe%3Q#)_n9wL}Blrd+`LuFhstVxSROc z+QH(e#kE?%{Fd`lK~HNWA+g0yTuo$TWY?cV-mT0$oM1qOOk|JSTA+jY}|Ko4v{=$Jz z$1fQaaMfDFTpc<1-V9o0YOsN(1{s_qGBil&+S}mA6J976yYyrGQ1DRr^ z_s7@Ai-}-))9vSn{A@I2pXLB}iS~@&Y_i^v8%bdXc^BO5%n*X0OpF2A^YzL1k0n_O zrR6&1B8ZiAggpQ7ytPzfq}bohqE_mh30AGn-J~upr{2pi4W>?@n&cBFkNrr;EB6AU z?M^?ZQKFiqN1&OtWuA?`=pWl_7YS7=1R{)zqWdMbXi^S+3>u7%IbW334hw#ZuN|pL zN=9E%Gh?qyJ$*8<_{TSovu!jA*6UuP%m#?I zb6+_*G(=O53d!>~ z98o4mtNJ|4_C^InuWJOjqZq9Xe*Wy&&=e@b=6OqClES6ZZV|s^i|b!p^0V$|QZKPA zFN`OiJ>al?&?-+RBfPuSC{41=>(()?k;`7(V~8SZu}J6d|IKFl+hwEk^m6y!r*WK` zw3i&7HLGiKf9d9F!*zmZJ8q7mkiH>#y)}$ml%F3A_erLPwPdq*#nh{*O%|!2?D*dV zqoFG*)8&9GAO4MkR_BI0TG;AkPdpQqs51jZp8a$APyoDn!zJyS`TF|$9ib0pW!EwW zDTG(a6``|7GAiH%ga{foadB!bGALs@Hr&mHGv1Yy$fQ{2=l|wN{R7!+pg?tX<%c)e zgYNxp4spZVx22`&Yi4LXgJZ~{+%2+IP*$Eg`?0nUQ6gWq1t{Mt3%TKeW8?QfvvaK$ z(8#M`F?_joNXxFAqEJ0fRB?61gcFe;8ew69JtB|ZLpGrw-Pu6AK`Tlzz#4flhcEVI z(NZpl6Rjbth$@JW>6AywLVB2(OsC`5?(#0y?s4#=N51b$4j1>1UA)ha&t=IJE#}=2sO{^Iv!A0FPPW z*r&U{UnC`YI~OX`AJzxn!Y<7w!)Ab5YK}+1utj63WZj-RWEXfk~nzc$$Rs8$0=!W@e6T-uVNp5D#7J2B!+Gg1{WyD`P*jH|5XVd~xt0uDOE~S~M91Q7_roJMyh)4= z)P;X|>wr_(hcS$x&*yugU2IDz3Mg`!a{CZwcAhF=&Jd?9D%>ylG_nPYjAFoF1K zkwaKwlGi4E%4i}6M9lE1=?WSNWTG0$>V%XuM8!}H5nd$=pf?Z-*F+k5|JvdzS@_#} z)K&3LNb*}4e+YwFl){xJ$2|@S`#FOzIhbs_DxN$&+7Ya|z+4w#=PM z@o5xl{jU}DEm^KxO1ngdv!zR7I^y+Td>0cA|5qqbOQcjwFNx3a>e}|)>zP-cu0I#- zGd)S!ud^*A$&K=+4KlNcPA5P9I@A2G;}nJ0UkvvJO7#8VY{{!F76nlyM#46eAZm_X z_D78`k{)|+CSP@m4R(s(j|dK&Vb0&EJYRb#yj8L?yGX^{_2%}Sqo)aq`G5HL=zB;a zf+N_|_{@}22?uE&2$AcE&;-xE%@1G+mmzNBjN&wIPR$$;O)u_V!e{qzzq+45b(`cu z`qw-6ljD;qv~Tva!$Be31Jx?yE0hg&_nB%`X>5B(I~D00cYhPH+pK%}$xP{?R+Ot7YX?mw#bbC4>){zcr2mYHr*++FFZb}K5M5&w(X1$FQu z%6jQ;nsUTQj{;3#D@uAJ8kzJPPMm5g3xQzvNi9uwZh_h)13|Ttef>P$70E8MrRw(k z?+)1?c_-~Kj|ds`A77@rk~|%_ww0jpDTNRGSw;JeIwBadyw&KpZmTifC59@1?9rot z`tm&s10Fc;v|GAq-yq1E|YBjPW8JVFguB&($CR5uo5wf-E|xS8Cx6aHiE>xj#$ zS17N6SAbo|A~dS1o-`Tfa84T`G>O)I`{WG`y`rlhS(ZWZ^+%6N4gC*kOH2ogUJU5( z2voC=wOHaw&J~YKNM6<_w`*XD?_8wt>)LZ#e($-K@brq2igy&N^kzq;v>$h1*bm1% zlPN*nvVLooZL4X{CA0fQ*Dw79^{qO028qr}%J$-ktwpSuCX^mC5z2&;cD;M97&}sL za|fe&U6u!7_69SO z-0tW){nG*mPsX4Q>a&3aDpd)|{Eq=FrG`=|6>}YZ9=r!B6&aTGb${AKW$T(W6NA@9o^0$qMnxJZBHOIW7aaHPs7d{^$>D*Bx zPAN5fRJ{GI+O2xTahTd(j8)}SZrHEib%s@sqzSsUStPK#`OfU9T@UfGH2>67e=a2A zMvL0+{F*V7|54+G-@y-0U8m{rUgoh+cB~f-7V(s8Hve8k=9{XoI(EvMY6%O3_*x3o zKNkLsedoz%f1(_onJ@V|b5zqcnDRc>Olkq;Ou3t;H4%o=cM^xh_*yT51qen7ONnf9 zZ^&q=zJ5OP&Vxky(oiL5$X3a_$fr~#SV?BGa%OZjN*3D1U}yK8yG<~1cyWTXZ_}M=4lZ$ffZt*BT zRrfuu&pBg#C?C=l`Es?FoLU#u6?ubfus#GSjgDaEJ58}RN!c-BM;Qv*{l+*Tqr67Z zE`yB`M6tnVKl}luR^McG7USLcxn~rply^@2L}_Bg(c1~T*Y@++@d(40i7;2)jkDhU(0wZ)~Sh`|-+&cX3a%EGf!v0b*pay(yL z3eLN}b}&~}OuWjM(~Tk}dwR-v59P<2(tc8b4!yz$PPzA-a&F1_XGZJya{Zgl(R&hP zxDjtqE-BXQGY`<=U`^0z<&D6YLJHK<#QjTf0$G@nSX2x_&j? z4yM6?GXt>|h>yFQ!yuijyyf&6;=Nq<|5H^B8G7Q0FK?pj=zNA1vNudusr~#A86GrC zY#*Q9Nn#uHgP3o= zl}o^tqe7ESh^Z7nf2GPSHYDfz{Z;`x%g{Z@zO&x9NWL3GMu9^S=tQa8#YK@RlnhHxi=-(%7&d#}@(n)(=POWq{ip7iOi(hJ! zvLz#|W^)5n6ynyzPt>XaEDt&RFTlCQdjWOCo((Q3dWo-Lfa`umrQ2EF}l07azr|>zVi%Xq-*pZWy^awi8-k@}WHbl@$04x3At8w%D0e*e zE-mE;izEmYZiErs4C`2Ivnbu}c~{y8E?i1cXVWa(HdqEAMq~)>gTOW#z#Y1F4!c4^ zDyLBcnHE{q6VA@BU-`hgGO)^ojl-1Ek@mVYka|T0tDYGbqgj@a=HE!QZLP~YG2NT_ zUF$dA%6q(mQ+iX*?WU!?zRq=hOWgEEnjdR&kI!@IFIJgU(Sl7Wg*qD8+|F2LUeit_ zy(TO8R*^f=y=n4ybtd+CwS^I1OWSs1+N3&jU61Zo5qm!8sHpnr6U&ZsPjQor zpZtO6p8=J?uPo!WpHAA{2RqRk-LrYx6@Q+tO}7G6^-y+{U!(o}gN! zxru-BZn#ex*F|U&3OILm5eF}r!|ti6Az6sXG!6xxH<%we18H&>HluvDW6YQPIae?e z)Y3_Y2Mp$PD4;k-N0KtZWNiv7qsR!w!U8E`r;?Y!0H};b+-_(GWT>c+9z5j?L-3SFR%~ z0LR8Z!bs3N>@MFGXD`8+5vTPK%qnYEt&$-_}uCM|U!eY0=C~tH@ ze*Q81-+cy0=rl;WQQ(JNfOV`nU`Ajh3LfS25M)Ok9E?WivwrLHVml!GNW^>30$J*{ zTwVGianSz9i`X#eX&yEQojyngKvfaGGmp3o52j3pVFGpxe?=U1ZfiphJ2ja=lKS-B z6@TuN6S7l89QGjOp#8{(4#y-_bop&%IvEF4JeH{@I6BtI}iKijh zK&YG8IrQE2`%ea=IY4ah&knTm=#1OOX3yR6@zXy8}Oc_xS_l`oi+b< zwb$)~zIU&w>3G9&@1CE>JuD`gFb1l(GRg|Yn#GR}DIPu4{~M;Q&~?D`iaAhE&|gk3 zV?dCN<(F~k4^&7JV@HV^#UF`)c_{KU{Pfx6f>qoQcsjd~6PuS3(RsnNIT3^@QAmg~ ztW%Nv)$;l!Jot9HVEC2>u6x+@x2^4?c6ls=aj6)T3LsxX33K6&Vg$DlGcgVzdSIT0 zEDRA1Il}&u*l9z*Mk}5K8u7i>s|zBS^ZoywGtfxBad44fplXqAD$Fz+^F06Iaihk1 zcoj4ZtMF*%R#zv02pt0CqjspJPgY2Q!5|OwI%MZfMMZ`DtjJS$ce^PO@%RGg<|%&~ z;ACVN+Dfzvh%tg-6Hds>_yZ>tiguB>yDzn4+$enF3|zQ}B;t@zEOM^&!cx0!s4M_RSf zCh1-#;7Q+4EPE0o|4xBSp&;#vU{HC%?{q#p8SMwqUQmY%zSNLWxsO5>|1pDTL_#tp z2?M)D{9_1OwS^Rug@)!0Xv8nizUm7*@T@r9a9`W{I|#ED)I5@0rE6CKFzN;kATI1z zC6B&$fJOj04#4lZ48o_UPy-z}$_X)l6?@~}VJdZHh0k;0M9y^j(R|=DZNOvA&T>DI zjb2^un-gU3S`wI5jfT4h)D~HCk5{SkZHsG2~GBUZWV4D3+H9 zs(e;s5f}{}#K7J4JeN%#!{gCVmVY65C)d#%WXmE@KHyXmfiuW$jh(hvRY(- zJGcv_7$qdn!-WlFan!K?N7HpjbJ@RtJ0p8<**kk?X73$Bl1<1aA(2gXMl!RCkRoJn z8KDT-8IhgM@4BDw`Tfy(p3|WZ_x&E%^;*~c@;_2FyetFHPdHgpSn_RbIQXUsa-cgWux*{DKk`9f3f@?Wt^<6l>-5KXMDg&F>b4?6 zP5g!g3u}08IZysgVTXkdud=YPJcHZ2)_>OqQQWjg;H`guM+;oUN*Cq5B2erg=Q=>s zAoBng7Lgq~3^Uj~c+fB(h6k)I5@7(e5!@nw=yjnO2Cm5>*chTmK+Xs^#B$p;MkOK) zF}E2cQ4pbv`ojT1cdi4CR$`Y8PKL^a?fnFmPE-lQQPINX-)h}XYr|~UW;-SLB;M8B zpbTtx%u7U>)gv{yo@h#`^gyvXNG+JG&-Q>UN>!Zc)JH4tUJr&Ro{Z_&Zp;;HyU;1k z{m~Jp*}=Z3+&&4{o`8Nlv}7ibso5&v4a9MCnxh!wNutM3D!oOwH!Jw|$6-46+4b!? zH2qs-3-6pR<5RD4ZvCS)*=vvF5zJ;~$Pox1{Lr29{H!pFYPEY?XP#aKq>k`ZAM~ek z-P-GAah?0}3T}=)U|Zmf`2;(a@dXrPh_(uZB4T$hYI0(qf8dao$rZoazUI4{_Go&- zVd2A-FWDUB2xr+&3Ykkj`~q0MCwK!v41@(!R0MC%$}%SJh|-CXZq+Ou2i(P3&6(iT zM*n{;K-zt(;&`8SB>`+F2R$#^G-aZ;ZNpLW_dk_m2Eu}xJ|thTDF`LoR?<*Je$7vz za_QoYO-+B?>r8Vuq~kM17WRz)z${$yu!9Qkesat4`ECY97!d2v3pn9_kSj6pFze0a z^SHgN9!MGJhf41RE?X`TYb|z0qxgi8i4K#y%>H-`>lRooaE`aGdqcwDZ4k!$10>Q^40!)1~vp%>ps6-rzfcU)ndc+TK7 z=W@E;up7AD_<4Ebw{1RPR+uRg=4_U}&=dc5uMlF?M|Z>fV^}ftu~OJXnkUKnNkr&y z`m|(<@Ma*GA+6)v)ZMlG0x7C5b6@XTss;GG`1iHYX_lA!R^hy<06R%+@5>RNjvIPD zEW&xtxLI%V@gn)XTLx~7w6PDk{xs1NC><4(MqLqD)goC@+uv3PM}mRr1A z#myd*I($8vFBI`x<5MxIK&S_1QyVaHA)@FH&J!`9G75LU1quoXLqh1gFigBPxF?@Y zuaB4Gq_|5)Qp%e4efX3vwEG#AwUfc}Q{!9i)|mKf)Zb+!4gPsqU^AJ^AN~m8B+FSF zk&5=Y=USZCt889QiiTg2q$Gjm%=VF3Fz$&qN8Z{?jKai+7rulp!H0VK?*!f(l0A`@ zCiZ^%k(vU_+xJDfE%WyqPu~FG*ybjzZ?Pfy;i98uD1HXJ$)*dbDUlJ@5aR(_Vo;7n zPPx7T!DkZ)1JB{+^Zq-Nd43)QEeUduf$Ao)hg2-V$5PdJVrLtPwSWd@84-NR$jG>M zx@0{sF9+^_)~&}@Xu-2V&lqC(s?Fb7JnA9`GuTy|O|{2Y(I4T3`;moC=9AH-Qz7`} z2+{;rZtfWSuUSbiU-lwx2`oe~kb5jBo(Idx1Rlui zr|x`4L4rwO=J)^@qN7;V<7h;2LqYm%0LuxHxCgon_Vwl0*T00TUf8-71vU|cnN0Wg z^_3mXzV-7Lt=mK-7dJF2STX$dIXo z=;NJ3DG;|={!rJ|t=i_LUtf;$$SM>UKzU0M#yWq*MF+rgx^?7>y`k3{+KdWc6BG2s zijGH`(;O#?;l_TqkvFPJv_tcC2w#LU+b(I4Od4I9!}ImTA_un1Pa=^*yxU zUuHP+Y0|yvGR9OB(B{N}`P&70FIO*HiQ+E3{3w zh3wl~b&iTfOpVWZ%mS;J%7yi0HS&1N3?v=|N@M`mHa9C4ic1>7=2 z$oV5s=zT3rl*N??8>iE+8P0&8&5y+qnZLDW=KcB58`X6`X{u(QDM@F3PF;KJ3)lD`cEt$I zmB!bW=Y9&*wGRmQlcaTU^vOf&B{7p~9r>lnOsJvb|uO6E-> zaVUA;`Cw*XLpjztK=Pek;JP=t0a2)v;>3z7xpX?eL#?UW;2 z&xnr~QOF?bG?Y6Qk1*5H(#Xij1Z;a>VEuUKM8lBCLC1D<6690xPc-pI??VD=A&iWH zF8G9w=a0cS3imk=GGspFYg{Kivf1X#wc| zL1>QR0a`f#P5;{m&``!9*+>4@x%38V znhA<{bW`__4T-`}SQbZ;D!Yx?SU!DOut=3%>eXm1Rt; zNj)nb!H)BNF1Sr_q)45VgoH#*O|6u4!LM-^(zoyiv&9pki(ZWyz53ak3?M)CGUc7! zmH=AEv@|uFw}ox1F$F*u(opwf_e7&$;D0^tsN(yaFy+ivRhl&$kan=~(guTu*;pQ* z1*OJX=^q=*-OBa%SJp4yJ$~}`YT_BMd{9$_45n=Q)n>OXiQ_A$VzXpwoL-IEk+R}f z?9oE@>JkT5E>fkZ`35&o`jo8nMIY~RuaDj!HzOe!Sc@>gFF1@ks#{_Mu{~tRya#|B zRD1QO8x`wQwH!#cAn@!^)j$dca_s{qVBs@i3@R*(ayr zENAfEJ3Bi)An=Nqk&*G213`O`R9&p^#H0#Z|{p&r;^#Nfv% z1V`*i$gypVhjV@a_lV_+>f2WtZ`p%q4Z9!j2ivt5(>wm^jNXv(>>J_I-0BT<{2*me z>Z(SNhTq3dq^%Otrq5YLP*c$wKR{cg+lax-o}`XkRHsx!tZ^(pEG-|i8WX&p_p zF{UwI!AAap4SGUohqKMsH)yiCS9nL3bJ?B#*M5bP^yB_9wdD~z8BWSMuXulaM&ESR zB~{r{M2Y@bY^XJ}y@{>-RMvA3@B5C}Z^?Q8X=LU{Hry_MW~&m^4W?oGQ` z@MxgpgmK8GV9&O%%>;daJlL{9z<6>tcQq76%o6PNxc0ZZ^=SFl%#+zEZ`X+;{U4`y z$Ca?qpQ03Sl8}-b4wo5{6~Z8UT7MISIm9d~9%I_#5s$B3au4RpWOEt5K~6$2s3)BGfRSyvyrOauLI-Ss z7XdY&2LLD5wNuA{LMKXGn}-fO?f@mHny&bg5rvo_JwPCv)u7;AUXIP^)q`StXTkid ziQdF=T#P3w{PL;tslerht-n}&q3`Uymba9{9{8csMc$`B0hM0tZ+WM4x|-$(1EaqV z4qsw7*$He4wM@T$BaTRSreMb*NoIQLsPIEn#Paqi8pa{aYooDK4P%H2+BgRT9J{(c zD~Hq$=J*KlM)!G`+Q~4E-O0~cc<+I3bYqSBX~Bqd18PYH&}Gv+%+}i{CmPX_H*|o~ z9mMrTfUXP^hFcIMt;n-H#vog=RI+to1rp_L8XPMw;*@dV@6`D#4gM0d7;F`i=66 z%gy2(ZO$jl5lxd8=fp+YzX*C+Wb5H~#(LQ%Sx-NioVi7lCfys z0kC~ejBUC_4XAjtmpV3yc(D=cQmJSx_6aIw+`N}Cy!rs{5U}zf@vR6u1=kN51IhW-F;21Ao7N7LM`ds1Eu5y{KsS(UgC!#6zXzRVH0jZWLpH01)kff~lma$|}fzd$b@vI|_`Xh?B_L++YH_fOcE8-@C z^c;M?CTw=&%b|Lvl!^(|~ogQ+Nsg9%$G+@2)77Nda9gtk11 z0<%}6Zhu&iua|F6&**QDtC063WfjjtM)Smn0ncxRKCbl21uXo8sOqV=heGoM4Lsjp z&$yfapu)(A-g~xp2oyD}eI>4Zr|UX@pL$xIIEqr@Z?%rd9;VR*--L1#^4A{F-SU3{ zdPf8jKLse!aa!(|f;ISVZ(W`5BU4xw)YDYkUBw~`^$|P?nZgA1>@pxugt{NDV?9H@ z3>?IfuovTi3A*@AQz=`;!=L!t;i@qwWL6@)evMRa;SN#w`;U^XNC^$9U?eaURLlq4 zbBx(vp^*!6r{p!22UZ>d^HJ)dcIwc6Dr)eIi;FAhbiD*op(8&D0#k6DOC-cFQL!(C2O70!9U>p!@kkqRjxiQwRjBYdP zt)~8>&)MdUouTj}0-P`!E*v4QzBjj@2Y>bB@egZagEf>C9WPc})vH~_QoM91e79k} z%JKNen|!Xe9t{nRenCuYXHtDsDfCfMOiM#a1MNg6T>lGPJ7ZZ;Ffw7sizy!*FpcZ+ z#wbU&-j;MgoKatxQgJJoDEVMr7sLBpoVuY`G z`Bo2y2@OokLwV=_(I)7${38hb;1gQ@KpgM-#_uA(Yu9$G_wxOda4{6We&$&ERf^ur z+Bqemx2ST5mS(;zQs^wCEZZlXwAbl!D{+LW-18vcDlD||XQEtQQm*5*mFw}BjKX#F zVR}XP4Dk!+?neAB=aVyc6)`<)?j8(#QO#s+i=}d)vB0?MFxp&4+&AL=3cXlX*3zm~ zdf$u74|CLq(+{)E^BV2j>0dRqFW$a+q*f5lsb*?>+g_xfgqHf!2WJ|LoI3uiLiq&1%tpA9OBQYGMepSbn+7<6d7^H8lg3<0bL^;ln>B`x`(G7OE z=G^>QBKwq1xvF*e-S;kYe0sck<6-l0Kp-6CAwBo$a5?C5VP^zO);{da*GP}MNe4C^ zNE^(&6(9r#l^Kr?{E+@rS|x0JOqX6gBjZIISJs~C$q%)0W8D~~`YUCE|89S*?y0DL zQuX@k)7xZYT1zH8|8tr-cTcbP2E`B4( zM!hs^=#EQFz-5Z%xq}tI^d7HM4nqu+7%%hQoJ>N3416|>fbOjBVJHOW8FIGWx7=cRgk;8n`u0795rXx0SX+EH zoCzC-nh6CRd+;|blOUd4L^%LpL!#3bh#96UrDE}0$aW6>rbBv0uLPZ+V`pl;37q50 z{@RV)p-ln%YY;PfH0#F*fn>PW*J(YaULoW6z)*}NW-S+0T|{A{VXIOVyg@HeYoyq9 z9p+R0VO*$lX>_}seBv6JcFACI&4bskeX?i$&!t{sewkkU{j6$WGHqKm9dm@~C%<5@ z_bu_9jMi2+oz3rAnL<=Hl&D`FCuLSf9MczDS8x^&F=*ZoVaPxH@HB*&8FZq;#Kt(7 zI0+({T6v}IksbE!PQuD6?N{uImL+-Y%?#YM-)^O;*yk0D^pY7dD&eK!=W~I)D(FMz zppi7Yx>7oZ%Axvwqt`~RCODsl1)6X*(3?d42r<)y>|-y&OFt`>4wU0Jy#4h)F(hv5 zc53r(4G&C!ut`B5(IGLsFkudXdB72M)p%s=MJ$($F7TlHIx=uA zmCMky-s1)sU&Q7@u4E9SV3I1s4KOMKz6v_?;PDISg~2ofjQBF_%jE>=zeu>|!czsv zp+!~(^!|}cnS3dutm%&^59gPZvnNyT`O>KdpVPT5!?3)4urwkzep@pF)hm}VFinFE z*Ak&N;lHz2!|?5@`jtp|C@zq$ICALP%&yOiY}> z83=?Wv69}4@=!Dz`E@n}MMVt7z**L5``>2|QX=FP@ks=ad>%R3JIwjnJNW&6@^ib* zR!GwL8Nv-h|N0UzEr+3;hN_-m2S=`p-AX-ERXGtMkq!w>eA;A8&cf+QYaYk$3?Crx%Q*uMdjNEbqMMi3(NVDNuRD z`!6<_Qdvbl0Mr7@Z*KG97TIQMiVc$WjV{-Q;r55(qR-#It*^KI&7BA>l=DTZS!iPg zg+5RE@kqtI30XP5q%vWd~qZwZdju6E&)Ox31tYHT4d4;l?jJ*-LN? zn0<1i2V~3+dUab{3(J|$pFaz^%}5}vJ1Al{HuVC;$@)UM*-TLan{(Au*sI-Ur2zeX zZdK(+(aa7h;Ql+-tx4N|7Zx53G>FjPL$9JzG4ZWLmyt%?Z4efb<4nCEEC^Fx3MGA8 zP#NUNg*{N7NGa+PBHxNW;0z3o^Tj(&g36wC4GbK?VI*|0b0`mwD z4_>^=(p%E^ro14~7Y;u6cm7fN74%$gjh72wSe)rR^NPn&kNs&!osDu@QakQ_yiSB$ z!u=V;CO_jIMy#?g)%&p4#A}}ZM}NrD-E~&I!yeq&{LB3)p$)^i`b{=syW_5Vku=|;e{47-$J+E|NdoBrDKmtZtEd>RI z>Mg%oG46F)3#&2#6b3QdseBag+S1B`7wLB0v)X_3P)-|XIS1I3eK5)^JPTsNY-;mf zYI6oebahEal-&-X=CmhOGl^mNmNp}b@i}{awuwY0>)L#Qm;Y~q+^>r*bDevCH%t?H zByF#;nYB4r)qD8Gvhwg+9?|L(r>&blkC9W3D(FpS(?kLWs;68L<2RI{yKwQ5Pgg-W z!QdZ>NX8um7g-E6ZWTHUIxF%#RAhW?hFtP;r(G7V1@81i6*D=DR!bhx~ z8$Vv9<9K%o8W224(_rK0PXJLIl7~+~Cm|2eE)Xpox1V3n2UrUD`QIOhA9x&Lt<^c3 zJe2i}eBHWrUxY?7=vV;kZw?Tx>kY>aT(dPmuyWt2jQeVTJDGJA?dp}^uY7R-#nDTr zbG!~phJR}pt_m9gs`uvaIAaupgJu8z{fiLAU_cl0`aQU}phw*K?GK7AW}(8fmQOsC z{0?4odvaCuCM=;UtqJqTx#bw&yf)vSai#dR=&X#rqqe2&%|p8>PR{qIL8!n5Vv2=A zwY!aPl9-LjtA&1iuj#gMoQ(FbWx=L})fO{eC0?h5S+q7Zxk~dS6;0;JsR%HEHoz2% z&)$@iyLztd8!!(M3xHAIfKZ9z$$$0r638I}z+TQY5Z?%%3=y3-?ROB$8S*agi)Bv% zKm-q&r;ei+o<1OA*Iozh;mixrAeSW^!;ct;D!sX{heqPB{FV$0W6CqN+uM719Js-= zhqKM`gBu?wB5>T7Cx(rYO^#Ml9G{DaT9OB6Fmu_?!Sh6e-KV{2XP-A{1ogt)_;x**43vJ#dVJgM(C0pnw8j z7UEEs_T9{bC}(7L5CAwr*?)X(S6Vwz>gXU7$z|TL&B5=LxGQY6}n!Tayb@FL#nOk0kwWw z60zR$#E%#PuA%n2(*_J-+9TWj^`rHild$KXj3O) zHWOUP!GcSuOgC>P!Xb?e(}K7YREeV0PwsQU({+Y+%F2weUX;0-6jIqyaVaWZSInWX9M4@RX)vx$}Z< zv}E?dkr-ePP4CmxEv!6Dpz^Ki`h?b!mxVLSSW)4*S8B$^qbBujF0fUf1ih%R+f2R9G?-84HwE?hi9{rVf|UR6DdM(pD5S|m$)+or ztDpwU@{4cL8}1#4e%4D;^;}-2G_}2Ka$QnPCRZ?Vq+NM#jz21R!s;+tMp4x9wG>VL zM(>@0v03jsiG5b3?GJ7yubxEezeHQv-fEx1GfTi17jfp{#o$K=>{P;MgY5qO``f^`6djJfayTwPmB>w0BnWvLN&dwaX%OP!UMwJ%S&)Vccr-6fuy9iD1@!8ove3@ZO@DsoTPPVD3sTATwtGy6i4=@Gbv(g3M zj!h*3nG47#1}5hH+9?k|zm|NJ-nqHgprEb|xeA7s4oU{->Y!%;W(4m2+}>U__*)QY z6~p!ibZx@97!*QO*Rg=hFxGMlfcg{;q*3t5udbT2^1K~Ov-vQ`!EJ&~NFBqQKVyVu z#QLck;Pk+U58{G@jHCE{AkN7Ow;5JKWy~fl{}h%R!__tYiGQ< z^mf|N_07e9W`&Q&%DP&+Z7YTKD$9xw-BE8Ay|IXi2iM$3xm7ov{JWd9j-wu1mN+)o zSaoe}Ew!jK8FC;xPn1Iwn9gg~4iO5-m;m^dkd=!}OT(uX^MKVZB!ohD)trfnvI81V ziK`G8hyt%~6e?P)fE99+Dyy$ZjR``%I+q_`-UVcfyA#aEQ6Uj8a34tBt1>9Yh1}Po zyuA636j#azZg(PYmyk@=9En^=jW=!`8GF!&^(SE!nKrZy6mnvm(kKwAX?^V&?nyJC zOpg#{CrcxnBrkE07(cf8@>oahkWb;;yk&BK(-pC1tOFeyPiDJcnw z3Px0s@C<68)r0NQ3O$s5nGu400agt+9Xa%|oF(>91GMRIkBC4$1*jqeP^n9q?pL;hci% zflkUh3Vu9ThHxveiHT99X+)UZwZK*^97V1XL^c8$CS_L5Qb-yL9O4M02RYOva0XArslWAO0}I0QP}J|Wr|*|SYyh&A_pCjQ5bIHG<0%k4P^K6cl9o(UlrXG?gm9pyA;2T~#zRG`E1bWY+uDrUEpO`9_e;3XLS0g@uKL z=Q6exz|ocM;vEyp19@(VJL{k49RI0dr#+c<-|pn*OvwAvjZ#lw);)JOu_QY^HhM}) z<=FC2EH>e}xw7_qGKE%dE?Wmp&g8HVHc^VkcJW3piG2rD{=g*po4P^zq*i7Fwarbt zyLyE`a1z=ra1MSda_P974BWfv?*G{-$u2X;f+yE1u>Nw7izFeZ^l@WI*@QEY64-cn z4_5lq{QdnAr4*t@{BpX%gR~34M|2}YoWR|We9_6?3KB+lur-|lFS!On1d&kqSZ^+}Y9b z3=W5C&lL@jduSusfFR7S;hh_~KQk~83+yg22}zhqg&j!9fWZgKuRh& ztALM;T$u-stScEc zO7Y5J6q=Ky$p>d*%H~r>Y9~H-Z0@H`w`eoQ_RAJsP|`vTyzgVsDR*s5s}=q&kU3z4?Tbu^f-9>7o+bQEhS~I4!M)S1 zpL;dDNXpQtqbQxauNjW-Meck00<- zXjcC?KR-uy1PpGlg?NTfPjs|5F!gx`Geqwu&i;GM&5480CW~i_sb9?8+S3{_(9oM4 zWc>JEcuo*?tR-q)D?wb|pGnF4vw9q5qLC=Hc$bZUkCEaxWfn9`TR!Tgsj~L! zKC@!6INW>I@zOua>u7)g)2|Rq*`#-n?}n#gy{?&&3|Ii*lBJUN<-Kv^2CPqy6F|qHpn-r7+v=sipuM<$%mD33&2sMG6T%QQ8imzR(u)}>;LS2op2x`v!u#E?^wM= zh>a~@GFA=E7^uILy}dt-J#!b!j*g15KHgb4K0Y343h;sx4&(srqM~Wg!XeTw=-agP z^oXEGQ+{WXF-cSn)%JMBokYNfJmExysg+LSrNqEzgzV;|N1sfm_mt)36pS7H)yYe_MY5|9JWJ! z;gGI2@NvebvxTFPuv_1{daQP9tGIp!hw`QstFUlwCv!cpZZP!FHq@re)-Hm@`>lm2 zjk^LoGN?>fU>Y8h<2rN=G#qyk1rZ|Ef<=aei8Q@??+tTOkT;1CIiO}3dTs;m3lFht z6_$-+aDjX-+z)JeATz{XMC|ot6Zg&4BW!04HP)MP7Zqg`o9ZT&nP{=E&??%8&?R{< z#o~3vi@hXgu?h;^)&1Wm5YKXt)@4eE6*1xJ@o4FK?;Ym zx`a}zgeC!m+7%OfAky8b3b}}dnq&{qc&W#>smppJjv}QKcT)7drRc#_U=2qYa_NKC z`CCiK742VTq_l(-7N~9(R##Qk)S|rTl=Wi{4>^UbFceztYhf)4QdNE*FEip+C94Zx z5~hj&;5M6uH2yHxbkzbD$J${a)T`ZqA|h%>?um(98W@SWvC$8XFA1;Tpu%!Rl-UP= zXKC{+)ZUmBp~z@)#uSo1bV3bnUzJbji^;A4Eu$WHlMo?;0+VndO1wF1>sVJ3%O52L zB4g~uSy~jfd=ng~`&27bo1z<&BOUI49$EPS!Tu>xDtrc?%B3F`HjO$lcogOdwc6C} zFI}2SiB&ySxaW)C60>t~pj0sdR4@e`>^OLMJpTesO{w_#?e2P5gwOY)F6xYPz;sS0 z1gk`*ML@S{*691r@YNEyi4Xz_(Ep^fkFVk0B3f&2zy zgArRBsD%SgRx$!0X$Tvqp*AaaUS5}>jJo&Zy&=7l&vW$6pTZQC>Xu$xUsEc%BP%%3 z%}BXF#aQ^l=G%i$)1&2eMfTIX`v#;Wr5(eD=)Rd*`BKg%K5e7tJ6SffG3OUGs`?|& z<7;)?o>~-cFmz3}b3hG8Eq%p?z7-t}ZN#|_O1!_%Kfi**7+g$_AaR48u?z-^2LNrL zbTOmW@D_67BH#_YZ{!|9SS=8%J`kXaDYNB@37d6m$;S(TIq`_(4P^E`Jw1`&`}^gw ziQvV+1w%nc262|1&@8;F(o9~q7@_nz|2Vw`$IJZEQU|oSLx#FCn5|$v1}W&xI+HS} z(h$BAshuJA^dL|MD#q}L2tgo;;OLB*@Pd!!9RN11pr8QUBv|0)Xoq726&*|BsNws3 z{pEH`SPXXSZRLgd`~$33roNYZyhfg53oi^S>!an=V)%_cRb&HS;kt`k?v6-?YHV@l zHWE@DaBoC3kS_l*&A~cr7-`WaZ%4yVFuKu|pLx}>%@x#gGkQNdfXtMkX?0O2S~e?m zmVZo0=-^8nBQdc8oCBbFLk>;2cBPwjlUaASKF!%woBoZ}h(p2deXCjWwFN^O?wRELWbSa(hOZnOnlG?#_dD5JhI>6|sztStMW<~mh` zqMjT+<;w3nM+J2Wa_hLyeL*T7q}Hbvwgxy@LLsfT8ukUk_JIg2(yFTE{w`rc(-~Y@0D2GrTx_A$ zToMIdNoI8tFcaHAv#)a-g^nAHbpb<8;@hrQ({Mzy)uye#wAvbwiy4Lm!oCMAF}rTXuh9fGjWs9DhxDsG%D$T zl6jj<8J2ofeEbT6IeyI&g|-}_n-{xcPe6R#14(JeM=e+Jrrq5$U8!ik3_8VjGVab; zwC-n502uQN+`Q+%fQe*qLfwVv)IhyT2SJmfa1J9)eP$*^=+3%HLbNhFRIbYZSyXx- zB+C50K1*4~3}s_nYpXmni~H=ew&}6fsc;c~cDu1sx3p^osk?q{Hfiep0;GOyjMmho&7_e@24R$ zVTGz4eO~Lm$%8C)7j(n>wExCJO+O2CZb7jFPz_wY(v6{wjg4c#5*Zj6APoz=LJ&BP zeQ+{#z}1Q*phu7p_)=&WSz?%>4^>XLg9#`K9v%X40s#~JKr9;s%VGP!^hQ)0)&0=WdIv_rRsb;|1vBW$6KXI^9Bxdo2nmr? zOvGelQ1Y37kgxgy9|iw9D7(vz%3z8Q*_SV0kj55zVlzG3cP$xC4T}Nb7USdzEK8ZM97Mou@P@Vx}eF_+v)&XtJ!3c}* z+dlr!|Csm`-W3ix__+tB>L(&k>*R9g5B0ZpcD-s=-JL)=+f=gJiEWgk1&E z+S+&@zvjPJS`K?0f?70WI#uaU{bUfgHh^-AFkQXfrg{hP-(7G9?Ljcr9wf5wLxZym z1;;P%IA%$OJkuXb03yL=zK%3&G-9s3K-xOaeYto@|6~1_3=EsYoeS@<%Phnq#t6~P z*l8sL#Lz&->#QWE%2B;-i^XrAL=b=Os9!}Q)~KkW!=85i#PNVTQoMyz*@#H~-TmEi zmimo}>)UrIH~+;%Ts>1Fk}tHGI4bGu7ZbL3B%5^oVM$7jf$qqCQ5-4e@|{=q;=u5G zrKKiR;5j6@ppfOPTiR+CfcesJQgs2iHJ~MsA65|rWHq@c3L$xo#Y;IWb5en%rXZf= zxAW%tC`PhG%6t2~%fF|w55z2f3>l*;DAh-z&DV5KFO}2i$1~kg@y1`6VIxg0V!|fi zJN??io|66`-#1Fyr(?z=Box2T)i-nY+EVE~;XEzMD?vd)h?$6n6Ch`2$7A&$tPoN8Ep*A**>%ZP1RCx_*uT4HN)@>KZd z@AaW1*Xf1TmOd1TIHExfVPx5*6i#BLHrDUi!(|{!a9Ok;d68hoohj%;B`0oIwCQkQ30d`nV<0hzf;}IEMMr7z0Xy zeB~5Sl2j<<;-}XVu-{nVnKUZBNaUHUDqGN#*DIq_4q73Cy0Q01mzf+&LY0we-qUec zJZVC2VN0i0a*@{;@*+er?Eg2dPhy4DN`vV4r%uz=i zxKBUO1P>si&OkV33%CO!pazW7L2w(G zICp6|A87ZHG8-ECJ-AjG-Zjg-aC2B$+MXp)~}z}HR@%i)MJ~RWtV@Os?E>H)Ck_8|9#lpAG4)0>l|B*&!%(sz#{(~9?068SN z0c7P4+lf0nJ3_in7^>Vbk!_$9=&#H~%QjH8eI8G?=1>*~11GB= zjD+Hr5x67hDn=Fc9&8yYyVTw;6fr7nc@o8D-bxcYMNZ+A zPk-^3Dm@KfM*F_4zTC=4&1z>_YSl#^uhD5_-BQ)vT8X|YxMH?;x0~MXwxS|T&$0vD z4M}VVB?Ax(s|S0GAm>9+Fep=f=K1ix3GFw$c-htv?yb|qM*L(CSJlRAB*vb#BKlx6 zNbAHzgoZqDYl|=4<@;N8$kMN_u12&!fW*^?ILZSg^M1UfrG?sNM9Bt5u=`vH)H`z*B4XYj4;FYVxIAh%8*u#R;o_ z{|*784T1mX_*D?mi%h8p)xA1|{UXER0OBsz*m+tg?Xe{w7c6ti5&s8k?stg^fj*Py zG>nZ!GpHFH$MIp|9ZBO^w-1)edY&Dd6-7j8R8S~e`q=C0@oPgp$xAM_wSJy?w~>O0 zQndlWr6rf;Typ!$XzO2;7?GP>^y|MazmBX=n7Wc+Vv_j(YO%K_Kd(ik1MF_a_`KN5 z*$*9!m}%n6+sF1piBXiErt%7_JfqNOVZK{s7(`?oLc4wS&SSK^^xoImlTU9sMJiXi z*5$k;_e-MX8D-L%4_V)kd+aIl*M-GloJcZb`*lo(8^JoyN?!=u1w8&fRMoI^5lQxY z@cDrwxfeW>#~?39%zseuEsx~i*2=w=3C87LV?kw^0j^VCS%oE}f@>n3Ve`( zgSz7xv=8&Ye|LlQM+a(r3D5@sxWLZK3*+$YXOgZ7Ku#$1$4IFG+!$h-1XJMuCg=zP zv*wsnbc%V`K?4<&A{uK#=KZAYM+UXuK{gDsf6bW{ z>AEiRQL$8x2s(^IT4L6eHU47rE;*0njYbvOo0eK$xNVDS-0$(El#dYBwe0sJqsS;G zyX-SG$}2AJ15`{;H(vX71Dd#qEt-x`4SWQOV+OLA8J7ytTMDaFNw zH$5HNx^>p>=Hj?4qQZ%!4k?qwPts)~7uRPi3Et60=5ych^8d~IDHBbMYjt-h3vUEtb<0}CkMr_SH<$q675ne&SxQuMj_NyW z@vI+*%#&3I5zX4k>S}{|ONDlYWjSENy1JOV(r@&A2ok$Q^LM|YCjJfH+6PeA0~?SG z%E_@j1#|%X6@btIb9~cEY9w zp5LJ!5r$r4jZ?=_)2&Ci+BB*Keu6tKSA0Ekt%+h=QlX->Ml^a26bzcErg(JvF7e;< zovKXbJun9)9;ce`<32=3{ooc#&}gZcoYu~s9uaFDPdxHBrfuc_wE)t;T)ukE$SD(x zRE83~e=1WoqHgl*&R1OXcerU9ttMHhdJ33!^00kJ^t^BLQnyv(VN&2Ut3;@p-bzh&L~)NzCn+y(9DM9qloRp1Q7u4MUmP_iP#z zoajulms>`BEK|LNvd5tSg#%KG^p>>dD^XDnas8{Z{a${nY9UK6a}Kv<;vni7Fi>F0li{9a-Nat2>I=nODatz zPK|+v1jU}l#0WfI(KpgZv(^39VFo`ipW@CiT3i963LRW|N|j z7B?uTunOBS$#6ul_&dA2e$TufuQW>=d2g+HlP)a*Zri0?q8$2N`37c1}z%X=zIuS``fBMvK?)6GAvaNYJXP7a27j}omr$?QP zU}r0$t|_qKF5lf;&fGc%&qYO_9z*&0RZU(@VlKCA;7{c=s~~fw&DZNxmOggrmylJW z?&!z~Q~(QT#X)`a9z>9ew{N>Q=1;tvd?JuA{6)HR>D9()t+rBToEb@QTHN_u??>LN zzeL--(_fEE%nihw{HvW{OTP-Z6m=fY(|IK|6chr}u8>LyK+rB|rPV-6;RG_Vvi+0O zQ$*@!GYu9?Gtl5dV}@b9US81lb$jVy|y}s^bHkh+Z!J(6@LWVI82=AK~m4O~9Qc|y% zWrnLnbY#7ka|HYCYYz3vse{Fu(YzN2w?(AyIWt_Q*?%~#Q45oYdU zyM86Ruml_3ErZCIxz_%R&hW1bv%@Z2S<6%EKuSuWZr88;Z(3!F5GcI!9cN3u!y>Og z;-q9$p!T%52wVO>oYdG?AFHRg5I5BO_wPv>apwquVR{KEZa~)a!+?>ljm7(m>{i(Y zcP+mtE0*X#)hNYAx#g(zbTf#yAhhu1{_{UKZiQpIh2Z042;<-!bWRj|H}p^6;Npsg zMoZXZULKkA2I3b)um^wR0J5w&D!~G+59LSn4Xyq7k<_D~MxR)oQ|22)Ljq#BuXaW4 z+Q5@e_9Dv1vjBgC3nT>+=>!2Q01(t*^RTm1>D$;?UvIB9lwIIHpZVSd02Xj!qu}F1 z(w+b^>IQrqNv(mN0vf|P5nQ7ArRN!uPs2M0rRCNQdc`$!T5@_4o|Vzby+)Te$$d4e zY6$ddX#cOknd=E^TDJ8ZET5l`@b^a&U3o6fw$Nkjz8S(GETm{;HPo|yCe8Qx)6|Hg zsMgCJv;qz7vwyQMB`r~WuTP9b-l`%J1N-oLfT zD4#EYS=x(2^mkx^J0{Ga9{c_D*5p=Kd^|uCwEr@SDs;NT!oInv0KMo=RmBQ`GkZ$e zq}U0K4@bp>`KEjJR~0L(Uwl1vQ?5fxcgP|@djgzh7utfYaEZg1l&5?>S#(e%FI}gnIA$u!E zttmcsXI?DlgC6| z$dY9J+ISwckel`OzamCmzZUAJbi2+RlgCn4f$8_o{+8cd?P-N>nXz<^rQBB6nzQxQ z<-PZsLI^&qs!PI{5z1LwrZ1DqRi#^We@QGfy65M|8=R#=Fe>kjdhI{gpG_$$`iD;6 zKL`RC^1xe^8JjzJ@)EsL<&IV0NkE*+J&6h!gnT=8d`P1)MpzJEC2XS@1RO-G&M z^v8ww)@YADqn?|c5;=x`gw9=Cl+?YPFFj;=uu-c651pBrnGpgDajXK_wF;R^hD1zZWJEVaxk0~W+UUy%-v!uj zIH()mbVe;892sc4dj|)L;6A?vGe(gKp&*Ki2LXBlquda1MNUB7tq#9-fTTD`ADCZV z?E#fb2a+|?3Z~oylL|HnegaNg5HuEO=;$ZlFGjGaFeW4)bgbge&D9wYq#;!(3vl$@ z#^n;(4C$Sa@n-fVND@j=qj%rT zY4Wo-lY*iMeik{?&)!_~j^V-(0`t*zsvX2Eh<+RpSY+0{pJ;GpUwg@);6lqWXKyz% zG0XwK{;_6SlC`Do8h64QmK^wWFq{qeNYG6Hw;=!n6OrW8V$BSHFis!C_&bELhc1Op zTKX*A3ljrF0Bl8w(E)Hgt7BW5m{jJGp) zE55VZz3dZ`Z1SUKm#*+-+dWB8`o}QPYQfoX_vYZU-HQrgClBo`B?)I0B?b8^Tz&hNw&)zg>ApuMrS=ZAh>@$ItUB`N%|>x_$bo z{r1=&Bh$Ae#Yg`dK6yc8&wXI5;~3=_K>BxnaS;u?6Zj<&V+O!kq_ngHkV6TxHPPu} z7eSc&2oPcCM?4Ccq3sbZ)LtJ4>^N%?nkghI!YMi4lw1Y2C98UjjX+qu%&~Hod z8zC_2olmI-J&1}NJt6N9nvM;AQBQ15)vYU2+~L@(jn5) zAR^t}E%nVl@BQvtXI+<`gYe(aerD!ZgNBF`!EL$-Y@D>TG%tWjAUT@9ok?=60F~jH zWVQQE-daORHS^p9155&P)t}~-^aauyl@iSg&XZ@BJ&+go9c_mrWJUzad-VPKf z75FOVAoY+I6caf{Vvirsf;y@c@I(-&b->@_m{My*x$f~nB3E;8EsuorAOWX{q6Y<{s9{O`whG8CL7bnFk)gI+ zpj|=(FEuKn@Q0mA*g)9-FSiZkBtP5Q2I0R)H~>g$d>Jfg?UX@QUKE?A9^lD#f#N~? z#O#We;@#fnfi+E2mOJ}wrshqGoR)ba&qwH@tX=rEmHiX;LX6mt%7jT}nr*+Cf^xxH z@Sd9_w+}0s_dgOD7`B1ygJKmP()cX0HE43nIw*I<7K|)%@vzQRxi6hb9{7G-EU7V1 zT~g_%3fvgKSBEI|{DrG4AaeQhG}uAR_MThVtX=K((Jr^XTQjXTR>Pw6hf%tYw(g%l<0 z`WA_3`K{RlnazU~i5kCc} zH3Q*Equ?_l;0|zsrSJ4~q@^*C6~!jJ@DTwCMD@^*TsJArFd!FJEI|Q6S%Kwmuu{qj zUZLKv?_t*Ghcj+FQd5AP1k4Cz?IPL|$a{-*^##IP2NJ&^PR1Ox3Mh3DanLLG3J6Wu z&s61XHuduA1;9ul%DIeSsemhUZgy4@_K8A`Tujt9dItU-x%i(zi|fJ_4W;lt?TZ5< zU|TJK%?M~21A#`J>8j|A-1mPV#0MD%7Wf+gw%SGXMF`Re`cm*2Mrajg1MXaRb$J$^ zDF?B65T;-OK6ndC%sgI{OUXYL6!L2Q*3wl{pTcf*QHK4Mb!ederXbxP&U&=Yc%LBh zc(;U^kNFx80Xp|FU6KFn4@`62Hc(bVdD?}thQuu+3p1h0L0<le}_fN(|RdstYQfO!WYl79v3G{NoWTy}iwRWp}46q}Hw z_>Gt(3QqZm%#*izMi{5ngd59Ua7J{$t~8!I?~&g?qkiB%d&*~)hI0WW71{3%3P4ay z3>Rodf`eVXQ0u=ySP)D(xw?XucL>5?k?m8(e ze#f{Imq}Nk$$G=n3dQ>C=iJZyW^E5JwDOfSh8f`qe&|VkY0~ypzRLSV;2MG>_xyM$I2J90h)UXG1;`TUu)JP`5H-AWN1|hnb|*wDM2K z-NiurPue9$ehqsZMt;ux=vWV%m!70rlk3K8iJk3^yx;b6A2d&=J{5$9h>1D7zf6iF z=uvQ!mdm9_b;gcazqN*r{oV_^KQ`bzaCgs!{-*c2cCi6HggHT>V3a40XPRAIeXUg} z6VLQjj|*zM2jw@z8ni;;0CsGl4x-x)m&7xvfmfQ@u*g))M>nF#h;c%u=& zPt)!PYtYAmUJP12$UIx7YJ{3g9^G~uH{k16LExd=0XSGJA^?$JE>uZ_DyL@M2LrH2 zZF!lBlCldZTnEVGQHD2*=9W38Op;=wC(auz#rUEO)k5~cE86?`I7LnNEixqy0|UmN z%?z8V={x!5S6S-Bwv8^3%v2bCgW%_cKG@mQv%R%71cr?=h<<_F3qHCZBO{4m-q;1m zX?jHTwnr$t7o0JeBdyXYf)u#Qw^FzNl-n>mY&jgPPT~>n<}XOL zdvNU*FI-ocMQe9xHgSV>cGu!k?Mx-E(gScKLe?~cZ6?=LNorGS4%bS}SFdsUITCHx zKlo@nQaDs3<601=z5Moy%ly)pc4uj$+WM{@O}_Cp&F}ajs0-U?;YGOQ1C3Fjr<_$O{|+lec?>fs+-3V!2taR92W!{0aFQ3 z1R4bztDzl*pyz^~8(DCR!~%eN2J~@@g13slsH){_EG#dR`8M`ga%g?^eU9p)`g0!I z(G0ll|JV!RVxa@M2^Ms7U2Y+xfy#AgEb>OyZZCntu(vP2gRtgE$MHAQt^;sumwecA z;82{R`n=0Q*#c8X8o_^BV-QuwxS8;ecvh zg+?s@V~HcP_F%=HqTi+u@nu~HVqV}VsZ-8D4?V4RTP3~?tImNfBafE-s`th98GQs0ilIONAUSk39-9gV6IT_UQv<3Ac2xeB zmcBmp*I&hAJi0S@UFJOrUqHZti;N^8DH~cQYxu!bNF<4*##2-_cAxCFHr@ZLu(= zk+H6t++(!l{>2tIqVXMcIPUB#GAnWvbN7~%`mLKor*ha5I{YY3-oWk)I_3Ff` zuAm;?pEO&(G?8yP>dTeAi?w1Q|M1pS8y(zXPvGv(5h_OM9ks>Rau4;&ViP`_3sPRc zrvhp1l`XooJAdL6dkaV8{#cOeYT~q#CDeB`Tx=IXG?V>Uc?h&)YT%xOrM*yVoMnoD z{fGXBfuBDfru1_2PGV5XgqD=>fTr3K`Zz?G02j3@+-C5sWI(Qpjol$k3$>Zj*w`2@ z^~cZzK{ZDIa3${frh91UEi_?e;GKh&s1UFY$rtfSNgmoC^miwnjA_*)m(DSe-}5%8zo%g*_9S#wJ1eJkIL0q;2folVqJOH zb15-8=01Zq%lzU-k*cnwYQ5?8%5%Sni*}wxJsgx$P}3sq4-6gcXf!S0 zqXj)Gj8z*qzAVdtQUn-NJdkV50(A+0fRNwt79zGuq|de%gpwZ28UgWjE$&4n-(Q~; zvav?Q&(o*f1{n+tsK_P>+u^)fwNqH|4I?1(H$%YuAywpcRgzr*dE`lQva_FkABXQ8 zHaw$)3xioD#-Q?=!0oV>zyWLNB#Y!x)ucr#nkK-k5IhDx=l0s|hRE;VkHr?zX|d^f znCVEPWt;MnOZ8}YTP0MRlHTNv%q_0ZYvh$p{;DZnv0uvmoH?+%bJ%A)Vvh=G+*RNK(uhNPl7#+A_xM6EcS$w*a}a9kgy2?$)K$U zF>P!@0^;}vR7zS?6IzcDCV504j>HZ?H-MPQ0L^DLZV&}Pt#SP?*v=LJiOPZU=;iAR zFoGgrkPt>JqY7?=;*bi+6oyU%5eLA-xJg6P3#b?ZYC+lkwfoZL;-5Qs2_s`-2oQlf zY{Qo`}-|DJ;+#Gduwa#<1!=-A%zJdHY{1-33GYiR)x)2h59PsXc)$ zpJre|;-h>7_Wz=P4^YIPAjDXWuS7>A7l6GXs1p*56B`?QjmFF;Cvk`j9T{zm^SXz1O{ksc;}w^!-%1VM9k$wt-TKgZyJ&v8!oHAu3Z z1{0x$M1rlM0D06~@scBf;c(U%!Se~JBJ6Mj!o<6}x(e$y;3-H0vV~BiQb6(vLsthc{4g9PZSMt`Au9lf0;Y*oH4_7x6t_cC>%U*wz_sToPk@eb?HXd_ zPqw#~kU)VHg6cv#amdt$J`s>PdH~Vj1}*L`r3GLLh(FkK3;IB4r>#J5bPioXvD;60 z*Q#)1AY5}o(`md&R{#L%@Yk=K;hiHUo+A#0Uc?-J21JBL!ejIS?o4=tQtjr;`um?g zygGM9+GrSCp(A&ZdEhQW4Z~{pfM^lSR`5<1G+9VQ;s(6L3o6`w99XDG66aWc@W_d^ zKwV!nS85CP@(`UeaJ7VLam-nEeN6I}mBm7QjHYG%1)3ZIR8x!ammnajzGHnWRB#=* z0S!M*o-uFjJ+T+M_Kew&cID(pj(wi^W7Cp2CxKuT<729E@NFO+GrWJutpNTu1VTbU zbNIZGl!<}@Bm@Ncvd}eRzC~h${UE&wE^BxI zU`==B5)z$E!!fHEd9(GnM0cd@Qk*tl!N)b zMZib!K^=zJI_2UMtP0dUZop4jh%EJy&5FasxwQkCZ4<73&?keg z72~Cm{~srj0mmO|Wa}f46z6GeIxO#?@i_3gFl@h#iv_mn1iL%?9UUD8B}9~z3f9)v#p4PItZ|GzJ4VON zEiH_r-r(z+ayQ6V%Vve6n7-`uG(wB~ih)E^MyAIztDWISpuJU+l;oiKAqp$|FMsPn zfiKp~*WYr#jLd;9wF1f+5>tl=ivdemorZ4VXv29Exk4Z(p&d#3;@YY)<~C9UGl2B2 zDFKhV9(e-(t`w<8@tw&@XLUl*E`3n|FagxKpioEM(* zbCWobp$Rt&;++M5IifO!YKVZ$vGh_fa%2L2CM=rhfR(2Heai33y9~kvAZ8ixC2_cg z+CVwG3)eOLFZUEH1cad%qE>86|LN zzk$&h2`>TY|Lt-WO;nvPDmI#2e87h<(pm>mCy}aY*@St=gs47W32?z-3LJ+QB#YCm zx<|5#M!?I2T~H9#j?oiy~ zh-Wh8ooGaL0(^l*>0Q92gXgNG3PcV9-_()Vo%a5HM33b>xMg@C-==}%-~(+j(`TZU zZ4cx0^+q&to}1|oKE*7bCtVvsVui>KAgKkmODW@*7(y}zd;;^3-PO3gbQcIE#Jn|+ zAP%4|KvML;Jn9O?6KU4If4>JnLR6HS=wx)BM9!i^V#Wh`1%)~I6uGmw^z&gi37jNJ zP~_==-T)AE7i!n731N8WP?o8ZxM+1gJ;H?Tk)5DH-%!x)=+*DNoP-S(%gbRUC62}3 zwUAfKs_^EFn2hYP?HZRREiXeLoVxM(n6?Qg5AR<&2?(bw|)$Z9g@ zM_>W%s~CpMOOkAqi^vXt2osj6Dqx^I$QXU#%7;m$O5AKOS*b&_il&Vs{pFTsoGR6E ztm2EG3-8f1exjR|b;-rYmQ477jso!wz(ueEaob2I3}p#9P;kef^8zRcTyQ)5v!Cte zdPk^MNlk$zTZ*Rd;G?}?y^?`S-FMX3$tHFNhB@wFYalN^z?=^>*u=4)>%odDA~686 z6`=@#3`0!Vz|;{_Q}@iagds}{;6*c?`@Cv>_kEFa{_zqVHzdmlTr=RfF(^-mMqD;) z0NHB*z#ftY4qAmabAG@HfH|NB5p}sDfmkZgD@f;p?1}?QB1x*8cO0cd2;W62X|eX8 zE*Y{XV2nT#3g9Wi9fm|CseO7Ba#rJc91?42m(U%dMo7qv+Abws`C-C)E9l*y^1jpU z_e?U)Hk`LGLnB!^k%LRb-g{lfOIlbWexRda+VoGk`?Y(HIT>i*3dAI9kDfc-Bad|) zJ!!B=TkzvKJKStsKKkdebw4@wTL}Yp9yT`X!c(o@&A%~dnyvI!6euzket|QwiGGE5 z64}&4!KH%40wdQYECvW^HgU31+6G`7W);9w`b6DSb9%Vn+LW1fSVatGwdIY*CfU?l z^*jaO3_u`LILruGjxenAZFpe6=musJTIvNrpR2d+Jl2L^!kD`4l=rr%S^riLKlpMX9}G@%ua*QY{5d5S^fp2Eok%?Lj*i5ELcEHA(bAA z13(4`Ya<+Cf7Jo^p%C-=T37|%yk2gK{)`MdVDUZrLVN*ALK;z3suKW%X4co&ZRw7{ zI=f)quaRfoBNoqk|F())zxihoJlrpV`mZs|)qn4QS`s34^O5LM!~6I4#g(LNP(XO5 z%QVqfhKLRx8LXy8%w}Em40E=J3k6u(vB@_voCJ0kLrYQ`%`xkJ-DS$gy{vu!JT}?B zL2+}y?rxsPwM-)d5w4CK1+760-H@ANEjSkuxOQk#k)`t`T#t*~q2A+3OhLrwk)Y<8 zbAwwP9JbdT9<}Of%DL##7(%xrMvmlu&prBmkxbf} zkEUUcPJ&%tG{KzbBMzVe!VtkjL6kKgUmQ^Y0ZYfi5(?)Pk)Z<7u{D_1%M+1lQqis3 zr4qxFNoQK2t4c!37Sliv{zuRuAl<2m=av%mBGpc_Xb6)Jvk>AS6tw#t1sz5yjGMq{ zdG&>q4OqKzU4jX%3(+S4K#edA;ICza0De;-Hh|xwPL*nQ@T8l5+!fJjj;wJ2bdJ04 z1x%-i6$GY=dOLmKH?~BkA!Ws&1ZvjmKQUh3Sco86PoGEpS0HT_o&v8WF8mDj%g!Ou zvLu~O=A#-5L~I?AoU22>hTR4S1z;pGrd7dpn40N8Swt1VMGt4VcheEPoY!%8Bs=Wn z;xXb;&0Uie`lqJ}38k%woCf|ihX2Tf8Gy{$Zt`lyk_4nE-#WTD4S2~^w_C$-mU;bt zvKsj`T)Vq2L%(8PY~1jpdY^3Pc%M1b03*KTO^fBS%Y=;Ri#q2&Mdw7Gaiwa^yLfE! ze@E6oTwY+)H#4(pi4rmoMHLjt(QLgN;=k`~E{?L;EjzO`AM(NGnaVH!B)@ZtRf?38 zTLd|uKa%+eqGl9)crEti(cTjVg|K;A@__hkM}v0@*d`=BJD4!r5ge|>KtBl$IXBNX z^zEofI=gG4Yq$81>8!6(PM3j~y8o1c5k;68*wcdaUPx*XET7qh766%&I!2qk8(#JWQ#jqjrTZkvtSFCaLhy*h`Oz*(`Sg_ z1YX_Rmmzwoh}?ZRwpw;<%_G)3arfn=RRO&uf&9op+Ye;7H2Q1HR`*9Zb-t32CZ^`w ze0AK%Wt^spFeOY8T1GFv!@_W#;jzkx&+i(+cCVtO2My>{s=l_*qF)ad=n*8~Oy1jf!Uw4i2mb;PweLkIub>`tlcD2*HC z^;)Uf$v7$Nsd5UJP~k$;8bTro#@Bx=?yjG)MWBgtQp)?S_~s2*ul)VS0U(+Mq(s2W z2{)Q5-TYf7aP0bQL~>c^%9Om_vfEV!tO1b?17IneMFi6hjI7eIz4T9&b5`NU9{~1j zD~id-Gr>dx<3}#cCv~tg#j|rR|NhMuSWi}R<)visxhO`QqR{T~#jD_%A+BEZ zJ~@OA4o2Ar1inM}B^UC;g_bbmQMPS{0p=H)W#Y$fG-0Iu!M4>SF%ottZYF)K=cf-p zvaT@}jdo*#&$7p|WpeVOjBvZdA=ZLF#bvU%fE}a)0MN{>`xdsb*RG}ySo_hfE`hQM zc48^O>_a1hc3!0_=zAGS*hEp#qpw|LqN+Ke#L|03)b6_-V{y>&iPN|y=$;X+M0Ab2 zurq7uahpoE;hD#I>7lP>&$}PFg`;~tqtl;UkLmb?Q@%X#&+Mrf;55FZU!}18S1*zf zUY>nw-TK(8rdGh>p8-{Yf~^8O4*}Ji7W(~x$BH18xsG2Oj9OA3$Qe<0HO2Z!Az`MK zCQY~OT*_8@#B?l^VC;O8;8&_xFzw|rbu{I@xyj>Pr`<=Q@dHm!jvo`oN~4AqUEXB) z9fKLqbW7*j;tf)Egf#{8grSKor^uIAsj8mFYjVk(3^syVF@^qXE0S&+uC$TRKyzpVid~{_nTQO$)3n! zoBjAHr~tAKWT5-Y*Dt{|YpZ+gAmVPTn zCyDbc!K~dZ<)N97B3U2vko{u&^9O&crZ) zJ>=ty159K9axRhZEl4HsT2AwXOrJ%7IuWBSh&#pm-Kp`ffxzk^AfsM0W#Yw2OE)!P5hC4)oyeyR0X z`)4b?aN&aoWp_-|?p}{UiDsJXa9H(U?&0Wi?6@cL1xr^IXT#Be@D3jPUPI!xeK~T2>1!%6_UU zE)YG;^|TA`GQ3vdV?*%i(mGeh;qv$Tvz4Q@9h z-?R#9d%HRAKX=&dc$4g9NY#lK{*^z8jOqt=r635+zrlW^AaA~+@AuG`Geu6lbD}#c zALnJ&h}Cm?tPZW#CEd_LxI&P`=e>qz{xwE-UWQatl}Lv0GPBAFgbV8lXu3`OOnU|n_!rXm1FX2 z!yZI%qHAf8O3O>fVR9SS2G-VI=W*mI%?`vyl??Rq_Hq&s#sm^h%EP43mcsFy9-ls! zx%vCki+)M_TQ~(bq>MIIR(GD3>fE@x#8zI64ti&@Kj%@uYrna_A&9F=Li9?1lnjGj zdveb=E>$6lv%A=J+D_?sU9<7U`ODB$)i5co(m&MXwCdSubC>DoE-Pr3h16M>ySL|~ zKjZTEcto5nm#C)DVV{6Z9Rw$!eu)5L0T^~!5*frg#BEg9fdqGcwYdr8NY?@gnbgn3hu+Yb2T1QQ~W)MLQtz#pwuLS0c)Y{g&>81RjY^`vfx3h zeUp-Mtzcka{qW@U^wWPUb^)h?I~lBQ&=x_)$y-M1JAnMu8^r)a1IrvB#tz~$=hrqK zIM4m89rWZjs0!fheias0`_KwJ^MG$-WWX3y{FNGVETUxR4L>phD*~bch*9v~0~a=5_h`wC=)>Z{=$g`NJRu zm0=Wq3DRcE=J>6zUpMi`EQVnxWy`EYoMXK#VJs7?u4ur|&*t#pABA*?1ays6EURiH zHqFdgOA`evhbb3g9#nZ(WsTZ+XR3KG@fd{X#i8V)h5GEXlvl@|k(iH|STn&jq92-Y z#*T)xq{5Id2SSZ35ZeR@VAKG%t*yTg>k1LeqV|+Id{$8Ga)59^+RV?NnSja9WVO7j z-IW338>lS+0ck~sft!}#=|z(8u1@=2=IMQ7pE3B!qhEOo5NQCAQHiR?%#qN%uUme5@ zi(qBZ1UE-2lD&be)*YYvAw)mFcuJZwl-p;*zt$<3JG;6V*qre=j+9f2LPoVzr>Iu| zC#XU~_uG#BnblaCE7|jLkA>DLvDK+UMmkd={qlc&e^6>G7%O^Y*H@NARliZj;=i+| zo{acr?65HW`YqFx;7!k2;(>vl3Wp!_8t5~A$~Y5+kE4FJFgYWMUr4$Q;3hkONFgK- z$R&|{;!`T3dCHW&4hsdS z;XeTw&=jT+L|h3m0ic1%DthAhqm_8&elHe^=-K(_DhInsc;0z4OhLL!2^ zoueavs$ky}$VjARWOm`2 zm|a|yfyh-DR+;$thyY?jzFVl9`5O7eQ&Usm*Po%aKoM2uD`B`nF+j@XC4DoE&ZJDI zIwd}+#}@T&@EhvCrk%gc$0Ag$|E^KM8uoX*{#4`NU-VS=Oz*A6XB%A1qfyqU4GyuEHD(6DWZr1S(EwstA93bfsW&`#^(FFySBJ?;<{a3%(T4Tf2oXCMiL`5 z*|SD%caQfi4*xyztF))r<~GbeetFq4_2Sw)F*8WA{2Gk+@kMXWh;i&QA;yOiW&P+A z8AaFuKFj01*Gl7k%}wAGgQzVSGIE}M6QPZVTnNBUCq{bQAY>VKpTK5fT7_ipCol|x zcN)ZWfM5*yd@Cn+-(kRr#Ir0~yN1&E4x>56~-;+5-0oN|nzcJCa3dFQi^HBB+RF)mFqvYrR2qVY{KEJ573fKs>VeeQScHALZ|Lw1!p}_@e>COj^jWLrfSp&8M z;bUn_GNYMeV}$*<<)p)cYrhL6cZntK|M}pIf4_*Kyqlik(<73hN4te}3riO(#p&al zPv@Bh>_{fapVC0ci%fwvY&($l&IdyECS7~jVPpeBHYAe*5#qoTHmLQ8hMR34;<25U zeo>$xObqCMf#KqwM-Bm!z6?*(fbz1cAz%@NjBk(9q#H7N!bghDCtl{}J zy)SR9-rtiMw81g-ebUOdn-hm&|KdNxp@41I+6@Ksk)Qh!y6T!j3DMHUFkw98l-65%|31=7LJgCI| zsX!&&Y(fXSDZ!%xauFHe>;TrvhR`6tli4utm@5z-_931^Fo+_1EoO#&Xh8$q-2%h_ zH6lZS`xb1?(Xvt?&94Hr5JJ|0Bm~KWYuGN7EP)g#hn)9p6f5r2?PBcQcXUqd&qy1@ zty{Y<_j2+F zU|m%uD2s=nfFYrpFra`hWf3&Qz)UBjv++PuM_^ztWuscQ0=<0vy0=#?lK%<)q4{*f zi-V1^w{VJpX$MLSvXJ9|J0^tCNBGKJpnQ=A^261jy`?294=W?QokUfFP-a-Pt}RbF zghZaWO#H_6N18J7ipwEWV$OLc(h_|7giNo?w(FyNEFa6)NG7r;>h4Vo8&r8v%O|jI ztp{rnI+XY*Pn(Ys%pe+hAbZl$a1Jeb&hzNMmCYeY?=+uUa&@#IOS;&HF&WC8PaHa4$!N*G=~nIiVA zx-u3aUcM59yeop{I-9!x4j=W>;8nkRfGJ4_0i;lS>AU$6RW0y(vbjTx?>3|dDCn#G zFGNJrh7=2iR$UfO#_ffGX=P+=u|PpsK7NZX7^f+v49+nlu3@@t zt}*L9{ytO9&GQtZV3&Fgqr$?#cl|RV-_^VFiQ;=f-&?68p(B>)ooRUMLZ$o5#@9Iv z-x!K-Gl|qNr%yE`V3(Q&X%u;td@cwln!wbP>2!nQ2@BwVCev$rl!zNgWC`TGzSQd3iSZQ z;oTpCU|kiH<3OOqG6l>dS=(in^`Mhk6$;x?)o1<3z)mQeA@8chNh#{{O843;GUt;z|e|9^s zdlJ(fzquXwenj)4_m?s127ZWAB>GVBt?a^-1df|s3-a5lESwm_f*6ugSC=oaxioLI z#wo8?K4+s@=xd9fHmlUhH_XLXJzO)bU;@I=VQn;KZt?PkWI*3&5rp-9AN!gw+V^lg z>F>7!RF9g&jaSVJy(z9_UN20^==*Up6#;k;eF6QI*V`vCn zLto3k5v3rSxVahbpwK2${{%LDN)nuyp1J9eh{;cx1L3{6eB*83EPp#IKP%Qf2>(9gKTB-hLkyE-3I865D7YL!~wz-$$N*$FhrY%NEsjm z(@LBU>0+Q~ZGqo0FzfWsf%QniAa6lpe&LOz7IAYLDYJ;wS!mrH-vd2f#w4h)FyPStSilqCuVYSs5>#UDiHyiRyD7gZv3H* zLk*y#8{g=?e*f&FDq-vwq0w!W@=5&458J36y6JONXBH3KFi^*4mGEln4KwXM1A6?| ztHz593)o$Lo5$Bb(bP1r5N>}*tE&)-0+BftBY~ND!nEDoGPwr$H!(m$m|cgn<*zZWwF~L8MV2 zUjy%?8$@R~EnO~U(-_7%JW8+YEZqEI{dBQU9Wg55SbT`c zbP?!zv>5(F_)0vvuD%0bw|VO+FC~qWyh#P&ExmYpM_l)U)jvgaI(fvpaqKD@==$vU z)$&zqh3?vpcE4{=!;)8+(*(%lN&P>(ervHfQVLDXFUnyNX?Z>>Xtzpph%_?qqZ|2# z=!d9Tmg*5n2d;gyQ?2(vZ^Aml)e|4bdfN1UcDMAFd%m^vJ%5uS+J)e{4X3Jjl8F*pt*)qW$=g`W?dNmS`usisUQ;0+!?*9B~^@! zAX$=u@XT%$FY`33Z7azajgeaqJi9lmeA74@&&XH`B5GA5IXUt?T7?I!UedEGmn0TU z_;@YeAFiGUai}-I=O-&!F}&os#UWKN%>xAuc|Ns2N{$sFRUF>0jmg?%s6DV(;`)7c zAH-RDv^^cuGMfQye1PjGPw;UO6BEOb-QipeJEUL~0v!dcX8_wP5=08kfphi=qN#(A zwN_LKNDM@xT6grUWnjQ?=jc2Pr&v%w-u$a+go$v2%2-E!=AD1 zSgTAm#y};x_Q%muEU27H%>xHpH@@qJNq2{E7!I0|zyGfku{eTT+*ZTmEdz4I{tXSB zdV-OqgU?Jq#*=>r0Ed%J>$FgyiMrp8Mqk>G^`g}aIhVs2Z8br?`En_+vwLu0N#k*76p-#gIL3kPSIo(`4s zU@N!gmRYyZ+E2a=u1Tz;7!(d-pRJB*eEv3qO87+x>1|W5daK~aqH1?6Bhy0c{6A@B z#}B{8?R2M2ll}ang;;}Uy=TyoduQyo*Ab2DZ>+C*nj3K*9QA&Tq`IoRyLI|E>%!|g zYOkSS>u~XBvd&ogNubXhb)S#Ass9enRv%UQzW;#LWwvM? zo{k70=Huh@Cfp9x=KyfJ_S7SFGfiYfb2+gg-72?N>OQHaSi%X+-TXi>jpz$*8y&BQ-R_+ z$l;+QuBxpy6QtBFH3?k*+uYoYfZyO6g~tI4o?L`GVME#vu-1funSz1ghs9GwU<~@? z+BMWmHU#n~22LqDK$f`d&yA8@4Wd&CRp)!wP8~P2YJ*na97Ywe>$WxvcmCGy%>f~0 zkzs8TjJJ!{@7*Eh8_E5J&I1;6!R?I1oN70hjM;mT%1nY0L=+}j#19KZeD$6bBO@bB z|451~q@LDf;sMG5;eMeI0SIOmS(uMs$HXi{+5{pgNA{}(4ADWRfGepjBr^2psWO6$ zuML6unB+faXM;c_s?*#Q3A}@SDA1e;yu3U=+v?EIe0MFLiP-aSiSaJV27cnUe{EOL z;j&zh+m7CulaCm6P#E8~jaKeZf36ud%cbY-kB+Bl#eEaCvRN5%q=_LPw`H_6eZJ-& z<(`FMrI4SQVp2-~EB6|rt-F}zJEGxH{`mV@!of?yfq)9<*C*a7JA1G@BdqbBH)+ic zbG=P$QE7~sXHPXtEoN3XWi7T{bRGXTCuz2;$F^l>&e6`G%bB>cV~G{(6!8c86MOrv z(fDtGX1-z!EC#iTpSpW`xE|vr(P0a(dC$$w{b_jd0A9Ne`b(55HD8BDWruGPo~UrXXQS}npR|EB`|{{Gdq7W5;5o0tq5Cu}aFHkn zge9$hgWqYR50wlFN&y$T`Qzf7IROC~i6>%0sG6GjT2r)#$`_|EDGT&U31WhzQB;Xb z^{6(4J)-}TqVG5j3D*ju&rsE7cuEnvD(r)2_Vt}~uOO&VsLJ(AV1@u-9!cDUmJ|#v z2-%11YI2^#0K=DTk_7~vtn10aUKdb@J_i2J#Z4X~_xl~lkbp{E%Op}^hYM^CWS058 zq1uLT8o_&!tPLc}81UkOfdQ~{3@jRgLj!7bF!0h4x{7;ydKHMN>L4l};&qD_t`|6R-HKb0dcj&0>R z7;fT8Df^F}gWdSTFNBt03Q5h@aaK>Vm7mQhV4vO;k;$KXsKI4i*I&FJBi-ASU-+{9 znDMni-G{DD*G|C_vLIPv9OmWozILl?V@ZeVa?0$IPU-rU`+vAEWr#=tH z!tQ+_Tq2R(D&GK#dU>c5;bpCnFpQyL=Tj^^AB2*r+Fj6dr?d3FSM>{K3|&co>6`Ve z*w~bK1)Q~Nk~i=)We8=Y2|P>n;<$dd4-&=-GUVH6wUvl;C_ZO@`ta8^;RhmbE$YIj z0BT(8Me*GI2nT~gcSxMB@y2Uv9P zGtz5l!zhCH;Ha&_?uuEqkrK0fZvSu)B&SS4ZD$htiIaMm9 z8TVE1^R*p0b4CSXt<<#12cFKeG54h>&Hi#}sPe7dt-AenLat0i|E?9|j363Kxm7Ui zQoRsmr=CCOzNFvgj+w!wUH06_mO7VH;Ct&;u`?VHulD@cLuABWF9(Fw2Dzfvj)$cHu%gu7w`z_psOv8v z89y?%n)xt&YI>IaNcDED7Z;{XU@WnBE;>mZj;#k?6ZMsqF3-*Q9xv||N7CU-vy%t@ zHNN$jrYj;i5?Vn9p*_jIbs#{w5wX&UU*O)IE9JI8F~D)o)YZ$70lz7yk(N1+va`%tVkT;{Q`^Cy$-t5e0! z6K{xE=GgOFB4DmPo0&}2kgKw38&}_+xTM?vL>JJD?uO+em$Isqv0ul9Rv09UmPTfM zm+p1OzDGkt;cVg!wciaQF%NoIdnY5$Hl8WW3_B?hw@ab8XR zbKQM??jx8!?H|)V`FZ)<)*%kp%LYkOarQ9pa?3LrtqY#?;0pYK#wYhT({X=X(BGj- zHC$S#UQfU~ zea^8`tMEzWoY(njUs?L{%2E1N*zD@2%&$P&{@b|HBOVcW_lIIM2=D4V=WpB`4@~Wp zi!Ml%=qL2uW3sFWDTpI2PZ;coZ%zsq^A38O+Y7M|18WDvd0Nq>gR?UoC%3cj3NxbM z>&oPIZ>FSMbWFC)YD>ex1#CoR?x9)$t}NcIRP@yNuzPuQs+znj!oGWg&SX4%HV68g z`rkr>!`}2~IIAn4`-c-eH0Uj^Kl56ze=X=$P9w=2QDM2My)k|DfKj$yCGGu)_2@r} z_~J>E^%!yIqXS{IpooD_PXr|cQS-{9*u(9|>Ox=>EGYGO4Qt({-zM&XOf{T_>hi@M zAdPSgMZRU}$YF~=Ka2b5x!r6nIJlH@D}lope`MCAk2{wE#2Y4k4dgX$UP*%%3RyZg z+Hg|$FHwR5N|FP+M+KUS>27?Ne~5FR5hcczZ{JL5lbzo0+a@_&(-Th!O3Gf&J)(5| zoxZr-a$T^5s43%(ML4Ujm&~(hyW|{?M8e7|kEHrWjOJ#*>B|p#gi{j^={mYA6%umShj@#-@rAxQ4%`UpU+%Dl1{S!dtV~m zCHhvy@lM~C+&e-@#BTBGQ~jZ4$C|7kWQ$C{E+a|>1_ANwlIL$NP1sqoZiN-il?pd) zqK-FAZ#!Y29{4;oJR|kViX;2i(3IoYXtuxPXx;ynExrfTen|_-N`n2jP)MD1($LDp8(({_p6lzt6^v z&%RZDYteh&TvNLBg_U2EL=qzfjsKC(b@OfSV~R%c-Y3}a=oksHA>c+@eye`j&tCFO@!5sXg&lrKD>K+B-hQ9D3MV!GvUHf7-bzW)YkYa4Z3Jn}Soj-#b1IFW>8_v; z^Su|(I)_b=)sPwfadO|a#>&EJyxw!?Z=vJfMg`D!dyl#}j`o_*RlGcU#VG{$7#|5C%J@qZyWjqi1%aVWw@VtkcW}5d22kROJk`Z${dcZ=)J984w9W6%MUmLpyUZS* z-tSVy4T$KnWl^qrB@D|i&9YLBFZNI`cg`C5Z5NzA5IqZ!Zdz{NwE5xSX~LV*y#1TH zTN5vMAcAUV-u=w!J~dtb%<9C?)U!T8%3R+^Jg+)q@|2| zsl0lMMfWrR<_(k@63OG%BNk`854X@^B0t6o7_$DH6==;jUtF*h$)oMEc~_wHF|+IH ztKIYM!|z@zffolX&_G~pU`V)&;BZ%)%MKc0~@a%|oX6WNp z{07aW*HN|bu%_1TaO0B8Q1qzt+2k>CEc%4g1)k{LW!))qZ$7MGX(=hOM&AV++30$V z;P2O4-TzU_qniHsCFq0Zb zR%`e})n5%FZ$Ee_)hpi-DvU!NdyU(n{Bs^}X7425X6LE;a@#x(9S1v0@T(D1CYC|v zs-d73+aLC86Kqp90#4l)`M9eT&5@BfULMV;zqj(1(rt8c``(CdRSD5?_$BNAsG6Nr z-VUhc+{8dZ6Rf(xFi(8v)ZN*0w>-+)#c44yd2cr;dtvKuE1U_7v&wDv{LU?1&I>op zEN+@>Cx1YV`QmKRgg@+4KL70OGbM8IB*)+W-Bb16Af`g+Ed>)+M5IF1;*yX#;PW;$FSFZ))~7JURptz(A>Rd#5VZN%r$jPeI@5ba#omk*bV=JuZQm z+dXtFLkWv9Nf2c*VBzXVtM=YWYf5+o zZk87ZvQhDDtQ>!xPwG%PWv{2oWWFE>=+Ai?uFgn;;zsXAO84o>u?`9eUapMipsR1p zCZX?|wMhkB&OQ+limT~Kk8GZy>Q2_GYiqYJJ<+dXsNl)W$;@NNKnst+l|>KAxyOoA zj`omtiTBPULopSxQ%8la?vC-~n1aADbJNY7Z9?g||Hsu?MrGMWTbq*Z4(aX==}zeo z5GiSpPU-IM?hugfkdkhZdTEgEZaACsjq~RlLw^X!falrwUTf_==QZ~~=|#-aC8lJ3 z)SVP77n`yS1c? zKM7DLueUt5S!p9ESnA;@uMV?C9Z&MhIS>+#Y7^ZS?f4lHBoGbB1i17S7lzzKHH%TS zI<(c09NrH%AjB%`i+~e>Pfsy8u8aTmVbR32r1mMYS`0}=S5Mx^2!nTx3u|f|Qd7}% zU^cbhWyuwnRc}P1>kg&vXlE-H?@zUX9qiR%-)?TTpcl{2Z*Wdik3GNEeno=Y$W51d zfIs1|Z8L(cMOayE^`;c@-Q)e(_9Snc?!pK}l8|VEXPZj-<8R5h+H@=*(> zw+D?AYSN2cZ!WKVBGAc|f~RQ97|A0-53ypUAvADG`@9Xr%r&se=yuN{` zubaO?B3q?J+1<17M`>v3Lb2+3joI~H9Z&+9gpVxpffJ7vWzu{Mm%yitV~rFCYN z9UU=2P7$C9C~|Sn)d3F@EGl8I<|oCHwvvp1=U|)FjL>pRJ^LQ?XBWaDpY*XSje%(5 zH#B*`+HOJRKXf2!-Z&uOWXJz`_v{n2wQ$Zuhz#(&$*+RXRJ^NR0&)llPtW09WMR^) z9*189^+i$*gyZj8_)7FXgs*sbYS({9DX@@CpgQ?=iA!>S{PpSLQ|#HO!Pw5$I|X`1 zW~1Q(>P?F?q5 z{W9__;v2O34ELwh4OOWky5TREZH^1=ciHuK)kJRu6nGe@2h^GLG=o5If(=(roLSpv zbD6A95{c08rK^44^^MtyS_};dt(&mz_sjIPmy%~^?v2%{S(!#k^OnaIvD90RFPx1j z#PPZ)_v1I$Yd?EB87XmrPw(PQo)``+n3#P@krw}pR_$VGO4*LY(BiZcriA|uPt+O} zB8FmtS54=bLU^R)mUNib$pBsS<|~H`=gua(7nd)&M|-onzP{4w>LO_BkOECi`bw^` zv9S{pvOa#ap~yR6)ig0tH2iON#^X5pcCpR_TENwY7VI&R15q0w3RU1F{_e?##=wEz z_jyS~r{T;y=l(R(tJ#B*lBFXkqwRZnxi#?B`xcaQL{uguCxZ|kWc_Nq!0GOF|7S>2 zhz}p0DstsTLp>keN)vt&h$=wfo zFhfv+-PSyE-BvRvw?FACdFdfHkNc!qmnd()Jf4^h<@s}Qx2Ai{eA5$f;!ic;$yr_O zbbkt`-EVeA7#02!Gq~G#>g3duhM~uK$>4Llx8-#`&VS*$%iiMad-Cg5zeAriy0LND zb*-;bzdh!W)IBbC%{LRy$A?t;>2S@f*@Yt_H9U<`h3H^Rb?k}QV zaNj)nrN===(=hCs!A2le5+iS@5^Mj`d_{KZtNFVvn|oP^I}vOj?6RS(Pk4tn@z_Mt zu4Xp0F?a8!txKO|uvNDq8d3BgT)+WYroTQcm+>8&{>vIs2MB-FuEd4CISpRK9gfQn z)NZ+Qv&`}=`_~s+G11HKvWj85lfHM{I+i~yT(;?= zqb(XuP0UTtLf2jb7TDnA5ZIp%Nqu*EHzdMP(fZ2Dkx9AYXkTw+U~fjrIX~psu5ftx zoQUkNmC^iqrT=d$nMH)LW# zh$ltCn|1@otwzotEUa5q?RML_zK@jBa^2gGoEC;6j^A&^FL@mAe=D?XmGT~pFqn4- zDa>%8OJNq;Xv}#c++hb5D%5Kfd*j5Si^w~-L}NUw>D1bizI3BiZ61|`_jlp*I(>a+PwIfqb9(|cGLuRb<}1`Y=7seY@6sGAP$ZqS|u(d z*9dTN38qt-SuY*NA!8qKJt&>_0!V!<42+3-)(#~guyQy*_ZyHZls-FwLt3om zjCH_bL5-1-(A0qPA?R8|3P>LQqy+4Zcxu|(Bix*&5QKG=WTTEXCkEZSNbA=R|Gf{O zV00JMS0RFA{G^;a5>c(?wAYPF^Tm|_Shu$-a2VMMnYjM8FSb&mbxj8L8;fB}zC2%D zR^AyC0F~siOT9*X?fqXQo#hjOt%EEb|7u*$WFWDo>?8 z&k!(Y@30A1e0qBW7i&m6T>f)#e+hy=-wNV@_=2D+iH>qiBwYSrJafXPs&ypU+?yPoA@jWvW^J|-d+S3xE&{$_4o8Dnmq`~$b{Sa|O} z*7g@wq=D5tkAw=L_(%AR-gC79 z<8uH8scGMC>JN*n`1jugmf@rPN=7Uq0?>6KvbnHWk9rPH5f?ft!jRzhvg@NyAV{nJ zWU75L3m>#Q9sh@f6}#Y#>hOR8lg7stlNH6bs;58nXn=G1MPKN4d{0T!gZ#%iDwvrM zj*N0LEizarrnF#1(dnz~jo8A1vMZscHUj;Rz*S0r(s1HJrzh)IRubp}f-?@se=5et z1+sFARNTzaLUioLY_cH1*_b^OLS&{YXYBRmmR}+Sm8L?5XB~VLEF_X;d{qa&BhW-- z1j2V-;fVGT>~wF`6k0Msv4E?`F#rhdE9f6>-Tf7MckSOfc7NODaX8K!XPSPbzj8mi z^$HiZP>DN+%lZ1Wi-nz<1iYZX0kkG$5g9LfU~>DCEO%Qp zV}5|Mc{jzSUEi7U%EH&3k4S2kA8znvEpk-G%=Kn!LXnH$pVbu96WN9xN4?3cFwZI7 zE}jT+zzRd-f9`xg68#PHrjJX?Y5_ zNGOUOB&+qE^!X@F`D0&)Ozz+DL~%nIeB`XOt~9^g@DFSpT*qd8IT{QENERVty=i{7fl=K9TF6%_Bei`ZW zV^e+He9U#$L}jUlWudmd<09F`$l;>taFQQ{P1;n?&K`Dn3SEeXCIt%;ffdR(nf zPX}!$dQNg2(h?Rj$2OwqhR&}Ru+FjTuRGp@7pKb|HANAy)!{!1v1&5Jb!xE0tz{r( zr`%>nM~K3s8;t9lN_m_p;PZz0`iQSkNntWd`>7PrVZPt&!<#B+z%_}@ z`Jn>C;dupvz2b)y77qcR4xZ0@lv9gk zbrG{>RMc}ys>Mi(bEYbdDPvI~B}4i2uh>5c-+P(-9C1An!aAZ@Y^$Qhz9-v#H!QCkE zV*xinv+NcRH+Ot)?plG8X`}8N^2w~eb^9DhS%Cvj0U&lp9d1D;_~>>4*x~u!KiKAv zZd0(b#sY)CcPI`WJ$-&zS=iXvSV}H;>^9I^{hga@;xhu5%mCk+x@D0et*VNVoSe+8 zm|k8EF2u#Xyq@F?K0(9|M(g}of3+RnIV2__@%_rXc2c=k!12@ZjuC%=z7?2sJ>_q&qKZq`32~LrH4bi4=XZ0q7YV zx&Z-NU3R1AlARhdAFSTPCfm0sFS@Ptf-)rfa~3+GaPYr5YXL7U+%mU!=6S5z5a{2P7)A_5L!IxrtXzM*@7SEvVw zEZ%H-Zvtsxs|WfLv^SEdLp^$i;iM>TaNT3M?O}e$T{@Hds2h=W3?+53SkLiCLSAjxx^YUIrGg$<2zhxLey%93f>?WehluRY#kuCI62N|cQ#!c=m<_t}~g zlQATOAjtWHrb^2y$hkZr8`S3tt@tXXZD_(H_zf&5H*CaaWtEZpwh>f5oj&KwWikZ5 zXMpBcm9OZ0I-k{hIrVMjtAu@Vu`}@Tbh4ZCYK|3xV^rQ>0GIM_a8 zo=S6lPcVkKz8(7UtoYzv9LxA-NiEhhlKll$h$J?E3(NgK< zxks4f<zKZdg@zAKdLHR4p$-I~M8*cC+*O_hd#Lj1wb z69xMveJcz?bjnU8AGtfc*3la0R=6`c*m|VJ)eCX*sYAq@lNfm~`J<~A)G5o7YtdRS z0+8CU5k^Z&zMr593Ox)F#f>c9HV5sc5zvi19hr-~S^eJ_Y1p{9O@g)@`z!^`%Z^AO zbZw*ac9oKmF%pQaG2mfzM@>>UoaGFmGQYRox4qQr_>t#)T88Jt z%_;7H`t9{r>io5#L2V@5j@M*85~|7?_Cvb`-ZWxBaLT*Fl7KuYhR}$^@bDT;Vq3^< zFI0$ttOP_gIP~Ra#_AhP0^4cdskykf!+Xg=^apGgZWx53n>8)P8T2SjrS|ZVw!*{r z63)2gmBx*kVX+N$T}6<5-$~_XI3cpV6ZzrFs%|;mUVMD+mr*rPUK~E5#x73Z-lyZ^Bg0f^6ie7mU<%#*VQEepxs4c?o$w; zd8O<&mVm7u*hp&}x8)fa8Q&;`2~^~8D>~5r5dVuEeM|8Hv{≪^H?XGcZ4q!HX+E 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Ξ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