
    g:Q                         S SK r S SKrS SKJrJr  S SKJr  S SKJr  S SK	J
r
  S SKJr  S rS rS	 r " S
 S\\5      r " S S\5      rg)    N)
gp_pol_extgp_file_applier)misc)
get_string)log)NamedTemporaryFilec                     / SQn/ SQnX;   a)  [         R                  " [        UR                  5      5      $ UR                  [
        R                  :X  a  X;   a  UR                  S:H  $ UR                  $ )N)(VirtualKeyboardFeaturesDeviceArcDataSnapshotHours"RequiredClientCertificateForDevice RequiredClientCertificateForUserRegisteredProtocolHandlersWebUsbAllowDevicesForUrls DeviceAutoUpdateTimeRestrictionsDeviceUpdateStagingScheduleDeviceMinimumVersionDeviceDisplayResolutionExtensionSettingsKerberosAccounts$NetworkFileSharesPreconfiguredSharesNetworkThrottlingEnabledTPMFirmwareUpdateSettingsDeviceOffHoursParentAccessCodeConfigPerAppTimeLimitsPerAppTimeLimitsWhitelistPerAppTimeLimitsAllowlistUsageTimeLimitPluginVmImage DeviceLoginScreenPowerManagementPowerManagementIdleSettingsScreenLockDelaysScreenBrightnessPercentDevicePowerPeakShiftDayConfig(DeviceAdvancedBatteryChargeModeDayConfigPrintingPaperSizeDefaultAutoLaunchProtocolsFromOriginsBrowsingDataLifetimeDataLeakPreventionRulesList*DeviceLoginScreenWebUsbAllowDevicesForUrlsDeviceScheduledUpdateCheckKeyPermissionsManagedBookmarksManagedConfigurationPerOriginProxySettingsSystemProxySettingsWebAppInstallForceList(  (ShowAccessibilityOptionsInSystemTrayMenuLargeCursorEnabledSpokenFeedbackEnabledHighContrastEnabledVirtualKeyboardEnabledStickyKeysEnabledKeyboardDefaultToFunctionKeysDictationEnabledSelectToSpeakEnabledKeyboardFocusHighlightEnabledCursorHighlightEnabledCaretHighlightEnabledMonoAudioEnabledAccessibilityShortcutsEnabledAutoclickEnabled*DeviceLoginScreenDefaultLargeCursorEnabled-DeviceLoginScreenDefaultSpokenFeedbackEnabled+DeviceLoginScreenDefaultHighContrastEnabled.DeviceLoginScreenDefaultVirtualKeyboardEnabled#DeviceLoginScreenLargeCursorEnabled&DeviceLoginScreenSpokenFeedbackEnabled$DeviceLoginScreenHighContrastEnabled'DeviceLoginScreenVirtualKeyboardEnabled!DeviceLoginScreenDictationEnabled%DeviceLoginScreenSelectToSpeakEnabled'DeviceLoginScreenCursorHighlightEnabled&DeviceLoginScreenCaretHighlightEnabled!DeviceLoginScreenMonoAudioEnabled!DeviceLoginScreenAutoclickEnabled"DeviceLoginScreenStickyKeysEnabled.DeviceLoginScreenKeyboardFocusHighlightEnabled,DeviceLoginScreenShowOptionsInSystemTrayMenu.DeviceLoginScreenAccessibilityShortcutsEnabled FloatingAccessibilityMenuEnabled
ArcEnabledUnaffiliatedArcAllowed!AppRecommendationZeroStateEnabledDeviceBorealisAllowedUserBorealisAllowedSystemUse24HourClockDefaultSearchProviderEnabledChromeOsReleaseChannelDelegatedDeviceAutoUpdateDisabledDeviceAutoUpdateP2PEnabled DeviceUpdateHttpDownloadsEnabledRebootAfterUpdateBlockExternalExtensionsVoiceInteractionContextEnabledVoiceInteractionHotwordEnabledEnableMediaRouterShowCastIconInToolbarDriveDisabledDriveDisabledOverCellularDisableAuthNegotiateCnameLookupEnableAuthNegotiatePortBasicAuthOverHttpEnabled AuthNegotiateDelegateByKdcPolicyAllowCrossOriginAuthPromptNtlmV2Enabled"IntegratedWebAuthenticationAllowedBrowserSwitcherEnabled BrowserSwitcherKeepLastChromeTabBrowserSwitcherUseIeSitelistVirtualMachinesAllowedCrostiniAllowed!DeviceUnaffiliatedCrostiniAllowedCrostiniExportImportUIAllowedCrostiniPortForwardingAllowedNativeMessagingUserLevelHostsNetworkFileSharesAllowedNetBiosShareDiscoveryEnabledNTLMShareAuthenticationEnabledDeviceDataRoamingEnabledDeviceWiFiFastTransitionEnabledDeviceWiFiAllowedDeviceAllowBluetooth+DeviceAllowRedeemChromeOsRegistrationOffersDeviceQuirksDownloadEnabledSuggestedContentEnabled"DeviceShowLowDiskSpaceNotificationPasswordManagerEnabledPasswordLeakDetectionEnabledPluginVmAllowedPluginVmDataCollectionAllowedUserPluginVmAllowedDeviceRebootOnShutdown PowerManagementUsesAudioActivity PowerManagementUsesVideoActivityAllowWakeLocksAllowScreenWakeLocksWaitForInitialUserActivityPowerSmartDimEnabledDevicePowerPeakShiftEnabledDeviceBootOnAcEnabled&DeviceAdvancedBatteryChargeModeEnabledDeviceUsbPowerShareEnabledPrintingEnabledCloudPrintProxyEnabled&PrintingSendUsernameAndFilenameEnabledCloudPrintSubmitEnabledDisablePrintPreviewPrintHeaderFooter#PrintPreviewUseSystemDefaultPrinterUserNativePrintersAllowedUserPrintersAllowedDeletePrintJobHistoryAllowed%DeviceLoginScreenPrivacyScreenEnabledPrivacyScreenEnabledPinUnlockWeakPinsAllowedPinUnlockAutosubmitEnabled!RemoteAccessHostFirewallTraversalRemoteAccessHostRequireCurtain"RemoteAccessHostAllowClientPairing&RemoteAccessHostAllowRelayedConnection0RemoteAccessHostAllowUiAccessForRemoteAssistance!RemoteAccessHostAllowFileTransfer,RemoteAccessHostAllowRemoteAccessConnectionsAttestationEnabledForUserSafeBrowsingEnabled$SafeBrowsingExtendedReportingEnabledDeviceGuestModeEnabledDeviceAllowNewUsersDeviceShowUserNamesOnSigninDeviceEphemeralUsersEnabled$DeviceShowNumericKeyboardForPasswordDeviceFamilyLinkAccountsAllowedShowHomeButtonHomepageIsNewTabPageDeviceMetricsReportingEnabledDeviceWilcoDtcAllowed$AbusiveExperienceInterventionEnforceAccessibilityImageLabelsEnabledAdditionalDnsQueryTypesEnabledAdvancedProtectionAllowedAllowDeletingBrowserHistoryAllowDinosaurEasterEggAllowFileSelectionDialogsAllowScreenLockAllowSyncXHRInPageDismissalAlternateErrorPagesEnabledAlwaysOpenPdfExternallyAppCacheForceEnabledAudioCaptureAllowedAudioOutputAllowedAudioProcessHighPriorityEnabledAudioSandboxEnabledAutoFillEnabledAutofillAddressEnabledAutofillCreditCardEnabledAutoplayAllowedBackgroundModeEnabledBlockThirdPartyCookiesBookmarkBarEnabledBrowserAddPersonEnabledBrowserGuestModeEnabledBrowserGuestModeEnforcedBrowserLabsEnabled BrowserNetworkTimeQueriesEnabledBuiltInDnsClientEnabledCECPQ2Enabled'CaptivePortalAuthenticationIgnoresProxyChromeCleanupEnabledChromeCleanupReportingEnabledChromeOsLockOnIdleSuspendClickToCallEnabled"CloudManagementEnrollmentMandatory"CloudPolicyOverridesPlatformPolicyCloudUserPolicyMerge&CommandLineFlagSecurityWarningsEnabledComponentUpdatesEnabledDNSInterceptionChecksEnabled"DataLeakPreventionReportingEnabledDefaultBrowserSettingEnabled-DefaultSearchProviderContextMenuAccessAllowedDeveloperToolsDisabled&DeviceAllowMGSToStoreDisplayPropertiesDeviceDebugPacketCaptureAllowed'DeviceLocalAccountManagedSessionEnabled)DeviceLoginScreenPrimaryMouseButtonSwitch$DevicePciPeripheralDataAccessEnabledDevicePowerwashAllowedDeviceSystemWideTracingEnabledDisable3DAPIs DisableSafeBrowsingProceedAnywayDisableScreenshotsEasyUnlockAllowedEditBookmarksEnabledEmojiSuggestionEnabledEnableDeprecatedPrivetPrintingEnableOnlineRevocationChecksEnableSyncConsent$EnterpriseHardwarePlatformAPIEnabled,ExternalProtocolDialogShowAlwaysOpenCheckboxExternalStorageDisabledExternalStorageReadOnlyForceBrowserSigninForceEphemeralProfilesForceGoogleSafeSearchForceMaximizeOnFirstRunForceSafeSearchForceYouTubeSafetyModeFullscreenAlertEnabledFullscreenAllowed!GloballyScopeHTTPAuthCacheEnabledHardwareAccelerationModeEnabledHideWebStoreIconImportAutofillFormDataImportBookmarksImportHistoryImportHomepageImportSavedPasswordsImportSearchEngineIncognitoEnabledInsecureFormsWarningsEnabled%InsecurePrivateNetworkRequestsAllowedInstantTetheringAllowed IntensiveWakeUpThrottlingEnabledJavascriptEnabledLacrosAllowedLacrosSecondaryProfilesAllowedLockScreenMediaPlaybackEnabled!LoginDisplayPasswordButtonEnabled)ManagedGuestSessionPrivacyWarningsEnabledMediaRecommendationsEnabledMediaRouterCastAllowAllIPsMetricsReportingEnabledNTPCardsVisibleNTPCustomBackgroundEnabledNativeWindowOcclusionEnabledNearbyShareAllowedPaymentMethodQueryEnabledPdfAnnotationsEnabledPhoneHubAllowedPhoneHubNotificationsAllowedPhoneHubTaskContinuationAllowedPolicyAtomicGroupsEnabledPrimaryMouseButtonSwitchPromotionalTabsEnabledPromptForDownloadLocationQuicAllowedRendererCodeIntegrityEnabled,RequireOnlineRevocationChecksForLocalAnchorsRoamingProfileSupportEnabledSSLErrorOverrideAllowed$SafeBrowsingForTrustedSourcesEnabledSavingBrowserHistoryDisabledScreenCaptureAllowedScrollToTextFragmentEnabledSearchSuggestEnabled#SecondaryGoogleAccountSigninAllowed*SharedArrayBufferUnrestrictedAccessAllowedSharedClipboardEnabledShowAppsShortcutInBookmarkBarShowFullUrlsInAddressBarShowLogoutButtonInTraySignedHTTPExchangeEnabledSigninAllowedSigninInterceptionEnabledSitePerProcessSmartLockSigninAllowedSmsMessagesAllowedSpellCheckServiceEnabledSpellcheckEnabled$StartupBrowserWindowLaunchSuppressed$StricterMixedContentTreatmentEnabled#SuggestLogoutAfterClosingLastWindow&SuppressDifferentOriginSubframeDialogsSuppressUnsupportedOSWarningSyncDisabledTargetBlankImpliesNoOpenerTaskManagerEndProcessEnabledThirdPartyBlockingEnabledTouchVirtualKeyboardEnabledTranslateEnabledTripleDESEnabledUnifiedDesktopEnabledByDefault'UrlKeyedAnonymizedDataCollectionEnabledUserAgentClientHintsEnabledUserFeedbackAllowedVideoCaptureAllowedVmManagementCliAllowedVpnConfigAllowedWPADQuickCheckEnabledWebRtcAllowLegacyTLSProtocolsWebRtcEventLogCollectionAllowedWifiSyncAndroidAllowedWindowOcclusionEnabled   )jsonloadsr   datatyper   	REG_DWORD)nameedict_entriesboolss       :/usr/lib/python3/dist-packages/samba/gp/gp_chromium_ext.pyparse_entry_datar\     s^    '.LP^'E~ zz*QVV,--	
4>>	!dmvv{66M    c                     UR                   R                  5       (       aD  UR                  R                  S5      S   nX ;  a  / X'   X   R	                  [        X!5      5        g UR                   n[        X!5      X'   g )N\)	valuename	isnumerickeynamesplitappendr\  )policiesrX  rW  s      r[  assign_entryrg  g  sd    {{yyt$R(HN.t78{{)$2r]  c                     0 n0 nSR                  U S/5      nU Ho  nSUR                  ;   a  M  UR                  R                  U5      (       a  [	        X55        MB  UR                  R                  U 5      (       d  Md  [	        X%5        Mq     X#4$ )Nr_  Recommendedz
**delvals.)joinra  rc  
startswithrg  )sectionentriesmanagedrecommendedrecommended_sectionrX  s         r[  convert_pol_to_jsonrq  q  s    GK))Wm$<=1;;&99 344(YY!!'**$  r]  c                   4    \ rS rSrSrSrS r S	S jrS rSr	g)
gp_chromium_exti~  z/etc/chromium/policies/managedz"/etc/chromium/policies/recommendedc                     g)NzGoogle/Chromium selfs    r[  __str__gp_chromium_ext.__str__  s     r]  Nc           	         UbJ  [         R                  R                  US5      U l        [         R                  R                  US5      U l        [         R                  R                  U R                  5      (       d   [         R                  " U R                  SSS9  [         R                  R                  U R                  5      (       d   [         R                  " U R                  SSS9  U H  u  pE[        U 5      U;   d  M  U[        U 5         R                  5        H  u  pg [        R                  " U5        US:X  a+  [         R                  R                  U R                  S5      nO0US:X  a*  [         R                  R                  U R                  S5      nU R                  XFW5        M     M     U GH  n	U	R                  (       d  M  Sn
Sn[         R                  R                  U	R                  U5      nU R                  U5      nU(       d  M_  [!        U
UR"                  5      u  pS	 nU R%                  [        R&                  " U5      5      nU R)                  U	R*                  SUUXR                  5        U R%                  [        R&                  " U5      5      nU R)                  U	R*                  SUUXR                  5        GM     g ! [        R                  R                   a    U R                  XFU5         GM  f = f)
Nro  rn  i  T)modeexist_okzpolicies.jsonSoftware\Policies\Google\ChromeMACHINE/Registry.polc                 X    [        SSSUSS9 n[        R                  " X5        [        R                  " UR
                  S5        [        R                  " SU 5        UR
                  /sS S S 5        $ ! , (       d  f       g = f! [         a    [        R                  " SU 5         g f = f)	Nzw+gp_Fz.json)r{  prefixdeletedirsuffixi  zWrote Chromium preferencesz$Failed to write Chromium preferences)	r   rR  dumposchmodrW  r   debugPermissionError)rf  locationfs      r[  applier_func:gp_chromium_ext.process_group_policy.<locals>.applier_func  s    ,/T%7<4<7>@ DE IIh2HHQVVU3II&BHM$%FF8@ @ @ + ,		"H"*,,s/   B AA4*	B 4
B>B B !B)(B))r  pathrj  recommended_policies_pathmanaged_policies_pathexistsmakedirsstritemsrR  rS  unapplydecoderJSONDecodeErrorfile_sys_pathparserq  rm  generate_value_hashdumpsapplyrW  )rw  deleted_gpo_listchanged_gpo_list
policy_dirguidsettings	attributerf  fnamegporl  pol_filer  pol_confrn  ro  r  
value_hashs                     r[  process_group_policy$gp_chromium_ext.process_group_policy  sW   !-/WW\\*<I.KD*)+j))LD&ww~~d<<==KK66U!%'ww~~d8899KK22!%'.ND4yH$+3CI+>+D+D+F'I=

8, %5$&GGLL1O1O1@%BE&)3$&GGLL1K1K1@%BETe<# ,G /* $C   >1ww||C$5$5x@::d+':7;C;K;K(M$, "55djj6IJ


388Y
L"$>$>@!55djj6MN


388]J&(F(FH9 $!  <<77 @Th??@s   $K0LLc                 x   0 nSnSnUR                   (       a  [        R                  R                  UR                   U5      nU R	                  U5      nU(       d  U$ UR
                   HN  nUR                  R                  U5      (       d  M%  UR                  X'R                  < SUR                  < 3'   MP     U$ )Nr~  r}  r_  )
r  r  r  rj  r  rm  rc  rk  rT  ra  )rw  r  outputr  rl  r  r  rX  s           r[  rsopgp_chromium_ext.rsop  s    )677<< 1 18<Dzz$'H%%99''00BC&&Fyy!++>? & r]  )r  r  )N)
__name__
__module____qualname____firstlineno__r  r  rx  r  r  __static_attributes__ru  r]  r[  rs  rs  ~  s$    < D! )-?HBr]  rs  c                   "    \ rS rSrSrSrS rSrg)gp_chrome_exti  z /etc/opt/chrome/policies/managedz$/etc/opt/chrome/policies/recommendedc                     g)NzGoogle/Chromeru  rv  s    r[  rx  gp_chrome_ext.__str__  s    r]  ru  N)r  r  r  r  r  r  rx  r  ru  r]  r[  r  r    s    > Fr]  r  )r  rR  samba.gp.gpclassr   r   samba.dcerpcr   samba.commonr   samba.gp.util.loggingr   tempfiler   r\  rg  rq  rs  r  ru  r]  r[  <module>r     sJ   " 
  8  # % 'L\
3 Tj/ TlO r]  