@provoly/dashboard 1.3.6 → 1.3.8

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 (46) hide show
  1. package/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.d.ts +3 -2
  2. package/admin/components/admin-dataset/admin-dataset.component.d.ts +2 -0
  3. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +4 -3
  4. package/admin/i18n/en.translations.d.ts +7 -0
  5. package/admin/i18n/fr.translations.d.ts +5 -0
  6. package/assets/svgs/groups.svg +16 -0
  7. package/assets/svgs/public.svg +1 -16
  8. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-form/admin-attributes-form.component.mjs +2 -2
  9. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-classes-view.component.mjs +12 -9
  10. package/esm2022/admin/components/admin-dataset/admin-dataset.component.mjs +6 -4
  11. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +7 -5
  12. package/esm2022/admin/i18n/en.translations.mjs +10 -3
  13. package/esm2022/admin/i18n/fr.translations.mjs +6 -1
  14. package/esm2022/lib/core/components/chips-selector/chips-selector.component.mjs +4 -4
  15. package/esm2022/lib/core/components/share/group-share/group-share.component.mjs +28 -40
  16. package/esm2022/lib/core/components/share/share.utils.mjs +13 -1
  17. package/esm2022/lib/core/i18n/en.translations.mjs +13 -6
  18. package/esm2022/lib/core/i18n/fr.translations.mjs +13 -6
  19. package/esm2022/lib/core/store/class/class.reducer.mjs +8 -2
  20. package/esm2022/lib/core/store/class/class.selectors.mjs +4 -2
  21. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +4 -3
  22. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +12 -5
  23. package/esm2022/restitution/components/restitution/restitution.component.mjs +4 -4
  24. package/esm2022/restitution/i18n/fr.translations.mjs +2 -2
  25. package/esm2022/toolbox/components/save-view/save-view.component.mjs +3 -3
  26. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +70 -61
  27. package/fesm2022/provoly-dashboard-admin.mjs +34 -15
  28. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  29. package/fesm2022/provoly-dashboard-restitution.mjs +4 -4
  30. package/fesm2022/provoly-dashboard-restitution.mjs.map +1 -1
  31. package/fesm2022/provoly-dashboard-toolbox.mjs +2 -2
  32. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  33. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +69 -60
  34. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  35. package/fesm2022/provoly-dashboard.mjs +230 -200
  36. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  37. package/lib/core/components/share/group-share/group-share.component.d.ts +4 -7
  38. package/lib/core/components/share/share.utils.d.ts +2 -0
  39. package/lib/core/i18n/en.translations.d.ts +10 -3
  40. package/lib/core/i18n/fr.translations.d.ts +10 -3
  41. package/lib/core/store/class/class.selectors.d.ts +1 -0
  42. package/lib/dashboard/store/dashboard.actions.d.ts +7 -6
  43. package/package.json +19 -19
  44. package/styles/components/_a-page-loader.scss +6 -0
  45. package/styles/components/_o-layer-settings.scss +2 -2
  46. package/widgets/widget-map/component/widget-map.component.d.ts +4 -2
@@ -5,7 +5,7 @@ export const frTranslations = {
5
5
  data_type: 'Type de données',
6
6
  graph_title: 'Titre de la restitution',
7
7
  description: 'Description',
8
- image: 'Image',
8
+ image: 'Image d’illustration',
9
9
  close: 'Annuler',
10
10
  validate: 'Valider',
11
11
  share: 'Partager',
@@ -43,4 +43,4 @@ export const frTranslations = {
43
43
  }
44
44
  }
45
45
  };
46
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcmVzdGl0dXRpb24vaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRTtZQUNYLGdCQUFnQixFQUFFLHFCQUFxQjtZQUN2QyxTQUFTLEVBQUUsaUJBQWlCO1lBQzVCLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsV0FBVyxFQUFFLGFBQWE7WUFDMUIsS0FBSyxFQUFFLE9BQU87WUFDZCxLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUUsU0FBUztZQUNuQixLQUFLLEVBQUUsVUFBVTtZQUNqQixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsSUFBSSxFQUFFLFdBQVc7WUFDakIsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE1BQU0sRUFBRSwwREFBMEQ7WUFDbEUsTUFBTSxFQUFFLDZEQUE2RDtZQUNyRSxPQUFPLEVBQUUsNEVBQTRFO1lBQ3JGLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLEVBQUUsRUFBRSxJQUFJO1lBQ1IsTUFBTSxFQUFFLFlBQVk7WUFDcEIsYUFBYSxFQUFFLHFCQUFxQjtZQUNwQyxPQUFPLEVBQUUsV0FBVztZQUNwQixrQkFBa0IsRUFBRSwwQkFBMEI7WUFDOUMsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxRQUFRLEVBQUUsK0NBQStDO1lBQ3pELFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFlBQVksRUFBRSwwQkFBMEI7WUFDeEMsTUFBTSxFQUFFLDBCQUEwQjtZQUNsQyxJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsTUFBTSxFQUFFLDJCQUEyQjtZQUNuQyxLQUFLLEVBQUUsaURBQWlEO1lBQ3hELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsd0JBQXdCO2dCQUMvQixPQUFPLEVBQUUsMkJBQTJCO2FBQ3JDO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHJlc3RpdHV0aW9uOiB7XG4gICAgICByZXN0aXR1dGlvbl90eXBlOiAnVHlwZSBkZSByZXN0aXR1dGlvbicsXG4gICAgICBkYXRhX3R5cGU6ICdUeXBlIGRlIGRvbm7DqWVzJyxcbiAgICAgIGdyYXBoX3RpdGxlOiAnVGl0cmUgZGUgbGEgcmVzdGl0dXRpb24nLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICBpbWFnZTogJ0ltYWdlJyxcbiAgICAgIGNsb3NlOiAnQW5udWxlcicsXG4gICAgICB2YWxpZGF0ZTogJ1ZhbGlkZXInLFxuICAgICAgc2hhcmU6ICdQYXJ0YWdlcicsXG4gICAgICBtb3JlOiAnT3B0aW9ucycsXG4gICAgICBvcHRpb25zOiAnT3B0aW9ucyBkZSBsYSByZXN0aXR1dGlvbicsXG4gICAgICB2aWV3OiAnQ29uc3VsdGVyJyxcbiAgICAgIGNyZWF0ZTogJ0Nyw6llciB1bmUgcmVzdGl0dXRpb24nLFxuICAgICAgZWRpdDogJ01vZGlmaWVyIGxhIHJlc3RpdHV0aW9uJyxcbiAgICAgIGNhbmNlbDogJ0FubnVsZXInLFxuICAgICAgZ29CYWNrOiAnUmV0b3VyJyxcbiAgICAgIGNvbmZpZ3VyZTogJ0NvbmZpZ3VyZXInLFxuICAgICAgdmlzdWFsaXplOiAnVmlzdWFsaXNlcicsXG4gICAgICBhY2Nlc3M6ICdWb3VzIHNvdWhhaXRleiBkb25uZXIgYWNjw6hzIC8gaW52aXRlciBkZXMgdXRpbGlzYXRldXJzID8nLFxuICAgICAgcHVibGljOiAnUmVuZHJlIGFjY2Vzc2libGUgY2V0dGUgcmVzdGl0dXRpb24gw6AgdG91cyBsZXMgdXRpbGlzYXRldXJzJyxcbiAgICAgIHByaXZhdGU6ICdSZW5kcmUgYWNjZXNzaWJsZSDDoCBjZXJ0YWlucyB1dGlsaXNhdGV1cnMgZGUgdm90cmUgY2hvaXggY2V0dGUgcmVzdGl0dXRpb24nLFxuICAgICAgY2hvaWNlOiAnVm91cyBwb3V2ZXogOicsXG4gICAgICBvcjogJ091JyxcbiAgICAgIHNlYXJjaDogJ1JlY2hlcmNoZXInLFxuICAgICAgYmFja1RvQ2F0YWxvZzogJ1JldG91ciBhdSBjYXRhbG9ndWUnLFxuICAgICAgY29uc3VsdDogJ0NvbnN1bHRlcicsXG4gICAgICBjb25zdWx0UmVzdGl0dXRpb246ICdDb25zdWx0ZXIgbGEgcmVzdGl0dXRpb24nLFxuICAgICAgY2F0YWxvZzogJ0NhdGFsb2d1ZSBkZXMgcmVzdGl0dXRpb25zJyxcbiAgICAgIGFkZF9pY29uOiAnQWpvdXRlciBjZXR0ZSByZXN0aXR1dGlvbiBzdXIgbGEgcHLDqXNlbnRhdGlvbicsXG4gICAgICBkYXRhU291cmNlOiAnRG9ubsOpZShzKScsXG4gICAgICBub0RhdGFTb3VyY2U6ICdBdWN1bmUgZG9ubsOpZSBkaXNwb25pYmxlJyxcbiAgICAgIGRlbGV0ZTogJ1N1cHByaW1lciBsYSByZXN0aXR1dGlvbicsXG4gICAgICBuZXh0OiAnU3VpdmFudCcsXG4gICAgICBsb2NrOiAnUmVzdGl0dXRpb24gcHJpdsOpZScsXG4gICAgICB1cGRhdGU6ICdNb2RpZmllciBsZXMgaW5mb3JtYXRpb25zJyxcbiAgICAgIGNvdmVyOiBcIkwnaW1hZ2UgZG9pdCBjb3V2cmlyIGxhIGNhcnRlIGRlIGxhIHJlc3RpdHV0aW9uXCIsXG4gICAgICBjYXRhbG9nVGFiczoge1xuICAgICAgICBtb2RlbDogJ01vZMOobGVzIGRlIHJlc3RpdHV0aW9uJyxcbiAgICAgICAgbm9Nb2RlbDogJ1Jlc3RpdHV0aW9ucyBkdSBjYXRhbG9ndWUnXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
46
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvcmVzdGl0dXRpb24vaTE4bi9mci50cmFuc2xhdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsTUFBTSxDQUFDLE1BQU0sY0FBYyxHQUFHO0lBQzVCLE1BQU0sRUFBRTtRQUNOLFdBQVcsRUFBRTtZQUNYLGdCQUFnQixFQUFFLHFCQUFxQjtZQUN2QyxTQUFTLEVBQUUsaUJBQWlCO1lBQzVCLFdBQVcsRUFBRSx5QkFBeUI7WUFDdEMsV0FBVyxFQUFFLGFBQWE7WUFDMUIsS0FBSyxFQUFFLHNCQUFzQjtZQUM3QixLQUFLLEVBQUUsU0FBUztZQUNoQixRQUFRLEVBQUUsU0FBUztZQUNuQixLQUFLLEVBQUUsVUFBVTtZQUNqQixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSwyQkFBMkI7WUFDcEMsSUFBSSxFQUFFLFdBQVc7WUFDakIsTUFBTSxFQUFFLHVCQUF1QjtZQUMvQixJQUFJLEVBQUUseUJBQXlCO1lBQy9CLE1BQU0sRUFBRSxTQUFTO1lBQ2pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLFNBQVMsRUFBRSxZQUFZO1lBQ3ZCLE1BQU0sRUFBRSwwREFBMEQ7WUFDbEUsTUFBTSxFQUFFLDZEQUE2RDtZQUNyRSxPQUFPLEVBQUUsNEVBQTRFO1lBQ3JGLE1BQU0sRUFBRSxlQUFlO1lBQ3ZCLEVBQUUsRUFBRSxJQUFJO1lBQ1IsTUFBTSxFQUFFLFlBQVk7WUFDcEIsYUFBYSxFQUFFLHFCQUFxQjtZQUNwQyxPQUFPLEVBQUUsV0FBVztZQUNwQixrQkFBa0IsRUFBRSwwQkFBMEI7WUFDOUMsT0FBTyxFQUFFLDRCQUE0QjtZQUNyQyxRQUFRLEVBQUUsK0NBQStDO1lBQ3pELFVBQVUsRUFBRSxXQUFXO1lBQ3ZCLFlBQVksRUFBRSwwQkFBMEI7WUFDeEMsTUFBTSxFQUFFLDBCQUEwQjtZQUNsQyxJQUFJLEVBQUUsU0FBUztZQUNmLElBQUksRUFBRSxvQkFBb0I7WUFDMUIsTUFBTSxFQUFFLDJCQUEyQjtZQUNuQyxLQUFLLEVBQUUsaURBQWlEO1lBQ3hELFdBQVcsRUFBRTtnQkFDWCxLQUFLLEVBQUUsd0JBQXdCO2dCQUMvQixPQUFPLEVBQUUsMkJBQTJCO2FBQ3JDO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHJlc3RpdHV0aW9uOiB7XG4gICAgICByZXN0aXR1dGlvbl90eXBlOiAnVHlwZSBkZSByZXN0aXR1dGlvbicsXG4gICAgICBkYXRhX3R5cGU6ICdUeXBlIGRlIGRvbm7DqWVzJyxcbiAgICAgIGdyYXBoX3RpdGxlOiAnVGl0cmUgZGUgbGEgcmVzdGl0dXRpb24nLFxuICAgICAgZGVzY3JpcHRpb246ICdEZXNjcmlwdGlvbicsXG4gICAgICBpbWFnZTogJ0ltYWdlIGTigJlpbGx1c3RyYXRpb24nLFxuICAgICAgY2xvc2U6ICdBbm51bGVyJyxcbiAgICAgIHZhbGlkYXRlOiAnVmFsaWRlcicsXG4gICAgICBzaGFyZTogJ1BhcnRhZ2VyJyxcbiAgICAgIG1vcmU6ICdPcHRpb25zJyxcbiAgICAgIG9wdGlvbnM6ICdPcHRpb25zIGRlIGxhIHJlc3RpdHV0aW9uJyxcbiAgICAgIHZpZXc6ICdDb25zdWx0ZXInLFxuICAgICAgY3JlYXRlOiAnQ3LDqWVyIHVuZSByZXN0aXR1dGlvbicsXG4gICAgICBlZGl0OiAnTW9kaWZpZXIgbGEgcmVzdGl0dXRpb24nLFxuICAgICAgY2FuY2VsOiAnQW5udWxlcicsXG4gICAgICBnb0JhY2s6ICdSZXRvdXInLFxuICAgICAgY29uZmlndXJlOiAnQ29uZmlndXJlcicsXG4gICAgICB2aXN1YWxpemU6ICdWaXN1YWxpc2VyJyxcbiAgICAgIGFjY2VzczogJ1ZvdXMgc291aGFpdGV6IGRvbm5lciBhY2PDqHMgLyBpbnZpdGVyIGRlcyB1dGlsaXNhdGV1cnMgPycsXG4gICAgICBwdWJsaWM6ICdSZW5kcmUgYWNjZXNzaWJsZSBjZXR0ZSByZXN0aXR1dGlvbiDDoCB0b3VzIGxlcyB1dGlsaXNhdGV1cnMnLFxuICAgICAgcHJpdmF0ZTogJ1JlbmRyZSBhY2Nlc3NpYmxlIMOgIGNlcnRhaW5zIHV0aWxpc2F0ZXVycyBkZSB2b3RyZSBjaG9peCBjZXR0ZSByZXN0aXR1dGlvbicsXG4gICAgICBjaG9pY2U6ICdWb3VzIHBvdXZleiA6JyxcbiAgICAgIG9yOiAnT3UnLFxuICAgICAgc2VhcmNoOiAnUmVjaGVyY2hlcicsXG4gICAgICBiYWNrVG9DYXRhbG9nOiAnUmV0b3VyIGF1IGNhdGFsb2d1ZScsXG4gICAgICBjb25zdWx0OiAnQ29uc3VsdGVyJyxcbiAgICAgIGNvbnN1bHRSZXN0aXR1dGlvbjogJ0NvbnN1bHRlciBsYSByZXN0aXR1dGlvbicsXG4gICAgICBjYXRhbG9nOiAnQ2F0YWxvZ3VlIGRlcyByZXN0aXR1dGlvbnMnLFxuICAgICAgYWRkX2ljb246ICdBam91dGVyIGNldHRlIHJlc3RpdHV0aW9uIHN1ciBsYSBwcsOpc2VudGF0aW9uJyxcbiAgICAgIGRhdGFTb3VyY2U6ICdEb25uw6llKHMpJyxcbiAgICAgIG5vRGF0YVNvdXJjZTogJ0F1Y3VuZSBkb25uw6llIGRpc3BvbmlibGUnLFxuICAgICAgZGVsZXRlOiAnU3VwcHJpbWVyIGxhIHJlc3RpdHV0aW9uJyxcbiAgICAgIG5leHQ6ICdTdWl2YW50JyxcbiAgICAgIGxvY2s6ICdSZXN0aXR1dGlvbiBwcml2w6llJyxcbiAgICAgIHVwZGF0ZTogJ01vZGlmaWVyIGxlcyBpbmZvcm1hdGlvbnMnLFxuICAgICAgY292ZXI6IFwiTCdpbWFnZSBkb2l0IGNvdXZyaXIgbGEgY2FydGUgZGUgbGEgcmVzdGl0dXRpb25cIixcbiAgICAgIGNhdGFsb2dUYWJzOiB7XG4gICAgICAgIG1vZGVsOiAnTW9kw6hsZXMgZGUgcmVzdGl0dXRpb24nLFxuICAgICAgICBub01vZGVsOiAnUmVzdGl0dXRpb25zIGR1IGNhdGFsb2d1ZSdcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
@@ -165,11 +165,11 @@ export class SaveViewComponent extends ToolboxActionComponent {
165
165
  }
166
166
  }
167
167
  static { this.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SaveViewComponent, deps: [{ token: i1.Store }, { token: PRY_ACCESS_TOKEN, optional: true }, { token: i2.Overlay }, { token: i0.ViewContainerRef }], target: i0.ɵɵFactoryTarget.Component }); }
168
- static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SaveViewComponent, selector: "pry-save-view", inputs: { mode: "mode" }, viewQueries: [{ propertyName: "saveAs", first: true, predicate: ["saveAs"], descendants: true }, { propertyName: "directiveSave", first: true, predicate: ["directiveSave"], descendants: true }, { propertyName: "firstFocusdirective", first: true, predicate: ["firstFocusdirective"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "confirm", first: true, predicate: ["confirm"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "templateSaveAs", first: true, predicate: ["templateSaveAs"], descendants: true, read: TemplateRef }, { propertyName: "templateDirectSaveType", first: true, predicate: ["templateDirectSaveType"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-container *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'save' }\">\n <ng-container *ngIf=\"mode === 'directSave'\">\n <div [attr.aria-expanded]=\"saveTypeOpened\" aria-controls=\"directiveSave\" aria-describedby=\"infoTooltip_directSave\">\n @if (canModify$ | async) {\n <button\n type=\"button\"\n #directiveSave\n class=\"a-btn a-btn--primary\"\n (click)=\"directSave()\"\n [disabled]=\"!(isCurrentPresentationModified$ | async)\"\n >\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.save' | i18n }} ({{ nbPages }})</ng-container>\n </button>\n }\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'saveAs'\">\n <div\n class=\"save-manifest-container\"\n [attr.aria-expanded]=\"saveAsOpened\"\n aria-controls=\"saveModal\"\n aria-describedby=\"infoTooltip_saveAs\"\n >\n <button type=\"button\" #saveAs class=\"a-btn a-btn--secondary\" (click)=\"toggleSaveAs()\" aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.rename' | i18n }} ({{ nbPages }})</ng-container>\n </button>\n </div>\n </ng-container>\n</ng-container>\n<ng-template #templateSaveAs>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"saveModal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_saveModal\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (keydown.shift.tab)=\"focusValidation()\" (click)=\"toggleSaveAs()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-stepper #stepper>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.presentation.add.info' | i18n }}</h4>\n <pry-presentation-form\n [selectedPresentation]=\"currentManifest\"\n (formValue)=\"formValue = $event\"\n (isFormValid)=\"isFormValid = $event\"\n ></pry-presentation-form>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n #cancel\n (click)=\"toggleSaveAs()\"\n (keydown.tab)=\"disableNextStep()\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n (click)=\"stepper.next()\"\n [disabled]=\"!isFormValid\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.action.next' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.share' | i18n }}</h4>\n <pry-access-rights-share\n [(ngModel)]=\"accessRightsByGroup\"\n (ngModelChange)=\"changeAccessRights($event)\"\n [manifestDescription]=\"currentManifest\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"stepper.prev()\">\n {{ '@pry.action.back' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #confirm\n (click)=\"save()\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.restitution.share' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n </div>\n</ng-template>\n\n<ng-template #templateDirectSaveType>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"directiveSave\"\n role=\"dialog\"\n aria-labelledby=\"dialog_title\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title_\">{{ '@pry.toolbox.save' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #firstFocusdirective (click)=\"toggleDirectSaveType()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <h3>{{ '@pry.snack.pagesChanged' | i18n }}</h3>\n </div>\n <div class=\"m-btn-group\">\n <button class=\"a-btn a-btn--primary\" (click)=\"save()\">\n {{ '@pry.toolbox.save' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"rename()\">\n {{ '@pry.toolbox.rename' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"restore()\" (keydown.tab)=\"closeModals()\">\n {{ '@pry.toolbox.restore' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i6.PryStepperComponent, selector: "pry-stepper", inputs: ["isConsultMode"], outputs: ["lastStepCompleted", "activeIndexChange"] }, { kind: "component", type: i6.PryStepComponent, selector: "pry-step", inputs: ["setActiveState"] }, { kind: "directive", type: i6.PryStepTitleDirective, selector: "[stepTitle]" }, { kind: "component", type: i5.PryAccessRightsShareComponent, selector: "pry-access-rights-share", inputs: ["manifestDescription", "allowedGroups"] }, { kind: "component", type: i7.PresentationFormComponent, selector: "pry-presentation-form", inputs: ["mode", "themePrefix", "selectedPresentation"], outputs: ["formValue", "isFormValid"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
168
+ static { this.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "17.1.3", type: SaveViewComponent, selector: "pry-save-view", inputs: { mode: "mode" }, viewQueries: [{ propertyName: "saveAs", first: true, predicate: ["saveAs"], descendants: true }, { propertyName: "directiveSave", first: true, predicate: ["directiveSave"], descendants: true }, { propertyName: "firstFocusdirective", first: true, predicate: ["firstFocusdirective"], descendants: true }, { propertyName: "cross", first: true, predicate: ["cross"], descendants: true }, { propertyName: "confirm", first: true, predicate: ["confirm"], descendants: true }, { propertyName: "cancel", first: true, predicate: ["cancel"], descendants: true }, { propertyName: "templateSaveAs", first: true, predicate: ["templateSaveAs"], descendants: true, read: TemplateRef }, { propertyName: "templateDirectSaveType", first: true, predicate: ["templateDirectSaveType"], descendants: true, read: TemplateRef }], usesInheritance: true, ngImport: i0, template: "<ng-container *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'save' }\">\n <ng-container *ngIf=\"mode === 'directSave'\">\n <div [attr.aria-expanded]=\"saveTypeOpened\" aria-controls=\"directiveSave\" aria-describedby=\"infoTooltip_directSave\">\n @if (canModify$ | async) {\n <button\n type=\"button\"\n #directiveSave\n class=\"a-btn a-btn--primary\"\n (click)=\"directSave()\"\n [disabled]=\"!(isCurrentPresentationModified$ | async)\"\n >\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.save' | i18n: { nbPages } }}</ng-container>\n </button>\n }\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'saveAs'\">\n <div\n class=\"save-manifest-container\"\n [attr.aria-expanded]=\"saveAsOpened\"\n aria-controls=\"saveModal\"\n aria-describedby=\"infoTooltip_saveAs\"\n >\n <button type=\"button\" #saveAs class=\"a-btn a-btn--secondary\" (click)=\"toggleSaveAs()\" aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.rename' | i18n: { nbPages } }}</ng-container>\n </button>\n </div>\n </ng-container>\n</ng-container>\n<ng-template #templateSaveAs>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"saveModal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_saveModal\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (keydown.shift.tab)=\"focusValidation()\" (click)=\"toggleSaveAs()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-stepper #stepper>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.presentation.add.info' | i18n }}</h4>\n <pry-presentation-form\n [selectedPresentation]=\"currentManifest\"\n (formValue)=\"formValue = $event\"\n (isFormValid)=\"isFormValid = $event\"\n ></pry-presentation-form>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n #cancel\n (click)=\"toggleSaveAs()\"\n (keydown.tab)=\"disableNextStep()\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n (click)=\"stepper.next()\"\n [disabled]=\"!isFormValid\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.action.next' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.share' | i18n }}</h4>\n <pry-access-rights-share\n [(ngModel)]=\"accessRightsByGroup\"\n (ngModelChange)=\"changeAccessRights($event)\"\n [manifestDescription]=\"currentManifest\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"stepper.prev()\">\n {{ '@pry.action.back' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #confirm\n (click)=\"save()\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.restitution.share' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n </div>\n</ng-template>\n\n<ng-template #templateDirectSaveType>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"directiveSave\"\n role=\"dialog\"\n aria-labelledby=\"dialog_title\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title_\">{{ '@pry.toolbox.save' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #firstFocusdirective (click)=\"toggleDirectSaveType()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <h3>{{ '@pry.snack.pagesChanged' | i18n }}</h3>\n </div>\n <div class=\"m-btn-group\">\n <button class=\"a-btn a-btn--primary\" (click)=\"save()\">\n {{ '@pry.toolbox.save' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"rename()\">\n {{ '@pry.toolbox.rename' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"restore()\" (keydown.tab)=\"closeModals()\">\n {{ '@pry.toolbox.restore' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n", dependencies: [{ kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i5.PryAccessDirective, selector: "[pryAccess]", inputs: ["pryAccess"] }, { kind: "component", type: i5.PryIconComponent, selector: "pry-icon", inputs: ["color", "iconSvg", "animation", "iconImage", "alt", "width", "height", "classes"] }, { kind: "component", type: i6.PryStepperComponent, selector: "pry-stepper", inputs: ["isConsultMode"], outputs: ["lastStepCompleted", "activeIndexChange"] }, { kind: "component", type: i6.PryStepComponent, selector: "pry-step", inputs: ["setActiveState"] }, { kind: "directive", type: i6.PryStepTitleDirective, selector: "[stepTitle]" }, { kind: "component", type: i5.PryAccessRightsShareComponent, selector: "pry-access-rights-share", inputs: ["manifestDescription", "allowedGroups"] }, { kind: "component", type: i7.PresentationFormComponent, selector: "pry-presentation-form", inputs: ["mode", "themePrefix", "selectedPresentation"], outputs: ["formValue", "isFormValid"] }, { kind: "pipe", type: i3.AsyncPipe, name: "async" }, { kind: "pipe", type: i5.I18nPipe, name: "i18n" }] }); }
169
169
  }
170
170
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImport: i0, type: SaveViewComponent, decorators: [{
171
171
  type: Component,
172
- args: [{ selector: 'pry-save-view', template: "<ng-container *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'save' }\">\n <ng-container *ngIf=\"mode === 'directSave'\">\n <div [attr.aria-expanded]=\"saveTypeOpened\" aria-controls=\"directiveSave\" aria-describedby=\"infoTooltip_directSave\">\n @if (canModify$ | async) {\n <button\n type=\"button\"\n #directiveSave\n class=\"a-btn a-btn--primary\"\n (click)=\"directSave()\"\n [disabled]=\"!(isCurrentPresentationModified$ | async)\"\n >\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.save' | i18n }} ({{ nbPages }})</ng-container>\n </button>\n }\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'saveAs'\">\n <div\n class=\"save-manifest-container\"\n [attr.aria-expanded]=\"saveAsOpened\"\n aria-controls=\"saveModal\"\n aria-describedby=\"infoTooltip_saveAs\"\n >\n <button type=\"button\" #saveAs class=\"a-btn a-btn--secondary\" (click)=\"toggleSaveAs()\" aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.rename' | i18n }} ({{ nbPages }})</ng-container>\n </button>\n </div>\n </ng-container>\n</ng-container>\n<ng-template #templateSaveAs>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"saveModal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_saveModal\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (keydown.shift.tab)=\"focusValidation()\" (click)=\"toggleSaveAs()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-stepper #stepper>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.presentation.add.info' | i18n }}</h4>\n <pry-presentation-form\n [selectedPresentation]=\"currentManifest\"\n (formValue)=\"formValue = $event\"\n (isFormValid)=\"isFormValid = $event\"\n ></pry-presentation-form>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n #cancel\n (click)=\"toggleSaveAs()\"\n (keydown.tab)=\"disableNextStep()\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n (click)=\"stepper.next()\"\n [disabled]=\"!isFormValid\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.action.next' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.share' | i18n }}</h4>\n <pry-access-rights-share\n [(ngModel)]=\"accessRightsByGroup\"\n (ngModelChange)=\"changeAccessRights($event)\"\n [manifestDescription]=\"currentManifest\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"stepper.prev()\">\n {{ '@pry.action.back' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #confirm\n (click)=\"save()\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.restitution.share' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n </div>\n</ng-template>\n\n<ng-template #templateDirectSaveType>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"directiveSave\"\n role=\"dialog\"\n aria-labelledby=\"dialog_title\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title_\">{{ '@pry.toolbox.save' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #firstFocusdirective (click)=\"toggleDirectSaveType()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <h3>{{ '@pry.snack.pagesChanged' | i18n }}</h3>\n </div>\n <div class=\"m-btn-group\">\n <button class=\"a-btn a-btn--primary\" (click)=\"save()\">\n {{ '@pry.toolbox.save' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"rename()\">\n {{ '@pry.toolbox.rename' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"restore()\" (keydown.tab)=\"closeModals()\">\n {{ '@pry.toolbox.restore' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n" }]
172
+ args: [{ selector: 'pry-save-view', template: "<ng-container *pryAccess=\"{ module: 'dashboard', page: 'toolbox', action: 'save' }\">\n <ng-container *ngIf=\"mode === 'directSave'\">\n <div [attr.aria-expanded]=\"saveTypeOpened\" aria-controls=\"directiveSave\" aria-describedby=\"infoTooltip_directSave\">\n @if (canModify$ | async) {\n <button\n type=\"button\"\n #directiveSave\n class=\"a-btn a-btn--primary\"\n (click)=\"directSave()\"\n [disabled]=\"!(isCurrentPresentationModified$ | async)\"\n >\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.save' | i18n: { nbPages } }}</ng-container>\n </button>\n }\n </div>\n </ng-container>\n <ng-container *ngIf=\"mode === 'saveAs'\">\n <div\n class=\"save-manifest-container\"\n [attr.aria-expanded]=\"saveAsOpened\"\n aria-controls=\"saveModal\"\n aria-describedby=\"infoTooltip_saveAs\"\n >\n <button type=\"button\" #saveAs class=\"a-btn a-btn--secondary\" (click)=\"toggleSaveAs()\" aria-haspopup=\"dialog\">\n <ng-container *ngIf=\"displayLabels\">{{ '@pry.toolbox.rename' | i18n: { nbPages } }}</ng-container>\n </button>\n </div>\n </ng-container>\n</ng-container>\n<ng-template #templateSaveAs>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"saveModal\"\n role=\"dialog\"\n aria-modal=\"true\"\n aria-labelledby=\"dialog_saveModal\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title\">{{ '@pry.toolbox.rename' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #cross (keydown.shift.tab)=\"focusValidation()\" (click)=\"toggleSaveAs()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <pry-stepper #stepper>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.presentation.add.info' | i18n }}</h4>\n <pry-presentation-form\n [selectedPresentation]=\"currentManifest\"\n (formValue)=\"formValue = $event\"\n (isFormValid)=\"isFormValid = $event\"\n ></pry-presentation-form>\n <div class=\"m-btn-group\">\n <button\n type=\"button\"\n class=\"a-btn a-btn--secondary\"\n #cancel\n (click)=\"toggleSaveAs()\"\n (keydown.tab)=\"disableNextStep()\"\n >\n {{ '@pry.toolbox.manifest.close' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n (click)=\"stepper.next()\"\n [disabled]=\"!isFormValid\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.action.next' | i18n }}\n </button>\n </div>\n </pry-step>\n <pry-step>\n <h4 class=\"m-stepper-item__title\" *stepTitle>{{ '@pry.restitution.share' | i18n }}</h4>\n <pry-access-rights-share\n [(ngModel)]=\"accessRightsByGroup\"\n (ngModelChange)=\"changeAccessRights($event)\"\n [manifestDescription]=\"currentManifest\"\n ></pry-access-rights-share>\n <div class=\"m-btn-group\">\n <button type=\"button\" class=\"a-btn a-btn--secondary\" (click)=\"stepper.prev()\">\n {{ '@pry.action.back' | i18n }}\n </button>\n <button\n type=\"submit\"\n class=\"a-btn a-btn--primary\"\n #confirm\n (click)=\"save()\"\n (keydown.tab)=\"focusCrossElement()\"\n >\n {{ '@pry.restitution.share' | i18n }}\n </button>\n </div>\n </pry-step>\n </pry-stepper>\n </div>\n</ng-template>\n\n<ng-template #templateDirectSaveType>\n <div\n class=\"o-modal\"\n (click)=\"$event.stopPropagation()\"\n id=\"directiveSave\"\n role=\"dialog\"\n aria-labelledby=\"dialog_title\"\n (keydown.escape)=\"closeModals()\"\n >\n <div class=\"o-modal__top\">\n <div class=\"o-modal__top__title\">\n <h2 class=\"a-h2\" id=\"dialog_title_\">{{ '@pry.toolbox.save' | i18n }}</h2>\n </div>\n <div class=\"o-modal__top__close\">\n <button class=\"a-btn a-btn--icon-only\" #firstFocusdirective (click)=\"toggleDirectSaveType()\">\n <pry-icon iconSvg=\"close\" [height]=\"35\" [width]=\"35\"></pry-icon>\n <span class=\"u-visually-hidden\">{{ '@pry.toolbox.close' | i18n }}</span>\n </button>\n </div>\n </div>\n <div>\n <h3>{{ '@pry.snack.pagesChanged' | i18n }}</h3>\n </div>\n <div class=\"m-btn-group\">\n <button class=\"a-btn a-btn--primary\" (click)=\"save()\">\n {{ '@pry.toolbox.save' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"rename()\">\n {{ '@pry.toolbox.rename' | i18n }}\n </button>\n <button class=\"a-btn a-btn--primary\" (click)=\"restore()\" (keydown.tab)=\"closeModals()\">\n {{ '@pry.toolbox.restore' | i18n }}\n </button>\n </div>\n </div>\n</ng-template>\n" }]
173
173
  }], ctorParameters: () => [{ type: i1.Store }, { type: i5.PryBaseAccess, decorators: [{
174
174
  type: Optional
175
175
  }, {
@@ -202,4 +202,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.1.3", ngImpor
202
202
  type: ViewChild,
203
203
  args: ['templateDirectSaveType', { read: TemplateRef }]
204
204
  }] } });
205
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zYXZlLXZpZXcvc2F2ZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zYXZlLXZpZXcvc2F2ZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUVsQixnQkFBZ0IsRUFFaEIsUUFBUSxFQUNULE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBTzlGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxzQkFBc0I7SUF1QjNELFlBQ0UsS0FBWSxFQUMwQixNQUFxQixFQUNuRCxPQUFnQixFQUNoQixnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUhiLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTFCbkMsU0FBSSxHQUE0QixRQUFRLENBQUM7UUFPbEQsaUJBQVksR0FBWSxLQUFL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Z0JBQWdCOzhGQXhCN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNlLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ1EsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFDWixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ0ksT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNDLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFHaUMsY0FBYztzQkFBakUsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRVUsc0JBQXNCO3NCQUFqRixTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlnQWN0aW9ucyxcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBWaWV3TW9kZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFRvb2xib3hBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdG9vbGJveC1hY3Rpb24vdG9vbGJveC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFByZXNlbnRhdGlvbkZvcm1WYWx1ZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9wcmVzZW50YXRpb24tZm9ybS9wcmVzZW50YXRpb24tZm9ybS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2F2ZS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NhdmUtdmlldy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2F2ZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBUb29sYm94QWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZTogJ3NhdmVBcycgfCAnZGlyZWN0U2F2ZScgPSAnc2F2ZUFzJztcbiAgQFZpZXdDaGlsZCgnc2F2ZUFzJykgc2F2ZUFzITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2RpcmVjdGl2ZVNhdmUnKSBkaXJlY3RpdmVTYXZlITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2ZpcnN0Rm9jdXNkaXJlY3RpdmUnKSBmaXJzdEZvY3VzZGlyZWN0aXZlITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2Nyb3NzJykgY3Jvc3MhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29uZmlybScpIGNvbmZpcm0hOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY2FuY2VsJykgY2FuY2VsITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIHNhdmVBc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBvdmVybGF5UmVmU2F2ZUFzPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVTYXZlQXMnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlU2F2ZUFzITogVGVtcGxhdGVSZWY8YW55PjtcbiAgb3ZlcmxheVJlZkRpcmVjdFNhdmVUeXBlPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVEaXJlY3RTYXZlVHlwZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGVEaXJlY3RTYXZlVHlwZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGFjY2Vzc1JpZ2h0c0J5R3JvdXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICBzYXZlVHlwZU9wZW5lZCA9IGZhbHNlO1xuICBpc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIG5iUGFnZXM6IG51bWJlciA9IDA7XG4gIGluaXRpYWxOYlBhZ2VzOiBudW1iZXIgPSAwO1xuICBoYXNJbml0aWFsOiBib29sZWFuID0gZmFsc2U7XG4gIFZpZXdNb2RlID0gVmlld01vZGU7XG4gIGZvcm1WYWx1ZT86IFBhcnRpYWw8UHJlc2VudGF0aW9uRm9ybVZhbHVlPjtcbiAgaXNGb3JtVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBhY2Nlc3M6IFByeUJhc2VBY2Nlc3MsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICBzdXBlcihzdG9yZSwgYWNjZXNzKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucHJlc2VudGF0aW9uKS5zdWJzY3JpYmUoKHByZXNlbnRhdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRNYW5pZmVzdCA9IHByZXNlbnRhdGlvbi5jdXJyZW50XG4gICAgICAgICAgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByZXNlbnRhdGlvbi5jdXJyZW50KSlcbiAgICAgICAgICA6ICh7IG5hbWU6ICcnLCBpbWFnZTogJycsIGRlc2NyaXB0aW9uOiAnJyB9IGFzIE1hbmlmZXN0RGVzY3JpcHRpb24pO1xuICAgICAgICB0aGlzLmluaXRpYWxOYlBhZ2VzID0gcHJlc2VudGF0aW9uLmluaXRpYWw/LndpbmRvd3MubGVuZ3RoID8/IDA7XG4gICAgICAgIHRoaXMuaGFzSW5pdGlhbCA9ICEhcHJlc2VudGF0aW9uLmluaXRpYWw7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5pc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuaXNDdXJyZW50UHJlc2VudGF0aW9uTW9kaWZpZWQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KVxuICAgICAgICAuc3Vic2NyaWJlKChtYW5pZmVzdCkgPT4gKHRoaXMubmJQYWdlcyA9IG1hbmlmZXN0LndpbmRvd3MubGVuZ3RoKSlcbiAgICApO1xuICB9XG5cbiAgdG9nZ2xlU2F2ZUFzKCkge1xuICAgIHRoaXMuc2F2ZUFzT3BlbmVkID0gIXRoaXMuc2F2ZUFzT3BlbmVkO1xuICAgIGlmICh0aGlzLnNhdmVBc09wZW5lZCkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlcXVlc3RBbGxSb3V0ZXMoKSk7XG4gICAgICB0aGlzLm9wZW5TYXZlQXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmU2F2ZUFzPy5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZTYXZlQXMgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgICB0aGlzLnNhdmVBcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMucmVxdWVzdEFsbFJvdXRlcygpKTtcbiAgICAvLyBHaXZlIHRpbWUgZm9yIHJvdXRlcyB0byBiZSB1cGRhdGVkXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBsZXQgcHJlc2VudGF0aW9uID0ge1xuICAgICAgICAuLi50aGlzLmN1cnJlbnRNYW5pZmVzdCxcbiAgICAgICAgbmFtZTogdGhpcy5jdXJyZW50TWFuaWZlc3QhLm5hbWUsXG4gICAgICAgIGlkOiB2NCgpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jdXJyZW50TWFuaWZlc3QhLmRlc2NyaXB0aW9uLFxuICAgICAgICBpbWFnZTogdGhpcy5jdXJyZW50TWFuaWZlc3QhLmltYWdlLFxuICAgICAgICBhY2Nlc3NSaWdodHNCeUdyb3VwOiB0aGlzLmFjY2Vzc1JpZ2h0c0J5R3JvdXAsXG4gICAgICAgIG93bmVyOiB0aGlzLmN1cnJlbnRNYW5pZmVzdD8ub3duZXIsXG4gICAgICAgIG1ldGFkYXRhOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5tb2RlID09ICdkaXJlY3RTYXZlJykge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TWFuaWZlc3QpIHtcbiAgICAgICAgICBwcmVzZW50YXRpb24uaWQgPSB0aGlzLmN1cnJlbnRNYW5pZmVzdC5pZDtcbiAgICAgICAgICBwcmVzZW50YXRpb24uYWNjZXNzUmlnaHRzQnlHcm91cCA9IHRoaXMuY3VycmVudE1hbmlmZXN0LmFjY2Vzc1JpZ2h0c0J5R3JvdXA7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByZXNlbnRhdGlvbiA9IHtcbiAgICAgICAgICAuLi5wcmVzZW50YXRpb24sXG4gICAgICAgICAgLi4udGhpcy5mb3JtVmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5zYXZlTWFuaWZlc3QocHJlc2VudGF0aW9uKSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdFByZXNlbnRhdGlvbih7XG4gICAgICAgICAgcHJlc2VudGF0aW9uOiBwcmVzZW50YXRpb24gYXMgTWFuaWZlc3REZXNjcmlwdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMubW9kZSA9ICdkaXJlY3RTYXZlJztcbiAgICB9LCAyMDApO1xuICAgIHRoaXMub3ZlcmxheVJlZlNhdmVBcz8uZGlzcG9zZSgpO1xuICAgIHRoaXMuY2xvc2VNb2RhbHMoKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWxzKCkge1xuICAgIGlmICh0aGlzLnNhdmVUeXBlT3BlbmVkKSB7XG4gICAgICB0aGlzLnRvZ2dsZURpcmVjdFNhdmVUeXBlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNhdmVBc09wZW5lZCkge1xuICAgICAgdGhpcy50b2dnbGVTYXZlQXMoKTtcbiAgICB9XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY2hhbmdlQWNjZXNzUmlnaHRzKCRldmVudDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9KSB7XG4gICAgdGhpcy5jdXJyZW50TWFuaWZlc3QhLmFjY2Vzc1JpZ2h0c0J5R3JvdXAgPSAkZXZlbnQ7XG4gIH1cblxuICBvcGVuU2F2ZUFzKCkge1xuICAgIHRoaXMub3ZlcmxheVJlZlNhdmVBcyA9IHRoaXMub3ZlcmxheS5jcmVhdGUoXG4gICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBwYW5lbENsYXNzOiBbJ28tbW9kYWwtd3JhcHBlciddLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5tb2RlID0gJ3NhdmVBcyc7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWZTYXZlQXMuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoXykgPT4gdGhpcy50b2dnbGVTYXZlQXMoKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmU2F2ZUFzLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVNhdmVBcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gIH1cblxuICB0b2dnbGVEaXJlY3RTYXZlVHlwZSgpIHtcbiAgICB0aGlzLnNhdmVUeXBlT3BlbmVkID0gIXRoaXMuc2F2ZVR5cGVPcGVuZWQ7XG4gICAgaWYgKHRoaXMuc2F2ZVR5cGVPcGVuZWQpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5yZXF1ZXN0QWxsUm91dGVzKCkpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmRGlyZWN0U2F2ZVR5cGUgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInXSxcbiAgICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZkRpcmVjdFNhdmVUeXBlLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHRoaXMudG9nZ2xlRGlyZWN0U2F2ZVR5cGUoKSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZEaXJlY3RTYXZlVHlwZS5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVEaXJlY3RTYXZlVHlwZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5maXJzdEZvY3VzZGlyZWN0aXZlPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9LCAxMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZkRpcmVjdFNhdmVUeXBlPy5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZEaXJlY3RTYXZlVHlwZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMuZGlyZWN0aXZlU2F2ZT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBtdXN0T3Blbk1vZGFsKCkge1xuICAgIHJldHVybiB0aGlzLmhhc0luaXRpYWwgJiYgdGhpcy5uYlBhZ2VzICE9PSB0aGlzLmluaXRpYWxOYlBhZ2VzO1xuICB9XG5cbiAgZGlyZWN0U2F2ZSgpIHtcbiAgICBpZiAodGhpcy5tdXN0T3Blbk1vZGFsKSB7XG4gICAgICB0aGlzLnRvZ2dsZURpcmVjdFNhdmVUeXBlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2F2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlc3RvcmUoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlc3RvcmVJbml0aWFsTWFuaWZlc3QoKSk7XG4gICAgdGhpcy5jbG9zZU1vZGFscygpO1xuICB9XG5cbiAgZm9jdXNDcm9zc0VsZW1lbnQoKSB7XG4gICAgdGhpcy5jcm9zcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBmb2N1c1ZhbGlkYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRNYW5pZmVzdD8ubmFtZSkge1xuICAgICAgdGhpcy5jYW5jZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpcm0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcmVuYW1lKCkge1xuICAgIHRoaXMudG9nZ2xlU2F2ZUFzKCk7XG4gIH1cblxuICBkaXNhYmxlTmV4dFN0ZXAoKSB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRNYW5pZmVzdD8ubmFtZSkge1xuICAgICAgdGhpcy5mb2N1c0Nyb3NzRWxlbWVudCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3NhdmUnIH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICdkaXJlY3RTYXZlJ1wiPlxuICAgIDxkaXYgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzYXZlVHlwZU9wZW5lZFwiIGFyaWEtY29udHJvbHM9XCJkaXJlY3RpdmVTYXZlXCIgYXJpYS1kZXNjcmliZWRieT1cImluZm9Ub29sdGlwX2RpcmVjdFNhdmVcIj5cbiAgICAgIEBpZiAoY2FuTW9kaWZ5JCB8IGFzeW5jKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAjZGlyZWN0aXZlU2F2ZVxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAgIChjbGljayk9XCJkaXJlY3RTYXZlKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhKGlzQ3VycmVudFByZXNlbnRhdGlvbk1vZGlmaWVkJCB8IGFzeW5jKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUxhYmVsc1wiPnt7ICdAcHJ5LnRvb2xib3guc2F2ZScgfCBpMThuIH19ICh7eyBuYlBhZ2VzIH19KTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnc2F2ZUFzJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2F2ZS1tYW5pZmVzdC1jb250YWluZXJcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzYXZlQXNPcGVuZWRcIlxuICAgICAgYXJpYS1jb250cm9scz1cInNhdmVNb2RhbFwiXG4gICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwiaW5mb1Rvb2x0aXBfc2F2ZUFzXCJcbiAgICA+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjc2F2ZUFzIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJ0b2dnbGVTYXZlQXMoKVwiIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlMYWJlbHNcIj57eyAnQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuIH19ICh7eyBuYlBhZ2VzIH19KTwvbmctY29udGFpbmVyPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3RlbXBsYXRlU2F2ZUFzPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJvLW1vZGFsXCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICBpZD1cInNhdmVNb2RhbFwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImRpYWxvZ19zYXZlTW9kYWxcIlxuICAgIChrZXlkb3duLmVzY2FwZSk9XCJjbG9zZU1vZGFscygpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX3RpdGxlXCI+XG4gICAgICAgIDxoMiBjbGFzcz1cImEtaDJcIiBpZD1cImRpYWxvZ190aXRsZVwiPnt7ICdAcHJ5LnRvb2xib3gucmVuYW1lJyB8IGkxOG4gfX08L2gyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX19jbG9zZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiICNjcm9zcyAoa2V5ZG93bi5zaGlmdC50YWIpPVwiZm9jdXNWYWxpZGF0aW9uKClcIiAoY2xpY2spPVwidG9nZ2xlU2F2ZUFzKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIzNVwiIFt3aWR0aF09XCIzNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3guY2xvc2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8cHJ5LXN0ZXBwZXIgI3N0ZXBwZXI+XG4gICAgICA8cHJ5LXN0ZXA+XG4gICAgICAgIDxoNCBjbGFzcz1cIm0tc3RlcHBlci1pdGVtX190aXRsZVwiICpzdGVwVGl0bGU+e3sgJ0BwcnkucHJlc2VudGF0aW9uLmFkZC5pbmZvJyB8IGkxOG4gfX08L2g0PlxuICAgICAgICA8cHJ5LXByZXNlbnRhdGlvbi1mb3JtXG4gICAgICAgICAgW3NlbGVjdGVkUHJlc2VudGF0aW9uXT1cImN1cnJlbnRNYW5pZmVzdFwiXG4gICAgICAgICAgKGZvcm1WYWx1ZSk9XCJmb3JtVmFsdWUgPSAkZXZlbnRcIlxuICAgICAgICAgIChpc0Zvcm1WYWxpZCk9XCJpc0Zvcm1WYWxpZCA9ICRldmVudFwiXG4gICAgICAgID48L3ByeS1wcmVzZW50YXRpb24tZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgI2NhbmNlbFxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNhdmVBcygpXCJcbiAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJkaXNhYmxlTmV4dFN0ZXAoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jbG9zZScgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGVwcGVyLm5leHQoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzRm9ybVZhbGlkXCJcbiAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJmb2N1c0Nyb3NzRWxlbWVudCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24ubmV4dCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9wcnktc3RlcD5cbiAgICAgIDxwcnktc3RlcD5cbiAgICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi5zaGFyZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgPHByeS1hY2Nlc3MtcmlnaHRzLXNoYXJlXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJhY2Nlc3NSaWdodHNCeUdyb3VwXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VBY2Nlc3NSaWdodHMoJGV2ZW50KVwiXG4gICAgICAgICAgW21hbmlmZXN0RGVzY3JpcHRpb25dPVwiY3VycmVudE1hbmlmZXN0XCJcbiAgICAgICAgPjwvcHJ5LWFjY2Vzcy1yaWdodHMtc2hhcmU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cFwiPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJzdGVwcGVyLnByZXYoKVwiPlxuICAgICAgICAgICAge3sgJ0BwcnkuYWN0aW9uLmJhY2snIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgICAgICAjY29uZmlybVxuICAgICAgICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwiZm9jdXNDcm9zc0VsZW1lbnQoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24uc2hhcmUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvcHJ5LXN0ZXA+XG4gICAgPC9wcnktc3RlcHBlcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlRGlyZWN0U2F2ZVR5cGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm8tbW9kYWxcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgIGlkPVwiZGlyZWN0aXZlU2F2ZVwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwiZGlhbG9nX3RpdGxlXCJcbiAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2xvc2VNb2RhbHMoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX190aXRsZVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJhLWgyXCIgaWQ9XCJkaWFsb2dfdGl0bGVfXCI+e3sgJ0BwcnkudG9vbGJveC5zYXZlJyB8IGkxOG4gfX08L2gyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX19jbG9zZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiICNmaXJzdEZvY3VzZGlyZWN0aXZlIChjbGljayk9XCJ0b2dnbGVEaXJlY3RTYXZlVHlwZSgpXCI+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiIFtoZWlnaHRdPVwiMzVcIiBbd2lkdGhdPVwiMzVcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxoMz57eyAnQHByeS5zbmFjay5wYWdlc0NoYW5nZWQnIHwgaTE4biB9fTwvaDM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZSgpXCI+XG4gICAgICAgIHt7ICdAcHJ5LnRvb2xib3guc2F2ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJyZW5hbWUoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJyZXN0b3JlKClcIiAoa2V5ZG93bi50YWIpPVwiY2xvc2VNb2RhbHMoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94LnJlc3RvcmUnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==
205
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS12aWV3LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zYXZlLXZpZXcvc2F2ZS12aWV3LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3Rvb2xib3gvY29tcG9uZW50cy9zYXZlLXZpZXcvc2F2ZS12aWV3LmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBVyxhQUFhLEVBQWMsTUFBTSxzQkFBc0IsQ0FBQztBQUMxRSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDckQsT0FBTyxFQUNMLFNBQVMsRUFFVCxNQUFNLEVBQ04sS0FBSyxFQUNMLFFBQVEsRUFDUixXQUFXLEVBQ1gsU0FBUyxFQUVWLE1BQU0sZUFBZSxDQUFDO0FBRXZCLE9BQU8sRUFDTCxhQUFhLEVBQ2IsZ0JBQWdCLEVBQ2hCLGtCQUFrQixFQUVsQixnQkFBZ0IsRUFFaEIsUUFBUSxFQUNULE1BQU0sb0JBQW9CLENBQUM7QUFFNUIsT0FBTyxFQUFFLEVBQUUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMxQixPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxzREFBc0QsQ0FBQzs7Ozs7Ozs7O0FBTzlGLE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxzQkFBc0I7SUF1QjNELFlBQ0UsS0FBWSxFQUMwQixNQUFxQixFQUNuRCxPQUFnQixFQUNoQixnQkFBa0M7UUFFMUMsS0FBSyxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsQ0FBQztRQUhiLFlBQU8sR0FBUCxPQUFPLENBQVM7UUFDaEIscUJBQWdCLEdBQWhCLGdCQUFnQixDQUFrQjtRQTFCbkMsU0FBSSxHQUE0QixRQUFRLENBQUM7UUFPbEQsaUJBQVksR0FBWSxLQUFLLENBQUM7UUFLOUIsd0JBQW1CLEdBQWdDLEVBQUUsQ0FBQztRQUN0RCxtQkFBYyxHQUFHLEtBQUssQ0FBQztRQUV2QixZQUFPLEdBQVcsQ0FBQyxDQUFDO1FBQ3BCLG1CQUFjLEdBQVcsQ0FBQyxDQUFDO1FBQzNCLGVBQVUsR0FBWSxLQUFLLENBQUM7UUFDNUIsYUFBUSxHQUFHLFFBQVEsQ0FBQztRQUVwQixnQkFBVyxHQUFZLEtBQUssQ0FBQztRQVUzQixJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsWUFBWSxFQUFFLEVBQUU7WUFDNUUsSUFBSSxDQUFDLGVBQWUsR0FBRyxZQUFZLENBQUMsT0FBTztnQkFDekMsQ0FBQyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUM7Z0JBQ2xELENBQUMsQ0FBRSxFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUEwQixDQUFDO1lBQ3RFLElBQUksQ0FBQyxjQUFjLEdBQUcsWUFBWSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsTUFBTSxJQUFJLENBQUMsQ0FBQztZQUNoRSxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUNILENBQUM7UUFDRixJQUFJLENBQUMsOEJBQThCLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsNkJBQTZCLENBQUMsQ0FBQztRQUMxRyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FDcEIsSUFBSSxDQUFDLEtBQUs7YUFDUCxNQUFNLENBQUMsa0JBQWtCLENBQUMsY0FBYyxDQUFDO2FBQ3pDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQUMsT0FBTyxHQUFHLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FDckUsQ0FBQztJQUNKLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLFlBQVksR0FBRyxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdkMsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1lBQ3pELElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNwQixDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDO1lBQ2xDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDcEMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJO1FBQ0YsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQUMsZ0JBQWdCLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxDQUFDO1FBQ3pELHFDQUFxQztRQUNyQyxVQUFVLENBQUMsR0FBRyxFQUFFO1lBQ2QsSUFBSSxZQUFZLEdBQUc7Z0JBQ2pCLEdBQUcsSUFBSSxDQUFDLGVBQWU7Z0JBQ3ZCLElBQUksRUFBRSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxJQUFJO2dCQUNoQyxFQUFFLEVBQUUsRUFBRSxFQUFFO2dCQUNSLFdBQVcsRUFBRSxJQUFJLENBQUMsZUFBZ0IsQ0FBQyxXQUFXO2dCQUM5QyxLQUFLLEVBQUUsSUFBSSxDQUFDLGVBQWdCLENBQUMsS0FBSztnQkFDbEMsbUJBQW1CLEVBQUUsSUFBSSxDQUFDLG1CQUFtQjtnQkFDN0MsS0FBSyxFQUFFLElBQUksQ0FBQyxlQUFlLEVBQUUsS0FBSztnQkFDbEMsUUFBUSxFQUFFLFNBQVM7YUFDcEIsQ0FBQztZQUNGLElBQUksSUFBSSxDQUFDLElBQUksSUFBSSxZQUFZLEVBQUUsQ0FBQztnQkFDOUIsSUFBSSxJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7b0JBQ3pCLFlBQVksQ0FBQyxFQUFFLEdBQUcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxFQUFFLENBQUM7b0JBQzFDLFlBQVksQ0FBQyxtQkFBbUIsR0FBRyxJQUFJLENBQUMsZUFBZSxDQUFDLG1CQUFtQixDQUFDO2dCQUM5RSxDQUFDO1lBQ0gsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLFlBQVksR0FBRztvQkFDYixHQUFHLFlBQVk7b0JBQ2YsR0FBRyxJQUFJLENBQUMsU0FBUztpQkFDbEIsQ0FBQztZQUNKLENBQUM7WUFDRCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FDakIsZ0JBQWdCLENBQUMsa0JBQWtCLENBQUM7Z0JBQ2xDLFlBQVksRUFBRSxZQUFtQzthQUNsRCxDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsWUFBWSxDQUFDO1FBQzNCLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUNSLElBQUksQ0FBQyxnQkFBZ0IsRUFBRSxPQUFPLEVBQUUsQ0FBQztRQUNqQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDdEIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3RCLENBQUM7UUFDRCxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDO0lBRUQsa0JBQWtCLENBQUMsTUFBbUM7UUFDcEQsSUFBSSxDQUFDLGVBQWdCLENBQUMsbUJBQW1CLEdBQUcsTUFBTSxDQUFDO0lBQ3JELENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUN6QyxJQUFJLGFBQWEsQ0FBQztZQUNoQixXQUFXLEVBQUUsSUFBSTtZQUNqQixVQUFVLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQztZQUMvQixhQUFhLEVBQUUsVUFBVTtTQUMxQixDQUFDLENBQ0gsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLEdBQUcsUUFBUSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7UUFDaEYsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxJQUFJLGNBQWMsQ0FBQyxJQUFJLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUM7SUFDL0YsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixJQUFJLENBQUMsY0FBYyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUMzQyxJQUFJLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUN4QixJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7WUFDekQsSUFBSSxDQUFDLHdCQUF3QixHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUNqRCxJQUFJLGFBQWEsQ0FBQztnQkFDaEIsV0FBVyxFQUFFLElBQUk7Z0JBQ2pCLFVBQVUsRUFBRSxDQUFDLGlCQUFpQixDQUFDO2dCQUMvQixhQUFhLEVBQUUsVUFBVTthQUMxQixDQUFDLENBQ0gsQ0FBQztZQUNGLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxhQUFhLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDaEYsSUFBSSxDQUFDLHdCQUF3QixDQUFDLGFBQWEsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUMsQ0FBQztZQUM1RixJQUFJLENBQUMsd0JBQXdCLENBQUMsTUFBTSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDO1lBQzdHLFVBQVUsQ0FBQyxHQUFHLEVBQUU7Z0JBQ2QsSUFBSSxDQUFDLG1CQUFtQixFQUFFLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztZQUNsRCxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDVCxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyx3QkFBd0IsRUFBRSxPQUFPLEVBQUUsQ0FBQztZQUN6QyxJQUFJLENBQUMsd0JBQXdCLEdBQUcsU0FBUyxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUM7WUFDL0UsSUFBSSxDQUFDLGFBQWEsRUFBRSxhQUFhLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDNUMsQ0FBQztJQUNILENBQUM7SUFFRCxJQUFJLGFBQWE7UUFDZixPQUFPLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLE9BQU8sS0FBSyxJQUFJLENBQUMsY0FBYyxDQUFDO0lBQ2pFLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDdkIsSUFBSSxDQUFDLG9CQUFvQixFQUFFLENBQUM7UUFDOUIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUFJLENBQUMsSUFBSSxFQUFFLENBQUM7UUFDZCxDQUFDO0lBQ0gsQ0FBQztJQUVELE9BQU87UUFDTCxJQUFJLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxzQkFBc0IsRUFBRSxDQUFDLENBQUM7UUFDL0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNuQyxDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3BDLENBQUM7UUFDRCxJQUFJLENBQUMsT0FBTyxDQUFDLGFBQWEsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNyQyxDQUFDO0lBRUQsTUFBTTtRQUNKLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQUN0QixDQUFDO0lBRUQsZUFBZTtRQUNiLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxFQUFFLElBQUksRUFBRSxDQUFDO1lBQ2hDLElBQUksQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQzNCLENBQUM7SUFDSCxDQUFDOzhHQTNMVSxpQkFBaUIsdUNBeUJOLGdCQUFnQjtrR0F6QjNCLGlCQUFpQixzc0JBVVMsV0FBVywySEFFSCxXQUFXLG9EQzNDMUQsK3RLQTZJQTs7MkZEOUdhLGlCQUFpQjtrQkFKN0IsU0FBUzsrQkFDRSxlQUFlOzswQkE0QnRCLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMsZ0JBQWdCOzhGQXhCN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNlLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFDUyxhQUFhO3NCQUF4QyxTQUFTO3VCQUFDLGVBQWU7Z0JBQ1EsbUJBQW1CO3NCQUFwRCxTQUFTO3VCQUFDLHFCQUFxQjtnQkFDWixLQUFLO3NCQUF4QixTQUFTO3VCQUFDLE9BQU87Z0JBQ0ksT0FBTztzQkFBNUIsU0FBUzt1QkFBQyxTQUFTO2dCQUNDLE1BQU07c0JBQTFCLFNBQVM7dUJBQUMsUUFBUTtnQkFHaUMsY0FBYztzQkFBakUsU0FBUzt1QkFBQyxnQkFBZ0IsRUFBRSxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUU7Z0JBRVUsc0JBQXNCO3NCQUFqRixTQUFTO3VCQUFDLHdCQUF3QixFQUFFLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE92ZXJsYXksIE92ZXJsYXlDb25maWcsIE92ZXJsYXlSZWYgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBUZW1wbGF0ZVBvcnRhbCB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9wb3J0YWwnO1xuaW1wb3J0IHtcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbmplY3QsXG4gIElucHV0LFxuICBPcHRpb25hbCxcbiAgVGVtcGxhdGVSZWYsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0NvbnRhaW5lclJlZlxufSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFN0b3JlIH0gZnJvbSAnQG5ncngvc3RvcmUnO1xuaW1wb3J0IHtcbiAgQ29uZmlnQWN0aW9ucyxcbiAgRGFzaGJvYXJkQWN0aW9ucyxcbiAgRGFzaGJvYXJkU2VsZWN0b3JzLFxuICBNYW5pZmVzdERlc2NyaXB0aW9uLFxuICBQUllfQUNDRVNTX1RPS0VOLFxuICBQcnlCYXNlQWNjZXNzLFxuICBWaWV3TW9kZVxufSBmcm9tICdAcHJvdm9seS9kYXNoYm9hcmQnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSB9IGZyb20gJ3J4anMnO1xuaW1wb3J0IHsgdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFRvb2xib3hBY3Rpb25Db21wb25lbnQgfSBmcm9tICcuLi8uLi9zaGFyZWQvdG9vbGJveC1hY3Rpb24vdG9vbGJveC1hY3Rpb24uY29tcG9uZW50JztcbmltcG9ydCB7IFByZXNlbnRhdGlvbkZvcm1WYWx1ZSB9IGZyb20gJy4uLy4uL3NoYXJlZC9wcmVzZW50YXRpb24tZm9ybS9wcmVzZW50YXRpb24tZm9ybS5jb21wb25lbnQnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdwcnktc2F2ZS12aWV3JyxcbiAgdGVtcGxhdGVVcmw6ICcuL3NhdmUtdmlldy5jb21wb25lbnQuaHRtbCdcbn0pXG5leHBvcnQgY2xhc3MgU2F2ZVZpZXdDb21wb25lbnQgZXh0ZW5kcyBUb29sYm94QWN0aW9uQ29tcG9uZW50IHtcbiAgQElucHV0KCkgbW9kZTogJ3NhdmVBcycgfCAnZGlyZWN0U2F2ZScgPSAnc2F2ZUFzJztcbiAgQFZpZXdDaGlsZCgnc2F2ZUFzJykgc2F2ZUFzITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2RpcmVjdGl2ZVNhdmUnKSBkaXJlY3RpdmVTYXZlITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2ZpcnN0Rm9jdXNkaXJlY3RpdmUnKSBmaXJzdEZvY3VzZGlyZWN0aXZlITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIEBWaWV3Q2hpbGQoJ2Nyb3NzJykgY3Jvc3MhOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY29uZmlybScpIGNvbmZpcm0hOiBFbGVtZW50UmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgQFZpZXdDaGlsZCgnY2FuY2VsJykgY2FuY2VsITogRWxlbWVudFJlZjxIVE1MQnV0dG9uRWxlbWVudD47XG4gIHNhdmVBc09wZW5lZDogYm9vbGVhbiA9IGZhbHNlO1xuICBvdmVybGF5UmVmU2F2ZUFzPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVTYXZlQXMnLCB7IHJlYWQ6IFRlbXBsYXRlUmVmIH0pIHRlbXBsYXRlU2F2ZUFzITogVGVtcGxhdGVSZWY8YW55PjtcbiAgb3ZlcmxheVJlZkRpcmVjdFNhdmVUeXBlPzogT3ZlcmxheVJlZjtcbiAgQFZpZXdDaGlsZCgndGVtcGxhdGVEaXJlY3RTYXZlVHlwZScsIHsgcmVhZDogVGVtcGxhdGVSZWYgfSkgdGVtcGxhdGVEaXJlY3RTYXZlVHlwZSE6IFRlbXBsYXRlUmVmPGFueT47XG4gIGFjY2Vzc1JpZ2h0c0J5R3JvdXA6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHt9O1xuICBzYXZlVHlwZU9wZW5lZCA9IGZhbHNlO1xuICBpc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gIG5iUGFnZXM6IG51bWJlciA9IDA7XG4gIGluaXRpYWxOYlBhZ2VzOiBudW1iZXIgPSAwO1xuICBoYXNJbml0aWFsOiBib29sZWFuID0gZmFsc2U7XG4gIFZpZXdNb2RlID0gVmlld01vZGU7XG4gIGZvcm1WYWx1ZT86IFBhcnRpYWw8UHJlc2VudGF0aW9uRm9ybVZhbHVlPjtcbiAgaXNGb3JtVmFsaWQ6IGJvb2xlYW4gPSBmYWxzZTtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBzdG9yZTogU3RvcmUsXG4gICAgQE9wdGlvbmFsKCkgQEluamVjdChQUllfQUNDRVNTX1RPS0VOKSBhY2Nlc3M6IFByeUJhc2VBY2Nlc3MsXG4gICAgcHJpdmF0ZSBvdmVybGF5OiBPdmVybGF5LFxuICAgIHByaXZhdGUgdmlld0NvbnRhaW5lclJlZjogVmlld0NvbnRhaW5lclJlZlxuICApIHtcbiAgICBzdXBlcihzdG9yZSwgYWNjZXNzKTtcblxuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMucHJlc2VudGF0aW9uKS5zdWJzY3JpYmUoKHByZXNlbnRhdGlvbikgPT4ge1xuICAgICAgICB0aGlzLmN1cnJlbnRNYW5pZmVzdCA9IHByZXNlbnRhdGlvbi5jdXJyZW50XG4gICAgICAgICAgPyBKU09OLnBhcnNlKEpTT04uc3RyaW5naWZ5KHByZXNlbnRhdGlvbi5jdXJyZW50KSlcbiAgICAgICAgICA6ICh7IG5hbWU6ICcnLCBpbWFnZTogJycsIGRlc2NyaXB0aW9uOiAnJyB9IGFzIE1hbmlmZXN0RGVzY3JpcHRpb24pO1xuICAgICAgICB0aGlzLmluaXRpYWxOYlBhZ2VzID0gcHJlc2VudGF0aW9uLmluaXRpYWw/LndpbmRvd3MubGVuZ3RoID8/IDA7XG4gICAgICAgIHRoaXMuaGFzSW5pdGlhbCA9ICEhcHJlc2VudGF0aW9uLmluaXRpYWw7XG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5pc0N1cnJlbnRQcmVzZW50YXRpb25Nb2RpZmllZCQgPSB0aGlzLnN0b3JlLnNlbGVjdChEYXNoYm9hcmRTZWxlY3RvcnMuaXNDdXJyZW50UHJlc2VudGF0aW9uTW9kaWZpZWQpO1xuICAgIHRoaXMuc3Vic2NyaXB0aW9ucy5hZGQoXG4gICAgICB0aGlzLnN0b3JlXG4gICAgICAgIC5zZWxlY3QoRGFzaGJvYXJkU2VsZWN0b3JzLmdsb2JhbE1hbmlmZXN0KVxuICAgICAgICAuc3Vic2NyaWJlKChtYW5pZmVzdCkgPT4gKHRoaXMubmJQYWdlcyA9IG1hbmlmZXN0LndpbmRvd3MubGVuZ3RoKSlcbiAgICApO1xuICB9XG5cbiAgdG9nZ2xlU2F2ZUFzKCkge1xuICAgIHRoaXMuc2F2ZUFzT3BlbmVkID0gIXRoaXMuc2F2ZUFzT3BlbmVkO1xuICAgIGlmICh0aGlzLnNhdmVBc09wZW5lZCkge1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlcXVlc3RBbGxSb3V0ZXMoKSk7XG4gICAgICB0aGlzLm9wZW5TYXZlQXMoKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5vdmVybGF5UmVmU2F2ZUFzPy5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZTYXZlQXMgPSB1bmRlZmluZWQ7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKENvbmZpZ0FjdGlvbnMuY2xvc2VPdmVybGF5KHsgaWQ6IHRoaXMuY29uc3RydWN0b3IubmFtZSB9KSk7XG4gICAgICB0aGlzLnNhdmVBcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgfVxuICB9XG5cbiAgc2F2ZSgpIHtcbiAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKERhc2hib2FyZEFjdGlvbnMucmVxdWVzdEFsbFJvdXRlcygpKTtcbiAgICAvLyBHaXZlIHRpbWUgZm9yIHJvdXRlcyB0byBiZSB1cGRhdGVkXG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBsZXQgcHJlc2VudGF0aW9uID0ge1xuICAgICAgICAuLi50aGlzLmN1cnJlbnRNYW5pZmVzdCxcbiAgICAgICAgbmFtZTogdGhpcy5jdXJyZW50TWFuaWZlc3QhLm5hbWUsXG4gICAgICAgIGlkOiB2NCgpLFxuICAgICAgICBkZXNjcmlwdGlvbjogdGhpcy5jdXJyZW50TWFuaWZlc3QhLmRlc2NyaXB0aW9uLFxuICAgICAgICBpbWFnZTogdGhpcy5jdXJyZW50TWFuaWZlc3QhLmltYWdlLFxuICAgICAgICBhY2Nlc3NSaWdodHNCeUdyb3VwOiB0aGlzLmFjY2Vzc1JpZ2h0c0J5R3JvdXAsXG4gICAgICAgIG93bmVyOiB0aGlzLmN1cnJlbnRNYW5pZmVzdD8ub3duZXIsXG4gICAgICAgIG1ldGFkYXRhOiB1bmRlZmluZWRcbiAgICAgIH07XG4gICAgICBpZiAodGhpcy5tb2RlID09ICdkaXJlY3RTYXZlJykge1xuICAgICAgICBpZiAodGhpcy5jdXJyZW50TWFuaWZlc3QpIHtcbiAgICAgICAgICBwcmVzZW50YXRpb24uaWQgPSB0aGlzLmN1cnJlbnRNYW5pZmVzdC5pZDtcbiAgICAgICAgICBwcmVzZW50YXRpb24uYWNjZXNzUmlnaHRzQnlHcm91cCA9IHRoaXMuY3VycmVudE1hbmlmZXN0LmFjY2Vzc1JpZ2h0c0J5R3JvdXA7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHByZXNlbnRhdGlvbiA9IHtcbiAgICAgICAgICAuLi5wcmVzZW50YXRpb24sXG4gICAgICAgICAgLi4udGhpcy5mb3JtVmFsdWVcbiAgICAgICAgfTtcbiAgICAgIH1cbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5zYXZlTWFuaWZlc3QocHJlc2VudGF0aW9uKSk7XG4gICAgICB0aGlzLnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICBEYXNoYm9hcmRBY3Rpb25zLnNlbGVjdFByZXNlbnRhdGlvbih7XG4gICAgICAgICAgcHJlc2VudGF0aW9uOiBwcmVzZW50YXRpb24gYXMgTWFuaWZlc3REZXNjcmlwdGlvblxuICAgICAgICB9KVxuICAgICAgKTtcbiAgICAgIHRoaXMubW9kZSA9ICdkaXJlY3RTYXZlJztcbiAgICB9LCAyMDApO1xuICAgIHRoaXMub3ZlcmxheVJlZlNhdmVBcz8uZGlzcG9zZSgpO1xuICAgIHRoaXMuY2xvc2VNb2RhbHMoKTtcbiAgfVxuXG4gIGNsb3NlTW9kYWxzKCkge1xuICAgIGlmICh0aGlzLnNhdmVUeXBlT3BlbmVkKSB7XG4gICAgICB0aGlzLnRvZ2dsZURpcmVjdFNhdmVUeXBlKCk7XG4gICAgfVxuICAgIGlmICh0aGlzLnNhdmVBc09wZW5lZCkge1xuICAgICAgdGhpcy50b2dnbGVTYXZlQXMoKTtcbiAgICB9XG4gICAgdGhpcy5jbG9zZSgpO1xuICB9XG5cbiAgY2hhbmdlQWNjZXNzUmlnaHRzKCRldmVudDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmdbXSB9KSB7XG4gICAgdGhpcy5jdXJyZW50TWFuaWZlc3QhLmFjY2Vzc1JpZ2h0c0J5R3JvdXAgPSAkZXZlbnQ7XG4gIH1cblxuICBvcGVuU2F2ZUFzKCkge1xuICAgIHRoaXMub3ZlcmxheVJlZlNhdmVBcyA9IHRoaXMub3ZlcmxheS5jcmVhdGUoXG4gICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgIGhhc0JhY2tkcm9wOiB0cnVlLFxuICAgICAgICBwYW5lbENsYXNzOiBbJ28tbW9kYWwtd3JhcHBlciddLFxuICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnXG4gICAgICB9KVxuICAgICk7XG4gICAgdGhpcy5tb2RlID0gJ3NhdmVBcyc7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICB0aGlzLm92ZXJsYXlSZWZTYXZlQXMuYmFja2Ryb3BDbGljaygpLnN1YnNjcmliZSgoXykgPT4gdGhpcy50b2dnbGVTYXZlQXMoKSk7XG4gICAgdGhpcy5vdmVybGF5UmVmU2F2ZUFzLmF0dGFjaChuZXcgVGVtcGxhdGVQb3J0YWwodGhpcy50ZW1wbGF0ZVNhdmVBcywgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gIH1cblxuICB0b2dnbGVEaXJlY3RTYXZlVHlwZSgpIHtcbiAgICB0aGlzLnNhdmVUeXBlT3BlbmVkID0gIXRoaXMuc2F2ZVR5cGVPcGVuZWQ7XG4gICAgaWYgKHRoaXMuc2F2ZVR5cGVPcGVuZWQpIHtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goRGFzaGJvYXJkQWN0aW9ucy5yZXF1ZXN0QWxsUm91dGVzKCkpO1xuICAgICAgdGhpcy5vdmVybGF5UmVmRGlyZWN0U2F2ZVR5cGUgPSB0aGlzLm92ZXJsYXkuY3JlYXRlKFxuICAgICAgICBuZXcgT3ZlcmxheUNvbmZpZyh7XG4gICAgICAgICAgaGFzQmFja2Ryb3A6IHRydWUsXG4gICAgICAgICAgcGFuZWxDbGFzczogWydvLW1vZGFsLXdyYXBwZXInXSxcbiAgICAgICAgICBiYWNrZHJvcENsYXNzOiAnYmFja2Ryb3AnXG4gICAgICAgIH0pXG4gICAgICApO1xuICAgICAgdGhpcy5zdG9yZS5kaXNwYXRjaChDb25maWdBY3Rpb25zLmFkZGluZ092ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMub3ZlcmxheVJlZkRpcmVjdFNhdmVUeXBlLmJhY2tkcm9wQ2xpY2soKS5zdWJzY3JpYmUoKF8pID0+IHRoaXMudG9nZ2xlRGlyZWN0U2F2ZVR5cGUoKSk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZEaXJlY3RTYXZlVHlwZS5hdHRhY2gobmV3IFRlbXBsYXRlUG9ydGFsKHRoaXMudGVtcGxhdGVEaXJlY3RTYXZlVHlwZSwgdGhpcy52aWV3Q29udGFpbmVyUmVmKSk7XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgdGhpcy5maXJzdEZvY3VzZGlyZWN0aXZlPy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gICAgICB9LCAxMCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMub3ZlcmxheVJlZkRpcmVjdFNhdmVUeXBlPy5kaXNwb3NlKCk7XG4gICAgICB0aGlzLm92ZXJsYXlSZWZEaXJlY3RTYXZlVHlwZSA9IHVuZGVmaW5lZDtcbiAgICAgIHRoaXMuc3RvcmUuZGlzcGF0Y2goQ29uZmlnQWN0aW9ucy5jbG9zZU92ZXJsYXkoeyBpZDogdGhpcy5jb25zdHJ1Y3Rvci5uYW1lIH0pKTtcbiAgICAgIHRoaXMuZGlyZWN0aXZlU2F2ZT8ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgfVxuXG4gIGdldCBtdXN0T3Blbk1vZGFsKCkge1xuICAgIHJldHVybiB0aGlzLmhhc0luaXRpYWwgJiYgdGhpcy5uYlBhZ2VzICE9PSB0aGlzLmluaXRpYWxOYlBhZ2VzO1xuICB9XG5cbiAgZGlyZWN0U2F2ZSgpIHtcbiAgICBpZiAodGhpcy5tdXN0T3Blbk1vZGFsKSB7XG4gICAgICB0aGlzLnRvZ2dsZURpcmVjdFNhdmVUeXBlKCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2F2ZSgpO1xuICAgIH1cbiAgfVxuXG4gIHJlc3RvcmUoKSB7XG4gICAgdGhpcy5zdG9yZS5kaXNwYXRjaChEYXNoYm9hcmRBY3Rpb25zLnJlc3RvcmVJbml0aWFsTWFuaWZlc3QoKSk7XG4gICAgdGhpcy5jbG9zZU1vZGFscygpO1xuICB9XG5cbiAgZm9jdXNDcm9zc0VsZW1lbnQoKSB7XG4gICAgdGhpcy5jcm9zcy5uYXRpdmVFbGVtZW50LmZvY3VzKCk7XG4gIH1cblxuICBmb2N1c1ZhbGlkYXRpb24oKSB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRNYW5pZmVzdD8ubmFtZSkge1xuICAgICAgdGhpcy5jYW5jZWwubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICAgIH1cbiAgICB0aGlzLmNvbmZpcm0ubmF0aXZlRWxlbWVudC5mb2N1cygpO1xuICB9XG5cbiAgcmVuYW1lKCkge1xuICAgIHRoaXMudG9nZ2xlU2F2ZUFzKCk7XG4gIH1cblxuICBkaXNhYmxlTmV4dFN0ZXAoKSB7XG4gICAgaWYgKCF0aGlzLmN1cnJlbnRNYW5pZmVzdD8ubmFtZSkge1xuICAgICAgdGhpcy5mb2N1c0Nyb3NzRWxlbWVudCgpO1xuICAgIH1cbiAgfVxufVxuIiwiPG5nLWNvbnRhaW5lciAqcHJ5QWNjZXNzPVwieyBtb2R1bGU6ICdkYXNoYm9hcmQnLCBwYWdlOiAndG9vbGJveCcsIGFjdGlvbjogJ3NhdmUnIH1cIj5cbiAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm1vZGUgPT09ICdkaXJlY3RTYXZlJ1wiPlxuICAgIDxkaXYgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzYXZlVHlwZU9wZW5lZFwiIGFyaWEtY29udHJvbHM9XCJkaXJlY3RpdmVTYXZlXCIgYXJpYS1kZXNjcmliZWRieT1cImluZm9Ub29sdGlwX2RpcmVjdFNhdmVcIj5cbiAgICAgIEBpZiAoY2FuTW9kaWZ5JCB8IGFzeW5jKSB7XG4gICAgICAgIDxidXR0b25cbiAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAjZGlyZWN0aXZlU2F2ZVxuICAgICAgICAgIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIlxuICAgICAgICAgIChjbGljayk9XCJkaXJlY3RTYXZlKClcIlxuICAgICAgICAgIFtkaXNhYmxlZF09XCIhKGlzQ3VycmVudFByZXNlbnRhdGlvbk1vZGlmaWVkJCB8IGFzeW5jKVwiXG4gICAgICAgID5cbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiZGlzcGxheUxhYmVsc1wiPnt7ICdAcHJ5LnRvb2xib3guc2F2ZScgfCBpMThuOiB7IG5iUGFnZXMgfSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgICA8L2J1dHRvbj5cbiAgICAgIH1cbiAgICA8L2Rpdj5cbiAgPC9uZy1jb250YWluZXI+XG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJtb2RlID09PSAnc2F2ZUFzJ1wiPlxuICAgIDxkaXZcbiAgICAgIGNsYXNzPVwic2F2ZS1tYW5pZmVzdC1jb250YWluZXJcIlxuICAgICAgW2F0dHIuYXJpYS1leHBhbmRlZF09XCJzYXZlQXNPcGVuZWRcIlxuICAgICAgYXJpYS1jb250cm9scz1cInNhdmVNb2RhbFwiXG4gICAgICBhcmlhLWRlc2NyaWJlZGJ5PVwiaW5mb1Rvb2x0aXBfc2F2ZUFzXCJcbiAgICA+XG4gICAgICA8YnV0dG9uIHR5cGU9XCJidXR0b25cIiAjc2F2ZUFzIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJ0b2dnbGVTYXZlQXMoKVwiIGFyaWEtaGFzcG9wdXA9XCJkaWFsb2dcIj5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImRpc3BsYXlMYWJlbHNcIj57eyAnQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuOiB7IG5iUGFnZXMgfSB9fTwvbmctY29udGFpbmVyPlxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvbmctY29udGFpbmVyPlxuPC9uZy1jb250YWluZXI+XG48bmctdGVtcGxhdGUgI3RlbXBsYXRlU2F2ZUFzPlxuICA8ZGl2XG4gICAgY2xhc3M9XCJvLW1vZGFsXCJcbiAgICAoY2xpY2spPVwiJGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXCJcbiAgICBpZD1cInNhdmVNb2RhbFwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgYXJpYS1tb2RhbD1cInRydWVcIlxuICAgIGFyaWEtbGFiZWxsZWRieT1cImRpYWxvZ19zYXZlTW9kYWxcIlxuICAgIChrZXlkb3duLmVzY2FwZSk9XCJjbG9zZU1vZGFscygpXCJcbiAgPlxuICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BcIj5cbiAgICAgIDxkaXYgY2xhc3M9XCJvLW1vZGFsX190b3BfX3RpdGxlXCI+XG4gICAgICAgIDxoMiBjbGFzcz1cImEtaDJcIiBpZD1cImRpYWxvZ190aXRsZVwiPnt7ICdAcHJ5LnRvb2xib3gucmVuYW1lJyB8IGkxOG4gfX08L2gyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX19jbG9zZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiICNjcm9zcyAoa2V5ZG93bi5zaGlmdC50YWIpPVwiZm9jdXNWYWxpZGF0aW9uKClcIiAoY2xpY2spPVwidG9nZ2xlU2F2ZUFzKClcIj5cbiAgICAgICAgICA8cHJ5LWljb24gaWNvblN2Zz1cImNsb3NlXCIgW2hlaWdodF09XCIzNVwiIFt3aWR0aF09XCIzNVwiPjwvcHJ5LWljb24+XG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ1LXZpc3VhbGx5LWhpZGRlblwiPnt7ICdAcHJ5LnRvb2xib3guY2xvc2UnIHwgaTE4biB9fTwvc3Bhbj5cbiAgICAgICAgPC9idXR0b24+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgICA8cHJ5LXN0ZXBwZXIgI3N0ZXBwZXI+XG4gICAgICA8cHJ5LXN0ZXA+XG4gICAgICAgIDxoNCBjbGFzcz1cIm0tc3RlcHBlci1pdGVtX190aXRsZVwiICpzdGVwVGl0bGU+e3sgJ0BwcnkucHJlc2VudGF0aW9uLmFkZC5pbmZvJyB8IGkxOG4gfX08L2g0PlxuICAgICAgICA8cHJ5LXByZXNlbnRhdGlvbi1mb3JtXG4gICAgICAgICAgW3NlbGVjdGVkUHJlc2VudGF0aW9uXT1cImN1cnJlbnRNYW5pZmVzdFwiXG4gICAgICAgICAgKGZvcm1WYWx1ZSk9XCJmb3JtVmFsdWUgPSAkZXZlbnRcIlxuICAgICAgICAgIChpc0Zvcm1WYWxpZCk9XCJpc0Zvcm1WYWxpZCA9ICRldmVudFwiXG4gICAgICAgID48L3ByeS1wcmVzZW50YXRpb24tZm9ybT5cbiAgICAgICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwXCI+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1zZWNvbmRhcnlcIlxuICAgICAgICAgICAgI2NhbmNlbFxuICAgICAgICAgICAgKGNsaWNrKT1cInRvZ2dsZVNhdmVBcygpXCJcbiAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJkaXNhYmxlTmV4dFN0ZXAoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkudG9vbGJveC5tYW5pZmVzdC5jbG9zZScgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgICAgPGJ1dHRvblxuICAgICAgICAgICAgdHlwZT1cInN1Ym1pdFwiXG4gICAgICAgICAgICBjbGFzcz1cImEtYnRuIGEtYnRuLS1wcmltYXJ5XCJcbiAgICAgICAgICAgIChjbGljayk9XCJzdGVwcGVyLm5leHQoKVwiXG4gICAgICAgICAgICBbZGlzYWJsZWRdPVwiIWlzRm9ybVZhbGlkXCJcbiAgICAgICAgICAgIChrZXlkb3duLnRhYik9XCJmb2N1c0Nyb3NzRWxlbWVudCgpXCJcbiAgICAgICAgICA+XG4gICAgICAgICAgICB7eyAnQHByeS5hY3Rpb24ubmV4dCcgfCBpMThuIH19XG4gICAgICAgICAgPC9idXR0b24+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9wcnktc3RlcD5cbiAgICAgIDxwcnktc3RlcD5cbiAgICAgICAgPGg0IGNsYXNzPVwibS1zdGVwcGVyLWl0ZW1fX3RpdGxlXCIgKnN0ZXBUaXRsZT57eyAnQHByeS5yZXN0aXR1dGlvbi5zaGFyZScgfCBpMThuIH19PC9oND5cbiAgICAgICAgPHByeS1hY2Nlc3MtcmlnaHRzLXNoYXJlXG4gICAgICAgICAgWyhuZ01vZGVsKV09XCJhY2Nlc3NSaWdodHNCeUdyb3VwXCJcbiAgICAgICAgICAobmdNb2RlbENoYW5nZSk9XCJjaGFuZ2VBY2Nlc3NSaWdodHMoJGV2ZW50KVwiXG4gICAgICAgICAgW21hbmlmZXN0RGVzY3JpcHRpb25dPVwiY3VycmVudE1hbmlmZXN0XCJcbiAgICAgICAgPjwvcHJ5LWFjY2Vzcy1yaWdodHMtc2hhcmU+XG4gICAgICAgIDxkaXYgY2xhc3M9XCJtLWJ0bi1ncm91cFwiPlxuICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIGNsYXNzPVwiYS1idG4gYS1idG4tLXNlY29uZGFyeVwiIChjbGljayk9XCJzdGVwcGVyLnByZXYoKVwiPlxuICAgICAgICAgICAge3sgJ0BwcnkuYWN0aW9uLmJhY2snIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiXG4gICAgICAgICAgICAjY29uZmlybVxuICAgICAgICAgICAgKGNsaWNrKT1cInNhdmUoKVwiXG4gICAgICAgICAgICAoa2V5ZG93bi50YWIpPVwiZm9jdXNDcm9zc0VsZW1lbnQoKVwiXG4gICAgICAgICAgPlxuICAgICAgICAgICAge3sgJ0BwcnkucmVzdGl0dXRpb24uc2hhcmUnIHwgaTE4biB9fVxuICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvcHJ5LXN0ZXA+XG4gICAgPC9wcnktc3RlcHBlcj5cbiAgPC9kaXY+XG48L25nLXRlbXBsYXRlPlxuXG48bmctdGVtcGxhdGUgI3RlbXBsYXRlRGlyZWN0U2F2ZVR5cGU+XG4gIDxkaXZcbiAgICBjbGFzcz1cIm8tbW9kYWxcIlxuICAgIChjbGljayk9XCIkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKClcIlxuICAgIGlkPVwiZGlyZWN0aXZlU2F2ZVwiXG4gICAgcm9sZT1cImRpYWxvZ1wiXG4gICAgYXJpYS1sYWJlbGxlZGJ5PVwiZGlhbG9nX3RpdGxlXCJcbiAgICAoa2V5ZG93bi5lc2NhcGUpPVwiY2xvc2VNb2RhbHMoKVwiXG4gID5cbiAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wXCI+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX190aXRsZVwiPlxuICAgICAgICA8aDIgY2xhc3M9XCJhLWgyXCIgaWQ9XCJkaWFsb2dfdGl0bGVfXCI+e3sgJ0BwcnkudG9vbGJveC5zYXZlJyB8IGkxOG4gfX08L2gyPlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzPVwiby1tb2RhbF9fdG9wX19jbG9zZVwiPlxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLWljb24tb25seVwiICNmaXJzdEZvY3VzZGlyZWN0aXZlIChjbGljayk9XCJ0b2dnbGVEaXJlY3RTYXZlVHlwZSgpXCI+XG4gICAgICAgICAgPHByeS1pY29uIGljb25Tdmc9XCJjbG9zZVwiIFtoZWlnaHRdPVwiMzVcIiBbd2lkdGhdPVwiMzVcIj48L3ByeS1pY29uPlxuICAgICAgICAgIDxzcGFuIGNsYXNzPVwidS12aXN1YWxseS1oaWRkZW5cIj57eyAnQHByeS50b29sYm94LmNsb3NlJyB8IGkxOG4gfX08L3NwYW4+XG4gICAgICAgIDwvYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGRpdj5cbiAgICAgIDxoMz57eyAnQHByeS5zbmFjay5wYWdlc0NoYW5nZWQnIHwgaTE4biB9fTwvaDM+XG4gICAgPC9kaXY+XG4gICAgPGRpdiBjbGFzcz1cIm0tYnRuLWdyb3VwXCI+XG4gICAgICA8YnV0dG9uIGNsYXNzPVwiYS1idG4gYS1idG4tLXByaW1hcnlcIiAoY2xpY2spPVwic2F2ZSgpXCI+XG4gICAgICAgIHt7ICdAcHJ5LnRvb2xib3guc2F2ZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJyZW5hbWUoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94LnJlbmFtZScgfCBpMThuIH19XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxidXR0b24gY2xhc3M9XCJhLWJ0biBhLWJ0bi0tcHJpbWFyeVwiIChjbGljayk9XCJyZXN0b3JlKClcIiAoa2V5ZG93bi50YWIpPVwiY2xvc2VNb2RhbHMoKVwiPlxuICAgICAgICB7eyAnQHByeS50b29sYm94LnJlc3RvcmUnIHwgaTE4biB9fVxuICAgICAgPC9idXR0b24+XG4gICAgPC9kaXY+XG4gIDwvZGl2PlxuPC9uZy10ZW1wbGF0ZT5cbiJdfQ==