@ui5/webcomponents-base 2.1.1 → 2.2.0-rc.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (117) hide show
  1. package/CHANGELOG.md +18 -0
  2. package/cypress/specs/Accessor.cy.ts +83 -0
  3. package/cypress/specs/Boot.cy.ts +23 -0
  4. package/cypress/specs/ConfigurationChange.cy.ts +41 -0
  5. package/cypress/specs/ConfigurationScript.cy.ts +116 -0
  6. package/cypress/specs/ConfigurationURL.cy.ts +182 -0
  7. package/cypress/specs/CustomMount.cy.ts +34 -0
  8. package/cypress/specs/CustomTheme.cy.ts +36 -0
  9. package/cypress/specs/EventProvider.cy.ts +59 -0
  10. package/cypress/specs/SystemDOMElements.cy.ts +8 -0
  11. package/cypress/specs/Theming.cy.ts +74 -0
  12. package/cypress/specs/UI5ElementInvalidation.cy.ts +207 -0
  13. package/cypress/specs/UI5ElementLifecycle.cy.ts +82 -0
  14. package/cypress/specs/UI5ElementListenForChildPropChanges.cy.ts +62 -0
  15. package/cypress/specs/UI5ElementMetadataExt.cy.ts +42 -0
  16. package/cypress/specs/UI5ElementPropertyValidation.cy.ts +17 -0
  17. package/cypress/specs/UI5ElementPropsAndAttrs.cy.ts +113 -0
  18. package/cypress/specs/UI5ElementShadowDOM.cy.ts +30 -0
  19. package/cypress/specs/UI5ElementSlots.cy.ts +116 -0
  20. package/cypress/specs/WithComplexTemplate.cy.ts +32 -0
  21. package/cypress/tsconfig.json +20 -0
  22. package/cypress.config.js +3 -0
  23. package/dist/.tsbuildinfobuild +1 -0
  24. package/dist/InitialConfiguration.d.ts +7 -1
  25. package/dist/InitialConfiguration.js +20 -3
  26. package/dist/InitialConfiguration.js.map +1 -1
  27. package/dist/Location.d.ts +10 -0
  28. package/dist/Location.js +43 -0
  29. package/dist/Location.js.map +1 -0
  30. package/dist/Runtimes.js +11 -0
  31. package/dist/Runtimes.js.map +1 -1
  32. package/dist/UI5Element.js +19 -11
  33. package/dist/UI5Element.js.map +1 -1
  34. package/dist/config/AnimationMode.js +4 -0
  35. package/dist/config/AnimationMode.js.map +1 -1
  36. package/dist/config/CalendarType.js +5 -0
  37. package/dist/config/CalendarType.js.map +1 -1
  38. package/dist/config/ConfigurationReset.d.ts +4 -0
  39. package/dist/config/ConfigurationReset.js +11 -0
  40. package/dist/config/ConfigurationReset.js.map +1 -0
  41. package/dist/config/Fonts.js +4 -0
  42. package/dist/config/Fonts.js.map +1 -1
  43. package/dist/config/FormatSettings.js +4 -0
  44. package/dist/config/FormatSettings.js.map +1 -1
  45. package/dist/config/Language.js +6 -1
  46. package/dist/config/Language.js.map +1 -1
  47. package/dist/config/NoConflict.js +4 -0
  48. package/dist/config/NoConflict.js.map +1 -1
  49. package/dist/config/Theme.js +4 -0
  50. package/dist/config/Theme.js.map +1 -1
  51. package/dist/config/ThemeRoot.js +4 -0
  52. package/dist/config/ThemeRoot.js.map +1 -1
  53. package/dist/config/Timezone.js +4 -0
  54. package/dist/config/Timezone.js.map +1 -1
  55. package/dist/config/Tooltips.d.ts +19 -0
  56. package/dist/config/Tooltips.js +29 -0
  57. package/dist/config/Tooltips.js.map +1 -0
  58. package/dist/custom-elements-internal.json +48 -0
  59. package/dist/custom-elements.json +48 -0
  60. package/dist/decorators/query.d.ts +25 -0
  61. package/dist/decorators/query.js +32 -0
  62. package/dist/decorators/query.js.map +1 -0
  63. package/dist/decorators/queryAll.d.ts +27 -0
  64. package/dist/decorators/queryAll.js +34 -0
  65. package/dist/decorators/queryAll.js.map +1 -0
  66. package/dist/generated/VersionInfo.js +5 -5
  67. package/dist/generated/VersionInfo.js.map +1 -1
  68. package/dist/prod/InitialConfiguration.js +1 -1
  69. package/dist/prod/InitialConfiguration.js.map +3 -3
  70. package/dist/prod/Location.js +2 -0
  71. package/dist/prod/Location.js.map +7 -0
  72. package/dist/prod/Runtimes.js +1 -1
  73. package/dist/prod/Runtimes.js.map +3 -3
  74. package/dist/prod/UI5Element.js +1 -1
  75. package/dist/prod/UI5Element.js.map +2 -2
  76. package/dist/prod/config/AnimationMode.js +1 -1
  77. package/dist/prod/config/AnimationMode.js.map +3 -3
  78. package/dist/prod/config/CalendarType.js +1 -1
  79. package/dist/prod/config/CalendarType.js.map +3 -3
  80. package/dist/prod/config/ConfigurationReset.js +2 -0
  81. package/dist/prod/config/ConfigurationReset.js.map +7 -0
  82. package/dist/prod/config/Fonts.js +1 -1
  83. package/dist/prod/config/Fonts.js.map +3 -3
  84. package/dist/prod/config/FormatSettings.js +1 -1
  85. package/dist/prod/config/FormatSettings.js.map +3 -3
  86. package/dist/prod/config/Language.js +1 -1
  87. package/dist/prod/config/Language.js.map +3 -3
  88. package/dist/prod/config/NoConflict.js +1 -1
  89. package/dist/prod/config/NoConflict.js.map +3 -3
  90. package/dist/prod/config/Theme.js +1 -1
  91. package/dist/prod/config/Theme.js.map +3 -3
  92. package/dist/prod/config/ThemeRoot.js +1 -1
  93. package/dist/prod/config/ThemeRoot.js.map +3 -3
  94. package/dist/prod/config/Timezone.js +1 -1
  95. package/dist/prod/config/Timezone.js.map +3 -3
  96. package/dist/prod/config/Tooltips.js +2 -0
  97. package/dist/prod/config/Tooltips.js.map +7 -0
  98. package/dist/prod/decorators/query.js +2 -0
  99. package/dist/prod/decorators/query.js.map +7 -0
  100. package/dist/prod/decorators/queryAll.js +2 -0
  101. package/dist/prod/decorators/queryAll.js.map +7 -0
  102. package/dist/prod/generated/VersionInfo.js +1 -1
  103. package/dist/prod/generated/VersionInfo.js.map +2 -2
  104. package/dist/prod/validateThemeRoot.js +1 -1
  105. package/dist/prod/validateThemeRoot.js.map +3 -3
  106. package/dist/validateThemeRoot.js +3 -2
  107. package/dist/validateThemeRoot.js.map +1 -1
  108. package/package-scripts.cjs +5 -3
  109. package/package.json +4 -3
  110. package/tsconfig.json +19 -19
  111. package/config/wdio.conf.cjs +0 -392
  112. package/dist/.tsbuildinfo +0 -1
  113. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.d.ts +0 -4
  114. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -9
  115. package/dist/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +0 -1
  116. package/dist/prod/generated/templates/elements/WithComplexTemplateTemplate.lit.js +0 -2
  117. package/dist/prod/generated/templates/elements/WithComplexTemplateTemplate.lit.js.map +0 -7
@@ -0,0 +1,32 @@
1
+ import "../../test/test-elements/WithComplexTemplate.js";
2
+
3
+ describe("Complex templates", () => {
4
+ it("Tests context maintained in the HBS template before, after and inside 'each' statements", () => {
5
+ const EXPTECTED_LOOP_CONTENT = "Root text: root, Item text: positives";
6
+ const EXPTECTED_NESTED_LOOP_CONTENT = "Root Text: root, Word text: word1_good";
7
+
8
+ cy.mount(`<ui5-test-complex-template></ui5-test-complex-template>`);
9
+
10
+ cy.get("[ui5-test-complex-template]")
11
+ .shadow()
12
+ .find(".before-each-content--start--0")
13
+ .should("have.text", EXPTECTED_LOOP_CONTENT);
14
+
15
+ cy.get("[ui5-test-complex-template]")
16
+ .shadow()
17
+ .find(".nested-each-content--0--0")
18
+ .first()
19
+ .should("have.text", EXPTECTED_NESTED_LOOP_CONTENT);
20
+
21
+ cy.get("[ui5-test-complex-template]")
22
+ .shadow()
23
+ .find(".nested-each-content--0--1")
24
+ .first()
25
+ .should("have.text", EXPTECTED_NESTED_LOOP_CONTENT);
26
+
27
+ cy.get("[ui5-test-complex-template]")
28
+ .shadow()
29
+ .find(".after-each-content--end--0")
30
+ .should("have.text", EXPTECTED_LOOP_CONTENT);
31
+ });
32
+ });
@@ -0,0 +1,20 @@
1
+ {
2
+ "extends": "@ui5/webcomponents-tools/tsconfig.json",
3
+ "include": [
4
+ "./**/*"
5
+ ],
6
+ "compilerOptions": {
7
+ "types": ["@ui5/webcomponents-tools"],
8
+ "outDir": "dist",
9
+ "composite": true,
10
+ "tsBuildInfoFile": "dist/.tsbuildinfobuild",
11
+ },
12
+ "references": [
13
+ {
14
+ "path": "../"
15
+ },
16
+ {
17
+ "path": "../test/"
18
+ },
19
+ ]
20
+ }
@@ -0,0 +1,3 @@
1
+ import cypressConfig from "@ui5/webcomponents-tools/components-package/cypress.config.js";
2
+
3
+ export default cypressConfig;
@@ -0,0 +1 @@
1
+ {"program":{"fileNames":["../../../node_modules/typescript/lib/lib.es5.d.ts","../../../node_modules/typescript/lib/lib.es2015.d.ts","../../../node_modules/typescript/lib/lib.es2016.d.ts","../../../node_modules/typescript/lib/lib.es2017.d.ts","../../../node_modules/typescript/lib/lib.es2018.d.ts","../../../node_modules/typescript/lib/lib.es2019.d.ts","../../../node_modules/typescript/lib/lib.es2020.d.ts","../../../node_modules/typescript/lib/lib.es2021.d.ts","../../../node_modules/typescript/lib/lib.es2022.d.ts","../../../node_modules/typescript/lib/lib.es2023.d.ts","../../../node_modules/typescript/lib/lib.dom.d.ts","../../../node_modules/typescript/lib/lib.dom.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.core.d.ts","../../../node_modules/typescript/lib/lib.es2015.collection.d.ts","../../../node_modules/typescript/lib/lib.es2015.generator.d.ts","../../../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../../../node_modules/typescript/lib/lib.es2015.promise.d.ts","../../../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../../../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../../../node_modules/typescript/lib/lib.es2017.date.d.ts","../../../node_modules/typescript/lib/lib.es2017.object.d.ts","../../../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2017.string.d.ts","../../../node_modules/typescript/lib/lib.es2017.intl.d.ts","../../../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../../../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../../../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../../../node_modules/typescript/lib/lib.es2018.intl.d.ts","../../../node_modules/typescript/lib/lib.es2018.promise.d.ts","../../../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2019.array.d.ts","../../../node_modules/typescript/lib/lib.es2019.object.d.ts","../../../node_modules/typescript/lib/lib.es2019.string.d.ts","../../../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../../../node_modules/typescript/lib/lib.es2019.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../../../node_modules/typescript/lib/lib.es2020.date.d.ts","../../../node_modules/typescript/lib/lib.es2020.promise.d.ts","../../../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2020.string.d.ts","../../../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../../../node_modules/typescript/lib/lib.es2020.intl.d.ts","../../../node_modules/typescript/lib/lib.es2020.number.d.ts","../../../node_modules/typescript/lib/lib.es2021.promise.d.ts","../../../node_modules/typescript/lib/lib.es2021.string.d.ts","../../../node_modules/typescript/lib/lib.es2021.weakref.d.ts","../../../node_modules/typescript/lib/lib.es2021.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.array.d.ts","../../../node_modules/typescript/lib/lib.es2022.error.d.ts","../../../node_modules/typescript/lib/lib.es2022.intl.d.ts","../../../node_modules/typescript/lib/lib.es2022.object.d.ts","../../../node_modules/typescript/lib/lib.es2022.sharedmemory.d.ts","../../../node_modules/typescript/lib/lib.es2022.string.d.ts","../../../node_modules/typescript/lib/lib.es2022.regexp.d.ts","../../../node_modules/typescript/lib/lib.es2023.array.d.ts","../../../node_modules/typescript/lib/lib.es2023.collection.d.ts","../../../node_modules/typescript/lib/lib.decorators.d.ts","../../../node_modules/typescript/lib/lib.decorators.legacy.d.ts","../src/generated/AssetParameters.ts","../src/util/detectNavigatorLanguage.ts","../src/thirdparty/isPlainObject.ts","../src/thirdparty/_merge.ts","../src/thirdparty/merge.ts","../src/EventProvider.ts","./ssr-dom.d.ts","../src/util/whenDOMReady.ts","../src/types/AriaHasPopup.ts","../src/types/AriaRole.ts","../src/types.ts","../src/util/getSingletonElementInstance.ts","../src/getSharedResource.ts","../src/CustomElementsRegistry.ts","../src/generated/VersionInfo.ts","../src/CustomElementsScopeUtils.ts","../src/Runtimes.ts","../src/ManagedStyles.ts","../src/generated/css/FontFace.css.ts","../src/generated/css/OverrideFontFace.css.ts","../src/features/patchPatcher.ts","../src/features/patchPopup.ts","../src/RenderQueue.ts","../src/locale/RTLAwareRegistry.ts","../src/Render.ts","../src/theming/ThemeRegistered.ts","../src/asset-registries/Themes.ts","../src/theming/getThemeDesignerTheme.ts","../src/theming/ThemeLoaded.ts","../src/util/createLinkInHead.ts","../src/Location.ts","../src/validateThemeRoot.ts","../src/config/ConfigurationReset.ts","../src/config/ThemeRoot.ts","../src/theming/applyTheme.ts","../src/config/Theme.ts","../src/locale/languageChange.ts","../src/asset-registries/LocaleData.ts","../src/config/FormatSettings.ts","../src/features/LegacyDateFormats.ts","../src/features/OpenUI5Support.ts","../src/config/Fonts.ts","../src/FontFace.ts","../src/generated/css/SystemCSSVars.css.ts","../src/SystemCSSVars.ts","../src/Keys.ts","../src/util/isElementHidden.ts","../src/util/isElementClickable.ts","../src/util/FocusableElements.ts","../src/util/getFastNavigationGroups.ts","../src/features/F6Navigation.ts","../src/Boot.ts","../src/util/StringHelper.ts","../src/util/SlotsHelper.ts","../src/UI5ElementMetadata.ts","../src/theming/CustomStyle.ts","../src/theming/getStylesString.ts","../../../node_modules/@types/trusted-types/lib/index.d.ts","../../../node_modules/@types/trusted-types/index.d.ts","../../../node_modules/lit-html/directive.d.ts","../../../node_modules/lit-html/lit-html.d.ts","../src/generated/css/BusyIndicator.css.ts","../src/features/OpenUI5Element.ts","../src/features/OpenUI5Enablement.ts","../src/theming/getEffectiveStyle.ts","../src/theming/getConstructableStyle.ts","../src/updateShadowRoot.ts","../src/IgnoreCustomElements.ts","../src/DOMObserver.ts","../src/config/NoConflict.ts","../src/locale/getEffectiveDir.ts","../src/util/isValidPropertyName.ts","../src/util/arraysAreEqual.ts","../src/renderer/executeTemplate.ts","../src/features/InputElementsFormSupport.ts","../src/UI5Element.ts","../src/FeaturesRegistry.ts","../src/types/AnimationMode.ts","../src/types/CalendarType.ts","../src/InitialConfiguration.ts","../src/config/Language.ts","../src/locale/Locale.ts","../src/locale/getLocale.ts","../src/locale/normalizeLocale.ts","../src/locale/nextFallbackLocale.ts","../src/asset-registries/i18n.ts","../src/asset-registries/util/IconCollectionsAlias.ts","../src/asset-registries/util/IconCollectionsByTheme.ts","../src/config/Icons.ts","../src/asset-registries/util/getIconCollectionByTheme.ts","../src/util/formatMessage.ts","../src/i18nBundle.ts","../src/asset-registries/Icons.ts","../src/AssetRegistry.ts","../../../node_modules/lit-html/static.d.ts","../src/CustomElementsScope.ts","../src/Device.ts","../src/MarkedEvents.ts","../src/MediaRange.ts","../src/PropertiesFileFormat.ts","../src/Theming.ts","../src/connectToComponent.ts","../src/decorators/customElement.ts","../src/decorators/event.ts","../src/decorators/property.ts","../src/decorators/slot.ts","../src/decorators.ts","../src/global.d.ts","../node_modules/@lit-labs/ssr-dom-shim/lib/element-internals.d.ts","../node_modules/@lit-labs/ssr-dom-shim/index.d.ts","../src/ssr-dom-shim.ts","../src/animations/AnimationQueue.ts","../src/animations/animate.ts","../src/animations/scroll.ts","../src/animations/slideDown.ts","../src/animations/slideUp.ts","../src/asset-registries/Illustrations.ts","../src/config/AnimationMode.ts","../src/config/CalendarType.ts","../src/config/Timezone.ts","../src/config/Tooltips.ts","../src/converters/DOMReference.ts","../src/decorators/query.ts","../src/decorators/queryAll.ts","../src/util/getActiveElement.ts","../src/types/NavigationMode.ts","../src/types/ItemNavigationBehavior.ts","../src/delegate/ItemNavigation.ts","../src/delegate/ResizeHandler.ts","../src/delegate/ScrollEnablement.ts","../src/locale/directionChange.ts","../src/locale/applyDirection.ts","../../../node_modules/lit-html/directives/repeat.d.ts","../../../node_modules/lit-html/directives/class-map.d.ts","../src/renderer/directives/style-map.ts","../../../node_modules/lit-html/directives/if-defined.d.ts","../../../node_modules/lit-html/directives/unsafe-html.d.ts","../src/renderer/LitRenderer.ts","../src/types/AriaLandmarkRole.ts","../src/types/InvisibleMessageMode.ts","../src/types/MovePlacement.ts","../src/types/Orientation.ts","../src/types/ValueState.ts","../src/util/AriaLabelHelper.ts","../src/util/Caret.ts","../src/util/ColorConversion.ts","../src/util/FetchHelper.ts","../src/util/HTMLSanitizer.ts","../src/util/InvisibleMessage.ts","../src/util/PopupUtils.ts","../src/util/isElementTabbable.ts","../src/util/TabbableElements.ts","../src/util/clamp.ts","../src/util/debounce.ts","../src/util/escapeRegex.ts","../src/util/generateHighlightedMarkup.ts","../src/util/getClassCopy.ts","../src/util/getDesigntimePropertyAsArray.ts","../src/util/getEffectiveContentDensity.ts","../src/util/getEffectiveScrollbarStyle.ts","../src/util/getFileExtension.ts","../src/util/getNormalizedTarget.ts","../src/util/getParentElement.ts","../src/util/isElementContainingBlock.ts","../src/util/isElementInView.ts","../src/util/willShowContent.ts","../src/util/dragAndDrop/DragRegistry.ts","../src/util/dragAndDrop/findClosestPosition.ts","../src/util/dragAndDrop/longDragOverHandler.ts","../../../node_modules/blob-util/dist/blob-util.d.ts","../../../node_modules/cypress/types/cy-blob-util.d.ts","../../../node_modules/cypress/types/bluebird/index.d.ts","../../../node_modules/cypress/types/cy-bluebird.d.ts","../../../node_modules/cypress/types/cy-minimatch.d.ts","../../../node_modules/cypress/types/chai/index.d.ts","../../../node_modules/cypress/types/cy-chai.d.ts","../../../node_modules/cypress/types/lodash/common/common.d.ts","../../../node_modules/cypress/types/lodash/common/array.d.ts","../../../node_modules/cypress/types/lodash/common/collection.d.ts","../../../node_modules/cypress/types/lodash/common/date.d.ts","../../../node_modules/cypress/types/lodash/common/function.d.ts","../../../node_modules/cypress/types/lodash/common/lang.d.ts","../../../node_modules/cypress/types/lodash/common/math.d.ts","../../../node_modules/cypress/types/lodash/common/number.d.ts","../../../node_modules/cypress/types/lodash/common/object.d.ts","../../../node_modules/cypress/types/lodash/common/seq.d.ts","../../../node_modules/cypress/types/lodash/common/string.d.ts","../../../node_modules/cypress/types/lodash/common/util.d.ts","../../../node_modules/cypress/types/lodash/index.d.ts","../../../node_modules/@types/sinonjs__fake-timers/index.d.ts","../../../node_modules/cypress/types/sinon/index.d.ts","../../../node_modules/cypress/types/sinon-chai/index.d.ts","../../../node_modules/cypress/types/mocha/index.d.ts","../../../node_modules/cypress/types/jquery/JQueryStatic.d.ts","../../../node_modules/cypress/types/jquery/JQuery.d.ts","../../../node_modules/cypress/types/jquery/misc.d.ts","../../../node_modules/cypress/types/jquery/legacy.d.ts","../../../node_modules/@types/sizzle/index.d.ts","../../../node_modules/cypress/types/jquery/index.d.ts","../../../node_modules/cypress/types/chai-jquery/index.d.ts","../../../node_modules/cypress/types/cypress-npm-api.d.ts","../../../node_modules/cypress/types/net-stubbing.d.ts","../../../node_modules/eventemitter2/eventemitter2.d.ts","../../../node_modules/buffer/index.d.ts","../../../node_modules/cypress/types/cypress-eventemitter.d.ts","../../../node_modules/cypress/types/cypress-type-helpers.d.ts","../../../node_modules/cypress/types/cypress.d.ts","../../../node_modules/cypress/types/cypress-global-vars.d.ts","../../../node_modules/cypress/types/cypress-expect.d.ts","../../../node_modules/cypress/types/index.d.ts","../../../node_modules/@lit/reactive-element/css-tag.d.ts","../../../node_modules/@lit/reactive-element/reactive-controller.d.ts","../../../node_modules/@lit/reactive-element/reactive-element.d.ts","../../../node_modules/lit/node_modules/lit-html/directive.d.ts","../../../node_modules/lit/node_modules/lit-html/lit-html.d.ts","../../../node_modules/lit-element/lit-element.d.ts","../../../node_modules/lit/node_modules/lit-html/is-server.d.ts","../../../node_modules/lit/index.d.ts","../../tools/components-package/cypress/support/component.d.ts","../../tools/types/index.d.ts"],"fileInfos":[{"version":"2ac9cdcfb8f8875c18d14ec5796a8b029c426f73ad6dc3ffb580c228b58d1c44","affectsGlobalScope":true},"45b7ab580deca34ae9729e97c13cfd999df04416a79116c3bfb483804f85ded4","dc48272d7c333ccf58034c0026162576b7d50ea0e69c3b9292f803fc20720fd5","9a68c0c07ae2fa71b44384a839b7b8d81662a236d4b9ac30916718f7510b1b2d","5e1c4c362065a6b95ff952c0eab010f04dcd2c3494e813b493ecfd4fcb9fc0d8","68d73b4a11549f9c0b7d352d10e91e5dca8faa3322bfb77b661839c42b1ddec7","5efce4fc3c29ea84e8928f97adec086e3dc876365e0982cc8479a07954a3efd4","feecb1be483ed332fad555aff858affd90a48ab19ba7272ee084704eb7167569","5514e54f17d6d74ecefedc73c504eadffdeda79c7ea205cf9febead32d45c4bc","1c0cdb8dc619bc549c3e5020643e7cf7ae7940058e8c7e5aefa5871b6d86f44b",{"version":"0075fa5ceda385bcdf3488e37786b5a33be730e8bc4aa3cf1e78c63891752ce8","affectsGlobalScope":true},{"version":"35299ae4a62086698444a5aaee27fc7aa377c68cbb90b441c9ace246ffd05c97","affectsGlobalScope":true},{"version":"f296963760430fb65b4e5d91f0ed770a91c6e77455bacf8fa23a1501654ede0e","affectsGlobalScope":true},{"version":"09226e53d1cfda217317074a97724da3e71e2c545e18774484b61562afc53cd2","affectsGlobalScope":true},{"version":"4443e68b35f3332f753eacc66a04ac1d2053b8b035a0e0ac1d455392b5e243b3","affectsGlobalScope":true},{"version":"8b41361862022eb72fcc8a7f34680ac842aca802cf4bc1f915e8c620c9ce4331","affectsGlobalScope":true},{"version":"f7bd636ae3a4623c503359ada74510c4005df5b36de7f23e1db8a5c543fd176b","affectsGlobalScope":true},{"version":"ce691fb9e5c64efb9547083e4a34091bcbe5bdb41027e310ebba8f7d96a98671","affectsGlobalScope":true},{"version":"8d697a2a929a5fcb38b7a65594020fcef05ec1630804a33748829c5ff53640d0","affectsGlobalScope":true},{"version":"0c20f4d2358eb679e4ae8a4432bdd96c857a2960fd6800b21ec4008ec59d60ea","affectsGlobalScope":true},{"version":"93495ff27b8746f55d19fcbcdbaccc99fd95f19d057aed1bd2c0cafe1335fbf0","affectsGlobalScope":true},{"version":"82d0d8e269b9eeac02c3bd1c9e884e85d483fcb2cd168bccd6bc54df663da031","affectsGlobalScope":true},{"version":"38f0219c9e23c915ef9790ab1d680440d95419ad264816fa15009a8851e79119","affectsGlobalScope":true},{"version":"b8deab98702588840be73d67f02412a2d45a417a3c097b2e96f7f3a42ac483d1","affectsGlobalScope":true},{"version":"4738f2420687fd85629c9efb470793bb753709c2379e5f85bc1815d875ceadcd","affectsGlobalScope":true},{"version":"2f11ff796926e0832f9ae148008138ad583bd181899ab7dd768a2666700b1893","affectsGlobalScope":true},{"version":"376d554d042fb409cb55b5cbaf0b2b4b7e669619493c5d18d5fa8bd67273f82a","affectsGlobalScope":true},{"version":"9fc46429fbe091ac5ad2608c657201eb68b6f1b8341bd6d670047d32ed0a88fa","affectsGlobalScope":true},{"version":"61c37c1de663cf4171e1192466e52c7a382afa58da01b1dc75058f032ddf0839","affectsGlobalScope":true},{"version":"c4138a3dd7cd6cf1f363ca0f905554e8d81b45844feea17786cdf1626cb8ea06","affectsGlobalScope":true},{"version":"6ff3e2452b055d8f0ec026511c6582b55d935675af67cdb67dd1dc671e8065df","affectsGlobalScope":true},{"version":"03de17b810f426a2f47396b0b99b53a82c1b60e9cba7a7edda47f9bb077882f4","affectsGlobalScope":true},{"version":"8184c6ddf48f0c98429326b428478ecc6143c27f79b79e85740f17e6feb090f1","affectsGlobalScope":true},{"version":"261c4d2cf86ac5a89ad3fb3fafed74cbb6f2f7c1d139b0540933df567d64a6ca","affectsGlobalScope":true},{"version":"6af1425e9973f4924fca986636ac19a0cf9909a7e0d9d3009c349e6244e957b6","affectsGlobalScope":true},{"version":"576711e016cf4f1804676043e6a0a5414252560eb57de9faceee34d79798c850","affectsGlobalScope":true},{"version":"89c1b1281ba7b8a96efc676b11b264de7a8374c5ea1e6617f11880a13fc56dc6","affectsGlobalScope":true},{"version":"15a630d6817718a2ddd7088c4f83e4673fde19fa992d2eae2cf51132a302a5d3","affectsGlobalScope":true},{"version":"b7e9f95a7387e3f66be0ed6db43600c49cec33a3900437ce2fd350d9b7cb16f2","affectsGlobalScope":true},{"version":"01e0ee7e1f661acedb08b51f8a9b7d7f959e9cdb6441360f06522cc3aea1bf2e","affectsGlobalScope":true},{"version":"ac17a97f816d53d9dd79b0d235e1c0ed54a8cc6a0677e9a3d61efb480b2a3e4e","affectsGlobalScope":true},{"version":"bf14a426dbbf1022d11bd08d6b8e709a2e9d246f0c6c1032f3b2edb9a902adbe","affectsGlobalScope":true},{"version":"ec0104fee478075cb5171e5f4e3f23add8e02d845ae0165bfa3f1099241fa2aa","affectsGlobalScope":true},{"version":"2b72d528b2e2fe3c57889ca7baef5e13a56c957b946906d03767c642f386bbc3","affectsGlobalScope":true},{"version":"9cc66b0513ad41cb5f5372cca86ef83a0d37d1c1017580b7dace3ea5661836df","affectsGlobalScope":true},{"version":"368af93f74c9c932edd84c58883e736c9e3d53cec1fe24c0b0ff451f529ceab1","affectsGlobalScope":true},{"version":"709efdae0cb5df5f49376cde61daacc95cdd44ae4671da13a540da5088bf3f30","affectsGlobalScope":true},{"version":"995c005ab91a498455ea8dfb63aa9f83fa2ea793c3d8aa344be4a1678d06d399","affectsGlobalScope":true},{"version":"bc496ef4377553e461efcf7cc5a5a57cf59f9962aea06b5e722d54a36bf66ea1","affectsGlobalScope":true},{"version":"038a2f66a34ee7a9c2fbc3584c8ab43dff2995f8c68e3f566f4c300d2175e31e","affectsGlobalScope":true},{"version":"4fa6ed14e98aa80b91f61b9805c653ee82af3502dc21c9da5268d3857772ca05","affectsGlobalScope":true},{"version":"f5c92f2c27b06c1a41b88f6db8299205aee52c2a2943f7ed29bd585977f254e8","affectsGlobalScope":true},{"version":"930b0e15811f84e203d3c23508674d5ded88266df4b10abee7b31b2ac77632d2","affectsGlobalScope":true},{"version":"8444af78980e3b20b49324f4a16ba35024fef3ee069a0eb67616ea6ca821c47a","affectsGlobalScope":true},{"version":"b9ea5778ff8b50d7c04c9890170db34c26a5358cccba36844fe319f50a43a61a","affectsGlobalScope":true},{"version":"3287d9d085fbd618c3971944b65b4be57859f5415f495b33a6adc994edd2f004","affectsGlobalScope":true},{"version":"50d53ccd31f6667aff66e3d62adf948879a3a16f05d89882d1188084ee415bbc","affectsGlobalScope":true},{"version":"65be38e881453e16f128a12a8d36f8b012aa279381bf3d4dc4332a4905ceec83","affectsGlobalScope":true},{"version":"436aaf437562f276ec2ddbee2f2cdedac7664c1e4c1d2c36839ddd582eeb3d0a","affectsGlobalScope":true},{"version":"f35a831e4f0fe3b3697f4a0fe0e3caa7624c92b78afbecaf142c0f93abfaf379","affectsGlobalScope":true},{"version":"782dec38049b92d4e85c1585fbea5474a219c6984a35b004963b00beb1aab538","affectsGlobalScope":true},{"version":"a1ae5cdb7da09489f6c4518d32a299f35475e4b1ea8514d2bfe6aa7f634ca9ac","signature":"a2f4c66c930ac0cf330fe3f4bcb6ee2ad94427f562118f4268a41146c5855739"},{"version":"377e7e44b9dfcb2d9204eaf966145e33dd5480d844a1ea73e5fda78d8fc9a26a","signature":"a318e1ac7accdcecb75587af58fff532a876aec1ebf0a4182b6394fe55d5a774"},{"version":"af8a94f87c31964962a10bcd7950626d7d744da2730a16f575eba01c439c335d","signature":"3e7e0e2c2bd968e6939442cd6e115a292b9606be92a5014dabd4731799fe2d08"},{"version":"82e2a0e05398c4f88fd4ab4a0ac9333fb747004360ff3309e081412cc2d38b36","signature":"8ddde35009f0ca33812f921bb608011e2b4d367a165aa273f89875ad851335f8"},{"version":"4ab6414f255dddef94f470c67a87714c22f067696c354b05a3ae58ce3e3ccfc4","signature":"ebc633f5065629dfcd1192a69994bef7a77b2794545d0a7e84e41f33ee815188"},{"version":"ed3cc0cb8191db0cc0788627049c8ea6daf56e2ac4fd33e87acdee7b936a6c34","signature":"4c0bec516cf8647bf780206b2640838e07cf4fc45890025b48c463d53d498d27"},"e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855",{"version":"9626dcd10b85bfc4df6e68381233c51569f6b664dec1c2ad1379308211f54e9d","signature":"9d0059f5c2822282a2611b5bf18db168a4309de5c6a8c0027ff8cac5f3cc9680"},{"version":"f840241cbf711ec4f4d59846fed1e63d33ce42b179052b39e4aa68494c7d98cb","signature":"1561328b054aa5690715f3c1e07271b6bdec1d0f7d4a15a817115adee0875cad"},{"version":"87868d0f11ffe7c36f88a81c9765b22f19af1a37dd8e308bc3d49e24864f223a","signature":"fdef9ea6b0e3a3358d7938ed5ec4f07f3550a05525a7d0e4f841bb154ec6d545"},{"version":"ec59f6d5dddc86ed01edb789e9b247bdc29f0907d51e9c7dfe53b51500629103","signature":"fe97c787b13855f8ce1515b2d13d814dc93e2e0c5d457e7fabeba1ccafc54a9f"},{"version":"ba94bebed221766b02d68cddd17ef4100cae848ece10aa93ede11e24f34e1a9c","signature":"55b730c15025027cfb4bc3ecbc135c39b8aec3cd77686369f269cfbc3167bc09"},{"version":"6fb5197788b5276fbc5aa9a50c29e50df228efde9c3a76f5621c0479abddd92d","signature":"24fab1f6c0b4e63b7fee39cd5915b7389e7be4b72a0dc8e0db47515f1d2d7e6a"},{"version":"9128c861f3222554f2cde2352e39d708fe7898b869a72d7e2b5cba0baa008149","signature":"c38e69fe1035331951e26ad6e666f83c0ce78bf0d04220e987ad3ad9f83ab040"},{"version":"10c5a178317caa35a30f29cd39392d35f61e2204e9ecb7002d88f2a17a84d5f1","signature":"3a93156364a2c9f69a6047f30cd4238d3c46b594e3a6992cb8a4c7d0f6ab7cf6"},{"version":"b45fed653f50e808cf1e4c91f09c255a1586c9a717e04f6efdc4f7ade454c95f","signature":"2454ea4b173f8a529ff582e558eb1f8b4b67514e21cc4a5dfd7f2fdb0b8c7dd2"},{"version":"458682f3281d878a621cde1c45bc7ef192ec3cba43ff8492aea2bdc07b6ac9a6","signature":"5fc86b37da7a304869d547beb1cdcac5c1c47b68c391ef14b255a7d744c9853a"},{"version":"1e3532122304f28cee95b8955ac79e1fcea8d2bee88aead847c5d2bda68baf73","signature":"c6604e9337086b119c8c67209d6c4ee497959d0666d910cd34b244ebe2b9f041"},{"version":"90a2661577ff4bc75ea0353839f1d4cabd8b2867a9806ce05b1bf430f63fb109","signature":"1ae2f3089151825862cc4ffbe472c03966e7737af489f535fb088edb40b85e75"},{"version":"7a126da9fce0e3ff4107d37eb12fe88dcd9415b0bf128e367d52a8f04b70ed0a","signature":"1ae2f3089151825862cc4ffbe472c03966e7737af489f535fb088edb40b85e75"},{"version":"2e139b53ea4753ab9659bd869da5abfc2e93af6ff4d5a98532c81514569ff702","signature":"dc68584277bfca4adfa24556e5cd3ad8979e34dd3c96c11613ac1ddc03c02367"},{"version":"08239c2522dc796f9d813c2a59bcacd52a8015da402bd3939f98111c01cb0970","signature":"be471fa0e12a06a95aca9a005052d37f498c2fdfb38b6fe7e1f3dcd4551176de"},{"version":"2903c762b12a3cef9d391b638b3d9d172821b6ec8265779a469de86477b09695","signature":"e96e73cc3b674185262ed50a9a7f112bfd5d888e483bbfcd6c14336460192b3f"},{"version":"8f7801370dc578e6d54ca046aed79d9cfc8beb80d1f9bdbe675b7c1e8bd6862e","signature":"8c1f3a67e415dba00572af5de571271243e9bc6f4f200560a096b0df3c2ef3c3"},{"version":"411a6d130148c3e48f5d0a411d9c8a41b00ec1d56f8462557ee10d12ea64542b","signature":"c799577deefbd96083c4c1a94f6fdf8559b062eed10cc138bbf4aeb44b22ed29"},{"version":"535b858324525c07fa3b746caa16f178566c4705ca44dbfbc5779977c88d7b9e","signature":"d334248d62050e97c48e2d5c2438c442e0eaef444c9c98f11e19505a9697e785"},{"version":"fa04b2f7c5e622c225afe65fe5f8c0ab7a65a45a1104d6e9a5b51e6e2f71e84a","signature":"4fda1cf2e7faaca5114a49eefdf007884f3c1abd137e55721829d1062d3a4e68"},{"version":"1a6cc0b0c81f597bdeae9a2df0437de8c3c292603ad1549076e40e9380373438","signature":"3c607485127c15c5bf9425fa8ecd734ed1bfe4b3a77c5137b73f06e6f4b5df93"},{"version":"cca3960d3e16ca1d8a442cb2373e77e34128373bcfdd6ad81f6f216a85cdb8e2","signature":"12a8af586fcf0404c411fe35379268547bd2e0958e4336c7458442d901219105"},{"version":"1f21b9be0d809f9a5c1fcb3b5bd98c10bbae2088b65788a400c12f14d9c06b0e","signature":"ac30e92bf282a09133eb645123900ac2870c3fc601b6f58bc41bc71e26d90594"},{"version":"93c3d6da1c42dc69f3158f99d3e78d3c7e33200452699dd76ba915324b5d16c1","signature":"aadf46d91ebab903160be7a6aa0858e6e2094972316c8407687264db536e74c4"},{"version":"433293a2266fe13f59f239a6ccb5c48a7680a5707dcd30ab77138263f14d7c6a","signature":"7db27bc2069a9f8bec31d633d1c91e9ec872f9cd1db58b904d51abc47f4699da"},{"version":"cd6a41b95e8cdbe5757b0b1172c34d092711a3c409097f87e44169a90e835be3","signature":"11a242a4c61bb53f52146ab754a4530904db4153fd6c9001a996f286f8a246b2"},{"version":"fde9debd1fa396990ef681547e97a16772e41f182ce57ddc1f8f08dbfcb4ef39","signature":"e4111898381b03f8ed2da8bf929fe2701a16384debb2bd9b5005c5d6e812508a"},{"version":"f823c56b9d2acbec902cc5bfac461fe3e0e4d3628ee2a7d3be3e3ae609a667b1","signature":"2c2a3290a0904df8faecf9086d9e7c181fbf67fbeacd84c7adc8e2fe27c0f840"},{"version":"693b0ca454fd03440e118bccb451921362ce9a88b90e973165a52ed005130b14","signature":"5be4d759b1cd2008ce3841fd60d55dd541fa29aef05acf646a993cf639a96c15"},{"version":"7a4eff3350e39c9ae3b33b597c118c453a8250bbe370833f5cd4c8eb83d6ce93","signature":"f2e77547284b4233f223b24ef174de974cbead72b1ee7b9895c5067104841a6c"},{"version":"5d9cce91e118f529a5783a1a4f697785e150cce74f57af84d9387424fb597d50","signature":"88cc5c7a2d66ec59f981bbe41bf06066bd8b7dfa5db73db7253725e619455be6"},{"version":"833b0307a43e57e88d3b785673e543142846f620bb8f22fa6b46ceb616785e23","signature":"95f3f4557ecf2ac0964b11e722f5520fb00b4a40f47a130e13a14c2919977f04"},{"version":"3c5d1f5a6e2d4b7ccc7af39ed8ffd634a5c15ee7d60b0a10fa4dfcc6ad9a0449","signature":"d65683d71aa438b9f24e497eb5f6c17cd535aa8b9ac85243a56773f2cb4fdda8"},{"version":"ef1c58f115ba8dc4b98bc121a4a2d2c05431eeabf536aa8268b688200622b7bd","signature":"38e3cb184fd0fd867a24b5f0596a34c6c77d82a11f152f330e8b23fc2964db29"},{"version":"02b6bce1b83b5dae54947339dc7731dabb1664b819a7fba117f7bd5b2bf0d054","signature":"ee218dfe4be43788b75a0def55b9f8ff0bef1b584b91d3cd8a9199336ac13c37"},{"version":"6d547041465e131b037d8e76073910410f23e3fb0226b5cb53c53c3fbc102f33","signature":"41d3448d133003a83c425d0d4955ec88fd1d9f95e138672b935c19da96c2691f"},{"version":"4073cded68f2965f2f188b26a93e0cade6614e8375e259158df55c8cc49b1499","signature":"1ae2f3089151825862cc4ffbe472c03966e7737af489f535fb088edb40b85e75"},{"version":"d34aa0e9ca0605fcf8d29ba3592465c6962f3324990ac9b15f3b6c47076c9327","signature":"15667452478dfaf26fbae1a5afd70089df775681824c82c406c7a0d413dec1b9"},{"version":"3ea802457b426629c33acf690346eeb531def63cbc415736eec12b9ba9f14fa7","signature":"3e00a9b3f3e723375e03f058adebfff7a5289c01839af3b486a414b06ce0d337"},{"version":"e73dca683bae65c34992d1dfd6ec362452d175ad6d3f3702ee71aeaa126860d1","signature":"89cf030e91c8e5c01f15013895d5ab79909247fcc2c5736e8c0239188cceeeeb"},{"version":"48367a0c810aa37c7b1f721243782553d6ecef3b391ad503332c1300e5b8e4a2","signature":"0dc99c83649da82dc8db80908a4831289520f89e7225db8b6f16c40adab2d3b8"},{"version":"46b7ebbf48d5cd96274f1a040a0f5896a4cb587f3496d233d7aae7bc46757e54","signature":"2cc62ffa90e426cfeddc8ea6c6c2cb0c823bfcc3635e635a279f8dc0dd7f8071"},{"version":"25f91ef97652133e7f3c55129c5d75a04d5a0bd634f30aaf63232aa0edb37c0e","signature":"f2351c72611269138493c55eb7c1cd3e6fe11f653c914e6d89aa6b098edb704b"},{"version":"46628c3f906fdacc408691ed8241a46d6a0c2540d96842e7b97d23b667ec1d7d","signature":"ad4bb39d72b9e934fba81a4652f77d05e0a1ac9643b7f43fc2a4ddba90f996dd"},{"version":"22540f49723ec1659da34010efe9646d5dfa8bc156f5a3ee51d85aabc5c2a1d6","signature":"c0175343a77d5717221a680824a25c4902e85c899f85b95df021ffa8cd978a86"},{"version":"9b64ec0fa168c3751c6fffada8d70ed38c80ea2677243f1de92aeeb7e2cecf7c","signature":"0ca27fade0429a49087cd73f7d558e5095f469caa4cdfa7df1279f6c66bfb88c"},{"version":"7ca550ab1d93bae24a9ed3b45a137e0d1a6321138e09cd4a1741a90b1b029cba","signature":"53167a4e3dfaf5758e99a0736e601d67595d3f4a839e853a3107efe03f08b838"},{"version":"9bfa47375a42d1ca78f765b6f9b4634cceeca4cefaf8476a7c43154c922f7380","signature":"227cd3f0b4013fc6eb883dfbc433bebdc1f82385678d6521c53288380765320a"},{"version":"0c08bdb074e034f1754561e6ca21d7a391622fe3a5b64c1f77c649189bf63854","signature":"95b5e9ead1117244f2c7d0fbdbc69b11af1c7f6e351bee35349f8891777d2687"},{"version":"179978fce6f9918b93fa804b156337d2bc10262a97e22bce85f8083bb119e10e","signature":"445d985d1c14ba51c27fb6ad55d826f44bc56ad8ddc4aa3871a68872079b3c4b"},"2fcd2d22b1f30555e785105597cd8f57ed50300e213c4f1bbca6ae149f782c38",{"version":"3c150a2e1758724811db3bdc5c773421819343b1627714e09f29b1f40a5dfb26","affectsGlobalScope":true},"7000ec8572390d035ba5ef993953957150d0c38ffb31b56653c97dd78cb6e1aa","056892cca68dca10a914f1580ba0e5710d26794e8707225dca9b5717ed702f1e",{"version":"2e8e50091f9c8e2b366f330dc48dda14ad3abb3a1e537f38459462cf5785090a","signature":"1ae2f3089151825862cc4ffbe472c03966e7737af489f535fb088edb40b85e75"},{"version":"6d60c303893a83b275c1d0e395e5ec654f7c07938b14a6f43fe35a86ac1c7925","signature":"334b3aac0ed948a5b8fcc7c405dc856403207095636b86e839839754468be895"},{"version":"cb4affdc0c199db1a92f8d91d635c6922ec4bcb92113b7a056bce7b48e82b418","signature":"3a5b985ddc78c4ec4b6cc46418d85dcc2e4397e0a88bb1e8ee97b38ed33151b7"},{"version":"d4cdc23f18a17cbfa5c399eb1b2ee5a0ab13fffb883be2c0fe807ef81f40dcdd","signature":"8076be558001f0dc7b93b883d1f490d5ee40c2bfe9fd499a5f5091f44abc5f5d"},{"version":"f0bb074b3db3c3e43cd52de2b54c2bfea729269d0918ad5b5088c3a5020901a5","signature":"90c0ba35e305757169bff5bbc146667f959fd1b760b28204fd8751287056ec12"},{"version":"10a518789a02181226b2672f63f512d2142a86ce3b6c9974df90f53522338290","signature":"0d50de5a6e34fc790ca84cd97f8873c941357541c3583ea09f9410656173db4b"},{"version":"e6fec85a467c6f934b36774c7dc79f712c1765c4632ba6802fc856b2db172f30","signature":"dbff8b7e0481d809c602cf732627c508181ba4926521fd44313a4d4786b21fe5"},{"version":"0c07a2f995faefe72bb0e92836210a8d1ea9d132027b76462b3dd435dddf9394","signature":"138484e9e4b56102ccbe70146e7231fffeeb419833f146c289a5dd27aefd63cb"},{"version":"939f8cc7531fc3dce47e97384694e58339227a38c9c1afb0a7306d8f687b612c","signature":"00fd25cc100487785c9b84ba634deb18f4827363a0583046049da612ede3dee2"},{"version":"9d4a3d10d710043b7a08d0b032e53f5add4c50217f7eb76b298397fa75b90bb9","signature":"b5fe3f45bdb3fe1c393f40fbb15458a0aedc270409fb0ee9a66a34e589b45595"},{"version":"f996726f632a93f053fb39117ab6c886a28b9630053ffc2261d5b8247982eb5c","signature":"5f0776adaef542cbe0f5a1e5d29c2be98013e489d18cc942e9f09fde7dc600a2"},{"version":"3f07cbece06ab1047a62e3c46fb4aeb856230d6238101a7f6efb2f548623259d","signature":"f7ea5d2249d61627f56db3a9c8f280a02a47b5799f41cd04df4ca53f6d181432"},{"version":"76db8208696282374f5f111adce70e2527ceae4e9ab07a9d23344741cf995f8e","signature":"4c5217c399e58ae19db8a9418cb738787df6188212b310b7ca4568c3745d8453"},{"version":"7bd6279920d7309da511bcc247d7ab80467c8f0ab361f24ba2d7a597c0574a77","signature":"9ee455bbca8ea81208cdbadbeedd4219eb09a4ea01ed0ea714e7b5618e3b5afc"},{"version":"1e80b00d4d9ac0d6ab7de890cbc2766de6306a5af508b3a93e5cb28ab1c7065c","signature":"4ad3bf0143ae7edffe682bc54e2f83d522424b6ab9ac227e9877ab787844e278"},{"version":"85f401215094396163763fd598b3bcb70d61472653eda5b8bc2dd0275e0a2c72","signature":"44df2f40ebfc99748036a058ba59c04f6771c53139be9bf6ec20c7145465fbf1"},{"version":"e6a24aff995ba099e7842c3294d5aba42972a194b21997da6f1b59f1f0882306","signature":"5d60fff61c30d76396ba9414886f2a7593c51a818aae683040af7f45ce91f3fa"},{"version":"bed3b803239b6e320d1165691306076d476dfe622e1ad1d3bbc43bdcfd8cb69e","signature":"c8a43105076f6584d5817f35bc05df3a37e36c6c7298f5f366c4fa08be1e3c9a"},{"version":"fc9c6b088b2fcb6425a3a3472556355449ed191f3a3d97f334d222ecbc275cee","signature":"e18d2d272f87a0eb64744979e9300d38cbbc88ee8683196d85e32449a9458df1"},{"version":"88e2b7155327bf8994feb01f802feef0501ebeb77f2dacf55cf8a454e276f568","signature":"16187460bc80d7f33d11defe01045dcb2b7273d86ac7ca978eec5c18f8e84f85"},{"version":"16f232e2501044abf8af3db1d5dc1067d41d87d706ff9afcdcb990d4d7eb42ac","signature":"c5edba8a528592c637cba96d933c4fcb617d5f930c3ccfe0f2a9467082bc1f22"},{"version":"aa3c0f167e486ad9bf5386f40300b1b961030e63bc405124e6d7ec1449e31eaa","signature":"10da1363260f410cb9398a98d1f732c3c931f9d70fd94f2707727184a256e0a0"},{"version":"f8508f4ddbcc2c5bce5ba5bd08a81b11f320e0879433506a165881935ad2f0ff","signature":"ee3a2f50568eee122ea3671bb62c236fb39f260d86b593349b9ea821d81156f0"},{"version":"6e6b37a4b1cbac2961cf15dcaaf648c63a732c99adcfd3eebfce925e7c5d20c1","signature":"4c81f7b395ad4e6adf0d24db6a2a4fe549ea08e36fe784ac2b15bae93d6d6eab"},{"version":"14c33f276adfeae687b9e71e0a0a8a425b6d36ebbf11145472f746fc2ac11988","signature":"9268a50c181881ac154dc64079e9f67b2cc81df1db2c89127bfb46e6a8ca5019"},{"version":"ff4a262f104f4cb94dba89e4a48ba791153abc5d7c03c3a407d71ddf06fb358a","signature":"567896404ae1ca1783725ce6300b672b4043d8f8b3dcbe49a0471157b67e427a"},{"version":"0c7256749dcdef93a8b398a77719f47adbb7f809d4725fbd160a7de0fcc7b18d","signature":"66baf3299a941f56086f5663b5fb260a2af793697f699c93953f738af97a07b9"},{"version":"b2fd971ef34df1f06380cdfa6431c226a507be26e48fc6c2722afab327295767","signature":"5ea45d6a7fab1289979055dee9959b0704f34cde7d37e6741eca5bf251a7d4d1"},{"version":"ec9a474a24457e435dcf5c84ec47720176e7abf1e442b1e08b9ccceb13f87259","signature":"777f5e3ce6ef53162c00773ba39b9b25bb32acaf6ffc01370839eeb91e395153"},{"version":"da5738d96030fe86a43d1da00ba81ffe3de5cb427ddd27ae58b051e06c5ac318","signature":"7e9f0eea6da8526690b54f196c65a03e59f7b4bc9744e3763a701870db38d41e"},{"version":"cd884cb1be068f0596c6a2c61d071aaf51e852b5a15c8b0a07c874788aa48bc1","signature":"562c3ad3df9e3825e64f37ef1632cce65ac437dc6e669087774da1bf79d403fa"},{"version":"59bdd4b7e6ce46166bd19375283d6cefec6394e702074513b1cb2d1d2563a618","signature":"c892ad664fd4fc9aed1d1b3ec2bcc7a29fb12311fae08ae0f83d1f5825142fe0"},{"version":"85244b8ba75c45fd209aa1f10cf80795618724b96d2b1fdf709cbaa210924fd7","signature":"2bb664e6a656720f53885ffc4861dee876f120e4542a16b6468d2c9534ce4638"},"bbc354c6a2740b087f1139e88e90309de480c5390362e2f0d32a145d8d7cf539",{"version":"5efc502618512e9ea8096b093ecbe330521d100f79e8514e5cf3a9e0cdbae9f7","signature":"e96cae0010f79cf8667c74b89809703f5820a81e891f369f6b767b595b1e9678"},{"version":"51984dcab62ba482210558a6a8d7cb41593757586262a3b586b934cab1281327","signature":"2b3d4bf91376c97c477f1b49086067b622d076183a0cf4b9cf7949dfc77b9e6f"},{"version":"f5a7fb41531b5682d8783430378adb26fdabc76e5a202789f8bd35da01a1c99d","signature":"545a59eb7b8a96bb93f5ca3ea7a395c206c3383058eec0aad69f7e4de8c38900"},{"version":"c8a0a3bebc19d99dc9af61fc4d95b78a8f602282352614f584f7c12f69a20af8","signature":"01fd843a5a9647298bcea6a19842fe3ed63b008c04ff80a3868e11d990c5859d"},{"version":"9b2093762ef63a2d97dd54ae61edfde270e5d78a8f22b885fdc2debec6bb65b2","signature":"3e956ab73eec9d3624069b248adfc766e8b91e139e7fca15f78807babd9b719f"},{"version":"91e02e3cfda1628aec8f8cd3aac0b3aa5dfa6876c1eca26f7bcdbf78574ed11a","signature":"f5b1fe432493c144d8296babc8ccb836684c300043e2ff1ca3754920f5f65263"},{"version":"8186d971b892d273a1b60b571e044d0576a461e928601e02cbfb1b0678defa29","signature":"1006612f56e7489a94793143b1c4af76547b8ae733b22810cf3ff0686576027c"},{"version":"f6c29d3456de2db1fa8cb4e24c7894e765264e41e2afb1addfc18e3dae0ea4bd","signature":"1b5da75e7ca381afbae65ee6d020e3628c2e6f4cc3e480e225c4c73fd85ae052"},{"version":"c465d9d4d38860eb7dc37ad99eba8ea1730e21d10422f5661333a50d0749b57a","signature":"59cd63dc22722cd9fb84250b3b11e68b3862dbd46f26f0d62345372ee5545cf8"},{"version":"6777b81beaee6d64386e5de6811790cc1b17196d78bd147f03b5892ace7a2a83","signature":"55ac1c2cbcbe2629e51298183a7a017977809f848d24dd2ee5181ab779c47691"},{"version":"afa38a94a717201ab97e5174959d2c433a06398418f0c467ab41851f7757a1f5","signature":"18b93f9dadbb05a43fa209160e7fae964c3da5c7d9b3f8a35168fbb5ff4ae11a"},{"version":"032725d3bd99d1228cc202cb4fdb0f205ce7af43e6990b91220419021e91d8e4","signature":"bb0297fd4e6cb486b169e5fff8d4b3b2e47f598997380677ab44a5b657a3bca4"},{"version":"85fee450835486d118016fa366acde0e9716510a6f2cc5e2a3ff61cf15bb6c3d","affectsGlobalScope":true},{"version":"c3a659a0d1d2101119ea16f30ea5857df60f7896521d50893a458291777a662a","affectsGlobalScope":true},"64924661bb998b7b8fa2ac4be582551f093da21e33ef5b653061873366d8aa4f",{"version":"f417936e30e84ad3be471b780028bb15eaa106de880aa8808d8830ebbb331642","signature":"8e609bb71c20b858c77f0e9f90bb1319db8477b13f9f965f1a1e18524bf50881"},{"version":"cd5aa06c2b665de4ac88a564b52846674c2dec9d68346ae8cd9ef1b0c5465a99","signature":"83127de78f7dadb64fd851bc196ceec38bc67f9b5ae847ae430ad377868462d1"},{"version":"fc9e4a1dff584b5d927fb1596ecdbcae71adf515f48cf59f88b60664749b96b4","signature":"1af23bba0daf3ba11882c0717a1fe78cf929e13f1a3c23e5d882163a0a307aa9"},{"version":"6ad1ad46e865c585f56c25812da5933b3e92672724eff440737c3338c44344d3","signature":"5feb9b864b6ecd4de7ce0b1ffa7f8ebd8be99838ac9fb58041ec6fc1ead681dc"},{"version":"647630d8c3f545e4f79ae4f65933e0b0cc793b471326c10675c1d177e48f33a7","signature":"27d711e422d5068b79835f72c3a92901e9858a375162911a7aad65eddbd23576"},{"version":"b80c5e60f26fc8559094533d33685e457452dbd9370cf9002c06f50befe31960","signature":"adec8d6fa090f9873b7ceee24c4180057fb6927280413c78d5948e47f16a476e"},{"version":"896deb53c900d103a3392e3b1263813935b56c2fca57a2aa619401707ab2af7e","signature":"f25170a49346310bd5ee19ea7314dde199d4261d653f06bb3f1d77dbd1b20427"},{"version":"9371ad1662936d64bfc1d95410b39ec650880af2432cdce51873cae049fe9ae8","signature":"6aa7e7d23ab6789ac9971d98d40bf5c944a28041910f297c9f7550aba9563d14"},{"version":"2b72fabf6980e0dbf0ceeb7a9916056da475cea5703de24141a4da43ae281f78","signature":"187dcb2a124ada8a0257bd0d305e6ee63beca20cb237c31814b4adda5aaeea4a"},{"version":"cce0f3dc24d41f746ea6e6f84cd54b7bb4430ab9cb90e1a42fd6db0ff99f8bf0","signature":"8698c3d42f602b96cf0d97b66f72541a8c6fab54b90d5fcd30bd490e589f3c29"},{"version":"64028f3ded2bb20cb662f2a26be010b76c2938cbe9ad4461bca8a9c078a92463","signature":"3174c8ab15f3d6098a8daf1d35465baea663c55d5754276044ac7dc82c9b217b"},{"version":"f6415ba20d3c93bc7f63da27a13e577cd4308cbfc59b41269cdffed8edaf69a2","signature":"b1a43667468dc1c947152a6484d8f3808ae7ad901d7af5a1957bb93b85ef46e0"},{"version":"83a86c097e43259c643c59b08e5441c5459f9fd28cc3887dd8af39d8b5fccfab","signature":"cdcd30148236e330904c787b223b0338cd0919f2b8ff1dafe0ec9088f433d2be"},{"version":"354f33a38027920f605e6f0fd7922b06125877afd54cb3448f908ec74e91ee04","signature":"972c6f4226434f7592999e29fc046c8296f938ca0b82ce256343b102c7fd6578"},{"version":"835a9e60b27081c8af6515253dc1c7a6cd9010af59b48b0e15d5dcb1642ffec0","signature":"8f46fb233854abda67506286c93a6663eca47d94c2b7ef8fe8502eb0177aa2f4"},{"version":"f11c64e2b4bf74016e4e5e4730170bcff783179d8accc95dcf150cdcdfa37b0b","signature":"64c1fa518c2c121741cb78006edb099c75029d4ca05a5a002389a8f2232f6855"},{"version":"d0ccb82244530a7485a62b098db105eb9b4d6fc5943f8d86f2eee6427f03b9d5","signature":"f8eade3d225f8d6c56e36e7ae1ccde4b9efa3d5e63ebb3eb1321502a89ccc7c6"},{"version":"2175f0b86f9d8782f2c090599e8cf68d6de3fde158fd3527dd4b7e6e870e7d14","signature":"e747751ce0f866867398557e1faeac3067d41edbc078bd07de1946162e601d01"},{"version":"38d95eef3742890dbd3eee1bd958817ff5de1d60025af0202b9e7d07fdee3f14","signature":"0ef9c1f7913d2b4a15842742ec592b7ec0c803e585572f1a98e5fc9556833eab"},{"version":"13bc553447902bcb4a409b93438176c17a590beb9301d0490a8d26a957f72c15","signature":"831924cc6afc1839dec2523a98b364062504c30c2a668d2842842419a2fa260b"},{"version":"51770db0ebd7d7d0ae60be043e59ae5a2c42bbb1dd91da6933b3b6e0726d978c","signature":"914d6aa4029b41a5a112b9282f7b1d5ae6b3f46116c43aa613d92778fd0cb3c4"},{"version":"4f24fc4f039cecaf2768dafb876ddae0cb5912215d99d252993aeda1ec7a16ba","signature":"cbcd25e7c4eedf3e9df0bc8f80c36a4bd3d84410de35411bb2eb0fe78d7954e9"},"3e3c92a1eb358f0abd3ef107f6101b985b8f786ad8a3d87c1215c0704e493616","8a9b7a437bea4cc34e5e103e01573ab3afc4564a22c838942b6dcca0f68020e8",{"version":"e5064553fc2698775f84642bbf89d84d91b37a068a63b349112f9ae6323f3f59","signature":"f223977be4358942f266814602dd3cfa244f694fb05f6306d992e8c7db486daf"},"74fe889b1d2bba4b2893d518ba94e2b20dabe6d19d0c2f9554d9a5d3755710f4","053a19c91aaa80cc06d7113a41b7e776972bc1f31a4c7246e0164f6041918979",{"version":"e4d1ad1829ccd25645fd0dba70943a70096b4f8a83f094fba0a092a057677cfd","signature":"490687c2676424d6c5ffab2bab3dda44a847e7b6735bbba5dfad0d002032d4d3"},{"version":"b7f27db2f13667da80d1e315217b402a09c33c4cb8cdafe9cc1f3495c09c549c","signature":"04c14c85d86a8e8272b59562cdf2861378297fd344680a49dbc156adee04a886"},{"version":"5a0a6dcc2c4d290cfafd45b10d0bbaf70a848fcc22ddc3abcfc46ecd444106cf","signature":"ffff451c4764999d9af2f6e3684f64f168fb8a64a406e256119f31a18b0a6470"},{"version":"a7745f4c9c83500f6e8026570d6874091f18ec37d2b22fae44509b8149db3a47","signature":"51220202066f085b939c63a45ed2a85d688451dd3af2dae49dd1b0c9b838e3a5"},{"version":"a533b96d28737cb53ea74a97efb29e2d0aea7456bceef245a9ab08aefea41a20","signature":"d875652ffb9675aa3f5133f7f3b4da3ceb5463b874127cd97e0af9d6d3470655"},{"version":"d9a38c70377ec2abd6b056a76934fd73f3718b7e8785b1802ad3f6a1ec24f61b","signature":"4cbd3e197b2810099591ba1e0593911605a342158fd718eb461cf5e21d53f314"},{"version":"450a95c68f28837a1df46004a600a53acef95aa08a4045916722232d21b00abd","signature":"026e2217612ad8a7e65dc7bec850753387f73642ecd2d6e446586fccea399828"},{"version":"b1ca3adcdb5b0c1c9e0cc65576655faa102f062ca0ca44576f4f37aaa3583718","signature":"66a96753d6626f5e6de2b1aa1016d311209533440b297ebd1e016b7c66b6553c"},{"version":"fadcdb93eefe9433d5f15a8e35ef5bc3e0f41ce09c1ef9122470489f322d0de8","signature":"6df8b72b8f4655da4c9951c2fbbd0d95e649c08de074eec8e066d189e6794861"},{"version":"e689401170c8df754636d8e9ccb3230f280313146480e8208eaa6e49b0fe1768","signature":"75c6a0b4aea1f7ee093b071ecf40d4f5bc74758510506043e39d14feb0ce5387"},{"version":"321815a669e5b2929adc1fdf0ae2ddb807bc86688cf344f17a545c61dc421319","signature":"f3534590544c9873eec4f20537950e4675ad9f0334396128cdd8f46beddf540e"},{"version":"f18fdb8ca920aabe59316b65aee6651d8563590137e55fdba30886a5323afcf8","signature":"3ee6eb644a8049ca88bff4df69399da1a1b794317830389dac3ee7197635abdb"},{"version":"3428443295b8d0a7cfc9ce98723a72ba87e515440cc0545a1025752442f96654","signature":"62638e818cc8e534b030df1aa94629cd659307e8056768c3bc8b2f41c7dc09b0"},{"version":"28e0e48125f80361e67313545d7d240f8d9123c06d78182a0c376217c6daa36a","signature":"c243b16933d3b29f3684aa60b9b0d624bfb59cf0bdb48791ba8c8f1466b93395"},{"version":"02f199f7262396091a4f1773c0e86e3df69857d5e4ce17da5ab03b43ab43780f","signature":"baa94ae44e3f91357364c2981da84293b503addc44af57e489c22ca4f86bed51"},{"version":"050b82f0dc4a5b0273fdc5d6b1fb7181dd702c57d333e62723149dae3950ee2c","signature":"802143d369e1839189ae2ee619d6e830626d7bcee2080d568f754f771fd28a44"},{"version":"eb7b370b7b3063c2c9b8fb9a0a8c3dd6daa7595636c811f6666986a8f3b31afc","signature":"37519225df2259f2ac764cb062438d37d9c98962bf61267bce7a6a0987f88913"},{"version":"9ba17a57c97f708425ff50755f20c79f8e95b092685d8d551dc53ff89b438abc","signature":"498e8d3273af7599923f713a32e225ec1d40058328103499cba1524529f26891"},{"version":"0f1c31306e361e87fae11a55244c794eda0c376023d5d54f8ddc0a612e2b3168","signature":"58b00b098fc84d8197ebe77520eb0e12b02ea7cd43ef90a8b2612b57f5425e32"},{"version":"17303c17f4ff0a0e6f2e4aef80f0e5ec80f699b0a4be00c8e3f21cf5cf38c5fb","signature":"9a0164eef1b035904f7adf1dae957211beadbff20687d0a35ec36b2f5ffd6950"},{"version":"68632244a18dc43b884020bd9ee99157d587006c88f7aa5eedaff1f4b6b7a588","signature":"09ba065c5f87bc3f4edc22a232804c07b6599792a67bd708a5e3b538bf9791b4"},{"version":"125d6468899e401a2355dff5ed85c4d6fba003eb663c71a48a1e95b62b948ff1","signature":"5be64a32c3fb65cd3bd06375f3855c16deb36b21cf9450443d6b1f9683f94ae2"},{"version":"da6821b724a1f5683fabbc94789de2332d62ccea116a16324a7be855227e6a95","signature":"620172ad9fadef9b3d6f5cd80892b26940c0da810313b965c6f70d3392ebdc81"},{"version":"e1e471a4e4f3f062d0530dccd4f3b6ca9ed85f40a86d866b668e4e695a12c9a1","signature":"16f159858efc34c022e56afc32b5ea0da6a371017030df6dc21ad21ea7bc137d"},{"version":"e949b47572d1efa95e71ef2034811c2d99e455a1ad39df5a0502de368a72f251","signature":"386544823385e3fb32fd05d9438b4c7d58d41edacfaf38380eafc3899d7c1957"},{"version":"dc833d07395768febca5eabdc399263111a2666bdfd790bfeb0c2bbe5504479b","signature":"8581b6bba5b347c45d623ffba7374520a11ad842ad01f348f28df1dddd627062"},{"version":"6e78ad4b0411481420e89ac66331831abbdd527c1932f58d928aaec88b35a5ab","signature":"04f16fc10ab30f557a0159ad4b69ce9f8164fb639cf5c5c8a32e69473d9ea008"},{"version":"bc29a6270671e05b824031cb430b0f771766a6b578ff32d35a5b11e5f7ba6ae6","signature":"0c6b35f9004db8066219e61965517b4ba770f4a91ccd4fe5a63d57530d9b0d15"},{"version":"e530ac656c85768e43eff078af0eb5974980a382d0395c5125f6d7a0990c8b7c","signature":"766668294ada7ec970283414df6589a56dc43b3e4e229638cc4a901f09b8fcd7"},{"version":"6293ee0be7590530eb07ee7acd44834154abb8398f02277734bb1dd7d8792b63","signature":"ec15014f67f71c8371430cce9d96823c05a4c43e601b20f25a1eac26add748bd"},{"version":"c3dc6792365e7f70f08d9674f765b25f67206a89f26497286b1cf46f444466b6","signature":"ac64c3dabf8d90de2a7660eb141fb0192ee355a18f0dec8d0f2b0e3794564473"},{"version":"8e55dc967eb32fc602da9a111509cc4508d32d35b559c1988455273d8352db44","signature":"6565e52dd4e111dc2c7dbd4955a74421c5ab03802e85cd933a4e9898373ef8f1"},"bc90fb5b7ac9532ac8bbe8181112e58b9df8daa3b85a44c5122323ee4ecbc2bd","9261ae542670cb581169afafa421aeeaf0f6ccd6c8f2d97b8a97ee4be9986c3e","6247a016129906c76ba4012d2d77773c919ea33a96830b0a8d522a9790fc7efe","01e24df7c7f6c1dabd80333bdd4e61f996b70edec78cc8c372cc1de13d67cfa5","f4742762590497b770af445215e3a7cf1965664b39257dba4ce2a4317fc949d8",{"version":"ceeda631f23bd41ca5326b665a2f078199e5e190ab29a9a139e10c9564773042","affectsGlobalScope":true},{"version":"1b43d676651f4548af6a6ebd0e0d4a9d7583a3d478770ef5207a2931988fe4e4","affectsGlobalScope":true},"3594c022901a1c8993b0f78a3f534cfb81e7b619ed215348f7f6882f3db02abc","438284c7c455a29b9c0e2d1e72abc62ee93d9a163029ffe918a34c5db3b92da2","0c75b204aed9cf6ff1c7b4bed87a3ece0d9d6fc857a6350c0c95ed0c38c814e8","187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","c9f396e71966bd3a890d8a36a6a497dbf260e9b868158ea7824d4b5421210afe","509235563ea2b939e1bbe92aae17e71e6a82ceab8f568b45fb4fce7d72523a32","9364c7566b0be2f7b70ff5285eb34686f83ccb01bda529b82d23b2a844653bfb","00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","c311349ec71bb69399ffc4092853e7d8a86c1ca39ddb4cd129e775c19d985793","3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","4908e4c00832b26ce77a629de8501b0e23a903c094f9e79a7fec313a15da796a","2630a7cbb597e85d713b7ef47f2946d4280d3d4c02733282770741d40672b1a5",{"version":"0714e2046df66c0e93c3330d30dbc0565b3e8cd3ee302cf99e4ede6220e5fec8","affectsGlobalScope":true},"550650516d34048712520ffb1fce4a02f2d837761ee45c7d9868a7a35e7b0343","11aba3fa22da1d81bc86ab9e551c72267d217d0a480d3dda5cada8549597c5e4",{"version":"a1b3f2d5c8492001bef40ffd691ab195562e9e8b886cf9c4ed1246774d674dec","affectsGlobalScope":true},{"version":"060f0636cb83057f9a758cafc817b7be1e8612c4387dfe3fbadda865958cf8c1","affectsGlobalScope":true},{"version":"84c8e0dfd0d885abd37c1d213ef0b949dd8ef795291e7e7b1baadbbe4bc0f8a9","affectsGlobalScope":true},{"version":"9d21da8939908dafa89d693c3e22aabeef28c075b68bb863257e631deef520f5","affectsGlobalScope":true},{"version":"5261e21f183c6c1c3b65784cdab8c2a912b6f4cd5f8044a1421466a8c894f832","affectsGlobalScope":true},{"version":"8c4a3355af2c490a8af67c4ec304e970424a15ef648a3c3fbb3ee6634461e2cc","affectsGlobalScope":true},"06c5dad693aebbff00bd89fccb92bce6c132a6aa6033bb805560fa101e4fe77b","6739393f79c9a48ec82c6faa0d6b25d556daf3b6871fc4e5131f5445a13e7d15",{"version":"66a11cff774f91be73e9c9890fe16bcc4bce171d5d7bd47b19a0d3e396c5f4ad","affectsGlobalScope":true},{"version":"0b9ef3d2c7ea6e6b4c4f5634cfccd609b4c164067809c2da007bf56f52d98647","affectsGlobalScope":true},{"version":"9c64c2d7be898f9bba3472a95a5e5bcd37ae820ce6c1e2a4903d606ba621f638","affectsGlobalScope":true},"452234c0b8169349b658a4b5e2b271608879b3914fcc325735ed21b9cb88d58d","8e9c23ba78aabc2e0a27033f18737a6df754067731e69dc5f52823957d60a4b6",{"version":"eb0a79b91cda3b1bd685c17805cc7a734669b983826f18cc75eeb6266b1eb7cb","affectsGlobalScope":true},{"version":"326d76935bfa6ffe5b62a6807a59c123629032bd15a806e15103fd255ea0922b","affectsGlobalScope":true},{"version":"32a6e83d93b6ed30431bdfd124e7717ead7783b53ee07fa36c4f54d52a537893","affectsGlobalScope":true},{"version":"d0f7e7733d00981d550d8d78722634f27d13b063e8fef6d66ee444efc06d687f","affectsGlobalScope":true},{"version":"6757e50adf5370607dcfbcc179327b12bdfdd7e1ff19ea14a2bffb1bbeadf900","affectsGlobalScope":true},"91353032510f8961e70e92a01f8b44f050cd67d22f6c87c9e5169c657c622aff","e59262ddaae67dec2d226f8a5d05cf6c4dc353c0d9b1e4980a61d7fcf9a2b051","5e30131b6a5587fe666926ad1d9807e733c0a597ed12d682669fcaa331aea576","d27ead0e913b4225279e8beb10450ecaf54af5ed145a6ecbbed18bb130815006","7000ec8572390d035ba5ef993953957150d0c38ffb31b56653c97dd78cb6e1aa","056892cca68dca10a914f1580ba0e5710d26794e8707225dca9b5717ed702f1e","4ddf3962990379d1ea59b369a5516c7533b7944010d6998e0e9b1ab35d5af1f0","1bcd560deed90a43c51b08aa18f7f55229f2e30974ab5ed1b7bb5721be379013","dc08fe04e50bc24d1baded4f33e942222bbdd5d77d6341a93cfe6e4e4586a3be",{"version":"3a4ffdf3e63bb2762878354ba8ccdd7d471f0ffa18676a25acb050561576bada","affectsGlobalScope":true},"e705d981abdcb4d83571ff45276522ddc71bfe4a5e3711111b595328524f3c63"],"root":[[62,67],[69,118],[123,155],[157,169],[172,193],196,[199,230]],"options":{"composite":true,"declaration":true,"experimentalDecorators":true,"inlineSources":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"target":8,"tsBuildInfoFile":"./.tsbuildinfobuild"},"fileIdsList":[[272,273],[119],[236,260],[231],[233],[236],[264,265],[262,266,267],[232,234,235,237,250,252,253,254,260,261,262,263,267,268,269,270],[255,256,257,258,259],[238,240,241,242,243,244,245,246,247,248,249,250],[238,239,241,242,243,244,245,246,247,248,249,250],[239,240,241,242,243,244,245,246,247,248,249,250],[238,239,240,242,243,244,245,246,247,248,249,250],[238,239,240,241,243,244,245,246,247,248,249,250],[238,239,240,241,242,244,245,246,247,248,249,250],[238,239,240,241,242,243,245,246,247,248,249,250],[238,239,240,241,242,243,244,246,247,248,249,250],[238,239,240,241,242,243,244,245,247,248,249,250],[238,239,240,241,242,243,244,245,246,248,249,250],[238,239,240,241,242,243,244,245,246,247,249,250],[238,239,240,241,242,243,244,245,246,247,248,250],[238,239,240,241,242,243,244,245,246,247,248,249],[236,252],[251],[122,274],[122],[121,122],[120,121],[274,276,277,278],[276],[120,275],[170],[88,99,147,154],[67,69,72,78,87,96,97,102,104,106,112,138],[72,74,78],[77,138,156],[76],[67,137],[79,80,81,102,103,138],[62,66,92,93,94,100,102,138,139,140],[72,78],[67,72,75,84,85,137],[137],[74,75,76,77],[79,105],[90,117],[66,67,72,75,85,86,113,114,115,116,128,129,130,131,132,133,134,135,136,138],[77,114,115],[173],[174],[74,135,148,149,151,153],[74,97,153],[62,98,102,138,144],[62,79,87],[62,98,142,144,145,146],[97],[97,148,149,150],[94,139,141],[94,140,141],[67],[94,141],[94,101,138,141],[62,86,94,98,113,141],[62,86,89,94,96,113,141],[91,93,94,97,141],[141],[72,86,137],[164,165,166,167],[72,135,137],[116,137],[107,137,186,187,188],[67,137,158,175],[107,109,110,111,137,138],[100,138,141],[66,107,122,123,124,137,138],[82,83,97,99,101,138],[72],[73],[147,152],[62],[86,192],[62,63,142,143],[122,125,135,137,138,157,194,195,196,197,198],[77,137],[171],[67,74,86],[62,78,79,88,89,90,95,102,138],[117,126,137],[117,118,125,137,138],[64],[65],[70,71],[127,137],[108,109,137],[73,113,201],[186],[212],[202,203],[216],[108],[92],[271,279],[280],[77,122],[100,139,140],[67,72,116,135],[135,153],[153],[79],[150],[139],[140],[101],[116],[137,187,188],[100],[72,122,124,137],[99,101],[147],[143],[122,137,194,195,196,197,198],[121],[201],[67,72,116,135,137]],"referencedMap":[[274,1],[120,2],[261,3],[232,4],[234,5],[237,6],[266,7],[268,8],[271,9],[260,10],[239,11],[240,12],[238,13],[241,14],[242,15],[243,16],[244,17],[245,18],[246,19],[247,20],[248,21],[249,22],[250,23],[253,24],[252,25],[277,26],[121,27],[195,28],[197,27],[194,28],[198,28],[122,29],[156,27],[279,30],[275,31],[276,32],[171,33],[155,34],[113,35],[75,36],[157,37],[77,38],[138,39],[104,40],[141,41],[79,42],[86,43],[84,44],[78,45],[106,46],[162,47],[137,48],[116,49],[174,50],[175,51],[176,51],[177,51],[154,52],[178,53],[99,54],[88,55],[147,56],[149,57],[151,58],[179,59],[180,60],[94,61],[103,62],[100,63],[142,64],[131,62],[97,65],[95,66],[181,62],[182,67],[163,68],[168,69],[164,70],[166,71],[184,44],[185,44],[167,71],[189,72],[190,44],[191,73],[112,74],[136,44],[101,75],[124,44],[125,76],[102,77],[123,78],[80,78],[81,78],[105,78],[74,79],[153,80],[143,81],[85,44],[193,82],[192,61],[144,83],[98,61],[146,81],[145,81],[199,84],[196,28],[135,85],[172,86],[117,87],[90,61],[87,61],[96,88],[127,89],[126,90],[118,78],[65,91],[66,92],[72,93],[128,94],[205,44],[110,95],[210,96],[211,97],[213,98],[215,78],[63,81],[228,44],[229,99],[217,100],[218,44],[212,101],[93,102],[280,103],[281,104]],"exportedModulesMap":[[274,1],[120,2],[261,3],[232,4],[234,5],[237,6],[266,7],[268,8],[271,9],[260,10],[239,11],[240,12],[238,13],[241,14],[242,15],[243,16],[244,17],[245,18],[246,19],[247,20],[248,21],[249,22],[250,23],[253,24],[252,25],[277,26],[121,27],[195,28],[197,27],[194,28],[198,28],[122,29],[156,27],[279,30],[275,31],[276,32],[171,33],[155,34],[157,105],[138,44],[141,106],[79,78],[86,44],[84,44],[162,47],[137,107],[154,108],[178,109],[88,110],[151,111],[179,112],[180,113],[100,114],[163,44],[168,69],[164,70],[166,115],[184,44],[185,44],[167,115],[189,116],[191,39],[136,44],[101,117],[124,44],[125,118],[102,119],[123,78],[80,78],[81,78],[105,78],[153,120],[85,44],[144,121],[199,122],[196,123],[135,44],[127,44],[126,44],[118,78],[72,93],[128,44],[205,44],[210,124],[228,44],[229,99],[218,125],[280,103],[281,104]],"semanticDiagnosticsPerFile":[272,273,274,251,259,120,119,231,265,233,261,236,232,234,237,235,266,270,269,262,267,268,271,256,255,260,258,257,239,240,238,241,242,243,244,245,246,247,248,249,250,254,263,253,252,264,277,121,195,197,194,198,122,156,279,275,278,276,60,61,11,12,14,13,2,15,16,17,18,19,20,21,22,3,4,23,27,24,25,26,28,29,30,5,31,32,33,34,6,38,35,36,37,39,7,40,45,46,41,42,43,44,8,50,47,48,49,51,9,52,53,54,57,55,56,58,59,10,1,68,171,170,155,113,75,157,77,130,158,67,138,104,129,141,107,92,79,159,160,161,86,84,78,106,162,137,116,173,174,175,176,177,154,178,99,88,147,148,149,151,179,180,94,103,100,150,142,131,97,95,181,182,163,183,168,164,165,166,184,185,167,189,190,191,112,136,101,124,125,102,82,83,62,76,123,80,81,105,74,169,153,143,85,193,192,132,144,98,146,145,199,196,135,172,117,90,87,96,127,126,118,89,65,64,66,72,139,70,200,71,140,201,188,202,187,203,204,128,205,206,207,208,110,209,210,211,115,114,213,134,214,91,215,63,228,229,230,216,152,217,186,218,219,220,221,111,222,223,224,73,109,225,108,226,212,133,69,227,93,280,281],"latestChangedDtsFile":"./util/dragAndDrop/longDragOverHandler.d.ts"},"version":"5.2.2"}
@@ -13,6 +13,7 @@ declare const getLanguage: () => string | undefined;
13
13
  declare const getFetchDefaultLanguage: () => boolean;
14
14
  declare const getNoConflict: () => boolean;
15
15
  declare const getDefaultFontLoading: () => boolean;
16
+ declare const getEnableDefaultTooltips: () => boolean;
16
17
  /**
17
18
  * Get the configured calendar type
18
19
  * @returns { String } the name of the configured calendar type
@@ -25,4 +26,9 @@ declare const getSecondaryCalendarType: () => CalendarType | undefined;
25
26
  */
26
27
  declare const getTimezone: () => string | undefined;
27
28
  declare const getFormatSettings: () => FormatSettings;
28
- export { getAnimationMode, getTheme, getThemeRoot, getLanguage, getFetchDefaultLanguage, getNoConflict, getCalendarType, getSecondaryCalendarType, getTimezone, getFormatSettings, getDefaultFontLoading, };
29
+ /**
30
+ * Internaly exposed method to enable configurations in tests.
31
+ * @private
32
+ */
33
+ declare const resetConfiguration: (testEnv?: boolean) => void;
34
+ export { getAnimationMode, getTheme, getThemeRoot, getLanguage, getFetchDefaultLanguage, getNoConflict, getCalendarType, getSecondaryCalendarType, getTimezone, getFormatSettings, getDefaultFontLoading, resetConfiguration, getEnableDefaultTooltips, };
@@ -3,6 +3,8 @@ import { getFeature } from "./FeaturesRegistry.js";
3
3
  import { DEFAULT_THEME } from "./generated/AssetParameters.js";
4
4
  import validateThemeRoot from "./validateThemeRoot.js";
5
5
  import AnimationMode from "./types/AnimationMode.js";
6
+ import { resetConfiguration as resetConfigurationFn } from "./config/ConfigurationReset.js";
7
+ import { getLocationSearch } from "./Location.js";
6
8
  let initialized = false;
7
9
  let initialConfig = {
8
10
  animationMode: AnimationMode.Full,
@@ -17,6 +19,7 @@ let initialConfig = {
17
19
  formatSettings: {},
18
20
  fetchDefaultLanguage: false,
19
21
  defaultFontLoading: true,
22
+ enableDefaultTooltips: true,
20
23
  };
21
24
  /* General settings */
22
25
  const getAnimationMode = () => {
@@ -52,6 +55,10 @@ const getDefaultFontLoading = () => {
52
55
  initConfiguration();
53
56
  return initialConfig.defaultFontLoading;
54
57
  };
58
+ const getEnableDefaultTooltips = () => {
59
+ initConfiguration();
60
+ return initialConfig.enableDefaultTooltips;
61
+ };
55
62
  /**
56
63
  * Get the configured calendar type
57
64
  * @returns { String } the name of the configured calendar type
@@ -95,7 +102,7 @@ const parseConfigurationScript = () => {
95
102
  }
96
103
  };
97
104
  const parseURLParameters = () => {
98
- const params = new URLSearchParams(window.location.search);
105
+ const params = new URLSearchParams(getLocationSearch());
99
106
  // Process "sap-*" params first
100
107
  params.forEach((value, key) => {
101
108
  const parts = key.split("sap-").length;
@@ -150,13 +157,23 @@ const initConfiguration = () => {
150
157
  if (typeof document === "undefined" || initialized) {
151
158
  return;
152
159
  }
160
+ resetConfiguration();
161
+ initialized = true;
162
+ };
163
+ /**
164
+ * Internaly exposed method to enable configurations in tests.
165
+ * @private
166
+ */
167
+ const resetConfiguration = (testEnv) => {
168
+ if (testEnv) {
169
+ resetConfigurationFn();
170
+ }
153
171
  // 1. Lowest priority - configuration script
154
172
  parseConfigurationScript();
155
173
  // 2. URL parameters overwrite configuration script parameters
156
174
  parseURLParameters();
157
175
  // 3. If OpenUI5 is detected, it has the highest priority
158
176
  applyOpenUI5Configuration();
159
- initialized = true;
160
177
  };
161
- export { getAnimationMode, getTheme, getThemeRoot, getLanguage, getFetchDefaultLanguage, getNoConflict, getCalendarType, getSecondaryCalendarType, getTimezone, getFormatSettings, getDefaultFontLoading, };
178
+ export { getAnimationMode, getTheme, getThemeRoot, getLanguage, getFetchDefaultLanguage, getNoConflict, getCalendarType, getSecondaryCalendarType, getTimezone, getFormatSettings, getDefaultFontLoading, resetConfiguration, getEnableDefaultTooltips, };
162
179
  //# sourceMappingURL=InitialConfiguration.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InitialConfiguration.js","sourceRoot":"","sources":["../src/InitialConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["import merge from \"./thirdparty/merge.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport { DEFAULT_THEME } from \"./generated/AssetParameters.js\";\nimport validateThemeRoot from \"./validateThemeRoot.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\nimport type { FormatSettings } from \"./config/FormatSettings.js\";\nimport AnimationMode from \"./types/AnimationMode.js\";\nimport type CalendarType from \"./types/CalendarType.js\";\n\nlet initialized = false;\n\ntype InitialConfig = {\n\t[key: string]: any,\n\tanimationMode: AnimationMode,\n\ttheme: string,\n\tthemeRoot: string | undefined,\n\tlanguage: string | undefined,\n\tcalendarType: CalendarType | undefined,\n\tsecondaryCalendarType: CalendarType | undefined,\n\ttimezone: string | undefined,\n\tnoConflict: boolean,\n\tformatSettings: FormatSettings,\n\tfetchDefaultLanguage: boolean,\n\tdefaultFontLoading: boolean,\n};\n\nlet initialConfig: InitialConfig = {\n\tanimationMode: AnimationMode.Full,\n\ttheme: DEFAULT_THEME,\n\tthemeRoot: undefined,\n\trtl: undefined,\n\tlanguage: undefined,\n\ttimezone: undefined,\n\tcalendarType: undefined,\n\tsecondaryCalendarType: undefined,\n\tnoConflict: false, // no URL\n\tformatSettings: {},\n\tfetchDefaultLanguage: false,\n\tdefaultFontLoading: true,\n};\n\n/* General settings */\nconst getAnimationMode = () => {\n\tinitConfiguration();\n\treturn initialConfig.animationMode;\n};\n\nconst getTheme = () => {\n\tinitConfiguration();\n\treturn initialConfig.theme;\n};\n\nconst getThemeRoot = () => {\n\tinitConfiguration();\n\treturn initialConfig.themeRoot;\n};\n\nconst getLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.language;\n};\n\n/**\n * Returns if the default language, that is inlined at build time,\n * should be fetched over the network instead.\n * @returns {Boolean}\n */\nconst getFetchDefaultLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.fetchDefaultLanguage;\n};\n\nconst getNoConflict = () => {\n\tinitConfiguration();\n\treturn initialConfig.noConflict;\n};\n\nconst getDefaultFontLoading = () => {\n\tinitConfiguration();\n\treturn initialConfig.defaultFontLoading;\n};\n\n/**\n * Get the configured calendar type\n * @returns { String } the name of the configured calendar type\n */\nconst getCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.calendarType;\n};\n\nconst getSecondaryCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.secondaryCalendarType;\n};\n\n/**\n * Returns the configured IANA timezone ID.\n * @returns { String } the configured IANA timezone ID, e.g. \"America/New_York\"\n */\nconst getTimezone = () => {\n\tinitConfiguration();\n\treturn initialConfig.timezone;\n};\n\nconst getFormatSettings = () => {\n\tinitConfiguration();\n\treturn initialConfig.formatSettings;\n};\n\nconst booleanMapping = new Map();\nbooleanMapping.set(\"true\", true);\nbooleanMapping.set(\"false\", false);\n\nconst parseConfigurationScript = () => {\n\tconst configScript = document.querySelector(\"[data-ui5-config]\") || document.querySelector(\"[data-id='sap-ui-config']\"); // for backward compatibility\n\n\tlet configJSON;\n\n\tif (configScript) {\n\t\ttry {\n\t\t\tconfigJSON = JSON.parse(configScript.innerHTML);\n\t\t} catch (err) {\n\t\t\tconsole.warn(\"Incorrect data-sap-ui-config format. Please use JSON\"); /* eslint-disable-line */\n\t\t}\n\n\t\tif (configJSON) {\n\t\t\tinitialConfig = merge(initialConfig, configJSON);\n\t\t}\n\t}\n};\n\nconst parseURLParameters = () => {\n\tconst params = new URLSearchParams(window.location.search);\n\n\t// Process \"sap-*\" params first\n\tparams.forEach((value, key) => {\n\t\tconst parts = key.split(\"sap-\").length;\n\t\tif (parts === 0 || parts === key.split(\"sap-ui-\").length) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap\");\n\t});\n\n\t// Process \"sap-ui-*\" params\n\tparams.forEach((value, key) => {\n\t\tif (!key.startsWith(\"sap-ui\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap-ui\");\n\t});\n};\n\nconst normalizeThemeRootParamValue = (value: string) => {\n\tconst themeRoot = value.split(\"@\")[1];\n\n\treturn validateThemeRoot(themeRoot);\n};\n\nconst normalizeThemeParamValue = (param: string, value: string) => {\n\tif (param === \"theme\" && value.includes(\"@\")) { // the theme parameter might have @<URL-TO-THEME> in the value - strip this\n\t\treturn value.split(\"@\")[0];\n\t}\n\n\treturn value;\n};\n\nconst applyURLParam = (key: string, value: string, paramType: string) => {\n\tconst lowerCaseValue = value.toLowerCase();\n\tconst param = key.split(`${paramType}-`)[1];\n\n\tif (booleanMapping.has(value)) {\n\t\tvalue = booleanMapping.get(lowerCaseValue);\n\t}\n\n\tif (param === \"theme\") {\n\t\tinitialConfig.theme = normalizeThemeParamValue(param, value);\n\n\t\tif (value && value.includes(\"@\")) {\n\t\t\tinitialConfig.themeRoot = normalizeThemeRootParamValue(value);\n\t\t}\n\t} else {\n\t\tinitialConfig[param] = value;\n\t}\n};\n\nconst applyOpenUI5Configuration = () => {\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (!openUI5Support || !openUI5Support.isOpenUI5Detected()) {\n\t\treturn;\n\t}\n\n\tconst OpenUI5Config = openUI5Support.getConfigurationSettingsObject();\n\tinitialConfig = merge(initialConfig, OpenUI5Config);\n};\n\nconst initConfiguration = () => {\n\tif (typeof document === \"undefined\" || initialized) {\n\t\treturn;\n\t}\n\n\t// 1. Lowest priority - configuration script\n\tparseConfigurationScript();\n\n\t// 2. URL parameters overwrite configuration script parameters\n\tparseURLParameters();\n\n\t// 3. If OpenUI5 is detected, it has the highest priority\n\tapplyOpenUI5Configuration();\n\n\tinitialized = true;\n};\n\nexport {\n\tgetAnimationMode,\n\tgetTheme,\n\tgetThemeRoot,\n\tgetLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tgetCalendarType,\n\tgetSecondaryCalendarType,\n\tgetTimezone,\n\tgetFormatSettings,\n\tgetDefaultFontLoading,\n};\n"]}
1
+ {"version":3,"file":"InitialConfiguration.js","sourceRoot":"","sources":["../src/InitialConfiguration.ts"],"names":[],"mappings":"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","sourcesContent":["import merge from \"./thirdparty/merge.js\";\nimport { getFeature } from \"./FeaturesRegistry.js\";\nimport { DEFAULT_THEME } from \"./generated/AssetParameters.js\";\nimport validateThemeRoot from \"./validateThemeRoot.js\";\nimport type OpenUI5Support from \"./features/OpenUI5Support.js\";\nimport type { FormatSettings } from \"./config/FormatSettings.js\";\nimport AnimationMode from \"./types/AnimationMode.js\";\nimport type CalendarType from \"./types/CalendarType.js\";\nimport { resetConfiguration as resetConfigurationFn } from \"./config/ConfigurationReset.js\";\nimport { getLocationSearch } from \"./Location.js\";\n\nlet initialized = false;\n\ntype InitialConfig = {\n\t[key: string]: any,\n\tanimationMode: AnimationMode,\n\ttheme: string,\n\tthemeRoot: string | undefined,\n\tlanguage: string | undefined,\n\tcalendarType: CalendarType | undefined,\n\tsecondaryCalendarType: CalendarType | undefined,\n\ttimezone: string | undefined,\n\tnoConflict: boolean,\n\tformatSettings: FormatSettings,\n\tfetchDefaultLanguage: boolean,\n\tdefaultFontLoading: boolean,\n\tenableDefaultTooltips: boolean,\n};\n\nlet initialConfig: InitialConfig = {\n\tanimationMode: AnimationMode.Full,\n\ttheme: DEFAULT_THEME,\n\tthemeRoot: undefined,\n\trtl: undefined,\n\tlanguage: undefined,\n\ttimezone: undefined,\n\tcalendarType: undefined,\n\tsecondaryCalendarType: undefined,\n\tnoConflict: false, // no URL\n\tformatSettings: {},\n\tfetchDefaultLanguage: false,\n\tdefaultFontLoading: true,\n\tenableDefaultTooltips: true,\n};\n\n/* General settings */\nconst getAnimationMode = () => {\n\tinitConfiguration();\n\treturn initialConfig.animationMode;\n};\n\nconst getTheme = () => {\n\tinitConfiguration();\n\treturn initialConfig.theme;\n};\n\nconst getThemeRoot = () => {\n\tinitConfiguration();\n\treturn initialConfig.themeRoot;\n};\n\nconst getLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.language;\n};\n\n/**\n * Returns if the default language, that is inlined at build time,\n * should be fetched over the network instead.\n * @returns {Boolean}\n */\nconst getFetchDefaultLanguage = () => {\n\tinitConfiguration();\n\treturn initialConfig.fetchDefaultLanguage;\n};\n\nconst getNoConflict = () => {\n\tinitConfiguration();\n\treturn initialConfig.noConflict;\n};\n\nconst getDefaultFontLoading = () => {\n\tinitConfiguration();\n\treturn initialConfig.defaultFontLoading;\n};\n\nconst getEnableDefaultTooltips = () => {\n\tinitConfiguration();\n\treturn initialConfig.enableDefaultTooltips;\n};\n\n/**\n * Get the configured calendar type\n * @returns { String } the name of the configured calendar type\n */\nconst getCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.calendarType;\n};\n\nconst getSecondaryCalendarType = () => {\n\tinitConfiguration();\n\treturn initialConfig.secondaryCalendarType;\n};\n\n/**\n * Returns the configured IANA timezone ID.\n * @returns { String } the configured IANA timezone ID, e.g. \"America/New_York\"\n */\nconst getTimezone = () => {\n\tinitConfiguration();\n\treturn initialConfig.timezone;\n};\n\nconst getFormatSettings = () => {\n\tinitConfiguration();\n\treturn initialConfig.formatSettings;\n};\n\nconst booleanMapping = new Map();\nbooleanMapping.set(\"true\", true);\nbooleanMapping.set(\"false\", false);\n\nconst parseConfigurationScript = () => {\n\tconst configScript = document.querySelector(\"[data-ui5-config]\") || document.querySelector(\"[data-id='sap-ui-config']\"); // for backward compatibility\n\n\tlet configJSON;\n\n\tif (configScript) {\n\t\ttry {\n\t\t\tconfigJSON = JSON.parse(configScript.innerHTML);\n\t\t} catch (err) {\n\t\t\tconsole.warn(\"Incorrect data-sap-ui-config format. Please use JSON\"); /* eslint-disable-line */\n\t\t}\n\n\t\tif (configJSON) {\n\t\t\tinitialConfig = merge(initialConfig, configJSON);\n\t\t}\n\t}\n};\n\nconst parseURLParameters = () => {\n\tconst params = new URLSearchParams(getLocationSearch());\n\n\t// Process \"sap-*\" params first\n\tparams.forEach((value, key) => {\n\t\tconst parts = key.split(\"sap-\").length;\n\t\tif (parts === 0 || parts === key.split(\"sap-ui-\").length) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap\");\n\t});\n\n\t// Process \"sap-ui-*\" params\n\tparams.forEach((value, key) => {\n\t\tif (!key.startsWith(\"sap-ui\")) {\n\t\t\treturn;\n\t\t}\n\n\t\tapplyURLParam(key, value, \"sap-ui\");\n\t});\n};\n\nconst normalizeThemeRootParamValue = (value: string) => {\n\tconst themeRoot = value.split(\"@\")[1];\n\n\treturn validateThemeRoot(themeRoot);\n};\n\nconst normalizeThemeParamValue = (param: string, value: string) => {\n\tif (param === \"theme\" && value.includes(\"@\")) { // the theme parameter might have @<URL-TO-THEME> in the value - strip this\n\t\treturn value.split(\"@\")[0];\n\t}\n\n\treturn value;\n};\n\nconst applyURLParam = (key: string, value: string, paramType: string) => {\n\tconst lowerCaseValue = value.toLowerCase();\n\tconst param = key.split(`${paramType}-`)[1];\n\n\tif (booleanMapping.has(value)) {\n\t\tvalue = booleanMapping.get(lowerCaseValue);\n\t}\n\n\tif (param === \"theme\") {\n\t\tinitialConfig.theme = normalizeThemeParamValue(param, value);\n\n\t\tif (value && value.includes(\"@\")) {\n\t\t\tinitialConfig.themeRoot = normalizeThemeRootParamValue(value);\n\t\t}\n\t} else {\n\t\tinitialConfig[param] = value;\n\t}\n};\n\nconst applyOpenUI5Configuration = () => {\n\tconst openUI5Support = getFeature<typeof OpenUI5Support>(\"OpenUI5Support\");\n\tif (!openUI5Support || !openUI5Support.isOpenUI5Detected()) {\n\t\treturn;\n\t}\n\n\tconst OpenUI5Config = openUI5Support.getConfigurationSettingsObject();\n\tinitialConfig = merge(initialConfig, OpenUI5Config);\n};\n\nconst initConfiguration = () => {\n\tif (typeof document === \"undefined\" || initialized) {\n\t\treturn;\n\t}\n\n\tresetConfiguration();\n\n\tinitialized = true;\n};\n\n/**\n * Internaly exposed method to enable configurations in tests.\n * @private\n */\nconst resetConfiguration = (testEnv?: boolean) => {\n\tif (testEnv) {\n\t\tresetConfigurationFn();\n\t}\n\t// 1. Lowest priority - configuration script\n\tparseConfigurationScript();\n\n\t// 2. URL parameters overwrite configuration script parameters\n\tparseURLParameters();\n\n\t// 3. If OpenUI5 is detected, it has the highest priority\n\tapplyOpenUI5Configuration();\n};\n\nexport {\n\tgetAnimationMode,\n\tgetTheme,\n\tgetThemeRoot,\n\tgetLanguage,\n\tgetFetchDefaultLanguage,\n\tgetNoConflict,\n\tgetCalendarType,\n\tgetSecondaryCalendarType,\n\tgetTimezone,\n\tgetFormatSettings,\n\tgetDefaultFontLoading,\n\tresetConfiguration,\n\tgetEnableDefaultTooltips,\n};\n"]}
@@ -0,0 +1,10 @@
1
+ declare const internals: {
2
+ search(): string;
3
+ };
4
+ declare const getLocationHostname: () => string;
5
+ declare const getLocationPort: () => string;
6
+ declare const getLocationProtocol: () => string;
7
+ declare const getLocationHref: () => string;
8
+ declare const getLocationSearch: () => string;
9
+ declare const locationReload: () => void;
10
+ export { internals, locationReload, getLocationHref, getLocationSearch, getLocationHostname, getLocationPort, getLocationProtocol, };
@@ -0,0 +1,43 @@
1
+ const isSSR = typeof document === "undefined";
2
+ const internals = {
3
+ search() {
4
+ if (isSSR) {
5
+ return "";
6
+ }
7
+ return window.location.search;
8
+ },
9
+ };
10
+ const getLocationHostname = () => {
11
+ if (isSSR) {
12
+ return "";
13
+ }
14
+ return window.location.hostname;
15
+ };
16
+ const getLocationPort = () => {
17
+ if (isSSR) {
18
+ return "";
19
+ }
20
+ return window.location.port;
21
+ };
22
+ const getLocationProtocol = () => {
23
+ if (isSSR) {
24
+ return "";
25
+ }
26
+ return window.location.protocol;
27
+ };
28
+ const getLocationHref = () => {
29
+ if (isSSR) {
30
+ return "";
31
+ }
32
+ return window.location.href;
33
+ };
34
+ const getLocationSearch = () => {
35
+ return internals.search();
36
+ };
37
+ const locationReload = () => {
38
+ if (!isSSR) {
39
+ window.location.reload();
40
+ }
41
+ };
42
+ export { internals, locationReload, getLocationHref, getLocationSearch, getLocationHostname, getLocationPort, getLocationProtocol, };
43
+ //# sourceMappingURL=Location.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"Location.js","sourceRoot":"","sources":["../src/Location.ts"],"names":[],"mappings":"AAAA,MAAM,KAAK,GAAG,OAAO,QAAQ,KAAK,WAAW,CAAC;AAE9C,MAAM,SAAS,GAAG;IACjB,MAAM;QACL,IAAI,KAAK,EAAE;YACV,OAAO,EAAE,CAAC;SACV;QACD,OAAO,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC;IAC/B,CAAC;CACD,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,IAAI,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACV;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,IAAI,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACV;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,mBAAmB,GAAG,GAAG,EAAE;IAChC,IAAI,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACV;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,QAAQ,CAAC;AACjC,CAAC,CAAC;AAEF,MAAM,eAAe,GAAG,GAAG,EAAE;IAC5B,IAAI,KAAK,EAAE;QACV,OAAO,EAAE,CAAC;KACV;IAED,OAAO,MAAM,CAAC,QAAQ,CAAC,IAAI,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,GAAG,EAAE;IAC9B,OAAO,SAAS,CAAC,MAAM,EAAE,CAAC;AAC3B,CAAC,CAAC;AAEF,MAAM,cAAc,GAAG,GAAG,EAAE;IAC3B,IAAI,CAAC,KAAK,EAAE;QACX,MAAM,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;KACzB;AACF,CAAC,CAAC;AAEF,OAAO,EACN,SAAS,EACT,cAAc,EACd,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,eAAe,EACf,mBAAmB,GACnB,CAAC","sourcesContent":["const isSSR = typeof document === \"undefined\";\n\nconst internals = {\n\tsearch() {\n\t\tif (isSSR) {\n\t\t\treturn \"\";\n\t\t}\n\t\treturn window.location.search;\n\t},\n};\n\nconst getLocationHostname = () => {\n\tif (isSSR) {\n\t\treturn \"\";\n\t}\n\n\treturn window.location.hostname;\n};\n\nconst getLocationPort = () => {\n\tif (isSSR) {\n\t\treturn \"\";\n\t}\n\n\treturn window.location.port;\n};\n\nconst getLocationProtocol = () => {\n\tif (isSSR) {\n\t\treturn \"\";\n\t}\n\n\treturn window.location.protocol;\n};\n\nconst getLocationHref = () => {\n\tif (isSSR) {\n\t\treturn \"\";\n\t}\n\n\treturn window.location.href;\n};\n\nconst getLocationSearch = () => {\n\treturn internals.search();\n};\n\nconst locationReload = () => {\n\tif (!isSSR) {\n\t\twindow.location.reload();\n\t}\n};\n\nexport {\n\tinternals,\n\tlocationReload,\n\tgetLocationHref,\n\tgetLocationSearch,\n\tgetLocationHostname,\n\tgetLocationPort,\n\tgetLocationProtocol,\n};\n"]}
package/dist/Runtimes.js CHANGED
@@ -1,3 +1,5 @@
1
+ import { getAllRegisteredTags } from "./CustomElementsRegistry.js";
2
+ import { getCustomElementsScopingRules, getCustomElementsScopingSuffix } from "./CustomElementsScopeUtils.js";
1
3
  import VersionInfo from "./generated/VersionInfo.js";
2
4
  import getSharedResource from "./getSharedResource.js";
3
5
  let currentRuntimeIndex;
@@ -18,6 +20,15 @@ const registerCurrentRuntime = () => {
18
20
  const versionInfo = VersionInfo;
19
21
  Runtimes.push({
20
22
  ...versionInfo,
23
+ get scopingSuffix() {
24
+ return getCustomElementsScopingSuffix();
25
+ },
26
+ get registeredTags() {
27
+ return getAllRegisteredTags();
28
+ },
29
+ get scopingRules() {
30
+ return getCustomElementsScopingRules();
31
+ },
21
32
  alias: currentRuntimeAlias,
22
33
  description: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : ""}`,
23
34
  });
@@ -1 +1 @@
1
- {"version":3,"file":"Runtimes.js","sourceRoot":"","sources":["../src/Runtimes.ts"],"names":[],"mappings":"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","sourcesContent":["import VersionInfo from \"./generated/VersionInfo.js\";\nimport getSharedResource from \"./getSharedResource.js\";\n\ntype RuntimeData = VersionInfo & {\n\talias: string,\n\tdescription: string,\n};\n\nlet currentRuntimeIndex: number;\nlet currentRuntimeAlias = \"\";\n\nconst compareCache = new Map<string, number>();\n\n/**\n * Central registry where all runtimes register themselves by pushing an object.\n * The index in the registry servers as an ID for the runtime.\n * @type {*}\n */\nconst Runtimes = getSharedResource<Array<RuntimeData>>(\"Runtimes\", []);\n\n/**\n * Registers the current runtime in the shared runtimes resource registry\n */\nconst registerCurrentRuntime = () => {\n\tif (currentRuntimeIndex === undefined) {\n\t\tcurrentRuntimeIndex = Runtimes.length;\n\t\tconst versionInfo = VersionInfo;\n\n\t\tRuntimes.push({\n\t\t\t...versionInfo,\n\t\t\talias: currentRuntimeAlias,\n\t\t\tdescription: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : \"\"}`,\n\t\t});\n\t}\n};\n\n/**\n * Returns the index of the current runtime's object in the shared runtimes resource registry\n * @returns {*}\n */\nconst getCurrentRuntimeIndex = () => {\n\treturn currentRuntimeIndex;\n};\n\n/**\n * Compares two runtimes and returns 1 if the first is of a bigger version, -1 if the second is of a bigger version, and 0 if equal\n * @param index1 The index of the first runtime to compare\n * @param index2 The index of the second runtime to compare\n * @returns {number}\n */\nconst compareRuntimes = (index1: number, index2: number) => {\n\tconst cacheIndex = `${index1},${index2}`;\n\tif (compareCache.has(cacheIndex)) {\n\t\treturn compareCache.get(cacheIndex)!;\n\t}\n\n\tconst runtime1 = Runtimes[index1];\n\tconst runtime2 = Runtimes[index2];\n\n\tif (!runtime1 || !runtime2) {\n\t\tthrow new Error(\"Invalid runtime index supplied\");\n\t}\n\n\t// If any of the two is a next version, bigger buildTime wins\n\tif (runtime1.isNext || runtime2.isNext) {\n\t\treturn runtime1.buildTime - runtime2.buildTime;\n\t}\n\n\t// If major versions differ, bigger one wins\n\tconst majorDiff = runtime1.major - runtime2.major;\n\tif (majorDiff) {\n\t\treturn majorDiff;\n\t}\n\n\t// If minor versions differ, bigger one wins\n\tconst minorDiff = runtime1.minor - runtime2.minor;\n\tif (minorDiff) {\n\t\treturn minorDiff;\n\t}\n\n\t// If patch versions differ, bigger one wins\n\tconst patchDiff = runtime1.patch - runtime2.patch;\n\tif (patchDiff) {\n\t\treturn patchDiff;\n\t}\n\n\t// Bigger suffix wins, f.e. rc10 > rc9\n\t// Important: suffix is alphanumeric, must use natural compare\n\tconst collator = new Intl.Collator(undefined, { numeric: true, sensitivity: \"base\" });\n\tconst result = collator.compare(runtime1.suffix, runtime2.suffix);\n\n\tcompareCache.set(cacheIndex, result);\n\treturn result;\n};\n\n/**\n * Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings\n * @param alias\n */\nconst setRuntimeAlias = (alias: string) => {\n\tcurrentRuntimeAlias = alias;\n};\n\nconst getAllRuntimes = () => {\n\treturn Runtimes;\n};\n\nexport {\n\tgetCurrentRuntimeIndex,\n\tregisterCurrentRuntime,\n\tcompareRuntimes,\n\tsetRuntimeAlias,\n\tgetAllRuntimes,\n};\n"]}
1
+ {"version":3,"file":"Runtimes.js","sourceRoot":"","sources":["../src/Runtimes.ts"],"names":[],"mappings":"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","sourcesContent":["import { getAllRegisteredTags } from \"./CustomElementsRegistry.js\";\nimport { getCustomElementsScopingRules, getCustomElementsScopingSuffix } from \"./CustomElementsScopeUtils.js\";\nimport VersionInfo from \"./generated/VersionInfo.js\";\nimport getSharedResource from \"./getSharedResource.js\";\n\ntype RuntimeData = VersionInfo & {\n\talias: string,\n\tdescription: string,\n};\n\nlet currentRuntimeIndex: number;\nlet currentRuntimeAlias = \"\";\n\nconst compareCache = new Map<string, number>();\n\n/**\n * Central registry where all runtimes register themselves by pushing an object.\n * The index in the registry servers as an ID for the runtime.\n * @type {*}\n */\nconst Runtimes = getSharedResource<Array<RuntimeData>>(\"Runtimes\", []);\n\n/**\n * Registers the current runtime in the shared runtimes resource registry\n */\nconst registerCurrentRuntime = () => {\n\tif (currentRuntimeIndex === undefined) {\n\t\tcurrentRuntimeIndex = Runtimes.length;\n\t\tconst versionInfo = VersionInfo;\n\n\t\tRuntimes.push({\n\t\t\t...versionInfo,\n\t\t\tget scopingSuffix() {\n\t\t\t\treturn getCustomElementsScopingSuffix();\n\t\t\t},\n\t\t\tget registeredTags() {\n\t\t\t\treturn getAllRegisteredTags();\n\t\t\t},\n\t\t\tget scopingRules() {\n\t\t\t\treturn getCustomElementsScopingRules();\n\t\t\t},\n\t\t\talias: currentRuntimeAlias,\n\t\t\tdescription: `Runtime ${currentRuntimeIndex} - ver ${versionInfo.version}${currentRuntimeAlias ? ` (${currentRuntimeAlias})` : \"\"}`,\n\t\t});\n\t}\n};\n\n/**\n * Returns the index of the current runtime's object in the shared runtimes resource registry\n * @returns {*}\n */\nconst getCurrentRuntimeIndex = () => {\n\treturn currentRuntimeIndex;\n};\n\n/**\n * Compares two runtimes and returns 1 if the first is of a bigger version, -1 if the second is of a bigger version, and 0 if equal\n * @param index1 The index of the first runtime to compare\n * @param index2 The index of the second runtime to compare\n * @returns {number}\n */\nconst compareRuntimes = (index1: number, index2: number) => {\n\tconst cacheIndex = `${index1},${index2}`;\n\tif (compareCache.has(cacheIndex)) {\n\t\treturn compareCache.get(cacheIndex)!;\n\t}\n\n\tconst runtime1 = Runtimes[index1];\n\tconst runtime2 = Runtimes[index2];\n\n\tif (!runtime1 || !runtime2) {\n\t\tthrow new Error(\"Invalid runtime index supplied\");\n\t}\n\n\t// If any of the two is a next version, bigger buildTime wins\n\tif (runtime1.isNext || runtime2.isNext) {\n\t\treturn runtime1.buildTime - runtime2.buildTime;\n\t}\n\n\t// If major versions differ, bigger one wins\n\tconst majorDiff = runtime1.major - runtime2.major;\n\tif (majorDiff) {\n\t\treturn majorDiff;\n\t}\n\n\t// If minor versions differ, bigger one wins\n\tconst minorDiff = runtime1.minor - runtime2.minor;\n\tif (minorDiff) {\n\t\treturn minorDiff;\n\t}\n\n\t// If patch versions differ, bigger one wins\n\tconst patchDiff = runtime1.patch - runtime2.patch;\n\tif (patchDiff) {\n\t\treturn patchDiff;\n\t}\n\n\t// Bigger suffix wins, f.e. rc10 > rc9\n\t// Important: suffix is alphanumeric, must use natural compare\n\tconst collator = new Intl.Collator(undefined, { numeric: true, sensitivity: \"base\" });\n\tconst result = collator.compare(runtime1.suffix, runtime2.suffix);\n\n\tcompareCache.set(cacheIndex, result);\n\treturn result;\n};\n\n/**\n * Set an alias for the the current app/library/microfrontend which will appear in debug messages and console warnings\n * @param alias\n */\nconst setRuntimeAlias = (alias: string) => {\n\tcurrentRuntimeAlias = alias;\n};\n\nconst getAllRuntimes = () => {\n\treturn Runtimes;\n};\n\nexport {\n\tgetCurrentRuntimeIndex,\n\tregisterCurrentRuntime,\n\tcompareRuntimes,\n\tsetRuntimeAlias,\n\tgetAllRuntimes,\n};\n"]}
@@ -492,16 +492,20 @@ class UI5Element extends HTMLElement {
492
492
  // eslint-disable-next-line
493
493
  console.error(`[UI5-FWK] numeric value for property [${name}] of component [${tag}] is missing "{ type: Number }" in its property decorator. Attribute conversion will treat it as a string. If this is intended, pass the value converted to string, otherwise add the type to the property decorator`);
494
494
  }
495
+ if (typeof newValue === "string" && propData.type && propData.type !== String) {
496
+ // eslint-disable-next-line
497
+ console.error(`[UI5-FWK] string value for property [${name}] of component [${tag}] which has a non-string type [${propData.type}] in its property decorator. Attribute conversion will stop and keep the string value in the property.`);
498
+ }
495
499
  }
496
500
  const newAttrValue = converter.toAttribute(newValue, propData.type);
501
+ this._doNotSyncAttributes.add(attrName); // skip the attributeChangedCallback call for this attribute
497
502
  if (newAttrValue === null || newAttrValue === undefined) { // null means there must be no attribute for the current value of the property
498
- this._doNotSyncAttributes.add(attrName); // skip the attributeChangedCallback call for this attribute
499
503
  this.removeAttribute(attrName); // remove the attribute safely (will not trigger synchronization to the property value due to the above line)
500
- this._doNotSyncAttributes.delete(attrName); // enable synchronization again for this attribute
501
504
  }
502
505
  else {
503
- this.setAttribute(attrName, newAttrValue);
506
+ this.setAttribute(attrName, newAttrValue); // setting attributes from properties should not trigger the property setter again
504
507
  }
508
+ this._doNotSyncAttributes.delete(attrName); // enable synchronization again for this attribute
505
509
  }
506
510
  /**
507
511
  * Returns a singleton event listener for the "change" event of a child in a given slot
@@ -629,15 +633,19 @@ class UI5Element extends HTMLElement {
629
633
  }
630
634
  // suppress invalidation to prevent state changes scheduling another rendering
631
635
  this._suppressInvalidation = true;
632
- this.onBeforeRendering();
633
- if (!this._rendered) {
634
- // first time rendering, previous setters might have been initializers from the constructor - update attributes here
635
- this.updateAttributes();
636
+ try {
637
+ this.onBeforeRendering();
638
+ if (!this._rendered) {
639
+ // first time rendering, previous setters might have been initializers from the constructor - update attributes here
640
+ this.updateAttributes();
641
+ }
642
+ // Intended for framework usage only. Currently ItemNavigation updates tab indexes after the component has updated its state but before the template is rendered
643
+ this._componentStateFinalizedEventProvider.fireEvent("componentStateFinalized");
644
+ }
645
+ finally {
646
+ // always resume normal invalidation handling
647
+ this._suppressInvalidation = false;
636
648
  }
637
- // Intended for framework usage only. Currently ItemNavigation updates tab indexes after the component has updated its state but before the template is rendered
638
- this._componentStateFinalizedEventProvider.fireEvent("componentStateFinalized");
639
- // resume normal invalidation handling
640
- this._suppressInvalidation = false;
641
649
  // Update the shadow root with the render result
642
650
  /*
643
651
  if (this._changedState.length) {