@tilde-nlp/ngx-translate 5.0.38 → 5.0.39

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 (19) hide show
  1. package/esm2022/lib/i18n/en.mjs +5 -8
  2. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.mjs +4 -4
  3. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.mjs +11 -17
  4. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.mjs +6 -3
  5. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.mjs +6 -3
  6. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/translation-system-picker.component.mjs +2 -2
  7. package/fesm2022/tilde-nlp-ngx-translate.mjs +69 -87
  8. package/fesm2022/tilde-nlp-ngx-translate.mjs.map +1 -1
  9. package/lib/i18n/en.d.ts +4 -7
  10. package/lib/modules/tld-tooltip/translation-system-picker/dropdown-body/translation-system-picker-dropdown-body.component.d.ts +1 -1
  11. package/lib/modules/tld-tooltip/translation-system-picker/language-list/translation-system-picker-language-list.component.d.ts +1 -3
  12. package/lib/modules/tld-tooltip/translation-system-picker/system-list/translation-system-picker-system-list.component.d.ts +2 -1
  13. package/lib/modules/tld-tooltip/translation-system-picker/system-picker-button/translation-system-picker-button.component.d.ts +2 -1
  14. package/package.json +1 -1
  15. package/src/assets/webcomponent/tilde-translate-box.js +2 -2
  16. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/index.mjs +0 -2
  17. package/esm2022/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/language-detection.icon.mjs +0 -13
  18. package/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/index.d.ts +0 -1
  19. package/lib/modules/tld-tooltip/translation-system-picker/language-list/icons/language-detection.icon.d.ts +0 -1
@@ -460,6 +460,7 @@ export const i18n_en = {
460
460
  "LLM": {
461
461
  "SUMMARY": "Create summary",
462
462
  "REPHRASE": "Rephrase translation",
463
+ "MENU_TOOLTIP": "Rephrase or summarize translation",
463
464
  "REPHRASE_MODAL": {
464
465
  "TITLE": "Rephrase translation",
465
466
  "DESCRIPTION": "Rephrase text into a specified writing style, adapting the language and tone to match a given target style or voice.",
@@ -470,18 +471,14 @@ export const i18n_en = {
470
471
  "LIMIT": "<span class='text-m-semi-bold'>{{limit}}</span> rephrase left today. Need more? <a href='{{subscriptionUrl}}' target='_blank'>Upgrade subscription</a>",
471
472
  "WRITING_STYLES": {
472
473
  "TITLE": "Writing style",
473
- "TOOLTIP": "Formality: Use a low to medium level of formality. \nVocabulary: Optimal for simple and clear language, avoiding technical jargon. \nSentence Structure: Keep sentences simple to moderately complex. \nTone: Maintain a friendly and engaging tone.",
474
+ "TOOLTIP_GENERAL": "Formality: Use a low to medium level of formality. \nVocabulary: Optimal for simple and clear language, avoiding technical jargon. \nSentence Structure: Keep sentences simple to moderately complex. \nTone: Maintain a friendly and engaging tone.",
475
+ "TOOLTIP_PROFESSIONAL": "Formality: Use a medium to high level of formality. \nVocabulary: Utilize industry-specific terminology and jargon where appropriate. \nSentence Structure: Ensure sentences are clear and concise, with some complexity. \nTone: Maintain a professional, respectful, and straightforward tone.",
476
+ "TOOLTIP_ACADEMIC": "Formality: Use a high level of formality. \nVocabulary: Incorporate technical and subject-specific terminology. \nSentence Structure: Utilize complex sentence structures with a focus on clarity and precision. \nTone: Maintain an objective, analytical, and sometimes impersonal tone.",
474
477
  "SPECIFIC_STYLE": "{{style}} writing style",
475
478
  "GENERAL": "General",
476
479
  "PROFESSIONAL": "Professional",
477
480
  "ACADEMIC": "Academic"
478
481
  },
479
- "TOOLTIP": {
480
- "FORMALITY": "Use a low to medium level of formality.",
481
- "VOCABULARY": "Optimal for simple and clear language, avoiding technical jargon.",
482
- "SENTENCE_STRUCTURE": "Keep sentences simple to moderately complex.",
483
- "TONE": "Maintain a friendly and engaging tone."
484
- }
485
482
  },
486
483
  "SUMMARY_MODAL": {
487
484
  "TITLE": "Translation summary",
@@ -499,4 +496,4 @@ export const i18n_en = {
499
496
  }
500
497
  },
501
498
  };
502
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsaUNBQWlDLEVBQUUsNEJBQTRCO1FBQy9ELG1DQUFtQyxFQUFFLGNBQWM7UUFDbkQsa0NBQWtDLEVBQUUsVUFBVTtRQUM5Qyw2QkFBNkIsRUFBRSxrR0FBa0c7UUFDakksTUFBTSxFQUFFLE9BQU87UUFDZixxQkFBcUIsRUFBRSxtQkFBbUI7UUFDMUMsdUJBQXVCLEVBQUUsOEJBQThCO1FBQ3ZELHVCQUF1QixFQUFFLHlCQUF5QjtRQUNsRCw4QkFBOEIsRUFBRSwwRkFBMEY7UUFDMUgsb0JBQW9CLEVBQUUsNkxBQTZMO1FBQ25OLGdCQUFnQixFQUFFLHFGQUFxRjtRQUN2RyxnQkFBZ0IsRUFBRSx3Q0FBd0M7UUFDMUQsMEJBQTBCLEVBQUUseUJB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OG5fZW4gPSB7XHJcbiAgXCJURVJNX1BPUlRBTF9OQU1FXCI6IFwiVGlsZGUgdGVybVwiLFxyXG4gIFwiQVBQX05BTUVcIjogXCJUaWxkZSBNVFwiLFxyXG4gIFwiVExEX1RSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJFU1RfTk1UXCI6IFwiUHJvdWQgd2lubmVyIG9mIHRoZSBiZXN0IG1hY2hpbmUgdHJhbnNsYXRpb24gdGVjaG5vbG9neSBhdCBXTVQgQ29tcGV0aXRpb24gZm9yIHRocmVlIHllYXJzIGluIGEgcm93LlwiLFxyXG4gICAgXCJCRVNUX05NVF9NT1JFXCI6IFwiTGVhcm4gbW9yZVwiLFxyXG4gICAgXCJDQU5DRUxfVFJBTlNMQVRJT05cIjogXCJDYW5jZWxcIixcclxuICAgIFwiRElDVElPTkFSWV9FWEFNUExFU1wiOiBcImV4YW1wbGVzXCIsXHJcbiAgICBcIkRPV05MT0FEX1RSQU5TTEFURURcIjogXCJEb3dubG9hZFwiLFxyXG4gICAgXCJET01BSU5TX0FSSUFfTEFCRUxcIjogXCJEb21haW5zXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFXCI6IFwiRG93bmxvYWQgY29udmVydGVkIHNvdXJjZSBQREZcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSEVMUFwiOiBcIlBERiBjb252ZXJzaW9uIG1heSBjYXVzZSBmb3JtYXR0aW5nIGVycm9ycyBvciB0ZXh0IGRpc3RvcnRpb24uIFBsZWFzZSBjaGVjayB0aGUgY29udmVydGVkIGZpbGUgYW5kIGZpeCB0aGUgZXJyb3JzIGJlZm9yZSByZS11cGxvYWRpbmcgdGhlIGZpbGUgZm9yIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0lNQUdFXCI6IFwiRG93bmxvYWQgY29udmVydGVkIHNvdXJjZSBpbWFnZVwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRV9IRUxQXCI6IFwiSW1hZ2UgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19JTklUSUFMSVpJTkdcIjogXCJJbml0aWFsaXppbmcgdHJhbnNsYXRpb24gcHJvY2Vzcy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19FWFRSQUNUSU5HXCI6IFwiRXh0cmFjdGluZyB0cmFuc2xhdGFibGUgY29udGVudC4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19XQUlUSU5HXCI6IFwiU3RhcnRpbmcgdHJhbnNsYXRvci4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19UUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1NBVklOR1wiOiBcIlNhdmluZyB0cmFuc2xhdGlvbi4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19RVUVVSU5HXCI6IFwiVHJhbnNsYXRpb24gaXMgc3RhcnRpbmcuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVVBMT0FESU5HXCI6IFwiVXBsb2FkaW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1VQTE9BREVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiRklMRV9UQVJHRVRfUFJFVklFV19NRVNTQUdFXCI6IFwiVGhpcyBpcyBhIHByZXZpZXcgb2YgdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQsIHBsZWFzZSBkb3dubG9hZCB0byByZWNlaXZlIGEgY29tcGxldGUgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIkZST01cIjogXCJGcm9tOlwiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUl9MSU5LXCI6IFwiU2VlIGhvdyB0byBmaXggaXRcIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBpbWFnZSBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJQUkVQQVJJTkdfVFJBTlNMQVRJT05cIjogXCJUcmFuc2xhdGlvbiBpcyBzdGFydGluZ1wiLFxyXG4gICAgXCJSRUdJU1RFUkVEX0ZPUk1BVFNfTE9HR0VEX0lOXCI6IFwiUmVnaXN0ZXJlZCB1c2VycyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHMgdHJhbnNsYXRpb246IHt7Zm9ybWF0c319LlwiLFxyXG4gICAgXCJSRUdJU1RFUkVEX0ZPUk1BVFNcIjogXCJSZWdpc3RlcmVkIHVzZXJzIGhhdmUgYWNjZXNzIHRvIHRoZSBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0cyB0cmFuc2xhdGlvbjoge3tmb3JtYXRzfX0uIFJlcXVlc3QgeW91ciBhY2Nlc3MgPGEgY2xhc3M9XFxcImFjY2VudC1jb2xvclxcXCIgdGFyZ2V0PVxcXCJibGFua1xcXCIgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fVxcXCI+aGVyZTwvYT4uXCIsXHJcbiAgICBcIlNPVVJDRV9GT1JNQVRTXCI6IFwiU2VjdXJlIHB1YmxpYyB0cmFuc2xhdGlvbiBzZXJ2aWNlIHN1cHBvcnRzIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzOiB7e2Zvcm1hdHN9fTtcIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBcIjogXCJUeXBlIHRleHQgb3IgaW5zZXJ0IGxpbmsgdG8gdHJhbnNsYXRlLlwiLFxyXG4gICAgXCJTT1VSQ0VfVE9PTFRJUF9PTkxZX1RFWFRcIjogXCJUeXBlIHRleHQgdG8gdHJhbnNsYXRlLlwiLFxyXG4gICAgXCJTT1VSQ0VfVE9PTFRJUF9TRU5TSVRJVkVfSU5GT1wiOiBcIkRvIG5vdCB1c2Uge3thcHBOYW1lfX0gdG8gdHJhbnNsYXRlIGNvbmZpZGVudGlhbCBvciBjbGFzc2lmaWVkIGluZm9ybWF0aW9uIG9yIHRleHRzIHRoYXQgY29udGFpbiBzcGVjaWFsIGNhdGVnb3JpZXMgb2YgcGVyc29uYWwgZGF0YSwgc3VjaCBhcyBtZWRpY2FsIGRhdGFcIixcclxuICAgIFwiVEFSR0VUX0RFU0NSSVBUSU9OXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBhbGxvd3MgdG8gdW5kZXJzdGFuZCB0aGUgbWVhbmluZyBvZiBhIHNvdXJjZSB0ZXh0LCBidXQgY2Fubm90IHN1YnN0aXR1dGUgYSBodW1hbiB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9cIjogXCJUbzpcIixcclxuICAgIFwiVEVYVF9DT1BJRURcIjogXCJUcmFuc2xhdGlvbiBjb3BpZWRcIixcclxuICAgIFwiU1VHR0VTVF9CVVRUT05cIjogXCJTdWdnZXN0IHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlNVR0dFU1RfT1JJR0lOQUxfTEFCRUxcIjogXCJPcmlnaW5hbCBzZW50ZW5jZVwiLFxyXG4gICAgXCJTVUdHRVNUX1NVQk1JVF9CVVRUT05cIjogXCJDb250cmlidXRlXCIsXHJcbiAgICBcIlNVR0dFU1RfVFJBTlNMQVRJT05fTEFCRUxcIjogXCJUcmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX1VTQUdFX0lORk9cIjogXCJZb3VyIGFub255bWl6ZWQgdHJhbnNsYXRpb24gc3VnZ2VzdGlvbiB3aWxsIGJlIHVzZWQgdG8gaW1wcm92ZSB0aGUgcXVhbGl0eSBvZiBtYWNoaW5lIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJUT09MVElQX0FDVElPTlwiOiBcIlRyYW5zbGF0ZVwiLFxyXG4gICAgXCJWRU5ET1JTX0FSSUFfTEFCRUxcIjogXCJQcm92aWRlcnNcIixcclxuICAgIFwiV09SRF9UWVBFX0FESkVDVElWRVwiOiBcImFkamVjdGl2ZVwiLFxyXG4gICAgXCJXT1JEX1RZUEVfTk9VTlwiOiBcIm5vdW5cIixcclxuICAgIFwiV09SRF9UWVBFX1ZFUkJcIjogXCJ2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BRFZFUkJcIjogXCJhZHZlcmJcIixcclxuICAgIFwiV09SRF9UWVBFX0NPTkpVTkNUSU9OXCI6IFwiY29uanVuY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX0lOVEVSSkVDVElPTlwiOiBcImludGVyamVjdGlvblwiLFxyXG4gICAgXCJXT1JEX1RZUEVfUFJPTk9VTlwiOiBcInByb25vdW5cIixcclxuICAgIFwiRE9DX1dPUkRfQ05UX0xJTUlUX01TR19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGxpbWl0XCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCAxMjUwIHdvcmRzIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiRE9DX1dPUkRfQ05UX0xJTUlUX01TR19TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIGZ1bGwgZmlsZXMuIDxhIGhyZWY9XFxcInt7cHJpY2luZ1VybH19XFxcIiB0YXJnZXQ9J19ibGFuayc+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1RJVExFXCI6IFwiTm8gdHJhbnNsYXRpb24gZW5naW5lcyB3ZXJlIGxvYWRlZFwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRFwiOiBcIkZhaWxlZCB0byBsb2FkIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZXMuXCIsXHJcbiAgICBcIkVSUk9SX05PX1NZU1RFTVNfTE9BREVEX1NVUFBPUlRcIjogXCIgUGxlYXNlIHJlbG9hZCB0aGUgcGFnZSBvciBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJQREZfUEFHRV9MSU1JVF9NU0dcIjogXCJPbmx5IHRoZSBmaXJzdCBwYWdlIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgZnVsbCBQREYgZmlsZXMuIDxhIGhyZWY9XFxcInt7cHJpY2luZ1VybH19XFxcIiB0YXJnZXQ9J19ibGFuayc+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICBcIkNMRUFSX1NPVVJDRV9UT09MVElQXCI6IFwiQ2xlYXIgdGV4dFwiXHJcbiAgfSxcclxuICBcIk1VTFRJUExFX0ZJTEVTXCI6IHtcclxuICAgIFwiQVBQRU5EXCI6IFwiQWRkIGZpbGVzXCIsXHJcbiAgICBcIkNMRUFSX0FMTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJET1dOTE9BRFwiOiBcIkRvd25sb2FkXCIsXHJcbiAgICBcIlNUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmdcIixcclxuICAgIFwiU1RBVFVTU19XQUlUSU5HXCI6IFwiU3RhcnRpbmcgdHJhbnNsYXRvclwiLFxyXG4gICAgXCJTVEFUVVNTX1RSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcge3twZXJjZW50fX0lXCIsXHJcbiAgICBcIlNUQVRVU1NfU0FWSU5HXCI6IFwiU2F2aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfQ09NUExFVEVEXCI6IFwiQ29tcGxldGVkXCIsXHJcbiAgICBcIlNUQVRVU1NfRVJST1JcIjogXCJFcnJvclwiLFxyXG4gICAgXCJTVEFUVVNTX1FVRVVJTkdcIjogXCJRdWV1aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfTk9UX1NUQVJURURcIjogXCJVcGxvYWRlZFwiLFxyXG4gICAgXCJTVEFUVVNTX1VQTE9BRElOR1wiOiBcIlVwbG9hZGluZy4uLlwiLFxyXG4gICAgXCJTVEFUVVNTX1VQTE9BREVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiVElUTEVfRklMRV9OQU1FXCI6IFwiRmlsZVwiLFxyXG4gICAgXCJUSVRMRV9TVEFUVVNTXCI6IFwiU3RhdHVzXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX1NUQVRVU1NfTEFCRUxcIjogXCJTdGF0dXNcIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJcIjogXCJQREYgZG9jdW1lbnRzIG1heSBoYXZlIGZvcm1hdHRpbmcgb3IgdHJhbnNsYXRpb24gZXJyb3JzLlwiLFxyXG4gICAgXCJQREZfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBwZGYgY29udmVyc2lvbi5cIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUlwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi5cIixcclxuICAgIFwiSU1BR0VfRElTQ0xBSU1FUl9MSU5LXCI6IFwiUmVhZCBhYm91dCBpbWFnZSBjb252ZXJzaW9uLlwiLFxyXG4gICAgXCJTQ1JFRU5fUkVBREVSX0FOTk9VTkNFTUVOVFwiOiBcInt7dHJhbnNsYXRlZH19IG91dCBvZiB7e3RvdGFsfX0gZmlsZXMgYXJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIlJFTU9WRV9GSUxFX1RPT0xUSVBcIjogXCJDbGVhciBmaWxlXCJcclxuICB9LFxyXG4gIFwiRVJST1JTXCI6IHtcclxuICAgIFwiRVJST1JfREVGQVVMVF9USVRMRVwiOiBcIlVuZXhwZWN0ZWQgZXJyb3JcIixcclxuICAgIFwiRVJST1JfREVGQVVMVFwiOiBcIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVSUk9SX0RFRkFVTFRfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gbGltaXRcIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIXCI6IFwiT25seSB7e21heENoYXJMZW5ndGh9fS97e3RvdGFsU3ltYm9sc319IGNoYXJhY3RlcnMgd2lsbCBiZSB0cmFuc2xhdGVkLlwiLFxyXG4gICAgXCJNQVhfQ0hBUl9MRU5HVEhfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIGZvciB1bmxpbWl0ZWQgdGV4dCB0cmFuc2xhdGlvbi4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJNQVhfTlVNQkVSX09GX0ZJTEVTX1RJVExFXCI6IFwiVXBsb2FkIGxpbWl0XCIsXHJcbiAgICBcIk1BWF9OVU1CRVJfT0ZfRklMRVNcIjogXCJPbmx5IHt7bGltaXR9fSBmaWxlcyBjYW4gYmUgdHJhbnNsYXRlZCBhdCBvbmNlLlwiLFxyXG4gICAgXCJJTkNSRUFTRV9NQVhfTlVNQkVSX09GX0ZJTEVTX1RJVExFXCI6IFwiVXBsb2FkIGxpbWl0XCIsXHJcbiAgICBcIklOQ1JFQVNFX01BWF9OVU1CRVJfT0ZfRklMRVNcIjogXCJPbmx5IDEgZmlsZSBjYW4gYmUgdHJhbnNsYXRlZCBhdCBvbmNlLiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byBpbmNyZWFzZSBsaW1pdC4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJGSUxFX0FMUkVBRFlfQURERURfVElUTEVcIjogXCJGaWxlIGhhcyBhbHJlYWR5IGJlZW4gYWRkZWRcIixcclxuICAgIFwiRklMRV9BTFJFQURZX0FEREVEXCI6IFwiRmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkLlwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxX1RJVExFXCI6IFwiVW5hdXRob3JpemVkXCIsXHJcbiAgICBcIlVBTlVUSE9SSVpFRF80MDFcIjogXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIHVzZSBtYWNoaW5lIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxX1NVUFBPUlRcIjogXCIgUGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz4gc3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9GSUxFX1RZUEVcIjogXCJVbmtub3duIGZpbGUgdHlwZS5cIixcclxuICAgIFwiRV9DQU5OT1RfUkVBRF9GSUxFX1RJVExFXCI6IFwiVW5hYmxlIHRvIHJlYWQgZmlsZVwiLFxyXG4gICAgXCJFX0NBTk5PVF9SRUFEX0ZJTEVcIjogXCJUaGUgZmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBpcyBjb3JydXB0ZWQgYW5kIGNvdWxkbid0IGJlIHRyYW5zbGF0ZWQuIENoZWNrIHRoZSBmaWxlIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OXCI6IFwiRXJyb3Igb2NjdXJyZWQgd2hpbGUgdHJhbnNsYXRpbmcuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfRkFJTEVEX0lOX1RSQU5TTEFUSU9OX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFX0ZPUk1BVF9UUkFDS19DSEFOR0VTX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkLCBiZWNhdXNlIOKAmHRyYWNrIGNoYW5nZXPigJkgaXMgdHVybmVkIG9uXCIsXHJcbiAgICBcIkVfRk9STUFUX1RSQUNLX0NIQU5HRVNcIjogXCJDaGFuZ2VzIG11c3QgZmlyc3QgYmUgYWNjZXB0ZWQgb3Ig4oCYdHJhY2sgY2hhbmdlc+KAmSB0dXJuZWQgb2ZmIGJlZm9yZSB0cmFuc2xhdGluZyBPZmZpY2UgZmlsZXMuXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9FUlJPUl9USVRMRVwiOiBcIlVua25vd24gZXJyb3JcIixcclxuICAgIFwiRV9VTktOT1dOX0VSUk9SXCI6IFwiQW4gdW5rbm93biBlcnJvciBvY2N1cnJlZC5cIixcclxuICAgIFwiRV9VTkFVVEhPUklaRURfVElUTEVcIjogXCJVbmF1dGhvcml6ZWRcIixcclxuICAgIFwiRV9VTkFVVEhPUklaRURcIjogXCJEb2N1bWVudCB0cmFuc2xhdGlvbiB3YXMgZGVuaWVkLlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURV9USVRMRVwiOiBcIkZhaWxlZCB0byBjcmVhdGUgYSBnbG9zc2FyeVwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURVwiOiBcIkZhaWxlZCB0byBjcmVhdGUgYSBuZXcgZ2xvc3NhcnkuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fQ1JFQVRFX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkNPTExFQ1RJT05fSU1QT1JUX1RJVExFXCI6IFwiRmFpbGVkIHRvIGF0dGFjaCB0aGUgZ2xvc3NhcnlcIixcclxuICAgIFwiQ09MTEVDVElPTl9JTVBPUlRcIjogXCJGYWlsZWQgdG8gYXR0YWNoIHRoZSB0ZXJtIGNvbGxlY3Rpb24gd2l0aCBJRDoge3t0ZXJtSWR9fSB0byB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUuIFBsZWFzZSB0cnkgYWdhaW4uXCIsXHJcbiAgICBcIkVfMTFcIjogXCJEYWlseSB0cmFuc2xhdGlvbiBsaW1pdCBoYXMgYmVlbiByZWFjaGVkLlwiLFxyXG4gICAgXCJFXzExX1NVUFBPUlRcIjogXCIgVG8gaW5jcmVhc2UgdGhlIGRhaWx5IGxpbWl0LCBwbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzEyX1RJVExFXCI6IFwiVGV4dCBzaXplIGxpbWl0XCIsXHJcbiAgICBcIkVfMTJcIjogXCJUZXh0IHNpemUgbGltaXQgcmVhY2hlZC4gU2VuZCBsZXNzIHRleHQgaW4gdGhlIHJlcXVlc3QuXCIsXHJcbiAgICBcIkVfMTJfU1VQUE9SVFwiOiBcIiBUbyBpbmNyZWFzZSB0aGUgdGV4dCBzaXplIGxpbWl0LCBwbGVhc2UgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzIxXCI6IFwiVGhlIHRyYW5zbGF0aW9uIGVuZ2luZSBpcyBzdGFydGluZyB1cCwgdGhpcyBtYXkgdGFrZSBhIG1vbWVudCFcIixcclxuICAgIFwiRV8yMl9USVRMRVwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lIG5vdCBmb3VuZFwiLFxyXG4gICAgXCJFXzIyXCI6IFwiTWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmUgbm90IGZvdW5kLlwiLFxyXG4gICAgXCJFXzIyX1NVUFBPUlRcIjogXCIgUGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV8yM1wiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lIGlzIG5vdCBzdGFydGVkLlwiLFxyXG4gICAgXCJFXzIzX1NVUFBPUlRcIjogXCIgQ29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFXzQxXCI6IFwiVW5rbm93biB0ZXJtIGNvcnB1cyBJRCBwcm92aWRlZC4gVGVybSBjb3JwdXMgbXVzdCBiZSBsaW5rZWQgdG8gdGhlIG1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lXCIsXHJcbiAgICBcIkVfNTA0XCI6IFwiVHJhbnNsYXRpb24gaGFzIHRpbWVkIG91dC4gVHJ5IGFnYWluIGxhdGVyLlwiLFxyXG4gICAgXCJFXzUwNF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIHRpbWVvdXRcIixcclxuICAgIFwiRV80MDQyMDFcIjogXCJFbmdpbmUgdGVybSBjb2xsZWN0aW9uIG5vdCBmb3VuZFwiLFxyXG4gICAgXCJFXzQxMzEwMl9USVRMRVwiOiBcIlVwbG9hZGluZyBmaWxlIGVycm9yXCIsXHJcbiAgICBcIkVfNDEzMTAyXCI6IFwiVXBsb2FkZWQgZmlsZSBpcyB0b28gbGFyZ2VcIixcclxuICAgIFwiVFJBTlNMQVRJT05fRkFJTEVEX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRFwiOiBcIkFuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQuXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJGSUxFX1RSQU5TTEFUSU9OX0xJTUlUU1wiOiB7XHJcbiAgICAgIFwiRV80MjkwMDFfVElUTEVcIjogXCJGaWxlIHRyYW5zbGF0aW9uIGxpbWl0IHJlYWNoZWRcIixcclxuICAgICAgXCJFXzQyOTAwMVwiOiBcIllvdSBoYXZlIHJlYWNoZWQgeW91ciBtb250aGx5IGxpbWl0IG9mIHt7cXVvdGFGaWxlTGltaXR9fSBmaWxlcyB0cmFuc2xhdGVkLiA8YSBocmVmPSd7e3ByaWNpbmdVcmx9fScgdGFyZ2V0PSdfYmxhbmsnPlVwZ3JhZGUgcGxhbjwvYT4gdG8gY29udGludWUgdHJhbnNsYXRpbmcgZmlsZXMuXCJcclxuICAgIH0sXHJcbiAgICBcIkZJTEVfVFJBTlNMQVRJT05fU1VCU1RBVFVTXCI6IHtcclxuICAgICAgXCJCQURfRklMRV9FUlJPUl9USVRMRVwiOiBcIkZhaWxlZCB0byB0cmFuc2xhdGUgdGhlIGZpbGVcIixcclxuICAgICAgXCJCQURfRklMRV9FUlJPUlwiOiBcIlRoZSBmaWxlIGlzIGNvcnJ1cHRlZCBhbmQgY291bGRuJ3QgYmUgdHJhbnNsYXRlZC4gQ2hlY2sgdGhlIGZpbGUgYW5kIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJOT19URVhUX0VYVFJBQ1RFRF9FUlJPUl9USVRMRVwiOiBcIkZhaWxlZCB0byBleHRyYWN0IGFueSB0ZXh0XCIsXHJcbiAgICAgIFwiTk9fVEVYVF9FWFRSQUNURURfRVJST1JcIjogXCJUaGUgZmlsZSBtYXkgYmUgZW1wdHkuIENoZWNrIHRoZSBmaWxlIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiVFJBQ0tfQ0hBTkdFU19FTkFCTEVEX0VSUk9SX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gZmFpbGVkLCBiZWNhdXNlIOKAmHRyYWNrIGNoYW5nZXPigJkgaXMgdHVybmVkIG9uXCIsXHJcbiAgICAgIFwiVFJBQ0tfQ0hBTkdFU19FTkFCTEVEX0VSUk9SXCI6IFwiQ2hhbmdlcyBtdXN0IGZpcnN0IGJlIGFjY2VwdGVkIG9yIOKAmHRyYWNrIGNoYW5nZXPigJkgdHVybmVkIG9mZiBiZWZvcmUgdHJhbnNsYXRpbmcgT2ZmaWNlIGZpbGVzLlwiLFxyXG4gICAgICBcIlVOS05PV05fRklMRV9UWVBFX0VSUk9SX1RJVExFXCI6IFwiVW5rbm93biBmaWxlIHR5cGVcIixcclxuICAgICAgXCJVTktOT1dOX0ZJTEVfVFlQRV9FUlJPUlwiOiBcIkZpbGUgdHlwZSBub3QgcmVjb2duaXplZC4gVGhlIGZpbGUgZXh0ZW5zaW9uIG1heSBiZSBpbmNvcnJlY3QsIG9yIHRoZSBmaWxlIG1heSBiZSBjb3JydXB0ZWQuXCJcclxuICAgIH0sXHJcbiAgICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgICAgXCJGSUxFX1VQTE9BRF9FTVBUWV9USVRMRVwiOiBcIlRoZSBmaWxlIGlzIGVtcHR5XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfRU1QVFlcIjogXCJUaGUgdXBsb2FkZWQgZmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBpcyBlbXB0eS4gU2VsZWN0IGEgZmlsZSB3aXRoIGNvbnRlbnQuXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfTUFYX1NJWkVfVElUTEVcIjogXCJGaWxlIHNpemUgbGltaXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9NQVhfU0laRVwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGlzIHRvbyBiaWcuIE1heGltdW0gc2l6ZSB7e21heFNpemVNQn19TUJcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfVElUTEVcIjogXCJVbnN1cHBvcnRlZCBmaWxlIGZvcm1hdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVFwiOiBcIlRoZSB1cGxvYWRlZCBmaWxlIFxcXCJ7e2ZpbGVOYW1lfX1cXFwiIGZvcm1hdCBpcyBub3Qgc3VwcG9ydGVkLiBUcmFuc2xhdGlvbiBpcyBzdXBwb3J0ZWQgZm9yIHRoZXNlIGRvY3VtZW50IGZvcm1hdHM6IHt7Zm9ybWF0c319LlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9SRUdJU1RFUl9USVRMRVwiOiBcIlVuc3VwcG9ydGVkIGZpbGUgZm9ybWF0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1JFR0lTVEVSXCI6IFwiWW91IG5lZWQgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBcXFwie3tmaWxlTmFtZX19XFxcIiBmaWxlLiA8YSBocmVmPVxcXCJ7e3JlZ2lzdGVyTGlua319P3t7cXVlcnlTdHJpbmd9fVxcXCI+c3RhcnQgd2l0aCBhIGZyZWUgdHJpYWw8L2E+XCIsXHJcbiAgICAgIFwiRV80MDRfVElUTEVcIjogXCJGaWxlIG5vdCBmb3VuZFwiLFxyXG4gICAgICBcIkVfNDA0XCI6IFwiVGhlIHJlcXVlc3RlZCBmaWxlIGRvZXNuJ3QgZXhpc3RcIixcclxuICAgICAgXCJFXzQwNF9SRU1PVkVfVElUTEVcIjogXCJGYWlsZWQgdG8gZGVsZXRlIHRoZSBmaWxlXCIsXHJcbiAgICAgIFwiRV80MDRfUkVNT1ZFXCI6IFwiRmlsZSBoYXMgYWxyZWFkeSBiZWVuIGRlbGV0ZWRcIlxyXG4gICAgfSxcclxuICAgIFwiQVVESU9cIjoge1xyXG4gICAgICBcIk5PX1NQRUVDSF9USVRMRVwiOiBcIk5vIHNwZWVjaFwiLFxyXG4gICAgICBcIk5PX1NQRUVDSFwiOiBcIllvdXIgcmVjb3JkaW5nIHdhcyBzdG9wcGVkLiBXZSBjb3VsZG4ndCBoZWFyIHlvdS5cIixcclxuICAgICAgXCJNQVhfVElNRV9FWENFRURFRF9USVRMRVwiOiBcIlNwZWVjaCBsaW1pdFwiLFxyXG4gICAgICBcIk1BWF9USU1FX0VYQ0VFREVEXCI6IFwiWW91ciByZWNvcmRpbmcgd2FzIHN0b3BwZWQuIFNwZWVjaCBpbnB1dCBpcyBsaW1pdGVkIHRvIHt7dGltZVN0cmluZ319LlwiLFxyXG4gICAgICBcIk1JQ19OT1RfQUxMT1dFRF9USVRMRVwiOiBcIk1pY3JvcGhvbmUgYWNjZXNzIGRlbmllZFwiLFxyXG4gICAgICBcIk1JQ19OT1RfQUxMT1dFRFwiOiBcIllvdSBoYXZlIGRlbmllZCBhY2Nlc3MgdG8gdGhlIG1pY3JvcGhvbmUuIENoYW5nZSBwZXJtaXNzaW9ucyBpbiBicm93c2VyJ3Mgc2V0dGluZ3MuXCIsXHJcbiAgICAgIFwiTUFYX1NJWkVfRVhDRUVERURfVElUTEVcIjogXCJTcGVlY2ggbGltaXRcIixcclxuICAgICAgXCJNQVhfU0laRV9FWENFRURFRFwiOiBcIllvdXIgcmVjb3JkaW5nIHdhcyBzdG9wcGVkIGFuZCBzZW50IHRvIHByb2Nlc3NpbmcuIFNwZWVjaCBpbnB1dCBpcyBsaW1pdGVkIHRvICh7e21heFNpemVNYn19TUIpIHNpemUuXCIsXHJcbiAgICAgIFwiQ0FOVF9TVEFSVF9SRUNPUkRJTkdfVElUTEVcIjogXCJGYWlsZWQgdG8gc3RhcnQgcmVjb3JkaW5nXCIsXHJcbiAgICAgIFwiQ0FOVF9TVEFSVF9SRUNPUkRJTkdcIjogXCJVbmFibGUgdG8gc3RhcnQgcmVjb3JkaW5nLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIk5PX1RFWFRfUkVDT0dOSVpFRF9UaXRsZVwiOiBcIk5vIHNwZWVjaCByZWNvZ25pemVkXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9SRUNPR05JWkVEXCI6IFwiTm8gc3BlZWNoIGNvdWxkIGJlIHJlY29nbml6ZWQuIENoZWNrIHlvdXIgbWljcm9waG9uZSBhbmQgdHJ5IGFnYWluLlwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBcIkxBTkdVQUdFU1wiOiB7XHJcbiAgICBcIkFVVE9cIjogXCJEZXRlY3QgbGFuZ3VhZ2VcIixcclxuICAgIFwiQVJcIjogXCJBcmFiaWNcIixcclxuICAgIFwiTFZcIjogXCJMYXR2aWFuXCIsXHJcbiAgICBcIkVUXCI6IFwiRXN0b25pYW5cIixcclxuICAgIFwiREFcIjogXCJEYW5pc2hcIixcclxuICAgIFwiRklcIjogXCJGaW5uaXNoXCIsXHJcbiAgICBcIklTXCI6IFwiSWNlbGFuZGljXCIsXHJcbiAgICBcIkxUXCI6IFwiTGl0aHVhbmlhblwiLFxyXG4gICAgXCJTVlwiOiBcIlN3ZWRpc2hcIixcclxuICAgIFwiQkVcIjogXCJCZWxvcnVzc2lhblwiLFxyXG4gICAgXCJCR1wiOiBcIkJ1bGdhcmlhblwiLFxyXG4gICAgXCJDU1wiOiBcIkN6ZWNoXCIsXHJcbiAgICBcIkhVXCI6IFwiSHVuZ2FyaWFuXCIsXHJcbiAgICBcIlJVXCI6IFwiUnVzc2lhblwiLFxyXG4gICAgXCJNT1wiOiBcIk1vbGRhdmlhblwiLFxyXG4gICAgXCJQTFwiOiBcIlBvbGlzaFwiLFxyXG4gICAgXCJTS1wiOiBcIlNsb3Zha1wiLFxyXG4gICAgXCJVS1wiOiBcIlVrcmFpbmlhblwiLFxyXG4gICAgXCJOTFwiOiBcIkR1dGNoXCIsXHJcbiAgICBcIkVOXCI6IFwiRW5nbGlzaFwiLFxyXG4gICAgXCJGUlwiOiBcIkZyZW5jaFwiLFxyXG4gICAgXCJERVwiOiBcIkdlcm1hblwiLFxyXG4gICAgXCJHQVwiOiBcIklyaXNoXCIsXHJcbiAgICBcIkVMXCI6IFwiR3JlZWtcIixcclxuICAgIFwiSVRcIjogXCJJdGFsaWFuXCIsXHJcbiAgICBcIk1UXCI6IFwiTWFsdGVzZVwiLFxyXG4gICAgXCJQVFwiOiBcIlBvcnR1Z3Vlc2VcIixcclxuICAgIFwiU1JcIjogXCJTZXJiaWFuXCIsXHJcbiAgICBcIlNMXCI6IFwiU2xvdmVuaWFuXCIsXHJcbiAgICBcIkVTXCI6IFwiU3BhbmlzaFwiLFxyXG4gICAgXCJaSFwiOiBcIkNoaW5lc2VcIixcclxuICAgIFwiSkFcIjogXCJKYXBhbmVzZVwiLFxyXG4gICAgXCJLT1wiOiBcIktvcmVhblwiLFxyXG4gICAgXCJUUlwiOiBcIlR1cmtpc2hcIixcclxuICAgIFwiSFJcIjogXCJDcm9hdGlhblwiLFxyXG4gICAgXCJST1wiOiBcIlJvbWFuaWFuXCIsXHJcbiAgICBcIlVaXCI6IFwiVXpiZWtcIixcclxuICAgIFwiSURcIjogXCJJbmRvbmVzaWFuXCJcclxuICB9LFxyXG4gIFwiQVJJQV9MQUJFTFNcIjoge1xyXG4gICAgXCJDTE9TRV9CVVRUT05cIjogXCJDbGVhclwiLFxyXG4gICAgXCJDTEVBUl9OT1RJRklDQVRJT05cIjogXCJDbG9zZSBhbGVydFwiLFxyXG4gICAgXCJDTEVBUl9TT1VSQ0VcIjogXCJDbGVhciBlbnRlcmVkIHRleHRcIixcclxuICAgIFwiQ0xPU0VfRElBTE9HXCI6IFwiQ2xvc2UgZGlhbG9nXCIsXHJcbiAgICBcIkNMRUFSX0ZJTEVTXCI6IFwiQ2xlYXIgdXBsb2FkZWQgZmlsZXNcIixcclxuICAgIFwiU0hPV19FWFRFTlNJT05TXCI6IFwiU2hvdyBvdGhlciBkb3dubG9hZCBvcHRpb25zXCIsXHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJSRUZSRVNIXCI6IFwiUmVmcmVzaCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPUEVOX0lOX05FV1wiOiBcIk9wZW4gaW4gbmV3IHRhYlwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIk9USEVSX0xBTkdVQUdFU19UUklHR0VSXCI6IFwiU2hvdyBvdGhlciBsYW5ndWFnZXNcIlxyXG4gIH0sXHJcbiAgXCJUT09MVElQU1wiOiB7XHJcbiAgICBcIkNPUFlcIjogXCJDb3B5IHRvIGNsaXBib2FyZFwiLFxyXG4gICAgXCJSRUZSRVNIXCI6IFwiUmVmcmVzaCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTV0FQX0xBTkdVQUdFU1wiOiBcIlN3YXAgbGFuZ3VhZ2VzXCJcclxuICB9LFxyXG4gIFwiUERGX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiUERGIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzFcIjogXCJXaGVuIGEgLnBkZiBmaWxlIGlzIHVwbG9hZGVkIGZvciB0cmFuc2xhdGlvbiBpdCBpcyBjb252ZXJ0ZWQgaW50byBhIHRyYW5zbGF0YWJsZSBmb3JtYXQuIEJvdGggc2Nhbm5lZCBhbmQgbmF0aXZlIC5wZGZzIGFyZSBzdXBwb3J0ZWQuIFRyYW5zbGF0aW9ucyBjYW4gYmUgZG93bmxvYWRlZCBpbiAuZG9jeCBmb3JtYXQgYW5kIHdpbGwgcmV0YWluIHRoZSBiYXNpYyBmb3JtYXR0aW5nLiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMlwiOiBcIkFzIGNvbnZlcnNpb24gdGFrZXMgdGltZSwgdG8gc3BlZWQgdGhpbmdzIHVwIHNwbGl0IHlvdXIgLnBkZnMgYW5kIGRlbGV0ZSB0aGUgcGFnZXMgd2l0aCBubyB0cmFuc2xhdGFibGUgaW5mb3JtYXRpb24uIEZhY3RvcnMgbGlrZSB0aGUgbnVtYmVyIG9mIHBhZ2VzLCBxdWFsaXR5IGFuZCB0ZXh0IGRlbnNpdHkgYWZmZWN0IHRoZSBwcm9jZXNzaW5nIHRpbWUuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzNcIjogXCJUbyBpbXByb3ZlIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlLCB3ZSByZWNvbW1lbmQgdG8gZG93bmxvYWQgdGhlIGNvbnZlcnRlZCBkb2N1bWVudCBpbiB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgYW5kIGZpeCBpdCBtYW51YWxseSBiZWZvcmUgcmUtdXBsb2FkaW5nIGZvciB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiSU1BR0VfQUxUXzFcIjogXCJTb3VyY2UgUERGIGRvd25sb2FkIGV4YW1wbGVcIixcclxuICAgIFwiVElUTEVfMlwiOiBcIlBERiBjb252ZXJzaW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzFcIjogXCJUaGUgZG9jdW1lbnQgaXMgYW5hbHlzZWQgYW5kIGl0cyBjb250ZW50IGlzIHNwbGl0IGluIHRleHQsIHRhYmxlIGFuZCBpbWFnZS9iYWNrZ3JvdW5kIGltYWdlIGFyZWFzLiBUaGV5IGFyZSBhbmFseXNlZCBmdXJ0aGVyIHRvIGRldGVybWluZSB3aGljaCBjb250ZW50IHNob3VsZCBiZSByZWNvZ25pemVkIGFzIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzJcIjogXCJUZXh0dWFsIGRhdGEgYXJlIGFjcXVpcmVkIGJ5IG1lYW5zIG9mIE9DUiBvciBvcHRpY2FsIGNoYXJhY3RlciByZWNvZ25pdGlvbi4gRXZlcnkgY2hhcmFjdGVyIGlzIHJlY29nbml6ZWQgZGVwZW5kaW5nIG9uIGl0cyB2aXN1YWwgY2hhcmFjdGVyaXN0aWNzLCB0aGVuIGFzc2VtYmxlZCBpbnRvIHdvcmRzIGFuZCBzZW50ZW5jZXMuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8yXzNcIjogXCJSZWNvZ25pdGlvbiBpcyBhZmZlY3RlZCBieSBtYW55IGZhY3RvcnMsIGluY2x1ZGluZzpcIixcclxuICAgIFwiTElfMV8xXCI6IFwiUXVhbGl0eSBvZiB0aGUgc2Nhbm5lZCBkb2N1bWVudCAoYmx1cnJlZCBvciBkZWZvcm1lZCB0ZXh0LCBpbWFnZSBub2lzZSwgaW1hZ2UgcmVzb2x1dGlvbiwgY29udHJhc3QgZXRjLikuIEZvciB0aGUgYmVzdCByZXN1bHQsIC5wZGZzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcbiAgICBcIkxJXzJfOVwiOiBcIkZvcm1hdHRpbmcgb2YgdGhlIHRhYmxlIG9mIGNvbnRlbnRzIG9yIHNpbWlsYXIgbGlzdHMgY29sbGFwc2VkIG9yIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF80XzFcIjogXCI8Yj5Ob3RlIHRoYXQgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB3aWxsIG5vdCByZXRhaW4gYWxsIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsIGZvcm1hdHRpbmcuPC9iPiBTb21lIGltYWdlcywgdGFibGVzIG9yIGRpYWdyYW1zIG1heSBiZWNvbWUgZGlzdG9ydGVkIG9yIHNpbXBsaWZpZWQuIEZvbnRzIGluIHRoZSB0cmFuc2xhdGVkIGRvY3VtZW50IHdpbGwgbm90IGJlIHRoZSBzYW1lIGFzIGluIHRoZSBvcmlnaW5hbCwgYnV0IG1heSBiZSBzaW1pbGFyLiBJbmNvcnJlY3QgZm9udCBzaXplIG1heSBiZSByZWNvZ25pemVkLiBTcGVjaWZpYyBXb3JkIGZvcm1hdHRpbmcgbGlrZSBoZWFkaW5ncywgdGFibGVzIG9mIGNvbnRlbnQsIGhlYWRlcnMgYW5kIGZvb3RlcnMsIGxhYmVscywgZm9ybXMgZXRjLiB3aWxsIGJlIHN0eWxlZCB0byBsb29rIGxpa2UgdGhlIG9yaWdpbmFsLCBidXQgd2lsbCBub3QgbWF0Y2ggdGhlIG9yaWdpbmFsIGNvbXBsZXRlbHkgKGUuZy4gdGl0bGVzIHdpbGwgYmUgYm9sZCBhbmQgaW4gbGFyZ2VyIGZvbnQsIGJ1dCB3aWxsIG5vdCBiZSBzZXQgdG8gdGhlIGhlYWRpbmcgc3R5bGUpLlwiLFxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIklNQUdFX0NPTlZFUlNJT05cIjoge1xyXG4gICAgXCJUSVRMRV8xXCI6IFwiSW1hZ2UgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMVwiOiBcIldoZW4gYW4gaW1hZ2UgZmlsZSBpcyB1cGxvYWRlZCBmb3IgdHJhbnNsYXRpb24gaXQgaXMgY29udmVydGVkIGludG8gYSB0cmFuc2xhdGFibGUgZm9ybWF0LiBUcmFuc2xhdGlvbnMgY2FuIGJlIGRvd25sb2FkZWQgaW4gLmRvY3ggZm9ybWF0IGFuZCB3aWxsIHJldGFpbiB0aGUgYmFzaWMgZm9ybWF0dGluZy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzFfMlwiOiBcIjxiPlN1cHBvcnRlZCBpbWFnZSBmb3JtYXRzOjwvYj4gLmpwZywgLmpwZWcsIC5wbmcgYW5kIC5ibXAuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzNcIjogXCJUbyBpbXByb3ZlIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlLCB3ZSByZWNvbW1lbmQgdG8gZG93bmxvYWQgdGhlIGNvbnZlcnRlZCBkb2N1bWVudCBpbiB0aGUgb3JpZ2luYWwgbGFuZ3VhZ2UgYW5kIGZpeCBpdCBtYW51YWxseSBiZWZvcmUgcmUtdXBsb2FkaW5nIGZvciB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiSU1BR0VfQUxUXzFcIjogXCJTb3VyY2UgaW1hZ2UgZG93bmxvYWQgZXhhbXBsZVwiLFxyXG4gICAgXCJUSVRMRV8yXCI6IFwiSW1hZ2UgY29udmVyc2lvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8xXCI6IFwiVGhlIGltYWdlIGlzIGFuYWx5c2VkIGFuZCBpdHMgY29udGVudCBpcyBzcGxpdCBpbiB0ZXh0LCB0YWJsZSBhbmQgaW1hZ2UvYmFja2dyb3VuZCBpbWFnZSBhcmVhcy4gVGhleSBhcmUgYW5hbHlzZWQgZnVydGhlciB0byBkZXRlcm1pbmUgd2hpY2ggY29udGVudCBzaG91bGQgYmUgcmVjb2duaXplZCBhcyB0ZXh0LlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8yXCI6IFwiVGV4dHVhbCBkYXRhIGFyZSBhY3F1aXJlZCBieSBtZWFucyBvZiBPQ1Igb3Igb3B0aWNhbCBjaGFyYWN0ZXIgcmVjb2duaXRpb24uIEV2ZXJ5IGNoYXJhY3RlciBpcyByZWNvZ25pemVkIGRlcGVuZGluZyBvbiBpdHMgdmlzdWFsIGNoYXJhY3RlcmlzdGljcywgdGhlbiBhc3NlbWJsZWQgaW50byB3b3JkcyBhbmQgc2VudGVuY2VzLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8zXCI6IFwiUmVjb2duaXRpb24gaXMgYWZmZWN0ZWQgYnkgbWFueSBmYWN0b3JzLCBpbmNsdWRpbmc6XCIsXHJcbiAgICBcIkxJXzFfMVwiOiBcIlF1YWxpdHkgb2YgdGhlIHNjYW5uZWQgaW1hZ2UgKGJsdXJyZWQgb3IgZGVmb3JtZWQgdGV4dCwgaW1hZ2Ugbm9pc2UsIGltYWdlIHJlc29sdXRpb24sIGNvbnRyYXN0IGV0Yy4pLiBGb3IgdGhlIGJlc3QgcmVzdWx0LCBpbWFnZXMgc2hvdWxkIGJlIGF0IGxlYXN0IDMwMCBkcGksIHVuc2tld2VkIGFuZCBub2lzZSBmcmVlLlwiLFxyXG4gICAgXCJMSV8xXzJcIjogXCJGb250IHNpemUuIFNpemVzIHNtYWxsZXIgdGhhbiA5IHBvaW50cyBtaWdodCBiZSBwb29ybHkgcmVjb2duaXplZC4gXCIsXHJcbiAgICBcIkxJXzFfM1wiOiBcIlJhcmUgYW5kIG9yaWdpbmFsIGZvbnRzLiBMZXNzIGNvbW1vbiBmb250cyBtYXkgYmUgdW5yZWNvZ25pemFibGUgb3IgcGVyZm9ybSB3b3JzZS5cIixcclxuICAgIFwiTElfMV80XCI6IFwiQ29tcGxleGl0eSBvZiB0aGUgZG9jdW1lbnQgc3RydWN0dXJlIGFuZCBmb3JtYXR0aW5nLlwiLFxyXG4gICAgXCJUSVRMRV8zXCI6IFwiSW1wcm92aW5nIHRyYW5zbGF0aW9uIHBlcmZvcm1hbmNlXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8zXzFcIjogXCJUaGUgY29udmVyc2lvbiBwcm9jZXNzIGlzIHZlcnkgY29tcGxleCBhbmQgbWF5IGJlIGFmZmVjdGVkIGJ5IHZhcmlvdXMgZXJyb3JzIHJlc3VsdGluZyBmcm9tIHRoZSBpbnB1dCBkb2N1bWVudC4gXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8zXzJcIjogXCJJc3N1ZXMgdG8gbG9vayBmb3I6XCIsXHJcbiAgICBcIkxJXzJfMVwiOiBcIkluY29ycmVjdGx5IHJlY29nbml6ZWQgd29yZHMuXCIsXHJcbiAgICBcIkxJXzJfMlwiOiBcIkluY29ycmVjdCB3b3JkIGJvdW5kYXJpZXMuXCIsXHJcbiAgICBcIkxJXzJfM1wiOiBcIlNlbnRlbmNlcyBzcGFubmluZyBtdWx0aXBsZSBjb2x1bW5zLCBsaW5lcyBvciBwYWdlcyBzcGxpdCBpbnRvIGRpZmZlcmVudCB0ZXh0dWFsIG9iamVjdHMuXCIsXHJcbiAgICBcIkxJXzJfNFwiOiBcIk1pc3BsYWNlZCBwYWdlIGZvb3RlcnMgYW5kIGhlYWRlcnMuXCIsXHJcbiAgICBcIkxJXzJfNVwiOiBcIkluY29ycmVjdCBudW1iZXJpbmcuXCIsXHJcbiAgICBcIkxJXzJfNlwiOiBcIlRhYmxlcyByZWNvZ25pemVkIGFzIGJhY2tncm91bmQgaW1hZ2VzIHdpdGggdGV4dHVhbCBjb250ZW50IHBsYWNlZCBpbnRvIGRpZmZlcmVudCB0ZXh0dWFsIG9iamVjdHMuXCIsXHJcbiAgICBcIkxJXzJfN1wiOiBcIlNvbWUgZGlhZ3JhbXMgcmVjb2duaXplZCBhcyBpbWFnZXMgd2l0aG91dCBhbnkgdGV4dHVhbCBjb250ZW50LlwiLFxyXG4gICAgXCJMSV8yXzhcIjogXCJTZXBhcmF0b3JzLCBib3JkZXJzIG9yIG90aGVyIGhvcml6b250YWwgbGluZXMgcmVjb2duaXplZCBhcyBzdHJpa2V0aHJvdWdoIG9yIHVuZGVybGluZWQgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzRfMVwiOiBcIjxiPk5vdGUgdGhhdCB0aGUgcmVzdWx0aW5nIGRvY3VtZW50IHdpbGwgbm90IHJldGFpbiBhbGwgZGV0YWlscyBvZiB0aGUgb3JpZ2luYWwgZm9ybWF0dGluZy48L2I+IFNvbWUgaW1hZ2VzLCB0YWJsZXMgb3IgZGlhZ3JhbXMgbWF5IGJlY29tZSBkaXN0b3J0ZWQgb3Igc2ltcGxpZmllZC4gRm9udHMgaW4gdGhlIHRyYW5zbGF0ZWQgZG9jdW1lbnQgd2lsbCBub3QgYmUgdGhlIHNhbWUgYXMgaW4gdGhlIG9yaWdpbmFsLCBidXQgbWF5IGJlIHNpbWlsYXIuIEluY29ycmVjdCBmb250IHNpemUgbWF5IGJlIHJlY29nbml6ZWQuXCIsXHJcbiAgICBcIkNMT1NFXCI6IFwiQ2xvc2UgZGlhbG9nXCJcclxuICB9LFxyXG4gIFwiV0VCVFJBTlNMQVRFXCI6IHtcclxuICAgIFwiQkFDS1wiOiBcIkJhY2sgdG8gVHJhbnNsYXRvclwiLFxyXG4gICAgXCJMT0FEX1BBR0VcIjogXCJMb2FkIHBhZ2VcIixcclxuICAgIFwiUkVTVE9SRVwiOiBcIlJlc3RvcmVcIixcclxuICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIlNFQVJDSFwiOiBcIlNlYXJjaCB3ZWJzaXRlXCIsXHJcbiAgICBcIk5PX1JFQ09SRFNcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiU2VhcmNoIGZvciBhIHdlYnNpdGUgdG8gdHJhbnNsYXRlXCIsXHJcbiAgICAgIFwiREVTQ1JJUFRJT05cIjogXCJTZWUgPGEgaHJlZj0ne3toZWxwVXJsfX0nIHRhcmdldD0nX2JsYW5rJyBjbGFzcz0ndW5kZXJsaW5lJz5ob3cgaXQgd29ya3M8L2E+XCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiREFURV9BR09cIjoge1xyXG4gICAgXCJZRUFSXCI6IFwie3t2YWx1ZX19IHllYXIgYWdvXCIsXHJcbiAgICBcIllFQVJTXCI6IFwie3t2YWx1ZX19IHllYXJzIGFnb1wiLFxyXG4gICAgXCJNT05USFwiOiBcInt7dmFsdWV9fSBtb250aCBhZ29cIixcclxuICAgIFwiTU9OVEhTXCI6IFwie3t2YWx1ZX19IG1vbnRocyBhZ29cIixcclxuICAgIFwiV0VFS1wiOiBcInt7dmFsdWV9fSB3ZWVrIGFnb1wiLFxyXG4gICAgXCJXRUVLU1wiOiBcInt7dmFsdWV9fSB3ZWVrcyBhZ29cIixcclxuICAgIFwiREFZXCI6IFwie3t2YWx1ZX19IGRheSBhZ29cIixcclxuICAgIFwiREFZU1wiOiBcInt7dmFsdWV9fSBkYXlzIGFnb1wiLFxyXG4gICAgXCJIT1VSXCI6IFwie3t2YWx1ZX19IGhvdXIgYWdvXCIsXHJcbiAgICBcIkhPVVJTXCI6IFwie3t2YWx1ZX19IGhvdXJzIGFnb1wiLFxyXG4gICAgXCJNSU5VVEVcIjogXCJ7e3ZhbHVlfX0gbWludXRlIGFnb1wiLFxyXG4gICAgXCJNSU5VVEVTXCI6IFwie3t2YWx1ZX19IG1pbnV0ZXMgYWdvXCIsXHJcbiAgICBcIlNFQ09ORFwiOiBcInt7dmFsdWV9fSBzZWNvbmQgYWdvXCIsXHJcbiAgICBcIlNFQ09ORFNcIjogXCJ7e3ZhbHVlfX0gc2Vjb25kcyBhZ29cIixcclxuICAgIFwiSlVTVF9OT1dcIjogXCJKdXN0IG5vd1wiXHJcbiAgfSxcclxuICBcIlRFUk1fQ09MTEVDVElPTlNcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIkdsb3NzYXJpZXNcIixcclxuICAgIFwiREVGQVVMVFwiOiBcIkRlZmF1bHRcIixcclxuICAgIFwiREVTQ1JJUFRJT05cIjogXCJBY2hpZXZlIHByZWNpc2UgYW5kIHJlbGlhYmxlIHRyYW5zbGF0aW9ucyBieSBjaG9vc2luZyB0aGUgbW9zdCBzdWl0YWJsZSBnbG9zc2FyeSBmcm9tIHRoZSBsaXN0LlwiLFxyXG4gICAgXCJHTE9TU0FSWVwiOiBcIkdsb3NzYXJ5OiBcIixcclxuICAgIFwiU0VMRUNURURfTk9ORVwiOiBcIk5vbmVcIixcclxuICAgIFwiRURJVFwiOiBcIkVkaXRcIixcclxuICAgIFwiQ1JFQVRFXCI6IFwiTmV3IGdsb3NzYXJ5XCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OX0VNUFRZXCI6IFwiPHNwYW4+Q3JlYXRlIG5ldyBnbG9zc2FyeTwvc3Bhbj4gZm9yIHt7c3JjTGFuZ319LXt7dHJnTGFuZ319IG9yIG9wZW4gPHNwYW4+RGVmYXVsdCBnbG9zc2FyaWVzIG1hbmFnZW1lbnQ8L3NwYW4+IGFuZCBjcmVhdGUgZ2xvc3NhcnkgdGhlcmUgdG8gdXNlIGl0IGluIHRyYW5zbGF0aW9uIGFjcm9zcyB0aGUgcGxhdGZvcm0uXCIsXHJcbiAgICBcIlVOQVZBSUxBQkxFX0dMT1NTQVJJRVNcIjogXCJObyBnbG9zc2FyeSBhdmFpbGFibGVcIixcclxuICAgIFwiTEFTVF9VUERBVEVEXCI6IFwiTGFzdCB1cGRhdGVkOiB7e2RhdGV9fVwiLFxyXG4gICAgXCJERUZBVUxUX0NPTExFQ1RJT05fTkFNRVwiOiBcIk15IHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgXCJTWU5DXCI6IFwiU3luY1wiLFxyXG4gICAgXCJTWU5DX0VSUk9SXCI6IFwiUmV0cnlcIixcclxuICAgIFwiVEVSTVNfSU5fVVNFXCI6IFwiVGVybXMgaW4gdXNlOiB7e3Rlcm1Db3VudH19XCIsXHJcbiAgICBcIkRFRkFVTFRfR0xPU1NBUllfTUFOQUdFTUVOVFwiOiBcIk1hbmFnZSBkZWZhdWx0IGdsb3NzYXJpZXNcIixcclxuICAgIFwiQVJJQV9MQUJFTFNcIjoge1xyXG4gICAgICBcIlJBRElPX0dST1VQXCI6IFwiU2VsZWN0IGEgdGVybSBjb2xsZWN0aW9uXCIsXHJcbiAgICAgIFwiT1RIRVJfQ09MTEVDVElPTlNcIjogXCJPcGVuIHRoZSBjb2xsZWN0aW9uIG1lbnVcIlxyXG4gICAgfSxcclxuICAgIFwiQ1JFQVRFX0RJQUxPR1wiOiB7XHJcbiAgICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICAgIFwiQ09MTEVDVElPTl9OQU1FX0xBQkVMXCI6IFwiR2xvc3NhcnkgbmFtZVwiLFxyXG4gICAgICBcIkNSRUFURVwiOiBcIkNyZWF0ZVwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXzFcIjogXCJBZnRlciBjbGlja2luZyDigJxDcmVhdGXigJ0geW91IHdpbGwgYmUgcmVkaXJlY3RlZCB0byBUaWxkZSBUZXJtIHRvIGFkZCB5b3VyIHRlcm1zLlwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXzJcIjogXCI8aT4qQUkgaXMgbm90IHBlcmZlY3QgYW5kIGNhbiBtYWtlIG9jY2FzaW9uYWwgbWlzdGFrZXMuIFlvdXIgdW5pcXVlIHRlcm1zIHdpbGwgYmUgdXNlZCBjb3JyZWN0bHkgd2l0aCA5NSUgYWNjdXJhY3kuPC9pPlwiLFxyXG4gICAgICBcIlRJVExFXCI6IFwiQ3JlYXRlIG5ldyBnbG9zc2FyeVwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9FUlJPUlwiOiBcIlRpdGxlIHNob3VsZCBiZSBhdCBsZWFzdCB7e21pbkxlbmd0aH19IHN5bWJvbHMgbG9uZyBhbmQgbm90IGxvbmdlciB0aGFuIHt7bWF4TGVuZ3RofX0gc3ltYm9sc1wiXHJcbiAgICB9LFxyXG4gICAgXCJUT09MVElQU1wiOiB7XHJcbiAgICAgIFwiRURJVFwiOiBcIkVkaXQgZ2xvc3NhcnkgaW4gdGVybWlub2xvZ3kgcG9ydGFsXCIsXHJcbiAgICAgIFwiSU1QT1JUSU5HXCI6IFwiSW1wb3J0aW5nIGdsb3NzYXJ5XCIsXHJcbiAgICAgIFwiTk9fRU5UUklFU1wiOiBcIlRlcm0gY29sbGVjdGlvbiBjYW5ub3QgYmUgdXNlZDogbm8gdGVybXMgaW4gc291cmNlIGxhbmd1YWdlXCIsXHJcbiAgICAgIFwiREVGQVVMVF9DT0xMRUNUSU9OXCI6IFwiVGhlc2UgdGVybXMgYXJlIG5vdyBpbiB1c2UuIFlvdSBjYW4gbWFuYWdlIHRoZW0gdGhyb3VnaCBEZWZhdWx0IGdsb3NzYXJ5IG1hbmFnZW1lbnQuIFwiLFxyXG4gICAgICBcIlNZTkNcIjogXCJVcGRhdGUgdGhlIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIlNZTkNJTkdcIjogXCJUZXJtIGNvbGxlY3Rpb24gaXMgc3luY2VkLCB0aGUgbGF0ZXN0IHZlcnNpb24gb2YgdGhlIGNvbGxlY3Rpb24gd2lsbCBiZSB1c2VkXCIsXHJcbiAgICAgIFwiQVRUQUNIX1RPX1NZU1RFTV9FUlJPUlwiOiBcIkFuIGVycm9yIGhhcyBvY2N1cmVkIHdoaWxlIGltcG9ydGluZyB0aGUgdGVybSBjb2xsZWN0aW9uXCJcclxuICAgIH0sXHJcbiAgICBcIlJFQURFUlwiOiB7XHJcbiAgICAgIFwiVElUTEVcIjogXCJHbG9zc2FyaWVzXCIsXHJcbiAgICAgIFwiVU5BVkFJTEFCTEVcIjogXCJHbG9zc2FyaWVzIG5vdCBhdmFpbGFibGVcIixcclxuICAgICAgXCJURVhUXCI6IFwiR2xvc3NhcmllcyBhcmUgb25seSBhdmFpbGFibGUgZm9yIGF1dGhvcml6ZWQgdXNlcnMuIDwvYnI+IDxhIGhyZWY9J3t7c2lnbkluVXJsfX0nPlNpZ24gaW48L2E+IG9yIDxhIGhyZWY9J3t7c3RhcnRUcmlhbFVybH19Jz5zdGFydCB5b3VyIGZyZWUgdHJpYWw8L2E+IHRvIHVubG9jayBvdXIgZ2xvc3NhcnkuXCIsXHJcbiAgICAgIFwiV0hBVF9JU19HTE9TU0FSWV9USVRMRVwiOiBcIldoYXQgaXMgYSBHbG9zc2FyeT9cIixcclxuICAgICAgXCJXSEFUX0lTX0dMT1NTQVJZX0RFU0NcIjogXCJBIGdsb3NzYXJ5IGluIG1hY2hpbmUgdHJhbnNsYXRpb24gaXMgYSBjdXN0b20gZGljdGlvbmFyeSBvZiBzcGVjaWZpYyB0ZXJtcyBhbmQgdHJhbnNsYXRpb25zLlwiLFxyXG4gICAgICBcIkJFTkVGSVRTX1RJVExFXCI6IFwiR2xvc3NhcnkgQmVuZWZpdHNcIixcclxuICAgICAgXCJCRU5FRklUU19ERVNDXCI6IFwiSXQgZW5zdXJlcyBjb25zaXN0ZW5jeSBhbmQgYWNjdXJhY3ksIGVuaGFuY2luZyB0cmFuc2xhdGlvbiBxdWFsaXR5IGZvciBzcGVjaWFsaXplZCBjb250ZW50LlwiXHJcbiAgICB9LFxyXG4gICAgXCJFUlJPUlNcIjoge1xyXG4gICAgICBcIkVSUk9SSU1QT1JUSU5HXCI6IFwiSW1wb3J0aW5nIGVycm9yXCJcclxuICAgIH1cclxuICB9LFxyXG4gIFwiRE9NQUlOU1wiOiB7XHJcbiAgICBcIk9QRU5fTElTVF9BUklBX0xBQkVMXCI6IFwiT3BlbiBkb21haW4gbGlzdFwiLFxyXG4gICAgXCJUSVRMRVwiOiBcIkRvbWFpbjpcIixcclxuICAgIFwiTEFXXCI6IFwiTGF3XCIsXHJcbiAgICBcIkRZTkFNSUNfTEVBUk5JTkdcIjogXCJEeW5hbWljIGxlYXJuaW5nXCIsXHJcbiAgICBcIkJVU0lORVNTXCI6IFwiQnVzaW5lc3NcIixcclxuICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgIFwiQVVUT1wiOiBcIkF1dG9kZXRlY3RcIixcclxuICAgIFwiU1BEXCI6IFwiRVUgRm9ybWFsIExhbmd1YWdlXCIsXHJcbiAgICBcIkdFTlwiOiBcIkdlbmVyYWwgVGV4dFwiLFxyXG4gICAgXCJFQ0JcIjogXCJGaW5hbmNlXCIsXHJcbiAgICBcIkVDSlwiOiBcIkV1cm9wZWFuIENvdXJ0IG9mIEp1c3RpY2VcIixcclxuICAgIFwiUFVCSEVBTFRIXCI6IFwiUHVibGljIEhlYWx0aFwiLFxyXG4gICAgXCJCVUJBXCI6IFwiRGV1dHNjaGUgQnVuZGVzYmFua1wiLFxyXG4gICAgXCJCRVJDWVwiOiBcIk1pbmlzdMOocmUgZGVzIEZpbmFuY2VzXCIsXHJcbiAgICBcIkVVUk9QRUFOQVwiOiBcIkV1cm9wZWFuYVwiLFxyXG4gICAgXCJJUE9cIjogXCJJUCBDYXNlIExhd1wiLFxyXG4gICAgXCJUUklTXCI6IFwiRW5naW5lcyBidWlsdCB1c2luZyBkYXRhIGZyb20gdGhlIHRlY2huaWNhbCByZWd1bGF0aW9uIGluZm9ybWF0aW9uIHN5c3RlbVwiLFxyXG4gICAgXCJWS1wiOiBcIlZhbHRpb25ldXZvc3RvbiBLYW5zbGlhXCIsXHJcbiAgICBcIkJVQkFfTk1UVEVTVFwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmsgVGVzdFwiXHJcbiAgfSxcclxuICBcIkdSQU1NQVJfQ0hFQ0tfTUVOVVwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiQ29uc2lkZXIgY2hhbmdpbmcgdG86XCJcclxuICB9LFxyXG4gIFwiQVVESU9cIjoge1xyXG4gICAgXCJDQU5DRUxcIjogXCJDYW5jZWxcIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUkVDT1JESU5HXCI6IFwiUGxlYXNlIHNwZWFrIHRvIHJlY29yZC4uLlwiLFxyXG4gICAgXCJERVNDUklCRV9TVEFURV9QUk9DRVNTSU5HXCI6IFwiUHJvY2Vzc2luZy4uLlwiLFxyXG4gICAgXCJNSUNfTk9UX0ZPVU5EXCI6IFwiTWljcm9waG9uZSBub3QgZm91bmRcIixcclxuICAgIFwiU1RPUFwiOiBcIlN0b3AgcmVjb3JkaW5nXCIsXHJcbiAgICBcIlNUQVJUXCI6IFwiVHJhbnNsYXRlIHNwZWVjaFwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFX1RJVExFXCI6IFwiQWRkIHB1bmN0dWF0aW9uXCIsXHJcbiAgICBcIlBVTkNUVUFUSU9OX01FU1NBR0VcIjogXCJQbGVhc2UgYWRkIHB1bmN0dWF0aW9uIHRvIHRoZSByZWNvZ25pemVkIHRleHQuIExvbmcgdGV4dCB3aXRob3V0IHB1bmN0dWF0aW9uIG1heSBoYXZlIGxvd2VyIHRyYW5zbGF0aW9uIHF1YWxpdHkgb3Igbm90IGJlIHRyYW5zbGF0ZWQuXCJcclxuICB9LFxyXG4gIFwiRVhURU5TSU9OX1BPUFVQXCI6IHtcclxuICAgIFwiT1BFTlwiOiBcInNlZSBhbGwgc3VwcG9ydGVkIGZvcm1hdHNcIixcclxuICAgIFwiVElUTEVcIjogXCJTdXBwb3J0ZWQgZmlsZSBmb3JtYXRzXCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiVVRGLTggb3IgVVRGLTE2IGNvZGluZyByZXF1aXJlZCB0byBlbnN1cmUgY29ycmVjdCBmaWxlIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIk9GRklDRVwiOiBcIk9mZmljZVwiLFxyXG4gICAgXCJTQ0FOTkVEXCI6IFwiSW1hZ2UgZmlsZXNcIixcclxuICAgIFwiSU5URVJDSEFOR0VcIjogXCJJbnRlcmNoYW5nZSBmb3JtYXRzXCIsXHJcbiAgICBcIldFQlwiOiBcIldlYlwiLFxyXG4gICAgXCJPVEhFUlwiOiBcIk90aGVyXCJcclxuICB9LFxyXG4gIFwiRklMRV9VUExPQURcIjoge1xyXG4gICAgXCJVUExPQURcIjogXCJVcGxvYWRcIixcclxuICAgIFwiRFJBR19BTkRfRFJPUFwiOiBcIm9yIGRyYWcgYW5kIGRyb3AgXCIsXHJcbiAgICBcIkZJTEVcIjogXCJhIGZpbGVcIixcclxuICAgIFwiRklMRVNcIjogXCJmaWxlc1wiLFxyXG4gICAgXCJMSU1JVFNfTUJcIjogXCJNYXgge3ttYXhTaXplTUJ9fU1CXCIsXHJcbiAgICBcIkNMRUFSXCI6IFwiQ2xlYXIgZmlsZVwiLFxyXG4gICAgXCJTRUxFQ1RfTEFOR1VBR0VfV0FSTklOR1wiOiBcIlBsZWFzZSwgc2VsZWN0IHRoZSBzb3VyY2UgbGFuZ3VhZ2Ugb2YgdGhlIGZpbGUuXCJcclxuICB9LFxyXG4gIFwiU1lTVEVNX1BJQ0tFUlwiOiB7XHJcbiAgICBcIlNPVVJDRVwiOiBcIlRyYW5zbGF0ZSBmcm9tXCIsXHJcbiAgICBcIlRBUkdFVFwiOiBcIlRyYW5zbGF0ZSB0b1wiLFxyXG4gICAgXCJTRUFSQ0hfUExBQ0VIT0xERVJcIjogXCJTZWFyY2ggbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIlJFQ0VOVF9TWVNURU1fVElUTEVcIjogXCJSZWNlbnRcIixcclxuICAgIFwiU0VMRUNUX0RPTUFJTlwiOiBcIlNlbGVjdCBkb21haW5cIixcclxuICAgIFwiRklMVEVSX05PX1JFU1VMVFNcIjogXCJObyByZXN1bHRzXCIsXHJcbiAgICBcIkFMTF9MQU5HVUFHRVNcIjogXCJBbGwgbGFuZ3VhZ2VzXCIsXHJcbiAgICBcIkNMRUFSX1NFQVJDSFwiOiBcIkNsZWFyIHNlYXJjaCB0ZXh0XCIsXHJcbiAgICBcIk9QRU5fU09VUkNFX0FSSUFfTEFCRUxcIjogXCJTZWxlY3Qgc291cmNlIGxhbmd1YWdlXCIsXHJcbiAgICBcIk9QRU5fVEFSR0VUX0FSSUFfTEFCRUxcIjogXCJTZWxlY3QgdGFyZ2V0IGxhbmd1YWdlIGFuZCBkb21haW5cIixcclxuICAgIFwiREVURUNURURcIjogXCJEZXRlY3RlZFwiXHJcbiAgfSxcclxuICBcIlRFWFRfVFJBTlNMQVRJT05fUFJPR1JFU1NfSU5ESUNBVE9SXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJUcmFuc2xhdGlvbiBwcm92aWRlZCBieSB7e3Byb3ZpZGVyfX1cIixcclxuICAgIFwiVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJDTE9TRV9CVVRUT05fVE9PTFRJUFwiOiBcIlJlbW92ZSBwcm9ncmVzcyBiYXJcIixcclxuICAgIFwiQ0xPU0VfQlVUVE9OX0FSSUFfTEFCRUxcIjogXCJSZW1vdmUgcHJvZ3Jlc3MgYmFyXCJcclxuICB9LFxyXG4gIFwiVkVORE9SX01FU1NBR0VcIjoge1xyXG4gICAgXCJURVhUXCI6IFwiVHJhbnNsYXRpb24gcHJvdmlkZWQgYnkge3t2ZW5kb3J9fVwiLFxyXG4gICAgXCJJQ09OX1RPT0xUSVBcIjogXCJTeXN0ZW1zIG9mZmVyZWQgYnkge3t2ZW5kb3J9fSBhcmUgdXNlZCBieSBhIGh1Z2UgbnVtYmVyIG9mIHVzZXJzLiBUaGV5IG1heSBiZSBzbG93IGF0IHRpbWUgZHVlIHRvIHRoZSBoZWF2eSB3b3JrIGxvYWQuXCJcclxuICB9LFxyXG4gIFwiVkVORE9SU1wiOiB7XHJcbiAgICBcIkVUUkFOU0xBVElPTlwiOiBcImVUcmFuc2xhdGlvblwiXHJcbiAgfSxcclxuICBcIlRFWFRfVE9fU1BFRUNIXCI6IHtcclxuICAgIFwiUExBWVwiOiBcIkxpc3RlblwiLFxyXG4gICAgXCJQQVVTRVwiOiBcIlBhdXNlXCJcclxuICB9LFxyXG4gIFwiTExNXCI6IHtcclxuICAgIFwiU1VNTUFSWVwiOiBcIkNyZWF0ZSBzdW1tYXJ5XCIsXHJcbiAgICBcIlJFUEhSQVNFXCI6IFwiUmVwaHJhc2UgdHJhbnNsYXRpb25cIixcclxuICAgIFwiUkVQSFJBU0VfTU9EQUxcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiUmVwaHJhc2UgdHJhbnNsYXRpb25cIixcclxuICAgICAgXCJERVNDUklQVElPTlwiOiBcIlJlcGhyYXNlIHRleHQgaW50byBhIHNwZWNpZmllZCB3cml0aW5nIHN0eWxlLCBhZGFwdGluZyB0aGUgbGFuZ3VhZ2UgYW5kIHRvbmUgdG8gbWF0Y2ggYSBnaXZlbiB0YXJnZXQgc3R5bGUgb3Igdm9pY2UuXCIsXHJcbiAgICAgIFwiQ0xPU0VcIjogXCJDbG9zZVwiLFxyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIlJFUEhSQVNFXCI6IFwiUmVwaHJhc2VcIixcclxuICAgICAgXCJSRVBIUkFTSU5HXCI6IFwiUmVwaHJhc2luZy4uLlwiLFxyXG4gICAgICBcIkxJTUlUXCI6IFwiPHNwYW4gY2xhc3M9J3RleHQtbS1zZW1pLWJvbGQnPnt7bGltaXR9fTwvc3Bhbj4gcmVwaHJhc2UgbGVmdCB0b2RheS4gTmVlZCBtb3JlPyA8YSBocmVmPSd7e3N1YnNjcmlwdGlvblVybH19JyB0YXJnZXQ9J19ibGFuayc+VXBncmFkZSBzdWJzY3JpcHRpb248L2E+XCIsXHJcbiAgICAgIFwiV1JJVElOR19TVFlMRVNcIjoge1xyXG4gICAgICAgIFwiVElUTEVcIjogXCJXcml0aW5nIHN0eWxlXCIsXHJcbiAgICAgICAgXCJUT09MVElQXCI6IFwiRm9ybWFsaXR5OiBVc2UgYSBsb3cgdG8gbWVkaXVtIGxldmVsIG9mIGZvcm1hbGl0eS4gXFxuVm9jYWJ1bGFyeTogT3B0aW1hbCBmb3Igc2ltcGxlIGFuZCBjbGVhciBsYW5ndWFnZSwgYXZvaWRpbmcgdGVjaG5pY2FsIGphcmdvbi4gXFxuU2VudGVuY2UgU3RydWN0dXJlOiBLZWVwIHNlbnRlbmNlcyBzaW1wbGUgdG8gbW9kZXJhdGVseSBjb21wbGV4LiBcXG5Ub25lOiBNYWludGFpbiBhIGZyaWVuZGx5IGFuZCBlbmdhZ2luZyB0b25lLlwiLFxyXG4gICAgICAgIFwiU1BFQ0lGSUNfU1RZTEVcIjogXCJ7e3N0eWxlfX0gd3JpdGluZyBzdHlsZVwiLFxyXG4gICAgICAgIFwiR0VORVJBTFwiOiBcIkdlbmVyYWxcIixcclxuICAgICAgICBcIlBST0ZFU1NJT05BTFwiOiBcIlByb2Zlc3Npb25hbFwiLFxyXG4gICAgICAgIFwiQUNBREVNSUNcIjogXCJBY2FkZW1pY1wiXHJcbiAgICAgIH0sXHJcbiAgICAgIFwiVE9PTFRJUFwiOiB7XHJcbiAgICAgICAgXCJGT1JNQUxJVFlcIjogXCJVc2UgYSBsb3cgdG8gbWVkaXVtIGxldmVsIG9mIGZvcm1hbGl0eS5cIixcclxuICAgICAgICBcIlZPQ0FCVUxBUllcIjogXCJPcHRpbWFsIGZvciBzaW1wbGUgYW5kIGNsZWFyIGxhbmd1YWdlLCBhdm9pZGluZyB0ZWNobmljYWwgamFyZ29uLlwiLFxyXG4gICAgICAgIFwiU0VOVEVOQ0VfU1RSVUNUVVJFXCI6IFwiS2VlcCBzZW50ZW5jZXMgc2ltcGxlIHRvIG1vZGVyYXRlbHkgY29tcGxleC5cIixcclxuICAgICAgICBcIlRPTkVcIjogXCJNYWludGFpbiBhIGZyaWVuZGx5IGFuZCBlbmdhZ2luZyB0b25lLlwiXHJcbiAgICAgIH1cclxuICAgIH0sXHJcbiAgICBcIlNVTU1BUllfTU9EQUxcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiVHJhbnNsYXRpb24gc3VtbWFyeVwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiQ3JlYXRpbmcgc3VtbWFyeVwiLFxyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNMT1NFXCI6IFwiQ2xvc2VcIixcclxuICAgICAgXCJDUkVBVElOR1wiOiBcIkNyZWF0aW5nIHN1bW1hcnkuLi5cIixcclxuICAgICAgXCJSRUdFTkVSQVRFXCI6IFwiUmUtZ2VuZXJhdGVcIixcclxuICAgICAgXCJMSU1JVFwiOiBcIjxzcGFuIGNsYXNzPSd0ZXh0LW0tc2VtaS1ib2xkJz57e2xpbWl0fX08L3NwYW4+IHN1bW1hcnkgbGVmdCB0b2RheS4gTmVlZCBtb3JlPyA8YSBocmVmPSd7e3N1YnNjcmlwdGlvblVybH19JyB0YXJnZXQ9J19ibGFuayc+VXBncmFkZSBzdWJzY3JpcHRpb248L2E+XCIsXHJcbiAgICB9LFxyXG4gICAgXCJFUlJPUlNcIjoge1xyXG4gICAgICBcIlFVT1RBX0xJTUlUXCI6IFwiWW91IGhhdmUgcmVhY2hlZCB5b3VyIHF1b3RhIGxpbWl0LiBOZWVkIG1vcmU/IDxhIGhyZWY9J3t7c3Vic2NyaXB0aW9uVXJsfX0nIHRhcmdldD0nX2JsYW5rJz5VcGdyYWRlIHN1YnNjcmlwdGlvbjwvYT5cIixcclxuICAgICAgXCJRVU9UQV9MSU1JVF9SRUFDSEVEXCI6IFwiWW91IGhhdmUgcmVhY2hlZCB5b3VyIHF1b3RhIGxpbWl0LiBOZWVkIG1vcmU/IDxhIGhyZWY9J3t7c3Vic2NyaXB0aW9uVXJsfX0nIHRhcmdldD0nX2JsYW5rJz5VcGdyYWRlIHN1YnNjcmlwdGlvbjwvYT5cIixcclxuICAgICAgXCJERUZBVUxUXCI6IFwiSXQgc2VlbXMgbGlrZSB3ZSBoYWQgcHJvYmxlbSwgcGxlYXNlIDxib2xkPnJlcGVhdDwvYm9sZD4gYWN0aW9uLCBpZiBpdCBkb2Vzbid0IHdvcmssIGNvbnRhY3Qgb3VyIDxhIGhyZWY9J21haWx0bzp7e3N1cHBvcnRFbWFpbH19JyB0YXJnZXQ9J19ibGFuayc+c3VwcG9ydCB0ZWFtPC9hPi5cIlxyXG4gICAgfVxyXG4gIH0sXHJcbn1cclxuIl19
499
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90bGQtdHJhbnNsYXRlL3NyYy9saWIvaTE4bi9lbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUc7SUFDckIsa0JBQWtCLEVBQUUsWUFBWTtJQUNoQyxVQUFVLEVBQUUsVUFBVTtJQUN0QixlQUFlLEVBQUU7UUFDZixVQUFVLEVBQUUsc0dBQXNHO1FBQ2xILGVBQWUsRUFBRSxZQUFZO1FBQzdCLG9CQUFvQixFQUFFLFFBQVE7UUFDOUIscUJBQXFCLEVBQUUsVUFBVTtRQUNqQyxxQkFBcUIsRUFBRSxVQUFVO1FBQ2pDLG9CQUFvQixFQUFFLFNBQVM7UUFDL0Isc0JBQXNCLEVBQUUsK0JBQStCO1FBQ3ZELDJCQUEyQixFQUFFLGdLQUFnSztRQUM3TCw0QkFBNEIsRUFBRSxpQ0FBaUM7UUFDL0QsaUNBQWlDLEVBQUUsa0tBQWtLO1FBQ3JNLHNDQUFzQyxFQUFFLHFDQUFxQztRQUM3RSxvQ0FBb0MsRUFBRSxvQ0FBb0M7UUFDMUUsaUNBQWlDLEVBQUUsd0JBQXdCO1FBQzNELHFDQUFxQyxFQUFFLGdCQUFnQjtRQUN2RCxnQ0FBZ0MsRUFBRSx1QkFBdUI7UUFDekQsaUNBQWlDLEVBQUUsNEJBQTRCO1FBQy9ELG1DQUFtQyxFQUFFLGNBQWM7UUFDbkQsa0NBQWtDLEVBQUUsVUFBVTtRQUM5Qyw2QkFBNkIsRUFBRSxrR0FBa0c7UUFDakksTUFBTSxFQUFFLE9BQU87UUFDZixxQkFBcUIsRUFBRSxtQkFBbUI7UUFDMUMsdUJBQXVCLEVBQUUsOEJBQThCO1FBQ3ZELHVCQUF1QixFQUFFLHlCQUF5QjtRQUNsRCw4QkFBOEIsRUFBRSwwRkFBMEY7UUFDMUgsb0JBQW9CLEVBQUUsNkxBQTZMO1FBQ25OLGdCQUFnQixFQUFFLHFGQUFxRjtRQUN2RyxnQkFBZ0IsRUFBRSx3Q0FBd0M7UUFDMUQsMEJBQTBCLEVBQUUseUJB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L0I7SUFDRCxnQkFBZ0IsRUFBRTtRQUNoQixNQUFNLEVBQUUsUUFBUTtRQUNoQixPQUFPLEVBQUUsT0FBTztLQUNqQjtJQUNELEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRSxnQkFBZ0I7UUFDM0IsVUFBVSxFQUFFLHNCQUFzQjtRQUNsQyxjQUFjLEVBQUUsbUNBQW1DO1FBQ25ELGdCQUFnQixFQUFFO1lBQ2hCLE9BQU8sRUFBRSxzQkFBc0I7WUFDL0IsYUFBYSxFQUFFLHNIQUFzSDtZQUNySSxPQUFPLEVBQUUsT0FBTztZQUNoQixRQUFRLEVBQUUsUUFBUTtZQUNsQixVQUFVLEVBQUUsVUFBVTtZQUN0QixZQUFZLEVBQUUsZUFBZTtZQUM3QixPQUFPLEVBQUUsd0pBQXdKO1lBQ2pLLGdCQUFnQixFQUFFO2dCQUNoQixPQUFPLEVBQUUsZUFBZTtnQkFDeEIsaUJBQWlCLEVBQUUsc1BBQXNQO2dCQUN6USxzQkFBc0IsRUFBRSxrU0FBa1M7Z0JBQzFULGtCQUFrQixFQUFFLDRSQUE0UjtnQkFDaFQsZ0JBQWdCLEVBQUUseUJBQXlCO2dCQUMzQyxTQUFTLEVBQUUsU0FBUztnQkFDcEIsY0FBYyxFQUFFLGNBQWM7Z0JBQzlCLFVBQVUsRUFBRSxVQUFVO2FBQ3ZCO1NBQ0Y7UUFDRCxlQUFlLEVBQUU7WUFDZixPQUFPLEVBQUUscUJBQXFCO1lBQzlCLGFBQWEsRUFBRSxrQkFBa0I7WUFDakMsUUFBUSxFQUFFLFFBQVE7WUFDbEIsT0FBTyxFQUFFLE9BQU87WUFDaEIsVUFBVSxFQUFFLHFCQUFxQjtZQUNqQyxZQUFZLEVBQUUsYUFBYTtZQUMzQixPQUFPLEVBQUUsdUpBQXVKO1NBQ2pLO1FBQ0QsUUFBUSxFQUFFO1lBQ1IsYUFBYSxFQUFFLHNIQUFzSDtZQUNySSxxQkFBcUIsRUFBRSxzSEFBc0g7WUFDN0ksU0FBUyxFQUFFLHNLQUFzSztTQUNsTDtLQUNGO0NBQ0YsQ0FBQSIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBpMThuX2VuID0ge1xyXG4gIFwiVEVSTV9QT1JUQUxfTkFNRVwiOiBcIlRpbGRlIHRlcm1cIixcclxuICBcIkFQUF9OQU1FXCI6IFwiVGlsZGUgTVRcIixcclxuICBcIlRMRF9UUkFOU0xBVEVcIjoge1xyXG4gICAgXCJCRVNUX05NVFwiOiBcIlByb3VkIHdpbm5lciBvZiB0aGUgYmVzdCBtYWNoaW5lIHRyYW5zbGF0aW9uIHRlY2hub2xvZ3kgYXQgV01UIENvbXBldGl0aW9uIGZvciB0aHJlZSB5ZWFycyBpbiBhIHJvdy5cIixcclxuICAgIFwiQkVTVF9OTVRfTU9SRVwiOiBcIkxlYXJuIG1vcmVcIixcclxuICAgIFwiQ0FOQ0VMX1RSQU5TTEFUSU9OXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRJQ1RJT05BUllfRVhBTVBMRVNcIjogXCJleGFtcGxlc1wiLFxyXG4gICAgXCJET1dOTE9BRF9UUkFOU0xBVEVEXCI6IFwiRG93bmxvYWRcIixcclxuICAgIFwiRE9NQUlOU19BUklBX0xBQkVMXCI6IFwiRG9tYWluc1wiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgUERGXCIsXHJcbiAgICBcIkZJTEVfRE9XTkxPQURfU09VUkNFX0hFTFBcIjogXCJQREYgY29udmVyc2lvbiBtYXkgY2F1c2UgZm9ybWF0dGluZyBlcnJvcnMgb3IgdGV4dCBkaXN0b3J0aW9uLiBQbGVhc2UgY2hlY2sgdGhlIGNvbnZlcnRlZCBmaWxlIGFuZCBmaXggdGhlIGVycm9ycyBiZWZvcmUgcmUtdXBsb2FkaW5nIHRoZSBmaWxlIGZvciB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJGSUxFX0RPV05MT0FEX1NPVVJDRV9JTUFHRVwiOiBcIkRvd25sb2FkIGNvbnZlcnRlZCBzb3VyY2UgaW1hZ2VcIixcclxuICAgIFwiRklMRV9ET1dOTE9BRF9TT1VSQ0VfSU1BR0VfSEVMUFwiOiBcIkltYWdlIGNvbnZlcnNpb24gbWF5IGNhdXNlIGZvcm1hdHRpbmcgZXJyb3JzIG9yIHRleHQgZGlzdG9ydGlvbi4gUGxlYXNlIGNoZWNrIHRoZSBjb252ZXJ0ZWQgZmlsZSBhbmQgZml4IHRoZSBlcnJvcnMgYmVmb3JlIHJlLXVwbG9hZGluZyB0aGUgZmlsZSBmb3IgdHJhbnNsYXRpb25cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfSU5JVElBTElaSU5HXCI6IFwiSW5pdGlhbGl6aW5nIHRyYW5zbGF0aW9uIHByb2Nlc3MuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfRVhUUkFDVElOR1wiOiBcIkV4dHJhY3RpbmcgdHJhbnNsYXRhYmxlIGNvbnRlbnQuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfV0FJVElOR1wiOiBcIlN0YXJ0aW5nIHRyYW5zbGF0b3IuLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfVFJBTlNMQVRJTkdcIjogXCJUcmFuc2xhdGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19TQVZJTkdcIjogXCJTYXZpbmcgdHJhbnNsYXRpb24uLi5cIixcclxuICAgIFwiRklMRV9UQU5TTEFUSU9OX1NUQVRVU1NfUVVFVUlOR1wiOiBcIlRyYW5zbGF0aW9uIGlzIHN0YXJ0aW5nLi4uXCIsXHJcbiAgICBcIkZJTEVfVEFOU0xBVElPTl9TVEFUVVNTX1VQTE9BRElOR1wiOiBcIlVwbG9hZGluZy4uLlwiLFxyXG4gICAgXCJGSUxFX1RBTlNMQVRJT05fU1RBVFVTU19VUExPQURFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIkZJTEVfVEFSR0VUX1BSRVZJRVdfTUVTU0FHRVwiOiBcIlRoaXMgaXMgYSBwcmV2aWV3IG9mIHRoZSB0cmFuc2xhdGVkIGRvY3VtZW50LCBwbGVhc2UgZG93bmxvYWQgdG8gcmVjZWl2ZSBhIGNvbXBsZXRlIHRyYW5zbGF0aW9uLlwiLFxyXG4gICAgXCJGUk9NXCI6IFwiRnJvbTpcIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJfTElOS1wiOiBcIlNlZSBob3cgdG8gZml4IGl0XCIsXHJcbiAgICBcIklNQUdFX0RJU0NMQUlNRVJfTElOS1wiOiBcIlJlYWQgYWJvdXQgaW1hZ2UgY29udmVyc2lvbi5cIixcclxuICAgIFwiUFJFUEFSSU5HX1RSQU5TTEFUSU9OXCI6IFwiVHJhbnNsYXRpb24gaXMgc3RhcnRpbmdcIixcclxuICAgIFwiUkVHSVNURVJFRF9GT1JNQVRTX0xPR0dFRF9JTlwiOiBcIlJlZ2lzdGVyZWQgdXNlcnMgaGF2ZSBhY2Nlc3MgdG8gdGhlIGZvbGxvd2luZyBkb2N1bWVudCBmb3JtYXRzIHRyYW5zbGF0aW9uOiB7e2Zvcm1hdHN9fS5cIixcclxuICAgIFwiUkVHSVNURVJFRF9GT1JNQVRTXCI6IFwiUmVnaXN0ZXJlZCB1c2VycyBoYXZlIGFjY2VzcyB0byB0aGUgZm9sbG93aW5nIGRvY3VtZW50IGZvcm1hdHMgdHJhbnNsYXRpb246IHt7Zm9ybWF0c319LiBSZXF1ZXN0IHlvdXIgYWNjZXNzIDxhIGNsYXNzPVxcXCJhY2NlbnQtY29sb3JcXFwiIHRhcmdldD1cXFwiYmxhbmtcXFwiIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX1cXFwiPmhlcmU8L2E+LlwiLFxyXG4gICAgXCJTT1VSQ0VfRk9STUFUU1wiOiBcIlNlY3VyZSBwdWJsaWMgdHJhbnNsYXRpb24gc2VydmljZSBzdXBwb3J0cyBmb2xsb3dpbmcgZG9jdW1lbnQgZm9ybWF0czoge3tmb3JtYXRzfX07XCIsXHJcbiAgICBcIlNPVVJDRV9UT09MVElQXCI6IFwiVHlwZSB0ZXh0IG9yIGluc2VydCBsaW5rIHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfT05MWV9URVhUXCI6IFwiVHlwZSB0ZXh0IHRvIHRyYW5zbGF0ZS5cIixcclxuICAgIFwiU09VUkNFX1RPT0xUSVBfU0VOU0lUSVZFX0lORk9cIjogXCJEbyBub3QgdXNlIHt7YXBwTmFtZX19IHRvIHRyYW5zbGF0ZSBjb25maWRlbnRpYWwgb3IgY2xhc3NpZmllZCBpbmZvcm1hdGlvbiBvciB0ZXh0cyB0aGF0IGNvbnRhaW4gc3BlY2lhbCBjYXRlZ29yaWVzIG9mIHBlcnNvbmFsIGRhdGEsIHN1Y2ggYXMgbWVkaWNhbCBkYXRhXCIsXHJcbiAgICBcIlRBUkdFVF9ERVNDUklQVElPTlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gYWxsb3dzIHRvIHVuZGVyc3RhbmQgdGhlIG1lYW5pbmcgb2YgYSBzb3VyY2UgdGV4dCwgYnV0IGNhbm5vdCBzdWJzdGl0dXRlIGEgaHVtYW4gdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIlRPXCI6IFwiVG86XCIsXHJcbiAgICBcIlRFWFRfQ09QSUVEXCI6IFwiVHJhbnNsYXRpb24gY29waWVkXCIsXHJcbiAgICBcIlNVR0dFU1RfQlVUVE9OXCI6IFwiU3VnZ2VzdCB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJTVUdHRVNUX09SSUdJTkFMX0xBQkVMXCI6IFwiT3JpZ2luYWwgc2VudGVuY2VcIixcclxuICAgIFwiU1VHR0VTVF9TVUJNSVRfQlVUVE9OXCI6IFwiQ29udHJpYnV0ZVwiLFxyXG4gICAgXCJTVUdHRVNUX1RSQU5TTEFUSU9OX0xBQkVMXCI6IFwiVHJhbnNsYXRpb25cIixcclxuICAgIFwiU1VHR0VTVF9VU0FHRV9JTkZPXCI6IFwiWW91ciBhbm9ueW1pemVkIHRyYW5zbGF0aW9uIHN1Z2dlc3Rpb24gd2lsbCBiZSB1c2VkIHRvIGltcHJvdmUgdGhlIHF1YWxpdHkgb2YgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVE9PTFRJUF9BQ1RJT05cIjogXCJUcmFuc2xhdGVcIixcclxuICAgIFwiVkVORE9SU19BUklBX0xBQkVMXCI6IFwiUHJvdmlkZXJzXCIsXHJcbiAgICBcIldPUkRfVFlQRV9BREpFQ1RJVkVcIjogXCJhZGplY3RpdmVcIixcclxuICAgIFwiV09SRF9UWVBFX05PVU5cIjogXCJub3VuXCIsXHJcbiAgICBcIldPUkRfVFlQRV9WRVJCXCI6IFwidmVyYlwiLFxyXG4gICAgXCJXT1JEX1RZUEVfQURWRVJCXCI6IFwiYWR2ZXJiXCIsXHJcbiAgICBcIldPUkRfVFlQRV9DT05KVU5DVElPTlwiOiBcImNvbmp1bmN0aW9uXCIsXHJcbiAgICBcIldPUkRfVFlQRV9JTlRFUkpFQ1RJT05cIjogXCJpbnRlcmplY3Rpb25cIixcclxuICAgIFwiV09SRF9UWVBFX1BST05PVU5cIjogXCJwcm9ub3VuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfVElUTEVcIjogXCJUcmFuc2xhdGlvbiBsaW1pdFwiLFxyXG4gICAgXCJET0NfV09SRF9DTlRfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3QgMTI1MCB3b3JkcyB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIkRPQ19XT1JEX0NOVF9MSU1JVF9NU0dfU1VCU0NSSVBUSU9OXCI6IFwiIFlvdSBuZWVkIGEgVGlsZGUgTVQgc3Vic2NyaXB0aW9uIHRvIHRyYW5zbGF0ZSBmdWxsIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3ByaWNpbmdVcmx9fVxcXCIgdGFyZ2V0PSdfYmxhbmsnPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRF9USVRMRVwiOiBcIk5vIHRyYW5zbGF0aW9uIGVuZ2luZXMgd2VyZSBsb2FkZWRcIixcclxuICAgIFwiRVJST1JfTk9fU1lTVEVNU19MT0FERURcIjogXCJGYWlsZWQgdG8gbG9hZCB0aGUgbWFjaGluZSB0cmFuc2xhdGlvbiBlbmdpbmVzLlwiLFxyXG4gICAgXCJFUlJPUl9OT19TWVNURU1TX0xPQURFRF9TVVBQT1JUXCI6IFwiIFBsZWFzZSByZWxvYWQgdGhlIHBhZ2Ugb3IgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHX1RJVExFXCI6IFwiVHJhbnNsYXRpb24gbGltaXRcIixcclxuICAgIFwiUERGX1BBR0VfTElNSVRfTVNHXCI6IFwiT25seSB0aGUgZmlyc3QgcGFnZSB3aWxsIGJlIHRyYW5zbGF0ZWQuXCIsXHJcbiAgICBcIlBERl9QQUdFX0xJTUlUX01TR19TVUJTQ1JJUFRJT05cIjogXCIgWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gdHJhbnNsYXRlIGZ1bGwgUERGIGZpbGVzLiA8YSBocmVmPVxcXCJ7e3ByaWNpbmdVcmx9fVxcXCIgdGFyZ2V0PSdfYmxhbmsnPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgXCJDTEVBUl9TT1VSQ0VfVE9PTFRJUFwiOiBcIkNsZWFyIHRleHRcIlxyXG4gIH0sXHJcbiAgXCJNVUxUSVBMRV9GSUxFU1wiOiB7XHJcbiAgICBcIkFQUEVORFwiOiBcIkFkZCBmaWxlc1wiLFxyXG4gICAgXCJDTEVBUl9BTExcIjogXCJDYW5jZWxcIixcclxuICAgIFwiRE9XTkxPQURcIjogXCJEb3dubG9hZFwiLFxyXG4gICAgXCJTVEFUVVNTX0lOSVRJQUxJWklOR1wiOiBcIkluaXRpYWxpemluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX0VYVFJBQ1RJTkdcIjogXCJFeHRyYWN0aW5nXCIsXHJcbiAgICBcIlNUQVRVU1NfV0FJVElOR1wiOiBcIlN0YXJ0aW5nIHRyYW5zbGF0b3JcIixcclxuICAgIFwiU1RBVFVTU19UUkFOU0xBVElOR1wiOiBcIlRyYW5zbGF0aW5nIHt7cGVyY2VudH19JVwiLFxyXG4gICAgXCJTVEFUVVNTX1NBVklOR1wiOiBcIlNhdmluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX0NPTVBMRVRFRFwiOiBcIkNvbXBsZXRlZFwiLFxyXG4gICAgXCJTVEFUVVNTX0VSUk9SXCI6IFwiRXJyb3JcIixcclxuICAgIFwiU1RBVFVTU19RVUVVSU5HXCI6IFwiUXVldWluZ1wiLFxyXG4gICAgXCJTVEFUVVNTX05PVF9TVEFSVEVEXCI6IFwiVXBsb2FkZWRcIixcclxuICAgIFwiU1RBVFVTU19VUExPQURJTkdcIjogXCJVcGxvYWRpbmcuLi5cIixcclxuICAgIFwiU1RBVFVTU19VUExPQURFRFwiOiBcIlVwbG9hZGVkXCIsXHJcbiAgICBcIlRJVExFX0ZJTEVfTkFNRVwiOiBcIkZpbGVcIixcclxuICAgIFwiVElUTEVfU1RBVFVTU1wiOiBcIlN0YXR1c1wiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9TVEFUVVNTX0xBQkVMXCI6IFwiU3RhdHVzXCIsXHJcbiAgICBcIlBERl9ESVNDTEFJTUVSXCI6IFwiUERGIGRvY3VtZW50cyBtYXkgaGF2ZSBmb3JtYXR0aW5nIG9yIHRyYW5zbGF0aW9uIGVycm9ycy5cIixcclxuICAgIFwiUERGX0RJU0NMQUlNRVJfTElOS1wiOiBcIlJlYWQgYWJvdXQgcGRmIGNvbnZlcnNpb24uXCIsXHJcbiAgICBcIklNQUdFX0RJU0NMQUlNRVJcIjogXCJJbWFnZSBjb252ZXJzaW9uIG1heSBjYXVzZSBmb3JtYXR0aW5nIGVycm9ycyBvciB0ZXh0IGRpc3RvcnRpb24uXCIsXHJcbiAgICBcIklNQUdFX0RJU0NMQUlNRVJfTElOS1wiOiBcIlJlYWQgYWJvdXQgaW1hZ2UgY29udmVyc2lvbi5cIixcclxuICAgIFwiU0NSRUVOX1JFQURFUl9BTk5PVU5DRU1FTlRcIjogXCJ7e3RyYW5zbGF0ZWR9fSBvdXQgb2Yge3t0b3RhbH19IGZpbGVzIGFyZSB0cmFuc2xhdGVkLlwiLFxyXG4gICAgXCJSRU1PVkVfRklMRV9UT09MVElQXCI6IFwiQ2xlYXIgZmlsZVwiXHJcbiAgfSxcclxuICBcIkVSUk9SU1wiOiB7XHJcbiAgICBcIkVSUk9SX0RFRkFVTFRfVElUTEVcIjogXCJVbmV4cGVjdGVkIGVycm9yXCIsXHJcbiAgICBcIkVSUk9SX0RFRkFVTFRcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFUlJPUl9ERUZBVUxUX1NVUFBPUlRcIjogXCIgSWYgdGhlIHByb2JsZW0gY29udGludWVzLCBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGxpbWl0XCIsXHJcbiAgICBcIk1BWF9DSEFSX0xFTkdUSFwiOiBcIk9ubHkge3ttYXhDaGFyTGVuZ3RofX0ve3t0b3RhbFN5bWJvbHN9fSBjaGFyYWN0ZXJzIHdpbGwgYmUgdHJhbnNsYXRlZC5cIixcclxuICAgIFwiTUFYX0NIQVJfTEVOR1RIX1NVQlNDUklQVElPTlwiOiBcIiBZb3UgbmVlZCBhIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiBmb3IgdW5saW1pdGVkIHRleHQgdHJhbnNsYXRpb24uIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiTUFYX05VTUJFUl9PRl9GSUxFU19USVRMRVwiOiBcIlVwbG9hZCBsaW1pdFwiLFxyXG4gICAgXCJNQVhfTlVNQkVSX09GX0ZJTEVTXCI6IFwiT25seSB7e2xpbWl0fX0gZmlsZXMgY2FuIGJlIHRyYW5zbGF0ZWQgYXQgb25jZS5cIixcclxuICAgIFwiSU5DUkVBU0VfTUFYX05VTUJFUl9PRl9GSUxFU19USVRMRVwiOiBcIlVwbG9hZCBsaW1pdFwiLFxyXG4gICAgXCJJTkNSRUFTRV9NQVhfTlVNQkVSX09GX0ZJTEVTXCI6IFwiT25seSAxIGZpbGUgY2FuIGJlIHRyYW5zbGF0ZWQgYXQgb25jZS4gWW91IG5lZWQgYSBUaWxkZSBNVCBzdWJzY3JpcHRpb24gdG8gaW5jcmVhc2UgbGltaXQuIDxhIGhyZWY9XFxcInt7cmVnaXN0ZXJMaW5rfX0/e3txdWVyeVN0cmluZ319XFxcIj5zdGFydCB3aXRoIGEgZnJlZSB0cmlhbDwvYT5cIixcclxuICAgIFwiRklMRV9BTFJFQURZX0FEREVEX1RJVExFXCI6IFwiRmlsZSBoYXMgYWxyZWFkeSBiZWVuIGFkZGVkXCIsXHJcbiAgICBcIkZJTEVfQUxSRUFEWV9BRERFRFwiOiBcIkZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaGFzIGFscmVhZHkgYmVlbiBhZGRlZC5cIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMV9USVRMRVwiOiBcIlVuYXV0aG9yaXplZFwiLFxyXG4gICAgXCJVQU5VVEhPUklaRURfNDAxXCI6IFwiWW91IGRvbid0IGhhdmUgcGVybWlzc2lvbiB0byB1c2UgbWFjaGluZSB0cmFuc2xhdGlvbi5cIixcclxuICAgIFwiVUFOVVRIT1JJWkVEXzQwMV9TVVBQT1JUXCI6IFwiIFBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+IHN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJFX1VOS05PV05fRklMRV9UWVBFXCI6IFwiVW5rbm93biBmaWxlIHR5cGUuXCIsXHJcbiAgICBcIkVfQ0FOTk9UX1JFQURfRklMRV9USVRMRVwiOiBcIlVuYWJsZSB0byByZWFkIGZpbGVcIixcclxuICAgIFwiRV9DQU5OT1RfUkVBRF9GSUxFXCI6IFwiVGhlIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgY29ycnVwdGVkIGFuZCBjb3VsZG4ndCBiZSB0cmFuc2xhdGVkLiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTl9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTlwiOiBcIkVycm9yIG9jY3VycmVkIHdoaWxlIHRyYW5zbGF0aW5nLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFX0ZBSUxFRF9JTl9UUkFOU0xBVElPTl9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPiBzdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV9GT1JNQVRfVFJBQ0tfQ0hBTkdFU19USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZCwgYmVjYXVzZSDigJh0cmFjayBjaGFuZ2Vz4oCZIGlzIHR1cm5lZCBvblwiLFxyXG4gICAgXCJFX0ZPUk1BVF9UUkFDS19DSEFOR0VTXCI6IFwiQ2hhbmdlcyBtdXN0IGZpcnN0IGJlIGFjY2VwdGVkIG9yIOKAmHRyYWNrIGNoYW5nZXPigJkgdHVybmVkIG9mZiBiZWZvcmUgdHJhbnNsYXRpbmcgT2ZmaWNlIGZpbGVzLlwiLFxyXG4gICAgXCJFX1VOS05PV05fRVJST1JfVElUTEVcIjogXCJVbmtub3duIGVycm9yXCIsXHJcbiAgICBcIkVfVU5LTk9XTl9FUlJPUlwiOiBcIkFuIHVua25vd24gZXJyb3Igb2NjdXJyZWQuXCIsXHJcbiAgICBcIkVfVU5BVVRIT1JJWkVEX1RJVExFXCI6IFwiVW5hdXRob3JpemVkXCIsXHJcbiAgICBcIkVfVU5BVVRIT1JJWkVEXCI6IFwiRG9jdW1lbnQgdHJhbnNsYXRpb24gd2FzIGRlbmllZC5cIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVfVElUTEVcIjogXCJGYWlsZWQgdG8gY3JlYXRlIGEgZ2xvc3NhcnlcIixcclxuICAgIFwiQ09MTEVDVElPTl9DUkVBVEVcIjogXCJGYWlsZWQgdG8gY3JlYXRlIGEgbmV3IGdsb3NzYXJ5LiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0NSRUFURV9TVVBQT1JUXCI6IFwiIElmIHRoZSBwcm9ibGVtIGNvbnRpbnVlcywgY29udGFjdCA8YSBocmVmPVxcXCJtYWlsdG86e3tlbWFpbH19XFxcIj48c3Ryb25nPnN1cHBvcnQ8L3N0cm9uZz48L2E+LlwiLFxyXG4gICAgXCJDT0xMRUNUSU9OX0lNUE9SVF9USVRMRVwiOiBcIkZhaWxlZCB0byBhdHRhY2ggdGhlIGdsb3NzYXJ5XCIsXHJcbiAgICBcIkNPTExFQ1RJT05fSU1QT1JUXCI6IFwiRmFpbGVkIHRvIGF0dGFjaCB0aGUgdGVybSBjb2xsZWN0aW9uIHdpdGggSUQ6IHt7dGVybUlkfX0gdG8gdGhlIG1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lLiBQbGVhc2UgdHJ5IGFnYWluLlwiLFxyXG4gICAgXCJFXzExXCI6IFwiRGFpbHkgdHJhbnNsYXRpb24gbGltaXQgaGFzIGJlZW4gcmVhY2hlZC5cIixcclxuICAgIFwiRV8xMV9TVVBQT1JUXCI6IFwiIFRvIGluY3JlYXNlIHRoZSBkYWlseSBsaW1pdCwgcGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV8xMl9USVRMRVwiOiBcIlRleHQgc2l6ZSBsaW1pdFwiLFxyXG4gICAgXCJFXzEyXCI6IFwiVGV4dCBzaXplIGxpbWl0IHJlYWNoZWQuIFNlbmQgbGVzcyB0ZXh0IGluIHRoZSByZXF1ZXN0LlwiLFxyXG4gICAgXCJFXzEyX1NVUFBPUlRcIjogXCIgVG8gaW5jcmVhc2UgdGhlIHRleHQgc2l6ZSBsaW1pdCwgcGxlYXNlIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV8yMVwiOiBcIlRoZSB0cmFuc2xhdGlvbiBlbmdpbmUgaXMgc3RhcnRpbmcgdXAsIHRoaXMgbWF5IHRha2UgYSBtb21lbnQhXCIsXHJcbiAgICBcIkVfMjJfVElUTEVcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBub3QgZm91bmRcIixcclxuICAgIFwiRV8yMlwiOiBcIk1hY2hpbmUgdHJhbnNsYXRpb24gZW5naW5lIG5vdCBmb3VuZC5cIixcclxuICAgIFwiRV8yMl9TVVBQT1JUXCI6IFwiIFBsZWFzZSBjb250YWN0IDxhIGhyZWY9XFxcIm1haWx0bzp7e2VtYWlsfX1cXFwiPjxzdHJvbmc+c3VwcG9ydDwvc3Ryb25nPjwvYT4uXCIsXHJcbiAgICBcIkVfMjNcIjogXCJNYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZSBpcyBub3Qgc3RhcnRlZC5cIixcclxuICAgIFwiRV8yM19TVVBQT1JUXCI6IFwiIENvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRV80MVwiOiBcIlVua25vd24gdGVybSBjb3JwdXMgSUQgcHJvdmlkZWQuIFRlcm0gY29ycHVzIG11c3QgYmUgbGlua2VkIHRvIHRoZSBtYWNoaW5lIHRyYW5zbGF0aW9uIGVuZ2luZVwiLFxyXG4gICAgXCJFXzUwNFwiOiBcIlRyYW5zbGF0aW9uIGhhcyB0aW1lZCBvdXQuIFRyeSBhZ2FpbiBsYXRlci5cIixcclxuICAgIFwiRV81MDRfVElUTEVcIjogXCJUcmFuc2xhdGlvbiB0aW1lb3V0XCIsXHJcbiAgICBcIkVfNDA0MjAxXCI6IFwiRW5naW5lIHRlcm0gY29sbGVjdGlvbiBub3QgZm91bmRcIixcclxuICAgIFwiRV80MTMxMDJfVElUTEVcIjogXCJVcGxvYWRpbmcgZmlsZSBlcnJvclwiLFxyXG4gICAgXCJFXzQxMzEwMlwiOiBcIlVwbG9hZGVkIGZpbGUgaXMgdG9vIGxhcmdlXCIsXHJcbiAgICBcIlRSQU5TTEFUSU9OX0ZBSUxFRF9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZFwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURcIjogXCJBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLlwiLFxyXG4gICAgXCJUUkFOU0xBVElPTl9GQUlMRURfU1VQUE9SVFwiOiBcIiBJZiB0aGUgcHJvYmxlbSBjb250aW51ZXMsIGNvbnRhY3QgPGEgaHJlZj1cXFwibWFpbHRvOnt7ZW1haWx9fVxcXCI+PHN0cm9uZz5zdXBwb3J0PC9zdHJvbmc+PC9hPi5cIixcclxuICAgIFwiRklMRV9UUkFOU0xBVElPTl9MSU1JVFNcIjoge1xyXG4gICAgICBcIkVfNDI5MDAxX1RJVExFXCI6IFwiRmlsZSB0cmFuc2xhdGlvbiBsaW1pdCByZWFjaGVkXCIsXHJcbiAgICAgIFwiRV80MjkwMDFcIjogXCJZb3UgaGF2ZSByZWFjaGVkIHlvdXIgbW9udGhseSBsaW1pdCBvZiB7e3F1b3RhRmlsZUxpbWl0fX0gZmlsZXMgdHJhbnNsYXRlZC4gPGEgaHJlZj0ne3twcmljaW5nVXJsfX0nIHRhcmdldD0nX2JsYW5rJz5VcGdyYWRlIHBsYW48L2E+IHRvIGNvbnRpbnVlIHRyYW5zbGF0aW5nIGZpbGVzLlwiXHJcbiAgICB9LFxyXG4gICAgXCJGSUxFX1RSQU5TTEFUSU9OX1NVQlNUQVRVU1wiOiB7XHJcbiAgICAgIFwiQkFEX0ZJTEVfRVJST1JfVElUTEVcIjogXCJGYWlsZWQgdG8gdHJhbnNsYXRlIHRoZSBmaWxlXCIsXHJcbiAgICAgIFwiQkFEX0ZJTEVfRVJST1JcIjogXCJUaGUgZmlsZSBpcyBjb3JydXB0ZWQgYW5kIGNvdWxkbid0IGJlIHRyYW5zbGF0ZWQuIENoZWNrIHRoZSBmaWxlIGFuZCB0cnkgYWdhaW4uXCIsXHJcbiAgICAgIFwiTk9fVEVYVF9FWFRSQUNURURfRVJST1JfVElUTEVcIjogXCJGYWlsZWQgdG8gZXh0cmFjdCBhbnkgdGV4dFwiLFxyXG4gICAgICBcIk5PX1RFWFRfRVhUUkFDVEVEX0VSUk9SXCI6IFwiVGhlIGZpbGUgbWF5IGJlIGVtcHR5LiBDaGVjayB0aGUgZmlsZSBhbmQgdHJ5IGFnYWluLlwiLFxyXG4gICAgICBcIlRSQUNLX0NIQU5HRVNfRU5BQkxFRF9FUlJPUl9USVRMRVwiOiBcIlRyYW5zbGF0aW9uIGZhaWxlZCwgYmVjYXVzZSDigJh0cmFjayBjaGFuZ2Vz4oCZIGlzIHR1cm5lZCBvblwiLFxyXG4gICAgICBcIlRSQUNLX0NIQU5HRVNfRU5BQkxFRF9FUlJPUlwiOiBcIkNoYW5nZXMgbXVzdCBmaXJzdCBiZSBhY2NlcHRlZCBvciDigJh0cmFjayBjaGFuZ2Vz4oCZIHR1cm5lZCBvZmYgYmVmb3JlIHRyYW5zbGF0aW5nIE9mZmljZSBmaWxlcy5cIixcclxuICAgICAgXCJVTktOT1dOX0ZJTEVfVFlQRV9FUlJPUl9USVRMRVwiOiBcIlVua25vd24gZmlsZSB0eXBlXCIsXHJcbiAgICAgIFwiVU5LTk9XTl9GSUxFX1RZUEVfRVJST1JcIjogXCJGaWxlIHR5cGUgbm90IHJlY29nbml6ZWQuIFRoZSBmaWxlIGV4dGVuc2lvbiBtYXkgYmUgaW5jb3JyZWN0LCBvciB0aGUgZmlsZSBtYXkgYmUgY29ycnVwdGVkLlwiXHJcbiAgICB9LFxyXG4gICAgXCJGSUxFX1VQTE9BRFwiOiB7XHJcbiAgICAgIFwiRklMRV9VUExPQURfRU1QVFlfVElUTEVcIjogXCJUaGUgZmlsZSBpcyBlbXB0eVwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX0VNUFRZXCI6IFwiVGhlIHVwbG9hZGVkIGZpbGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgaXMgZW1wdHkuIFNlbGVjdCBhIGZpbGUgd2l0aCBjb250ZW50LlwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX01BWF9TSVpFX1RJVExFXCI6IFwiRmlsZSBzaXplIGxpbWl0XCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfTUFYX1NJWkVcIjogXCJUaGUgdXBsb2FkZWQgZmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBpcyB0b28gYmlnLiBNYXhpbXVtIHNpemUge3ttYXhTaXplTUJ9fU1CXCIsXHJcbiAgICAgIFwiRklMRV9VUExPQURfVU5TVVBQT1JURURfRk9STUFUX1RJVExFXCI6IFwiVW5zdXBwb3J0ZWQgZmlsZSBmb3JtYXRcIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRcIjogXCJUaGUgdXBsb2FkZWQgZmlsZSBcXFwie3tmaWxlTmFtZX19XFxcIiBmb3JtYXQgaXMgbm90IHN1cHBvcnRlZC4gVHJhbnNsYXRpb24gaXMgc3VwcG9ydGVkIGZvciB0aGVzZSBkb2N1bWVudCBmb3JtYXRzOiB7e2Zvcm1hdHN9fS5cIixcclxuICAgICAgXCJGSUxFX1VQTE9BRF9VTlNVUFBPUlRFRF9GT1JNQVRfUkVHSVNURVJfVElUTEVcIjogXCJVbnN1cHBvcnRlZCBmaWxlIGZvcm1hdFwiLFxyXG4gICAgICBcIkZJTEVfVVBMT0FEX1VOU1VQUE9SVEVEX0ZPUk1BVF9SRUdJU1RFUlwiOiBcIllvdSBuZWVkIFRpbGRlIE1UIHN1YnNjcmlwdGlvbiB0byB0cmFuc2xhdGUgXFxcInt7ZmlsZU5hbWV9fVxcXCIgZmlsZS4gPGEgaHJlZj1cXFwie3tyZWdpc3Rlckxpbmt9fT97e3F1ZXJ5U3RyaW5nfX1cXFwiPnN0YXJ0IHdpdGggYSBmcmVlIHRyaWFsPC9hPlwiLFxyXG4gICAgICBcIkVfNDA0X1RJVExFXCI6IFwiRmlsZSBub3QgZm91bmRcIixcclxuICAgICAgXCJFXzQwNFwiOiBcIlRoZSByZXF1ZXN0ZWQgZmlsZSBkb2Vzbid0IGV4aXN0XCIsXHJcbiAgICAgIFwiRV80MDRfUkVNT1ZFX1RJVExFXCI6IFwiRmFpbGVkIHRvIGRlbGV0ZSB0aGUgZmlsZVwiLFxyXG4gICAgICBcIkVfNDA0X1JFTU9WRVwiOiBcIkZpbGUgaGFzIGFscmVhZHkgYmVlbiBkZWxldGVkXCJcclxuICAgIH0sXHJcbiAgICBcIkFVRElPXCI6IHtcclxuICAgICAgXCJOT19TUEVFQ0hfVElUTEVcIjogXCJObyBzcGVlY2hcIixcclxuICAgICAgXCJOT19TUEVFQ0hcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZC4gV2UgY291bGRuJ3QgaGVhciB5b3UuXCIsXHJcbiAgICAgIFwiTUFYX1RJTUVfRVhDRUVERURfVElUTEVcIjogXCJTcGVlY2ggbGltaXRcIixcclxuICAgICAgXCJNQVhfVElNRV9FWENFRURFRFwiOiBcIllvdXIgcmVjb3JkaW5nIHdhcyBzdG9wcGVkLiBTcGVlY2ggaW5wdXQgaXMgbGltaXRlZCB0byB7e3RpbWVTdHJpbmd9fS5cIixcclxuICAgICAgXCJNSUNfTk9UX0FMTE9XRURfVElUTEVcIjogXCJNaWNyb3Bob25lIGFjY2VzcyBkZW5pZWRcIixcclxuICAgICAgXCJNSUNfTk9UX0FMTE9XRURcIjogXCJZb3UgaGF2ZSBkZW5pZWQgYWNjZXNzIHRvIHRoZSBtaWNyb3Bob25lLiBDaGFuZ2UgcGVybWlzc2lvbnMgaW4gYnJvd3NlcidzIHNldHRpbmdzLlwiLFxyXG4gICAgICBcIk1BWF9TSVpFX0VYQ0VFREVEX1RJVExFXCI6IFwiU3BlZWNoIGxpbWl0XCIsXHJcbiAgICAgIFwiTUFYX1NJWkVfRVhDRUVERURcIjogXCJZb3VyIHJlY29yZGluZyB3YXMgc3RvcHBlZCBhbmQgc2VudCB0byBwcm9jZXNzaW5nLiBTcGVlY2ggaW5wdXQgaXMgbGltaXRlZCB0byAoe3ttYXhTaXplTWJ9fU1CKSBzaXplLlwiLFxyXG4gICAgICBcIkNBTlRfU1RBUlRfUkVDT1JESU5HX1RJVExFXCI6IFwiRmFpbGVkIHRvIHN0YXJ0IHJlY29yZGluZ1wiLFxyXG4gICAgICBcIkNBTlRfU1RBUlRfUkVDT1JESU5HXCI6IFwiVW5hYmxlIHRvIHN0YXJ0IHJlY29yZGluZy4gUGxlYXNlIHRyeSBhZ2Fpbi5cIixcclxuICAgICAgXCJOT19URVhUX1JFQ09HTklaRURfVGl0bGVcIjogXCJObyBzcGVlY2ggcmVjb2duaXplZFwiLFxyXG4gICAgICBcIk5PX1RFWFRfUkVDT0dOSVpFRFwiOiBcIk5vIHNwZWVjaCBjb3VsZCBiZSByZWNvZ25pemVkLiBDaGVjayB5b3VyIG1pY3JvcGhvbmUgYW5kIHRyeSBhZ2Fpbi5cIlxyXG4gICAgfVxyXG4gIH0sXHJcbiAgXCJMQU5HVUFHRVNcIjoge1xyXG4gICAgXCJBVVRPXCI6IFwiRGV0ZWN0IGxhbmd1YWdlXCIsXHJcbiAgICBcIkFSXCI6IFwiQXJhYmljXCIsXHJcbiAgICBcIkxWXCI6IFwiTGF0dmlhblwiLFxyXG4gICAgXCJFVFwiOiBcIkVzdG9uaWFuXCIsXHJcbiAgICBcIkRBXCI6IFwiRGFuaXNoXCIsXHJcbiAgICBcIkZJXCI6IFwiRmlubmlzaFwiLFxyXG4gICAgXCJJU1wiOiBcIkljZWxhbmRpY1wiLFxyXG4gICAgXCJMVFwiOiBcIkxpdGh1YW5pYW5cIixcclxuICAgIFwiU1ZcIjogXCJTd2VkaXNoXCIsXHJcbiAgICBcIkJFXCI6IFwiQmVsb3J1c3NpYW5cIixcclxuICAgIFwiQkdcIjogXCJCdWxnYXJpYW5cIixcclxuICAgIFwiQ1NcIjogXCJDemVjaFwiLFxyXG4gICAgXCJIVVwiOiBcIkh1bmdhcmlhblwiLFxyXG4gICAgXCJSVVwiOiBcIlJ1c3NpYW5cIixcclxuICAgIFwiTU9cIjogXCJNb2xkYXZpYW5cIixcclxuICAgIFwiUExcIjogXCJQb2xpc2hcIixcclxuICAgIFwiU0tcIjogXCJTbG92YWtcIixcclxuICAgIFwiVUtcIjogXCJVa3JhaW5pYW5cIixcclxuICAgIFwiTkxcIjogXCJEdXRjaFwiLFxyXG4gICAgXCJFTlwiOiBcIkVuZ2xpc2hcIixcclxuICAgIFwiRlJcIjogXCJGcmVuY2hcIixcclxuICAgIFwiREVcIjogXCJHZXJtYW5cIixcclxuICAgIFwiR0FcIjogXCJJcmlzaFwiLFxyXG4gICAgXCJFTFwiOiBcIkdyZWVrXCIsXHJcbiAgICBcIklUXCI6IFwiSXRhbGlhblwiLFxyXG4gICAgXCJNVFwiOiBcIk1hbHRlc2VcIixcclxuICAgIFwiUFRcIjogXCJQb3J0dWd1ZXNlXCIsXHJcbiAgICBcIlNSXCI6IFwiU2VyYmlhblwiLFxyXG4gICAgXCJTTFwiOiBcIlNsb3ZlbmlhblwiLFxyXG4gICAgXCJFU1wiOiBcIlNwYW5pc2hcIixcclxuICAgIFwiWkhcIjogXCJDaGluZXNlXCIsXHJcbiAgICBcIkpBXCI6IFwiSmFwYW5lc2VcIixcclxuICAgIFwiS09cIjogXCJLb3JlYW5cIixcclxuICAgIFwiVFJcIjogXCJUdXJraXNoXCIsXHJcbiAgICBcIkhSXCI6IFwiQ3JvYXRpYW5cIixcclxuICAgIFwiUk9cIjogXCJSb21hbmlhblwiLFxyXG4gICAgXCJVWlwiOiBcIlV6YmVrXCIsXHJcbiAgICBcIklEXCI6IFwiSW5kb25lc2lhblwiXHJcbiAgfSxcclxuICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgIFwiQ0xPU0VfQlVUVE9OXCI6IFwiQ2xlYXJcIixcclxuICAgIFwiQ0xFQVJfTk9USUZJQ0FUSU9OXCI6IFwiQ2xvc2UgYWxlcnRcIixcclxuICAgIFwiQ0xFQVJfU09VUkNFXCI6IFwiQ2xlYXIgZW50ZXJlZCB0ZXh0XCIsXHJcbiAgICBcIkNMT1NFX0RJQUxPR1wiOiBcIkNsb3NlIGRpYWxvZ1wiLFxyXG4gICAgXCJDTEVBUl9GSUxFU1wiOiBcIkNsZWFyIHVwbG9hZGVkIGZpbGVzXCIsXHJcbiAgICBcIlNIT1dfRVhURU5TSU9OU1wiOiBcIlNob3cgb3RoZXIgZG93bmxvYWQgb3B0aW9uc1wiLFxyXG4gICAgXCJDT1BZXCI6IFwiQ29weSB0byBjbGlwYm9hcmRcIixcclxuICAgIFwiUkVGUkVTSFwiOiBcIlJlZnJlc2ggdHJhbnNsYXRpb25cIixcclxuICAgIFwiT1BFTl9JTl9ORVdcIjogXCJPcGVuIGluIG5ldyB0YWJcIixcclxuICAgIFwiU1dBUF9MQU5HVUFHRVNcIjogXCJTd2FwIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJPVEhFUl9MQU5HVUFHRVNfVFJJR0dFUlwiOiBcIlNob3cgb3RoZXIgbGFuZ3VhZ2VzXCJcclxuICB9LFxyXG4gIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgXCJDT1BZXCI6IFwiQ29weSB0byBjbGlwYm9hcmRcIixcclxuICAgIFwiUkVGUkVTSFwiOiBcIlJlZnJlc2ggdHJhbnNsYXRpb25cIixcclxuICAgIFwiU1dBUF9MQU5HVUFHRVNcIjogXCJTd2FwIGxhbmd1YWdlc1wiXHJcbiAgfSxcclxuICBcIlBERl9DT05WRVJTSU9OXCI6IHtcclxuICAgIFwiVElUTEVfMVwiOiBcIlBERiB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8xXCI6IFwiV2hlbiBhIC5wZGYgZmlsZSBpcyB1cGxvYWRlZCBmb3IgdHJhbnNsYXRpb24gaXQgaXMgY29udmVydGVkIGludG8gYSB0cmFuc2xhdGFibGUgZm9ybWF0LiBCb3RoIHNjYW5uZWQgYW5kIG5hdGl2ZSAucGRmcyBhcmUgc3VwcG9ydGVkLiBUcmFuc2xhdGlvbnMgY2FuIGJlIGRvd25sb2FkZWQgaW4gLmRvY3ggZm9ybWF0IGFuZCB3aWxsIHJldGFpbiB0aGUgYmFzaWMgZm9ybWF0dGluZy4gXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzJcIjogXCJBcyBjb252ZXJzaW9uIHRha2VzIHRpbWUsIHRvIHNwZWVkIHRoaW5ncyB1cCBzcGxpdCB5b3VyIC5wZGZzIGFuZCBkZWxldGUgdGhlIHBhZ2VzIHdpdGggbm8gdHJhbnNsYXRhYmxlIGluZm9ybWF0aW9uLiBGYWN0b3JzIGxpa2UgdGhlIG51bWJlciBvZiBwYWdlcywgcXVhbGl0eSBhbmQgdGV4dCBkZW5zaXR5IGFmZmVjdCB0aGUgcHJvY2Vzc2luZyB0aW1lLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8zXCI6IFwiVG8gaW1wcm92ZSB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZSwgd2UgcmVjb21tZW5kIHRvIGRvd25sb2FkIHRoZSBjb252ZXJ0ZWQgZG9jdW1lbnQgaW4gdGhlIG9yaWdpbmFsIGxhbmd1YWdlIGFuZCBmaXggaXQgbWFudWFsbHkgYmVmb3JlIHJlLXVwbG9hZGluZyBmb3IgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIklNQUdFX0FMVF8xXCI6IFwiU291cmNlIFBERiBkb3dubG9hZCBleGFtcGxlXCIsXHJcbiAgICBcIlRJVExFXzJcIjogXCJQREYgY29udmVyc2lvblwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8xXCI6IFwiVGhlIGRvY3VtZW50IGlzIGFuYWx5c2VkIGFuZCBpdHMgY29udGVudCBpcyBzcGxpdCBpbiB0ZXh0LCB0YWJsZSBhbmQgaW1hZ2UvYmFja2dyb3VuZCBpbWFnZSBhcmVhcy4gVGhleSBhcmUgYW5hbHlzZWQgZnVydGhlciB0byBkZXRlcm1pbmUgd2hpY2ggY29udGVudCBzaG91bGQgYmUgcmVjb2duaXplZCBhcyB0ZXh0LlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8yXCI6IFwiVGV4dHVhbCBkYXRhIGFyZSBhY3F1aXJlZCBieSBtZWFucyBvZiBPQ1Igb3Igb3B0aWNhbCBjaGFyYWN0ZXIgcmVjb2duaXRpb24uIEV2ZXJ5IGNoYXJhY3RlciBpcyByZWNvZ25pemVkIGRlcGVuZGluZyBvbiBpdHMgdmlzdWFsIGNoYXJhY3RlcmlzdGljcywgdGhlbiBhc3NlbWJsZWQgaW50byB3b3JkcyBhbmQgc2VudGVuY2VzLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMl8zXCI6IFwiUmVjb2duaXRpb24gaXMgYWZmZWN0ZWQgYnkgbWFueSBmYWN0b3JzLCBpbmNsdWRpbmc6XCIsXHJcbiAgICBcIkxJXzFfMVwiOiBcIlF1YWxpdHkgb2YgdGhlIHNjYW5uZWQgZG9jdW1lbnQgKGJsdXJyZWQgb3IgZGVmb3JtZWQgdGV4dCwgaW1hZ2Ugbm9pc2UsIGltYWdlIHJlc29sdXRpb24sIGNvbnRyYXN0IGV0Yy4pLiBGb3IgdGhlIGJlc3QgcmVzdWx0LCAucGRmcyBzaG91bGQgYmUgYXQgbGVhc3QgMzAwIGRwaSwgdW5za2V3ZWQgYW5kIG5vaXNlIGZyZWUuXCIsXHJcbiAgICBcIkxJXzFfMlwiOiBcIkZvbnQgc2l6ZS4gU2l6ZXMgc21hbGxlciB0aGFuIDkgcG9pbnRzIG1pZ2h0IGJlIHBvb3JseSByZWNvZ25pemVkLiBcIixcclxuICAgIFwiTElfMV8zXCI6IFwiUmFyZSBhbmQgb3JpZ2luYWwgZm9udHMuIExlc3MgY29tbW9uIGZvbnRzIG1heSBiZSB1bnJlY29nbml6YWJsZSBvciBwZXJmb3JtIHdvcnNlLlwiLFxyXG4gICAgXCJMSV8xXzRcIjogXCJDb21wbGV4aXR5IG9mIHRoZSBkb2N1bWVudCBzdHJ1Y3R1cmUgYW5kIGZvcm1hdHRpbmcuXCIsXHJcbiAgICBcIlRJVExFXzNcIjogXCJJbXByb3ZpbmcgdHJhbnNsYXRpb24gcGVyZm9ybWFuY2VcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMVwiOiBcIlRoZSBjb252ZXJzaW9uIHByb2Nlc3MgaXMgdmVyeSBjb21wbGV4IGFuZCBtYXkgYmUgYWZmZWN0ZWQgYnkgdmFyaW91cyBlcnJvcnMgcmVzdWx0aW5nIGZyb20gdGhlIGlucHV0IGRvY3VtZW50LiBcIixcclxuICAgIFwiUEFSQUdSQVBIXzNfMlwiOiBcIklzc3VlcyB0byBsb29rIGZvcjpcIixcclxuICAgIFwiTElfMl8xXCI6IFwiSW5jb3JyZWN0bHkgcmVjb2duaXplZCB3b3Jkcy5cIixcclxuICAgIFwiTElfMl8yXCI6IFwiSW5jb3JyZWN0IHdvcmQgYm91bmRhcmllcy5cIixcclxuICAgIFwiTElfMl8zXCI6IFwiU2VudGVuY2VzIHNwYW5uaW5nIG11bHRpcGxlIGNvbHVtbnMsIGxpbmVzIG9yIHBhZ2VzIHNwbGl0IGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl80XCI6IFwiTWlzcGxhY2VkIHBhZ2UgZm9vdGVycyBhbmQgaGVhZGVycy5cIixcclxuICAgIFwiTElfMl81XCI6IFwiSW5jb3JyZWN0IG51bWJlcmluZy5cIixcclxuICAgIFwiTElfMl82XCI6IFwiVGFibGVzIHJlY29nbml6ZWQgYXMgYmFja2dyb3VuZCBpbWFnZXMgd2l0aCB0ZXh0dWFsIGNvbnRlbnQgcGxhY2VkIGludG8gZGlmZmVyZW50IHRleHR1YWwgb2JqZWN0cy5cIixcclxuICAgIFwiTElfMl83XCI6IFwiU29tZSBkaWFncmFtcyByZWNvZ25pemVkIGFzIGltYWdlcyB3aXRob3V0IGFueSB0ZXh0dWFsIGNvbnRlbnQuXCIsXHJcbiAgICBcIkxJXzJfOFwiOiBcIlNlcGFyYXRvcnMsIGJvcmRlcnMgb3Igb3RoZXIgaG9yaXpvbnRhbCBsaW5lcyByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG4gICAgXCJMSV8yXzlcIjogXCJGb3JtYXR0aW5nIG9mIHRoZSB0YWJsZSBvZiBjb250ZW50cyBvciBzaW1pbGFyIGxpc3RzIGNvbGxhcHNlZCBvciByZWNvZ25pemVkIGFzIHN0cmlrZXRocm91Z2ggb3IgdW5kZXJsaW5lZCB0ZXh0LlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfNF8xXCI6IFwiPGI+Tm90ZSB0aGF0IHRoZSByZXN1bHRpbmcgZG9jdW1lbnQgd2lsbCBub3QgcmV0YWluIGFsbCBkZXRhaWxzIG9mIHRoZSBvcmlnaW5hbCBmb3JtYXR0aW5nLjwvYj4gU29tZSBpbWFnZXMsIHRhYmxlcyBvciBkaWFncmFtcyBtYXkgYmVjb21lIGRpc3RvcnRlZCBvciBzaW1wbGlmaWVkLiBGb250cyBpbiB0aGUgdHJhbnNsYXRlZCBkb2N1bWVudCB3aWxsIG5vdCBiZSB0aGUgc2FtZSBhcyBpbiB0aGUgb3JpZ2luYWwsIGJ1dCBtYXkgYmUgc2ltaWxhci4gSW5jb3JyZWN0IGZvbnQgc2l6ZSBtYXkgYmUgcmVjb2duaXplZC4gU3BlY2lmaWMgV29yZCBmb3JtYXR0aW5nIGxpa2UgaGVhZGluZ3MsIHRhYmxlcyBvZiBjb250ZW50LCBoZWFkZXJzIGFuZCBmb290ZXJzLCBsYWJlbHMsIGZvcm1zIGV0Yy4gd2lsbCBiZSBzdHlsZWQgdG8gbG9vayBsaWtlIHRoZSBvcmlnaW5hbCwgYnV0IHdpbGwgbm90IG1hdGNoIHRoZSBvcmlnaW5hbCBjb21wbGV0ZWx5IChlLmcuIHRpdGxlcyB3aWxsIGJlIGJvbGQgYW5kIGluIGxhcmdlciBmb250LCBidXQgd2lsbCBub3QgYmUgc2V0IHRvIHRoZSBoZWFkaW5nIHN0eWxlKS5cIixcclxuICAgIFwiQ0xPU0VcIjogXCJDbG9zZSBkaWFsb2dcIlxyXG4gIH0sXHJcbiAgXCJJTUFHRV9DT05WRVJTSU9OXCI6IHtcclxuICAgIFwiVElUTEVfMVwiOiBcIkltYWdlIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzFcIjogXCJXaGVuIGFuIGltYWdlIGZpbGUgaXMgdXBsb2FkZWQgZm9yIHRyYW5zbGF0aW9uIGl0IGlzIGNvbnZlcnRlZCBpbnRvIGEgdHJhbnNsYXRhYmxlIGZvcm1hdC4gVHJhbnNsYXRpb25zIGNhbiBiZSBkb3dubG9hZGVkIGluIC5kb2N4IGZvcm1hdCBhbmQgd2lsbCByZXRhaW4gdGhlIGJhc2ljIGZvcm1hdHRpbmcuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF8xXzJcIjogXCI8Yj5TdXBwb3J0ZWQgaW1hZ2UgZm9ybWF0czo8L2I+IC5qcGcsIC5qcGVnLCAucG5nIGFuZCAuYm1wLlwiLFxyXG4gICAgXCJQQVJBR1JBUEhfMV8zXCI6IFwiVG8gaW1wcm92ZSB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZSwgd2UgcmVjb21tZW5kIHRvIGRvd25sb2FkIHRoZSBjb252ZXJ0ZWQgZG9jdW1lbnQgaW4gdGhlIG9yaWdpbmFsIGxhbmd1YWdlIGFuZCBmaXggaXQgbWFudWFsbHkgYmVmb3JlIHJlLXVwbG9hZGluZyBmb3IgdHJhbnNsYXRpb24uXCIsXHJcbiAgICBcIklNQUdFX0FMVF8xXCI6IFwiU291cmNlIGltYWdlIGRvd25sb2FkIGV4YW1wbGVcIixcclxuICAgIFwiVElUTEVfMlwiOiBcIkltYWdlIGNvbnZlcnNpb25cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMVwiOiBcIlRoZSBpbWFnZSBpcyBhbmFseXNlZCBhbmQgaXRzIGNvbnRlbnQgaXMgc3BsaXQgaW4gdGV4dCwgdGFibGUgYW5kIGltYWdlL2JhY2tncm91bmQgaW1hZ2UgYXJlYXMuIFRoZXkgYXJlIGFuYWx5c2VkIGZ1cnRoZXIgdG8gZGV0ZXJtaW5lIHdoaWNoIGNvbnRlbnQgc2hvdWxkIGJlIHJlY29nbml6ZWQgYXMgdGV4dC5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfMlwiOiBcIlRleHR1YWwgZGF0YSBhcmUgYWNxdWlyZWQgYnkgbWVhbnMgb2YgT0NSIG9yIG9wdGljYWwgY2hhcmFjdGVyIHJlY29nbml0aW9uLiBFdmVyeSBjaGFyYWN0ZXIgaXMgcmVjb2duaXplZCBkZXBlbmRpbmcgb24gaXRzIHZpc3VhbCBjaGFyYWN0ZXJpc3RpY3MsIHRoZW4gYXNzZW1ibGVkIGludG8gd29yZHMgYW5kIHNlbnRlbmNlcy5cIixcclxuICAgIFwiUEFSQUdSQVBIXzJfM1wiOiBcIlJlY29nbml0aW9uIGlzIGFmZmVjdGVkIGJ5IG1hbnkgZmFjdG9ycywgaW5jbHVkaW5nOlwiLFxyXG4gICAgXCJMSV8xXzFcIjogXCJRdWFsaXR5IG9mIHRoZSBzY2FubmVkIGltYWdlIChibHVycmVkIG9yIGRlZm9ybWVkIHRleHQsIGltYWdlIG5vaXNlLCBpbWFnZSByZXNvbHV0aW9uLCBjb250cmFzdCBldGMuKS4gRm9yIHRoZSBiZXN0IHJlc3VsdCwgaW1hZ2VzIHNob3VsZCBiZSBhdCBsZWFzdCAzMDAgZHBpLCB1bnNrZXdlZCBhbmQgbm9pc2UgZnJlZS5cIixcclxuICAgIFwiTElfMV8yXCI6IFwiRm9udCBzaXplLiBTaXplcyBzbWFsbGVyIHRoYW4gOSBwb2ludHMgbWlnaHQgYmUgcG9vcmx5IHJlY29nbml6ZWQuIFwiLFxyXG4gICAgXCJMSV8xXzNcIjogXCJSYXJlIGFuZCBvcmlnaW5hbCBmb250cy4gTGVzcyBjb21tb24gZm9udHMgbWF5IGJlIHVucmVjb2duaXphYmxlIG9yIHBlcmZvcm0gd29yc2UuXCIsXHJcbiAgICBcIkxJXzFfNFwiOiBcIkNvbXBsZXhpdHkgb2YgdGhlIGRvY3VtZW50IHN0cnVjdHVyZSBhbmQgZm9ybWF0dGluZy5cIixcclxuICAgIFwiVElUTEVfM1wiOiBcIkltcHJvdmluZyB0cmFuc2xhdGlvbiBwZXJmb3JtYW5jZVwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18xXCI6IFwiVGhlIGNvbnZlcnNpb24gcHJvY2VzcyBpcyB2ZXJ5IGNvbXBsZXggYW5kIG1heSBiZSBhZmZlY3RlZCBieSB2YXJpb3VzIGVycm9ycyByZXN1bHRpbmcgZnJvbSB0aGUgaW5wdXQgZG9jdW1lbnQuIFwiLFxyXG4gICAgXCJQQVJBR1JBUEhfM18yXCI6IFwiSXNzdWVzIHRvIGxvb2sgZm9yOlwiLFxyXG4gICAgXCJMSV8yXzFcIjogXCJJbmNvcnJlY3RseSByZWNvZ25pemVkIHdvcmRzLlwiLFxyXG4gICAgXCJMSV8yXzJcIjogXCJJbmNvcnJlY3Qgd29yZCBib3VuZGFyaWVzLlwiLFxyXG4gICAgXCJMSV8yXzNcIjogXCJTZW50ZW5jZXMgc3Bhbm5pbmcgbXVsdGlwbGUgY29sdW1ucywgbGluZXMgb3IgcGFnZXMgc3BsaXQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzRcIjogXCJNaXNwbGFjZWQgcGFnZSBmb290ZXJzIGFuZCBoZWFkZXJzLlwiLFxyXG4gICAgXCJMSV8yXzVcIjogXCJJbmNvcnJlY3QgbnVtYmVyaW5nLlwiLFxyXG4gICAgXCJMSV8yXzZcIjogXCJUYWJsZXMgcmVjb2duaXplZCBhcyBiYWNrZ3JvdW5kIGltYWdlcyB3aXRoIHRleHR1YWwgY29udGVudCBwbGFjZWQgaW50byBkaWZmZXJlbnQgdGV4dHVhbCBvYmplY3RzLlwiLFxyXG4gICAgXCJMSV8yXzdcIjogXCJTb21lIGRpYWdyYW1zIHJlY29nbml6ZWQgYXMgaW1hZ2VzIHdpdGhvdXQgYW55IHRleHR1YWwgY29udGVudC5cIixcclxuICAgIFwiTElfMl84XCI6IFwiU2VwYXJhdG9ycywgYm9yZGVycyBvciBvdGhlciBob3Jpem9udGFsIGxpbmVzIHJlY29nbml6ZWQgYXMgc3RyaWtldGhyb3VnaCBvciB1bmRlcmxpbmVkIHRleHQuXCIsXHJcbiAgICBcIlBBUkFHUkFQSF80XzFcIjogXCI8Yj5Ob3RlIHRoYXQgdGhlIHJlc3VsdGluZyBkb2N1bWVudCB3aWxsIG5vdCByZXRhaW4gYWxsIGRldGFpbHMgb2YgdGhlIG9yaWdpbmFsIGZvcm1hdHRpbmcuPC9iPiBTb21lIGltYWdlcywgdGFibGVzIG9yIGRpYWdyYW1zIG1heSBiZWNvbWUgZGlzdG9ydGVkIG9yIHNpbXBsaWZpZWQuIEZvbnRzIGluIHRoZSB0cmFuc2xhdGVkIGRvY3VtZW50IHdpbGwgbm90IGJlIHRoZSBzYW1lIGFzIGluIHRoZSBvcmlnaW5hbCwgYnV0IG1heSBiZSBzaW1pbGFyLiBJbmNvcnJlY3QgZm9udCBzaXplIG1heSBiZSByZWNvZ25pemVkLlwiLFxyXG4gICAgXCJDTE9TRVwiOiBcIkNsb3NlIGRpYWxvZ1wiXHJcbiAgfSxcclxuICBcIldFQlRSQU5TTEFURVwiOiB7XHJcbiAgICBcIkJBQ0tcIjogXCJCYWNrIHRvIFRyYW5zbGF0b3JcIixcclxuICAgIFwiTE9BRF9QQUdFXCI6IFwiTG9hZCBwYWdlXCIsXHJcbiAgICBcIlJFU1RPUkVcIjogXCJSZXN0b3JlXCIsXHJcbiAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgXCJTRUFSQ0hcIjogXCJTZWFyY2ggd2Vic2l0ZVwiLFxyXG4gICAgXCJOT19SRUNPUkRTXCI6IHtcclxuICAgICAgXCJUSVRMRVwiOiBcIlNlYXJjaCBmb3IgYSB3ZWJzaXRlIHRvIHRyYW5zbGF0ZVwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiU2VlIDxhIGhyZWY9J3t7aGVscFVybH19JyB0YXJnZXQ9J19ibGFuaycgY2xhc3M9J3VuZGVybGluZSc+aG93IGl0IHdvcmtzPC9hPlwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBcIkRBVEVfQUdPXCI6IHtcclxuICAgIFwiWUVBUlwiOiBcInt7dmFsdWV9fSB5ZWFyIGFnb1wiLFxyXG4gICAgXCJZRUFSU1wiOiBcInt7dmFsdWV9fSB5ZWFycyBhZ29cIixcclxuICAgIFwiTU9OVEhcIjogXCJ7e3ZhbHVlfX0gbW9udGggYWdvXCIsXHJcbiAgICBcIk1PTlRIU1wiOiBcInt7dmFsdWV9fSBtb250aHMgYWdvXCIsXHJcbiAgICBcIldFRUtcIjogXCJ7e3ZhbHVlfX0gd2VlayBhZ29cIixcclxuICAgIFwiV0VFS1NcIjogXCJ7e3ZhbHVlfX0gd2Vla3MgYWdvXCIsXHJcbiAgICBcIkRBWVwiOiBcInt7dmFsdWV9fSBkYXkgYWdvXCIsXHJcbiAgICBcIkRBWVNcIjogXCJ7e3ZhbHVlfX0gZGF5cyBhZ29cIixcclxuICAgIFwiSE9VUlwiOiBcInt7dmFsdWV9fSBob3VyIGFnb1wiLFxyXG4gICAgXCJIT1VSU1wiOiBcInt7dmFsdWV9fSBob3VycyBhZ29cIixcclxuICAgIFwiTUlOVVRFXCI6IFwie3t2YWx1ZX19IG1pbnV0ZSBhZ29cIixcclxuICAgIFwiTUlOVVRFU1wiOiBcInt7dmFsdWV9fSBtaW51dGVzIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRcIjogXCJ7e3ZhbHVlfX0gc2Vjb25kIGFnb1wiLFxyXG4gICAgXCJTRUNPTkRTXCI6IFwie3t2YWx1ZX19IHNlY29uZHMgYWdvXCIsXHJcbiAgICBcIkpVU1RfTk9XXCI6IFwiSnVzdCBub3dcIlxyXG4gIH0sXHJcbiAgXCJURVJNX0NPTExFQ1RJT05TXCI6IHtcclxuICAgIFwiVElUTEVcIjogXCJHbG9zc2FyaWVzXCIsXHJcbiAgICBcIkRFRkFVTFRcIjogXCJEZWZhdWx0XCIsXHJcbiAgICBcIkRFU0NSSVBUSU9OXCI6IFwiQWNoaWV2ZSBwcmVjaXNlIGFuZCByZWxpYWJsZSB0cmFuc2xhdGlvbnMgYnkgY2hvb3NpbmcgdGhlIG1vc3Qgc3VpdGFibGUgZ2xvc3NhcnkgZnJvbSB0aGUgbGlzdC5cIixcclxuICAgIFwiR0xPU1NBUllcIjogXCJHbG9zc2FyeTogXCIsXHJcbiAgICBcIlNFTEVDVEVEX05PTkVcIjogXCJOb25lXCIsXHJcbiAgICBcIkVESVRcIjogXCJFZGl0XCIsXHJcbiAgICBcIkNSRUFURVwiOiBcIk5ldyBnbG9zc2FyeVwiLFxyXG4gICAgXCJERVNDUklQVElPTl9FTVBUWVwiOiBcIjxzcGFuPkNyZWF0ZSBuZXcgZ2xvc3Nhcnk8L3NwYW4+IGZvciB7e3NyY0xhbmd9fS17e3RyZ0xhbmd9fSBvciBvcGVuIDxzcGFuPkRlZmF1bHQgZ2xvc3NhcmllcyBtYW5hZ2VtZW50PC9zcGFuPiBhbmQgY3JlYXRlIGdsb3NzYXJ5IHRoZXJlIHRvIHVzZSBpdCBpbiB0cmFuc2xhdGlvbiBhY3Jvc3MgdGhlIHBsYXRmb3JtLlwiLFxyXG4gICAgXCJVTkFWQUlMQUJMRV9HTE9TU0FSSUVTXCI6IFwiTm8gZ2xvc3NhcnkgYXZhaWxhYmxlXCIsXHJcbiAgICBcIkxBU1RfVVBEQVRFRFwiOiBcIkxhc3QgdXBkYXRlZDoge3tkYXRlfX1cIixcclxuICAgIFwiREVGQVVMVF9DT0xMRUNUSU9OX05BTUVcIjogXCJNeSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgIFwiU1lOQ1wiOiBcIlN5bmNcIixcclxuICAgIFwiU1lOQ19FUlJPUlwiOiBcIlJldHJ5XCIsXHJcbiAgICBcIlRFUk1TX0lOX1VTRVwiOiBcIlRlcm1zIGluIHVzZToge3t0ZXJtQ291bnR9fVwiLFxyXG4gICAgXCJERUZBVUxUX0dMT1NTQVJZX01BTkFHRU1FTlRcIjogXCJNYW5hZ2UgZGVmYXVsdCBnbG9zc2FyaWVzXCIsXHJcbiAgICBcIkFSSUFfTEFCRUxTXCI6IHtcclxuICAgICAgXCJSQURJT19HUk9VUFwiOiBcIlNlbGVjdCBhIHRlcm0gY29sbGVjdGlvblwiLFxyXG4gICAgICBcIk9USEVSX0NPTExFQ1RJT05TXCI6IFwiT3BlbiB0aGUgY29sbGVjdGlvbiBtZW51XCJcclxuICAgIH0sXHJcbiAgICBcIkNSRUFURV9ESUFMT0dcIjoge1xyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNPTExFQ1RJT05fTkFNRV9MQUJFTFwiOiBcIkdsb3NzYXJ5IG5hbWVcIixcclxuICAgICAgXCJDUkVBVEVcIjogXCJDcmVhdGVcIixcclxuICAgICAgXCJERVNDUklQVElPTl8xXCI6IFwiQWZ0ZXIgY2xpY2tpbmcg4oCcQ3JlYXRl4oCdIHlvdSB3aWxsIGJlIHJlZGlyZWN0ZWQgdG8gVGlsZGUgVGVybSB0byBhZGQgeW91ciB0ZXJtcy5cIixcclxuICAgICAgXCJERVNDUklQVElPTl8yXCI6IFwiPGk+KkFJIGlzIG5vdCBwZXJmZWN0IGFuZCBjYW4gbWFrZSBvY2Nhc2lvbmFsIG1pc3Rha2VzLiBZb3VyIHVuaXF1ZSB0ZXJtcyB3aWxsIGJlIHVzZWQgY29ycmVjdGx5IHdpdGggOTUlIGFjY3VyYWN5LjwvaT5cIixcclxuICAgICAgXCJUSVRMRVwiOiBcIkNyZWF0ZSBuZXcgZ2xvc3NhcnlcIixcclxuICAgICAgXCJDT0xMRUNUSU9OX05BTUVfRVJST1JcIjogXCJUaXRsZSBzaG91bGQgYmUgYXQgbGVhc3Qge3ttaW5MZW5ndGh9fSBzeW1ib2xzIGxvbmcgYW5kIG5vdCBsb25nZXIgdGhhbiB7e21heExlbmd0aH19IHN5bWJvbHNcIlxyXG4gICAgfSxcclxuICAgIFwiVE9PTFRJUFNcIjoge1xyXG4gICAgICBcIkVESVRcIjogXCJFZGl0IGdsb3NzYXJ5IGluIHRlcm1pbm9sb2d5IHBvcnRhbFwiLFxyXG4gICAgICBcIklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBnbG9zc2FyeVwiLFxyXG4gICAgICBcIk5PX0VOVFJJRVNcIjogXCJUZXJtIGNvbGxlY3Rpb24gY2Fubm90IGJlIHVzZWQ6IG5vIHRlcm1zIGluIHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgICBcIkRFRkFVTFRfQ09MTEVDVElPTlwiOiBcIlRoZXNlIHRlcm1zIGFyZSBub3cgaW4gdXNlLiBZb3UgY2FuIG1hbmFnZSB0aGVtIHRocm91Z2ggRGVmYXVsdCBnbG9zc2FyeSBtYW5hZ2VtZW50LiBcIixcclxuICAgICAgXCJTWU5DXCI6IFwiVXBkYXRlIHRoZSB0ZXJtIGNvbGxlY3Rpb25cIixcclxuICAgICAgXCJTWU5DSU5HXCI6IFwiVGVybSBjb2xsZWN0aW9uIGlzIHN5bmNlZCwgdGhlIGxhdGVzdCB2ZXJzaW9uIG9mIHRoZSBjb2xsZWN0aW9uIHdpbGwgYmUgdXNlZFwiLFxyXG4gICAgICBcIkFUVEFDSF9UT19TWVNURU1fRVJST1JcIjogXCJBbiBlcnJvciBoYXMgb2NjdXJlZCB3aGlsZSBpbXBvcnRpbmcgdGhlIHRlcm0gY29sbGVjdGlvblwiXHJcbiAgICB9LFxyXG4gICAgXCJSRUFERVJcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiR2xvc3Nhcmllc1wiLFxyXG4gICAgICBcIlVOQVZBSUxBQkxFXCI6IFwiR2xvc3NhcmllcyBub3QgYXZhaWxhYmxlXCIsXHJcbiAgICAgIFwiVEVYVFwiOiBcIkdsb3NzYXJpZXMgYXJlIG9ubHkgYXZhaWxhYmxlIGZvciBhdXRob3JpemVkIHVzZXJzLiA8L2JyPiA8YSBocmVmPSd7e3NpZ25JblVybH19Jz5TaWduIGluPC9hPiBvciA8YSBocmVmPSd7e3N0YXJ0VHJpYWxVcmx9fSc+c3RhcnQgeW91ciBmcmVlIHRyaWFsPC9hPiB0byB1bmxvY2sgb3VyIGdsb3NzYXJ5LlwiLFxyXG4gICAgICBcIldIQVRfSVNfR0xPU1NBUllfVElUTEVcIjogXCJXaGF0IGlzIGEgR2xvc3Nhcnk/XCIsXHJcbiAgICAgIFwiV0hBVF9JU19HTE9TU0FSWV9ERVNDXCI6IFwiQSBnbG9zc2FyeSBpbiBtYWNoaW5lIHRyYW5zbGF0aW9uIGlzIGEgY3VzdG9tIGRpY3Rpb25hcnkgb2Ygc3BlY2lmaWMgdGVybXMgYW5kIHRyYW5zbGF0aW9ucy5cIixcclxuICAgICAgXCJCRU5FRklUU19USVRMRVwiOiBcIkdsb3NzYXJ5IEJlbmVmaXRzXCIsXHJcbiAgICAgIFwiQkVORUZJVFNfREVTQ1wiOiBcIkl0IGVuc3VyZXMgY29uc2lzdGVuY3kgYW5kIGFjY3VyYWN5LCBlbmhhbmNpbmcgdHJhbnNsYXRpb24gcXVhbGl0eSBmb3Igc3BlY2lhbGl6ZWQgY29udGVudC5cIlxyXG4gICAgfSxcclxuICAgIFwiRVJST1JTXCI6IHtcclxuICAgICAgXCJFUlJPUklNUE9SVElOR1wiOiBcIkltcG9ydGluZyBlcnJvclwiXHJcbiAgICB9XHJcbiAgfSxcclxuICBcIkRPTUFJTlNcIjoge1xyXG4gICAgXCJPUEVOX0xJU1RfQVJJQV9MQUJFTFwiOiBcIk9wZW4gZG9tYWluIGxpc3RcIixcclxuICAgIFwiVElUTEVcIjogXCJEb21haW46XCIsXHJcbiAgICBcIkxBV1wiOiBcIkxhd1wiLFxyXG4gICAgXCJEWU5BTUlDX0xFQVJOSU5HXCI6IFwiRHluYW1pYyBsZWFybmluZ1wiLFxyXG4gICAgXCJCVVNJTkVTU1wiOiBcIkJ1c2luZXNzXCIsXHJcbiAgICBcIkdFTkVSQUxcIjogXCJHZW5lcmFsXCIsXHJcbiAgICBcIkFVVE9cIjogXCJBdXRvZGV0ZWN0XCIsXHJcbiAgICBcIlNQRFwiOiBcIkVVIEZvcm1hbCBMYW5ndWFnZVwiLFxyXG4gICAgXCJHRU5cIjogXCJHZW5lcmFsIFRleHRcIixcclxuICAgIFwiRUNCXCI6IFwiRmluYW5jZVwiLFxyXG4gICAgXCJFQ0pcIjogXCJFdXJvcGVhbiBDb3VydCBvZiBKdXN0aWNlXCIsXHJcbiAgICBcIlBVQkhFQUxUSFwiOiBcIlB1YmxpYyBIZWFsdGhcIixcclxuICAgIFwiQlVCQVwiOiBcIkRldXRzY2hlIEJ1bmRlc2JhbmtcIixcclxuICAgIFwiQkVSQ1lcIjogXCJNaW5pc3TDqHJlIGRlcyBGaW5hbmNlc1wiLFxyXG4gICAgXCJFVVJPUEVBTkFcIjogXCJFdXJvcGVhbmFcIixcclxuICAgIFwiSVBPXCI6IFwiSVAgQ2FzZSBMYXdcIixcclxuICAgIFwiVFJJU1wiOiBcIkVuZ2luZXMgYnVpbHQgdXNpbmcgZGF0YSBmcm9tIHRoZSB0ZWNobmljYWwgcmVndWxhdGlvbiBpbmZvcm1hdGlvbiBzeXN0ZW1cIixcclxuICAgIFwiVktcIjogXCJWYWx0aW9uZXV2b3N0b24gS2Fuc2xpYVwiLFxyXG4gICAgXCJCVUJBX05NVFRFU1RcIjogXCJEZXV0c2NoZSBCdW5kZXNiYW5rIFRlc3RcIlxyXG4gIH0sXHJcbiAgXCJHUkFNTUFSX0NIRUNLX01FTlVcIjoge1xyXG4gICAgXCJUSVRMRVwiOiBcIkNvbnNpZGVyIGNoYW5naW5nIHRvOlwiXHJcbiAgfSxcclxuICBcIkFVRElPXCI6IHtcclxuICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICBcIkRFU0NSSUJFX1NUQVRFX1JFQ09SRElOR1wiOiBcIlBsZWFzZSBzcGVhayB0byByZWNvcmQuLi5cIixcclxuICAgIFwiREVTQ1JJQkVfU1RBVEVfUFJPQ0VTU0lOR1wiOiBcIlByb2Nlc3NpbmcuLi5cIixcclxuICAgIFwiTUlDX05PVF9GT1VORFwiOiBcIk1pY3JvcGhvbmUgbm90IGZvdW5kXCIsXHJcbiAgICBcIlNUT1BcIjogXCJTdG9wIHJlY29yZGluZ1wiLFxyXG4gICAgXCJTVEFSVFwiOiBcIlRyYW5zbGF0ZSBzcGVlY2hcIixcclxuICAgIFwiUFVOQ1RVQVRJT05fTUVTU0FHRV9USVRMRVwiOiBcIkFkZCBwdW5jdHVhdGlvblwiLFxyXG4gICAgXCJQVU5DVFVBVElPTl9NRVNTQUdFXCI6IFwiUGxlYXNlIGFkZCBwdW5jdHVhdGlvbiB0byB0aGUgcmVjb2duaXplZCB0ZXh0LiBMb25nIHRleHQgd2l0aG91dCBwdW5jdHVhdGlvbiBtYXkgaGF2ZSBsb3dlciB0cmFuc2xhdGlvbiBxdWFsaXR5IG9yIG5vdCBiZSB0cmFuc2xhdGVkLlwiXHJcbiAgfSxcclxuICBcIkVYVEVOU0lPTl9QT1BVUFwiOiB7XHJcbiAgICBcIk9QRU5cIjogXCJzZWUgYWxsIHN1cHBvcnRlZCBmb3JtYXRzXCIsXHJcbiAgICBcIlRJVExFXCI6IFwiU3VwcG9ydGVkIGZpbGUgZm9ybWF0c1wiLFxyXG4gICAgXCJERVNDUklQVElPTlwiOiBcIlVURi04IG9yIFVURi0xNiBjb2RpbmcgcmVxdWlyZWQgdG8gZW5zdXJlIGNvcnJlY3QgZmlsZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJPRkZJQ0VcIjogXCJPZmZpY2VcIixcclxuICAgIFwiU0NBTk5FRFwiOiBcIkltYWdlIGZpbGVzXCIsXHJcbiAgICBcIklOVEVSQ0hBTkdFXCI6IFwiSW50ZXJjaGFuZ2UgZm9ybWF0c1wiLFxyXG4gICAgXCJXRUJcIjogXCJXZWJcIixcclxuICAgIFwiT1RIRVJcIjogXCJPdGhlclwiXHJcbiAgfSxcclxuICBcIkZJTEVfVVBMT0FEXCI6IHtcclxuICAgIFwiVVBMT0FEXCI6IFwiVXBsb2FkXCIsXHJcbiAgICBcIkRSQUdfQU5EX0RST1BcIjogXCJvciBkcmFnIGFuZCBkcm9wIFwiLFxyXG4gICAgXCJGSUxFXCI6IFwiYSBmaWxlXCIsXHJcbiAgICBcIkZJTEVTXCI6IFwiZmlsZXNcIixcclxuICAgIFwiTElNSVRTX01CXCI6IFwiTWF4IHt7bWF4U2l6ZU1CfX1NQlwiLFxyXG4gICAgXCJDTEVBUlwiOiBcIkNsZWFyIGZpbGVcIixcclxuICAgIFwiU0VMRUNUX0xBTkdVQUdFX1dBUk5JTkdcIjogXCJQbGVhc2UsIHNlbGVjdCB0aGUgc291cmNlIGxhbmd1YWdlIG9mIHRoZSBmaWxlLlwiXHJcbiAgfSxcclxuICBcIlNZU1RFTV9QSUNLRVJcIjoge1xyXG4gICAgXCJTT1VSQ0VcIjogXCJUcmFuc2xhdGUgZnJvbVwiLFxyXG4gICAgXCJUQVJHRVRcIjogXCJUcmFuc2xhdGUgdG9cIixcclxuICAgIFwiU0VBUkNIX1BMQUNFSE9MREVSXCI6IFwiU2VhcmNoIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJSRUNFTlRfU1lTVEVNX1RJVExFXCI6IFwiUmVjZW50XCIsXHJcbiAgICBcIlNFTEVDVF9ET01BSU5cIjogXCJTZWxlY3QgZG9tYWluXCIsXHJcbiAgICBcIkZJTFRFUl9OT19SRVNVTFRTXCI6IFwiTm8gcmVzdWx0c1wiLFxyXG4gICAgXCJBTExfTEFOR1VBR0VTXCI6IFwiQWxsIGxhbmd1YWdlc1wiLFxyXG4gICAgXCJDTEVBUl9TRUFSQ0hcIjogXCJDbGVhciBzZWFyY2ggdGV4dFwiLFxyXG4gICAgXCJPUEVOX1NPVVJDRV9BUklBX0xBQkVMXCI6IFwiU2VsZWN0IHNvdXJjZSBsYW5ndWFnZVwiLFxyXG4gICAgXCJPUEVOX1RBUkdFVF9BUklBX0xBQkVMXCI6IFwiU2VsZWN0IHRhcmdldCBsYW5ndWFnZSBhbmQgZG9tYWluXCIsXHJcbiAgICBcIkRFVEVDVEVEXCI6IFwiRGV0ZWN0ZWRcIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RSQU5TTEFUSU9OX1BST0dSRVNTX0lORElDQVRPUlwiOiB7XHJcbiAgICBcIlRJVExFXCI6IFwiVHJhbnNsYXRpb24gcHJvdmlkZWQgYnkge3twcm92aWRlcn19XCIsXHJcbiAgICBcIlRSQU5TTEFUSU5HXCI6IFwiVHJhbnNsYXRpbmcuLi5cIixcclxuICAgIFwiQ0xPU0VfQlVUVE9OX1RPT0xUSVBcIjogXCJSZW1vdmUgcHJvZ3Jlc3MgYmFyXCIsXHJcbiAgICBcIkNMT1NFX0JVVFRPTl9BUklBX0xBQkVMXCI6IFwiUmVtb3ZlIHByb2dyZXNzIGJhclwiXHJcbiAgfSxcclxuICBcIlZFTkRPUl9NRVNTQUdFXCI6IHtcclxuICAgIFwiVEVYVFwiOiBcIlRyYW5zbGF0aW9uIHByb3ZpZGVkIGJ5IHt7dmVuZG9yfX1cIixcclxuICAgIFwiSUNPTl9UT09MVElQXCI6IFwiU3lzdGVtcyBvZmZlcmVkIGJ5IHt7dmVuZG9yfX0gYXJlIHVzZWQgYnkgYSBodWdlIG51bWJlciBvZiB1c2Vycy4gVGhleSBtYXkgYmUgc2xvdyBhdCB0aW1lIGR1ZSB0byB0aGUgaGVhdnkgd29yayBsb2FkLlwiXHJcbiAgfSxcclxuICBcIlZFTkRPUlNcIjoge1xyXG4gICAgXCJFVFJBTlNMQVRJT05cIjogXCJlVHJhbnNsYXRpb25cIlxyXG4gIH0sXHJcbiAgXCJURVhUX1RPX1NQRUVDSFwiOiB7XHJcbiAgICBcIlBMQVlcIjogXCJMaXN0ZW5cIixcclxuICAgIFwiUEFVU0VcIjogXCJQYXVzZVwiXHJcbiAgfSxcclxuICBcIkxMTVwiOiB7XHJcbiAgICBcIlNVTU1BUllcIjogXCJDcmVhdGUgc3VtbWFyeVwiLFxyXG4gICAgXCJSRVBIUkFTRVwiOiBcIlJlcGhyYXNlIHRyYW5zbGF0aW9uXCIsXHJcbiAgICBcIk1FTlVfVE9PTFRJUFwiOiBcIlJlcGhyYXNlIG9yIHN1bW1hcml6ZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgXCJSRVBIUkFTRV9NT0RBTFwiOiB7XHJcbiAgICAgIFwiVElUTEVcIjogXCJSZXBocmFzZSB0cmFuc2xhdGlvblwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiUmVwaHJhc2UgdGV4dCBpbnRvIGEgc3BlY2lmaWVkIHdyaXRpbmcgc3R5bGUsIGFkYXB0aW5nIHRoZSBsYW5ndWFnZSBhbmQgdG9uZSB0byBtYXRjaCBhIGdpdmVuIHRhcmdldCBzdHlsZSBvciB2b2ljZS5cIixcclxuICAgICAgXCJDTE9TRVwiOiBcIkNsb3NlXCIsXHJcbiAgICAgIFwiQ0FOQ0VMXCI6IFwiQ2FuY2VsXCIsXHJcbiAgICAgIFwiUkVQSFJBU0VcIjogXCJSZXBocmFzZVwiLFxyXG4gICAgICBcIlJFUEhSQVNJTkdcIjogXCJSZXBocmFzaW5nLi4uXCIsXHJcbiAgICAgIFwiTElNSVRcIjogXCI8c3BhbiBjbGFzcz0ndGV4dC1tLXNlbWktYm9sZCc+e3tsaW1pdH19PC9zcGFuPiByZXBocmFzZSBsZWZ0IHRvZGF5LiBOZWVkIG1vcmU/IDxhIGhyZWY9J3t7c3Vic2NyaXB0aW9uVXJsfX0nIHRhcmdldD0nX2JsYW5rJz5VcGdyYWRlIHN1YnNjcmlwdGlvbjwvYT5cIixcclxuICAgICAgXCJXUklUSU5HX1NUWUxFU1wiOiB7XHJcbiAgICAgICAgXCJUSVRMRVwiOiBcIldyaXRpbmcgc3R5bGVcIixcclxuICAgICAgICBcIlRPT0xUSVBfR0VORVJBTFwiOiBcIkZvcm1hbGl0eTogVXNlIGEgbG93IHRvIG1lZGl1bSBsZXZlbCBvZiBmb3JtYWxpdHkuIFxcblZvY2FidWxhcnk6IE9wdGltYWwgZm9yIHNpbXBsZSBhbmQgY2xlYXIgbGFuZ3VhZ2UsIGF2b2lkaW5nIHRlY2huaWNhbCBqYXJnb24uIFxcblNlbnRlbmNlIFN0cnVjdHVyZTogS2VlcCBzZW50ZW5jZXMgc2ltcGxlIHRvIG1vZGVyYXRlbHkgY29tcGxleC4gXFxuVG9uZTogTWFpbnRhaW4gYSBmcmllbmRseSBhbmQgZW5nYWdpbmcgdG9uZS5cIixcclxuICAgICAgICBcIlRPT0xUSVBfUFJPRkVTU0lPTkFMXCI6IFwiRm9ybWFsaXR5OiBVc2UgYSBtZWRpdW0gdG8gaGlnaCBsZXZlbCBvZiBmb3JtYWxpdHkuIFxcblZvY2FidWxhcnk6IFV0aWxpemUgaW5kdXN0cnktc3BlY2lmaWMgdGVybWlub2xvZ3kgYW5kIGphcmdvbiB3aGVyZSBhcHByb3ByaWF0ZS4gXFxuU2VudGVuY2UgU3RydWN0dXJlOiBFbnN1cmUgc2VudGVuY2VzIGFyZSBjbGVhciBhbmQgY29uY2lzZSwgd2l0aCBzb21lIGNvbXBsZXhpdHkuIFxcblRvbmU6IE1haW50YWluIGEgcHJvZmVzc2lvbmFsLCByZXNwZWN0ZnVsLCBhbmQgc3RyYWlnaHRmb3J3YXJkIHRvbmUuXCIsXHJcbiAgICAgICAgXCJUT09MVElQX0FDQURFTUlDXCI6IFwiRm9ybWFsaXR5OiBVc2UgYSBoaWdoIGxldmVsIG9mIGZvcm1hbGl0eS4gXFxuVm9jYWJ1bGFyeTogSW5jb3Jwb3JhdGUgdGVjaG5pY2FsIGFuZCBzdWJqZWN0LXNwZWNpZmljIHRlcm1pbm9sb2d5LiBcXG5TZW50ZW5jZSBTdHJ1Y3R1cmU6IFV0aWxpemUgY29tcGxleCBzZW50ZW5jZSBzdHJ1Y3R1cmVzIHdpdGggYSBmb2N1cyBvbiBjbGFyaXR5IGFuZCBwcmVjaXNpb24uIFxcblRvbmU6IE1haW50YWluIGFuIG9iamVjdGl2ZSwgYW5hbHl0aWNhbCwgYW5kIHNvbWV0aW1lcyBpbXBlcnNvbmFsIHRvbmUuXCIsXHJcbiAgICAgICAgXCJTUEVDSUZJQ19TVFlMRVwiOiBcInt7c3R5bGV9fSB3cml0aW5nIHN0eWxlXCIsXHJcbiAgICAgICAgXCJHRU5FUkFMXCI6IFwiR2VuZXJhbFwiLFxyXG4gICAgICAgIFwiUFJPRkVTU0lPTkFMXCI6IFwiUHJvZmVzc2lvbmFsXCIsXHJcbiAgICAgICAgXCJBQ0FERU1JQ1wiOiBcIkFjYWRlbWljXCJcclxuICAgICAgfSxcclxuICAgIH0sXHJcbiAgICBcIlNVTU1BUllfTU9EQUxcIjoge1xyXG4gICAgICBcIlRJVExFXCI6IFwiVHJhbnNsYXRpb24gc3VtbWFyeVwiLFxyXG4gICAgICBcIkRFU0NSSVBUSU9OXCI6IFwiQ3JlYXRpbmcgc3VtbWFyeVwiLFxyXG4gICAgICBcIkNBTkNFTFwiOiBcIkNhbmNlbFwiLFxyXG4gICAgICBcIkNMT1NFXCI6IFwiQ2xvc2VcIixcclxuICAgICAgXCJDUkVBVElOR1wiOiBcIkNyZWF0aW5nIHN1bW1hcnkuLi5cIixcclxuICAgICAgXCJSRUdFTkVSQVRFXCI6IFwiUmUtZ2VuZXJhdGVcIixcclxuICAgICAgXCJMSU1JVFwiOiBcIjxzcGFuIGNsYXNzPSd0ZXh0LW0tc2VtaS1ib2xkJz57e2xpbWl0fX08L3NwYW4+IHN1bW1hcnkgbGVmdCB0b2RheS4gTmVlZCBtb3JlPyA8YSBocmVmPSd7e3N1YnNjcmlwdGlvblVybH19JyB0YXJnZXQ9J19ibGFuayc+VXBncmFkZSBzdWJzY3JpcHRpb248L2E+XCIsXHJcbiAgICB9LFxyXG4gICAgXCJFUlJPUlNcIjoge1xyXG4gICAgICBcIlFVT1RBX0xJTUlUXCI6IFwiWW91IGhhdmUgcmVhY2hlZCB5b3VyIHF1b3RhIGxpbWl0LiBOZWVkIG1vcmU/IDxhIGhyZWY9J3t7c3Vic2NyaXB0aW9uVXJsfX0nIHRhcmdldD0nX2JsYW5rJz5VcGdyYWRlIHN1YnNjcmlwdGlvbjwvYT5cIixcclxuICAgICAgXCJRVU9UQV9MSU1JVF9SRUFDSEVEXCI6IFwiWW91IGhhdmUgcmVhY2hlZCB5b3VyIHF1b3RhIGxpbWl0LiBOZWVkIG1vcmU/IDxhIGhyZWY9J3t7c3Vic2NyaXB0aW9uVXJsfX0nIHRhcmdldD0nX2JsYW5rJz5VcGdyYWRlIHN1YnNjcmlwdGlvbjwvYT5cIixcclxuICAgICAgXCJERUZBVUxUXCI6IFwiSXQgc2VlbXMgbGlrZSB3ZSBoYWQgcHJvYmxlbSwgcGxlYXNlIDxib2xkPnJlcGVhdDwvYm9sZD4gYWN0aW9uLCBpZiBpdCBkb2Vzbid0IHdvcmssIGNvbnRhY3Qgb3VyIDxhIGhyZWY9J21haWx0bzp7e3N1cHBvcnRFbWFpbH19JyB0YXJnZXQ9J19ibGFuayc+c3VwcG9ydCB0ZWFtPC9hPi5cIlxyXG4gICAgfVxyXG4gIH0sXHJcbn1cclxuIl19
@@ -42,8 +42,8 @@ export class TranslationSystemPickerDropdownBodyComponent {
42
42
  languageAndDomainTranslations;
43
43
  languagesLocalizationKey = "LANGUAGES";
44
44
  domainsLocalizationKey = "DOMAINS";
45
- domainsTitleKey = "SYSTEM_PICKER.SELECT_DOMAIN";
46
45
  filterHighlightPipe = new FilterWithHighlightPipe();
46
+ domainsTitleKey = "SYSTEM_PICKER.SELECT_DOMAIN";
47
47
  recentSystemTitleKey = "SYSTEM_PICKER.RECENT_SYSTEM_TITLE";
48
48
  historyIcon = 'history';
49
49
  get recentSystems() {
@@ -218,11 +218,11 @@ export class TranslationSystemPickerDropdownBodyComponent {
218
218
  return this.languageAndDomainTranslations[this.domainsLocalizationKey][domain?.split(/[ -]+/).join("_").toUpperCase()] ?? domain;
219
219
  }
220
220
  static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslationSystemPickerDropdownBodyComponent, deps: [{ token: i1.TldTranslateSystemManagementService }, { token: i2.TranslateService }, { token: i3.TranslationSystemPickerService }, { token: i4.LanguageTranslateService }, { token: i1.TldTranslateConfigService }], target: i0.ɵɵFactoryTarget.Component });
221
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TranslationSystemPickerDropdownBodyComponent, selector: "tld-translation-system-picker-dropdown-body", inputs: { filterText: "filterText", config: "config" }, outputs: { onSystemClick: "onSystemClick", onLanguageClick: "onLanguageClick", onFilteredLanguageClick: "onFilteredLanguageClick" }, ngImport: i0, template: "<div class=\"dropdown-body\" *ngIf=\"!showFiltered; else filter\">\r\n <tld-translation-system-picker-language-list *ngIf=\"showLanguages\" [languages]=\"groupedLanguages\"\r\n [activeCode]=\"activeLanguageCode\" (clicked)=\"languageClick($event)\" [showTitle]=\"showLanguageTitle\" [menuState]=\"menuState\">\r\n </tld-translation-system-picker-language-list>\r\n <tld-translation-system-picker-system-list [isRecentSystemList]=\"systemListTitle === recentSystemTitleKey\" *ngIf=\"showSystems && systemList?.length> 0\" [systems]=\"systemList\"\r\n (clicked)=\"systemClick($event)\" [showTitle]=\"showSystemTitle\" [titleKey]=\"systemListTitle\"\r\n [activeId]=\"activeSystemId\" [icon]=\"systemListTitle === recentSystemTitleKey ? historyIcon : null\">\r\n </tld-translation-system-picker-system-list>\r\n</div>\r\n<ng-template #filter>\r\n <div *ngIf=\"showLanguages\" class=\"filtered-items\">\r\n <ul>\r\n <li>\r\n <translation-system-picker-button *ngFor=\"let language of filteredLanguages\"\r\n [active]=\"activeLanguageCode === language.code\" (onClick)=\"filteredLanguageClick(language)\">\r\n <span [innerHtml]=\"language.displayName\"></span>\r\n </translation-system-picker-button>\r\n </li>\r\n </ul>\r\n <p class=\"no-results-message\" *ngIf=\"!filteredLanguages?.length\">{{\"SYSTEM_PICKER.FILTER_NO_RESULTS\" | translate}}\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:inline-block}:host .no-results-message{margin:0}.dropdown-body{display:flex;flex:1 1 100%}@media (min-width: 600px){.dropdown-body{flex-direction:row}.dropdown-body tld-translation-system-picker-language-list{padding-right:1rem;order:0}.dropdown-body tld-translation-system-picker-system-list{padding-left:1.5rem;order:1}}@media (min-width: 0) and (max-width: 599.9px){.dropdown-body{flex-direction:column}.dropdown-body tld-translation-system-picker-language-list,.dropdown-body tld-translation-system-picker-system-list,.dropdown-body .filtered-items{padding-top:1rem;order:1}.dropdown-body tld-translation-system-picker-system-list{padding-bottom:1rem;order:0}.dropdown-body tld-translation-system-picker-language-list+tld-translation-system-picker-system-list{border-bottom:1px solid var(--base-70)}}@media (min-width: 0) and (max-width: 599.9px){.filtered-items{padding-top:1rem;order:1}}ul{list-style-type:none;padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.TranslationSystemPickerLanguageListComponent, selector: "tld-translation-system-picker-language-list", inputs: ["languages", "activeCode", "showTitle", "menuState"], outputs: ["clicked"] }, { kind: "component", type: i7.TranslationSystemPickerSystemListComponent, selector: "tld-translation-system-picker-system-list", inputs: ["systems", "titleKey", "activeId", "showTitle", "icon", "isRecentSystemList"], outputs: ["clicked"] }, { kind: "component", type: i8.TranslationSystemPickerButtonComponent, selector: "translation-system-picker-button", inputs: ["active", "isRecentSystemList", "tooltip"], outputs: ["onClick"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
221
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.2.12", type: TranslationSystemPickerDropdownBodyComponent, selector: "tld-translation-system-picker-dropdown-body", inputs: { filterText: "filterText", config: "config" }, outputs: { onSystemClick: "onSystemClick", onLanguageClick: "onLanguageClick", onFilteredLanguageClick: "onFilteredLanguageClick" }, ngImport: i0, template: "<div class=\"dropdown-body\" *ngIf=\"!showFiltered; else filter\">\r\n <tld-translation-system-picker-language-list *ngIf=\"showLanguages\" [languages]=\"groupedLanguages\"\r\n [activeCode]=\"activeLanguageCode\" (clicked)=\"languageClick($event)\" [showTitle]=\"showLanguageTitle\" [menuState]=\"menuState\">\r\n </tld-translation-system-picker-language-list>\r\n <tld-translation-system-picker-system-list [isDomainList]=\"systemListTitle === domainsTitleKey\" [isRecentSystemList]=\"systemListTitle === recentSystemTitleKey\" *ngIf=\"showSystems && systemList?.length> 0\" [systems]=\"systemList\"\r\n (clicked)=\"systemClick($event)\" [showTitle]=\"showSystemTitle\" [titleKey]=\"systemListTitle\"\r\n [activeId]=\"activeSystemId\" [icon]=\"systemListTitle === recentSystemTitleKey ? historyIcon : null\">\r\n </tld-translation-system-picker-system-list>\r\n</div>\r\n<ng-template #filter>\r\n <div *ngIf=\"showLanguages\" class=\"filtered-items\">\r\n <ul>\r\n <li>\r\n <translation-system-picker-button *ngFor=\"let language of filteredLanguages\"\r\n [active]=\"activeLanguageCode === language.code\" (onClick)=\"filteredLanguageClick(language)\">\r\n <span [innerHtml]=\"language.displayName\"></span>\r\n </translation-system-picker-button>\r\n </li>\r\n </ul>\r\n <p class=\"no-results-message\" *ngIf=\"!filteredLanguages?.length\">{{\"SYSTEM_PICKER.FILTER_NO_RESULTS\" | translate}}\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:inline-block}:host .no-results-message{margin:0}.dropdown-body{display:flex;flex:1 1 100%}@media (min-width: 600px){.dropdown-body{flex-direction:row}.dropdown-body tld-translation-system-picker-language-list{padding-right:1rem;order:0}.dropdown-body tld-translation-system-picker-system-list{padding-left:1.5rem;order:1}}@media (min-width: 0) and (max-width: 599.9px){.dropdown-body{flex-direction:column}.dropdown-body tld-translation-system-picker-language-list,.dropdown-body tld-translation-system-picker-system-list,.dropdown-body .filtered-items{padding-top:1rem;order:1}.dropdown-body tld-translation-system-picker-system-list{padding-bottom:1rem;order:0}.dropdown-body tld-translation-system-picker-language-list+tld-translation-system-picker-system-list{border-bottom:1px solid var(--base-70)}}@media (min-width: 0) and (max-width: 599.9px){.filtered-items{padding-top:1rem;order:1}}ul{list-style-type:none;padding:0;margin:0}\n"], dependencies: [{ kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.TranslationSystemPickerLanguageListComponent, selector: "tld-translation-system-picker-language-list", inputs: ["languages", "activeCode", "showTitle", "menuState"], outputs: ["clicked"] }, { kind: "component", type: i7.TranslationSystemPickerSystemListComponent, selector: "tld-translation-system-picker-system-list", inputs: ["systems", "titleKey", "activeId", "showTitle", "icon", "isRecentSystemList", "isDomainList"], outputs: ["clicked"] }, { kind: "component", type: i8.TranslationSystemPickerButtonComponent, selector: "translation-system-picker-button", inputs: ["active", "isRecentSystemList", "isDomainList", "tooltip"], outputs: ["onClick"] }, { kind: "pipe", type: i2.TranslatePipe, name: "translate" }] });
222
222
  }
223
223
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImport: i0, type: TranslationSystemPickerDropdownBodyComponent, decorators: [{
224
224
  type: Component,
225
- args: [{ selector: 'tld-translation-system-picker-dropdown-body', template: "<div class=\"dropdown-body\" *ngIf=\"!showFiltered; else filter\">\r\n <tld-translation-system-picker-language-list *ngIf=\"showLanguages\" [languages]=\"groupedLanguages\"\r\n [activeCode]=\"activeLanguageCode\" (clicked)=\"languageClick($event)\" [showTitle]=\"showLanguageTitle\" [menuState]=\"menuState\">\r\n </tld-translation-system-picker-language-list>\r\n <tld-translation-system-picker-system-list [isRecentSystemList]=\"systemListTitle === recentSystemTitleKey\" *ngIf=\"showSystems && systemList?.length> 0\" [systems]=\"systemList\"\r\n (clicked)=\"systemClick($event)\" [showTitle]=\"showSystemTitle\" [titleKey]=\"systemListTitle\"\r\n [activeId]=\"activeSystemId\" [icon]=\"systemListTitle === recentSystemTitleKey ? historyIcon : null\">\r\n </tld-translation-system-picker-system-list>\r\n</div>\r\n<ng-template #filter>\r\n <div *ngIf=\"showLanguages\" class=\"filtered-items\">\r\n <ul>\r\n <li>\r\n <translation-system-picker-button *ngFor=\"let language of filteredLanguages\"\r\n [active]=\"activeLanguageCode === language.code\" (onClick)=\"filteredLanguageClick(language)\">\r\n <span [innerHtml]=\"language.displayName\"></span>\r\n </translation-system-picker-button>\r\n </li>\r\n </ul>\r\n <p class=\"no-results-message\" *ngIf=\"!filteredLanguages?.length\">{{\"SYSTEM_PICKER.FILTER_NO_RESULTS\" | translate}}\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:inline-block}:host .no-results-message{margin:0}.dropdown-body{display:flex;flex:1 1 100%}@media (min-width: 600px){.dropdown-body{flex-direction:row}.dropdown-body tld-translation-system-picker-language-list{padding-right:1rem;order:0}.dropdown-body tld-translation-system-picker-system-list{padding-left:1.5rem;order:1}}@media (min-width: 0) and (max-width: 599.9px){.dropdown-body{flex-direction:column}.dropdown-body tld-translation-system-picker-language-list,.dropdown-body tld-translation-system-picker-system-list,.dropdown-body .filtered-items{padding-top:1rem;order:1}.dropdown-body tld-translation-system-picker-system-list{padding-bottom:1rem;order:0}.dropdown-body tld-translation-system-picker-language-list+tld-translation-system-picker-system-list{border-bottom:1px solid var(--base-70)}}@media (min-width: 0) and (max-width: 599.9px){.filtered-items{padding-top:1rem;order:1}}ul{list-style-type:none;padding:0;margin:0}\n"] }]
225
+ args: [{ selector: 'tld-translation-system-picker-dropdown-body', template: "<div class=\"dropdown-body\" *ngIf=\"!showFiltered; else filter\">\r\n <tld-translation-system-picker-language-list *ngIf=\"showLanguages\" [languages]=\"groupedLanguages\"\r\n [activeCode]=\"activeLanguageCode\" (clicked)=\"languageClick($event)\" [showTitle]=\"showLanguageTitle\" [menuState]=\"menuState\">\r\n </tld-translation-system-picker-language-list>\r\n <tld-translation-system-picker-system-list [isDomainList]=\"systemListTitle === domainsTitleKey\" [isRecentSystemList]=\"systemListTitle === recentSystemTitleKey\" *ngIf=\"showSystems && systemList?.length> 0\" [systems]=\"systemList\"\r\n (clicked)=\"systemClick($event)\" [showTitle]=\"showSystemTitle\" [titleKey]=\"systemListTitle\"\r\n [activeId]=\"activeSystemId\" [icon]=\"systemListTitle === recentSystemTitleKey ? historyIcon : null\">\r\n </tld-translation-system-picker-system-list>\r\n</div>\r\n<ng-template #filter>\r\n <div *ngIf=\"showLanguages\" class=\"filtered-items\">\r\n <ul>\r\n <li>\r\n <translation-system-picker-button *ngFor=\"let language of filteredLanguages\"\r\n [active]=\"activeLanguageCode === language.code\" (onClick)=\"filteredLanguageClick(language)\">\r\n <span [innerHtml]=\"language.displayName\"></span>\r\n </translation-system-picker-button>\r\n </li>\r\n </ul>\r\n <p class=\"no-results-message\" *ngIf=\"!filteredLanguages?.length\">{{\"SYSTEM_PICKER.FILTER_NO_RESULTS\" | translate}}\r\n </p>\r\n </div>\r\n</ng-template>\r\n", styles: [":host{display:inline-block}:host .no-results-message{margin:0}.dropdown-body{display:flex;flex:1 1 100%}@media (min-width: 600px){.dropdown-body{flex-direction:row}.dropdown-body tld-translation-system-picker-language-list{padding-right:1rem;order:0}.dropdown-body tld-translation-system-picker-system-list{padding-left:1.5rem;order:1}}@media (min-width: 0) and (max-width: 599.9px){.dropdown-body{flex-direction:column}.dropdown-body tld-translation-system-picker-language-list,.dropdown-body tld-translation-system-picker-system-list,.dropdown-body .filtered-items{padding-top:1rem;order:1}.dropdown-body tld-translation-system-picker-system-list{padding-bottom:1rem;order:0}.dropdown-body tld-translation-system-picker-language-list+tld-translation-system-picker-system-list{border-bottom:1px solid var(--base-70)}}@media (min-width: 0) and (max-width: 599.9px){.filtered-items{padding-top:1rem;order:1}}ul{list-style-type:none;padding:0;margin:0}\n"] }]
226
226
  }], ctorParameters: function () { return [{ type: i1.TldTranslateSystemManagementService }, { type: i2.TranslateService }, { type: i3.TranslationSystemPickerService }, { type: i4.LanguageTranslateService }, { type: i1.TldTranslateConfigService }]; }, propDecorators: { filterText: [{
227
227
  type: Input
228
228
  }], config: [{
@@ -234,4 +234,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.2.12", ngImpo
234
234
  }], onFilteredLanguageClick: [{
235
235
  type: Output
236
236
  }] } });
237
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci1kcm9wZG93bi1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10b29sdGlwL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIvZHJvcGRvd24tYm9keS90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRvb2x0aXAvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci9kcm9wZG93bi1ib2R5L3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItZHJvcGRvd24tYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBYyx1QkFBdUIsRUFBNEIsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEgsT0FBTyxFQUFzQixVQUFVLEVBQW9CLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBWTdFLE1BQU0sT0FBTyw0Q0FBNEM7SUErRHBDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFqRW5CLElBQWEsVUFBVSxDQUFDLEdBQVc7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ1EsTUFBTSxDQUFxQjtJQUUxQixhQUFhLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO0lBQ3JGLGVBQWUsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFDM0YsdUJBQXVCLEdBQXFDLElBQUksWUFBWSxFQUFz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QUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBYztRQUN6QyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUNuSSxDQUFDO3dHQXhQVSw0Q0FBNEM7NEZBQTVDLDRDQUE0QyxnUkNoQnpELDQ2Q0F1QkE7OzRGRFBhLDRDQUE0QztrQkFMeEQsU0FBUzsrQkFDRSw2Q0FBNkM7cVJBTTFDLFVBQVU7c0JBQXRCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZlRGF0YSwgRmlsdGVyV2l0aEhpZ2hsaWdodFBpcGUsIExhbmd1YWdlVHJhbnNsYXRlU2VydmljZSwgU29ydEhlbHBlciB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkJvZHlDb25maWcsIE9wZW5lZE1lbnUsIFRyYW5zbGF0ZWRTeXN0ZW0gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBHcm91cGVkTGFuZ3VhZ2VJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2dyb3VwZWQtbGFuZ3VhZ2UtaXRlbSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZWRMYW5ndWFnZSB9IGZyb20gJy4uL21vZGVscy90cmFuc2xhdGVkLWxhbmd1YWdlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TeXN0ZW1QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSwgVGxkVHJhbnNsYXRlU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duLWJvZHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItZHJvcGRvd24tYm9keS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblN5c3RlbVBpY2tlckRyb3Bkb3duQm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXJUZXh0KHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZpbHRlckxhbmd1YWdlcyh2YWwpO1xyXG4gIH1cclxuICBASW5wdXQoKSBjb25maWc6IERyb3Bkb3duQm9keUNvbmZpZztcclxuXHJcbiAgQE91dHB1dCgpIG9uU3lzdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxUcmFuc2xhdGVkU3lzdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNsYXRlZFN5c3RlbT4oKTtcclxuICBAT3V0cHV0KCkgb25MYW5ndWFnZUNsaWNrOiBFdmVudEVtaXR0ZXI8VHJhbnNsYXRlZExhbmd1YWdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNsYXRlZExhbmd1YWdlPigpO1xyXG4gIEBPdXRwdXQoKSBvbkZpbHRlcmVkTGFuZ3VhZ2VDbGljazogRXZlbnRFbWl0dGVyPFRyYW5zbGF0ZWRMYW5ndWFnZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zbGF0ZWRMYW5ndWFnZT4oKTtcclxuXHJcbiAgbWVudVN0YXRlOiBPcGVuZWRNZW51O1xyXG4gIHN5c3RlbUxpc3Q6IFRyYW5zbGF0ZWRTeXN0ZW1bXTtcclxuICBzeXN0ZW1MaXN0VGl0bGU6IHN0cmluZztcclxuICBzaG93RmlsdGVyZWQ6IGJvb2xlYW47XHJcblxyXG4gIGdldCBzaG93U3lzdGVtcygpIHsgcmV0dXJuICF0aGlzLmNvbmZpZz8uaGlkZVN5c3RlbXM7IH1cclxuICBnZXQgc2hvd0xhbmd1YWdlcygpIHsgcmV0dXJuICF0aGlzLmNvbmZpZz8uaGlkZUxhbmd1YWdlczsgfVxyXG4gIGdldCBzaG93U3lzdGVtVGl0bGUoKSB7IHJldHVybiAhdGhpcy5jb25maWc/LmhpZGVTeXN0ZW1UaXRsZTsgfTtcclxuICBnZXQgc2hvd0xhbmd1YWdlVGl0bGUoKSB7IHJldHVybiB0aGlzLmNvbmZpZz8uc2hvd0xhbmd1YWdlVGl0bGU7IH1cclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmVEYXRhOiBBY3RpdmVEYXRhO1xyXG4gIHByaXZhdGUgc3lzdGVtU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBsYW5nU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBtZW51VG9nZ2xlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgLy8gU3RvcmVzIGZyb20gbG9jYWxpemF0aW9uIGZpbGUgbGFuZ3VhZ2UgdHJhbnNsYXRpb25zXHJcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBzdG9yZWQgaGVyZSBiZWNhdXNlIHRoZSBvcmRlciBpbiB0bWVwbGF0ZSBuZWVkcyB0byBiZSBieSBjdXJyZW50IGxhbmd1YWdlXHJcbiAgLy8gcG9zc2libGUgdG8gdXNlIHNvcnRUcmFuc2xhdGlvbnMgcGlwZSBmcm9tIGNvbW1vbiBsaWIsIGJ1dCBkZWNpZGVkIG5vdCB0byBiZWNhdXNlIGhlcmUgd2Ugc3RpbGwgbmVlZCB0byBncm91cCBsYW5ndWFnZXMgYnkgZmlyc3QgbGV0dGVyLlxyXG4gIHByaXZhdGUgbGFuZ3VhZ2VBbmREb21haW5UcmFuc2xhdGlvbnM6IHN0cmluZ1tdW107XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VzTG9jYWxpemF0aW9uS2V5ID0gXCJMQU5HVUFHRVNcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRvbWFpbnNMb2NhbGl6YXRpb25LZXkgPSBcIkRPTUFJTlNcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRvbWFpbnNUaXRsZUtleSA9IFwiU1lTVEVNX1BJQ0tFUi5TRUxFQ1RfRE9NQUlOXCI7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBmaWx0ZXJIaWdobGlnaHRQaXBlID0gbmV3IEZpbHRlcldpdGhIaWdobGlnaHRQaXBlKCk7XHJcbiAgXHJcbiAgcmVhZG9ubHkgcmVjZW50U3lzdGVtVGl0bGVLZXkgPSBcIlNZU1RFTV9QSUNLRVIuUkVDRU5UX1NZU1RFTV9USVRMRVwiO1xyXG5cclxuICByZWFkb25seSBoaXN0b3J5SWNvbiA9ICdoaXN0b3J5JztcclxuXHJcbiAgZ2V0IHJlY2VudFN5c3RlbXMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVEYXRhPy5yZWNlbnRTeXN0ZW1zID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGRvbWFpbnMoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hY3RpdmVEYXRhPy5kb21haW5zPy5kb21haW5zID8/IFtdO1xyXG4gIH1cclxuXHJcbiAgZ2V0IGFjdGl2ZVN5c3RlbUlkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlRGF0YT8ubGFuZ3VhZ2VJZDtcclxuICB9XHJcblxyXG4gIGdldCBpc0F1dG9MYW5ndWFnZURldGVjdGlvbkVuYWJsZWQoKSB7XHJcbiAgICByZXR1cm4gdGhpcy5jb25maWdTZXJ2aWNlLnRleHRDb25maWcuaXNBdXRvTGFuZ3VhZ2VEZXRlY3Rpb25FbmFibGVkO1xyXG4gIH1cclxuXHJcbiAgYWxsTGFuZ3VhZ2VzOiBUcmFuc2xhdGVkTGFuZ3VhZ2VbXTtcclxuICBmaWx0ZXJlZExhbmd1YWdlczogVHJhbnNsYXRlZExhbmd1YWdlW107XHJcblxyXG4gIGdyb3VwZWRMYW5ndWFnZXM6IEdyb3VwZWRMYW5ndWFnZUl0ZW1bXTtcclxuICAvLyBFaXRoZXIgc291cmNlIG9yIHRhcmdldCBsYW5nIGNvZGUsIGRlcGVuZGluZyBvbiB3aGljaCBvbmUgaXMgb3BlbmVkLlxyXG4gIGFjdGl2ZUxhbmd1YWdlQ29kZTogc3RyaW5nO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgc3lzdGVtTWFuYWdlbWVudFNlcnZpY2U6IFRsZFRyYW5zbGF0ZVN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0cmFuc2xhdGU6IFRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbVBpY2tlclNlcnZpY2U6IFRyYW5zbGF0aW9uU3lzdGVtUGlja2VyU2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VTZXJ2aWNlOiBMYW5ndWFnZVRyYW5zbGF0ZVNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGNvbmZpZ1NlcnZpY2U6IFRsZFRyYW5zbGF0ZUNvbmZpZ1NlcnZpY2VcclxuICApIHt9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5tZW51U3RhdGUgPSB0aGlzLnN5c3RlbVBpY2tlclNlcnZpY2Uub3BlbmVkTWVudTtcclxuXHJcbiAgICB0aGlzLnN1YnNjcmliZVRvQWN0aXZlU3lzdGVtRGF0YSgpO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCk7XHJcbiAgICB0aGlzLnN1YnNjcmliZVRvTWVudVRvZ2dsZSgpO1xyXG5cclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmNsb3NlT3BlbmVkKCk7XHJcbiAgICB0aGlzLnN5c3RlbVN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5sYW5nU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLm1lbnVUb2dnbGVTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcblxyXG4gIGNsb3NlKCkge1xyXG4gICAgdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmNsb3NlT3BlbmVkKCk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJMYW5ndWFnZXMoZmlsdGVyOiBzdHJpbmcpIHtcclxuICAgIGlmICghZmlsdGVyPy5sZW5ndGgpIHtcclxuICAgICAgdGhpcy5maWx0ZXJlZExhbmd1YWdlcyA9IG51bGw7XHJcbiAgICAgIHRoaXMuc2hvd0ZpbHRlcmVkID0gZmFsc2U7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICBjb25zdCBsYW5ndWFnZURldGVjdGlvbiA9IHsgY29kZTogJ0FVVE8nLCBkaXNwbGF5TmFtZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2VDb2RlVHJhbnNsYXRpb24oJ2F1dG8nKSB9O1xyXG5cclxuICAgIHRoaXMuc2hvd0ZpbHRlcmVkID0gdHJ1ZTtcclxuICAgIHRoaXMuZmlsdGVyZWRMYW5ndWFnZXMgPSB0aGlzLmZpbHRlckhpZ2hsaWdodFBpcGUudHJhbnNmb3JtKFxyXG4gICAgICB0aGlzLmlzQXV0b0xhbmd1YWdlRGV0ZWN0aW9uRW5hYmxlZCAmJiB0aGlzLnN5c3RlbVBpY2tlclNlcnZpY2UuaXNTb3VyY2VPcGVuZWQgPyBbLi4udGhpcy5hbGxMYW5ndWFnZXMsIGxhbmd1YWdlRGV0ZWN0aW9uXSA6IHRoaXMuYWxsTGFuZ3VhZ2VzLCBmaWx0ZXIsIFwiZGlzcGxheU5hbWVcIlxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGxhbmd1YWdlQ2xpY2sobGFuZ3VhZ2U6IFRyYW5zbGF0ZWRMYW5ndWFnZSkge1xyXG4gICAgdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmxhbmd1YWdlU2VsZWN0ZWQobGFuZ3VhZ2UpO1xyXG4gICAgdGhpcy5vbkxhbmd1YWdlQ2xpY2suZW1pdChsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICBmaWx0ZXJlZExhbmd1YWdlQ2xpY2sobGFuZ3VhZ2U6IFRyYW5zbGF0ZWRMYW5ndWFnZSkge1xyXG4gICAgdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmxhbmd1YWdlU2VsZWN0ZWQobGFuZ3VhZ2UpO1xyXG4gICAgdGhpcy5vbkZpbHRlcmVkTGFuZ3VhZ2VDbGljay5lbWl0KGxhbmd1YWdlKTtcclxuICB9XHJcblxyXG4gIHN5c3RlbUNsaWNrKHN5c3RlbTogVHJhbnNsYXRlZFN5c3RlbSkge1xyXG4gICAgdGhpcy5zeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5jaGFuZ2VTeXN0ZW0oc3lzdGVtLmxhbmd1YWdlSWQpO1xyXG4gICAgdGhpcy5vblN5c3RlbUNsaWNrLmVtaXQoc3lzdGVtKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9NZW51VG9nZ2xlKCkge1xyXG4gICAgdGhpcy5tZW51VG9nZ2xlU3Vic2NyaXB0aW9uID0gdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLm1lbnVUb2dnbGVkKCkuc3Vic2NyaWJlKFxyXG4gICAgICAoc3RhdGUpID0+IHsgdGhpcy5vbk1lbnVUb2dnbGUoc3RhdGUpOyB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBvbk1lbnVUb2dnbGUoc3RhdGU6IE9wZW5lZE1lbnUpIHtcclxuICAgIGlmICh0aGlzLm1lbnVTdGF0ZSAhPT0gc3RhdGUpIHtcclxuICAgICAgdGhpcy5tZW51U3RhdGUgPSBzdGF0ZTtcclxuICAgICAgdGhpcy5zZXRBY3RpdmVMYW5ndWFnZUNvZGUoKTtcclxuICAgICAgdGhpcy5yZXRyYW5zbGF0ZSgpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXRBY3RpdmVMYW5ndWFnZUNvZGUoKSB7XHJcbiAgICBpZiAoIXRoaXMuYWN0aXZlRGF0YSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKHRoaXMubWVudVN0YXRlID09PSBPcGVuZWRNZW51LlNPVVJDRSkge1xyXG4gICAgICB0aGlzLmFjdGl2ZUxhbmd1YWdlQ29kZSA9IHRoaXMuYWN0aXZlRGF0YS5zb3VyY2VMYW5nLmxhbmc7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLm1lbnVTdGF0ZSA9PT0gT3BlbmVkTWVudS5UQVJHRVQpIHtcclxuICAgICAgdGhpcy5hY3RpdmVMYW5ndWFnZUNvZGUgPSB0aGlzLmFjdGl2ZURhdGEudGFyZ2V0TGFuZy5sYW5nO1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlTGFuZ3VhZ2VDb2RlID0gbnVsbDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9BY3RpdmVTeXN0ZW1EYXRhKCkge1xyXG4gICAgdGhpcy5zeXN0ZW1TdWJzY3JpcHRpb24gPSB0aGlzLnN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlLmdldEFjdGl2ZURhdGEoKS5zdWJzY3JpYmUoXHJcbiAgICAgIChhY3RpdmUpID0+IHtcclxuICAgICAgICBpZiAoIWFjdGl2ZSkge1xyXG4gICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5hY3RpdmVEYXRhID0gYWN0aXZlO1xyXG4gICAgICAgIHRoaXMuc2V0QWN0aXZlTGFuZ3VhZ2VDb2RlKCk7XHJcbiAgICAgICAgdGhpcy5yZXRyYW5zbGF0ZSgpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpYmVUb0xhbmd1YWdlQ2hhbmdlKCkge1xyXG4gICAgdGhpcy5sYW5nU3Vic2NyaXB0aW9uID0gdGhpcy50cmFuc2xhdGUuc3RyZWFtKFt0aGlzLmxhbmd1YWdlc0xvY2FsaXphdGlvbktleSwgdGhpcy5kb21haW5zTG9jYWxpemF0aW9uS2V5XSkuc3Vic2NyaWJlKChkYXRhKSA9PiB7XHJcbiAgICAgIHRoaXMubGFuZ3VhZ2VBbmREb21haW5UcmFuc2xhdGlvbnMgPSBkYXRhO1xyXG4gICAgICB0aGlzLnJldHJhbnNsYXRlKCk7XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSByZXRyYW5zbGF0ZSgpIHtcclxuICAgIC8vIGNhbnQgcmV0cmFuc2xhdGUgaWYgYm90aCBvZiB0aGVzZSB2YWx1ZXMgYXJlIG5vdCBsb2FkZWQgeWVyLiBUaGlzIGNvbmRpdGlvbiBzaG91bGQgZnVsZmlsbCBvbmx5IG9uIGZpcnN0IHRpbWUuXHJcbiAgICBpZiAoISh0aGlzLmxhbmd1YWdlQW5kRG9tYWluVHJhbnNsYXRpb25zICYmIHRoaXMuYWN0aXZlRGF0YSkpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMudHJhbnNsYXRlU3lzdGVtcygpO1xyXG4gICAgdGhpcy5zb3J0TGFuZ3VhZ2VzKCk7XHJcbiAgfVxyXG5cclxuICAvLyBNZXRob2QgcHJlcGFyZXMgb2JqZWN0cyBmb3IgcmVjZW50IHN5c3RlbXMgb3IgZG9tYWlucywgZGVwZW5kaW5nIG9uIHdoaWNoIG1lbnUgaXMgb3BlbmVkLlxyXG4gIHByaXZhdGUgdHJhbnNsYXRlU3lzdGVtcygpIHtcclxuICAgIGlmICh0aGlzLnN5c3RlbVBpY2tlclNlcnZpY2UuaXNTb3VyY2VPcGVuZWQpIHtcclxuICAgICAgdGhpcy5zeXN0ZW1MaXN0ID0gdGhpcy5nZXRUcmFuc2xhdGVkUmVjZW50U3lzdGVtcygpO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmlzVGFyZ2V0T3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuc3lzdGVtTGlzdCA9IHRoaXMuZ2V0VHJhbnNsYXRlZERvbWFpbnMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlZERvbWFpbnMoKTogVHJhbnNsYXRlZFN5c3RlbVtdIHtcclxuICAgIHRoaXMuc3lzdGVtTGlzdFRpdGxlID0gdGhpcy5kb21haW5zVGl0bGVLZXk7XHJcbiAgICBjb25zdCBhcnI6IFRyYW5zbGF0ZWRTeXN0ZW1bXSA9IFtdO1xyXG4gICAgdGhpcy5kb21haW5zLmZvckVhY2goZG9tYWluID0+IHtcclxuICAgICAgYXJyLnB1c2goeyBkaXNwbGF5TmFtZTogdGhpcy5nZXREb21haW5EaXNwbGF5TmFtZShkb21haW4udGl0bGUpLCBsYW5ndWFnZUlkOiBkb21haW4ubGFuZ3VhZ2VJZCB9KVxyXG4gICAgfSk7XHJcbiAgICByZXR1cm4gYXJyO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRUcmFuc2xhdGVkUmVjZW50U3lzdGVtcygpOiBUcmFuc2xhdGVkU3lzdGVtW10ge1xyXG4gICAgdGhpcy5zeXN0ZW1MaXN0VGl0bGUgPSB0aGlzLnJlY2VudFN5c3RlbVRpdGxlS2V5O1xyXG4gICAgY29uc3QgYXJyOiBUcmFuc2xhdGVkU3lzdGVtW10gPSBbXTtcclxuICAgIHRoaXMucmVjZW50U3lzdGVtcy5mb3JFYWNoKChzeXN0ZW0pID0+IHtcclxuICAgICAgY29uc3QgdHJhbnNsYXRlZDogVHJhbnNsYXRlZFN5c3RlbSA9IHtcclxuICAgICAgICBsYW5ndWFnZUlkOiBzeXN0ZW0ubGFuZ3VhZ2VJZCxcclxuICAgICAgICBkaXNwbGF5TmFtZTogYCR7dGhpcy5sYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2VDb2RlVHJhbnNsYXRpb24oc3lzdGVtLnNvdXJjZUxhbmd1YWdlKX0gLSAke3RoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlQ29kZVRyYW5zbGF0aW9uKHN5c3RlbS50YXJnZXRMYW5ndWFnZSl9ICgke3RoaXMuZ2V0RG9tYWluRGlzcGxheU5hbWUoc3lzdGVtLmRvbWFpbil9KWBcclxuICAgICAgfVxyXG4gICAgICBhcnIucHVzaCh0cmFuc2xhdGVkKTtcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFyciA/PyBbXTtcclxuICB9XHJcblxyXG4gIC8vIFNvcnRzIGxhbmd1YWdlcyBhbmQgc2V0cyB0aGVtIHRvIEdyb3VwZWRMYW5ndWFnZUl0ZW0gc3RydWN0dXJlXHJcbiAgcHJpdmF0ZSBzb3J0TGFuZ3VhZ2VzKCkge1xyXG4gICAgbGV0IGxhbmd1YWdlTGlzdDogYW55W107XHJcbiAgICBpZiAodGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmlzU291cmNlT3BlbmVkKSB7XHJcbiAgICAgIGxhbmd1YWdlTGlzdCA9IHRoaXMuYWN0aXZlRGF0YS5zb3VyY2VMYW5nTGlzdDtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5pc1RhcmdldE9wZW5lZCkge1xyXG4gICAgICBsYW5ndWFnZUxpc3QgPSB0aGlzLmFjdGl2ZURhdGEudGFyZ2V0TGFuZ0xpc3Q7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuYWxsTGFuZ3VhZ2VzID0gW107XHJcblxyXG4gICAgdGhpcy5ncm91cGVkTGFuZ3VhZ2VzID0gdGhpcy5zeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5nZXRVbmlxdWVMYW5ndWFnZXMobGFuZ3VhZ2VMaXN0KVxyXG4gICAgICAucmVkdWNlKChuZXdBcnJheTogR3JvdXBlZExhbmd1YWdlSXRlbVtdLCBjdXJyKSA9PiB7XHJcbiAgICAgICAgY29uc3QgdHJhbnNsYXRlZExhbmd1YWdlOiBUcmFuc2xhdGVkTGFuZ3VhZ2UgPSB7IGNvZGU6IGN1cnIsIGRpc3BsYXlOYW1lOiB0aGlzLmxhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZUNvZGVUcmFuc2xhdGlvbihjdXJyLnRvVXBwZXJDYXNlKCkpIH07XHJcbiAgICAgICAgY29uc3QgZmlyc3RMZXR0ZXIgPSB0cmFuc2xhdGVkTGFuZ3VhZ2UuZGlzcGxheU5hbWVbMF0udG9VcHBlckNhc2UoKTtcclxuICAgICAgICBjb25zdCBpZHggPSBuZXdBcnJheS5maW5kSW5kZXgoZSA9PiBlLmdyb3VwZWRCeSA9PT0gZmlyc3RMZXR0ZXIpO1xyXG4gICAgICAgIHRoaXMuYWxsTGFuZ3VhZ2VzLnB1c2godHJhbnNsYXRlZExhbmd1YWdlKTtcclxuICAgICAgICBpZiAoaWR4ID09PSAtMSkge1xyXG4gICAgICAgICAgbmV3QXJyYXkucHVzaCh7IGdyb3VwZWRCeTogZmlyc3RMZXR0ZXIsIGdyb3VwOiBbdHJhbnNsYXRlZExhbmd1YWdlXSB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgZWxzZSB7XHJcbiAgICAgICAgICBuZXdBcnJheVtpZHhdLmdyb3VwLnB1c2godHJhbnNsYXRlZExhbmd1YWdlKTtcclxuICAgICAgICAgIFNvcnRIZWxwZXIuc29ydEFscGhhYmV0aWNhbGx5KG5ld0FycmF5W2lkeF0uZ3JvdXAsICdkaXNwbGF5TmFtZScpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbmV3QXJyYXk7XHJcbiAgICAgIH0sIFtdKVxyXG4gICAgICAuc29ydCgoZTEsIGUyKSA9PiBlMS5ncm91cGVkQnkgPiBlMi5ncm91cGVkQnkgPyAxIDogLTEpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXREb21haW5EaXNwbGF5TmFtZShkb21haW46IHN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMubGFuZ3VhZ2VBbmREb21haW5UcmFuc2xhdGlvbnNbdGhpcy5kb21haW5zTG9jYWxpemF0aW9uS2V5XVtkb21haW4/LnNwbGl0KC9bIC1dKy8pLmpvaW4oXCJfXCIpLnRvVXBwZXJDYXNlKCldID8/IGRvbWFpbjtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImRyb3Bkb3duLWJvZHlcIiAqbmdJZj1cIiFzaG93RmlsdGVyZWQ7IGVsc2UgZmlsdGVyXCI+XHJcbiAgPHRsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWxhbmd1YWdlLWxpc3QgKm5nSWY9XCJzaG93TGFuZ3VhZ2VzXCIgW2xhbmd1YWdlc109XCJncm91cGVkTGFuZ3VhZ2VzXCJcclxuICAgIFthY3RpdmVDb2RlXT1cImFjdGl2ZUxhbmd1YWdlQ29kZVwiIChjbGlja2VkKT1cImxhbmd1YWdlQ2xpY2soJGV2ZW50KVwiIFtzaG93VGl0bGVdPVwic2hvd0xhbmd1YWdlVGl0bGVcIiBbbWVudVN0YXRlXT1cIm1lbnVTdGF0ZVwiPlxyXG4gIDwvdGxkLXRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItbGFuZ3VhZ2UtbGlzdD5cclxuICA8dGxkLXRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItc3lzdGVtLWxpc3QgW2lzUmVjZW50U3lzdGVtTGlzdF09XCJzeXN0ZW1MaXN0VGl0bGUgPT09IHJlY2VudFN5c3RlbVRpdGxlS2V5XCIgKm5nSWY9XCJzaG93U3lzdGVtcyAmJiBzeXN0ZW1MaXN0Py5sZW5ndGg+IDBcIiBbc3lzdGVtc109XCJzeXN0ZW1MaXN0XCJcclxuICAgIChjbGlja2VkKT1cInN5c3RlbUNsaWNrKCRldmVudClcIiBbc2hvd1RpdGxlXT1cInNob3dTeXN0ZW1UaXRsZVwiIFt0aXRsZUtleV09XCJzeXN0ZW1MaXN0VGl0bGVcIlxyXG4gICAgW2FjdGl2ZUlkXT1cImFjdGl2ZVN5c3RlbUlkXCIgW2ljb25dPVwic3lzdGVtTGlzdFRpdGxlID09PSByZWNlbnRTeXN0ZW1UaXRsZUtleSA/IGhpc3RvcnlJY29uIDogbnVsbFwiPlxyXG4gIDwvdGxkLXRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItc3lzdGVtLWxpc3Q+XHJcbjwvZGl2PlxyXG48bmctdGVtcGxhdGUgI2ZpbHRlcj5cclxuICA8ZGl2ICpuZ0lmPVwic2hvd0xhbmd1YWdlc1wiIGNsYXNzPVwiZmlsdGVyZWQtaXRlbXNcIj5cclxuICAgIDx1bD5cclxuICAgICAgPGxpPlxyXG4gICAgICAgIDx0cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWJ1dHRvbiAqbmdGb3I9XCJsZXQgbGFuZ3VhZ2Ugb2YgZmlsdGVyZWRMYW5ndWFnZXNcIlxyXG4gICAgICAgICAgW2FjdGl2ZV09XCJhY3RpdmVMYW5ndWFnZUNvZGUgPT09IGxhbmd1YWdlLmNvZGVcIiAob25DbGljayk9XCJmaWx0ZXJlZExhbmd1YWdlQ2xpY2sobGFuZ3VhZ2UpXCI+XHJcbiAgICAgICAgICA8c3BhbiBbaW5uZXJIdG1sXT1cImxhbmd1YWdlLmRpc3BsYXlOYW1lXCI+PC9zcGFuPlxyXG4gICAgICAgIDwvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci1idXR0b24+XHJcbiAgICAgIDwvbGk+XHJcbiAgICA8L3VsPlxyXG4gICAgPHAgY2xhc3M9XCJuby1yZXN1bHRzLW1lc3NhZ2VcIiAqbmdJZj1cIiFmaWx0ZXJlZExhbmd1YWdlcz8ubGVuZ3RoXCI+e3tcIlNZU1RFTV9QSUNLRVIuRklMVEVSX05PX1JFU1VMVFNcIiB8IHRyYW5zbGF0ZX19XHJcbiAgICA8L3A+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ==
237
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci1kcm9wZG93bi1ib2R5LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RsZC10cmFuc2xhdGUvc3JjL2xpYi9tb2R1bGVzL3RsZC10b29sdGlwL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXIvZHJvcGRvd24tYm9keS90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duLWJvZHkuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGxkLXRyYW5zbGF0ZS9zcmMvbGliL21vZHVsZXMvdGxkLXRvb2x0aXAvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci9kcm9wZG93bi1ib2R5L3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItZHJvcGRvd24tYm9keS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQVUsTUFBTSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRS9FLE9BQU8sRUFBYyx1QkFBdUIsRUFBNEIsVUFBVSxFQUFFLE1BQU0sdUJBQXVCLENBQUM7QUFFbEgsT0FBTyxFQUFzQixVQUFVLEVBQW9CLE1BQU0sV0FBVyxDQUFDOzs7Ozs7Ozs7O0FBWTdFLE1BQU0sT0FBTyw0Q0FBNEM7SUErRHBDO0lBQ0E7SUFDQTtJQUNBO0lBQ0E7SUFqRW5CLElBQWEsVUFBVSxDQUFDLEdBQVc7UUFDakMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ1EsTUFBTSxDQUFxQjtJQUUxQixhQUFhLEdBQW1DLElBQUksWUFBWSxFQUFvQixDQUFDO0lBQ3JGLGVBQWUsR0FBcUMsSUFBSSxZQUFZLEVBQXNCLENBQUM7SUFDM0YsdUJBQXVCLEdBQXFDLElBQUksWUFBWSxFQUFzQixDQUFDO0lBRTdHLFNBQVMsQ0FBYTtJQUN0QixVQUFVLENBQXFCO0lBQy9CLGVBQWUsQ0FBUztJQUN4QixZQUFZLENBQVU7SUFFdEIsSUFBSSxXQUFXLEtBQUssT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN2RCxJQUFJLGFBQWEsS0FBSyxPQUFPLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxhQUFhLENBQUMsQ0FBQyxDQUFDO0lBQzNELElBQUksZUFBZSxLQUFLLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLGVBQWUsQ0FBQyxDQUFDLENBQUM7SUFBQSxDQUFDO0lBQ2hFLElBQUksaUJBQWlCLEtBQUssT0FBTyxJQUFJLENBQUMsTUFBTSxFQUFFLGlCQUFpQixDQUFDLENBQUMsQ0FBQztJQUUxRCxVQUFVLENBQWE7SUFDdkIsa0JBQWtCLENBQWU7SUFDakMsZ0JBQWdCLENBQWU7SUFDL0Isc0JBQXNCLENBQWU7SUFDN0Msc0RBQXNEO0lBQ3RELDZGQUE2RjtJQUM3RiwySUFBMkk7SUFDbkksNkJBQTZCLENBQWE7SUFFakMsd0JBQXdCLEdBQUcsV0FBVyxDQUFDO0lBQ3ZDLHNCQUFzQixHQUFHLFNBQVMsQ0FBQztJQUNuQyxtQkFBbUIsR0FBRyxJQUFJLHVCQUF1QixFQUFFLENBQUM7SUFFNUQsZUFBZSxHQUFHLDZCQUE2QixDQUFDO0lBQ2hELG9CQUFvQixHQUFHLG1DQUFtQyxDQUFDO0lBRTNELFdBQVcsR0FBRyxTQUFTLENBQUM7SUFFakMsSUFBSSxhQUFhO1FBQ2YsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLGFBQWEsSUFBSSxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVELElBQUksT0FBTztRQUNULE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxPQUFPLEVBQUUsT0FBTyxJQUFJLEVBQUUsQ0FBQztJQUNqRCxDQUFDO0lBRUQsSUFBSSxjQUFjO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDckMsQ0FBQztJQUVELElBQUksOEJBQThCO1FBQ2hDLE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxVQUFVLENBQUMsOEJBQThCLENBQUM7SUFDdEUsQ0FBQztJQUVELFlBQVksQ0FBdUI7SUFDbkMsaUJBQWlCLENBQXVCO0lBRXhDLGdCQUFnQixDQUF3QjtJQUN4Qyx1RUFBdUU7SUFDdkUsa0JBQWtCLENBQVM7SUFFM0IsWUFDbUIsdUJBQTRELEVBQzVELFNBQTJCLEVBQzNCLG1CQUFtRCxFQUNuRCxlQUF5QyxFQUN6QyxhQUF3QztRQUp4Qyw0QkFBdUIsR0FBdkIsdUJBQXVCLENBQXFDO1FBQzVELGNBQVMsR0FBVCxTQUFTLENBQWtCO1FBQzNCLHdCQUFtQixHQUFuQixtQkFBbUIsQ0FBZ0M7UUFDbkQsb0JBQWUsR0FBZixlQUFlLENBQTBCO1FBQ3pDLGtCQUFhLEdBQWIsYUFBYSxDQUEyQjtJQUN4RCxDQUFDO0lBRUosUUFBUTtRQUNOLElBQUksQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFVBQVUsQ0FBQztRQUVyRCxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztRQUNuQyxJQUFJLENBQUMseUJBQXlCLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMscUJBQXFCLEVBQUUsQ0FBQztJQUUvQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN2QyxJQUFJLENBQUMsa0JBQWtCLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDdEMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUM1QyxDQUFDO0lBRUQsS0FBSztRQUNILElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUN6QyxDQUFDO0lBRUQsZUFBZSxDQUFDLE1BQWM7UUFDNUIsSUFBSSxDQUFDLE1BQU0sRUFBRSxNQUFNLEVBQUU7WUFDbkIsSUFBSSxDQUFDLGlCQUFpQixHQUFHLElBQUksQ0FBQztZQUM5QixJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztZQUMxQixPQUFPO1NBQ1I7UUFFRCxNQUFNLGlCQUFpQixHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxXQUFXLEVBQUUsSUFBSSxDQUFDLGVBQWUsQ0FBQywwQkFBMEIsQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDO1FBRWpILElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxpQkFBaUIsR0FBRyxJQUFJLENBQUMsbUJBQW1CLENBQUMsU0FBUyxDQUN6RCxJQUFJLENBQUMsOEJBQThCLElBQUksSUFBSSxDQUFDLG1CQUFtQixDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsaUJBQWlCLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxNQUFNLEVBQUUsYUFBYSxDQUN0SyxDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWEsQ0FBQyxRQUE0QjtRQUN4QyxJQUFJLENBQUMsbUJBQW1CLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLENBQUM7UUFDcEQsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELHFCQUFxQixDQUFDLFFBQTRCO1FBQ2hELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUNwRCxJQUFJLENBQUMsdUJBQXVCLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRCxXQUFXLENBQUMsTUFBd0I7UUFDbEMsSUFBSSxDQUFDLHVCQUF1QixDQUFDLFlBQVksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDN0QsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsc0JBQXNCLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDLFNBQVMsQ0FDNUUsQ0FBQyxLQUFLLEVBQUUsRUFBRSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQ3pDLENBQUM7SUFDSixDQUFDO0lBRU8sWUFBWSxDQUFDLEtBQWlCO1FBQ3BDLElBQUksSUFBSSxDQUFDLFNBQVMsS0FBSyxLQUFLLEVBQUU7WUFDNUIsSUFBSSxDQUFDLFNBQVMsR0FBRyxLQUFLLENBQUM7WUFDdkIsSUFBSSxDQUFDLHFCQUFxQixFQUFFLENBQUM7WUFDN0IsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3BCO0lBQ0gsQ0FBQztJQUVPLHFCQUFxQjtRQUMzQixJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUNwQixPQUFPO1NBQ1I7UUFFRCxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssVUFBVSxDQUFDLE1BQU0sRUFBRTtZQUN4QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDO1NBQzNEO2FBQ0ksSUFBSSxJQUFJLENBQUMsU0FBUyxLQUFLLFVBQVUsQ0FBQyxNQUFNLEVBQUU7WUFDN0MsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQztTQUMzRDthQUNJO1lBQ0gsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQztTQUNoQztJQUNILENBQUM7SUFFTywyQkFBMkI7UUFDakMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxhQUFhLEVBQUUsQ0FBQyxTQUFTLENBQzlFLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDVCxJQUFJLENBQUMsTUFBTSxFQUFFO2dCQUNYLE9BQU87YUFDUjtZQUVELElBQUksQ0FBQyxVQUFVLEdBQUcsTUFBTSxDQUFDO1lBQ3pCLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO1lBQzdCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNyQixDQUFDLENBQ0YsQ0FBQztJQUNKLENBQUM7SUFFTyx5QkFBeUI7UUFDL0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxDQUFDLHdCQUF3QixFQUFFLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDN0gsSUFBSSxDQUFDLDZCQUE2QixHQUFHLElBQUksQ0FBQztZQUMxQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDckIsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRU8sV0FBVztRQUNqQixpSEFBaUg7UUFDakgsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLDZCQUE2QixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsRUFBRTtZQUM1RCxPQUFPO1NBQ1I7UUFFRCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7SUFDdkIsQ0FBQztJQUVELDRGQUE0RjtJQUNwRixnQkFBZ0I7UUFDdEIsSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFO1lBQzNDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLDBCQUEwQixFQUFFLENBQUM7U0FDckQ7YUFDSSxJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUU7WUFDaEQsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztTQUMvQztJQUNILENBQUM7SUFFTyxvQkFBb0I7UUFDMUIsSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDO1FBQzVDLE1BQU0sR0FBRyxHQUF1QixFQUFFLENBQUM7UUFDbkMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDNUIsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxJQUFJLENBQUMsb0JBQW9CLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLENBQUMsVUFBVSxFQUFFLENBQUMsQ0FBQTtRQUNuRyxDQUFDLENBQUMsQ0FBQztRQUNILE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVPLDBCQUEwQjtRQUNoQyxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksQ0FBQyxvQkFBb0IsQ0FBQztRQUNqRCxNQUFNLEdBQUcsR0FBdUIsRUFBRSxDQUFDO1FBQ25DLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7WUFDcEMsTUFBTSxVQUFVLEdBQXFCO2dCQUNuQyxVQUFVLEVBQUUsTUFBTSxDQUFDLFVBQVU7Z0JBQzdCLFdBQVcsRUFBRSxHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsTUFBTSxDQUFDLGNBQWMsQ0FBQyxLQUFLLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUc7YUFDbk4sQ0FBQTtZQUNELEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDdkIsQ0FBQyxDQUFDLENBQUM7UUFDSCxPQUFPLEdBQUcsSUFBSSxFQUFFLENBQUM7SUFDbkIsQ0FBQztJQUVELGlFQUFpRTtJQUN6RCxhQUFhO1FBQ25CLElBQUksWUFBbUIsQ0FBQztRQUN4QixJQUFJLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxjQUFjLEVBQUU7WUFDM0MsWUFBWSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsY0FBYyxDQUFDO1NBQy9DO2FBQ0ksSUFBSSxJQUFJLENBQUMsbUJBQW1CLENBQUMsY0FBYyxFQUFFO1lBQ2hELFlBQVksR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsQ0FBQztTQUMvQzthQUNJO1lBQ0gsT0FBTztTQUNSO1FBRUQsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFFdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxrQkFBa0IsQ0FBQyxZQUFZLENBQUM7YUFDbEYsTUFBTSxDQUFDLENBQUMsUUFBK0IsRUFBRSxJQUFJLEVBQUUsRUFBRTtZQUNoRCxNQUFNLGtCQUFrQixHQUF1QixFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlLENBQUMsMEJBQTBCLENBQUMsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLEVBQUUsQ0FBQztZQUNoSixNQUFNLFdBQVcsR0FBRyxrQkFBa0IsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDcEUsTUFBTSxHQUFHLEdBQUcsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLEtBQUssV0FBVyxDQUFDLENBQUM7WUFDakUsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUMzQyxJQUFJLEdBQUcsS0FBSyxDQUFDLENBQUMsRUFBRTtnQkFDZCxRQUFRLENBQUMsSUFBSSxDQUFDLEVBQUUsU0FBUyxFQUFFLFdBQVcsRUFBRSxLQUFLLEVBQUUsQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFLENBQUMsQ0FBQzthQUN4RTtpQkFDSTtnQkFDSCxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO2dCQUM3QyxVQUFVLENBQUMsa0JBQWtCLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssRUFBRSxhQUFhLENBQUMsQ0FBQzthQUNuRTtZQUNELE9BQU8sUUFBUSxDQUFDO1FBQ2xCLENBQUMsRUFBRSxFQUFFLENBQUM7YUFDTCxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsU0FBUyxHQUFHLEVBQUUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUM1RCxDQUFDO0lBRU8sb0JBQW9CLENBQUMsTUFBYztRQUN6QyxPQUFPLElBQUksQ0FBQyw2QkFBNkIsQ0FBQyxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQztJQUNuSSxDQUFDO3dHQXhQVSw0Q0FBNEM7NEZBQTVDLDRDQUE0QyxnUkNoQnpELG0rQ0F1QkE7OzRGRFBhLDRDQUE0QztrQkFMeEQsU0FBUzsrQkFDRSw2Q0FBNkM7cVJBTTFDLFVBQVU7c0JBQXRCLEtBQUs7Z0JBR0csTUFBTTtzQkFBZCxLQUFLO2dCQUVJLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csZUFBZTtzQkFBeEIsTUFBTTtnQkFDRyx1QkFBdUI7c0JBQWhDLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIE9uSW5pdCwgT3V0cHV0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZVNlcnZpY2UgfSBmcm9tICdAbmd4LXRyYW5zbGF0ZS9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZlRGF0YSwgRmlsdGVyV2l0aEhpZ2hsaWdodFBpcGUsIExhbmd1YWdlVHJhbnNsYXRlU2VydmljZSwgU29ydEhlbHBlciB9IGZyb20gJ0B0aWxkZS1ubHAvbmd4LWNvbW1vbic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBEcm9wZG93bkJvZHlDb25maWcsIE9wZW5lZE1lbnUsIFRyYW5zbGF0ZWRTeXN0ZW0gfSBmcm9tICcuLi9tb2RlbHMnO1xyXG5pbXBvcnQgeyBHcm91cGVkTGFuZ3VhZ2VJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2dyb3VwZWQtbGFuZ3VhZ2UtaXRlbSc7XHJcbmltcG9ydCB7IFRyYW5zbGF0ZWRMYW5ndWFnZSB9IGZyb20gJy4uL21vZGVscy90cmFuc2xhdGVkLWxhbmd1YWdlLm1vZGVsJztcclxuaW1wb3J0IHsgVHJhbnNsYXRpb25TeXN0ZW1QaWNrZXJTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci5zZXJ2aWNlJztcclxuaW1wb3J0IHsgVGxkVHJhbnNsYXRlQ29uZmlnU2VydmljZSwgVGxkVHJhbnNsYXRlU3lzdGVtTWFuYWdlbWVudFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi90bGQtY29tbW9uL3NlcnZpY2VzJztcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ3RsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duLWJvZHknLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWRyb3Bkb3duLWJvZHkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItZHJvcGRvd24tYm9keS5jb21wb25lbnQuc2NzcyddXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmFuc2xhdGlvblN5c3RlbVBpY2tlckRyb3Bkb3duQm9keUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIEBJbnB1dCgpIHNldCBmaWx0ZXJUZXh0KHZhbDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLmZpbHRlckxhbmd1YWdlcyh2YWwpO1xyXG4gIH1cclxuICBASW5wdXQoKSBjb25maWc6IERyb3Bkb3duQm9keUNvbmZpZztcclxuXHJcbiAgQE91dHB1dCgpIG9uU3lzdGVtQ2xpY2s6IEV2ZW50RW1pdHRlcjxUcmFuc2xhdGVkU3lzdGVtPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNsYXRlZFN5c3RlbT4oKTtcclxuICBAT3V0cHV0KCkgb25MYW5ndWFnZUNsaWNrOiBFdmVudEVtaXR0ZXI8VHJhbnNsYXRlZExhbmd1YWdlPiA9IG5ldyBFdmVudEVtaXR0ZXI8VHJhbnNsYXRlZExhbmd1YWdlPigpO1xyXG4gIEBPdXRwdXQoKSBvbkZpbHRlcmVkTGFuZ3VhZ2VDbGljazogRXZlbnRFbWl0dGVyPFRyYW5zbGF0ZWRMYW5ndWFnZT4gPSBuZXcgRXZlbnRFbWl0dGVyPFRyYW5zbGF0ZWRMYW5ndWFnZT4oKTtcclxuXHJcbiAgbWVudVN0YXRlOiBPcGVuZWRNZW51O1xyXG4gIHN5c3RlbUxpc3Q6IFRyYW5zbGF0ZWRTeXN0ZW1bXTtcclxuICBzeXN0ZW1MaXN0VGl0bGU6IHN0cmluZztcclxuICBzaG93RmlsdGVyZWQ6IGJvb2xlYW47XHJcblxyXG4gIGdldCBzaG93U3lzdGVtcygpIHsgcmV0dXJuICF0aGlzLmNvbmZpZz8uaGlkZVN5c3RlbXM7IH1cclxuICBnZXQgc2hvd0xhbmd1YWdlcygpIHsgcmV0dXJuICF0aGlzLmNvbmZpZz8uaGlkZUxhbmd1YWdlczsgfVxyXG4gIGdldCBzaG93U3lzdGVtVGl0bGUoKSB7IHJldHVybiAhdGhpcy5jb25maWc/LmhpZGVTeXN0ZW1UaXRsZTsgfTtcclxuICBnZXQgc2hvd0xhbmd1YWdlVGl0bGUoKSB7IHJldHVybiB0aGlzLmNvbmZpZz8uc2hvd0xhbmd1YWdlVGl0bGU7IH1cclxuXHJcbiAgcHJpdmF0ZSBhY3RpdmVEYXRhOiBBY3RpdmVEYXRhO1xyXG4gIHByaXZhdGUgc3lzdGVtU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBsYW5nU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgcHJpdmF0ZSBtZW51VG9nZ2xlU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb247XHJcbiAgLy8gU3RvcmVzIGZyb20gbG9jYWxpemF0aW9uIGZpbGUgbGFuZ3VhZ2UgdHJhbnNsYXRpb25zXHJcbiAgLy8gVGhpcyBuZWVkcyB0byBiZSBzdG9yZWQgaGVyZSBiZWNhdXNlIHRoZSBvcmRlciBpbiB0bWVwbGF0ZSBuZWVkcyB0byBiZSBieSBjdXJyZW50IGxhbmd1YWdlXHJcbiAgLy8gcG9zc2libGUgdG8gdXNlIHNvcnRUcmFuc2xhdGlvbnMgcGlwZSBmcm9tIGNvbW1vbiBsaWIsIGJ1dCBkZWNpZGVkIG5vdCB0byBiZWNhdXNlIGhlcmUgd2Ugc3RpbGwgbmVlZCB0byBncm91cCBsYW5ndWFnZXMgYnkgZmlyc3QgbGV0dGVyLlxyXG4gIHByaXZhdGUgbGFuZ3VhZ2VBbmREb21haW5UcmFuc2xhdGlvbnM6IHN0cmluZ1tdW107XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgbGFuZ3VhZ2VzTG9jYWxpemF0aW9uS2V5ID0gXCJMQU5HVUFHRVNcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGRvbWFpbnNMb2NhbGl6YXRpb25LZXkgPSBcIkRPTUFJTlNcIjtcclxuICBwcml2YXRlIHJlYWRvbmx5IGZpbHRlckhpZ2hsaWdodFBpcGUgPSBuZXcgRmlsdGVyV2l0aEhpZ2hsaWdodFBpcGUoKTtcclxuICBcclxuICByZWFkb25seSBkb21haW5zVGl0bGVLZXkgPSBcIlNZU1RFTV9QSUNLRVIuU0VMRUNUX0RPTUFJTlwiO1xyXG4gIHJlYWRvbmx5IHJlY2VudFN5c3RlbVRpdGxlS2V5ID0gXCJTWVNURU1fUElDS0VSLlJFQ0VOVF9TWVNURU1fVElUTEVcIjtcclxuXHJcbiAgcmVhZG9ubHkgaGlzdG9yeUljb24gPSAnaGlzdG9yeSc7XHJcblxyXG4gIGdldCByZWNlbnRTeXN0ZW1zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlRGF0YT8ucmVjZW50U3lzdGVtcyA/PyBbXTtcclxuICB9XHJcblxyXG4gIGdldCBkb21haW5zKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZlRGF0YT8uZG9tYWlucz8uZG9tYWlucyA/PyBbXTtcclxuICB9XHJcblxyXG4gIGdldCBhY3RpdmVTeXN0ZW1JZCgpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2ZURhdGE/Lmxhbmd1YWdlSWQ7XHJcbiAgfVxyXG5cclxuICBnZXQgaXNBdXRvTGFuZ3VhZ2VEZXRlY3Rpb25FbmFibGVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuY29uZmlnU2VydmljZS50ZXh0Q29uZmlnLmlzQXV0b0xhbmd1YWdlRGV0ZWN0aW9uRW5hYmxlZDtcclxuICB9XHJcblxyXG4gIGFsbExhbmd1YWdlczogVHJhbnNsYXRlZExhbmd1YWdlW107XHJcbiAgZmlsdGVyZWRMYW5ndWFnZXM6IFRyYW5zbGF0ZWRMYW5ndWFnZVtdO1xyXG5cclxuICBncm91cGVkTGFuZ3VhZ2VzOiBHcm91cGVkTGFuZ3VhZ2VJdGVtW107XHJcbiAgLy8gRWl0aGVyIHNvdXJjZSBvciB0YXJnZXQgbGFuZyBjb2RlLCBkZXBlbmRpbmcgb24gd2hpY2ggb25lIGlzIG9wZW5lZC5cclxuICBhY3RpdmVMYW5ndWFnZUNvZGU6IHN0cmluZztcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHN5c3RlbU1hbmFnZW1lbnRTZXJ2aWNlOiBUbGRUcmFuc2xhdGVTeXN0ZW1NYW5hZ2VtZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlOiBUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzeXN0ZW1QaWNrZXJTZXJ2aWNlOiBUcmFuc2xhdGlvblN5c3RlbVBpY2tlclNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IGxhbmd1YWdlU2VydmljZTogTGFuZ3VhZ2VUcmFuc2xhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBjb25maWdTZXJ2aWNlOiBUbGRUcmFuc2xhdGVDb25maWdTZXJ2aWNlXHJcbiAgKSB7fVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMubWVudVN0YXRlID0gdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLm9wZW5lZE1lbnU7XHJcblxyXG4gICAgdGhpcy5zdWJzY3JpYmVUb0FjdGl2ZVN5c3RlbURhdGEoKTtcclxuICAgIHRoaXMuc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpO1xyXG4gICAgdGhpcy5zdWJzY3JpYmVUb01lbnVUb2dnbGUoKTtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5jbG9zZU9wZW5lZCgpO1xyXG4gICAgdGhpcy5zeXN0ZW1TdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMubGFuZ1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5tZW51VG9nZ2xlU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG5cclxuICBjbG9zZSgpIHtcclxuICAgIHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5jbG9zZU9wZW5lZCgpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyTGFuZ3VhZ2VzKGZpbHRlcjogc3RyaW5nKSB7XHJcbiAgICBpZiAoIWZpbHRlcj8ubGVuZ3RoKSB7XHJcbiAgICAgIHRoaXMuZmlsdGVyZWRMYW5ndWFnZXMgPSBudWxsO1xyXG4gICAgICB0aGlzLnNob3dGaWx0ZXJlZCA9IGZhbHNlO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgbGFuZ3VhZ2VEZXRlY3Rpb24gPSB7IGNvZGU6ICdBVVRPJywgZGlzcGxheU5hbWU6IHRoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlQ29kZVRyYW5zbGF0aW9uKCdhdXRvJykgfTtcclxuXHJcbiAgICB0aGlzLnNob3dGaWx0ZXJlZCA9IHRydWU7XHJcbiAgICB0aGlzLmZpbHRlcmVkTGFuZ3VhZ2VzID0gdGhpcy5maWx0ZXJIaWdobGlnaHRQaXBlLnRyYW5zZm9ybShcclxuICAgICAgdGhpcy5pc0F1dG9MYW5ndWFnZURldGVjdGlvbkVuYWJsZWQgJiYgdGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmlzU291cmNlT3BlbmVkID8gWy4uLnRoaXMuYWxsTGFuZ3VhZ2VzLCBsYW5ndWFnZURldGVjdGlvbl0gOiB0aGlzLmFsbExhbmd1YWdlcywgZmlsdGVyLCBcImRpc3BsYXlOYW1lXCJcclxuICAgICk7XHJcbiAgfVxyXG5cclxuICBsYW5ndWFnZUNsaWNrKGxhbmd1YWdlOiBUcmFuc2xhdGVkTGFuZ3VhZ2UpIHtcclxuICAgIHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5sYW5ndWFnZVNlbGVjdGVkKGxhbmd1YWdlKTtcclxuICAgIHRoaXMub25MYW5ndWFnZUNsaWNrLmVtaXQobGFuZ3VhZ2UpO1xyXG4gIH1cclxuXHJcbiAgZmlsdGVyZWRMYW5ndWFnZUNsaWNrKGxhbmd1YWdlOiBUcmFuc2xhdGVkTGFuZ3VhZ2UpIHtcclxuICAgIHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5sYW5ndWFnZVNlbGVjdGVkKGxhbmd1YWdlKTtcclxuICAgIHRoaXMub25GaWx0ZXJlZExhbmd1YWdlQ2xpY2suZW1pdChsYW5ndWFnZSk7XHJcbiAgfVxyXG5cclxuICBzeXN0ZW1DbGljayhzeXN0ZW06IFRyYW5zbGF0ZWRTeXN0ZW0pIHtcclxuICAgIHRoaXMuc3lzdGVtTWFuYWdlbWVudFNlcnZpY2UuY2hhbmdlU3lzdGVtKHN5c3RlbS5sYW5ndWFnZUlkKTtcclxuICAgIHRoaXMub25TeXN0ZW1DbGljay5lbWl0KHN5c3RlbSk7XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvTWVudVRvZ2dsZSgpIHtcclxuICAgIHRoaXMubWVudVRvZ2dsZVN1YnNjcmlwdGlvbiA9IHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5tZW51VG9nZ2xlZCgpLnN1YnNjcmliZShcclxuICAgICAgKHN0YXRlKSA9PiB7IHRoaXMub25NZW51VG9nZ2xlKHN0YXRlKTsgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgb25NZW51VG9nZ2xlKHN0YXRlOiBPcGVuZWRNZW51KSB7XHJcbiAgICBpZiAodGhpcy5tZW51U3RhdGUgIT09IHN0YXRlKSB7XHJcbiAgICAgIHRoaXMubWVudVN0YXRlID0gc3RhdGU7XHJcbiAgICAgIHRoaXMuc2V0QWN0aXZlTGFuZ3VhZ2VDb2RlKCk7XHJcbiAgICAgIHRoaXMucmV0cmFuc2xhdGUoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0QWN0aXZlTGFuZ3VhZ2VDb2RlKCkge1xyXG4gICAgaWYgKCF0aGlzLmFjdGl2ZURhdGEpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh0aGlzLm1lbnVTdGF0ZSA9PT0gT3BlbmVkTWVudS5TT1VSQ0UpIHtcclxuICAgICAgdGhpcy5hY3RpdmVMYW5ndWFnZUNvZGUgPSB0aGlzLmFjdGl2ZURhdGEuc291cmNlTGFuZy5sYW5nO1xyXG4gICAgfVxyXG4gICAgZWxzZSBpZiAodGhpcy5tZW51U3RhdGUgPT09IE9wZW5lZE1lbnUuVEFSR0VUKSB7XHJcbiAgICAgIHRoaXMuYWN0aXZlTGFuZ3VhZ2VDb2RlID0gdGhpcy5hY3RpdmVEYXRhLnRhcmdldExhbmcubGFuZztcclxuICAgIH1cclxuICAgIGVsc2Uge1xyXG4gICAgICB0aGlzLmFjdGl2ZUxhbmd1YWdlQ29kZSA9IG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHN1YnNjcmliZVRvQWN0aXZlU3lzdGVtRGF0YSgpIHtcclxuICAgIHRoaXMuc3lzdGVtU3Vic2NyaXB0aW9uID0gdGhpcy5zeXN0ZW1NYW5hZ2VtZW50U2VydmljZS5nZXRBY3RpdmVEYXRhKCkuc3Vic2NyaWJlKFxyXG4gICAgICAoYWN0aXZlKSA9PiB7XHJcbiAgICAgICAgaWYgKCFhY3RpdmUpIHtcclxuICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuYWN0aXZlRGF0YSA9IGFjdGl2ZTtcclxuICAgICAgICB0aGlzLnNldEFjdGl2ZUxhbmd1YWdlQ29kZSgpO1xyXG4gICAgICAgIHRoaXMucmV0cmFuc2xhdGUoKTtcclxuICAgICAgfVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc3Vic2NyaWJlVG9MYW5ndWFnZUNoYW5nZSgpIHtcclxuICAgIHRoaXMubGFuZ1N1YnNjcmlwdGlvbiA9IHRoaXMudHJhbnNsYXRlLnN0cmVhbShbdGhpcy5sYW5ndWFnZXNMb2NhbGl6YXRpb25LZXksIHRoaXMuZG9tYWluc0xvY2FsaXphdGlvbktleV0pLnN1YnNjcmliZSgoZGF0YSkgPT4ge1xyXG4gICAgICB0aGlzLmxhbmd1YWdlQW5kRG9tYWluVHJhbnNsYXRpb25zID0gZGF0YTtcclxuICAgICAgdGhpcy5yZXRyYW5zbGF0ZSgpO1xyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIHByaXZhdGUgcmV0cmFuc2xhdGUoKSB7XHJcbiAgICAvLyBjYW50IHJldHJhbnNsYXRlIGlmIGJvdGggb2YgdGhlc2UgdmFsdWVzIGFyZSBub3QgbG9hZGVkIHllci4gVGhpcyBjb25kaXRpb24gc2hvdWxkIGZ1bGZpbGwgb25seSBvbiBmaXJzdCB0aW1lLlxyXG4gICAgaWYgKCEodGhpcy5sYW5ndWFnZUFuZERvbWFpblRyYW5zbGF0aW9ucyAmJiB0aGlzLmFjdGl2ZURhdGEpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnRyYW5zbGF0ZVN5c3RlbXMoKTtcclxuICAgIHRoaXMuc29ydExhbmd1YWdlcygpO1xyXG4gIH1cclxuXHJcbiAgLy8gTWV0aG9kIHByZXBhcmVzIG9iamVjdHMgZm9yIHJlY2VudCBzeXN0ZW1zIG9yIGRvbWFpbnMsIGRlcGVuZGluZyBvbiB3aGljaCBtZW51IGlzIG9wZW5lZC5cclxuICBwcml2YXRlIHRyYW5zbGF0ZVN5c3RlbXMoKSB7XHJcbiAgICBpZiAodGhpcy5zeXN0ZW1QaWNrZXJTZXJ2aWNlLmlzU291cmNlT3BlbmVkKSB7XHJcbiAgICAgIHRoaXMuc3lzdGVtTGlzdCA9IHRoaXMuZ2V0VHJhbnNsYXRlZFJlY2VudFN5c3RlbXMoKTtcclxuICAgIH1cclxuICAgIGVsc2UgaWYgKHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5pc1RhcmdldE9wZW5lZCkge1xyXG4gICAgICB0aGlzLnN5c3RlbUxpc3QgPSB0aGlzLmdldFRyYW5zbGF0ZWREb21haW5zKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIGdldFRyYW5zbGF0ZWREb21haW5zKCk6IFRyYW5zbGF0ZWRTeXN0ZW1bXSB7XHJcbiAgICB0aGlzLnN5c3RlbUxpc3RUaXRsZSA9IHRoaXMuZG9tYWluc1RpdGxlS2V5O1xyXG4gICAgY29uc3QgYXJyOiBUcmFuc2xhdGVkU3lzdGVtW10gPSBbXTtcclxuICAgIHRoaXMuZG9tYWlucy5mb3JFYWNoKGRvbWFpbiA9PiB7XHJcbiAgICAgIGFyci5wdXNoKHsgZGlzcGxheU5hbWU6IHRoaXMuZ2V0RG9tYWluRGlzcGxheU5hbWUoZG9tYWluLnRpdGxlKSwgbGFuZ3VhZ2VJZDogZG9tYWluLmxhbmd1YWdlSWQgfSlcclxuICAgIH0pO1xyXG4gICAgcmV0dXJuIGFycjtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlZFJlY2VudFN5c3RlbXMoKTogVHJhbnNsYXRlZFN5c3RlbVtdIHtcclxuICAgIHRoaXMuc3lzdGVtTGlzdFRpdGxlID0gdGhpcy5yZWNlbnRTeXN0ZW1UaXRsZUtleTtcclxuICAgIGNvbnN0IGFycjogVHJhbnNsYXRlZFN5c3RlbVtdID0gW107XHJcbiAgICB0aGlzLnJlY2VudFN5c3RlbXMuZm9yRWFjaCgoc3lzdGVtKSA9PiB7XHJcbiAgICAgIGNvbnN0IHRyYW5zbGF0ZWQ6IFRyYW5zbGF0ZWRTeXN0ZW0gPSB7XHJcbiAgICAgICAgbGFuZ3VhZ2VJZDogc3lzdGVtLmxhbmd1YWdlSWQsXHJcbiAgICAgICAgZGlzcGxheU5hbWU6IGAke3RoaXMubGFuZ3VhZ2VTZXJ2aWNlLmdldExhbmd1YWdlQ29kZVRyYW5zbGF0aW9uKHN5c3RlbS5zb3VyY2VMYW5ndWFnZSl9IC0gJHt0aGlzLmxhbmd1YWdlU2VydmljZS5nZXRMYW5ndWFnZUNvZGVUcmFuc2xhdGlvbihzeXN0ZW0udGFyZ2V0TGFuZ3VhZ2UpfSAoJHt0aGlzLmdldERvbWFpbkRpc3BsYXlOYW1lKHN5c3RlbS5kb21haW4pfSlgXHJcbiAgICAgIH1cclxuICAgICAgYXJyLnB1c2godHJhbnNsYXRlZCk7XHJcbiAgICB9KTtcclxuICAgIHJldHVybiBhcnIgPz8gW107XHJcbiAgfVxyXG5cclxuICAvLyBTb3J0cyBsYW5ndWFnZXMgYW5kIHNldHMgdGhlbSB0byBHcm91cGVkTGFuZ3VhZ2VJdGVtIHN0cnVjdHVyZVxyXG4gIHByaXZhdGUgc29ydExhbmd1YWdlcygpIHtcclxuICAgIGxldCBsYW5ndWFnZUxpc3Q6IGFueVtdO1xyXG4gICAgaWYgKHRoaXMuc3lzdGVtUGlja2VyU2VydmljZS5pc1NvdXJjZU9wZW5lZCkge1xyXG4gICAgICBsYW5ndWFnZUxpc3QgPSB0aGlzLmFjdGl2ZURhdGEuc291cmNlTGFuZ0xpc3Q7XHJcbiAgICB9XHJcbiAgICBlbHNlIGlmICh0aGlzLnN5c3RlbVBpY2tlclNlcnZpY2UuaXNUYXJnZXRPcGVuZWQpIHtcclxuICAgICAgbGFuZ3VhZ2VMaXN0ID0gdGhpcy5hY3RpdmVEYXRhLnRhcmdldExhbmdMaXN0O1xyXG4gICAgfVxyXG4gICAgZWxzZSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmFsbExhbmd1YWdlcyA9IFtdO1xyXG5cclxuICAgIHRoaXMuZ3JvdXBlZExhbmd1YWdlcyA9IHRoaXMuc3lzdGVtTWFuYWdlbWVudFNlcnZpY2UuZ2V0VW5pcXVlTGFuZ3VhZ2VzKGxhbmd1YWdlTGlzdClcclxuICAgICAgLnJlZHVjZSgobmV3QXJyYXk6IEdyb3VwZWRMYW5ndWFnZUl0ZW1bXSwgY3VycikgPT4ge1xyXG4gICAgICAgIGNvbnN0IHRyYW5zbGF0ZWRMYW5ndWFnZTogVHJhbnNsYXRlZExhbmd1YWdlID0geyBjb2RlOiBjdXJyLCBkaXNwbGF5TmFtZTogdGhpcy5sYW5ndWFnZVNlcnZpY2UuZ2V0TGFuZ3VhZ2VDb2RlVHJhbnNsYXRpb24oY3Vyci50b1VwcGVyQ2FzZSgpKSB9O1xyXG4gICAgICAgIGNvbnN0IGZpcnN0TGV0dGVyID0gdHJhbnNsYXRlZExhbmd1YWdlLmRpc3BsYXlOYW1lWzBdLnRvVXBwZXJDYXNlKCk7XHJcbiAgICAgICAgY29uc3QgaWR4ID0gbmV3QXJyYXkuZmluZEluZGV4KGUgPT4gZS5ncm91cGVkQnkgPT09IGZpcnN0TGV0dGVyKTtcclxuICAgICAgICB0aGlzLmFsbExhbmd1YWdlcy5wdXNoKHRyYW5zbGF0ZWRMYW5ndWFnZSk7XHJcbiAgICAgICAgaWYgKGlkeCA9PT0gLTEpIHtcclxuICAgICAgICAgIG5ld0FycmF5LnB1c2goeyBncm91cGVkQnk6IGZpcnN0TGV0dGVyLCBncm91cDogW3RyYW5zbGF0ZWRMYW5ndWFnZV0gfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGVsc2Uge1xyXG4gICAgICAgICAgbmV3QXJyYXlbaWR4XS5ncm91cC5wdXNoKHRyYW5zbGF0ZWRMYW5ndWFnZSk7XHJcbiAgICAgICAgICBTb3J0SGVscGVyLnNvcnRBbHBoYWJldGljYWxseShuZXdBcnJheVtpZHhdLmdyb3VwLCAnZGlzcGxheU5hbWUnKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5ld0FycmF5O1xyXG4gICAgICB9LCBbXSlcclxuICAgICAgLnNvcnQoKGUxLCBlMikgPT4gZTEuZ3JvdXBlZEJ5ID4gZTIuZ3JvdXBlZEJ5ID8gMSA6IC0xKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgZ2V0RG9tYWluRGlzcGxheU5hbWUoZG9tYWluOiBzdHJpbmcpIHtcclxuICAgIHJldHVybiB0aGlzLmxhbmd1YWdlQW5kRG9tYWluVHJhbnNsYXRpb25zW3RoaXMuZG9tYWluc0xvY2FsaXphdGlvbktleV1bZG9tYWluPy5zcGxpdCgvWyAtXSsvKS5qb2luKFwiX1wiKS50b1VwcGVyQ2FzZSgpXSA/PyBkb21haW47XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJkcm9wZG93bi1ib2R5XCIgKm5nSWY9XCIhc2hvd0ZpbHRlcmVkOyBlbHNlIGZpbHRlclwiPlxyXG4gIDx0bGQtdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci1sYW5ndWFnZS1saXN0ICpuZ0lmPVwic2hvd0xhbmd1YWdlc1wiIFtsYW5ndWFnZXNdPVwiZ3JvdXBlZExhbmd1YWdlc1wiXHJcbiAgICBbYWN0aXZlQ29kZV09XCJhY3RpdmVMYW5ndWFnZUNvZGVcIiAoY2xpY2tlZCk9XCJsYW5ndWFnZUNsaWNrKCRldmVudClcIiBbc2hvd1RpdGxlXT1cInNob3dMYW5ndWFnZVRpdGxlXCIgW21lbnVTdGF0ZV09XCJtZW51U3RhdGVcIj5cclxuICA8L3RsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWxhbmd1YWdlLWxpc3Q+XHJcbiAgPHRsZC10cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLXN5c3RlbS1saXN0IFtpc0RvbWFpbkxpc3RdPVwic3lzdGVtTGlzdFRpdGxlID09PSBkb21haW5zVGl0bGVLZXlcIiBbaXNSZWNlbnRTeXN0ZW1MaXN0XT1cInN5c3RlbUxpc3RUaXRsZSA9PT0gcmVjZW50U3lzdGVtVGl0bGVLZXlcIiAqbmdJZj1cInNob3dTeXN0ZW1zICYmIHN5c3RlbUxpc3Q/Lmxlbmd0aD4gMFwiIFtzeXN0ZW1zXT1cInN5c3RlbUxpc3RcIlxyXG4gICAgKGNsaWNrZWQpPVwic3lzdGVtQ2xpY2soJGV2ZW50KVwiIFtzaG93VGl0bGVdPVwic2hvd1N5c3RlbVRpdGxlXCIgW3RpdGxlS2V5XT1cInN5c3RlbUxpc3RUaXRsZVwiXHJcbiAgICBbYWN0aXZlSWRdPVwiYWN0aXZlU3lzdGVtSWRcIiBbaWNvbl09XCJzeXN0ZW1MaXN0VGl0bGUgPT09IHJlY2VudFN5c3RlbVRpdGxlS2V5ID8gaGlzdG9yeUljb24gOiBudWxsXCI+XHJcbiAgPC90bGQtdHJhbnNsYXRpb24tc3lzdGVtLXBpY2tlci1zeXN0ZW0tbGlzdD5cclxuPC9kaXY+XHJcbjxuZy10ZW1wbGF0ZSAjZmlsdGVyPlxyXG4gIDxkaXYgKm5nSWY9XCJzaG93TGFuZ3VhZ2VzXCIgY2xhc3M9XCJmaWx0ZXJlZC1pdGVtc1wiPlxyXG4gICAgPHVsPlxyXG4gICAgICA8bGk+XHJcbiAgICAgICAgPHRyYW5zbGF0aW9uLXN5c3RlbS1waWNrZXItYnV0dG9uICpuZ0Zvcj1cImxldCBsYW5ndWFnZSBvZiBmaWx0ZXJlZExhbmd1YWdlc1wiXHJcbiAgICAgICAgICBbYWN0aXZlXT1cImFjdGl2ZUxhbmd1YWdlQ29kZSA9PT0gbGFuZ3VhZ2UuY29kZVwiIChvbkNsaWNrKT1cImZpbHRlcmVkTGFuZ3VhZ2VDbGljayhsYW5ndWFnZSlcIj5cclxuICAgICAgICAgIDxzcGFuIFtpbm5lckh0bWxdPVwibGFuZ3VhZ2UuZGlzcGxheU5hbWVcIj48L3NwYW4+XHJcbiAgICAgICAgPC90cmFuc2xhdGlvbi1zeXN0ZW0tcGlja2VyLWJ1dHRvbj5cclxuICAgICAgPC9saT5cclxuICAgIDwvdWw+XHJcbiAgICA8cCBjbGFzcz1cIm5vLXJlc3VsdHMtbWVzc2FnZVwiICpuZ0lmPVwiIWZpbHRlcmVkTGFuZ3VhZ2VzPy5sZW5ndGhcIj57e1wiU1lTVEVNX1BJQ0tFUi5GSUxURVJfTk9fUkVTVUxUU1wiIHwgdHJhbnNsYXRlfX1cclxuICAgIDwvcD5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19