UNPKG

@pulumi/azure-native

Version:

[![Slack](http://www.pulumi.com/images/docs/badges/slack.svg)](https://slack.pulumi.com) [![NPM version](https://badge.fury.io/js/%40pulumi%2Fazure-native.svg)](https://npmjs.com/package/@pulumi/azure-native) [![Python version](https://badge.fury.io/py/pu

651 lines • 36.6 kB
"use strict"; // *** WARNING: this file was generated by pulumi-language-nodejs. *** // *** Do not edit by hand unless you're certain you know what you are doing! *** Object.defineProperty(exports, "__esModule", { value: true }); exports.State = exports.StandardSupportedClouds = exports.StandardSupportedCloud = exports.SourceType = exports.Source = exports.SeverityEnum = exports.Severity = exports.ServerVulnerabilityAssessmentsSettingKind = exports.ServerVulnerabilityAssessmentsAzureSettingSelectedProvider = exports.SecuritySolutionStatus = exports.SecurityIssue = exports.SecurityContactRole = exports.ScanningMode = exports.RuleState = exports.RecommendationType = exports.RecommendationSupportedClouds = exports.RecommendationConfigStatus = exports.Protocol = exports.PropertyType = exports.PricingTier = exports.OrganizationMembershipType = exports.Operator = exports.OfferingType = exports.MinimalSeverity = exports.MinimalRiskLevel = exports.IsEnabled = exports.ImplementationEffort = exports.GovernanceRuleType = exports.GovernanceRuleSourceResourceType = exports.GovernanceRuleOwnerSourceType = exports.ExportData = exports.ExemptionCategory = exports.EventSource = exports.EnvironmentType = exports.Enforce = exports.Effect = exports.DevOpsProvisioningState = exports.DataSource = exports.CloudName = exports.Categories = exports.AutoProvision = exports.AutoDiscovery = exports.AuthenticationType = exports.AttestationComplianceState = exports.AssessmentType = exports.AssessmentStatusCode = exports.ApplicationSourceResourceType = exports.AdditionalWorkspaceType = exports.AdditionalWorkspaceDataType = exports.ActionType = void 0; exports.UserImpact = exports.UnmaskedIpLoggingStatus = exports.Type = exports.Threats = exports.Techniques = exports.Tactics = exports.SupportedCloudEnum = exports.SubPlan = exports.StatusReason = exports.Status = void 0; exports.ActionType = { LogicApp: "LogicApp", EventHub: "EventHub", Workspace: "Workspace", }; exports.AdditionalWorkspaceDataType = { Alerts: "Alerts", RawEvents: "RawEvents", }; exports.AdditionalWorkspaceType = { Sentinel: "Sentinel", }; exports.ApplicationSourceResourceType = { /** * The source of the application is assessments */ Assessments: "Assessments", }; exports.AssessmentStatusCode = { /** * The resource is healthy */ Healthy: "Healthy", /** * The resource has a security issue that needs to be addressed */ Unhealthy: "Unhealthy", /** * Assessment for this resource did not happen */ NotApplicable: "NotApplicable", }; exports.AssessmentType = { /** * Microsoft Defender for Cloud managed assessments */ BuiltIn: "BuiltIn", /** * User defined policies that are automatically ingested from Azure Policy to Microsoft Defender for Cloud */ CustomPolicy: "CustomPolicy", /** * User assessments pushed directly by the user or other third party to Microsoft Defender for Cloud */ CustomerManaged: "CustomerManaged", }; exports.AttestationComplianceState = { Unknown: "unknown", Compliant: "compliant", NonCompliant: "nonCompliant", }; exports.AuthenticationType = { AccessToken: "AccessToken", }; exports.AutoDiscovery = { Disabled: "Disabled", Enabled: "Enabled", NotApplicable: "NotApplicable", }; exports.AutoProvision = { /** * Install missing Azure Arc agents on machines automatically */ On: "On", /** * Do not install Azure Arc agent on the machines automatically */ Off: "Off", }; exports.Categories = { Compute: "Compute", Networking: "Networking", Data: "Data", IdentityAndAccess: "IdentityAndAccess", IoT: "IoT", }; exports.CloudName = { Azure: "Azure", AWS: "AWS", GCP: "GCP", Github: "Github", AzureDevOps: "AzureDevOps", GitLab: "GitLab", DockerHub: "DockerHub", JFrog: "JFrog", }; exports.DataSource = { /** * Devices twin data */ TwinData: "TwinData", }; exports.DevOpsProvisioningState = { Succeeded: "Succeeded", Failed: "Failed", Canceled: "Canceled", Pending: "Pending", PendingDeletion: "PendingDeletion", DeletionSuccess: "DeletionSuccess", DeletionFailure: "DeletionFailure", }; exports.Effect = { Audit: "Audit", Exempt: "Exempt", Attest: "Attest", }; exports.Enforce = { /** * Allows the descendants of this scope to override the pricing configuration set on this scope (allows setting inherited="False") */ False: "False", /** * Prevents overrides and forces the current scope's pricing configuration to all descendants */ True: "True", }; exports.EnvironmentType = { AwsAccount: "AwsAccount", GcpProject: "GcpProject", GithubScope: "GithubScope", AzureDevOpsScope: "AzureDevOpsScope", GitlabScope: "GitlabScope", DockerHubOrganization: "DockerHubOrganization", JFrogArtifactory: "JFrogArtifactory", }; exports.EventSource = { Assessments: "Assessments", AssessmentsSnapshot: "AssessmentsSnapshot", SubAssessments: "SubAssessments", SubAssessmentsSnapshot: "SubAssessmentsSnapshot", Alerts: "Alerts", SecureScores: "SecureScores", SecureScoresSnapshot: "SecureScoresSnapshot", SecureScoreControls: "SecureScoreControls", SecureScoreControlsSnapshot: "SecureScoreControlsSnapshot", RegulatoryComplianceAssessment: "RegulatoryComplianceAssessment", RegulatoryComplianceAssessmentSnapshot: "RegulatoryComplianceAssessmentSnapshot", AttackPaths: "AttackPaths", AttackPathsSnapshot: "AttackPathsSnapshot", }; exports.ExemptionCategory = { Waiver: "waiver", Mitigated: "mitigated", }; exports.ExportData = { /** * Agent raw events */ RawEvents: "RawEvents", }; exports.GovernanceRuleOwnerSourceType = { /** * The rule source type defined using resource tag */ ByTag: "ByTag", /** * The rule source type defined manually */ Manually: "Manually", }; exports.GovernanceRuleSourceResourceType = { /** * The source of the governance rule is assessments */ Assessments: "Assessments", }; exports.GovernanceRuleType = { /** * The source of the rule type definition is integrated */ Integrated: "Integrated", /** * The source of the rule type definition is ServiceNow */ ServiceNow: "ServiceNow", }; exports.ImplementationEffort = { Low: "Low", Moderate: "Moderate", High: "High", }; exports.IsEnabled = { /** * Indicates the extension is enabled */ True: "True", /** * Indicates the extension is disabled */ False: "False", }; exports.MinimalRiskLevel = { /** * Get notifications on new attack paths with Critical risk level */ Critical: "Critical", /** * Get notifications on new attack paths with High or Critical risk level */ High: "High", /** * Get notifications on new attach paths with Medium, High or Critical risk level */ Medium: "Medium", /** * Get notifications on new attach paths with Low, Medium, High or Critical risk level */ Low: "Low", }; exports.MinimalSeverity = { /** * Get notifications on new alerts with High severity */ High: "High", /** * Get notifications on new alerts with Medium or High severity */ Medium: "Medium", /** * Get notifications on new alerts with Low, Medium or High severity */ Low: "Low", }; exports.OfferingType = { CspmMonitorAws: "CspmMonitorAws", DefenderForContainersAws: "DefenderForContainersAws", DefenderForServersAws: "DefenderForServersAws", DefenderForDatabasesAws: "DefenderForDatabasesAws", CspmMonitorGcp: "CspmMonitorGcp", CspmMonitorGithub: "CspmMonitorGithub", CspmMonitorAzureDevOps: "CspmMonitorAzureDevOps", DefenderForServersGcp: "DefenderForServersGcp", DefenderForContainersGcp: "DefenderForContainersGcp", DefenderForDatabasesGcp: "DefenderForDatabasesGcp", DefenderCspmAws: "DefenderCspmAws", DefenderCspmGcp: "DefenderCspmGcp", CspmMonitorGitLab: "CspmMonitorGitLab", CspmMonitorDockerHub: "CspmMonitorDockerHub", DefenderForContainersDockerHub: "DefenderForContainersDockerHub", DefenderCspmDockerHub: "DefenderCspmDockerHub", CspmMonitorJFrog: "CspmMonitorJFrog", DefenderForContainersJFrog: "DefenderForContainersJFrog", DefenderCspmJFrog: "DefenderCspmJFrog", }; exports.Operator = { /** * Applies for decimal and non-decimal operands */ Equals: "Equals", /** * Applies only for decimal operands */ GreaterThan: "GreaterThan", /** * Applies only for decimal operands */ GreaterThanOrEqualTo: "GreaterThanOrEqualTo", /** * Applies only for decimal operands */ LesserThan: "LesserThan", /** * Applies only for decimal operands */ LesserThanOrEqualTo: "LesserThanOrEqualTo", /** * Applies for decimal and non-decimal operands */ NotEquals: "NotEquals", /** * Applies only for non-decimal operands */ Contains: "Contains", /** * Applies only for non-decimal operands */ StartsWith: "StartsWith", /** * Applies only for non-decimal operands */ EndsWith: "EndsWith", }; exports.OrganizationMembershipType = { Member: "Member", Organization: "Organization", }; exports.PricingTier = { /** * Get free Microsoft Defender for Cloud experience with basic security features */ Free: "Free", /** * Get the standard Microsoft Defender for Cloud experience with advanced security features */ Standard: "Standard", }; exports.PropertyType = { String: "String", Integer: "Integer", Number: "Number", Boolean: "Boolean", }; exports.Protocol = { TCP: "TCP", UDP: "UDP", All: "*", }; exports.RecommendationConfigStatus = { Disabled: "Disabled", Enabled: "Enabled", }; exports.RecommendationSupportedClouds = { Azure: "Azure", AWS: "AWS", GCP: "GCP", }; exports.RecommendationType = { /** * Authentication schema used for pull an edge module from an ACR repository does not use Service Principal Authentication. */ IoT_ACRAuthentication: "IoT_ACRAuthentication", /** * IoT agent message size capacity is currently underutilized, causing an increase in the number of sent messages. Adjust message intervals for better utilization. */ IoT_AgentSendsUnutilizedMessages: "IoT_AgentSendsUnutilizedMessages", /** * Identified security related system configuration issues. */ IoT_Baseline: "IoT_Baseline", /** * You can optimize Edge Hub memory usage by turning off protocol heads for any protocols not used by Edge modules in your solution. */ IoT_EdgeHubMemOptimize: "IoT_EdgeHubMemOptimize", /** * Logging is disabled for this edge module. */ IoT_EdgeLoggingOptions: "IoT_EdgeLoggingOptions", /** * A minority within a device security group has inconsistent Edge Module settings with the rest of their group. */ IoT_InconsistentModuleSettings: "IoT_InconsistentModuleSettings", /** * Install the Azure Security of Things Agent. */ IoT_InstallAgent: "IoT_InstallAgent", /** * IP Filter Configuration should have rules defined for allowed traffic and should deny all other traffic by default. */ IoT_IPFilter_DenyAll: "IoT_IPFilter_DenyAll", /** * An Allow IP Filter rules source IP range is too large. Overly permissive rules might expose your IoT hub to malicious intenders. */ IoT_IPFilter_PermissiveRule: "IoT_IPFilter_PermissiveRule", /** * A listening endpoint was found on the device. */ IoT_OpenPorts: "IoT_OpenPorts", /** * An Allowed firewall policy was found (INPUT/OUTPUT). The policy should Deny all traffic by default and define rules to allow necessary communication to/from the device. */ IoT_PermissiveFirewallPolicy: "IoT_PermissiveFirewallPolicy", /** * A rule in the firewall has been found that contains a permissive pattern for a wide range of IP addresses or Ports. */ IoT_PermissiveInputFirewallRules: "IoT_PermissiveInputFirewallRules", /** * A rule in the firewall has been found that contains a permissive pattern for a wide range of IP addresses or Ports. */ IoT_PermissiveOutputFirewallRules: "IoT_PermissiveOutputFirewallRules", /** * Edge module is configured to run in privileged mode, with extensive Linux capabilities or with host-level network access (send/receive data to host machine). */ IoT_PrivilegedDockerOptions: "IoT_PrivilegedDockerOptions", /** * Same authentication credentials to the IoT Hub used by multiple devices. This could indicate an illegitimate device impersonating a legitimate device. It also exposes the risk of device impersonation by an attacker. */ IoT_SharedCredentials: "IoT_SharedCredentials", /** * Insecure TLS configurations detected. Immediate upgrade recommended. */ IoT_VulnerableTLSCipherSuite: "IoT_VulnerableTLSCipherSuite", }; exports.RuleState = { Enabled: "Enabled", Disabled: "Disabled", Expired: "Expired", }; exports.ScanningMode = { Default: "Default", }; exports.SecurityContactRole = { /** * If enabled, send notification on new alerts to the account admins */ AccountAdmin: "AccountAdmin", /** * If enabled, send notification on new alerts to the service admins */ ServiceAdmin: "ServiceAdmin", /** * If enabled, send notification on new alerts to the subscription owners */ Owner: "Owner", /** * If enabled, send notification on new alerts to the subscription contributors */ Contributor: "Contributor", }; exports.SecurityIssue = { Vulnerability: "Vulnerability", ExcessivePermissions: "ExcessivePermissions", AnonymousAccess: "AnonymousAccess", NetworkExposure: "NetworkExposure", TrafficEncryption: "TrafficEncryption", BestPractices: "BestPractices", }; exports.SecuritySolutionStatus = { Enabled: "Enabled", Disabled: "Disabled", }; exports.ServerVulnerabilityAssessmentsAzureSettingSelectedProvider = { /** * Microsoft Defender for Endpoints threat and vulnerability management. */ MdeTvm: "MdeTvm", }; exports.ServerVulnerabilityAssessmentsSettingKind = { AzureServersSetting: "AzureServersSetting", }; exports.Severity = { Low: "Low", Medium: "Medium", High: "High", }; exports.SeverityEnum = { High: "High", Medium: "Medium", Low: "Low", }; exports.Source = { /** * Resource is in Azure */ Azure: "Azure", /** * Resource in an on premise machine connected to Azure cloud */ OnPremise: "OnPremise", /** * SQL Resource in an on premise machine connected to Azure cloud */ OnPremiseSql: "OnPremiseSql", }; exports.SourceType = { Alert: "Alert", AttackPath: "AttackPath", }; exports.StandardSupportedCloud = { Azure: "Azure", AWS: "AWS", GCP: "GCP", }; exports.StandardSupportedClouds = { AWS: "AWS", GCP: "GCP", }; exports.State = { /** * Send notification on new alerts to the subscription's admins */ On: "On", /** * Don't send notification on new alerts to the subscription's admins */ Off: "Off", }; exports.Status = { Revoked: "Revoked", Initiated: "Initiated", }; exports.StatusReason = { Expired: "Expired", UserRequested: "UserRequested", NewerRequestInitiated: "NewerRequestInitiated", }; exports.SubPlan = { P1: "P1", P2: "P2", }; exports.SupportedCloudEnum = { AWS: "AWS", GCP: "GCP", }; exports.Tactics = { Reconnaissance: "Reconnaissance", Resource_Development: "Resource Development", Initial_Access: "Initial Access", Execution: "Execution", Persistence: "Persistence", Privilege_Escalation: "Privilege Escalation", Defense_Evasion: "Defense Evasion", Credential_Access: "Credential Access", Discovery: "Discovery", Lateral_Movement: "Lateral Movement", Collection: "Collection", Command_and_Control: "Command and Control", Exfiltration: "Exfiltration", Impact: "Impact", }; exports.Techniques = { Abuse_Elevation_Control_Mechanism: "Abuse Elevation Control Mechanism", Access_Token_Manipulation: "Access Token Manipulation", Account_Discovery: "Account Discovery", Account_Manipulation: "Account Manipulation", Active_Scanning: "Active Scanning", Application_Layer_Protocol: "Application Layer Protocol", Audio_Capture: "Audio Capture", Boot_or_Logon_Autostart_Execution: "Boot or Logon Autostart Execution", Boot_or_Logon_Initialization_Scripts: "Boot or Logon Initialization Scripts", Brute_Force: "Brute Force", Cloud_Infrastructure_Discovery: "Cloud Infrastructure Discovery", Cloud_Service_Dashboard: "Cloud Service Dashboard", Cloud_Service_Discovery: "Cloud Service Discovery", Command_and_Scripting_Interpreter: "Command and Scripting Interpreter", Compromise_Client_Software_Binary: "Compromise Client Software Binary", Compromise_Infrastructure: "Compromise Infrastructure", Container_and_Resource_Discovery: "Container and Resource Discovery", Create_Account: "Create Account", Create_or_Modify_System_Process: "Create or Modify System Process", Credentials_from_Password_Stores: "Credentials from Password Stores", Data_Destruction: "Data Destruction", Data_Encrypted_for_Impact: "Data Encrypted for Impact", Data_from_Cloud_Storage_Object: "Data from Cloud Storage Object", Data_from_Configuration_Repository: "Data from Configuration Repository", Data_from_Information_Repositories: "Data from Information Repositories", Data_from_Local_System: "Data from Local System", Data_Manipulation: "Data Manipulation", Data_Staged: "Data Staged", Defacement: "Defacement", Deobfuscate_Decode_Files_or_Information: "Deobfuscate/Decode Files or Information", Disk_Wipe: "Disk Wipe", Domain_Trust_Discovery: "Domain Trust Discovery", Drive_by_Compromise: "Drive-by Compromise", Dynamic_Resolution: "Dynamic Resolution", Endpoint_Denial_of_Service: "Endpoint Denial of Service", Event_Triggered_Execution: "Event Triggered Execution", Exfiltration_Over_Alternative_Protocol: "Exfiltration Over Alternative Protocol", Exploit_Public_Facing_Application: "Exploit Public-Facing Application", Exploitation_for_Client_Execution: "Exploitation for Client Execution", Exploitation_for_Credential_Access: "Exploitation for Credential Access", Exploitation_for_Defense_Evasion: "Exploitation for Defense Evasion", Exploitation_for_Privilege_Escalation: "Exploitation for Privilege Escalation", Exploitation_of_Remote_Services: "Exploitation of Remote Services", External_Remote_Services: "External Remote Services", Fallback_Channels: "Fallback Channels", File_and_Directory_Discovery: "File and Directory Discovery", Gather_Victim_Network_Information: "Gather Victim Network Information", Hide_Artifacts: "Hide Artifacts", Hijack_Execution_Flow: "Hijack Execution Flow", Impair_Defenses: "Impair Defenses", Implant_Container_Image: "Implant Container Image", Indicator_Removal_on_Host: "Indicator Removal on Host", Indirect_Command_Execution: "Indirect Command Execution", Ingress_Tool_Transfer: "Ingress Tool Transfer", Input_Capture: "Input Capture", Inter_Process_Communication: "Inter-Process Communication", Lateral_Tool_Transfer: "Lateral Tool Transfer", Man_in_the_Middle: "Man-in-the-Middle", Masquerading: "Masquerading", Modify_Authentication_Process: "Modify Authentication Process", Modify_Registry: "Modify Registry", Network_Denial_of_Service: "Network Denial of Service", Network_Service_Scanning: "Network Service Scanning", Network_Sniffing: "Network Sniffing", Non_Application_Layer_Protocol: "Non-Application Layer Protocol", Non_Standard_Port: "Non-Standard Port", Obtain_Capabilities: "Obtain Capabilities", Obfuscated_Files_or_Information: "Obfuscated Files or Information", Office_Application_Startup: "Office Application Startup", OS_Credential_Dumping: "OS Credential Dumping", Permission_Groups_Discovery: "Permission Groups Discovery", Phishing: "Phishing", Pre_OS_Boot: "Pre-OS Boot", Process_Discovery: "Process Discovery", Process_Injection: "Process Injection", Protocol_Tunneling: "Protocol Tunneling", Proxy: "Proxy", Query_Registry: "Query Registry", Remote_Access_Software: "Remote Access Software", Remote_Service_Session_Hijacking: "Remote Service Session Hijacking", Remote_Services: "Remote Services", Remote_System_Discovery: "Remote System Discovery", Resource_Hijacking: "Resource Hijacking", Scheduled_Task_Job: "Scheduled Task/Job", Screen_Capture: "Screen Capture", Search_Victim_Owned_Websites: "Search Victim-Owned Websites", Server_Software_Component: "Server Software Component", Service_Stop: "Service Stop", Signed_Binary_Proxy_Execution: "Signed Binary Proxy Execution", Software_Deployment_Tools: "Software Deployment Tools", SQL_Stored_Procedures: "SQL Stored Procedures", Steal_or_Forge_Kerberos_Tickets: "Steal or Forge Kerberos Tickets", Subvert_Trust_Controls: "Subvert Trust Controls", Supply_Chain_Compromise: "Supply Chain Compromise", System_Information_Discovery: "System Information Discovery", Taint_Shared_Content: "Taint Shared Content", Traffic_Signaling: "Traffic Signaling", Transfer_Data_to_Cloud_Account: "Transfer Data to Cloud Account", Trusted_Relationship: "Trusted Relationship", Unsecured_Credentials: "Unsecured Credentials", User_Execution: "User Execution", Valid_Accounts: "Valid Accounts", Windows_Management_Instrumentation: "Windows Management Instrumentation", File_and_Directory_Permissions_Modification: "File and Directory Permissions Modification", }; exports.Threats = { AccountBreach: "accountBreach", DataExfiltration: "dataExfiltration", DataSpillage: "dataSpillage", MaliciousInsider: "maliciousInsider", ElevationOfPrivilege: "elevationOfPrivilege", ThreatResistance: "threatResistance", MissingCoverage: "missingCoverage", DenialOfService: "denialOfService", }; exports.Type = { Qualys: "Qualys", TVM: "TVM", }; exports.UnmaskedIpLoggingStatus = { /** * Unmasked IP logging is disabled */ Disabled: "Disabled", /** * Unmasked IP logging is enabled */ Enabled: "Enabled", }; exports.UserImpact = { Low: "Low", Moderate: "Moderate", High: "High", }; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90eXBlcy9lbnVtcy9zZWN1cml0eS9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsc0VBQXNFO0FBQ3RFLGlGQUFpRjs7OztBQUdwRSxRQUFBLFVBQVUsR0FBRztJQUN0QixRQUFRLEVBQUUsVUFBVTtJQUNwQixRQUFRLEVBQUUsVUFBVTtJQUNwQixTQUFTLEVBQUUsV0FBVztDQUNoQixDQUFDO0FBT0UsUUFBQSwyQkFBMkIsR0FBRztJQUN2QyxNQUFNLEVBQUUsUUFBUTtJQUNoQixTQUFTLEVBQUUsV0FBVztDQUNoQixDQUFDO0FBT0UsUUFBQSx1QkFBdUIsR0FBRztJQUNuQyxRQUFRLEVBQUUsVUFBVTtDQUNkLENBQUM7QUFPRSxRQUFBLDZCQUE2QixHQUFHO0lBQ3pDOztPQUVHO0lBQ0gsV0FBVyxFQUFFLGFBQWE7Q0FDcEIsQ0FBQztBQU9FLFFBQUEsb0JBQW9CLEdBQUc7SUFDaEM7O09BRUc7SUFDSCxPQUFPLEVBQUUsU0FBUztJQUNsQjs7T0FFRztJQUNILFNBQVMsRUFBRSxXQUFXO0lBQ3RCOztPQUVHO0lBQ0gsYUFBYSxFQUFFLGVBQWU7Q0FDeEIsQ0FBQztBQU9FLFFBQUEsY0FBYyxHQUFHO0lBQzFCOztPQUVHO0lBQ0gsT0FBTyxFQUFFLFNBQVM7SUFDbEI7O09BRUc7SUFDSCxZQUFZLEVBQUUsY0FBYztJQUM1Qjs7T0FFRztJQUNILGVBQWUsRUFBRSxpQkFBaUI7Q0FDNUIsQ0FBQztBQU9FLFFBQUEsMEJBQTBCLEdBQUc7SUFDdEMsT0FBTyxFQUFFLFNBQVM7SUFDbEIsU0FBUyxFQUFFLFdBQVc7SUFDdEIsWUFBWSxFQUFFLGNBQWM7Q0FDdEIsQ0FBQztBQU9FLFFBQUEsa0JBQWtCLEdBQUc7SUFDOUIsV0FBVyxFQUFFLGFBQWE7Q0FDcEIsQ0FBQztBQU9FLFFBQUEsYUFBYSxHQUFHO0lBQ3pCLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLE9B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