@tilde-nlp/ngx-translate 4.0.30 → 4.0.31

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 (29) hide show
  1. package/esm2022/lib/i18n/en.mjs +5 -3
  2. package/esm2022/lib/modules/tld-common/models/auto-language-detection-key.const.mjs +2 -0
  3. package/esm2022/lib/modules/tld-common/services/tld-translate-system-management.service.mjs +65 -12
  4. package/esm2022/lib/modules/tld-text/models/translate-paragraph-params.model.mjs +1 -1
  5. package/esm2022/lib/modules/tld-text/models/translate-paragraph-response-v2.model.mjs +1 -1
  6. package/esm2022/lib/modules/tld-text/models/translate-paragraph-response.model.mjs +1 -1
  7. package/esm2022/lib/modules/tld-text/services/api-v2/tld-translate-text-api-v2.service.mjs +12 -4
  8. package/esm2022/lib/modules/tld-text/services/tld-translate-text.service.mjs +2 -1
  9. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.mjs +5 -5
  10. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/index.mjs +2 -0
  11. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/language-detection.icon.mjs +13 -0
  12. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.mjs +30 -9
  13. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.mjs +5 -5
  14. package/fesm2022/tilde-nlp-ngx-translate.mjs +132 -35
  15. package/fesm2022/tilde-nlp-ngx-translate.mjs.map +1 -1
  16. package/lib/i18n/en.d.ts +2 -0
  17. package/lib/modules/tld-common/models/auto-language-detection-key.const.d.ts +1 -0
  18. package/lib/modules/tld-common/services/tld-translate-system-management.service.d.ts +11 -1
  19. package/lib/modules/tld-text/models/translate-paragraph-params.model.d.ts +2 -2
  20. package/lib/modules/tld-text/models/translate-paragraph-response-v2.model.d.ts +1 -0
  21. package/lib/modules/tld-text/models/translate-paragraph-response.model.d.ts +1 -0
  22. package/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.d.ts +2 -2
  23. package/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/index.d.ts +1 -0
  24. package/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/language-detection.icon.d.ts +1 -0
  25. package/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.d.ts +11 -1
  26. package/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.d.ts +1 -0
  27. package/package.json +1 -1
  28. package/src/assets/webcomponent/tld-translate.js +2 -2
  29. package/src/assets/webtranslate/page-translate-widget.js +2 -0
@@ -179,6 +179,7 @@ export const i18n_en = {
179
179
  },
180
180
  "RATING": {},
181
181
  "LANGUAGES": {
182
+ "AUTO": "Detect language",
182
183
  "AR": "Arabic",
183
184
  "LV": "Latvian",
184
185
  "ET": "Estonian",
@@ -424,13 +425,14 @@ export const i18n_en = {
424
425
  "SOURCE": "Translate from",
425
426
  "TARGET": "Translate to",
426
427
  "SEARCH_PLACEHOLDER": "Search languages",
427
- "RECENT_SYSTEM_TITLE": "Recent translation directions",
428
+ "RECENT_SYSTEM_TITLE": "Recently used",
428
429
  "SELECT_DOMAIN": "Select domain",
429
430
  "FILTER_NO_RESULTS": "No results",
430
431
  "ALL_LANGUAGES": "All languages",
431
432
  "CLEAR_SEARCH": "Clear search text",
432
433
  "OPEN_SOURCE_ARIA_LABEL": "Select source language",
433
- "OPEN_TARGET_ARIA_LABEL": "Select target language and domain"
434
+ "OPEN_TARGET_ARIA_LABEL": "Select target language and domain",
435
+ "DETECTED": "Detected"
434
436
  },
435
437
  "TEXT_TRANSLATION_PROGRESS_INDICATOR": {
436
438
  "TITLE": "Translation provided by {{provider}}",
@@ -450,4 +452,4 @@ export const i18n_en = {
450
452
  "PAUSE": "Pause"
451
453
  }
452
454
  };
453
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsbUNBQW1DLEVBQUUsRUFBRTtRQUN2QywrQkFBK0IsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQyxFQUFFLDRCQUE0QjtRQUMvRCxtQ0FBbUMsRUFBRSxjQUFjO1FBQ25ELGtDQUFrQyxFQUFFLFVBQVU7UUFDOUMsNkJBQTZCLEVBQUUsa0dBQWtHO1FBQ2pJLE1BQU0sRUFBRSxPQUFPO1FBQ2YscUJBQXFCLEVBQUUsbUJBQW1CO1FBQzFDLHVCQUF1QixFQUFFLDhCQUE4QjtRQUN2RCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsOEJBQThCLEVBQUUsMEZBQTBGO1FBQzFILG9CQUFvQixFQUFFLDZMQUE2TDtRQUNuTixnQkFBZ0IsRUFBRSxxRkFBcUY7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QUFFLFFBQVE7UUFDbEIsU0FBUyxFQUFFLGFBQWE7UUFDeEIsYUFBYSxFQUFFLHFCQUFxQjtRQUNwQyxLQUFLLEVBQUUsS0FBSztRQUNaLE9BQU8sRUFBRSxPQUFPO0tBQ2pCO0lBQ0QsYUFBYSxFQUFFO1FBQ2IsUUFBUSxFQUFFLFFBQVE7UUFDbEIsZUFBZSxFQUFFLG1CQUFtQjtRQUNwQyxNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsT0FBTztRQUNoQixRQUFRLEVBQUUsb0RBQW9EO1FBQzlELE9BQU8sRUFBRSxZQUFZO0tBQ3RCO0lBQ0QsZUFBZSxFQUFFO1FBQ2YsUUFBUSxFQUFFLGdCQUFnQjtRQUMxQixRQUFRLEVBQUUsY0FBYztRQUN4QixvQkFBb0IsRUFBRSxrQkFBa0I7UUFDeEMscUJBQXFCLEVBQUUsK0JBQStCO1FBQ3RELGVBQWUsRUFBRSxlQUFlO1FBQ2hDLG1CQUFtQixFQUFFLFlBQVk7UUFDakMsZUFBZSxFQUFFLGVBQWU7UUFDaEMsY0FBYyxFQUFFLG1CQUFtQjtRQUNuQyx3QkFBd0IsRUFBRSx3QkFBd0I7UUFDbEQsd0JBQXdCLEVBQUUsbUNBQW1DO0tBQzlEO0lBQ0QscUNBQXFDLEVBQUU7UUFDckMsT0FBTyxFQUFFLHNDQUFzQztRQUMvQyxhQUFhLEVBQUUsZ0JBQWdCO1FBQy9CLHNCQUFzQixFQUFFLHFCQUFxQjtRQUM3Qyx5QkFBeUIsRUFBRSxxQkFBcUI7S0FDakQ7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixNQUFNLEVBQUUsb0NBQW9DO1FBQzVDLGNBQWMsRUFBRSx3SEFBd0g7S0FDekk7SUFDRCxTQUFTLEVBQUU7UUFDVCxjQUFjLEVBQUUsY0FBYztLQUMvQjtJQUNELGdCQUFnQixFQUFFO1FBQ2hCLE1BQU0sRUFBRSxRQUFRO1FBQ2hCLE9BQU8sRUFBRSxPQUFPO0tBQ2pCO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBpMThuX2VuID0ge1xyXG4gIFwiVEVSTV9QT1JUQUxfTkFNRVwiOiBcIlRpbGRlIHRlcm1cIixcclxuICBcIkFQUF9OQU1FXCI6IFwiVGlsZGUgTVRcIixcclxuICBcIlRMRF9UUkFOU0xBVEVcIjoge1xyXG4gICAgXCJCRVNUX05NVFwiOiBcIlByb3VkIHdpbm5lciBvZiB0aGUgYmVzdCBtYWNoaW5lIHRyYW5zbGF0aW9uIHRlY2hub2xvZ3kgYXQgV01UIENvbXBldGl0aW9uIGZvciB0aHJlZSB5ZWFycyBpbiBhIHJvdy5cIixcclxuICAgIFwiQkVTVF9OTVRfTU9SRVwiOiBcIkxlYXJuIG1vcmVcIixcclxuICAgIFwiQ0FOQ0VMX1RSQU5TTEFUSU9OXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRJQ1RJT05BUllfRVhBTVBMRVNcIjogXCJleGFtcGxlc1wiLFxyXG4gICAgXCJET1dOTE9BRF9UUkFOU0xBVEVEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiRE9NQUlOU19BUklBX0xBQkVMXCI6IFwiRG9tYWluc1wiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgUERGXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0hFTFBcIjogXCJQREYgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgaW1hZ2VcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0VfSEVMUFwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi4gUGxlYXNlIGNoZWNrIHRoZSBjb252ZXJ0ZWQgZmlsZSBhbmQgZml4IHRoZSBlcnJvcnMgYmVmb3JlIHJlLXVwbG9hZGluZyB0aGUgZmlsZSBmb3IgdHJhbnNsYXRpb25cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nIHRyYW5zbGF0aW9uIHByb2Nlc3MuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmcgdHJhbnNsYXRhYmxlIGNvbnRlbnQuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfV0FJVElOR1wiOiBcIlN0YXJ0aW5nIHRyYW5zbGF0b3IuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmcgdHJhbnNsYXRpb24uLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfQ09NUExFVEVEXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0VSUk9SXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1FVRVVJTkdcIjogXCJUcmFuc2xhdGlvbiBpcyBzdGFydGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19VUExPQURJTkdcIjogXCJVcGxvYWRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJGSUxFX1RBUkdFVF9QUkVWSUVXX01FU1NBR0VcIjogXCJUaGlzIGlzIGEgcHJldmlldyBvZiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCwgcGxlYXNlIGRvd25sb2FkIHRvIHJlY2VpdmUgYSBjb21wbGV0ZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiRlJPTVwiOiBcIkZyb206XCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJTZWUgaG93IHRvIGZpeCBpdFwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlBSRVBBUklOR19UUkFOU0xBVElPTlwiOiBcIlRyYW5zbGF0aW9uIGlzIHN0YXJ0aW5nXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU19MT0dHRURfSU5cIjogXCJSZWdpc3RlcmVkIHVzZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0cyB0cmFuc2xhdGlvbjoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU1wiOiBcIlJlZ2lzdGVyZWQgdXNlcnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzIHRyYW5zbGF0aW9uOiB7e2Zvcm1hdHN9fS4gUmVxdWVzdCB5b3VyIGFjY2VzcyA8YSBjbGFzcz1cXFwiYWNjZW50LWNvbG9yXFxcIiB0YXJnZXQ9XFxcImJsYW5rXFxcIiBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319XFxcIj5oZXJlPC9hPi5cIixcclxuICAgIFwiU09VUkNFX0ZPUk1BVFNcIjogXCJTZWN1cmUgcHVibGljIHRyYW5zbGF0aW9uIHNlcnZpY2Ugc3VwcG9ydHMgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHM6IHt7Zm9ybWF0c319O1wiLFxyXG4gICAgXCJTT1VSQ0VfV09SRF9MSU1JVFwiOiBcIiB0cmFuc2xhdGlvbiBhbW91bnQgaXMgbGltaXRlZCB1cCB0byB7e2xpbWl0fX0gd29yZHMuXCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQXCI6IFwiVHlwZSB0ZXh0IG9yIGluc2VydCBsaW5rIHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfT05MWV9URVhUXCI6IFwiVHlwZSB0ZXh0IHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfU0VOU0lUSVZFX0lORk9cIjogXCJEbyBub3QgdXNlIHt7YXBwTmFtZX19IHRvIHRyYW5zbGF0ZSBjb25maWRlbnRpYWwgb3IgY2xhc3NpZmllZCBpbmZvcm1hdGlvbiBvciB0ZXh0cyB0aGF0IGNvbnRhaW4gc3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGRhdGEsIHN1Y2ggYXMgbWVkaWNhbCBkYXRhXCIsXHJcbiAgICBcIlRBUkdFVF9ERVNDUklQVElPTlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gYWxsb3dzIHRvIHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgYSBzb3VyY2UgdGV4dCwgYnV0IGNhbm5vdCBzdWJzdGl0dXRlIGEgaHVtYW4gdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlRPXCI6IFwiVG86XCIsXHJcbiAgICBcIlRFWFRfQ09QSUVEXCI6IFwiVHJhbnNsYXRpb24gY29waWVkXCIsXHJcbiAgICBcIlNVR0dFU1RfQlVUVE9OXCI6IFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX09SSUdJTkFMX0xBQkVMXCI6IFwiT3JpZ2luYWwgc2VudGVuY2VcIixcclxuICAgIFwiU1VHR0VTVF9TVUJNSVRfQlVUVE9OXCI6IFwiQ29udHJpYnV0ZVwiLFxyXG4gICAgXCJTVUdHRVNUX1RSQU5TTEFUSU9OX0xBQkVMXCI6IFwiVHJhbnNsYXRpb25cIixcclxuICAgIFwiU1VHR0VTVF9VU0FHRV9JTkZPXCI6IFwiWW91ciBhbm9ueW1pemVkIHRyYW5zbGF0aW9uIHN1Z2dlc3Rpb24gd2lsbCBiZSB1c2VkIHRvIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9PTFRJUF9BQ1RJT05cIjogXCJUcmFuc2xhdGVcIixcclxuICAgIFwiVkVORE9SU19BUklBX0xBQkVMXCI6IFwiUHJvdmlkZXJzXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BREpFQ1RJVkVcIjogXCJhZGplY3RpdmVcIixcclxuICAgIFwiV09SRF9UWVBFX05PVU5cIjogXCJub3VuXCIsXHJcbiAgICBcIldPUkRfVFlQRV9WRVJCXCI6IFwidmVyYlwiLFxyXG4gICAgXCJXT1JEX1RZUEVfQURWRVJCXCI6IFwiYWR2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9DT05KVU5DVElPTlwiOiBcImNvbmp1bmN0aW9uXCIsXHJcbiAgICBcIldPUkRfVFlQRV9JTlRFUkpFQ1RJT05cIjogXCJpbnRlcmplY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX1BST05PVU5cIjogXCJwcm9ub3VuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3Qge3t3b3JkQ291bnR9fSB3b3JkcyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBmdWxsIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1RJVExFXCI6IFwiTm8gdHJhbnNsYXRpb24gZW5naW5lcyB3ZXJlIGxvYWRlZFwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRFwiOiBcIkZhaWxlZCB0byBsb2FkIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZXMuXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1NVUFBPUlRcIjogXCIgUGxlYXNlIHJlbG9hZCB0aGUgcGFnZSBvciBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCBwYWdlIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgZnVsbCBQREYgZmlsZXMuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiQ0xFQVJfU09VUkNFX1RPT0xUSVBcIjogXCJDbGVhciB0ZXh0XCJcclxuICB9LFxyXG4gIFwiTVVMVElQTEVfRklMRVNcIjoge1xyXG4gICAgXCJBUFBFTkRcIjogXCJBZGQgZmlsZXNcIixcclxuICAgIFwiQ0xFQVJfQUxMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRPV05MT0FEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmdcIixcclxuICAgIFwiU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX1dBSVRJTkdcIjogXCJTdGFydGluZyB0cmFuc2xhdG9yXCIsXHJcbiAgICBcIlNUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZyB7e3BlcmNlbnR9fSVcIixcclxuICAgIFwiU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmdcIixcclxuICAgIFwiU1RBVFVTU19DT01QTEVURURcIjogXCJDb21wbGV0ZWRcIixcclxuICAgIFwiU1RBVFVTU19FUlJPUlwiOiBcIkVycm9yXCIsXHJcbiAgICBcIlNUQVRVU1NfUVVFVUlOR1wiOiBcIlF1ZXVpbmdcIixcclxuICAgIFwiU1RBVFVTU19OT1RfU1RBUlRFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJUSVRMRV9GSUxFX05BTUVcIjogXCJGaWxlXCIsXHJcbiAgICBcIlRJVExFX1NUQVRVU1NcIjogXCJTdGF0dXNcIixcclxuICAgIFwiVFJBTlNMQVRJT05fU1RBVFVTU19MQUJFTFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUlwiOiBcIlBERiBkb2N1bWVudHMgbWF5IGhhdmUgZm9ybWF0dGluZyBvciB0cmFuc2xhdGlvbiBlcnJvcnMuXCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IHBkZiBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlNDUkVFTl9SRUFERVJfQU5OT1VOQ0VNRU5UXCI6IFwie3t0cmFuc2xhdGVkfX0gb3V0IG9mIHt7dG90YWx9fSBmaWxlcyBhcmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUkVNT1ZFX0ZJTEVfVE9PTFRJUFwiOiBcIkNsZWFyIGZpbGVcIlxyXG4gIH0sXHJcbiAgXCJFUlJPUlNcIjoge1xyXG4gICAgXCJFUlJPUl9ERUZBVUxUX1RJVExFXCI6IFwiVW5leHBlY3RlZCBlcnJvclwiLFxyXG4gICAgXCJFUlJPUl9ERUZBVUxUXCI6IFwiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRVJST1JfREVGQVVMVF9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhcIjogXCJPbmx5IHt7bWF4Q2hhckxlbmd0aH19L3t7dG90YWxTeW1ib2xzfX0gY2hhcmFjdGVycyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSF9TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gZm9yIHVubGltaXRlZCB0ZXh0IHRyYW5zbGF0aW9uLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIk1BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkge3tsaW1pdH19IGZpbGVzIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuXCIsXHJcbiAgICBcIklOQ1JFQVNFX01BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkgMSBmaWxlIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIGluY3JlYXNlIGxpbWl0LiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkZJTEVfQUxSRUFEWV9BRERFRF9USVRMRVwiOiBcIkZpbGUgaGFzIGFscmVhZHkgYmVlbiBhZGRlZFwiLFxyXG4gICAgXCJGSUxFX0FMUkVBRFlfQURERURcIjogXCJGaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWQuXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfVElUTEVcIjogXCJVbmF1dGhvcml6ZWRcIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMVwiOiBcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdXNlIG1hY2hpbmUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV9VTktOT1dOX0ZJTEVfVFlQRVwiOiBcIlVua25vd24gZmlsZSB0eXBlLlwiLFxyXG4gICAgXCJFX0NBTk5PVF9SRUFEX0ZJTEVfVElUTEVcIjogXCJVbmFibGUgdG8gcmVhZCBmaWxlXCIsXHJcbiAgICBcIkVfQ0FOTk9UX1JFQURfRklMRVwiOiBcIlRoZSBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGNvcnJ1cHRlZCBhbmQgY291bGRuJ3QgYmUgdHJhbnNsYXRlZC4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWRcIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05cIjogXCJFcnJvciBvY2N1cnJlZCB3aGlsZSB0cmFuc2xhdGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfRk9STUFUX1RSQUNLX0NIQU5HRVNfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgIFwiRV9GT1JNQVRfVFJBQ0tfQ0hBTkdFU1wiOiBcIkNoYW5nZXMgbXVzdCBmaXJzdCBiZSBhY2NlcHRlZCBvciDigJh0cmFjayBjaGFuZ2Vz4oCZIHR1cm5lZCBvZmYgYmVmb3JlIHRyYW5zbGF0aW5nIE9mZmljZSBmaWxlcy5cIixcclxuICAgIFwiRV9VTktOT1dOX0VSUk9SX1RJVExFXCI6IFwiVW5rbm93biBlcnJvclwiLFxyXG4gICAgXCJFX1VOS05PV05fRVJST1JcIjogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRF9USVRMRVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRFwiOiBcIkRvY3VtZW50IHRyYW5zbGF0aW9uIHdhcyBkZW5pZWQuXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFX1RJVExFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIGdsb3NzYXJ5XCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBnbG9zc2FyeS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9JTVBPUlRfVElUTEVcIjogXCJGYWlsZWQgdG8gYXR0YWNoIHRoZSBnbG9zc2FyeVwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0lNUE9SVFwiOiBcIkZhaWxlZCB0byBhdHRhY2ggdGhlIHRlcm0gY29sbGVjdGlvbiB3aXRoIElEOiB7e3Rlcm1JZH19IHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV8xMVwiOiBcIkRhaWx5IHRyYW5zbGF0aW9uIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuXCIsXHJcbiAgICBcIkVfMTFfU1VQUE9SVFwiOiBcIiBUbyBpbmNyZWFzZSB0aGUgZGFpbHkgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMTJfVElUTEVcIjogXCJUZXh0IHNpemUgbGltaXRcIixcclxuICAgIFwiRV8xMlwiOiBcIlRleHQgc2l6ZSBsaW1pdCByZWFjaGVkLiBTZW5kIGxlc3MgdGV4dCBpbiB0aGUgcmVxdWVzdC5cIixcclxuICAgIFwiRV8xMl9TVVBQT1JUXCI6IFwiIFRvIGluY3JlYXNlIHRoZSB0ZXh0IHNpemUgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjFcIjogXCJUaGUgdHJhbnNsYXRpb24gZW5naW5lIGlzIHN0YXJ0aW5nIHVwLCB0aGlzIG1heSB0YWtlIGEgbW9tZW50IVwiLFxyXG4gICAgXCJFXzIyX1RJVExFXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgbm90IGZvdW5kXCIsXHJcbiAgICBcIkVfMjJcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmQuXCIsXHJcbiAgICBcIkVfMjJfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIzXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgbm90IHN0YXJ0ZWQuXCIsXHJcbiAgICBcIkVfMjNfU1VQUE9SVFwiOiBcIiBDb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfNDFcIjogXCJVbmtub3duIHRlcm0gY29ycHVzIElEIHByb3ZpZGVkLiBUZXJtIGNvcnB1cyBtdXN0IGJlIGxpbmtlZCB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmVcIixcclxuICAgIFwiRV81MDRcIjogXCJUcmFuc2xhdGlvbiBoYXMgdGltZWQgb3V0LiBUcnkgYWdhaW4gbGF0ZXIuXCIsXHJcbiAgICBcIkVfNTA0X1RJVExFXCI6IFwiVHJhbnNsYXRpb24gdGltZW91dFwiLFxyXG4gICAgXCJFXzQwNDIwMVwiOiBcIkVuZ2luZSB0ZXJtIGNvbGxlY3Rpb24gbm90IGZvdW5kXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIjoge1xyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIHRyYW5zbGF0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SXCI6IFwiVGhlIGZpbGUgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIGV4dHJhY3QgYW55IHRleHRcIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUlwiOiBcIlRoZSBmaWxlIG1heSBiZSBlbXB0eS4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JfVElUTEVcIjogXCJVbmtub3duIGZpbGUgdHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SXCI6IFwiRmlsZSB0eXBlIG5vdCByZWNvZ25pemVkLiBUaGUgZmlsZSBleHRlbnNpb24gbWF5IGJlIGluY29ycmVjdCwgb3IgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHRlZC5cIlxyXG4gICAgfSxcclxuICAgIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZX1RJVExFXCI6IFwiVGhlIGZpbGUgaXMgZW1wdHlcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGVtcHR5LiBTZWxlY3QgYSBmaWxlIHdpdGggY29udGVudC5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRV9USVRMRVwiOiBcIkZpbGUgc2l6ZSBsaW1pdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgdG9vIGJpZy4gTWF4aW11bSBzaXplIHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9uIGlzIHN1cHBvcnRlZCBmb3IgdGhlc2UgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIjogXCJZb3UgbmVlZCBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZpbGUuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgICAgXCJFXzQwNF9USVRMRVwiOiBcIkZpbGUgbm90IGZvdW5kXCIsXHJcbiAgICAgIFwiRV80MDRcIjogXCJUaGUgcmVxdWVzdGVkIGZpbGUgZG9lc24ndCBleGlzdFwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRV9USVRMRVwiOiBcIkZhaWxlZCB0byBkZWxldGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZFwiXHJcbiAgICB9LFxyXG4gICAgXCJBVURJT1wiOiB7XHJcbiAgICAgIFwiTk9fU1BFRUNIX1RJVExFXCI6IFwiTm8gc3BlZWNoXCIsXHJcbiAgICAgIFwiTk9fU1BFRUNIXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFdlIGNvdWxkbid0IGhlYXIgeW91LlwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8ge3t0aW1lU3RyaW5nfX0uXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEX1RJVExFXCI6IFwiTWljcm9waG9uZSBhY2Nlc3MgZGVuaWVkXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEXCI6IFwiWW91IGhhdmUgZGVuaWVkIGFjY2VzcyB0byB0aGUgbWljcm9waG9uZS4gQ2hhbmdlIHBlcm1pc3Npb25zIGluIGJyb3dzZXIncyBzZXR0aW5ncy5cIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQgYW5kIHNlbnQgdG8gcHJvY2Vzc2luZy4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8gKHt7bWF4U2l6ZU1ifX1NQikgc2l6ZS5cIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR19USVRMRVwiOiBcIkZhaWxlZCB0byBzdGFydCByZWNvcmRpbmdcIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR1wiOiBcIlVuYWJsZSB0byBzdGFydCByZWNvcmRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEX1RpdGxlXCI6IFwiTm8gc3BlZWNoIHJlY29nbml6ZWRcIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURcIjogXCJObyBzcGVlY2ggY291bGQgYmUgcmVjb2duaXplZC4gQ2hlY2sgeW91ciBtaWNyb3Bob25lIGFuZCB0cnkgYWdhaW4uXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiUkFUSU5HXCI6IHt9LFxyXG4gIFwiTEFOR1VBR0VTXCI6IHtcclxuICAgIFwiQVJcIjogXCJBcmFiaWNcIixcclxuICAgIFwiTFZcIjogXCJMYXR2aWFuXCIsXHJcbiAgICBcIkVUXCI6IFwiRXN0b25pYW5cIixcclxuICAgIFwiREFcIjogXCJEYW5pc2hcIixcclxuICAgIFwiRklcIjogXCJGaW5uaXNoXCIsXHJcbiAgICBcIklTXCI6IFwiSWNlbGFuZGljXCIsXHJcbiAgICBcIkxUXCI6IFwiTGl0aHVhbmlhblwiLFxyXG4gICAgXCJOQlwiOiBcIk5vcndlZ2lhblwiLFxyXG4gICAgXCJTVlwiOiBcIlN3ZWRpc2hcIixcclxuICAgIFwiQkVcIjogXCJCZWxvcnVzc2lhblwiLFxyXG4gICAgXCJCR1wiOiBcIkJ1bGdhcmlhblwiLFxyXG4gICAgXCJDU1wiOiBcIkN6ZWNoXCIsXHJcbiAgICBcIkhVXCI6IFwiSHVuZ2FyaWFuXCIsXHJcbiAgICBcIlJVXCI6IFwiUnVzc2lhblwiLFxyXG4gICAgXCJNT1wiOiBcIk1vbGRhdmlhblwiLFxyXG4gICAgXCJQTFwiOiBcIlBvbGlzaFwiLFxyXG4gICAgXCJTS1wiOiBcIlNsb3Zha1wiLFxyXG4gICAgXCJVS1wiOiBcIlVrcmFpbmlhblwiLFxyXG4gICAgXCJOTFwiOiBcIkR1dGNoXCIsXHJcbiAgICBcIkVOXCI6IFwiRW5nbGlzaFwiLFxyXG4gICAgXCJGUlwiOiBcIkZyZW5jaFwiLFxyXG4gICAgXCJERVwiOiBcIkdlcm1hblwiLFxyXG4gICAgXCJHQVwiOiBcIklyaXNoXCIsXHJcbiAgICBcIkVMXCI6IFwiR3JlZWtcIixcclxuICAgIFwiSVRcIjogXCJJdGFsaWFuXCIsXHJcbiAgICBcIk1UXCI6IFwiTWFsdGVzZVwiLFxyXG4gICAgXCJQVFwiOiBcIlBvcnR1Z3Vlc2VcIixcclxuICAgIFwiU1JcIjogXCJTZXJiaWFuXCIsXHJcbiAgICBcIlNMXCI6IFwiU2xvdmVuaWFuXCIsXHJcbiAgICBcIkVTXCI6IFwiU3BhbmlzaFwiLFxyXG4gICAgXCJaSFwiOiBcIkNoaW5lc2VcIixcclxuICAgIFwiSkFcIjogXCJKYXBhbmVzZVwiLFxyXG4gICAgXCJLT1wiOiBcIktvcmVhblwiLFxyXG4gICAgXCJUUlwiOiBcIlR1cmtpc2hcIixcclxuICAgIFwiSFJcIjogXCJDcm9hdGlhblwiLFxyXG4gICAgXCJST1wiOiBcIlJvbWFuaWFuXCIsXHJcbiAgICBcIlVaXCI6IFwiVXpiZWtcIixcclxuICAgIFwiSURcIjogXCJJbmRvbmVzaWFuXCJcclxuICB9LFxyXG4gIFwiQVJJQV9MQUJFTFNcIjoge1xyXG4gICAgXCJDTE9TRV9CVVRUT05cIjogXCJDbGVhclwiLFxyXG4gICAgXCJDTEVBUl9OT1RJRklDQVRJT05cIjogXCJDbG9zZSBhbGVydFwiLFxyXG4gICAgXCJDTEVBUl9TT1VSQ0VcIjogXCJDbGVhciBlbnRlcmVkIHRleHRcIixcclxuICAgIFwiQ0xPU0VfRElBTE9HXCI6IFwiQ2xvc2UgZGlhbG9nXCIsXHJcbiAgICBcIkNMRUFSX0ZJTEVTXCI6IFwiQ2xlYXIgdXBsb2FkZWQgZmlsZXNcIixcclxuICAgIFwiU0hPV19FWFRFTlNJT05TXCI6IFwiU2hvdyBvdGhlciBkb3dubG9hZCBvcHRpb25zXCIsXHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJSRUZSRVNIXCI6IFwiUmVmcmVzaCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPUEVOX0lOX05FV1wiOiBcIk9wZW4gaW4gbmV3IHRhYlwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIk9USEVSX0xBTkdVQUdFU19UUklHR0VSXCI6IFwiU2hvdyBvdGhlciBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJUT09MVElQU1wiOiB7XHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJSRUZSRVNIXCI6IFwiUmVmcmVzaCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCJcclxuICB9LFxyXG4gIFwiUERGX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiUERGIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzFcIjogXCJXaGVuIGEgLnBkZiBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIEJvdGggc2Nhbm5lZCBhbmQgbmF0aXZlIC5wZGZzIGFyZSBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCwgLnRteCBvciAucGRmIGZvcm1hdHMgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLiBGb3JtYXR0aW5nIGluIHRoZSB0cmFuc2xhdGVkIC5kb2N4IGFuZCAucGRmIGZpbGVzIG1heSBzbGlnaHRseSBkaWZmZXIuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8yXCI6IFwiQXMgY29udmVyc2lvbiB0YWtlcyB0aW1lLCB0byBzcGVlZCB0aGluZ3MgdXAgc3BsaXQgeW91ciAucGRmcyBhbmQgZGVsZXRlIHRoZSBwYWdlcyB3aXRoIG5vIHRyYW5zbGF0YWJsZSBpbmZvcm1hdGlvbi4gRmFjdG9ycyBsaWtlIHRoZSBudW1iZXIgb2YgcGFnZXMsIHF1YWxpdHkgYW5kIHRleHQgZGVuc2l0eSBhZmZlY3QgdGhlIHByb2Nlc3NpbmcgdGltZS5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfM1wiOiBcIlRvIGltcHJvdmUgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2UsIHdlIHJlY29tbWVuZCB0byBkb3dubG9hZCB0aGUgY29udmVydGVkIGRvY3VtZW50IGluIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSBhbmQgZml4IGl0IG1hbnVhbGx5IGJlZm9yZSByZS11cGxvYWRpbmcgZm9yIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9BTFRfMVwiOiBcIlNvdXJjZSBQREYgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIlBERiBjb252ZXJzaW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzFcIjogXCJUaGUgZG9jdW1lbnQgaXMgYW5hbHlzZWQgYW5kIGl0cyBjb250ZW50IGlzIHNwbGl0IGluIHRleHQsIHRhYmxlIGFuZCBpbWFnZS9iYWNrZ3JvdW5kIGltYWdlIGFyZWFzLiBUaGV5IGFyZSBhbmFseXNlZCBmdXJ0aGVyIHRvIGRldGVybWluZSB3aGljaCBjb250ZW50IHNob3VsZCBiZSByZWNvZ25pemVkIGFzIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzJcIjogXCJUZXh0dWFsIGRhdGEgYXJlIGFjcXVpcmVkIGJ5IG1lYW5zIG9mIE9DUiBvciBvcHRpY2FsIGNoYXJhY3RlciByZWNvZ25pdGlvbi4gRXZlcnkgY2hhcmFjdGVyIGlzIHJlY29nbml6ZWQgZGVwZW5kaW5nIG9uIGl0cyB2aXN1YWwgY2hhcmFjdGVyaXN0aWNzLCB0aGVuIGFzc2VtYmxlZCBpbnRvIHdvcmRzIGFuZCBzZW50ZW5jZXMuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzNcIjogXCJSZWNvZ25pdGlvbiBpcyBhZmZlY3RlZCBieSBtYW55IGZhY3RvcnMsIGluY2x1ZGluZzpcIixcclxuICAgIFwiTElfMV8xXCI6IFwiUXVhbGl0eSBvZiB0aGUgc2Nhbm5lZCBkb2N1bWVudCAoYmx1cnJlZCBvciBkZWZvcm1lZCB0ZXh0LCBpbWFnZSBub2lzZSwgaW1hZ2UgcmVzb2x1dGlvbiwgY29udHJhc3QgZXRjLikuIEZvciB0aGUgYmVzdCByZXN1bHQsIC5wZGZzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG4gICAgXCJMSV8yXzlcIjogXCJGb3JtYXR0aW5nIG9mIHRoZSB0YWJsZSBvZiBjb250ZW50cyBvciBzaW1pbGFyIGxpc3RzIGNvbGxhcHNlZCBvciByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuIFNwZWNpZmljIFdvcmQgZm9ybWF0dGluZyBsaWtlIGhlYWRpbmdzLCB0YWJsZXMgb2YgY29udGVudCwgaGVhZGVycyBhbmQgZm9vdGVycywgbGFiZWxzLCBmb3JtcyBldGMuIHdpbGwgYmUgc3R5bGVkIHRvIGxvb2sgbGlrZSB0aGUgb3JpZ2luYWwsIGJ1dCB3aWxsIG5vdCBtYXRjaCB0aGUgb3JpZ2luYWwgY29tcGxldGVseSAoZS5nLiB0aXRsZXMgd2lsbCBiZSBib2xkIGFuZCBpbiBsYXJnZXIgZm9udCwgYnV0IHdpbGwgbm90IGJlIHNldCB0byB0aGUgaGVhZGluZyBzdHlsZSkuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIklNQUdFX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiSW1hZ2UgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYW4gaW1hZ2UgZmlsZSBpcyB1cGxvYWRlZCBmb3IgdHJhbnNsYXRpb24gaXQgaXMgY29udmVydGVkIGludG8gYSB0cmFuc2xhdGFibGUgZm9ybWF0LiBUcmFuc2xhdGlvbnMgY2FuIGJlIGRvd25sb2FkZWQgaW4gLmRvY3ggb3IgLnRteCBmb3JtYXRzIGFuZCB3aWxsIHJldGFpbiB0aGUgYmFzaWMgZm9ybWF0dGluZy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMlwiOiBcIjxiPlN1cHBvcnRlZCBpbWFnZSBmb3JtYXRzOjwvYj4gLmpwZywgLmpwZWcsIC5wbmcgYW5kIC5ibXAuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzNcIjogXCJUbyBpbXByb3ZlIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlLCB3ZSByZWNvbW1lbmQgdG8gZG93bmxvYWQgdGhlIGNvbnZlcnRlZCBkb2N1bWVudCBpbiB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgYW5kIGZpeCBpdCBtYW51YWxseSBiZWZvcmUgcmUtdXBsb2FkaW5nIGZvciB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiSU1BR0VfQUxUXzFcIjogXCJTb3VyY2UgaW1hZ2UgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG5cclxuICAgIFwiVElUTEVfMlwiOiBcIkltYWdlIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBpbWFnZSBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGltYWdlIChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgaW1hZ2VzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG5cclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuXCIsXHJcblxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIldFQlRSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJBQ0tcIjogXCJCYWNrIHRvIFRyYW5zbGF0b3JcIixcclxuICAgIFwiTE9BRF9QQUdFXCI6IFwiTG9hZCBwYWdlXCIsXHJcbiAgICBcIlJFU1RPUkVcIjogXCJSZXN0b3JlXCIsXHJcbiAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJTRUFSQ0hcIjogXCJTZWFyY2ggd2Vic2l0ZVwiLFxyXG4gICAgXCJOT19SRUNPUkRTXCI6IHtcclxuICAgICAgXCJUSVRMRVwiOiBcIlNlYXJjaCBmb3IgYSB3ZWJzaXRlIHRvIHRyYW5zbGF0ZVwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiU2VlIDxhIGhyZWY9J3t7aGVscFVybH19JyB0YXJnZXQ9J19ibGFuaycgY2xhc3M9J3VuZGVybGluZSc+aG93IGl0IHdvcmtzPC9hPlwiXHJcbiAgICB9LFxyXG4gIH0sXHJcbiAgXCJEQVRFX0FHT1wiOiB7XHJcbiAgICBcIllFQVJcIjogXCJ7e3ZhbHVlfX0geWVhciBhZ29cIixcclxuICAgIFwiWUVBUlNcIjogXCJ7e3ZhbHVlfX0geWVhcnMgYWdvXCIsXHJcbiAgICBcIk1PTlRIXCI6IFwie3t2YWx1ZX19IG1vbnRoIGFnb1wiLFxyXG4gICAgXCJNT05USFNcIjogXCJ7e3ZhbHVlfX0gbW9udGhzIGFnb1wiLFxyXG4gICAgXCJXRUVLXCI6IFwie3t2YWx1ZX19IHdlZWsgYWdvXCIsXHJcbiAgICBcIldFRUtTXCI6IFwie3t2YWx1ZX19IHdlZWtzIGFnb1wiLFxyXG4gICAgXCJEQVlcIjogXCJ7e3ZhbHVlfX0gZGF5IGFnb1wiLFxyXG4gICAgXCJEQVlTXCI6IFwie3t2YWx1ZX19IGRheXMgYWdvXCIsXHJcbiAgICBcIkhPVVJcIjogXCJ7e3ZhbHVlfX0gaG91ciBhZ29cIixcclxuICAgIFwiSE9VUlNcIjogXCJ7e3ZhbHVlfX0gaG91cnMgYWdvXCIsXHJcbiAgICBcIk1JTlVURVwiOiBcInt7dmFsdWV9fSBtaW51dGUgYWdvXCIsXHJcbiAgICBcIk1JTlVURVNcIjogXCJ7e3ZhbHVlfX0gbWludXRlcyBhZ29cIixcclxuICAgIFwiU0VDT05EXCI6IFwie3t2YWx1ZX19IHNlY29uZCBhZ29cIixcclxuICAgIFwiU0VDT05EU1wiOiBcInt7dmFsdWV9fSBzZWNvbmRzIGFnb1wiLFxyXG4gICAgXCJKVVNUX05PV1wiOiBcIkp1c3Qgbm93XCJcclxuICB9LFxyXG4gIFwiVEVSTV9DT0xMRUNUSU9OU1wiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgXCJERUZBVUxUXCI6IFwiRGVmYXVsdFwiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIkFjaGlldmUgcHJlY2lzZSBhbmQgcmVsaWFibGUgdHJhbnNsYXRpb25zIGJ5IGNob29zaW5nIHRoZSBtb3N0IHN1aXRhYmxlIGdsb3NzYXJ5IGZyb20gdGhlIGxpc3QuXCIsXHJcbiAgICBcIkdMT1NTQVJZXCI6IFwiR2xvc3Nhcnk6IFwiLFxyXG4gICAgXCJTRUxFQ1RFRF9OT05FXCI6IFwiTm9uZVwiLFxyXG4gICAgXCJFRElUXCI6IFwiRWRpdFwiLFxyXG4gICAgXCJDUkVBVEVcIjogXCJOZXcgZ2xvc3NhcnlcIixcclxuICAgIFwiREVTQ1JJUFRJT05fRU1QVFlcIjogXCJDcmVhdGUgeW91ciBmaXJzdCBnbG9zc2FyeSBmb3Ige3tzcmNMYW5nfX0te3t0cmdMYW5nfX1cIixcclxuICAgIFwiREVTQ1JJUFRJT05fRU1QVFlfQURWSUNFXCI6IFwiRm9yIGJlc3QgcmVzdWx0cyBpbmNsdWRlIHRlY2huaWNhbCB0ZXJtcywgYnJhbmQgbmFtZXMsIGFjcm9ueW1zIGFuZCBzdXJuYW1lcy5cIixcclxuICAgIFwiTEFTVF9VUERBVEVEXCI6IFwiTGFzdCB1cGRhdGVkOiB7e2RhdGV9fVwiLFxyXG4gICAgXCJERUZBVUxUX0NPTExFQ1RJT05fTkFNRVwiOiBcIk15IHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgXCJTWU5DXCI6IFwiU3luY1wiLFxyXG4gICAgXCJTWU5DX0VSUk9SXCI6IFwiUmV0cnlcIixcclxuICAgIFwiVEVSTVNfSU5fVVNFXCI6IFwiVGVybXMgaW4gdXNlOiB7e3Rlcm1Db3VudH19XCIsXHJcbiAgICBcIkRFRkFVTFRfR0xPU1NBUllfTUFOQUdFTUVOVFwiOiBcIkRlZmF1bHQgZ2xvc3NhcnkgbWFuYWdlbWVudFwiLFxyXG4gICAgXCJBUklBX0xBQkVMU1wiOiB7XHJcbiAgICAgIFwiUkFESU9fR1JPVVBcIjogXCJTZWxlY3QgYSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJPVEhFUl9DT0xMRUNUSU9OU1wiOiBcIk9wZW4gdGhlIGNvbGxlY3Rpb24gbWVudVwiXHJcbiAgICB9LFxyXG4gICAgXCJDUkVBVEVfRElBTE9HXCI6IHtcclxuICAgICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgICAgXCJDT0xMRUNUSU9OX05BTUVfTEFCRUxcIjogXCJHbG9zc2FyeSBuYW1lXCIsXHJcbiAgICAgIFwiQ1JFQVRFXCI6IFwiQ3JlYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMVwiOiBcIkFmdGVyIGNsaWNraW5nIOKAnENyZWF0ZeKAnSB5b3Ugd2lsbCBiZSByZWRpcmVjdGVkIHRvIFRpbGRlIFRlcm0gdG8gYWRkIHlvdXIgdGVybXMuXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05fMlwiOiBcIjxpPipBSSBpcyBub3QgcGVyZmVjdCBhbmQgY2FuIG1ha2Ugb2NjYXNpb25hbCBtaXN0YWtlcy4gWW91ciB1bmlxdWUgdGVybXMgd2lsbCBiZSB1c2VkIGNvcnJlY3RseSB3aXRoIDk1JSBhY2N1cmFjeS48L2k+XCIsXHJcbiAgICAgIFwiVElUTEVcIjogXCJDcmVhdGUgbmV3IGdsb3NzYXJ5XCIsXHJcbiAgICAgIFwiQ09MTEVDVElPTl9OQU1FX0VSUk9SXCI6IFwiVGl0bGUgc2hvdWxkIGJlIGF0IGxlYXN0IHt7bWluTGVuZ3RofX0gc3ltYm9scyBsb25nIGFuZCBub3QgbG9uZ2VyIHRoYW4ge3ttYXhMZW5ndGh9fSBzeW1ib2xzXCJcclxuICAgIH0sXHJcbiAgICBcIlRPT0xUSVBTXCI6IHtcclxuICAgICAgXCJFRElUXCI6IFwiRWRpdCBnbG9zc2FyeSBpbiB0ZXJtaW5vbG9neSBwb3J0YWxcIixcclxuICAgICAgXCJJTVBPUlRJTkdcIjogXCJJbXBvcnRpbmcgZ2xvc3NhcnlcIixcclxuICAgICAgXCJOT19FTlRSSUVTXCI6IFwiVGVybSBjb2xsZWN0aW9uIGNhbm5vdCBiZSB1c2VkOiBubyB0ZXJtcyBpbiBzb3VyY2UgbGFuZ3VhZ2VcIixcclxuICAgICAgXCJERUZBVUxUX0NPTExFQ1RJT05cIjogXCJUaGVzZSB0ZXJtcyBhcmUgbm93IGluIHVzZS4gWW91IGNhbiBtYW5hZ2UgdGhlbSB0aHJvdWdoIERlZmF1bHQgZ2xvc3NhcnkgbWFuYWdlbWVudC4gXCIsXHJcbiAgICAgIFwiU1lOQ1wiOiBcIlVwZGF0ZSB0aGUgdGVybSBjb2xsZWN0aW9uXCIsXHJcbiAgICAgIFwiU1lOQ0lOR1wiOiBcIlRlcm0gY29sbGVjdGlvbiBpcyBzeW5jZWQsIHRoZSBsYXRlc3QgdmVyc2lvbiBvZiB0aGUgY29sbGVjdGlvbiB3aWxsIGJlIHVzZWRcIixcclxuICAgICAgXCJBVFRBQ0hfVE9fU1lTVEVNX0VSUk9SXCI6IFwiQW4gZXJyb3IgaGFzIG9jY3VyZWQgd2hpbGUgaW1wb3J0aW5nIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIlxyXG4gICAgfSxcclxuICAgIFwiUkVBREVSXCI6IHtcclxuICAgICAgXCJUSVRMRVwiOiBcIkdsb3NzYXJpZXNcIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIk5vIGdsb3NzYXJpZXMgY3JlYXRlZFwiLFxyXG4gICAgICBcIkhJTlRcIjogXCJZb3UgbXVzdCBiZSBhIFRlcm1pbm9sb2d5IE1hbmFnZXIgdG8gY3JlYXRlIGdsb3NzYXJpZXNcIlxyXG4gICAgfSxcclxuICAgIFwiRVJST1JTXCI6IHtcclxuICAgICAgXCJFUlJPUklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBlcnJvclwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBcIkRPTUFJTlNcIjoge1xyXG4gICAgXCJPUEVOX0xJU1RfQVJJQV9MQUJFTFwiOiBcIk9wZW4gZG9tYWluIGxpc3RcIixcclxuICAgIFwiVElUTEVcIjogXCJEb21haW46XCIsXHJcbiAgICBcIkxBV1wiOiBcIkxhd1wiLFxyXG4gICAgXCJEWU5BTUlDX0xFQVJOSU5HXCI6IFwiRHluYW1pYyBsZWFybmluZ1wiLFxyXG4gICAgXCJCVVNJTkVTU1wiOiBcIkJ1c2luZXNzXCIsXHJcbiAgICBcIkdFTkVSQUxcIjogXCJHZW5lcmFsXCIsXHJcbiAgICBcIkFVVE9cIjogXCJBdXRvZGV0ZWN0XCIsXHJcbiAgICBcIlNQRFwiOiBcIkVVIEZvcm1hbCBMYW5ndWFnZVwiLFxyXG4gICAgXCJHRU5cIjogXCJHZW5lcmFsIFRleHRcIixcclxuICAgIFwiRUNCXCI6IFwiRmluYW5jZVwiLFxyXG4gICAgXCJFQ0pcIjogXCJFdXJvcGVhbiBDb3VydCBvZiBKdXN0aWNlXCIsXHJcbiAgICBcIlBVQkhFQUxUSFwiOiBcIlB1YmxpYyBIZWFsdGhcIixcclxuICAgIFwiQlVCQVwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmtcIixcclxuICAgIFwiQkVSQ1lcIjogXCJNaW5pc3TDqHJlIGRlcyBGaW5hbmNlc1wiLFxyXG4gICAgXCJFVVJPUEVBTkFcIjogXCJFdXJvcGVhbmFcIixcclxuICAgIFwiSVBPXCI6IFwiSVAgQ2FzZSBMYXdcIixcclxuICAgIFwiVFJJU1wiOiBcIkVuZ2luZXMgYnVpbHQgdXNpbmcgZGF0YSBmcm9tIHRoZSB0ZWNobmljYWwgcmVndWxhdGlvbiBpbmZvcm1hdGlvbiBzeXN0ZW1cIixcclxuICAgIFwiVktcIjogXCJWYWx0aW9uZXV2b3N0b24gS2Fuc2xpYVwiLFxyXG4gICAgXCJCVUJBX05NVFRFU1RcIjogXCJEZXV0c2NoZSBCdW5kZXNiYW5rIFRlc3RcIlxyXG4gIH0sXHJcbiAgXCJHUkFNTUFSX0NIRUNLX01FTlVcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIkNvbnNpZGVyIGNoYW5naW5nIHRvOlwiXHJcbiAgfSxcclxuICBcIkFVRElPXCI6IHtcclxuICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRFU0NSSUJFX1NUQVRFX1JFQ09SRElOR1wiOiBcIlBsZWFzZSBzcGVhayB0byByZWNvcmQuLi5cIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUFJPQ0VTU0lOR1wiOiBcIlByb2Nlc3NpbmcuLi5cIixcclxuICAgIFwiTUlDX05PVF9GT1VORFwiOiBcIk1pY3JvcGhvbmUgbm90IGZvdW5kXCIsXHJcbiAgICBcIlNUT1BcIjogXCJTdG9wIHJlY29yZGluZ1wiLFxyXG4gICAgXCJTVEFSVFwiOiBcIlRyYW5zbGF0ZSBzcGVlY2hcIixcclxuICAgIFwiUFVOQ1RVQVRJT05fTUVTU0FHRV9USVRMRVwiOiBcIkFkZCBwdW5jdHVhdGlvblwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFXCI6IFwiUGxlYXNlIGFkZCBwdW5jdHVhdGlvbiB0byB0aGUgcmVjb2duaXplZCB0ZXh0LiBMb25nIHRleHQgd2l0aG91dCBwdW5jdHVhdGlvbiBtYXkgaGF2ZSBsb3dlciB0cmFuc2xhdGlvbiBxdWFsaXR5IG9yIG5vdCBiZSB0cmFuc2xhdGVkLlwiLFxyXG4gIH0sXHJcbiAgXCJFWFRFTlNJT05fUE9QVVBcIjoge1xyXG4gICAgXCJPUEVOXCI6IFwic2VlIGFsbCBzdXBwb3J0ZWQgZm9ybWF0c1wiLFxyXG4gICAgXCJUSVRMRVwiOiBcIlN1cHBvcnRlZCBmaWxlIGZvcm1hdHNcIixcclxuICAgIFwiREVTQ1JJUFRJT05cIjogXCJVVEYtOCBvciBVVEYtMTYgY29kaW5nIHJlcXVpcmVkIHRvIGVuc3VyZSBjb3JyZWN0IGZpbGUgdHJhbnNsYXRpb25cIixcclxuICAgIFwiT0ZGSUNFXCI6IFwiT2ZmaWNlXCIsXHJcbiAgICBcIlNDQU5ORURcIjogXCJJbWFnZSBmaWxlc1wiLFxyXG4gICAgXCJJTlRFUkNIQU5HRVwiOiBcIkludGVyY2hhbmdlIGZvcm1hdHNcIixcclxuICAgIFwiV0VCXCI6IFwiV2ViXCIsXHJcbiAgICBcIk9USEVSXCI6IFwiT3RoZXJcIixcclxuICB9LFxyXG4gIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgXCJVUExPQURcIjogXCJVcGxvYWRcIixcclxuICAgIFwiRFJBR19BTkRfRFJPUFwiOiBcIm9yIGRyYWcgYW5kIGRyb3AgXCIsXHJcbiAgICBcIkZJTEVcIjogXCJhIGZpbGVcIixcclxuICAgIFwiRklMRVNcIjogXCJmaWxlc1wiLFxyXG4gICAgXCJMSU1JVFNcIjogXCIgKCB7e3Zpc2libGVFeHRlbnNpb25zfX0uIE1heCB7e21heFNpemVNQn19Jm5ic3A7KVwiLFxyXG4gICAgXCJDTEVBUlwiOiBcIkNsZWFyIGZpbGVcIlxyXG4gIH0sXHJcbiAgXCJTWVNURU1fUElDS0VSXCI6IHtcclxuICAgIFwiU09VUkNFXCI6IFwiVHJhbnNsYXRlIGZyb21cIixcclxuICAgIFwiVEFSR0VUXCI6IFwiVHJhbnNsYXRlIHRvXCIsXHJcbiAgICBcIlNFQVJDSF9QTEFDRUhPTERFUlwiOiBcIlNlYXJjaCBsYW5ndWFnZXNcIixcclxuICAgIFwiUkVDRU5UX1NZU1RFTV9USVRMRVwiOiBcIlJlY2VudCB0cmFuc2xhdGlvbiBkaXJlY3Rpb25zXCIsXHJcbiAgICBcIlNFTEVDVF9ET01BSU5cIjogXCJTZWxlY3QgZG9tYWluXCIsXHJcbiAgICBcIkZJTFRFUl9OT19SRVNVTFRTXCI6IFwiTm8gcmVzdWx0c1wiLFxyXG4gICAgXCJBTExfTEFOR1VBR0VTXCI6IFwiQWxsIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJDTEVBUl9TRUFSQ0hcIjogXCJDbGVhciBzZWFyY2ggdGV4dFwiLFxyXG4gICAgXCJPUEVOX1NPVVJDRV9BUklBX0xBQkVMXCI6IFwiU2VsZWN0IHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgXCJPUEVOX1RBUkdFVF9BUklBX0xBQkVMXCI6IFwiU2VsZWN0IHRhcmdldCBsYW5ndWFnZSBhbmQgZG9tYWluXCJcclxuICB9LFxyXG4gIFwiVEVYVF9UUkFOU0xBVElPTl9QUk9HUkVTU19JTkRJQ0FUT1JcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIlRyYW5zbGF0aW9uIHByb3ZpZGVkIGJ5IHt7cHJvdmlkZXJ9fVwiLFxyXG4gICAgXCJUUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nLi4uXCIsXHJcbiAgICBcIkNMT1NFX0JVVFRPTl9UT09MVElQXCI6IFwiUmVtb3ZlIHByb2dyZXNzIGJhclwiLFxyXG4gICAgXCJDTE9TRV9CVVRUT05fQVJJQV9MQUJFTFwiOiBcIlJlbW92ZSBwcm9ncmVzcyBiYXJcIlxyXG4gIH0sXHJcbiAgXCJWRU5ET1JfTUVTU0FHRVwiOiB7XHJcbiAgICBcIlRFWFRcIjogXCJUcmFuc2xhdGlvbiBwcm92aWRlZCBieSB7e3ZlbmRvcn19XCIsXHJcbiAgICBcIklDT05fVE9PTFRJUFwiOiBcIlN5c3RlbXMgb2ZmZXJlZCBieSB7e3ZlbmRvcn19IGFyZSB1c2VkIGJ5IGEgaHVnZSBudW1iZXIgb2YgdXNlcnMuIFRoZXkgbWF5IGJlIHNsb3cgYXQgdGltZSBkdWUgdG8gdGhlIGhlYXZ5IHdvcmsgbG9hZC5cIlxyXG4gIH0sXHJcbiAgXCJWRU5ET1JTXCI6IHtcclxuICAgIFwiRVRSQU5TTEFUSU9OXCI6IFwiZVRyYW5zbGF0aW9uXCJcclxuICB9LFxyXG4gIFwiVEVYVF9UT19TUEVFQ0hcIjoge1xyXG4gICAgXCJQTEFZXCI6IFwiTGlzdGVuXCIsXHJcbiAgICBcIlBBVVNFXCI6IFwiUGF1c2VcIlxyXG4gIH1cclxufVxyXG4iXX0=
455
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsbUNBQW1DLEVBQUUsRUFBRTtRQUN2QywrQkFBK0IsRUFBRSxFQUFFO1FBQ25DLGlDQUFpQyxFQUFFLDRCQUE0QjtRQUMvRCxtQ0FBbUMsRUFBRSxjQUFjO1FBQ25ELGtDQUFrQyxFQUFFLFVBQVU7UUFDOUMsNkJBQTZCLEVBQUUsa0dBQWtHO1FBQ2pJLE1BQU0sRUFBRSxPQUFPO1FBQ2YscUJBQXFCLEVBQUUsbUJBQW1CO1FBQzFDLHVCQUF1QixFQUFFLDhCQUE4QjtRQUN2RCx1QkFBdUIsRUFBRSx5QkFBeUI7UUFDbEQsOEJBQThCLEVBQUUsMEZBQTBGO1FBQzFILG9CQUFvQixFQUFFLDZMQUE2TDtRQUNuTixnQkFBZ0IsRUFBRSxxRkFBcUY7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VEVSTV9QT1JUQUxfTkFNRVwiOiBcIlRpbGRlIHRlcm1cIixcclxuICBcIkFQUF9OQU1FXCI6IFwiVGlsZGUgTVRcIixcclxuICBcIlRMRF9UUkFOU0xBVEVcIjoge1xyXG4gICAgXCJCRVNUX05NVFwiOiBcIlByb3VkIHdpbm5lciBvZiB0aGUgYmVzdCBtYWNoaW5lIHRyYW5zbGF0aW9uIHRlY2hub2xvZ3kgYXQgV01UIENvbXBldGl0aW9uIGZvciB0aHJlZSB5ZWFycyBpbiBhIHJvdy5cIixcclxuICAgIFwiQkVTVF9OTVRfTU9SRVwiOiBcIkxlYXJuIG1vcmVcIixcclxuICAgIFwiQ0FOQ0VMX1RSQU5TTEFUSU9OXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRJQ1RJT05BUllfRVhBTVBMRVNcIjogXCJleGFtcGxlc1wiLFxyXG4gICAgXCJET1dOTE9BRF9UUkFOU0xBVEVEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiRE9NQUlOU19BUklBX0xBQkVMXCI6IFwiRG9tYWluc1wiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgUERGXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0hFTFBcIjogXCJQREYgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgaW1hZ2VcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0VfSEVMUFwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi4gUGxlYXNlIGNoZWNrIHRoZSBjb252ZXJ0ZWQgZmlsZSBhbmQgZml4IHRoZSBlcnJvcnMgYmVmb3JlIHJlLXVwbG9hZGluZyB0aGUgZmlsZSBmb3IgdHJhbnNsYXRpb25cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nIHRyYW5zbGF0aW9uIHByb2Nlc3MuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmcgdHJhbnNsYXRhYmxlIGNvbnRlbnQuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfV0FJVElOR1wiOiBcIlN0YXJ0aW5nIHRyYW5zbGF0b3IuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmcgdHJhbnNsYXRpb24uLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfQ09NUExFVEVEXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX0VSUk9SXCI6IFwiXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1FVRVVJTkdcIjogXCJUcmFuc2xhdGlvbiBpcyBzdGFydGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19VUExPQURJTkdcIjogXCJVcGxvYWRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJGSUxFX1RBUkdFVF9QUkVWSUVXX01FU1NBR0VcIjogXCJUaGlzIGlzIGEgcHJldmlldyBvZiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCwgcGxlYXNlIGRvd25sb2FkIHRvIHJlY2VpdmUgYSBjb21wbGV0ZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiRlJPTVwiOiBcIkZyb206XCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJTZWUgaG93IHRvIGZpeCBpdFwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlBSRVBBUklOR19UUkFOU0xBVElPTlwiOiBcIlRyYW5zbGF0aW9uIGlzIHN0YXJ0aW5nXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU19MT0dHRURfSU5cIjogXCJSZWdpc3RlcmVkIHVzZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0cyB0cmFuc2xhdGlvbjoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICBcIlJFR0lTVEVSRURfRk9STUFUU1wiOiBcIlJlZ2lzdGVyZWQgdXNlcnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzIHRyYW5zbGF0aW9uOiB7e2Zvcm1hdHN9fS4gUmVxdWVzdCB5b3VyIGFjY2VzcyA8YSBjbGFzcz1cXFwiYWNjZW50LWNvbG9yXFxcIiB0YXJnZXQ9XFxcImJsYW5rXFxcIiBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319XFxcIj5oZXJlPC9hPi5cIixcclxuICAgIFwiU09VUkNFX0ZPUk1BVFNcIjogXCJTZWN1cmUgcHVibGljIHRyYW5zbGF0aW9uIHNlcnZpY2Ugc3VwcG9ydHMgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHM6IHt7Zm9ybWF0c319O1wiLFxyXG4gICAgXCJTT1VSQ0VfV09SRF9MSU1JVFwiOiBcIiB0cmFuc2xhdGlvbiBhbW91bnQgaXMgbGltaXRlZCB1cCB0byB7e2xpbWl0fX0gd29yZHMuXCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQXCI6IFwiVHlwZSB0ZXh0IG9yIGluc2VydCBsaW5rIHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfT05MWV9URVhUXCI6IFwiVHlwZSB0ZXh0IHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfU0VOU0lUSVZFX0lORk9cIjogXCJEbyBub3QgdXNlIHt7YXBwTmFtZX19IHRvIHRyYW5zbGF0ZSBjb25maWRlbnRpYWwgb3IgY2xhc3NpZmllZCBpbmZvcm1hdGlvbiBvciB0ZXh0cyB0aGF0IGNvbnRhaW4gc3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGRhdGEsIHN1Y2ggYXMgbWVkaWNhbCBkYXRhXCIsXHJcbiAgICBcIlRBUkdFVF9ERVNDUklQVElPTlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gYWxsb3dzIHRvIHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgYSBzb3VyY2UgdGV4dCwgYnV0IGNhbm5vdCBzdWJzdGl0dXRlIGEgaHVtYW4gdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlRPXCI6IFwiVG86XCIsXHJcbiAgICBcIlRFWFRfQ09QSUVEXCI6IFwiVHJhbnNsYXRpb24gY29waWVkXCIsXHJcbiAgICBcIlNVR0dFU1RfQlVUVE9OXCI6IFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX09SSUdJTkFMX0xBQkVMXCI6IFwiT3JpZ2luYWwgc2VudGVuY2VcIixcclxuICAgIFwiU1VHR0VTVF9TVUJNSVRfQlVUVE9OXCI6IFwiQ29udHJpYnV0ZVwiLFxyXG4gICAgXCJTVUdHRVNUX1RSQU5TTEFUSU9OX0xBQkVMXCI6IFwiVHJhbnNsYXRpb25cIixcclxuICAgIFwiU1VHR0VTVF9VU0FHRV9JTkZPXCI6IFwiWW91ciBhbm9ueW1pemVkIHRyYW5zbGF0aW9uIHN1Z2dlc3Rpb24gd2lsbCBiZSB1c2VkIHRvIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9PTFRJUF9BQ1RJT05cIjogXCJUcmFuc2xhdGVcIixcclxuICAgIFwiVkVORE9SU19BUklBX0xBQkVMXCI6IFwiUHJvdmlkZXJzXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BREpFQ1RJVkVcIjogXCJhZGplY3RpdmVcIixcclxuICAgIFwiV09SRF9UWVBFX05PVU5cIjogXCJub3VuXCIsXHJcbiAgICBcIldPUkRfVFlQRV9WRVJCXCI6IFwidmVyYlwiLFxyXG4gICAgXCJXT1JEX1RZUEVfQURWRVJCXCI6IFwiYWR2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9DT05KVU5DVElPTlwiOiBcImNvbmp1bmN0aW9uXCIsXHJcbiAgICBcIldPUkRfVFlQRV9JTlRFUkpFQ1RJT05cIjogXCJpbnRlcmplY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX1BST05PVU5cIjogXCJwcm9ub3VuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3Qge3t3b3JkQ291bnR9fSB3b3JkcyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBmdWxsIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1RJVExFXCI6IFwiTm8gdHJhbnNsYXRpb24gZW5naW5lcyB3ZXJlIGxvYWRlZFwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRFwiOiBcIkZhaWxlZCB0byBsb2FkIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZXMuXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1NVUFBPUlRcIjogXCIgUGxlYXNlIHJlbG9hZCB0aGUgcGFnZSBvciBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCBwYWdlIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgZnVsbCBQREYgZmlsZXMuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiQ0xFQVJfU09VUkNFX1RPT0xUSVBcIjogXCJDbGVhciB0ZXh0XCJcclxuICB9LFxyXG4gIFwiTVVMVElQTEVfRklMRVNcIjoge1xyXG4gICAgXCJBUFBFTkRcIjogXCJBZGQgZmlsZXNcIixcclxuICAgIFwiQ0xFQVJfQUxMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRPV05MT0FEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmdcIixcclxuICAgIFwiU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX1dBSVRJTkdcIjogXCJTdGFydGluZyB0cmFuc2xhdG9yXCIsXHJcbiAgICBcIlNUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZyB7e3BlcmNlbnR9fSVcIixcclxuICAgIFwiU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmdcIixcclxuICAgIFwiU1RBVFVTU19DT01QTEVURURcIjogXCJDb21wbGV0ZWRcIixcclxuICAgIFwiU1RBVFVTU19FUlJPUlwiOiBcIkVycm9yXCIsXHJcbiAgICBcIlNUQVRVU1NfUVVFVUlOR1wiOiBcIlF1ZXVpbmdcIixcclxuICAgIFwiU1RBVFVTU19OT1RfU1RBUlRFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIlNUQVRVU1NfVVBMT0FERURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJUSVRMRV9GSUxFX05BTUVcIjogXCJGaWxlXCIsXHJcbiAgICBcIlRJVExFX1NUQVRVU1NcIjogXCJTdGF0dXNcIixcclxuICAgIFwiVFJBTlNMQVRJT05fU1RBVFVTU19MQUJFTFwiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUlwiOiBcIlBERiBkb2N1bWVudHMgbWF5IGhhdmUgZm9ybWF0dGluZyBvciB0cmFuc2xhdGlvbiBlcnJvcnMuXCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IHBkZiBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9ESVNDTEFJTUVSX0xJTktcIjogXCJSZWFkIGFib3V0IGltYWdlIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIlNDUkVFTl9SRUFERVJfQU5OT1VOQ0VNRU5UXCI6IFwie3t0cmFuc2xhdGVkfX0gb3V0IG9mIHt7dG90YWx9fSBmaWxlcyBhcmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUkVNT1ZFX0ZJTEVfVE9PTFRJUFwiOiBcIkNsZWFyIGZpbGVcIlxyXG4gIH0sXHJcbiAgXCJFUlJPUlNcIjoge1xyXG4gICAgXCJFUlJPUl9ERUZBVUxUX1RJVExFXCI6IFwiVW5leHBlY3RlZCBlcnJvclwiLFxyXG4gICAgXCJFUlJPUl9ERUZBVUxUXCI6IFwiQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRVJST1JfREVGQVVMVF9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhcIjogXCJPbmx5IHt7bWF4Q2hhckxlbmd0aH19L3t7dG90YWxTeW1ib2xzfX0gY2hhcmFjdGVycyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSF9TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gZm9yIHVubGltaXRlZCB0ZXh0IHRyYW5zbGF0aW9uLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIk1BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkge3tsaW1pdH19IGZpbGVzIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuXCIsXHJcbiAgICBcIklOQ1JFQVNFX01BWF9OVU1CRVJfT0ZfRklMRVNfVElUTEVcIjogXCJVcGxvYWQgbGltaXRcIixcclxuICAgIFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU1wiOiBcIk9ubHkgMSBmaWxlIGNhbiBiZSB0cmFuc2xhdGVkIGF0IG9uY2UuIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIGluY3JlYXNlIGxpbWl0LiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkZJTEVfQUxSRUFEWV9BRERFRF9USVRMRVwiOiBcIkZpbGUgaGFzIGFscmVhZHkgYmVlbiBhZGRlZFwiLFxyXG4gICAgXCJGSUxFX0FMUkVBRFlfQURERURcIjogXCJGaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWQuXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfVElUTEVcIjogXCJVbmF1dGhvcml6ZWRcIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMVwiOiBcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gdXNlIG1hY2hpbmUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV9VTktOT1dOX0ZJTEVfVFlQRVwiOiBcIlVua25vd24gZmlsZSB0eXBlLlwiLFxyXG4gICAgXCJFX0NBTk5PVF9SRUFEX0ZJTEVfVElUTEVcIjogXCJVbmFibGUgdG8gcmVhZCBmaWxlXCIsXHJcbiAgICBcIkVfQ0FOTk9UX1JFQURfRklMRVwiOiBcIlRoZSBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGNvcnJ1cHRlZCBhbmQgY291bGRuJ3QgYmUgdHJhbnNsYXRlZC4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWRcIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05cIjogXCJFcnJvciBvY2N1cnJlZCB3aGlsZSB0cmFuc2xhdGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV9GQUlMRURfSU5fVFJBTlNMQVRJT05fU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfRk9STUFUX1RSQUNLX0NIQU5HRVNfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgIFwiRV9GT1JNQVRfVFJBQ0tfQ0hBTkdFU1wiOiBcIkNoYW5nZXMgbXVzdCBmaXJzdCBiZSBhY2NlcHRlZCBvciDigJh0cmFjayBjaGFuZ2Vz4oCZIHR1cm5lZCBvZmYgYmVmb3JlIHRyYW5zbGF0aW5nIE9mZmljZSBmaWxlcy5cIixcclxuICAgIFwiRV9VTktOT1dOX0VSUk9SX1RJVExFXCI6IFwiVW5rbm93biBlcnJvclwiLFxyXG4gICAgXCJFX1VOS05PV05fRVJST1JcIjogXCJBbiB1bmtub3duIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRF9USVRMRVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJFX1VOQVVUSE9SSVpFRFwiOiBcIkRvY3VtZW50IHRyYW5zbGF0aW9uIHdhcyBkZW5pZWQuXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFX1RJVExFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIGdsb3NzYXJ5XCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFXCI6IFwiRmFpbGVkIHRvIGNyZWF0ZSBhIG5ldyBnbG9zc2FyeS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiQ09MTEVDVElPTl9JTVBPUlRfVElUTEVcIjogXCJGYWlsZWQgdG8gYXR0YWNoIHRoZSBnbG9zc2FyeVwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0lNUE9SVFwiOiBcIkZhaWxlZCB0byBhdHRhY2ggdGhlIHRlcm0gY29sbGVjdGlvbiB3aXRoIElEOiB7e3Rlcm1JZH19IHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZS4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgIFwiRV8xMVwiOiBcIkRhaWx5IHRyYW5zbGF0aW9uIGxpbWl0IGhhcyBiZWVuIHJlYWNoZWQuXCIsXHJcbiAgICBcIkVfMTFfU1VQUE9SVFwiOiBcIiBUbyBpbmNyZWFzZSB0aGUgZGFpbHkgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMTJfVElUTEVcIjogXCJUZXh0IHNpemUgbGltaXRcIixcclxuICAgIFwiRV8xMlwiOiBcIlRleHQgc2l6ZSBsaW1pdCByZWFjaGVkLiBTZW5kIGxlc3MgdGV4dCBpbiB0aGUgcmVxdWVzdC5cIixcclxuICAgIFwiRV8xMl9TVVBQT1JUXCI6IFwiIFRvIGluY3JlYXNlIHRoZSB0ZXh0IHNpemUgbGltaXQsIHBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjFcIjogXCJUaGUgdHJhbnNsYXRpb24gZW5naW5lIGlzIHN0YXJ0aW5nIHVwLCB0aGlzIG1heSB0YWtlIGEgbW9tZW50IVwiLFxyXG4gICAgXCJFXzIyX1RJVExFXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgbm90IGZvdW5kXCIsXHJcbiAgICBcIkVfMjJcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmQuXCIsXHJcbiAgICBcIkVfMjJfU1VQUE9SVFwiOiBcIiBQbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIzXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgbm90IHN0YXJ0ZWQuXCIsXHJcbiAgICBcIkVfMjNfU1VQUE9SVFwiOiBcIiBDb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfNDFcIjogXCJVbmtub3duIHRlcm0gY29ycHVzIElEIHByb3ZpZGVkLiBUZXJtIGNvcnB1cyBtdXN0IGJlIGxpbmtlZCB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmVcIixcclxuICAgIFwiRV81MDRcIjogXCJUcmFuc2xhdGlvbiBoYXMgdGltZWQgb3V0LiBUcnkgYWdhaW4gbGF0ZXIuXCIsXHJcbiAgICBcIkVfNTA0X1RJVExFXCI6IFwiVHJhbnNsYXRpb24gdGltZW91dFwiLFxyXG4gICAgXCJFXzQwNDIwMVwiOiBcIkVuZ2luZSB0ZXJtIGNvbGxlY3Rpb24gbm90IGZvdW5kXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9TVUJTVEFUVVNcIjoge1xyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIHRyYW5zbGF0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkJBRF9GSUxFX0VSUk9SXCI6IFwiVGhlIGZpbGUgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SX1RJVExFXCI6IFwiRmFpbGVkIHRvIGV4dHJhY3QgYW55IHRleHRcIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUlwiOiBcIlRoZSBmaWxlIG1heSBiZSBlbXB0eS4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBmYWlsZWQsIGJlY2F1c2Ug4oCYdHJhY2sgY2hhbmdlc+KAmSBpcyB0dXJuZWQgb25cIixcclxuICAgICAgXCJUUkFDS19DSEFOR0VTX0VOQUJMRURfRVJST1JcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JfVElUTEVcIjogXCJVbmtub3duIGZpbGUgdHlwZVwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SXCI6IFwiRmlsZSB0eXBlIG5vdCByZWNvZ25pemVkLiBUaGUgZmlsZSBleHRlbnNpb24gbWF5IGJlIGluY29ycmVjdCwgb3IgdGhlIGZpbGUgbWF5IGJlIGNvcnJ1cHRlZC5cIlxyXG4gICAgfSxcclxuICAgIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZX1RJVExFXCI6IFwiVGhlIGZpbGUgaXMgZW1wdHlcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIGVtcHR5LiBTZWxlY3QgYSBmaWxlIHdpdGggY29udGVudC5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRV9USVRMRVwiOiBcIkZpbGUgc2l6ZSBsaW1pdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgdG9vIGJpZy4gTWF4aW11bSBzaXplIHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZm9ybWF0IGlzIG5vdCBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9uIGlzIHN1cHBvcnRlZCBmb3IgdGhlc2UgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX0uXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJcIjogXCJZb3UgbmVlZCBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZpbGUuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgICAgXCJFXzQwNF9USVRMRVwiOiBcIkZpbGUgbm90IGZvdW5kXCIsXHJcbiAgICAgIFwiRV80MDRcIjogXCJUaGUgcmVxdWVzdGVkIGZpbGUgZG9lc24ndCBleGlzdFwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRV9USVRMRVwiOiBcIkZhaWxlZCB0byBkZWxldGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gZGVsZXRlZFwiXHJcbiAgICB9LFxyXG4gICAgXCJBVURJT1wiOiB7XHJcbiAgICAgIFwiTk9fU1BFRUNIX1RJVExFXCI6IFwiTm8gc3BlZWNoXCIsXHJcbiAgICAgIFwiTk9fU1BFRUNIXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFdlIGNvdWxkbid0IGhlYXIgeW91LlwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8ge3t0aW1lU3RyaW5nfX0uXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEX1RJVExFXCI6IFwiTWljcm9waG9uZSBhY2Nlc3MgZGVuaWVkXCIsXHJcbiAgICAgIFwiTUlDX05PVF9BTExPV0VEXCI6IFwiWW91IGhhdmUgZGVuaWVkIGFjY2VzcyB0byB0aGUgbWljcm9waG9uZS4gQ2hhbmdlIHBlcm1pc3Npb25zIGluIGJyb3dzZXIncyBzZXR0aW5ncy5cIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQgYW5kIHNlbnQgdG8gcHJvY2Vzc2luZy4gU3BlZWNoIGlucHV0IGlzIGxpbWl0ZWQgdG8gKHt7bWF4U2l6ZU1ifX1NQikgc2l6ZS5cIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR19USVRMRVwiOiBcIkZhaWxlZCB0byBzdGFydCByZWNvcmRpbmdcIixcclxuICAgICAgXCJDQU5UX1NUQVJUX1JFQ09SRElOR1wiOiBcIlVuYWJsZSB0byBzdGFydCByZWNvcmRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEX1RpdGxlXCI6IFwiTm8gc3BlZWNoIHJlY29nbml6ZWRcIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURcIjogXCJObyBzcGVlY2ggY291bGQgYmUgcmVjb2duaXplZC4gQ2hlY2sgeW91ciBtaWNyb3Bob25lIGFuZCB0cnkgYWdhaW4uXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiUkFUSU5HXCI6IHt9LFxyXG4gIFwiTEFOR1VBR0VTXCI6IHtcclxuICAgIFwiQVVUT1wiOiBcIkRldGVjdCBsYW5ndWFnZVwiLFxyXG4gICAgXCJBUlwiOiBcIkFyYWJpY1wiLFxyXG4gICAgXCJMVlwiOiBcIkxhdHZpYW5cIixcclxuICAgIFwiRVRcIjogXCJFc3RvbmlhblwiLFxyXG4gICAgXCJEQVwiOiBcIkRhbmlzaFwiLFxyXG4gICAgXCJGSVwiOiBcIkZpbm5pc2hcIixcclxuICAgIFwiSVNcIjogXCJJY2VsYW5kaWNcIixcclxuICAgIFwiTFRcIjogXCJMaXRodWFuaWFuXCIsXHJcbiAgICBcIk5CXCI6IFwiTm9yd2VnaWFuXCIsXHJcbiAgICBcIlNWXCI6IFwiU3dlZGlzaFwiLFxyXG4gICAgXCJCRVwiOiBcIkJlbG9ydXNzaWFuXCIsXHJcbiAgICBcIkJHXCI6IFwiQnVsZ2FyaWFuXCIsXHJcbiAgICBcIkNTXCI6IFwiQ3plY2hcIixcclxuICAgIFwiSFVcIjogXCJIdW5nYXJpYW5cIixcclxuICAgIFwiUlVcIjogXCJSdXNzaWFuXCIsXHJcbiAgICBcIk1PXCI6IFwiTW9sZGF2aWFuXCIsXHJcbiAgICBcIlBMXCI6IFwiUG9saXNoXCIsXHJcbiAgICBcIlNLXCI6IFwiU2xvdmFrXCIsXHJcbiAgICBcIlVLXCI6IFwiVWtyYWluaWFuXCIsXHJcbiAgICBcIk5MXCI6IFwiRHV0Y2hcIixcclxuICAgIFwiRU5cIjogXCJFbmdsaXNoXCIsXHJcbiAgICBcIkZSXCI6IFwiRnJlbmNoXCIsXHJcbiAgICBcIkRFXCI6IFwiR2VybWFuXCIsXHJcbiAgICBcIkdBXCI6IFwiSXJpc2hcIixcclxuICAgIFwiRUxcIjogXCJHcmVla1wiLFxyXG4gICAgXCJJVFwiOiBcIkl0YWxpYW5cIixcclxuICAgIFwiTVRcIjogXCJNYWx0ZXNlXCIsXHJcbiAgICBcIlBUXCI6IFwiUG9ydHVndWVzZVwiLFxyXG4gICAgXCJTUlwiOiBcIlNlcmJpYW5cIixcclxuICAgIFwiU0xcIjogXCJTbG92ZW5pYW5cIixcclxuICAgIFwiRVNcIjogXCJTcGFuaXNoXCIsXHJcbiAgICBcIlpIXCI6IFwiQ2hpbmVzZVwiLFxyXG4gICAgXCJKQVwiOiBcIkphcGFuZXNlXCIsXHJcbiAgICBcIktPXCI6IFwiS29yZWFuXCIsXHJcbiAgICBcIlRSXCI6IFwiVHVya2lzaFwiLFxyXG4gICAgXCJIUlwiOiBcIkNyb2F0aWFuXCIsXHJcbiAgICBcIlJPXCI6IFwiUm9tYW5pYW5cIixcclxuICAgIFwiVVpcIjogXCJVemJla1wiLFxyXG4gICAgXCJJRFwiOiBcIkluZG9uZXNpYW5cIlxyXG4gIH0sXHJcbiAgXCJBUklBX0xBQkVMU1wiOiB7XHJcbiAgICBcIkNMT1NFX0JVVFRPTlwiOiBcIkNsZWFyXCIsXHJcbiAgICBcIkNMRUFSX05PVElGSUNBVElPTlwiOiBcIkNsb3NlIGFsZXJ0XCIsXHJcbiAgICBcIkNMRUFSX1NPVVJDRVwiOiBcIkNsZWFyIGVudGVyZWQgdGV4dFwiLFxyXG4gICAgXCJDTE9TRV9ESUFMT0dcIjogXCJDbG9zZSBkaWFsb2dcIixcclxuICAgIFwiQ0xFQVJfRklMRVNcIjogXCJDbGVhciB1cGxvYWRlZCBmaWxlc1wiLFxyXG4gICAgXCJTSE9XX0VYVEVOU0lPTlNcIjogXCJTaG93IG90aGVyIGRvd25sb2FkIG9wdGlvbnNcIixcclxuICAgIFwiQ09QWVwiOiBcIkNvcHkgdG8gY2xpcGJvYXJkXCIsXHJcbiAgICBcIlJFRlJFU0hcIjogXCJSZWZyZXNoIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIk9QRU5fSU5fTkVXXCI6IFwiT3BlbiBpbiBuZXcgdGFiXCIsXHJcbiAgICBcIlNXQVBfTEFOR1VBR0VTXCI6IFwiU3dhcCBsYW5ndWFnZXNcIixcclxuICAgIFwiT1RIRVJfTEFOR1VBR0VTX1RSSUdHRVJcIjogXCJTaG93IG90aGVyIGxhbmd1YWdlc1wiXHJcbiAgfSxcclxuICBcIlRPT0xUSVBTXCI6IHtcclxuICAgIFwiQ09QWVwiOiBcIkNvcHkgdG8gY2xpcGJvYXJkXCIsXHJcbiAgICBcIlJFRlJFU0hcIjogXCJSZWZyZXNoIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlNXQVBfTEFOR1VBR0VTXCI6IFwiU3dhcCBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJQREZfQ09OVkVSU0lPTlwiOiB7XHJcbiAgICBcIlRJVExFXzFcIjogXCJQREYgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYSAucGRmIGZpbGUgaXMgdXBsb2FkZWQgZm9yIHRyYW5zbGF0aW9uIGl0IGlzIGNvbnZlcnRlZCBpbnRvIGEgdHJhbnNsYXRhYmxlIGZvcm1hdC4gQm90aCBzY2FubmVkIGFuZCBuYXRpdmUgLnBkZnMgYXJlIHN1cHBvcnRlZC4gVHJhbnNsYXRpb25zIGNhbiBiZSBkb3dubG9hZGVkIGluIC5kb2N4LCAudG14IG9yIC5wZGYgZm9ybWF0cyBhbmQgd2lsbCByZXRhaW4gdGhlIGJhc2ljIGZvcm1hdHRpbmcuIEZvcm1hdHRpbmcgaW4gdGhlIHRyYW5zbGF0ZWQgLmRvY3ggYW5kIC5wZGYgZmlsZXMgbWF5IHNsaWdodGx5IGRpZmZlci4gXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzJcIjogXCJBcyBjb252ZXJzaW9uIHRha2VzIHRpbWUsIHRvIHNwZWVkIHRoaW5ncyB1cCBzcGxpdCB5b3VyIC5wZGZzIGFuZCBkZWxldGUgdGhlIHBhZ2VzIHdpdGggbm8gdHJhbnNsYXRhYmxlIGluZm9ybWF0aW9uLiBGYWN0b3JzIGxpa2UgdGhlIG51bWJlciBvZiBwYWdlcywgcXVhbGl0eSBhbmQgdGV4dCBkZW5zaXR5IGFmZmVjdCB0aGUgcHJvY2Vzc2luZyB0aW1lLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8zXCI6IFwiVG8gaW1wcm92ZSB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZSwgd2UgcmVjb21tZW5kIHRvIGRvd25sb2FkIHRoZSBjb252ZXJ0ZWQgZG9jdW1lbnQgaW4gdGhlIG9yaWdpbmFsIGxhbmd1YWdlIGFuZCBmaXggaXQgbWFudWFsbHkgYmVmb3JlIHJlLXVwbG9hZGluZyBmb3IgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIklNQUdFX0FMVF8xXCI6IFwiU291cmNlIFBERiBkb3dubG9hZCBleGFtcGxlXCIsXHJcblxyXG4gICAgXCJUSVRMRV8yXCI6IFwiUERGIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBkb2N1bWVudCBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGRvY3VtZW50IChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgLnBkZnMgc2hvdWxkIGJlIGF0IGxlYXN0IDMwMCBkcGksIHVuc2tld2VkIGFuZCBub2lzZSBmcmVlLlwiLFxyXG4gICAgXCJMSV8xXzJcIjogXCJGb250IHNpemUuIFNpemVzIHNtYWxsZXIgdGhhbiA5IHBvaW50cyBtaWdodCBiZSBwb29ybHkgcmVjb2duaXplZC4gXCIsXHJcbiAgICBcIkxJXzFfM1wiOiBcIlJhcmUgYW5kIG9yaWdpbmFsIGZvbnRzLiBMZXNzIGNvbW1vbiBmb250cyBtYXkgYmUgdW5yZWNvZ25pemFibGUgb3IgcGVyZm9ybSB3b3JzZS5cIixcclxuICAgIFwiTElfMV80XCI6IFwiQ29tcGxleGl0eSBvZiB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nLlwiLFxyXG5cclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcbiAgICBcIkxJXzJfOVwiOiBcIkZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIG9yIHNpbWlsYXIgbGlzdHMgY29sbGFwc2VkIG9yIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcblxyXG4gICAgXCJQQVJBR1JBUEhfNF8xXCI6IFwiPGI+Tm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgd2lsbCBub3QgcmV0YWluIGFsbCBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBmb3JtYXR0aW5nLjwvYj4gU29tZSBpbWFnZXMsIHRhYmxlcyBvciBkaWFncmFtcyBtYXkgYmVjb21lIGRpc3RvcnRlZCBvciBzaW1wbGlmaWVkLiBGb250cyBpbiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyBpbiB0aGUgb3JpZ2luYWwsIGJ1dCBtYXkgYmUgc2ltaWxhci4gSW5jb3JyZWN0IGZvbnQgc2l6ZSBtYXkgYmUgcmVjb2duaXplZC4gU3BlY2lmaWMgV29yZCBmb3JtYXR0aW5nIGxpa2UgaGVhZGluZ3MsIHRhYmxlcyBvZiBjb250ZW50LCBoZWFkZXJzIGFuZCBmb290ZXJzLCBsYWJlbHMsIGZvcm1zIGV0Yy4gd2lsbCBiZSBzdHlsZWQgdG8gbG9vayBsaWtlIHRoZSBvcmlnaW5hbCwgYnV0IHdpbGwgbm90IG1hdGNoIHRoZSBvcmlnaW5hbCBjb21wbGV0ZWx5IChlLmcuIHRpdGxlcyB3aWxsIGJlIGJvbGQgYW5kIGluIGxhcmdlciBmb250LCBidXQgd2lsbCBub3QgYmUgc2V0IHRvIHRoZSBoZWFkaW5nIHN0eWxlKS5cIixcclxuXHJcbiAgICBcIkNMT1NFXCI6IFwiQ2xvc2UgZGlhbG9nXCJcclxuICB9LFxyXG4gIFwiSU1BR0VfQ09OVkVSU0lPTlwiOiB7XHJcbiAgICBcIlRJVExFXzFcIjogXCJJbWFnZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8xXCI6IFwiV2hlbiBhbiBpbWFnZSBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCBvciAudG14IGZvcm1hdHMgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8yXCI6IFwiPGI+U3VwcG9ydGVkIGltYWdlIGZvcm1hdHM6PC9iPiAuanBnLCAuanBlZywgLnBuZyBhbmQgLmJtcC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfM1wiOiBcIlRvIGltcHJvdmUgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2UsIHdlIHJlY29tbWVuZCB0byBkb3dubG9hZCB0aGUgY29udmVydGVkIGRvY3VtZW50IGluIHRoZSBvcmlnaW5hbCBsYW5ndWFnZSBhbmQgZml4IGl0IG1hbnVhbGx5IGJlZm9yZSByZS11cGxvYWRpbmcgZm9yIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJJTUFHRV9BTFRfMVwiOiBcIlNvdXJjZSBpbWFnZSBkb3dubG9hZCBleGFtcGxlXCIsXHJcblxyXG4gICAgXCJUSVRMRV8yXCI6IFwiSW1hZ2UgY29udmVyc2lvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8xXCI6IFwiVGhlIGltYWdlIGlzIGFuYWx5c2VkIGFuZCBpdHMgY29udGVudCBpcyBzcGxpdCBpbiB0ZXh0LCB0YWJsZSBhbmQgaW1hZ2UvYmFja2dyb3VuZCBpbWFnZSBhcmVhcy4gVGhleSBhcmUgYW5hbHlzZWQgZnVydGhlciB0byBkZXRlcm1pbmUgd2hpY2ggY29udGVudCBzaG91bGQgYmUgcmVjb2duaXplZCBhcyB0ZXh0LlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8yXCI6IFwiVGV4dHVhbCBkYXRhIGFyZSBhY3F1aXJlZCBieSBtZWFucyBvZiBPQ1Igb3Igb3B0aWNhbCBjaGFyYWN0ZXIgcmVjb2duaXRpb24uIEV2ZXJ5IGNoYXJhY3RlciBpcyByZWNvZ25pemVkIGRlcGVuZGluZyBvbiBpdHMgdmlzdWFsIGNoYXJhY3RlcmlzdGljcywgdGhlbiBhc3NlbWJsZWQgaW50byB3b3JkcyBhbmQgc2VudGVuY2VzLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8zXCI6IFwiUmVjb2duaXRpb24gaXMgYWZmZWN0ZWQgYnkgbWFueSBmYWN0b3JzLCBpbmNsdWRpbmc6XCIsXHJcbiAgICBcIkxJXzFfMVwiOiBcIlF1YWxpdHkgb2YgdGhlIHNjYW5uZWQgaW1hZ2UgKGJsdXJyZWQgb3IgZGVmb3JtZWQgdGV4dCwgaW1hZ2Ugbm9pc2UsIGltYWdlIHJlc29sdXRpb24sIGNvbnRyYXN0IGV0Yy4pLiBGb3IgdGhlIGJlc3QgcmVzdWx0LCBpbWFnZXMgc2hvdWxkIGJlIGF0IGxlYXN0IDMwMCBkcGksIHVuc2tld2VkIGFuZCBub2lzZSBmcmVlLlwiLFxyXG4gICAgXCJMSV8xXzJcIjogXCJGb250IHNpemUuIFNpemVzIHNtYWxsZXIgdGhhbiA5IHBvaW50cyBtaWdodCBiZSBwb29ybHkgcmVjb2duaXplZC4gXCIsXHJcbiAgICBcIkxJXzFfM1wiOiBcIlJhcmUgYW5kIG9yaWdpbmFsIGZvbnRzLiBMZXNzIGNvbW1vbiBmb250cyBtYXkgYmUgdW5yZWNvZ25pemFibGUgb3IgcGVyZm9ybSB3b3JzZS5cIixcclxuICAgIFwiTElfMV80XCI6IFwiQ29tcGxleGl0eSBvZiB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nLlwiLFxyXG5cclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcblxyXG4gICAgXCJQQVJBR1JBUEhfNF8xXCI6IFwiPGI+Tm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgd2lsbCBub3QgcmV0YWluIGFsbCBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBmb3JtYXR0aW5nLjwvYj4gU29tZSBpbWFnZXMsIHRhYmxlcyBvciBkaWFncmFtcyBtYXkgYmVjb21lIGRpc3RvcnRlZCBvciBzaW1wbGlmaWVkLiBGb250cyBpbiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyBpbiB0aGUgb3JpZ2luYWwsIGJ1dCBtYXkgYmUgc2ltaWxhci4gSW5jb3JyZWN0IGZvbnQgc2l6ZSBtYXkgYmUgcmVjb2duaXplZC5cIixcclxuXHJcbiAgICBcIkNMT1NFXCI6IFwiQ2xvc2UgZGlhbG9nXCJcclxuICB9LFxyXG4gIFwiV0VCVFJBTlNMQVRFXCI6IHtcclxuICAgIFwiQkFDS1wiOiBcIkJhY2sgdG8gVHJhbnNsYXRvclwiLFxyXG4gICAgXCJMT0FEX1BBR0VcIjogXCJMb2FkIHBhZ2VcIixcclxuICAgIFwiUkVTVE9SRVwiOiBcIlJlc3RvcmVcIixcclxuICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIlNFQVJDSFwiOiBcIlNlYXJjaCB3ZWJzaXRlXCIsXHJcbiAgICBcIk5PX1JFQ09SRFNcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiU2VhcmNoIGZvciBhIHdlYnNpdGUgdG8gdHJhbnNsYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05cIjogXCJTZWUgPGEgaHJlZj0ne3toZWxwVXJsfX0nIHRhcmdldD0nX2JsYW5rJyBjbGFzcz0ndW5kZXJsaW5lJz5ob3cgaXQgd29ya3M8L2E+XCJcclxuICAgIH0sXHJcbiAgfSxcclxuICBcIkRBVEVfQUdPXCI6IHtcclxuICAgIFwiWUVBUlwiOiBcInt7dmFsdWV9fSB5ZWFyIGFnb1wiLFxyXG4gICAgXCJZRUFSU1wiOiBcInt7dmFsdWV9fSB5ZWFycyBhZ29cIixcclxuICAgIFwiTU9OVEhcIjogXCJ7e3ZhbHVlfX0gbW9udGggYWdvXCIsXHJcbiAgICBcIk1PTlRIU1wiOiBcInt7dmFsdWV9fSBtb250aHMgYWdvXCIsXHJcbiAgICBcIldFRUtcIjogXCJ7e3ZhbHVlfX0gd2VlayBhZ29cIixcclxuICAgIFwiV0VFS1NcIjogXCJ7e3ZhbHVlfX0gd2Vla3MgYWdvXCIsXHJcbiAgICBcIkRBWVwiOiBcInt7dmFsdWV9fSBkYXkgYWdvXCIsXHJcbiAgICBcIkRBWVNcIjogXCJ7e3ZhbHVlfX0gZGF5cyBhZ29cIixcclxuICAgIFwiSE9VUlwiOiBcInt7dmFsdWV9fSBob3VyIGFnb1wiLFxyXG4gICAgXCJIT1VSU1wiOiBcInt7dmFsdWV9fSBob3VycyBhZ29cIixcclxuICAgIFwiTUlOVVRFXCI6IFwie3t2YWx1ZX19IG1pbnV0ZSBhZ29cIixcclxuICAgIFwiTUlOVVRFU1wiOiBcInt7dmFsdWV9fSBtaW51dGVzIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRcIjogXCJ7e3ZhbHVlfX0gc2Vjb25kIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRTXCI6IFwie3t2YWx1ZX19IHNlY29uZHMgYWdvXCIsXHJcbiAgICBcIkpVU1RfTk9XXCI6IFwiSnVzdCBub3dcIlxyXG4gIH0sXHJcbiAgXCJURVJNX0NPTExFQ1RJT05TXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJHbG9zc2FyaWVzXCIsXHJcbiAgICBcIkRFRkFVTFRcIjogXCJEZWZhdWx0XCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiQWNoaWV2ZSBwcmVjaXNlIGFuZCByZWxpYWJsZSB0cmFuc2xhdGlvbnMgYnkgY2hvb3NpbmcgdGhlIG1vc3Qgc3VpdGFibGUgZ2xvc3NhcnkgZnJvbSB0aGUgbGlzdC5cIixcclxuICAgIFwiR0xPU1NBUllcIjogXCJHbG9zc2FyeTogXCIsXHJcbiAgICBcIlNFTEVDVEVEX05PTkVcIjogXCJOb25lXCIsXHJcbiAgICBcIkVESVRcIjogXCJFZGl0XCIsXHJcbiAgICBcIkNSRUFURVwiOiBcIk5ldyBnbG9zc2FyeVwiLFxyXG4gICAgXCJERVNDUklQVElPTl9FTVBUWVwiOiBcIkNyZWF0ZSB5b3VyIGZpcnN0IGdsb3NzYXJ5IGZvciB7e3NyY0xhbmd9fS17e3RyZ0xhbmd9fVwiLFxyXG4gICAgXCJERVNDUklQVElPTl9FTVBUWV9BRFZJQ0VcIjogXCJGb3IgYmVzdCByZXN1bHRzIGluY2x1ZGUgdGVjaG5pY2FsIHRlcm1zLCBicmFuZCBuYW1lcywgYWNyb255bXMgYW5kIHN1cm5hbWVzLlwiLFxyXG4gICAgXCJMQVNUX1VQREFURURcIjogXCJMYXN0IHVwZGF0ZWQ6IHt7ZGF0ZX19XCIsXHJcbiAgICBcIkRFRkFVTFRfQ09MTEVDVElPTl9OQU1FXCI6IFwiTXkgdGVybSBjb2xsZWN0aW9uXCIsXHJcbiAgICBcIlNZTkNcIjogXCJTeW5jXCIsXHJcbiAgICBcIlNZTkNfRVJST1JcIjogXCJSZXRyeVwiLFxyXG4gICAgXCJURVJNU19JTl9VU0VcIjogXCJUZXJtcyBpbiB1c2U6IHt7dGVybUNvdW50fX1cIixcclxuICAgIFwiREVGQVVMVF9HTE9TU0FSWV9NQU5BR0VNRU5UXCI6IFwiRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50XCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIkdsb3NzYXJ5IG5hbWVcIixcclxuICAgICAgXCJDUkVBVEVcIjogXCJDcmVhdGVcIixcclxuICAgICAgXCJERVNDUklQVElPTl8xXCI6IFwiQWZ0ZXIgY2xpY2tpbmcg4oCcQ3JlYXRl4oCdIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gVGlsZGUgVGVybSB0byBhZGQgeW91ciB0ZXJtcy5cIixcclxuICAgICAgXCJERVNDUklQVElPTl8yXCI6IFwiPGk+KkFJIGlzIG5vdCBwZXJmZWN0IGFuZCBjYW4gbWFrZSBvY2Nhc2lvbmFsIG1pc3Rha2VzLiBZb3VyIHVuaXF1ZSB0ZXJtcyB3aWxsIGJlIHVzZWQgY29ycmVjdGx5IHdpdGggOTUlIGFjY3VyYWN5LjwvaT5cIixcclxuICAgICAgXCJUSVRMRVwiOiBcIkNyZWF0ZSBuZXcgZ2xvc3NhcnlcIixcclxuICAgICAgXCJDT0xMRUNUSU9OX05BTUVfRVJST1JcIjogXCJUaXRsZSBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW5MZW5ndGh9fSBzeW1ib2xzIGxvbmcgYW5kIG5vdCBsb25nZXIgdGhhbiB7e21heExlbmd0aH19IHN5bWJvbHNcIlxyXG4gICAgfSxcclxuICAgIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgICBcIkVESVRcIjogXCJFZGl0IGdsb3NzYXJ5IGluIHRlcm1pbm9sb2d5IHBvcnRhbFwiLFxyXG4gICAgICBcIklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBnbG9zc2FyeVwiLFxyXG4gICAgICBcIk5PX0VOVFJJRVNcIjogXCJUZXJtIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQ6IG5vIHRlcm1zIGluIHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgICBcIkRFRkFVTFRfQ09MTEVDVElPTlwiOiBcIlRoZXNlIHRlcm1zIGFyZSBub3cgaW4gdXNlLiBZb3UgY2FuIG1hbmFnZSB0aGVtIHRocm91Z2ggRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50LiBcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJSRUFERVJcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiTm8gZ2xvc3NhcmllcyBjcmVhdGVkXCIsXHJcbiAgICAgIFwiSElOVFwiOiBcIllvdSBtdXN0IGJlIGEgVGVybWlub2xvZ3kgTWFuYWdlciB0byBjcmVhdGUgZ2xvc3Nhcmllc1wiXHJcbiAgICB9LFxyXG4gICAgXCJFUlJPUlNcIjoge1xyXG4gICAgICBcIkVSUk9SSU1QT1JUSU5HXCI6IFwiSW1wb3J0aW5nIGVycm9yXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiRE9NQUlOU1wiOiB7XHJcbiAgICBcIk9QRU5fTElTVF9BUklBX0xBQkVMXCI6IFwiT3BlbiBkb21haW4gbGlzdFwiLFxyXG4gICAgXCJUSVRMRVwiOiBcIkRvbWFpbjpcIixcclxuICAgIFwiTEFXXCI6IFwiTGF3XCIsXHJcbiAgICBcIkRZTkFNSUNfTEVBUk5JTkdcIjogXCJEeW5hbWljIGxlYXJuaW5nXCIsXHJcbiAgICBcIkJVU0lORVNTXCI6IFwiQnVzaW5lc3NcIixcclxuICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgIFwiQVVUT1wiOiBcIkF1dG9kZXRlY3RcIixcclxuICAgIFwiU1BEXCI6IFwiRVUgRm9ybWFsIExhbmd1YWdlXCIsXHJcbiAgICBcIkdFTlwiOiBcIkdlbmVyYWwgVGV4dFwiLFxyXG4gICAgXCJFQ0JcIjogXCJGaW5hbmNlXCIsXHJcbiAgICBcIkVDSlwiOiBcIkV1cm9wZWFuIENvdXJ0IG9mIEp1c3RpY2VcIixcclxuICAgIFwiUFVCSEVBTFRIXCI6IFwiUHVibGljIEhlYWx0aFwiLFxyXG4gICAgXCJCVUJBXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFua1wiLFxyXG4gICAgXCJCRVJDWVwiOiBcIk1pbmlzdMOocmUgZGVzIEZpbmFuY2VzXCIsXHJcbiAgICBcIkVVUk9QRUFOQVwiOiBcIkV1cm9wZWFuYVwiLFxyXG4gICAgXCJJUE9cIjogXCJJUCBDYXNlIExhd1wiLFxyXG4gICAgXCJUUklTXCI6IFwiRW5naW5lcyBidWlsdCB1c2luZyBkYXRhIGZyb20gdGhlIHRlY2huaWNhbCByZWd1bGF0aW9uIGluZm9ybWF0aW9uIHN5c3RlbVwiLFxyXG4gICAgXCJWS1wiOiBcIlZhbHRpb25ldXZvc3RvbiBLYW5zbGlhXCIsXHJcbiAgICBcIkJVQkFfTk1UVEVTVFwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmsgVGVzdFwiXHJcbiAgfSxcclxuICBcIkdSQU1NQVJfQ0hFQ0tfTUVOVVwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiQ29uc2lkZXIgY2hhbmdpbmcgdG86XCJcclxuICB9LFxyXG4gIFwiQVVESU9cIjoge1xyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUkVDT1JESU5HXCI6IFwiUGxlYXNlIHNwZWFrIHRvIHJlY29yZC4uLlwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9QUk9DRVNTSU5HXCI6IFwiUHJvY2Vzc2luZy4uLlwiLFxyXG4gICAgXCJNSUNfTk9UX0ZPVU5EXCI6IFwiTWljcm9waG9uZSBub3QgZm91bmRcIixcclxuICAgIFwiU1RPUFwiOiBcIlN0b3AgcmVjb3JkaW5nXCIsXHJcbiAgICBcIlNUQVJUXCI6IFwiVHJhbnNsYXRlIHNwZWVjaFwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFX1RJVExFXCI6IFwiQWRkIHB1bmN0dWF0aW9uXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VcIjogXCJQbGVhc2UgYWRkIHB1bmN0dWF0aW9uIHRvIHRoZSByZWNvZ25pemVkIHRleHQuIExvbmcgdGV4dCB3aXRob3V0IHB1bmN0dWF0aW9uIG1heSBoYXZlIGxvd2VyIHRyYW5zbGF0aW9uIHF1YWxpdHkgb3Igbm90IGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgfSxcclxuICBcIkVYVEVOU0lPTl9QT1BVUFwiOiB7XHJcbiAgICBcIk9QRU5cIjogXCJzZWUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzXCIsXHJcbiAgICBcIlRJVExFXCI6IFwiU3VwcG9ydGVkIGZpbGUgZm9ybWF0c1wiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIlVURi04IG9yIFVURi0xNiBjb2RpbmcgcmVxdWlyZWQgdG8gZW5zdXJlIGNvcnJlY3QgZmlsZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPRkZJQ0VcIjogXCJPZmZpY2VcIixcclxuICAgIFwiU0NBTk5FRFwiOiBcIkltYWdlIGZpbGVzXCIsXHJcbiAgICBcIklOVEVSQ0hBTkdFXCI6IFwiSW50ZXJjaGFuZ2UgZm9ybWF0c1wiLFxyXG4gICAgXCJXRUJcIjogXCJXZWJcIixcclxuICAgIFwiT1RIRVJcIjogXCJPdGhlclwiLFxyXG4gIH0sXHJcbiAgXCJGSUxFX1VQTE9BRFwiOiB7XHJcbiAgICBcIlVQTE9BRFwiOiBcIlVwbG9hZFwiLFxyXG4gICAgXCJEUkFHX0FORF9EUk9QXCI6IFwib3IgZHJhZyBhbmQgZHJvcCBcIixcclxuICAgIFwiRklMRVwiOiBcImEgZmlsZVwiLFxyXG4gICAgXCJGSUxFU1wiOiBcImZpbGVzXCIsXHJcbiAgICBcIkxJTUlUU1wiOiBcIiAoIHt7dmlzaWJsZUV4dGVuc2lvbnN9fS4gTWF4IHt7bWF4U2l6ZU1CfX0mbmJzcDspXCIsXHJcbiAgICBcIkNMRUFSXCI6IFwiQ2xlYXIgZmlsZVwiXHJcbiAgfSxcclxuICBcIlNZU1RFTV9QSUNLRVJcIjoge1xyXG4gICAgXCJTT1VSQ0VcIjogXCJUcmFuc2xhdGUgZnJvbVwiLFxyXG4gICAgXCJUQVJHRVRcIjogXCJUcmFuc2xhdGUgdG9cIixcclxuICAgIFwiU0VBUkNIX1BMQUNFSE9MREVSXCI6IFwiU2VhcmNoIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJSRUNFTlRfU1lTVEVNX1RJVExFXCI6IFwiUmVjZW50bHkgdXNlZFwiLFxyXG4gICAgXCJTRUxFQ1RfRE9NQUlOXCI6IFwiU2VsZWN0IGRvbWFpblwiLFxyXG4gICAgXCJGSUxURVJfTk9fUkVTVUxUU1wiOiBcIk5vIHJlc3VsdHNcIixcclxuICAgIFwiQUxMX0xBTkdVQUdFU1wiOiBcIkFsbCBsYW5ndWFnZXNcIixcclxuICAgIFwiQ0xFQVJfU0VBUkNIXCI6IFwiQ2xlYXIgc2VhcmNoIHRleHRcIixcclxuICAgIFwiT1BFTl9TT1VSQ0VfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCBzb3VyY2UgbGFuZ3VhZ2VcIixcclxuICAgIFwiT1BFTl9UQVJHRVRfQVJJQV9MQUJFTFwiOiBcIlNlbGVjdCB0YXJnZXQgbGFuZ3VhZ2UgYW5kIGRvbWFpblwiLFxyXG4gICAgXCJERVRFQ1RFRFwiOiBcIkRldGVjdGVkXCJcclxuICB9LFxyXG4gIFwiVEVYVF9UUkFOU0xBVElPTl9QUk9HUkVTU19JTkRJQ0FUT1JcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIlRyYW5zbGF0aW9uIHByb3ZpZGVkIGJ5IHt7cHJvdmlkZXJ9fVwiLFxyXG4gICAgXCJUUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nLi4uXCIsXHJcbiAgICBcIkNMT1NFX0JVVFRPTl9UT09MVElQXCI6IFwiUmVtb3ZlIHByb2dyZXNzIGJhclwiLFxyXG4gICAgXCJDTE9TRV9CVVRUT05fQVJJQV9MQUJFTFwiOiBcIlJlbW92ZSBwcm9ncmVzcyBiYXJcIlxyXG4gIH0sXHJcbiAgXCJWRU5ET1JfTUVTU0FHRVwiOiB7XHJcbiAgICBcIlRFWFRcIjogXCJUcmFuc2xhdGlvbiBwcm92aWRlZCBieSB7e3ZlbmRvcn19XCIsXHJcbiAgICBcIklDT05fVE9PTFRJUFwiOiBcIlN5c3RlbXMgb2ZmZXJlZCBieSB7e3ZlbmRvcn19IGFyZSB1c2VkIGJ5IGEgaHVnZSBudW1iZXIgb2YgdXNlcnMuIFRoZXkgbWF5IGJlIHNsb3cgYXQgdGltZSBkdWUgdG8gdGhlIGhlYXZ5IHdvcmsgbG9hZC5cIlxyXG4gIH0sXHJcbiAgXCJWRU5ET1JTXCI6IHtcclxuICAgIFwiRVRSQU5TTEFUSU9OXCI6IFwiZVRyYW5zbGF0aW9uXCJcclxuICB9LFxyXG4gIFwiVEVYVF9UT19TUEVFQ0hcIjoge1xyXG4gICAgXCJQTEFZXCI6IFwiTGlzdGVuXCIsXHJcbiAgICBcIlBBVVNFXCI6IFwiUGF1c2VcIlxyXG4gIH1cclxufVxyXG4iXX0=
@@ -0,0 +1,2 @@
1
+ export const AUTO_LANGUAGE_DETECTION_KEY = 'AUTO';
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXV0by1sYW5ndWFnZS1kZXRlY3Rpb24ta2V5LmNvbnN0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9tb2RlbHMvYXV0by1sYW5ndWFnZS1kZXRlY3Rpb24ta2V5LmNvbnN0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLDJCQUEyQixHQUFHLE1BQU0sQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkgPSAnQVVUTyc7Il19
@@ -3,6 +3,7 @@ import { SortHelper } from '@tilde-nlp/ngx-common';
3
3
  import { BehaviorSubject, ReplaySubject, Subject } from 'rxjs';
4
4
  import { TranslationApiVersion } from '../models';
5
5
  import { TRANSLATION_API_VERSION_TOKEN } from '../../../injection-tokens';
6
+ import { AUTO_LANGUAGE_DETECTION_KEY } from '../models/auto-language-detection-key.const';
6
7
  import * as i0 from "@angular/core";
7
8
  import * as i1 from "@tilde-nlp/ngx-common";
8
9
  import * as i2 from "./tld-translate-config.service";
@@ -49,12 +50,39 @@ export class TldTranslateSystemManagementService {
49
50
  this.systemService = systemService;
50
51
  this.apiVersion = apiVersion;
51
52
  }
53
+ /**
54
+ * This method is being called when auto language detection was chosen.
55
+ */
56
+ enableLanguageDetection() {
57
+ this.sourceLanguage = AUTO_LANGUAGE_DETECTION_KEY;
58
+ this.changeLanguage(this.sourceLanguage, this.targetLanguage);
59
+ }
60
+ /**
61
+ * This method is being used to set detected language when api response has it.
62
+ * Also, when language was detected and we want to clear source text, this method also is being called.
63
+ */
64
+ setDetectedLanguage(langCode, domain) {
65
+ const isSourceLangCodeSameAfterDetection = this.activeSystem?.detectedLanguage === this.sourceLanguage;
66
+ // Here we need to clear out detected language, but keep the detection enabled.
67
+ if (!langCode && isSourceLangCodeSameAfterDetection) {
68
+ this.sourceLanguage = AUTO_LANGUAGE_DETECTION_KEY;
69
+ this.activeSystem.detectedLanguage = null;
70
+ this.activeSystem.domain = null;
71
+ this.changeLanguage(this.sourceLanguage, this.targetLanguage, false);
72
+ return;
73
+ }
74
+ // This is being called, when language is detected.
75
+ this.sourceLanguage = langCode;
76
+ this.activeSystem.sourceLanguage = langCode;
77
+ this.activeSystem.detectedLanguage = langCode;
78
+ this.changeLanguage(langCode, this.targetLanguage, false, domain);
79
+ }
52
80
  getSystems() {
53
81
  return this.systems;
54
82
  }
55
- changeLanguage(source, target) {
56
- const systemId = this.findCorrectSystem(source, target);
57
- this.changeSystem(systemId);
83
+ changeLanguage(source, target, retranslate, domain) {
84
+ const systemId = this.findCorrectSystem(source, target, domain);
85
+ this.changeSystem(systemId, retranslate);
58
86
  }
59
87
  getActiveData() {
60
88
  return this.active.asObservable();
@@ -152,12 +180,26 @@ export class TldTranslateSystemManagementService {
152
180
  return;
153
181
  }
154
182
  let selectedSystem;
155
- for (const system of this.systems) {
156
- if (system.languageId === languageId) {
157
- selectedSystem = system;
158
- break;
183
+ if (!languageId?.includes(AUTO_LANGUAGE_DETECTION_KEY)) {
184
+ for (const system of this.systems) {
185
+ if (system.languageId === languageId) {
186
+ selectedSystem = system;
187
+ break;
188
+ }
159
189
  }
160
190
  }
191
+ else {
192
+ selectedSystem = this.createSystem('', languageId, languageId, this.sourceLanguage, this.targetLanguage, this.apiVersion, '', null, false);
193
+ this.targetLangList = this.createLangList(this.systems);
194
+ this.targetLanguage = this.targetLanguage;
195
+ this.sourceLanguage = this.sourceLanguage;
196
+ this.activeSystem = selectedSystem;
197
+ this.domains = [];
198
+ this.vendors = [];
199
+ this.onActiveSystemChange(retranslate);
200
+ return;
201
+ }
202
+ selectedSystem.detectedLanguage = this.activeSystem?.detectedLanguage;
161
203
  this.targetLangList = this.createLangList(this.systems, selectedSystem.sourceLanguage);
162
204
  this.targetLanguage = selectedSystem.targetLanguage;
163
205
  this.sourceLanguage = selectedSystem.sourceLanguage;
@@ -256,7 +298,12 @@ export class TldTranslateSystemManagementService {
256
298
  });
257
299
  return langListItemArray;
258
300
  }
259
- findCorrectSystem(sourceLanguage, targetLanguage) {
301
+ findCorrectSystem(sourceLanguage, targetLanguage, domain) {
302
+ if (sourceLanguage === AUTO_LANGUAGE_DETECTION_KEY) {
303
+ this.targetLanguage = targetLanguage;
304
+ this.activeSystem.targetLanguage = targetLanguage;
305
+ return `${AUTO_LANGUAGE_DETECTION_KEY}-${targetLanguage}`;
306
+ }
260
307
  const systems = this.systems;
261
308
  const systemsForLanguagePair = systems.filter(system => system.sourceLanguage === sourceLanguage && targetLanguage === system.targetLanguage);
262
309
  // Ideally this case should not happen, but it is possible.
@@ -267,7 +314,7 @@ export class TldTranslateSystemManagementService {
267
314
  if (systemsWithDefaultVendor.length === 0) {
268
315
  systemsWithDefaultVendor = systemsForLanguagePair;
269
316
  }
270
- let systemsWithDefaultDomain = systemsWithDefaultVendor.filter(system => this.defaultDomains.includes(system.domain));
317
+ let systemsWithDefaultDomain = systemsWithDefaultVendor.filter(system => domain ? system.domain === domain : this.defaultDomains.includes(system.domain));
271
318
  if (systemsWithDefaultDomain.length === 0) {
272
319
  systemsWithDefaultDomain = systemsWithDefaultVendor;
273
320
  }
@@ -281,8 +328,10 @@ export class TldTranslateSystemManagementService {
281
328
  }
282
329
  onActiveSystemChange(retranslate = true) {
283
330
  const system = this.activeSystem;
284
- this.addToRecentSystemArray(system);
285
331
  const vendor = this.activeSystem.vendor;
332
+ if (this.sourceLanguage !== AUTO_LANGUAGE_DETECTION_KEY) {
333
+ this.addToRecentSystemArray(system);
334
+ }
286
335
  this.active.next({
287
336
  sourceLang: {
288
337
  lang: this.sourceLanguage,
@@ -305,9 +354,13 @@ export class TldTranslateSystemManagementService {
305
354
  swapLangActive: this.canSwapSystemLanguages(),
306
355
  system: system,
307
356
  retranslate: retranslate,
308
- recentSystems: this.recentSystems
357
+ recentSystems: this.recentSystems,
358
+ detectedLanguage: this.activeSystem.detectedLanguage === this.sourceLanguage ? this.activeSystem.detectedLanguage : null
309
359
  });
310
360
  }
361
+ createSystem(domain, id, languageId, sourceLanguage, targetLanguage, translationApiVersion, vendor, detectedLanguage, includesTerminology) {
362
+ return { domain, id, languageId, sourceLanguage, targetLanguage, translationApiVersion, vendor, detectedLanguage, includesTerminology };
363
+ }
311
364
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TldTranslateSystemManagementService, deps: [{ token: i1.AlertService }, { token: i2.TldTranslateConfigService }, { token: i1.SystemService }, { token: TRANSLATION_API_VERSION_TOKEN }], target: i0.ɵɵFactoryTarget.Injectable });
312
365
  static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TldTranslateSystemManagementService, providedIn: 'root' });
313
366
  }
@@ -320,4 +373,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
320
373
  type: Inject,
321
374
  args: [TRANSLATION_API_VERSION_TOKEN]
322
375
  }] }]; } });
323
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zeXN0ZW0tbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFvQyxVQUFVLEVBQStDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEksT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQzs7OztBQUsxRSxNQUFNLE9BQU8sbUNBQW1DO0lBMkMzQjtJQUNBO0lBQ0E7SUFDdUM7SUE3QzFELGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUN2QixpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsT0FBTyxHQUFHLElBQUksYUFBYSxDQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLFlBQVksQ0FBVTtJQUN0QixnQkFBZ0IsQ0FBVztJQUUzQiwwQkFBMEIsR0FBRyx1Q0FBdUMsQ0FBQztJQUU3RCxvQkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO0lBRXZELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN4RCxDQUFDO0lBRUQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUs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SSxDQUFDLHNCQUFzQixFQUFFO1lBQzdDLE1BQU0sRUFBRSxNQUFNO1lBQ2QsV0FBVyxFQUFFLFdBQVc7WUFDeEIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1NBQ2xDLENBQUMsQ0FBQztJQUNMLENBQUM7d0dBaldVLG1DQUFtQyxvSEE4Q3BDLDZCQUE2Qjs0R0E5QzVCLG1DQUFtQyxjQUZsQyxNQUFNOzs0RkFFUCxtQ0FBbUM7a0JBSC9DLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25COzswQkErQ0ksTUFBTTsyQkFBQyw2QkFBNkIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZlRGF0YSwgQWxlcnRTZXJ2aWNlLCBEb21haW4sIFNvcnRIZWxwZXIsIFN5c3RlbSwgU3lzdGVtU2VydmljZSwgVmVuZG9yLCBMYW5nTGlzdEl0ZW0gfSBmcm9tICdAdGlsZGUtbmxwL25neC1jb21tb24nO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFJlcGxheVN1YmplY3QsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25BcGlWZXJzaW9uIH0gZnJvbSAnLi4vbW9kZWxzJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSB9IGZyb20gJy4vdGxkLXRyYW5zbGF0ZS1jb25maWcuc2VydmljZSc7XHJcbmltcG9ydCB7IFRSQU5TTEFUSU9OX0FQSV9WRVJTSU9OX1RPS0VOIH0gZnJvbSAnLi4vLi4vLi4vaW5qZWN0aW9uLXRva2Vucyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSB7XHJcbiAgbm9TeXN0ZW1zRXJyb3IgPSBmYWxzZTtcclxuICBzeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIHdpZGdldEluaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgc3lzTGlzdCA9IG5ldyBSZXBsYXlTdWJqZWN0PFN5c3RlbVtdPigxKTtcclxuICBhY3RpdmVEb21haW4hOiBEb21haW47XHJcbiAgY2FuU3dhcExhbmd1YWdlcyE6IGJvb2xlYW47XHJcblxyXG4gIGRlZmF1bHRFcnJvclRyYW5zbGF0aW9uS2V5ID0gJ1RMRF9UUkFOU0xBVEUuRVJST1JfTk9fU1lTVEVNU19MT0FERUQnO1xyXG5cclxuICBwcml2YXRlIGxvYWRlZFN5c3RlbXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U3lzdGVtW10+KCk7XHJcblxyXG4gIGdldCBhY3RpdmVWZW5kb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTeXN0ZW0udmVuZG9yIHx8IHRoaXMuZGVmYXVsdFZlbmRvcjtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0VmVuZG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuZGVmYXVsdFZlbmRvcjtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0RG9tYWlucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmRlZmF1bHREb21haW5zIGFzIHN0cmluZ1tdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmVTeXN0ZW0hOiBTeXN0ZW07XHJcbiAgcHJpdmF0ZSBkb21haW5zOiBEb21haW5bXSA9IFtdO1xyXG4gIHByaXZhdGUgdmVuZG9yczogVmVuZG9yW10gPSBbXTtcclxuICBwcml2YXRlIHNvdXJjZUxhbmd1YWdlITogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGFyZ2V0TGFuZ3VhZ2UhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzb3VyY2VMYW5nTGlzdDogTGFuZ0xpc3RJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIHRhcmdldExhbmdMaXN0OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG5cclxuICAvLyNyZWdpb24gUmVjZW50IHN5c3RlbSB2YXJpYWJsZXNcclxuICAvLyBQb3NzaWJseSBmcm9tIGNvbmZpZ1xyXG4gIGdldCByZWNlbnRTeXN0ZW1zTWF4Q291bnQoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLm1heFJlY2VudFN5c3RlbUNvdW50IGFzIG51bWJlcjsgfVxyXG4gIHByaXZhdGUgcmVjZW50U3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByZWNlbnRTeXN0ZW1LZXkgPSBcInJlY2VudFN5c3RlbXNcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2ZTogQmVoYXZpb3JTdWJqZWN0PEFjdGl2ZURhdGE+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3RpdmVEYXRhPig8YW55Pm51bGwpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFzdFVzZWRTeXN0ZW1LZXk6IHN0cmluZyA9IFwibGFzdFVzZWRTeXN0ZW1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0OiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIEBJbmplY3QoVFJBTlNMQVRJT05fQVBJX1ZFUlNJT05fVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgYXBpVmVyc2lvblxyXG4gICkgeyB9XHJcblxyXG4gIGdldFN5c3RlbXMoKTogU3lzdGVtW10ge1xyXG4gICAgcmV0dXJuIHRoaXMuc3lzdGVtcztcclxuICB9XHJcblxyXG4gIGNoYW5nZUxhbmd1YWdlKHNvdXJjZTogc3RyaW5nLCB0YXJnZXQ6IHN0cmluZykge1xyXG4gICAgY29uc3Qgc3lzdGVtSWQgPSB0aGlzLmZpbmRDb3JyZWN0U3lzdGVtKHNvdXJjZSwgdGFyZ2V0KTtcclxuICAgIHRoaXMuY2hhbmdlU3lzdGVtKHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2ZURhdGEoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmUuYXNPYnNlcnZhYmxlKCk7XHJcbiAgfVxyXG5cclxuICBnZXRBY3RpdmVTeXN0ZW1PYmooKTogU3lzdGVtIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZVN5c3RlbTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2ZVZlbmRvcnNBbmREb21haW5zKCkge1xyXG4gICAgaWYgKCF0aGlzLnNvdXJjZUxhbmd1YWdlIHx8ICF0aGlzLnRhcmdldExhbmd1YWdlKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGNvbnN0IHZlbmRvcnM6IFZlbmRvcltdID0gW107XHJcbiAgICBjb25zdCBkb21haW5zOiBEb21haW5bXSA9IFtdO1xyXG5cclxuICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICBpZiAoIShzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgPT09IHRoaXMuc291cmNlTGFuZ3VhZ2UgJiYgc3lzdGVtLnRhcmdldExhbmd1YWdlID09PSB0aGlzLnRhcmdldExhbmd1YWdlKSkge1xyXG4gICAgICAgIGNvbnRpbnVlO1xyXG4gICAgICB9XHJcbiAgICAgIGNvbnN0IGRvbWFpbjogRG9tYWluID0ge1xyXG4gICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICAgIHRpdGxlOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZ1xyXG4gICAgICB9O1xyXG4gICAgICBkb21haW5zLnB1c2goZG9tYWluKTtcclxuICAgICAgY29uc3QgdmVuZG9yOiBWZW5kb3IgPSB7XHJcbiAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgdGl0bGU6IHN5c3RlbS52ZW5kb3JcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKCF2ZW5kb3JzLmluY2x1ZGVzKHZlbmRvcikpIHtcclxuICAgICAgICB2ZW5kb3JzLnB1c2godmVuZG9yKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgaWYgKGRvbWFpbi5sYW5ndWFnZUlkID09PSB0aGlzLmFjdGl2ZVN5c3RlbS5sYW5ndWFnZUlkKSB7XHJcbiAgICAgICAgdGhpcy5hY3RpdmVEb21haW4gPSBkb21haW47XHJcbiAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmRvbWFpbnMgPSBkb21haW5zO1xyXG4gICAgdGhpcy52ZW5kb3JzID0gdmVuZG9ycztcclxuICB9XHJcblxyXG5cclxuICBnZXRMYXN0VXNlZFN5c3RlbSgpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMubGFzdFVzZWRTeXN0ZW1LZXkpIGFzIHN0cmluZztcclxuICB9XHJcblxyXG4gIGdldFVuaXF1ZUxhbmd1YWdlcyhsaXN0OiBMYW5nTGlzdEl0ZW1bXSk6IHN0cmluZ1tdIHtcclxuICAgIGlmICghbGlzdCkge1xyXG4gICAgICByZXR1cm4gW107XHJcbiAgICB9XHJcbiAgICBjb25zdCB0aXRsZXM6IHN0cmluZ1tdID0gW107XHJcblxyXG4gICAgbGlzdC5mb3JFYWNoKChsYW5nKSA9PiB7XHJcbiAgICAgIGNvbnN0IGxhbmdUaXRsZSA9IGxhbmcubGFuZztcclxuICAgICAgY29uc3QgaXggPSB0aXRsZXMuaW5kZXhPZihsYW5nVGl0bGUgYXMgc3RyaW5nKTtcclxuICAgICAgaWYgKGl4ID09IC0xKSB7XHJcbiAgICAgICAgdGl0bGVzLnB1c2gobGFuZ1RpdGxlIGFzIHN0cmluZyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG5cclxuICAgIHJldHVybiB0aXRsZXM7XHJcbiAgfVxyXG5cclxuICBpbml0KGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkOiBzdHJpbmcpIHtcclxuICAgIHRoaXMuc3lzdGVtU2VydmljZS5nZXRTeXN0ZW1MaXN0KCkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogU3lzdGVtW10pID0+IHtcclxuICAgICAgICB0aGlzLnN5c3RlbXMgPSByZXM7XHJcbiAgICAgICAgaWYgKHJlcy5sZW5ndGggPT0gMCkge1xyXG4gICAgICAgICAgdGhpcy5sb2FkZWRTeXN0ZW1zU3ViamVjdC5uZXh0KHJlcyk7XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAoIXRoaXMuc3lzdGVtRXhpc3RzKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkLCB0aGlzLnN5c3RlbXMpKSB7XHJcbiAgICAgICAgICBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCA9IHRoaXMuc3lzdGVtc1swXT8ubGFuZ3VhZ2VJZDtcclxuICAgICAgICAgIGZvciAoY29uc3Qgc3lzdGVtIG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICAgICAgICBjb25zdCB2ZW5kb3IgPSBzeXN0ZW0udmVuZG9yO1xyXG4gICAgICAgICAgICBpZiAodmVuZG9yID09PSB0aGlzLmRlZmF1bHRWZW5kb3IpIHtcclxuICAgICAgICAgICAgICBkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCA9IHN5c3RlbS5sYW5ndWFnZUlkO1xyXG4gICAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmNyZWF0ZVJlY2VudFN5c3RlbUFycmF5KCk7XHJcbiAgICAgICAgdGhpcy5zb3VyY2VMYW5nTGlzdCA9IHRoaXMuY3JlYXRlTGFuZ0xpc3QodGhpcy5zeXN0ZW1zKTtcclxuICAgICAgICB0aGlzLmNoYW5nZVN5c3RlbShkZWZhdWx0U3lzdGVtTGFuZ3VhZ2VJZCk7XHJcbiAgICAgICAgdGhpcy53aWRnZXRJbml0aWFsaXplZCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5zeXNMaXN0Lm5leHQodGhpcy5zeXN0ZW1zKTtcclxuICAgICAgICB0aGlzLm5vU3lzdGVtc0Vycm9yID0gZmFsc2U7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yOiAoZXJyb3IpID0+IHtcclxuICAgICAgICB0aGlzLm5vU3lzdGVtc0Vycm9yID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmFsZXJ0LmVycm9yKHRoaXMuZGVmYXVsdEVycm9yVHJhbnNsYXRpb25LZXksIGVycm9yKTtcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgZ2V0TG9hZGVkU3lzdGVtcygpOiBPYnNlcnZhYmxlPFN5c3RlbVtdPiB7XHJcbiAgICByZXR1cm4gdGhpcy5sb2FkZWRTeXN0ZW1zU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIHNldExhc3RVc2VkU3lzdGVtKHN5c3RlbUlkOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSh0aGlzLmxhc3RVc2VkU3lzdGVtS2V5LCBzeXN0ZW1JZCk7XHJcbiAgfVxyXG5cclxuICBzd2FwU3lzdGVtTGFuZ3VhZ2VzKCkge1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLnRhcmdldExhbmd1YWdlLCB0aGlzLnNvdXJjZUxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIGNoYW5nZVN5c3RlbShsYW5ndWFnZUlkOiBzdHJpbmcsIHJldHJhbnNsYXRlID0gdHJ1ZSkge1xyXG4gICAgaWYgKHRoaXMuYWN0aXZlU3lzdGVtPy5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc2VsZWN0ZWRTeXN0ZW0hOiBTeXN0ZW07XHJcblxyXG4gICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgIGlmIChzeXN0ZW0ubGFuZ3VhZ2VJZCA9PT0gbGFuZ3VhZ2VJZCkge1xyXG4gICAgICAgIHNlbGVjdGVkU3lzdGVtID0gc3lzdGVtO1xyXG4gICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnRhcmdldExhbmdMaXN0ID0gdGhpcy5jcmVhdGVMYW5nTGlzdCh0aGlzLnN5c3RlbXMsIHNlbGVjdGVkU3lzdGVtLnNvdXJjZUxhbmd1YWdlKTtcclxuICAgIHRoaXMudGFyZ2V0TGFuZ3VhZ2UgPSBzZWxlY3RlZFN5c3RlbS50YXJnZXRMYW5ndWFnZTtcclxuICAgIHRoaXMuc291cmNlTGFuZ3VhZ2UgPSBzZWxlY3RlZFN5c3RlbS5zb3VyY2VMYW5ndWFnZTtcclxuICAgIHRoaXMuYWN0aXZlU3lzdGVtID0gc2VsZWN0ZWRTeXN0ZW07XHJcbiAgICB0aGlzLmdldEFjdGl2ZVZlbmRvcnNBbmREb21haW5zKCk7XHJcblxyXG4gICAgdGhpcy5vbkFjdGl2ZVN5c3RlbUNoYW5nZShyZXRyYW5zbGF0ZSk7XHJcblxyXG4gICAgdGhpcy5zZXRMYXN0VXNlZFN5c3RlbShzZWxlY3RlZFN5c3RlbS5sYW5ndWFnZUlkKTtcclxuICB9XHJcblxyXG4gIHN5c3RlbUV4aXN0cyhsYW5ndWFnZUlkOiBzdHJpbmcsIHN5c3RlbUxpc3Q6IFN5c3RlbVtdKTogYm9vbGVhbiB7XHJcbiAgICBjb25zdCBzeXN0ZW1zID0gc3lzdGVtTGlzdCA/PyB0aGlzLnN5c3RlbXM7XHJcbiAgICBmb3IgKGNvbnN0IHN5c3RlbSBvZiBzeXN0ZW1zKSB7XHJcbiAgICAgIGlmIChzeXN0ZW0ubGFuZ3VhZ2VJZCA9PT0gbGFuZ3VhZ2VJZCkge1xyXG4gICAgICAgIHJldHVybiB0cnVlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIGZhbHNlO1xyXG4gIH1cclxuXHJcbiAgaXNUZXJtaW5vbG9neVN1cHBvcnRlZChzeXN0ZW06IFN5c3RlbSk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHN5c3RlbS5pbmNsdWRlc1Rlcm1pbm9sb2d5IGFzIGJvb2xlYW47XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VTb3VyY2VMYW5ndWFnZShzb3VyY2VMYW5ndWFnZUNvZGU6IHN0cmluZykge1xyXG4gICAgaWYgKHNvdXJjZUxhbmd1YWdlQ29kZSA9PT0gdGhpcy5hY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShzb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMuYWN0aXZlU3lzdGVtLnNvdXJjZUxhbmd1YWdlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHNvdXJjZUxhbmd1YWdlQ29kZSwgdGhpcy5hY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UpO1xyXG5cclxuICAgIH1cclxuXHJcbiAgfVxyXG5cclxuICBjaGFuZ2VUYXJnZXRMYW5ndWFnZSh0YXJnZXRMYW5ndWFnZUNvZGU6IHN0cmluZykge1xyXG4gICAgaWYgKHRhcmdldExhbmd1YWdlQ29kZSA9PT0gdGhpcy5hY3RpdmVTeXN0ZW0uc291cmNlTGFuZ3VhZ2UpIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLmFjdGl2ZVN5c3RlbS50YXJnZXRMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2VDb2RlKTtcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHRoaXMuYWN0aXZlU3lzdGVtLnNvdXJjZUxhbmd1YWdlLCB0YXJnZXRMYW5ndWFnZUNvZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVSZWNlbnRTeXN0ZW1BcnJheSgpIHtcclxuICAgIGxldCBzeXN0ZW1JZEFycmF5OiBzdHJpbmdbXTtcclxuICAgIGNvbnN0IHJlY2VudFN5c3RlbUFycmF5OiBTeXN0ZW1bXSA9IFtdO1xyXG4gICAgdHJ5IHtcclxuICAgICAgc3lzdGVtSWRBcnJheSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5yZWNlbnRTeXN0ZW1LZXkpID8/IFwiW11cIik7XHJcbiAgICB9XHJcbiAgICBjYXRjaCB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHN5c3RlbUlkQXJyYXkuZm9yRWFjaCgobGFuZ3VhZ2VJZCkgPT4ge1xyXG4gICAgICBjb25zdCBleGlzdGluZ1N5c3RlbSA9IHRoaXMuc3lzdGVtcy5maW5kKHN5c3RlbSA9PiBzeXN0ZW0ubGFuZ3VhZ2VJZCA9PT0gbGFuZ3VhZ2VJZCk7XHJcbiAgICAgIGlmIChleGlzdGluZ1N5c3RlbSAmJiAhdGhpcy5yZWNlbnRTeXN0ZW1zLmluY2x1ZGVzKGV4aXN0aW5nU3lzdGVtKSkge1xyXG4gICAgICAgIHJlY2VudFN5c3RlbUFycmF5LnB1c2goZXhpc3RpbmdTeXN0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgdGhpcy5yZWNlbnRTeXN0ZW1zID0gcmVjZW50U3lzdGVtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGFkZFRvUmVjZW50U3lzdGVtQXJyYXkoc3lzdGVtOiBTeXN0ZW0pIHtcclxuICAgIGNvbnN0IGV4aXN0aW5nU3lzdGVtID0gdGhpcy5yZWNlbnRTeXN0ZW1zLmZpbmQoZXhpc3RpbmcgPT4gZXhpc3RpbmcubGFuZ3VhZ2VJZCA9PT0gc3lzdGVtLmxhbmd1YWdlSWQpO1xyXG4gICAgLy8gaWYgc3lzdGVtIGFscmVhZHkgaW4gbGlzdCwgcHV0IGl0IHRvIGZpcnN0IHBvc2l0aW9uLiBJZiBpeCAwLCBubyBhY3Rpb24gcmVxdWlyZWQgc2luY2UgbGF0ZXN0IHN5c3RlbSBpcyBhbHJlYWR5IGZpcnN0LlxyXG4gICAgaWYgKGV4aXN0aW5nU3lzdGVtKSB7XHJcbiAgICAgIGNvbnN0IHN5c3RlbUl4SW5SZWNlbnRMaXN0ID0gdGhpcy5yZWNlbnRTeXN0ZW1zLmluZGV4T2YoZXhpc3RpbmdTeXN0ZW0pO1xyXG4gICAgICBpZiAoc3lzdGVtSXhJblJlY2VudExpc3QgPiAwKSB7XHJcbiAgICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZShzeXN0ZW1JeEluUmVjZW50TGlzdCwgMSk7XHJcbiAgICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZSgwLCAwLCBzeXN0ZW0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgLy8gaWYgbGlzdCB0b28gbG9uZywgcmVtb3ZlIGxhc3QgKG9sZGVzdCBlbGVtZW50KVxyXG4gICAgICB3aGlsZSAodGhpcy5yZWNlbnRTeXN0ZW1zLmxlbmd0aCA+PSB0aGlzLnJlY2VudFN5c3RlbXNNYXhDb3VudCkge1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5wb3AoKTtcclxuICAgICAgfVxyXG5cclxuICAgICAgdGhpcy5yZWNlbnRTeXN0ZW1zLnNwbGljZSgwLCAwLCBzeXN0ZW0pO1xyXG4gICAgfVxyXG4gICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0odGhpcy5yZWNlbnRTeXN0ZW1LZXksIEpTT04uc3RyaW5naWZ5KHRoaXMucmVjZW50U3lzdGVtcy5tYXAoc3lzdGVtID0+IHN5c3RlbS5sYW5ndWFnZUlkKSkpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjYW5Td2FwU3lzdGVtTGFuZ3VhZ2VzKCk6IGJvb2xlYW4ge1xyXG4gICAgbGV0IGxhbmdTd2FwQWN0aXZlID0gZmFsc2U7XHJcbiAgICBmb3IgKGNvbnN0IGVsZW1lbnQgb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgIGNvbnN0IHN5c3RlbSA9IGVsZW1lbnQ7XHJcbiAgICAgIGlmIChzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgPT0gdGhpcy50YXJnZXRMYW5ndWFnZSAmJiBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPT0gdGhpcy5zb3VyY2VMYW5ndWFnZSkge1xyXG4gICAgICAgIGxhbmdTd2FwQWN0aXZlID0gdHJ1ZTtcclxuICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jYW5Td2FwTGFuZ3VhZ2VzID0gbGFuZ1N3YXBBY3RpdmU7XHJcbiAgICByZXR1cm4gbGFuZ1N3YXBBY3RpdmU7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGNyZWF0ZUxhbmdMaXN0KHN5c3RlbXM6IFN5c3RlbVtdLCBzcmNMYW5nQ29kZT86IHN0cmluZykge1xyXG4gICAgY29uc3QgbGFuZ0xpc3RJdGVtQXJyYXk6IExhbmdMaXN0SXRlbVtdID0gW107XHJcbiAgICBzeXN0ZW1zLmZvckVhY2goKHN5c3RlbSkgPT4ge1xyXG4gICAgICBpZiAoIXNyY0xhbmdDb2RlIHx8IHNyY0xhbmdDb2RlID09PSBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UpIHtcclxuICAgICAgICBsYW5nTGlzdEl0ZW1BcnJheS5wdXNoKFxyXG4gICAgICAgICAge1xyXG4gICAgICAgICAgICBkb21haW46IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nLFxyXG4gICAgICAgICAgICBsYW5nOiBzcmNMYW5nQ29kZSA/IHN5c3RlbS50YXJnZXRMYW5ndWFnZSA6IHN5c3RlbS5zb3VyY2VMYW5ndWFnZSxcclxuICAgICAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgICAgIHZlbmRvcjogc3lzdGVtLnZlbmRvclxyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgIH1cclxuICAgIH0pXHJcbiAgICByZXR1cm4gbGFuZ0xpc3RJdGVtQXJyYXk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGZpbmRDb3JyZWN0U3lzdGVtKHNvdXJjZUxhbmd1YWdlOiBzdHJpbmcsIHRhcmdldExhbmd1YWdlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgY29uc3Qgc3lzdGVtcyA9IHRoaXMuc3lzdGVtcztcclxuXHJcbiAgICBjb25zdCBzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyID0gc3lzdGVtcy5maWx0ZXIoc3lzdGVtID0+IHN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9PT0gc291cmNlTGFuZ3VhZ2UgJiYgdGFyZ2V0TGFuZ3VhZ2UgPT09IHN5c3RlbS50YXJnZXRMYW5ndWFnZSk7XHJcbiAgICAvLyBJZGVhbGx5IHRoaXMgY2FzZSBzaG91bGQgbm90IGhhcHBlbiwgYnV0IGl0IGlzIHBvc3NpYmxlLlxyXG4gICAgaWYgKHN5c3RlbXNGb3JMYW5ndWFnZVBhaXIubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHJldHVybiB0aGlzLnN5c3RlbXMuZmluZChzeXN0ZW0gPT4gc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09PSBzb3VyY2VMYW5ndWFnZSk/Lmxhbmd1YWdlSWQgYXMgc3RyaW5nO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IgPSBzeXN0ZW1zRm9yTGFuZ3VhZ2VQYWlyLmZpbHRlcihzeXN0ZW0gPT4gKHN5c3RlbS52ZW5kb3IgfHwgdGhpcy5kZWZhdWx0VmVuZG9yKSA9PT0gdGhpcy5kZWZhdWx0VmVuZG9yKTtcclxuICAgIGlmIChzeXN0ZW1zV2l0aERlZmF1bHRWZW5kb3IubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvciA9IHN5c3RlbXNGb3JMYW5ndWFnZVBhaXI7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbiA9IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvci5maWx0ZXIoc3lzdGVtID0+IHRoaXMuZGVmYXVsdERvbWFpbnMuaW5jbHVkZXMoc3lzdGVtLmRvbWFpbiBhcyBzdHJpbmcpKTtcclxuICAgIGlmIChzeXN0ZW1zV2l0aERlZmF1bHREb21haW4ubGVuZ3RoID09PSAwKSB7XHJcbiAgICAgIHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbiA9IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvcjtcclxuICAgIH1cclxuICAgIFNvcnRIZWxwZXIuc29ydEJ5QXJyYXkoc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluLCB0aGlzLmRlZmF1bHREb21haW5zLCBcImRvbWFpblwiKTtcclxuXHJcblxyXG4gICAgLy8gVjIgZG9lcyBub3QgcHJvdmlkZSBhbnkgaW5mbyBhYm91dCBzdGF0dXNlc1xyXG4gICAgaWYgKHRoaXMuYXBpVmVyc2lvbiA9PT0gVHJhbnNsYXRpb25BcGlWZXJzaW9uLlYxKSB7XHJcbiAgICAgIGNvbnN0IHByZWZlcnJlZFN0YXR1c2VzID0gWydydW5uaW5nJywgJ3F1ZXVpbmd0cmFuc2wnLCAnc3RhbmRieSddO1xyXG4gICAgICBTb3J0SGVscGVyLnNvcnRCeUFycmF5KHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvciwgcHJlZmVycmVkU3RhdHVzZXMsIFwic3RhdHVzXCIpO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBzeXN0ZW1zV2l0aERlZmF1bHREb21haW5bMF0ubGFuZ3VhZ2VJZDtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUgPSB0cnVlKSB7XHJcbiAgICBjb25zdCBzeXN0ZW06IFN5c3RlbSA9IHRoaXMuYWN0aXZlU3lzdGVtO1xyXG4gICAgdGhpcy5hZGRUb1JlY2VudFN5c3RlbUFycmF5KHN5c3RlbSk7XHJcbiAgICBjb25zdCB2ZW5kb3IgPSB0aGlzLmFjdGl2ZVN5c3RlbS52ZW5kb3I7XHJcbiAgICB0aGlzLmFjdGl2ZS5uZXh0KHtcclxuICAgICAgc291cmNlTGFuZzoge1xyXG4gICAgICAgIGxhbmc6IHRoaXMuc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICB2ZW5kb3I6IHZlbmRvcixcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgfSxcclxuICAgICAgc291cmNlTGFuZ0xpc3Q6IHRoaXMuc291cmNlTGFuZ0xpc3QsXHJcbiAgICAgIHN5c3RlbUlkOiBzeXN0ZW0uaWQsXHJcbiAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICB0YXJnZXRMYW5nOiB7XHJcbiAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICB2ZW5kb3I6IHZlbmRvcixcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICBsYW5nOiB0aGlzLnRhcmdldExhbmd1YWdlXHJcbiAgICAgIH0sXHJcbiAgICAgIHRhcmdldExhbmdMaXN0OiB0aGlzLnRhcmdldExhbmdMaXN0LFxyXG4gICAgICB2ZW5kb3JzOiB0aGlzLnZlbmRvcnMsXHJcbiAgICAgIGRvbWFpbnM6IHsgYWN0aXZlOiB0aGlzLmFjdGl2ZURvbWFpbiwgZG9tYWluczogdGhpcy5kb21haW5zIH0sXHJcbiAgICAgIHN3YXBMYW5nQWN0aXZlOiB0aGlzLmNhblN3YXBTeXN0ZW1MYW5ndWFnZXMoKSxcclxuICAgICAgc3lzdGVtOiBzeXN0ZW0sXHJcbiAgICAgIHJldHJhbnNsYXRlOiByZXRyYW5zbGF0ZSxcclxuICAgICAgcmVjZW50U3lzdGVtczogdGhpcy5yZWNlbnRTeXN0ZW1zXHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuIl19
376
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGxkLXRyYW5zbGF0ZS1zeXN0ZW0tbWFuYWdlbWVudC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLWNvbW1vbi9zZXJ2aWNlcy90bGQtdHJhbnNsYXRlLXN5c3RlbS1tYW5hZ2VtZW50LnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFvQyxVQUFVLEVBQStDLE1BQU0sdUJBQXVCLENBQUM7QUFDbEksT0FBTyxFQUFFLGVBQWUsRUFBYyxhQUFhLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBQzNFLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUVsRCxPQUFPLEVBQUUsNkJBQTZCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUMxRSxPQUFPLEVBQUUsMkJBQTJCLEVBQUUsTUFBTSw2Q0FBNkMsQ0FBQzs7OztBQUsxRixNQUFNLE9BQU8sbUNBQW1DO0lBMkMzQjtJQUNBO0lBQ0E7SUFDdUM7SUE3QzFELGNBQWMsR0FBRyxLQUFLLENBQUM7SUFDdkIsT0FBTyxHQUFhLEVBQUUsQ0FBQztJQUN2QixpQkFBaUIsR0FBRyxLQUFLLENBQUM7SUFDMUIsT0FBTyxHQUFHLElBQUksYUFBYSxDQUFXLENBQUMsQ0FBQyxDQUFDO0lBQ3pDLFlBQVksQ0FBVTtJQUN0QixnQkFBZ0IsQ0FBVztJQUUzQiwwQkFBMEIsR0FBRyx1Q0FBdUMsQ0FBQztJQUU3RCxvQkFBb0IsR0FBRyxJQUFJLE9BQU8sRUFBWSxDQUFDO0lBRXZELElBQUksWUFBWTtRQUNkLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQztJQUN4RCxDQUFDO0lBRUQs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QUNkLFdBQVcsRUFBRSxXQUFXO1lBQ3hCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxnQkFBZ0IsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixLQUFLLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLElBQUk7U0FDekgsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVPLFlBQVksQ0FBQyxNQUFjLEVBQUUsRUFBVSxFQUFFLFVBQWtCLEVBQUUsY0FBc0IsRUFBRSxjQUFzQixFQUFFLHFCQUE0QyxFQUFFLE1BQWMsRUFBRSxnQkFBd0IsRUFBRSxtQkFBNEI7UUFDdk8sT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsVUFBVSxFQUFFLGNBQWMsRUFBRSxjQUFjLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxFQUFFLGdCQUFnQixFQUFFLG1CQUFtQixFQUFFLENBQUE7SUFDekksQ0FBQzt3R0EvWlUsbUNBQW1DLG9IQThDcEMsNkJBQTZCOzRHQTlDNUIsbUNBQW1DLGNBRmxDLE1BQU07OzRGQUVQLG1DQUFtQztrQkFIL0MsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQStDSSxNQUFNOzJCQUFDLDZCQUE2QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmVEYXRhLCBBbGVydFNlcnZpY2UsIERvbWFpbiwgU29ydEhlbHBlciwgU3lzdGVtLCBTeXN0ZW1TZXJ2aWNlLCBWZW5kb3IsIExhbmdMaXN0SXRlbSB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgT2JzZXJ2YWJsZSwgUmVwbGF5U3ViamVjdCwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGlvbkFwaVZlcnNpb24gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlIH0gZnJvbSAnLi90bGQtdHJhbnNsYXRlLWNvbmZpZy5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVFJBTlNMQVRJT05fQVBJX1ZFUlNJT05fVE9LRU4gfSBmcm9tICcuLi8uLi8uLi9pbmplY3Rpb24tdG9rZW5zJztcclxuaW1wb3J0IHsgQVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZIH0gZnJvbSAnLi4vbW9kZWxzL2F1dG8tbGFuZ3VhZ2UtZGV0ZWN0aW9uLWtleS5jb25zdCc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSB7XHJcbiAgbm9TeXN0ZW1zRXJyb3IgPSBmYWxzZTtcclxuICBzeXN0ZW1zOiBTeXN0ZW1bXSA9IFtdO1xyXG4gIHdpZGdldEluaXRpYWxpemVkID0gZmFsc2U7XHJcbiAgc3lzTGlzdCA9IG5ldyBSZXBsYXlTdWJqZWN0PFN5c3RlbVtdPigxKTtcclxuICBhY3RpdmVEb21haW4hOiBEb21haW47XHJcbiAgY2FuU3dhcExhbmd1YWdlcyE6IGJvb2xlYW47XHJcblxyXG4gIGRlZmF1bHRFcnJvclRyYW5zbGF0aW9uS2V5ID0gJ1RMRF9UUkFOU0xBVEUuRVJST1JfTk9fU1lTVEVNU19MT0FERUQnO1xyXG5cclxuICBwcml2YXRlIGxvYWRlZFN5c3RlbXNTdWJqZWN0ID0gbmV3IFN1YmplY3Q8U3lzdGVtW10+KCk7XHJcblxyXG4gIGdldCBhY3RpdmVWZW5kb3IoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVTeXN0ZW0udmVuZG9yIHx8IHRoaXMuZGVmYXVsdFZlbmRvcjtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0VmVuZG9yKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnLmNvcmVDb25maWcuZGVmYXVsdFZlbmRvcjtcclxuICB9XHJcblxyXG4gIGdldCBkZWZhdWx0RG9tYWlucygpIHtcclxuICAgIHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLmRlZmF1bHREb21haW5zIGFzIHN0cmluZ1tdO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmVTeXN0ZW0hOiBTeXN0ZW07XHJcbiAgcHJpdmF0ZSBkb21haW5zOiBEb21haW5bXSA9IFtdO1xyXG4gIHByaXZhdGUgdmVuZG9yczogVmVuZG9yW10gPSBbXTtcclxuICBwcml2YXRlIHNvdXJjZUxhbmd1YWdlITogc3RyaW5nO1xyXG4gIHByaXZhdGUgdGFyZ2V0TGFuZ3VhZ2UhOiBzdHJpbmc7XHJcbiAgcHJpdmF0ZSBzb3VyY2VMYW5nTGlzdDogTGFuZ0xpc3RJdGVtW10gPSBbXTtcclxuICBwcml2YXRlIHRhcmdldExhbmdMaXN0OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG5cclxuICAvLyNyZWdpb24gUmVjZW50IHN5c3RlbSB2YXJpYWJsZXNcclxuICAvLyBQb3NzaWJseSBmcm9tIGNvbmZpZ1xyXG4gIGdldCByZWNlbnRTeXN0ZW1zTWF4Q291bnQoKSB7IHJldHVybiB0aGlzLmNvbmZpZy5jb3JlQ29uZmlnLm1heFJlY2VudFN5c3RlbUNvdW50IGFzIG51bWJlcjsgfVxyXG4gIHByaXZhdGUgcmVjZW50U3lzdGVtczogU3lzdGVtW10gPSBbXTtcclxuICAvLyNlbmRyZWdpb25cclxuXHJcbiAgcHJpdmF0ZSByZWFkb25seSByZWNlbnRTeXN0ZW1LZXkgPSBcInJlY2VudFN5c3RlbXNcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGFjdGl2ZTogQmVoYXZpb3JTdWJqZWN0PEFjdGl2ZURhdGE+ID0gbmV3IEJlaGF2aW9yU3ViamVjdDxBY3RpdmVEYXRhPig8YW55Pm51bGwpO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFzdFVzZWRTeXN0ZW1LZXk6IHN0cmluZyA9IFwibGFzdFVzZWRTeXN0ZW1cIjtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGFsZXJ0OiBBbGVydFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZzogVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3lzdGVtU2VydmljZTogU3lzdGVtU2VydmljZSxcclxuICAgIEBJbmplY3QoVFJBTlNMQVRJT05fQVBJX1ZFUlNJT05fVE9LRU4pIHByaXZhdGUgcmVhZG9ubHkgYXBpVmVyc2lvblxyXG4gICkgeyB9XHJcblxyXG4gIC8qKlxyXG4gICogVGhpcyBtZXRob2QgaXMgYmVpbmcgY2FsbGVkIHdoZW4gYXV0byBsYW5ndWFnZSBkZXRlY3Rpb24gd2FzIGNob3Nlbi5cclxuICAqL1xyXG4gIGVuYWJsZUxhbmd1YWdlRGV0ZWN0aW9uKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWTtcclxuICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICAqIFRoaXMgbWV0aG9kIGlzIGJlaW5nIHVzZWQgdG8gc2V0IGRldGVjdGVkIGxhbmd1YWdlIHdoZW4gYXBpIHJlc3BvbnNlIGhhcyBpdC5cclxuICAqIEFsc28sIHdoZW4gbGFuZ3VhZ2Ugd2FzIGRldGVjdGVkIGFuZCB3ZSB3YW50IHRvIGNsZWFyIHNvdXJjZSB0ZXh0LCB0aGlzIG1ldGhvZCBhbHNvIGlzIGJlaW5nIGNhbGxlZC5cclxuICAqL1xyXG4gIHNldERldGVjdGVkTGFuZ3VhZ2UobGFuZ0NvZGU6IHN0cmluZywgZG9tYWluPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBpc1NvdXJjZUxhbmdDb2RlU2FtZUFmdGVyRGV0ZWN0aW9uID0gdGhpcy5hY3RpdmVTeXN0ZW0/LmRldGVjdGVkTGFuZ3VhZ2UgPT09IHRoaXMuc291cmNlTGFuZ3VhZ2U7XHJcbiAgICAvLyBIZXJlIHdlIG5lZWQgdG8gY2xlYXIgb3V0IGRldGVjdGVkIGxhbmd1YWdlLCBidXQga2VlcCB0aGUgZGV0ZWN0aW9uIGVuYWJsZWQuXHJcbiAgICBpZiAoIWxhbmdDb2RlICYmIGlzU291cmNlTGFuZ0NvZGVTYW1lQWZ0ZXJEZXRlY3Rpb24pIHtcclxuICAgICAgdGhpcy5zb3VyY2VMYW5ndWFnZSA9IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWTtcclxuICAgICAgdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IG51bGw7XHJcbiAgICAgIHRoaXMuYWN0aXZlU3lzdGVtLmRvbWFpbiA9IG51bGw7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgZmFsc2UpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgLy8gVGhpcyBpcyBiZWluZyBjYWxsZWQsIHdoZW4gbGFuZ3VhZ2UgaXMgZGV0ZWN0ZWQuXHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gbGFuZ0NvZGU7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9IGxhbmdDb2RlO1xyXG4gICAgdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IGxhbmdDb2RlO1xyXG4gICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShsYW5nQ29kZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgZmFsc2UsIGRvbWFpbik7XHJcbiAgfVxyXG5cclxuICBnZXRTeXN0ZW1zKCk6IFN5c3RlbVtdIHtcclxuICAgIHJldHVybiB0aGlzLnN5c3RlbXM7XHJcbiAgfVxyXG5cclxuICBjaGFuZ2VMYW5ndWFnZShzb3VyY2U6IHN0cmluZywgdGFyZ2V0OiBzdHJpbmcsIHJldHJhbnNsYXRlPzogYm9vbGVhbiwgZG9tYWluPzogc3RyaW5nKSB7XHJcbiAgICBjb25zdCBzeXN0ZW1JZCA9IHRoaXMuZmluZENvcnJlY3RTeXN0ZW0oc291cmNlLCB0YXJnZXQsIGRvbWFpbik7XHJcbiAgICB0aGlzLmNoYW5nZVN5c3RlbShzeXN0ZW1JZCwgcmV0cmFuc2xhdGUpO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlRGF0YSgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZS5hc09ic2VydmFibGUoKTtcclxuICB9XHJcblxyXG4gIGdldEFjdGl2ZVN5c3RlbU9iaigpOiBTeXN0ZW0ge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlU3lzdGVtO1xyXG4gIH1cclxuXHJcbiAgZ2V0QWN0aXZlVmVuZG9yc0FuZERvbWFpbnMoKSB7XHJcbiAgICBpZiAoIXRoaXMuc291cmNlTGFuZ3VhZ2UgfHwgIXRoaXMudGFyZ2V0TGFuZ3VhZ2UpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgY29uc3QgdmVuZG9yczogVmVuZG9yW10gPSBbXTtcclxuICAgIGNvbnN0IGRvbWFpbnM6IERvbWFpbltdID0gW107XHJcblxyXG4gICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgIGlmICghKHN5c3RlbS5zb3VyY2VMYW5ndWFnZSA9PT0gdGhpcy5zb3VyY2VMYW5ndWFnZSAmJiBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgPT09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UpKSB7XHJcbiAgICAgICAgY29udGludWU7XHJcbiAgICAgIH1cclxuICAgICAgY29uc3QgZG9tYWluOiBEb21haW4gPSB7XHJcbiAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgdGl0bGU6IHN5c3RlbS5kb21haW4gYXMgc3RyaW5nXHJcbiAgICAgIH07XHJcbiAgICAgIGRvbWFpbnMucHVzaChkb21haW4pO1xyXG4gICAgICBjb25zdCB2ZW5kb3I6IFZlbmRvciA9IHtcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICB0aXRsZTogc3lzdGVtLnZlbmRvclxyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoIXZlbmRvcnMuaW5jbHVkZXModmVuZG9yKSkge1xyXG4gICAgICAgIHZlbmRvcnMucHVzaCh2ZW5kb3IpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoZG9tYWluLmxhbmd1YWdlSWQgPT09IHRoaXMuYWN0aXZlU3lzdGVtLmxhbmd1YWdlSWQpIHtcclxuICAgICAgICB0aGlzLmFjdGl2ZURvbWFpbiA9IGRvbWFpbjtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuZG9tYWlucyA9IGRvbWFpbnM7XHJcbiAgICB0aGlzLnZlbmRvcnMgPSB2ZW5kb3JzO1xyXG4gIH1cclxuXHJcblxyXG4gIGdldExhc3RVc2VkU3lzdGVtKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0odGhpcy5sYXN0VXNlZFN5c3RlbUtleSkgYXMgc3RyaW5nO1xyXG4gIH1cclxuXHJcbiAgZ2V0VW5pcXVlTGFuZ3VhZ2VzKGxpc3Q6IExhbmdMaXN0SXRlbVtdKTogc3RyaW5nW10ge1xyXG4gICAgaWYgKCFsaXN0KSB7XHJcbiAgICAgIHJldHVybiBbXTtcclxuICAgIH1cclxuICAgIGNvbnN0IHRpdGxlczogc3RyaW5nW10gPSBbXTtcclxuXHJcbiAgICBsaXN0LmZvckVhY2goKGxhbmcpID0+IHtcclxuICAgICAgY29uc3QgbGFuZ1RpdGxlID0gbGFuZy5sYW5nO1xyXG4gICAgICBjb25zdCBpeCA9IHRpdGxlcy5pbmRleE9mKGxhbmdUaXRsZSBhcyBzdHJpbmcpO1xyXG4gICAgICBpZiAoaXggPT0gLTEpIHtcclxuICAgICAgICB0aXRsZXMucHVzaChsYW5nVGl0bGUgYXMgc3RyaW5nKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcblxyXG4gICAgcmV0dXJuIHRpdGxlcztcclxuICB9XHJcblxyXG4gIGluaXQoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQ6IHN0cmluZykge1xyXG4gICAgdGhpcy5zeXN0ZW1TZXJ2aWNlLmdldFN5c3RlbUxpc3QoKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBTeXN0ZW1bXSkgPT4ge1xyXG4gICAgICAgIHRoaXMuc3lzdGVtcyA9IHJlcztcclxuICAgICAgICBpZiAocmVzLmxlbmd0aCA9PSAwKSB7XHJcbiAgICAgICAgICB0aGlzLmxvYWRlZFN5c3RlbXNTdWJqZWN0Lm5leHQocmVzKTtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIGlmICghdGhpcy5zeXN0ZW1FeGlzdHMoZGVmYXVsdFN5c3RlbUxhbmd1YWdlSWQsIHRoaXMuc3lzdGVtcykpIHtcclxuICAgICAgICAgIGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkID0gdGhpcy5zeXN0ZW1zWzBdPy5sYW5ndWFnZUlkO1xyXG4gICAgICAgICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHZlbmRvciA9IHN5c3RlbS52ZW5kb3I7XHJcbiAgICAgICAgICAgIGlmICh2ZW5kb3IgPT09IHRoaXMuZGVmYXVsdFZlbmRvcikge1xyXG4gICAgICAgICAgICAgIGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkID0gc3lzdGVtLmxhbmd1YWdlSWQ7XHJcbiAgICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3JlYXRlUmVjZW50U3lzdGVtQXJyYXkoKTtcclxuICAgICAgICB0aGlzLnNvdXJjZUxhbmdMaXN0ID0gdGhpcy5jcmVhdGVMYW5nTGlzdCh0aGlzLnN5c3RlbXMpO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlU3lzdGVtKGRlZmF1bHRTeXN0ZW1MYW5ndWFnZUlkKTtcclxuICAgICAgICB0aGlzLndpZGdldEluaXRpYWxpemVkID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLnN5c0xpc3QubmV4dCh0aGlzLnN5c3RlbXMpO1xyXG4gICAgICAgIHRoaXMubm9TeXN0ZW1zRXJyb3IgPSBmYWxzZTtcclxuICAgICAgfSxcclxuICAgICAgZXJyb3I6IChlcnJvcikgPT4ge1xyXG4gICAgICAgIHRoaXMubm9TeXN0ZW1zRXJyb3IgPSB0cnVlO1xyXG4gICAgICAgIHRoaXMuYWxlcnQuZXJyb3IodGhpcy5kZWZhdWx0RXJyb3JUcmFuc2xhdGlvbktleSwgZXJyb3IpO1xyXG4gICAgICB9LFxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBnZXRMb2FkZWRTeXN0ZW1zKCk6IE9ic2VydmFibGU8U3lzdGVtW10+IHtcclxuICAgIHJldHVybiB0aGlzLmxvYWRlZFN5c3RlbXNTdWJqZWN0LmFzT2JzZXJ2YWJsZSgpO1xyXG4gIH1cclxuXHJcbiAgc2V0TGFzdFVzZWRTeXN0ZW0oc3lzdGVtSWQ6IHN0cmluZykge1xyXG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMubGFzdFVzZWRTeXN0ZW1LZXksIHN5c3RlbUlkKTtcclxuICB9XHJcblxyXG4gIHN3YXBTeXN0ZW1MYW5ndWFnZXMoKSB7XHJcbiAgICB0aGlzLmNoYW5nZUxhbmd1YWdlKHRoaXMudGFyZ2V0TGFuZ3VhZ2UsIHRoaXMuc291cmNlTGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU3lzdGVtKGxhbmd1YWdlSWQ6IHN0cmluZywgcmV0cmFuc2xhdGUgPSB0cnVlKSB7XHJcbiAgICBpZiAodGhpcy5hY3RpdmVTeXN0ZW0/Lmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGxldCBzZWxlY3RlZFN5c3RlbSE6IFN5c3RlbTtcclxuXHJcbiAgICBpZiAoIWxhbmd1YWdlSWQ/LmluY2x1ZGVzKEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkpIHtcclxuICAgICAgZm9yIChjb25zdCBzeXN0ZW0gb2YgdGhpcy5zeXN0ZW1zKSB7XHJcbiAgICAgICAgaWYgKHN5c3RlbS5sYW5ndWFnZUlkID09PSBsYW5ndWFnZUlkKSB7XHJcbiAgICAgICAgICBzZWxlY3RlZFN5c3RlbSA9IHN5c3RlbTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgc2VsZWN0ZWRTeXN0ZW0gPSB0aGlzLmNyZWF0ZVN5c3RlbSgnJywgbGFuZ3VhZ2VJZCwgbGFuZ3VhZ2VJZCwgdGhpcy5zb3VyY2VMYW5ndWFnZSwgdGhpcy50YXJnZXRMYW5ndWFnZSwgdGhpcy5hcGlWZXJzaW9uLCAnJywgbnVsbCwgZmFsc2UpO1xyXG5cclxuICAgICAgdGhpcy50YXJnZXRMYW5nTGlzdCA9IHRoaXMuY3JlYXRlTGFuZ0xpc3QodGhpcy5zeXN0ZW1zKTtcclxuICAgICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRoaXMudGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgICAgIHRoaXMuc291cmNlTGFuZ3VhZ2UgPSB0aGlzLnNvdXJjZUxhbmd1YWdlO1xyXG4gICAgICB0aGlzLmFjdGl2ZVN5c3RlbSA9IHNlbGVjdGVkU3lzdGVtO1xyXG4gICAgICB0aGlzLmRvbWFpbnMgPSBbXTtcclxuICAgICAgdGhpcy52ZW5kb3JzID0gW107XHJcbiAgXHJcbiAgICAgIHRoaXMub25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgc2VsZWN0ZWRTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA9IHRoaXMuYWN0aXZlU3lzdGVtPy5kZXRlY3RlZExhbmd1YWdlO1xyXG4gIFxyXG4gICAgdGhpcy50YXJnZXRMYW5nTGlzdCA9IHRoaXMuY3JlYXRlTGFuZ0xpc3QodGhpcy5zeXN0ZW1zLCBzZWxlY3RlZFN5c3RlbS5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB0aGlzLnRhcmdldExhbmd1YWdlID0gc2VsZWN0ZWRTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2U7XHJcbiAgICB0aGlzLnNvdXJjZUxhbmd1YWdlID0gc2VsZWN0ZWRTeXN0ZW0uc291cmNlTGFuZ3VhZ2U7XHJcbiAgICB0aGlzLmFjdGl2ZVN5c3RlbSA9IHNlbGVjdGVkU3lzdGVtO1xyXG4gICAgdGhpcy5nZXRBY3RpdmVWZW5kb3JzQW5kRG9tYWlucygpO1xyXG5cclxuICAgIHRoaXMub25BY3RpdmVTeXN0ZW1DaGFuZ2UocmV0cmFuc2xhdGUpO1xyXG5cclxuICAgIHRoaXMuc2V0TGFzdFVzZWRTeXN0ZW0oc2VsZWN0ZWRTeXN0ZW0ubGFuZ3VhZ2VJZCk7XHJcbiAgfVxyXG5cclxuICBzeXN0ZW1FeGlzdHMobGFuZ3VhZ2VJZDogc3RyaW5nLCBzeXN0ZW1MaXN0OiBTeXN0ZW1bXSk6IGJvb2xlYW4ge1xyXG4gICAgY29uc3Qgc3lzdGVtcyA9IHN5c3RlbUxpc3QgPz8gdGhpcy5zeXN0ZW1zO1xyXG4gICAgZm9yIChjb25zdCBzeXN0ZW0gb2Ygc3lzdGVtcykge1xyXG4gICAgICBpZiAoc3lzdGVtLmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpIHtcclxuICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiBmYWxzZTtcclxuICB9XHJcblxyXG4gIGlzVGVybWlub2xvZ3lTdXBwb3J0ZWQoc3lzdGVtOiBTeXN0ZW0pOiBib29sZWFuIHtcclxuICAgIHJldHVybiBzeXN0ZW0uaW5jbHVkZXNUZXJtaW5vbG9neSBhcyBib29sZWFuO1xyXG4gIH1cclxuXHJcbiAgY2hhbmdlU291cmNlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlOiBzdHJpbmcpIHtcclxuICAgIGlmIChzb3VyY2VMYW5ndWFnZUNvZGUgPT09IHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2Uoc291cmNlTGFuZ3VhZ2VDb2RlLCB0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZShzb3VyY2VMYW5ndWFnZUNvZGUsIHRoaXMuYWN0aXZlU3lzdGVtLnRhcmdldExhbmd1YWdlKTtcclxuXHJcbiAgICB9XHJcblxyXG4gIH1cclxuXHJcbiAgY2hhbmdlVGFyZ2V0TGFuZ3VhZ2UodGFyZ2V0TGFuZ3VhZ2VDb2RlOiBzdHJpbmcpIHtcclxuICAgIGlmICh0YXJnZXRMYW5ndWFnZUNvZGUgPT09IHRoaXMuYWN0aXZlU3lzdGVtLnNvdXJjZUxhbmd1YWdlKSB7XHJcbiAgICAgIHRoaXMuY2hhbmdlTGFuZ3VhZ2UodGhpcy5hY3RpdmVTeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlQ29kZSk7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5jaGFuZ2VMYW5ndWFnZSh0aGlzLmFjdGl2ZVN5c3RlbS5zb3VyY2VMYW5ndWFnZSwgdGFyZ2V0TGFuZ3VhZ2VDb2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgY3JlYXRlUmVjZW50U3lzdGVtQXJyYXkoKSB7XHJcbiAgICBsZXQgc3lzdGVtSWRBcnJheTogc3RyaW5nW107XHJcbiAgICBjb25zdCByZWNlbnRTeXN0ZW1BcnJheTogU3lzdGVtW10gPSBbXTtcclxuICAgIHRyeSB7XHJcbiAgICAgIHN5c3RlbUlkQXJyYXkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKHRoaXMucmVjZW50U3lzdGVtS2V5KSA/PyBcIltdXCIpO1xyXG4gICAgfVxyXG4gICAgY2F0Y2gge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBzeXN0ZW1JZEFycmF5LmZvckVhY2goKGxhbmd1YWdlSWQpID0+IHtcclxuICAgICAgY29uc3QgZXhpc3RpbmdTeXN0ZW0gPSB0aGlzLnN5c3RlbXMuZmluZChzeXN0ZW0gPT4gc3lzdGVtLmxhbmd1YWdlSWQgPT09IGxhbmd1YWdlSWQpO1xyXG4gICAgICBpZiAoZXhpc3RpbmdTeXN0ZW0gJiYgIXRoaXMucmVjZW50U3lzdGVtcy5pbmNsdWRlcyhleGlzdGluZ1N5c3RlbSkpIHtcclxuICAgICAgICByZWNlbnRTeXN0ZW1BcnJheS5wdXNoKGV4aXN0aW5nU3lzdGVtKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICAgIHRoaXMucmVjZW50U3lzdGVtcyA9IHJlY2VudFN5c3RlbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBhZGRUb1JlY2VudFN5c3RlbUFycmF5KHN5c3RlbTogU3lzdGVtKSB7XHJcbiAgICBjb25zdCBleGlzdGluZ1N5c3RlbSA9IHRoaXMucmVjZW50U3lzdGVtcy5maW5kKGV4aXN0aW5nID0+IGV4aXN0aW5nLmxhbmd1YWdlSWQgPT09IHN5c3RlbS5sYW5ndWFnZUlkKTtcclxuICAgIC8vIGlmIHN5c3RlbSBhbHJlYWR5IGluIGxpc3QsIHB1dCBpdCB0byBmaXJzdCBwb3NpdGlvbi4gSWYgaXggMCwgbm8gYWN0aW9uIHJlcXVpcmVkIHNpbmNlIGxhdGVzdCBzeXN0ZW0gaXMgYWxyZWFkeSBmaXJzdC5cclxuICAgIGlmIChleGlzdGluZ1N5c3RlbSkge1xyXG4gICAgICBjb25zdCBzeXN0ZW1JeEluUmVjZW50TGlzdCA9IHRoaXMucmVjZW50U3lzdGVtcy5pbmRleE9mKGV4aXN0aW5nU3lzdGVtKTtcclxuICAgICAgaWYgKHN5c3RlbUl4SW5SZWNlbnRMaXN0ID4gMCkge1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2Uoc3lzdGVtSXhJblJlY2VudExpc3QsIDEpO1xyXG4gICAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2UoMCwgMCwgc3lzdGVtKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIC8vIGlmIGxpc3QgdG9vIGxvbmcsIHJlbW92ZSBsYXN0IChvbGRlc3QgZWxlbWVudClcclxuICAgICAgd2hpbGUgKHRoaXMucmVjZW50U3lzdGVtcy5sZW5ndGggPj0gdGhpcy5yZWNlbnRTeXN0ZW1zTWF4Q291bnQpIHtcclxuICAgICAgICB0aGlzLnJlY2VudFN5c3RlbXMucG9wKCk7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIHRoaXMucmVjZW50U3lzdGVtcy5zcGxpY2UoMCwgMCwgc3lzdGVtKTtcclxuICAgIH1cclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKHRoaXMucmVjZW50U3lzdGVtS2V5LCBKU09OLnN0cmluZ2lmeSh0aGlzLnJlY2VudFN5c3RlbXMubWFwKHN5c3RlbSA9PiBzeXN0ZW0ubGFuZ3VhZ2VJZCkpKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgY2FuU3dhcFN5c3RlbUxhbmd1YWdlcygpOiBib29sZWFuIHtcclxuICAgIGxldCBsYW5nU3dhcEFjdGl2ZSA9IGZhbHNlO1xyXG4gICAgZm9yIChjb25zdCBlbGVtZW50IG9mIHRoaXMuc3lzdGVtcykge1xyXG4gICAgICBjb25zdCBzeXN0ZW0gPSBlbGVtZW50O1xyXG4gICAgICBpZiAoc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09IHRoaXMudGFyZ2V0TGFuZ3VhZ2UgJiYgc3lzdGVtLnRhcmdldExhbmd1YWdlID09IHRoaXMuc291cmNlTGFuZ3VhZ2UpIHtcclxuICAgICAgICBsYW5nU3dhcEFjdGl2ZSA9IHRydWU7XHJcbiAgICAgICAgYnJlYWs7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2FuU3dhcExhbmd1YWdlcyA9IGxhbmdTd2FwQWN0aXZlO1xyXG4gICAgcmV0dXJuIGxhbmdTd2FwQWN0aXZlO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVMYW5nTGlzdChzeXN0ZW1zOiBTeXN0ZW1bXSwgc3JjTGFuZ0NvZGU/OiBzdHJpbmcpIHtcclxuICAgIGNvbnN0IGxhbmdMaXN0SXRlbUFycmF5OiBMYW5nTGlzdEl0ZW1bXSA9IFtdO1xyXG4gICAgc3lzdGVtcy5mb3JFYWNoKChzeXN0ZW0pID0+IHtcclxuICAgICAgaWYgKCFzcmNMYW5nQ29kZSB8fCBzcmNMYW5nQ29kZSA9PT0gc3lzdGVtLnNvdXJjZUxhbmd1YWdlKSB7XHJcbiAgICAgICAgbGFuZ0xpc3RJdGVtQXJyYXkucHVzaChcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICAgICAgbGFuZzogc3JjTGFuZ0NvZGUgPyBzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UgOiBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgICAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICAgICAgICB2ZW5kb3I6IHN5c3RlbS52ZW5kb3JcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gICAgcmV0dXJuIGxhbmdMaXN0SXRlbUFycmF5O1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBmaW5kQ29ycmVjdFN5c3RlbShzb3VyY2VMYW5ndWFnZTogc3RyaW5nLCB0YXJnZXRMYW5ndWFnZTogc3RyaW5nLCBkb21haW4/OiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKHNvdXJjZUxhbmd1YWdlID09PSBBVVRPX0xBTkdVQUdFX0RFVEVDVElPTl9LRVkpIHtcclxuICAgICAgdGhpcy50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlO1xyXG4gICAgICB0aGlzLmFjdGl2ZVN5c3RlbS50YXJnZXRMYW5ndWFnZSA9IHRhcmdldExhbmd1YWdlO1xyXG4gICAgICByZXR1cm4gYCR7QVVUT19MQU5HVUFHRV9ERVRFQ1RJT05fS0VZfS0ke3RhcmdldExhbmd1YWdlfWBcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBzeXN0ZW1zID0gdGhpcy5zeXN0ZW1zO1xyXG5cclxuICAgIGNvbnN0IHN5c3RlbXNGb3JMYW5ndWFnZVBhaXIgPSBzeXN0ZW1zLmZpbHRlcihzeXN0ZW0gPT4gc3lzdGVtLnNvdXJjZUxhbmd1YWdlID09PSBzb3VyY2VMYW5ndWFnZSAmJiB0YXJnZXRMYW5ndWFnZSA9PT0gc3lzdGVtLnRhcmdldExhbmd1YWdlKTtcclxuICAgIC8vIElkZWFsbHkgdGhpcyBjYXNlIHNob3VsZCBub3QgaGFwcGVuLCBidXQgaXQgaXMgcG9zc2libGUuXHJcbiAgICBpZiAoc3lzdGVtc0Zvckxhbmd1YWdlUGFpci5sZW5ndGggPT09IDApIHtcclxuICAgICAgcmV0dXJuIHRoaXMuc3lzdGVtcy5maW5kKHN5c3RlbSA9PiBzeXN0ZW0uc291cmNlTGFuZ3VhZ2UgPT09IHNvdXJjZUxhbmd1YWdlKT8ubGFuZ3VhZ2VJZCBhcyBzdHJpbmc7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvciA9IHN5c3RlbXNGb3JMYW5ndWFnZVBhaXIuZmlsdGVyKHN5c3RlbSA9PiAoc3lzdGVtLnZlbmRvciB8fCB0aGlzLmRlZmF1bHRWZW5kb3IpID09PSB0aGlzLmRlZmF1bHRWZW5kb3IpO1xyXG4gICAgaWYgKHN5c3RlbXNXaXRoRGVmYXVsdFZlbmRvci5sZW5ndGggPT09IDApIHtcclxuICAgICAgc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yID0gc3lzdGVtc0Zvckxhbmd1YWdlUGFpcjtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluID0gc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yLmZpbHRlcihzeXN0ZW0gPT4gZG9tYWluID8gc3lzdGVtLmRvbWFpbiA9PT0gZG9tYWluIDogdGhpcy5kZWZhdWx0RG9tYWlucy5pbmNsdWRlcyhzeXN0ZW0uZG9tYWluIGFzIHN0cmluZykpO1xyXG4gICAgaWYgKHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpbi5sZW5ndGggPT09IDApIHtcclxuICAgICAgc3lzdGVtc1dpdGhEZWZhdWx0RG9tYWluID0gc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yO1xyXG4gICAgfVxyXG4gICAgU29ydEhlbHBlci5zb3J0QnlBcnJheShzeXN0ZW1zV2l0aERlZmF1bHREb21haW4sIHRoaXMuZGVmYXVsdERvbWFpbnMsIFwiZG9tYWluXCIpO1xyXG5cclxuXHJcbiAgICAvLyBWMiBkb2VzIG5vdCBwcm92aWRlIGFueSBpbmZvIGFib3V0IHN0YXR1c2VzXHJcbiAgICBpZiAodGhpcy5hcGlWZXJzaW9uID09PSBUcmFuc2xhdGlvbkFwaVZlcnNpb24uVjEpIHtcclxuICAgICAgY29uc3QgcHJlZmVycmVkU3RhdHVzZXMgPSBbJ3J1bm5pbmcnLCAncXVldWluZ3RyYW5zbCcsICdzdGFuZGJ5J107XHJcbiAgICAgIFNvcnRIZWxwZXIuc29ydEJ5QXJyYXkoc3lzdGVtc1dpdGhEZWZhdWx0VmVuZG9yLCBwcmVmZXJyZWRTdGF0dXNlcywgXCJzdGF0dXNcIik7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHN5c3RlbXNXaXRoRGVmYXVsdERvbWFpblswXS5sYW5ndWFnZUlkO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbkFjdGl2ZVN5c3RlbUNoYW5nZShyZXRyYW5zbGF0ZSA9IHRydWUpIHtcclxuICAgIGNvbnN0IHN5c3RlbTogU3lzdGVtID0gdGhpcy5hY3RpdmVTeXN0ZW07XHJcbiAgICBjb25zdCB2ZW5kb3IgPSB0aGlzLmFjdGl2ZVN5c3RlbS52ZW5kb3I7XHJcblxyXG4gICAgaWYgKHRoaXMuc291cmNlTGFuZ3VhZ2UgIT09IEFVVE9fTEFOR1VBR0VfREVURUNUSU9OX0tFWSkge1xyXG4gICAgICB0aGlzLmFkZFRvUmVjZW50U3lzdGVtQXJyYXkoc3lzdGVtKTtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFjdGl2ZS5uZXh0KHtcclxuICAgICAgc291cmNlTGFuZzoge1xyXG4gICAgICAgIGxhbmc6IHRoaXMuc291cmNlTGFuZ3VhZ2UsXHJcbiAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICB2ZW5kb3I6IHZlbmRvcixcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgfSxcclxuICAgICAgc291cmNlTGFuZ0xpc3Q6IHRoaXMuc291cmNlTGFuZ0xpc3QsXHJcbiAgICAgIHN5c3RlbUlkOiBzeXN0ZW0uaWQsXHJcbiAgICAgIGxhbmd1YWdlSWQ6IHN5c3RlbS5sYW5ndWFnZUlkLFxyXG4gICAgICB0YXJnZXRMYW5nOiB7XHJcbiAgICAgICAgZG9tYWluOiBzeXN0ZW0uZG9tYWluIGFzIHN0cmluZyxcclxuICAgICAgICB2ZW5kb3I6IHZlbmRvcixcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICBsYW5nOiB0aGlzLnRhcmdldExhbmd1YWdlXHJcbiAgICAgIH0sXHJcbiAgICAgIHRhcmdldExhbmdMaXN0OiB0aGlzLnRhcmdldExhbmdMaXN0LFxyXG4gICAgICB2ZW5kb3JzOiB0aGlzLnZlbmRvcnMsXHJcbiAgICAgIGRvbWFpbnM6IHsgYWN0aXZlOiB0aGlzLmFjdGl2ZURvbWFpbiwgZG9tYWluczogdGhpcy5kb21haW5zIH0sXHJcbiAgICAgIHN3YXBMYW5nQWN0aXZlOiB0aGlzLmNhblN3YXBTeXN0ZW1MYW5ndWFnZXMoKSxcclxuICAgICAgc3lzdGVtOiBzeXN0ZW0sXHJcbiAgICAgIHJldHJhbnNsYXRlOiByZXRyYW5zbGF0ZSxcclxuICAgICAgcmVjZW50U3lzdGVtczogdGhpcy5yZWNlbnRTeXN0ZW1zLFxyXG4gICAgICBkZXRlY3RlZExhbmd1YWdlOiB0aGlzLmFjdGl2ZVN5c3RlbS5kZXRlY3RlZExhbmd1YWdlID09PSB0aGlzLnNvdXJjZUxhbmd1YWdlID8gdGhpcy5hY3RpdmVTeXN0ZW0uZGV0ZWN0ZWRMYW5ndWFnZSA6IG51bGxcclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjcmVhdGVTeXN0ZW0oZG9tYWluOiBzdHJpbmcsIGlkOiBzdHJpbmcsIGxhbmd1YWdlSWQ6IHN0cmluZywgc291cmNlTGFuZ3VhZ2U6IHN0cmluZywgdGFyZ2V0TGFuZ3VhZ2U6IHN0cmluZywgdHJhbnNsYXRpb25BcGlWZXJzaW9uOiBUcmFuc2xhdGlvbkFwaVZlcnNpb24sIHZlbmRvcjogc3RyaW5nLCBkZXRlY3RlZExhbmd1YWdlOiBzdHJpbmcsIGluY2x1ZGVzVGVybWlub2xvZ3k6IGJvb2xlYW4pOiBTeXN0ZW0ge1xyXG4gICAgcmV0dXJuIHsgZG9tYWluLCBpZCwgbGFuZ3VhZ2VJZCwgc291cmNlTGFuZ3VhZ2UsIHRhcmdldExhbmd1YWdlLCB0cmFuc2xhdGlvbkFwaVZlcnNpb24sIHZlbmRvciwgZGV0ZWN0ZWRMYW5ndWFnZSwgaW5jbHVkZXNUZXJtaW5vbG9neSB9XHJcbiAgfVxyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1wYXJhbXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1wYXJhbXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0ZVBhcmFncmFwaFBhcmFtcyB7XHJcbiAgc3JjTGFuZzogc3RyaW5nO1xyXG4gIHRyZ0xhbmc6IHN0cmluZztcclxuICBkb21haW46IHN0cmluZztcclxuICB0ZXh0OiBzdHJpbmdbXTtcclxuICB0ZXJtQ29sbGVjdGlvbnM/OiBzdHJpbmdbXTtcclxufVxyXG4iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1wYXJhbXMubW9kZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvbW9kdWxlcy90bGQtdGV4dC9tb2RlbHMvdHJhbnNsYXRlLXBhcmFncmFwaC1wYXJhbXMubW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBpbnRlcmZhY2UgSVRyYW5zbGF0ZVBhcmFncmFwaFBhcmFtcyB7XHJcbiAgc3JjTGFuZz86IHN0cmluZztcclxuICB0cmdMYW5nOiBzdHJpbmc7XHJcbiAgZG9tYWluPzogc3RyaW5nO1xyXG4gIHRleHQ6IHN0cmluZ1tdO1xyXG4gIHRlcm1Db2xsZWN0aW9ucz86IHN0cmluZ1tdO1xyXG59XHJcbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS12Mi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLXYyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU3RydWN0dXJlIHJldHVybmVkIGZyb20gVjIgYXBpIGZvciB0ZXh0IHRyYW5zbGF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMntcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gICAgdHJhbnNsYXRpb25zOiB7dHJhbnNsYXRpb246c3RyaW5nfVtdO1xyXG59Il19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS12Mi5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLXYyLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcclxuICogU3RydWN0dXJlIHJldHVybmVkIGZyb20gVjIgYXBpIGZvciB0ZXh0IHRyYW5zbGF0aW9uLlxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBJVHJhbnNsYXRlUGFyYWdyYXBoUmVzcG9uc2VWMntcclxuICAgIGRvbWFpbjogc3RyaW5nO1xyXG4gICAgdHJhbnNsYXRpb25zOiB7dHJhbnNsYXRpb246c3RyaW5nfVtdO1xyXG4gICAgZGV0ZWN0ZWRMYW5ndWFnZT86IHN0cmluZztcclxufSJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGlnaGxpZ2h0VHJlZSB9IGZyb20gXCIuL2hpZ2hsaWdodC10cmVlLm1vZGVsXCI7XHJcblxyXG4vLyBTdHJ1Y3R1cmUgdGhhdCBuZWVkcyB0byBiZSByZXR1cm5lZCBmcm9tIGFwaSBzZXJ2aWNlIHdoZW4gdHJhbnNsYXRpbmcgdGV4dFxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB7XHJcbiAgICBzb3VyY2VUcmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICAgIHRhcmdldFRyZWU6IElIaWdobGlnaHRUcmVlO1xyXG4gICAgc3lzdGVtSWQ/OiBzdHJpbmc7XHJcbiAgICBjb3JyZWN0aW9ucz86IElIaWdobGlnaHRUcmVlW107XHJcbn0iXX0=
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRlLXBhcmFncmFwaC1yZXNwb25zZS5tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10ZXh0L21vZGVscy90cmFuc2xhdGUtcGFyYWdyYXBoLXJlc3BvbnNlLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJSGlnaGxpZ2h0VHJlZSB9IGZyb20gXCIuL2hpZ2hsaWdodC10cmVlLm1vZGVsXCI7XHJcblxyXG4vLyBTdHJ1Y3R1cmUgdGhhdCBuZWVkcyB0byBiZSByZXR1cm5lZCBmcm9tIGFwaSBzZXJ2aWNlIHdoZW4gdHJhbnNsYXRpbmcgdGV4dFxyXG5leHBvcnQgaW50ZXJmYWNlIElUcmFuc2xhdGVQYXJhZ3JhcGhSZXNwb25zZSB7XHJcbiAgICBzb3VyY2VUcmVlOiBJSGlnaGxpZ2h0VHJlZTtcclxuICAgIHRhcmdldFRyZWU6IElIaWdobGlnaHRUcmVlO1xyXG4gICAgc3lzdGVtSWQ/OiBzdHJpbmc7XHJcbiAgICBkZXRlY3RlZExhbmd1YWdlPzogc3RyaW5nO1xyXG4gICAgY29ycmVjdGlvbnM/OiBJSGlnaGxpZ2h0VHJlZVtdO1xyXG59Il19