@provoly/dashboard 0.13.10 → 0.13.12

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 (92) hide show
  1. package/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.d.ts +0 -2
  2. package/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.d.ts +0 -1
  3. package/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.d.ts +0 -3
  4. package/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.d.ts +0 -2
  5. package/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.d.ts +0 -3
  6. package/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.d.ts +0 -3
  7. package/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.d.ts +0 -3
  8. package/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.d.ts +0 -2
  9. package/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.d.ts +0 -2
  10. package/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.d.ts +0 -2
  11. package/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.d.ts +0 -2
  12. package/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.d.ts +0 -2
  13. package/admin/components/association/association.component.d.ts +1 -1
  14. package/dataset/style/_o-pry-dataset-detail.scss +17 -7
  15. package/dataset/style/_o-pry-dataset.scss +8 -6
  16. package/esm2022/admin/components/admin-classes/admin-classes-customize/admin-classes-customize.component.mjs +7 -9
  17. package/esm2022/admin/components/admin-classes/admin-classes-customize/symbol/admin-classes-customize-symbol.component.mjs +3 -3
  18. package/esm2022/admin/components/admin-classes/admin-classes-customize/tooltip/admin-classes-customize-tooltip.component.mjs +3 -4
  19. package/esm2022/admin/components/admin-classes/admin-classes-select/admin-classes-select.component.mjs +3 -9
  20. package/esm2022/admin/components/admin-classes/admin-classes-view/admin-attributes-select/admin-attributes-select.component.mjs +4 -9
  21. package/esm2022/admin/components/admin-dataset/admin-select-dataset/admin-select-dataset.component.mjs +3 -9
  22. package/esm2022/admin/components/admin-environment/admin-environment-select/admin-environment-select.component.mjs +3 -9
  23. package/esm2022/admin/components/admin-fields/admin-fields-select/admin-fields-select.component.mjs +3 -9
  24. package/esm2022/admin/components/admin-metadata/admin-select-metadata/admin-select-metadata.component.mjs +3 -6
  25. package/esm2022/admin/components/admin-metadata-rules/admin-select-metadata-rules/admin-select-metadata-rules.component.mjs +3 -6
  26. package/esm2022/admin/components/admin-metadata-user/admin-user-select-metadata/admin-user-select-metadata.component.mjs +3 -6
  27. package/esm2022/admin/components/admin-predicates/admin-predicates-select/admin-predicates-select.component.mjs +3 -6
  28. package/esm2022/admin/components/admin-relation-types/admin-relation-types-select/admin-relation-types-select.component.mjs +3 -6
  29. package/esm2022/admin/components/admin-user/admin-user-select/admin-user-select.component.mjs +3 -3
  30. package/esm2022/admin/components/association/association.component.mjs +1 -1
  31. package/esm2022/components/metadata-editor/metadata-editor.component.mjs +4 -4
  32. package/esm2022/dataset/components/dataset-detail/dataset-detail.component.mjs +6 -5
  33. package/esm2022/dataset/style/css.component.mjs +2 -2
  34. package/esm2022/lib/core/components/base-toolbox/base-toolbox.component.mjs +3 -3
  35. package/esm2022/lib/core/components/tabs/tab-group.component.mjs +36 -0
  36. package/esm2022/lib/core/components/tabs/tab.component.mjs +23 -0
  37. package/esm2022/lib/core/core.module.mjs +27 -33
  38. package/esm2022/lib/core/public-api.mjs +7 -5
  39. package/esm2022/lib/dashboard/store/dashboard.actions.mjs +3 -1
  40. package/esm2022/lib/dashboard/store/dashboard.reducers.mjs +11 -2
  41. package/esm2022/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.mjs +3 -6
  42. package/esm2022/toolbox/components/toolbox.component.mjs +27 -18
  43. package/esm2022/toolbox/toolbox.model.mjs +6 -6
  44. package/esm2022/widgets/widget-map/component/widget-map.component.mjs +12 -67
  45. package/esm2022/widgets/widget-map/i18n/en.translations.mjs +1 -6
  46. package/esm2022/widgets/widget-map/i18n/fr.translations.mjs +1 -6
  47. package/esm2022/widgets/widget-map/interaction/interaction-manager.class.mjs +1 -9
  48. package/esm2022/widgets/widget-map/utils/widget-map.utils.mjs +1 -47
  49. package/fesm2022/provoly-dashboard-admin.mjs +30 -77
  50. package/fesm2022/provoly-dashboard-admin.mjs.map +1 -1
  51. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs +3 -3
  52. package/fesm2022/provoly-dashboard-components-metadata-editor.mjs.map +1 -1
  53. package/fesm2022/provoly-dashboard-dataset.mjs +7 -6
  54. package/fesm2022/provoly-dashboard-dataset.mjs.map +1 -1
  55. package/fesm2022/provoly-dashboard-supervision.mjs +2 -5
  56. package/fesm2022/provoly-dashboard-supervision.mjs.map +1 -1
  57. package/fesm2022/provoly-dashboard-toolbox.mjs +60 -51
  58. package/fesm2022/provoly-dashboard-toolbox.mjs.map +1 -1
  59. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs +15 -305
  60. package/fesm2022/provoly-dashboard-widgets-widget-map.mjs.map +1 -1
  61. package/fesm2022/provoly-dashboard.mjs +91 -36
  62. package/fesm2022/provoly-dashboard.mjs.map +1 -1
  63. package/lib/core/components/tabs/tab-group.component.d.ts +16 -0
  64. package/lib/core/components/tabs/tab.component.d.ts +10 -0
  65. package/lib/core/core.module.d.ts +22 -20
  66. package/lib/core/public-api.d.ts +6 -4
  67. package/lib/dashboard/store/dashboard.actions.d.ts +2 -0
  68. package/package.json +57 -14
  69. package/schematics/ng-add/index.js +0 -4
  70. package/schematics/ng-add/index.js.map +1 -1
  71. package/schematics/ng-update/version-0-13/index.js +9 -0
  72. package/schematics/ng-update/version-0-13/index.js.map +1 -1
  73. package/styles/components/_o-panel.scss +1 -13
  74. package/styles/components/_o-tabs.scss +40 -56
  75. package/supervision/components/supervision-integration-errors/supervision-integration-errors-select/supervision-integration-errors-select.component.d.ts +0 -2
  76. package/toolbox/components/toolbox.component.d.ts +4 -2
  77. package/toolbox/toolbox.model.d.ts +1 -1
  78. package/widgets/widget-map/component/widget-map.component.d.ts +4 -6
  79. package/widgets/widget-map/i18n/en.translations.d.ts +0 -5
  80. package/widgets/widget-map/i18n/fr.translations.d.ts +0 -5
  81. package/widgets/widget-map/interaction/interaction-manager.class.d.ts +0 -2
  82. package/widgets/widget-map/utils/widget-map.utils.d.ts +0 -2
  83. package/esm2022/widgets/widget-map/reader/kmz-zip-reader.class.mjs +0 -57
  84. package/esm2022/widgets/widget-map/reader/map-formats-reader.class.mjs +0 -37
  85. package/esm2022/widgets/widget-map/reader/random-color-style.function.mjs +0 -32
  86. package/esm2022/widgets/widget-map/reader/read-as-text.class.mjs +0 -30
  87. package/esm2022/widgets/widget-map/reader/shp-zip-reader.class.mjs +0 -35
  88. package/widgets/widget-map/reader/kmz-zip-reader.class.d.ts +0 -12
  89. package/widgets/widget-map/reader/map-formats-reader.class.d.ts +0 -15
  90. package/widgets/widget-map/reader/random-color-style.function.d.ts +0 -6
  91. package/widgets/widget-map/reader/read-as-text.class.d.ts +0 -10
  92. package/widgets/widget-map/reader/shp-zip-reader.class.d.ts +0 -10
@@ -56,10 +56,6 @@ export const enTranslations = {
56
56
  intensityAttribute: 'Intensity property',
57
57
  classes: 'Classes displayed in layer',
58
58
  relations: 'Display links',
59
- importStart: 'Import file {{filename}}...',
60
- importOk: 'File {{filename}} imported.',
61
- importError: 'Cannot read format with extension {{extension}}. Authorized types are {{authorizedFormats}}',
62
- importNotFoundInZip: 'No file {{extension}} found in archive.',
63
59
  clustered: 'Clustered',
64
60
  clusterDistance: 'Cluster distance',
65
61
  opacity: 'Opacity',
@@ -73,7 +69,6 @@ export const enTranslations = {
73
69
  click: 'Click selection',
74
70
  zoom: 'Zoom selection',
75
71
  export: 'Export map',
76
- import: 'Import layer',
77
72
  legend: 'Legend of layer {{layer}}',
78
73
  legendNotProvided: 'Legend not provided by server',
79
74
  selectLayers: 'Select layers',
@@ -83,4 +78,4 @@ export const enTranslations = {
83
78
  }
84
79
  }
85
80
  };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL2kxOG4vZW4udHJhbnNsYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUU7WUFDTixHQUFHLEVBQUU7Z0JBQ0gsV0FBVyxFQUFFLGVBQWU7Z0JBQzVCLFlBQVksRUFBRSxpQkFBaUI7Z0JBQy9CLEtBQUssRUFBRSxXQUFXO2dCQUNsQixPQUFPLEVBQUUsV0FBVztnQkFDcEIsWUFBWSxFQUFFLGdCQUFnQjtnQkFDOUIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLFlBQVksRUFBRSxlQUFlO2dCQUM3QixVQUFVLEVBQUUsYUFBYTtnQkFDekIsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRSxNQUFNO29CQUNiLE9BQU8sRUFBRSxTQUFTO29CQUNsQixNQUFNLEVBQUUsYUFBYTtvQkFDckIsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLE1BQU0sRUFBRSxhQUFhO29CQUNyQixPQUFPLEVBQUUsWUFBWTtvQkFDckIsR0FBRyxFQUFFLFNBQVM7b0JBQ2QsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFlBQVksRUFBRSxlQUFlO29CQUM3QixVQUFVLEVBQUUsYUFBYTtvQkFDekIsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLEtBQUssRUFBRSxRQUFRO29CQUNmLElBQUksRUFBRSxPQUFPO29CQUNiLFNBQVMsRUFBRSxxQkFBcUI7b0JBQ2hDLFlBQVksRUFBRSxhQUFhO29CQUMzQixlQUFlLEVBQUUsZ0JBQWdCO2lCQUNsQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLE9BQU87b0JBQ2QsS0FBSyxFQUFFLE9BQU87b0JBQ2QsS0FBSyxFQUFFLGtCQUFrQjtpQkFDMUI7Z0JBQ0QsSUFBSSxFQUFFLG9CQUFvQjtnQkFDMUIsWUFBWSxFQUFFLG1CQUFtQjtnQkFDakMsVUFBVSxFQUFFLG9CQUFvQjtnQkFDaEMsR0FBRyxFQUFFO29CQUNILEdBQUcsRUFBRSxhQUFhO29CQUNsQixVQUFVLEVBQUUsaUJBQWlCO29CQUM3QixVQUFVLEVBQUUsT0FBTztvQkFDbkIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsU0FBUyxFQUFFLFdBQVc7aUJBQ3ZCO2dCQUNELFdBQVcsRUFBRSxjQUFjO2dCQUMzQixhQUFhLEVBQUUsb0NBQW9DO2dCQUNuRCxpQkFBaUIsRUFBRTtvQkFDakIsSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsR0FBRyxFQUFFLG1CQUFtQjtvQkFDeEIsR0FBRyxFQUFFLG9CQUFvQjtpQkFDMUI7Z0JBQ0Qsa0JBQWtCLEVBQUUsb0JBQW9CO2dCQUN4QyxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxTQUFTLEVBQUUsZUFBZTtnQkFDMUIsV0FBVyxFQUFFLDZCQUE2QjtnQkFDMUMsUUFBUSxFQUFFLDZCQUE2QjtnQkFDdkMsV0FBVyxFQUFFLDZGQUE2RjtnQkFDMUcsbUJBQW1CLEVBQUUseUNBQXlDO2dCQUM5RCxTQUFTLEVBQUUsV0FBVztnQkFDdEIsZUFBZSxFQUFFLGtCQUFrQjtnQkFDbkMsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixJQUFJLEVBQUUsV0FBVztnQkFDakIsS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsU0FBUyxFQUFFLHFCQUFxQjtnQkFDaEMsS0FBSyxFQUFFLGlCQUFpQjtnQkFDeEIsSUFBSSxFQUFFLGdCQUFnQjtnQkFDdEIsTUFBTSxFQUFFLFlBQVk7Z0JBQ3BCLE1BQU0sRUFBRSxjQUFjO2dCQUN0QixNQUFNLEVBQUUsMkJBQTJCO2dCQUNuQyxpQkFBaUIsRUFBRSwrQkFBK0I7Z0JBQ2xELFlBQVksRUFBRSxlQUFlO2dCQUM3QixPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixXQUFXLEVBQUUsbUJBQW1CO2FBQ2pDO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHdpZGdldDoge1xuICAgICAgbWFwOiB7XG4gICAgICAgIGF0dHJpYnV0aW9uOiAnTGF5ZXIgY3JlZGl0cycsXG4gICAgICAgIGF0dHJpYnV0aW9uczogJ0Rpc3BsYXkgY3JlZGl0cycsXG4gICAgICAgIHN0eWxlOiAnTWFwIHN0eWxlJyxcbiAgICAgICAgbm9TdHlsZTogJ0VtcHR5IG1hcCcsXG4gICAgICAgIHN0eWxlRnJvbVVybDogJ1N0eWxlIGZyb20gVVJMJyxcbiAgICAgICAgc3R5bGVVcmw6ICdVUkwnLFxuICAgICAgICBmaXQ6ICdGaXQgZGF0YScsXG4gICAgICAgIGFkZExheWVyOiAnQWRkIGxheWVyJyxcbiAgICAgICAgbGF5ZXI6ICdMYXllciBuwrB7e2luZGV4fX0nLFxuICAgICAgICBsYXllck9wdGlvbnM6ICdMYXllciBvcHRpb25zJyxcbiAgICAgICAgbGF5ZXJUaXRsZTogJ0xheWVyIExhYmVsJyxcbiAgICAgICAgbGF5ZXJUeXBlOiB7XG4gICAgICAgICAgdGl0bGU6ICdUeXBlJyxcbiAgICAgICAgICBoZWF0bWFwOiAnSGVhdG1hcCcsXG4gICAgICAgICAgYnViYmxlOiAnQnViYmxlcyBtYXAnLFxuICAgICAgICAgIHJlbGF0aW9uOiAnTGlua3MnLFxuICAgICAgICAgIG1hcmtlcjogJ01hcmtlcnMgbWFwJyxcbiAgICAgICAgICBwb2x5Z29uOiAnU2hhcGVzIG1hcCcsXG4gICAgICAgICAgd21zOiAnV01TIEFQSScsXG4gICAgICAgICAgd210czogJ1dNVFMgQVBJJyxcbiAgICAgICAgICBmZWF0dXJlbGF5ZXI6ICdGZWF0dXJlIGxheWVyJyxcbiAgICAgICAgICB2ZWN0b3J0aWxlOiAnVmVjdG9yIHRpbGUnLFxuICAgICAgICAgIHJhc3RlcnRpbGU6ICdSYXN0ZXIgdGlsZScsXG4gICAgICAgICAgcG9pbnQ6ICdQb2ludHMnLFxuICAgICAgICAgIGxpbmU6ICdMaW5lcycsXG4gICAgICAgICAgZ2Vvc2VydmVyOiAnR2Vvc2VydmVyICh7e2tleX19KScsXG4gICAgICAgICAgJ211bHRpLWxpbmUnOiAnTXVsdGktbGluZXMnLFxuICAgICAgICAgICdtdWx0aS1wb2x5Z29uJzogJ011bHRpLXBvbHlnb25zJ1xuICAgICAgICB9LFxuICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgaG92ZXI6ICdIb3ZlcicsXG4gICAgICAgICAgY2xpY2s6ICdDbGljaycsXG4gICAgICAgICAgdGl0bGU6ICdPcGVuaW5nIHRvb2x0aXBzJ1xuICAgICAgICB9LFxuICAgICAgICB0aWxlOiAnVGlsZSBsYXllciBvcHRpb25zJyxcbiAgICAgICAgbG9jYXRpb25BdHRyOiAnUGxhY2VtZW50IG9wdGlvbnMnLFxuICAgICAgICBjbHVzdGVyaW5nOiAnQ2x1c3RlcmluZyBvcHRpb25zJyxcbiAgICAgICAgd21zOiB7XG4gICAgICAgICAgdXJsOiAnU2VydmljZSBVcmwnLFxuICAgICAgICAgIHBhcmFtTGF5ZXI6ICdEYXRhIGlkZW50aWZpZXInLFxuICAgICAgICAgIHBhcmFtVGlsZWQ6ICdUaWxlZCcsXG4gICAgICAgICAgc3R5bGU6ICdTdHlsZScsXG4gICAgICAgICAgbWF0cml4U2V0OiAnbWF0cml4U2V0J1xuICAgICAgICB9LFxuICAgICAgICBkZWxldGVMYXllcjogJ0RlbGV0ZSBsYXllcicsXG4gICAgICAgIGxvY2F0aW9uQXJyYXk6ICdMYXQgYW5kIExuZyBpbiBzZXBhcmF0ZSBwcm9wZXJ0aWVzJyxcbiAgICAgICAgbG9jYXRpb25BdHRyaWJ1dGU6IHtcbiAgICAgICAgICBib3RoOiAnTG9jYXRpb24gcHJvcGVydHknLFxuICAgICAgICAgIGxhdDogJ0xhdGl0dWRlIHByb3BlcnR5JyxcbiAgICAgICAgICBsbmc6ICdMb25naXR1ZGUgcHJvcGVydHknXG4gICAgICAgIH0sXG4gICAgICAgIGludGVuc2l0eUF0dHJpYnV0ZTogJ0ludGVuc2l0eSBwcm9wZXJ0eScsXG4gICAgICAgIGNsYXNzZXM6ICdDbGFzc2VzIGRpc3BsYXllZCBpbiBsYXllcicsXG4gICAgICAgIHJlbGF0aW9uczogJ0Rpc3BsYXkgbGlua3MnLFxuICAgICAgICBpbXBvcnRTdGFydDogJ0ltcG9ydCBmaWxlIHt7ZmlsZW5hbWV9fS4uLicsXG4gICAgICAgIGltcG9ydE9rOiAnRmlsZSB7e2ZpbGVuYW1lfX0gaW1wb3J0ZWQuJyxcbiAgICAgICAgaW1wb3J0RXJyb3I6ICdDYW5ub3QgcmVhZCBmb3JtYXQgd2l0aCBleHRlbnNpb24ge3tleHRlbnNpb259fS4gQXV0aG9yaXplZCB0eXBlcyBhcmUge3thdXRob3JpemVkRm9ybWF0c319JyxcbiAgICAgICAgaW1wb3J0Tm90Rm91bmRJblppcDogJ05vIGZpbGUge3tleHRlbnNpb259fSBmb3VuZCBpbiBhcmNoaXZlLicsXG4gICAgICAgIGNsdXN0ZXJlZDogJ0NsdXN0ZXJlZCcsXG4gICAgICAgIGNsdXN0ZXJEaXN0YW5jZTogJ0NsdXN0ZXIgZGlzdGFuY2UnLFxuICAgICAgICBvcGFjaXR5OiAnT3BhY2l0eScsXG4gICAgICAgIGFkZHJlc3M6ICdBZGRyZXNzJyxcbiAgICAgICAgYWRkcmVzc0Nvb3JkczogJ0Nvb3JkaW5hdGVzJyxcbiAgICAgICAgYWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgaW5hY3RpdmU6ICdJbmFjdGl2ZScsXG4gICAgICAgIG1vdmU6ICdNb3ZlIG1vZGUnLFxuICAgICAgICBsYXNzbzogJ0xhc3NvIHNlbGVjdGlvbicsXG4gICAgICAgIHJlY3RhbmdsZTogJ1JlY3RhbmdsZSBzZWxlY3Rpb24nLFxuICAgICAgICBjbGljazogJ0NsaWNrIHNlbGVjdGlvbicsXG4gICAgICAgIHpvb206ICdab29tIHNlbGVjdGlvbicsXG4gICAgICAgIGV4cG9ydDogJ0V4cG9ydCBtYXAnLFxuICAgICAgICBpbXBvcnQ6ICdJbXBvcnQgbGF5ZXInLFxuICAgICAgICBsZWdlbmQ6ICdMZWdlbmQgb2YgbGF5ZXIge3tsYXllcn19JyxcbiAgICAgICAgbGVnZW5kTm90UHJvdmlkZWQ6ICdMZWdlbmQgbm90IHByb3ZpZGVkIGJ5IHNlcnZlcicsXG4gICAgICAgIHNlbGVjdExheWVyczogJ1NlbGVjdCBsYXllcnMnLFxuICAgICAgICBsZWdlbmRzOiAnRGlzcGxheSBsZWdlbmQnLFxuICAgICAgICBzaW5nbGVMYXllcjogJ1NpbmdsZSBsYXllciBtb2RlJ1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW4udHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL2kxOG4vZW4udHJhbnNsYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUU7WUFDTixHQUFHLEVBQUU7Z0JBQ0gsV0FBVyxFQUFFLGVBQWU7Z0JBQzVCLFlBQVksRUFBRSxpQkFBaUI7Z0JBQy9CLEtBQUssRUFBRSxXQUFXO2dCQUNsQixPQUFPLEVBQUUsV0FBVztnQkFDcEIsWUFBWSxFQUFFLGdCQUFnQjtnQkFDOUIsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsR0FBRyxFQUFFLFVBQVU7Z0JBQ2YsUUFBUSxFQUFFLFdBQVc7Z0JBQ3JCLEtBQUssRUFBRSxtQkFBbUI7Z0JBQzFCLFlBQVksRUFBRSxlQUFlO2dCQUM3QixVQUFVLEVBQUUsYUFBYTtnQkFDekIsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRSxNQUFNO29CQUNiLE9BQU8sRUFBRSxTQUFTO29CQUNsQixNQUFNLEVBQUUsYUFBYTtvQkFDckIsUUFBUSxFQUFFLE9BQU87b0JBQ2pCLE1BQU0sRUFBRSxhQUFhO29CQUNyQixPQUFPLEVBQUUsWUFBWTtvQkFDckIsR0FBRyxFQUFFLFNBQVM7b0JBQ2QsSUFBSSxFQUFFLFVBQVU7b0JBQ2hCLFlBQVksRUFBRSxlQUFlO29CQUM3QixVQUFVLEVBQUUsYUFBYTtvQkFDekIsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLEtBQUssRUFBRSxRQUFRO29CQUNmLElBQUksRUFBRSxPQUFPO29CQUNiLFNBQVMsRUFBRSxxQkFBcUI7b0JBQ2hDLFlBQVksRUFBRSxhQUFhO29CQUMzQixlQUFlLEVBQUUsZ0JBQWdCO2lCQUNsQztnQkFDRCxPQUFPLEVBQUU7b0JBQ1AsS0FBSyxFQUFFLE9BQU87b0JBQ2QsS0FBSyxFQUFFLE9BQU87b0JBQ2QsS0FBSyxFQUFFLGtCQUFrQjtpQkFDMUI7Z0JBQ0QsSUFBSSxFQUFFLG9CQUFvQjtnQkFDMUIsWUFBWSxFQUFFLG1CQUFtQjtnQkFDakMsVUFBVSxFQUFFLG9CQUFvQjtnQkFDaEMsR0FBRyxFQUFFO29CQUNILEdBQUcsRUFBRSxhQUFhO29CQUNsQixVQUFVLEVBQUUsaUJBQWlCO29CQUM3QixVQUFVLEVBQUUsT0FBTztvQkFDbkIsS0FBSyxFQUFFLE9BQU87b0JBQ2QsU0FBUyxFQUFFLFdBQVc7aUJBQ3ZCO2dCQUNELFdBQVcsRUFBRSxjQUFjO2dCQUMzQixhQUFhLEVBQUUsb0NBQW9DO2dCQUNuRCxpQkFBaUIsRUFBRTtvQkFDakIsSUFBSSxFQUFFLG1CQUFtQjtvQkFDekIsR0FBRyxFQUFFLG1CQUFtQjtvQkFDeEIsR0FBRyxFQUFFLG9CQUFvQjtpQkFDMUI7Z0JBQ0Qsa0JBQWtCLEVBQUUsb0JBQW9CO2dCQUN4QyxPQUFPLEVBQUUsNEJBQTRCO2dCQUNyQyxTQUFTLEVBQUUsZUFBZTtnQkFDMUIsU0FBUyxFQUFFLFdBQVc7Z0JBQ3RCLGVBQWUsRUFBRSxrQkFBa0I7Z0JBQ25DLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsSUFBSSxFQUFFLFdBQVc7Z0JBQ2pCLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLFNBQVMsRUFBRSxxQkFBcUI7Z0JBQ2hDLEtBQUssRUFBRSxpQkFBaUI7Z0JBQ3hCLElBQUksRUFBRSxnQkFBZ0I7Z0JBQ3RCLE1BQU0sRUFBRSxZQUFZO2dCQUNwQixNQUFNLEVBQUUsMkJBQTJCO2dCQUNuQyxpQkFBaUIsRUFBRSwrQkFBK0I7Z0JBQ2xELFlBQVksRUFBRSxlQUFlO2dCQUM3QixPQUFPLEVBQUUsZ0JBQWdCO2dCQUN6QixXQUFXLEVBQUUsbUJBQW1CO2FBQ2pDO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZW5UcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHdpZGdldDoge1xuICAgICAgbWFwOiB7XG4gICAgICAgIGF0dHJpYnV0aW9uOiAnTGF5ZXIgY3JlZGl0cycsXG4gICAgICAgIGF0dHJpYnV0aW9uczogJ0Rpc3BsYXkgY3JlZGl0cycsXG4gICAgICAgIHN0eWxlOiAnTWFwIHN0eWxlJyxcbiAgICAgICAgbm9TdHlsZTogJ0VtcHR5IG1hcCcsXG4gICAgICAgIHN0eWxlRnJvbVVybDogJ1N0eWxlIGZyb20gVVJMJyxcbiAgICAgICAgc3R5bGVVcmw6ICdVUkwnLFxuICAgICAgICBmaXQ6ICdGaXQgZGF0YScsXG4gICAgICAgIGFkZExheWVyOiAnQWRkIGxheWVyJyxcbiAgICAgICAgbGF5ZXI6ICdMYXllciBuwrB7e2luZGV4fX0nLFxuICAgICAgICBsYXllck9wdGlvbnM6ICdMYXllciBvcHRpb25zJyxcbiAgICAgICAgbGF5ZXJUaXRsZTogJ0xheWVyIExhYmVsJyxcbiAgICAgICAgbGF5ZXJUeXBlOiB7XG4gICAgICAgICAgdGl0bGU6ICdUeXBlJyxcbiAgICAgICAgICBoZWF0bWFwOiAnSGVhdG1hcCcsXG4gICAgICAgICAgYnViYmxlOiAnQnViYmxlcyBtYXAnLFxuICAgICAgICAgIHJlbGF0aW9uOiAnTGlua3MnLFxuICAgICAgICAgIG1hcmtlcjogJ01hcmtlcnMgbWFwJyxcbiAgICAgICAgICBwb2x5Z29uOiAnU2hhcGVzIG1hcCcsXG4gICAgICAgICAgd21zOiAnV01TIEFQSScsXG4gICAgICAgICAgd210czogJ1dNVFMgQVBJJyxcbiAgICAgICAgICBmZWF0dXJlbGF5ZXI6ICdGZWF0dXJlIGxheWVyJyxcbiAgICAgICAgICB2ZWN0b3J0aWxlOiAnVmVjdG9yIHRpbGUnLFxuICAgICAgICAgIHJhc3RlcnRpbGU6ICdSYXN0ZXIgdGlsZScsXG4gICAgICAgICAgcG9pbnQ6ICdQb2ludHMnLFxuICAgICAgICAgIGxpbmU6ICdMaW5lcycsXG4gICAgICAgICAgZ2Vvc2VydmVyOiAnR2Vvc2VydmVyICh7e2tleX19KScsXG4gICAgICAgICAgJ211bHRpLWxpbmUnOiAnTXVsdGktbGluZXMnLFxuICAgICAgICAgICdtdWx0aS1wb2x5Z29uJzogJ011bHRpLXBvbHlnb25zJ1xuICAgICAgICB9LFxuICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgaG92ZXI6ICdIb3ZlcicsXG4gICAgICAgICAgY2xpY2s6ICdDbGljaycsXG4gICAgICAgICAgdGl0bGU6ICdPcGVuaW5nIHRvb2x0aXBzJ1xuICAgICAgICB9LFxuICAgICAgICB0aWxlOiAnVGlsZSBsYXllciBvcHRpb25zJyxcbiAgICAgICAgbG9jYXRpb25BdHRyOiAnUGxhY2VtZW50IG9wdGlvbnMnLFxuICAgICAgICBjbHVzdGVyaW5nOiAnQ2x1c3RlcmluZyBvcHRpb25zJyxcbiAgICAgICAgd21zOiB7XG4gICAgICAgICAgdXJsOiAnU2VydmljZSBVcmwnLFxuICAgICAgICAgIHBhcmFtTGF5ZXI6ICdEYXRhIGlkZW50aWZpZXInLFxuICAgICAgICAgIHBhcmFtVGlsZWQ6ICdUaWxlZCcsXG4gICAgICAgICAgc3R5bGU6ICdTdHlsZScsXG4gICAgICAgICAgbWF0cml4U2V0OiAnbWF0cml4U2V0J1xuICAgICAgICB9LFxuICAgICAgICBkZWxldGVMYXllcjogJ0RlbGV0ZSBsYXllcicsXG4gICAgICAgIGxvY2F0aW9uQXJyYXk6ICdMYXQgYW5kIExuZyBpbiBzZXBhcmF0ZSBwcm9wZXJ0aWVzJyxcbiAgICAgICAgbG9jYXRpb25BdHRyaWJ1dGU6IHtcbiAgICAgICAgICBib3RoOiAnTG9jYXRpb24gcHJvcGVydHknLFxuICAgICAgICAgIGxhdDogJ0xhdGl0dWRlIHByb3BlcnR5JyxcbiAgICAgICAgICBsbmc6ICdMb25naXR1ZGUgcHJvcGVydHknXG4gICAgICAgIH0sXG4gICAgICAgIGludGVuc2l0eUF0dHJpYnV0ZTogJ0ludGVuc2l0eSBwcm9wZXJ0eScsXG4gICAgICAgIGNsYXNzZXM6ICdDbGFzc2VzIGRpc3BsYXllZCBpbiBsYXllcicsXG4gICAgICAgIHJlbGF0aW9uczogJ0Rpc3BsYXkgbGlua3MnLFxuICAgICAgICBjbHVzdGVyZWQ6ICdDbHVzdGVyZWQnLFxuICAgICAgICBjbHVzdGVyRGlzdGFuY2U6ICdDbHVzdGVyIGRpc3RhbmNlJyxcbiAgICAgICAgb3BhY2l0eTogJ09wYWNpdHknLFxuICAgICAgICBhZGRyZXNzOiAnQWRkcmVzcycsXG4gICAgICAgIGFkZHJlc3NDb29yZHM6ICdDb29yZGluYXRlcycsXG4gICAgICAgIGFjdGl2ZTogJ0FjdGl2ZScsXG4gICAgICAgIGluYWN0aXZlOiAnSW5hY3RpdmUnLFxuICAgICAgICBtb3ZlOiAnTW92ZSBtb2RlJyxcbiAgICAgICAgbGFzc286ICdMYXNzbyBzZWxlY3Rpb24nLFxuICAgICAgICByZWN0YW5nbGU6ICdSZWN0YW5nbGUgc2VsZWN0aW9uJyxcbiAgICAgICAgY2xpY2s6ICdDbGljayBzZWxlY3Rpb24nLFxuICAgICAgICB6b29tOiAnWm9vbSBzZWxlY3Rpb24nLFxuICAgICAgICBleHBvcnQ6ICdFeHBvcnQgbWFwJyxcbiAgICAgICAgbGVnZW5kOiAnTGVnZW5kIG9mIGxheWVyIHt7bGF5ZXJ9fScsXG4gICAgICAgIGxlZ2VuZE5vdFByb3ZpZGVkOiAnTGVnZW5kIG5vdCBwcm92aWRlZCBieSBzZXJ2ZXInLFxuICAgICAgICBzZWxlY3RMYXllcnM6ICdTZWxlY3QgbGF5ZXJzJyxcbiAgICAgICAgbGVnZW5kczogJ0Rpc3BsYXkgbGVnZW5kJyxcbiAgICAgICAgc2luZ2xlTGF5ZXI6ICdTaW5nbGUgbGF5ZXIgbW9kZSdcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG4iXX0=
@@ -56,10 +56,6 @@ export const frTranslations = {
56
56
  intensityAttribute: "Propriété de l'intensité",
57
57
  classes: 'Classes affichées dans cette couche',
58
58
  relations: 'Afficher les relations',
59
- importStart: 'Importation du fichier {{filename}}...',
60
- importOk: 'Fichier {{filename}} importé.',
61
- importError: "L'extension {{extension}} n'est pas reconnue. Vous pouvez utiliser: {{authorizedFormats}}.",
62
- importNotFoundInZip: "Aucun fichier {{extension}} trouvé dans l'archive.",
63
59
  clustered: 'Regroupement',
64
60
  clusterDistance: 'Distance de regroupement',
65
61
  opacity: 'Opacité',
@@ -73,7 +69,6 @@ export const frTranslations = {
73
69
  click: 'Sélectionner par clic',
74
70
  zoom: 'Zoom par rectangle',
75
71
  export: 'Exporter la carte',
76
- import: 'Importer une couche',
77
72
  legend: 'Légende de la couche {{layer}}',
78
73
  legendNotProvided: 'Légende non fournie par le serveur',
79
74
  selectLayers: 'Sélectionner les couches',
@@ -83,4 +78,4 @@ export const frTranslations = {
83
78
  }
84
79
  }
85
80
  };
86
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL2kxOG4vZnIudHJhbnNsYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUU7WUFDTixHQUFHLEVBQUU7Z0JBQ0gsV0FBVyxFQUFFLHlCQUF5QjtnQkFDdEMsWUFBWSxFQUFFLHNCQUFzQjtnQkFDcEMsS0FBSyxFQUFFLHdCQUF3QjtnQkFDL0IsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsWUFBWSxFQUFFLDhCQUE4QjtnQkFDNUMsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsR0FBRyxFQUFFLCtCQUErQjtnQkFDcEMsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsS0FBSyxFQUFFLG9CQUFvQjtnQkFDM0IsWUFBWSxFQUFFLHNCQUFzQjtnQkFDcEMsVUFBVSxFQUFFLHNCQUFzQjtnQkFDbEMsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRSxNQUFNO29CQUNiLE9BQU8sRUFBRSxTQUFTO29CQUNsQixRQUFRLEVBQUUsV0FBVztvQkFDckIsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLE1BQU0sRUFBRSxXQUFXO29CQUNuQixPQUFPLEVBQUUsUUFBUTtvQkFDakIsR0FBRyxFQUFFLGFBQWE7b0JBQ2xCLElBQUksRUFBRSxjQUFjO29CQUNwQixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLFVBQVUsRUFBRSxhQUFhO29CQUN6QixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsUUFBUTtvQkFDZCxTQUFTLEVBQUUscUJBQXFCO29CQUNoQyxZQUFZLEVBQUUsY0FBYztvQkFDNUIsZUFBZSxFQUFFLGdCQUFnQjtpQkFDbEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxRQUFRO29CQUNmLEtBQUssRUFBRSxNQUFNO29CQUNiLEtBQUssRUFBRSx3QkFBd0I7aUJBQ2hDO2dCQUNELElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLFlBQVksRUFBRSwyQkFBMkI7Z0JBQ3pDLFVBQVUsRUFBRSx5QkFBeUI7Z0JBQ3JDLEdBQUcsRUFBRTtvQkFDSCxHQUFHLEVBQUUsZ0JBQWdCO29CQUNyQixVQUFVLEVBQUUseUJBQXlCO29CQUNyQyxVQUFVLEVBQUUsc0JBQXNCO29CQUNsQyxLQUFLLEVBQUUsT0FBTztvQkFDZCxTQUFTLEVBQUUsV0FBVztpQkFDdkI7Z0JBQ0QsV0FBVyxFQUFFLHFCQUFxQjtnQkFDbEMsYUFBYSxFQUFFLGdDQUFnQztnQkFDL0MsaUJBQWlCLEVBQUU7b0JBQ2pCLElBQUksRUFBRSwyQkFBMkI7b0JBQ2pDLEdBQUcsRUFBRSwwQkFBMEI7b0JBQy9CLEdBQUcsRUFBRSwyQkFBMkI7aUJBQ2pDO2dCQUNELGtCQUFrQixFQUFFLDBCQUEwQjtnQkFDOUMsT0FBTyxFQUFFLHFDQUFxQztnQkFDOUMsU0FBUyxFQUFFLHdCQUF3QjtnQkFDbkMsV0FBVyxFQUFFLHdDQUF3QztnQkFDckQsUUFBUSxFQUFFLCtCQUErQjtnQkFDekMsV0FBVyxFQUFFLDRGQUE0RjtnQkFDekcsbUJBQW1CLEVBQUUsb0RBQW9EO2dCQUN6RSxTQUFTLEVBQUUsY0FBYztnQkFDekIsZUFBZSxFQUFFLDBCQUEwQjtnQkFDM0MsT0FBTyxFQUFFLFNBQVM7Z0JBQ2xCLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixhQUFhLEVBQUUsYUFBYTtnQkFDNUIsTUFBTSxFQUFFLFFBQVE7Z0JBQ2hCLFFBQVEsRUFBRSxVQUFVO2dCQUNwQixJQUFJLEVBQUUsa0JBQWtCO2dCQUN4QixLQUFLLEVBQUUscUJBQXFCO2dCQUM1QixTQUFTLEVBQUUseUJBQXlCO2dCQUNwQyxLQUFLLEVBQUUsdUJBQXVCO2dCQUM5QixJQUFJLEVBQUUsb0JBQW9CO2dCQUMxQixNQUFNLEVBQUUsbUJBQW1CO2dCQUMzQixNQUFNLEVBQUUscUJBQXFCO2dCQUM3QixNQUFNLEVBQUUsZ0NBQWdDO2dCQUN4QyxpQkFBaUIsRUFBRSxvQ0FBb0M7Z0JBQ3ZELFlBQVksRUFBRSwwQkFBMEI7Z0JBQ3hDLE9BQU8sRUFBRSxxQkFBcUI7Z0JBQzlCLFdBQVcsRUFBRSxrQkFBa0I7YUFDaEM7U0FDRjtLQUNGO0NBQ0YsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjb25zdCBmclRyYW5zbGF0aW9ucyA9IHtcbiAgJ0BwcnknOiB7XG4gICAgd2lkZ2V0OiB7XG4gICAgICBtYXA6IHtcbiAgICAgICAgYXR0cmlidXRpb246ICdDcsOpZGl0cyBkZSBjZXR0ZSBjb3VjaGUnLFxuICAgICAgICBhdHRyaWJ1dGlvbnM6ICdBZmZpY2hlciBsZXMgY3LDqWRpdHMnLFxuICAgICAgICBzdHlsZTogJ1N0eWxlIGR1IGZvbmQgZGUgY2FydGUnLFxuICAgICAgICBub1N0eWxlOiAnQXVjdW4gZm9uZCBkZSBjYXJ0ZScsXG4gICAgICAgIHN0eWxlRnJvbVVybDogJ1N0eWxlIGRlcHVpcyB1bmUgVVJMIGFic29sdWUnLFxuICAgICAgICBzdHlsZVVybDogJ1VSTCcsXG4gICAgICAgIGZpdDogJ0FkYXB0ZXIgbGEgdGFpbGxlIGF1eCBkb25uw6llcycsXG4gICAgICAgIGFkZExheWVyOiAnQWpvdXRlciB1bmUgY291Y2hlJyxcbiAgICAgICAgbGF5ZXI6ICdDb3VjaGUgbsKwe3tpbmRleH19JyxcbiAgICAgICAgbGF5ZXJPcHRpb25zOiAnT3B0aW9ucyBkZSBsYSBjb3VjaGUnLFxuICAgICAgICBsYXllclRpdGxlOiAnTGliZWxsw6kgZGUgbGEgY291Y2hlJyxcbiAgICAgICAgbGF5ZXJUeXBlOiB7XG4gICAgICAgICAgdGl0bGU6ICdUeXBlJyxcbiAgICAgICAgICBoZWF0bWFwOiAnQ2hhbGV1cicsXG4gICAgICAgICAgcmVsYXRpb246ICdSZWxhdGlvbnMnLFxuICAgICAgICAgIGJ1YmJsZTogJ0J1bGxlcycsXG4gICAgICAgICAgbWFya2VyOiAnTWFycXVldXJzJyxcbiAgICAgICAgICBwb2x5Z29uOiAnRm9ybWVzJyxcbiAgICAgICAgICB3bXM6ICdTZXJ2aWNlIFdNUycsXG4gICAgICAgICAgd210czogJ1NlcnZpY2UgV01UUycsXG4gICAgICAgICAgZmVhdHVyZWxheWVyOiAnRmVhdHVyZSBsYXllcicsXG4gICAgICAgICAgdmVjdG9ydGlsZTogJ1ZlY3RvciB0aWxlJyxcbiAgICAgICAgICByYXN0ZXJ0aWxlOiAnUmFzdGVyIHRpbGUnLFxuICAgICAgICAgIHBvaW50OiAnUG9pbnRzJyxcbiAgICAgICAgICBsaW5lOiAnTGlnbmVzJyxcbiAgICAgICAgICBnZW9zZXJ2ZXI6ICdHZW9zZXJ2ZXIgKHt7a2V5fX0pJyxcbiAgICAgICAgICAnbXVsdGktbGluZSc6ICdNdWx0aS1saWduZXMnLFxuICAgICAgICAgICdtdWx0aS1wb2x5Z29uJzogJ011bHRpLXBvbHlnb25lJ1xuICAgICAgICB9LFxuICAgICAgICB0b29sdGlwOiB7XG4gICAgICAgICAgaG92ZXI6ICdTdXJ2b2wnLFxuICAgICAgICAgIGNsaWNrOiAnQ2xpYycsXG4gICAgICAgICAgdGl0bGU6ICdPdXZlcnR1cmUgZGVzIHRvb2x0aXBzJ1xuICAgICAgICB9LFxuICAgICAgICB0aWxlOiAnT3B0aW9uIGRlIGNvdWNoZSB0dWlsZScsXG4gICAgICAgIGxvY2F0aW9uQXR0cjogJ09wdGlvbnMgZGUgcG9zaXRpb25uZW1lbnQnLFxuICAgICAgICBjbHVzdGVyaW5nOiAnT3B0aW9ucyBkZSByZWdyb3VwZW1lbnQnLFxuICAgICAgICB3bXM6IHtcbiAgICAgICAgICB1cmw6ICdVcmwgZHUgc2VydmljZScsXG4gICAgICAgICAgcGFyYW1MYXllcjogJ0lkZW50aWZpYW50IGRlIGRvbm5uw6llcycsXG4gICAgICAgICAgcGFyYW1UaWxlZDogJ1NvdXMgZm9ybWUgZGUgdHVpbGVzJyxcbiAgICAgICAgICBzdHlsZTogJ1N0eWxlJyxcbiAgICAgICAgICBtYXRyaXhTZXQ6ICdtYXRyaXhTZXQnXG4gICAgICAgIH0sXG4gICAgICAgIGRlbGV0ZUxheWVyOiAnU3VwcHJpbWVyIGxhIGNvdWNoZScsXG4gICAgICAgIGxvY2F0aW9uQXJyYXk6ICdMYXRpdHVkZSBldCBMb25naXR1ZGUgc8OpcGFyw6llcycsXG4gICAgICAgIGxvY2F0aW9uQXR0cmlidXRlOiB7XG4gICAgICAgICAgYm90aDogJ1Byb3ByacOpdMOpIGRlcyBjb29yZG9ubsOpZXMnLFxuICAgICAgICAgIGxhdDogJ1Byb3ByacOpdMOpIGRlIGxhIGxhdGl0dWRlJyxcbiAgICAgICAgICBsbmc6ICdQcm9wcmnDqXTDqSBkZSBsYSBsb25naXR1ZGUnXG4gICAgICAgIH0sXG4gICAgICAgIGludGVuc2l0eUF0dHJpYnV0ZTogXCJQcm9wcmnDqXTDqSBkZSBsJ2ludGVuc2l0w6lcIixcbiAgICAgICAgY2xhc3NlczogJ0NsYXNzZXMgYWZmaWNow6llcyBkYW5zIGNldHRlIGNvdWNoZScsXG4gICAgICAgIHJlbGF0aW9uczogJ0FmZmljaGVyIGxlcyByZWxhdGlvbnMnLFxuICAgICAgICBpbXBvcnRTdGFydDogJ0ltcG9ydGF0aW9uIGR1IGZpY2hpZXIge3tmaWxlbmFtZX19Li4uJyxcbiAgICAgICAgaW1wb3J0T2s6ICdGaWNoaWVyIHt7ZmlsZW5hbWV9fSBpbXBvcnTDqS4nLFxuICAgICAgICBpbXBvcnRFcnJvcjogXCJMJ2V4dGVuc2lvbiB7e2V4dGVuc2lvbn19IG4nZXN0IHBhcyByZWNvbm51ZS4gVm91cyBwb3V2ZXogdXRpbGlzZXI6IHt7YXV0aG9yaXplZEZvcm1hdHN9fS5cIixcbiAgICAgICAgaW1wb3J0Tm90Rm91bmRJblppcDogXCJBdWN1biBmaWNoaWVyIHt7ZXh0ZW5zaW9ufX0gdHJvdXbDqSBkYW5zIGwnYXJjaGl2ZS5cIixcbiAgICAgICAgY2x1c3RlcmVkOiAnUmVncm91cGVtZW50JyxcbiAgICAgICAgY2x1c3RlckRpc3RhbmNlOiAnRGlzdGFuY2UgZGUgcmVncm91cGVtZW50JyxcbiAgICAgICAgb3BhY2l0eTogJ09wYWNpdMOpJyxcbiAgICAgICAgYWRkcmVzczogJ0FkcmVzc2UnLFxuICAgICAgICBhZGRyZXNzQ29vcmRzOiAnQ29vcmRvbm7DqWVzJyxcbiAgICAgICAgYWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgaW5hY3RpdmU6ICdJbmFjdGl2ZScsXG4gICAgICAgIG1vdmU6ICdNb2RlIGTDqXBsYWNlbWVudCcsXG4gICAgICAgIGxhc3NvOiAnU8OpbGVjdGlvbiBwYXIgbGFzc28nLFxuICAgICAgICByZWN0YW5nbGU6ICdTw6lsZWN0aW9uIHBhciByZWN0YW5nbGUnLFxuICAgICAgICBjbGljazogJ1PDqWxlY3Rpb25uZXIgcGFyIGNsaWMnLFxuICAgICAgICB6b29tOiAnWm9vbSBwYXIgcmVjdGFuZ2xlJyxcbiAgICAgICAgZXhwb3J0OiAnRXhwb3J0ZXIgbGEgY2FydGUnLFxuICAgICAgICBpbXBvcnQ6ICdJbXBvcnRlciB1bmUgY291Y2hlJyxcbiAgICAgICAgbGVnZW5kOiAnTMOpZ2VuZGUgZGUgbGEgY291Y2hlIHt7bGF5ZXJ9fScsXG4gICAgICAgIGxlZ2VuZE5vdFByb3ZpZGVkOiAnTMOpZ2VuZGUgbm9uIGZvdXJuaWUgcGFyIGxlIHNlcnZldXInLFxuICAgICAgICBzZWxlY3RMYXllcnM6ICdTw6lsZWN0aW9ubmVyIGxlcyBjb3VjaGVzJyxcbiAgICAgICAgbGVnZW5kczogJ0FmZmljaGVyIGxhIGzDqWdlbmRlJyxcbiAgICAgICAgc2luZ2xlTGF5ZXI6ICdNb2RlIG1vbm8tY291Y2hlJ1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcbiJdfQ==
81
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZnIudHJhbnNsYXRpb25zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvcHJvdm9seS9kYXNoYm9hcmQvd2lkZ2V0cy93aWRnZXQtbWFwL2kxOG4vZnIudHJhbnNsYXRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRztJQUM1QixNQUFNLEVBQUU7UUFDTixNQUFNLEVBQUU7WUFDTixHQUFHLEVBQUU7Z0JBQ0gsV0FBVyxFQUFFLHlCQUF5QjtnQkFDdEMsWUFBWSxFQUFFLHNCQUFzQjtnQkFDcEMsS0FBSyxFQUFFLHdCQUF3QjtnQkFDL0IsT0FBTyxFQUFFLHFCQUFxQjtnQkFDOUIsWUFBWSxFQUFFLDhCQUE4QjtnQkFDNUMsUUFBUSxFQUFFLEtBQUs7Z0JBQ2YsR0FBRyxFQUFFLCtCQUErQjtnQkFDcEMsUUFBUSxFQUFFLG9CQUFvQjtnQkFDOUIsS0FBSyxFQUFFLG9CQUFvQjtnQkFDM0IsWUFBWSxFQUFFLHNCQUFzQjtnQkFDcEMsVUFBVSxFQUFFLHNCQUFzQjtnQkFDbEMsU0FBUyxFQUFFO29CQUNULEtBQUssRUFBRSxNQUFNO29CQUNiLE9BQU8sRUFBRSxTQUFTO29CQUNsQixRQUFRLEVBQUUsV0FBVztvQkFDckIsTUFBTSxFQUFFLFFBQVE7b0JBQ2hCLE1BQU0sRUFBRSxXQUFXO29CQUNuQixPQUFPLEVBQUUsUUFBUTtvQkFDakIsR0FBRyxFQUFFLGFBQWE7b0JBQ2xCLElBQUksRUFBRSxjQUFjO29CQUNwQixZQUFZLEVBQUUsZUFBZTtvQkFDN0IsVUFBVSxFQUFFLGFBQWE7b0JBQ3pCLFVBQVUsRUFBRSxhQUFhO29CQUN6QixLQUFLLEVBQUUsUUFBUTtvQkFDZixJQUFJLEVBQUUsUUFBUTtvQkFDZCxTQUFTLEVBQUUscUJBQXFCO29CQUNoQyxZQUFZLEVBQUUsY0FBYztvQkFDNUIsZUFBZSxFQUFFLGdCQUFnQjtpQkFDbEM7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLEtBQUssRUFBRSxRQUFRO29CQUNmLEtBQUssRUFBRSxNQUFNO29CQUNiLEtBQUssRUFBRSx3QkFBd0I7aUJBQ2hDO2dCQUNELElBQUksRUFBRSx3QkFBd0I7Z0JBQzlCLFlBQVksRUFBRSwyQkFBMkI7Z0JBQ3pDLFVBQVUsRUFBRSx5QkFBeUI7Z0JBQ3JDLEdBQUcsRUFBRTtvQkFDSCxHQUFHLEVBQUUsZ0JBQWdCO29CQUNyQixVQUFVLEVBQUUseUJBQXlCO29CQUNyQyxVQUFVLEVBQUUsc0JBQXNCO29CQUNsQyxLQUFLLEVBQUUsT0FBTztvQkFDZCxTQUFTLEVBQUUsV0FBVztpQkFDdkI7Z0JBQ0QsV0FBVyxFQUFFLHFCQUFxQjtnQkFDbEMsYUFBYSxFQUFFLGdDQUFnQztnQkFDL0MsaUJBQWlCLEVBQUU7b0JBQ2pCLElBQUksRUFBRSwyQkFBMkI7b0JBQ2pDLEdBQUcsRUFBRSwwQkFBMEI7b0JBQy9CLEdBQUcsRUFBRSwyQkFBMkI7aUJBQ2pDO2dCQUNELGtCQUFrQixFQUFFLDBCQUEwQjtnQkFDOUMsT0FBTyxFQUFFLHFDQUFxQztnQkFDOUMsU0FBUyxFQUFFLHdCQUF3QjtnQkFDbkMsU0FBUyxFQUFFLGNBQWM7Z0JBQ3pCLGVBQWUsRUFBRSwwQkFBMEI7Z0JBQzNDLE9BQU8sRUFBRSxTQUFTO2dCQUNsQixPQUFPLEVBQUUsU0FBUztnQkFDbEIsYUFBYSxFQUFFLGFBQWE7Z0JBQzVCLE1BQU0sRUFBRSxRQUFRO2dCQUNoQixRQUFRLEVBQUUsVUFBVTtnQkFDcEIsSUFBSSxFQUFFLGtCQUFrQjtnQkFDeEIsS0FBSyxFQUFFLHFCQUFxQjtnQkFDNUIsU0FBUyxFQUFFLHlCQUF5QjtnQkFDcEMsS0FBSyxFQUFFLHVCQUF1QjtnQkFDOUIsSUFBSSxFQUFFLG9CQUFvQjtnQkFDMUIsTUFBTSxFQUFFLG1CQUFtQjtnQkFDM0IsTUFBTSxFQUFFLGdDQUFnQztnQkFDeEMsaUJBQWlCLEVBQUUsb0NBQW9DO2dCQUN2RCxZQUFZLEVBQUUsMEJBQTBCO2dCQUN4QyxPQUFPLEVBQUUscUJBQXFCO2dCQUM5QixXQUFXLEVBQUUsa0JBQWtCO2FBQ2hDO1NBQ0Y7S0FDRjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgZnJUcmFuc2xhdGlvbnMgPSB7XG4gICdAcHJ5Jzoge1xuICAgIHdpZGdldDoge1xuICAgICAgbWFwOiB7XG4gICAgICAgIGF0dHJpYnV0aW9uOiAnQ3LDqWRpdHMgZGUgY2V0dGUgY291Y2hlJyxcbiAgICAgICAgYXR0cmlidXRpb25zOiAnQWZmaWNoZXIgbGVzIGNyw6lkaXRzJyxcbiAgICAgICAgc3R5bGU6ICdTdHlsZSBkdSBmb25kIGRlIGNhcnRlJyxcbiAgICAgICAgbm9TdHlsZTogJ0F1Y3VuIGZvbmQgZGUgY2FydGUnLFxuICAgICAgICBzdHlsZUZyb21Vcmw6ICdTdHlsZSBkZXB1aXMgdW5lIFVSTCBhYnNvbHVlJyxcbiAgICAgICAgc3R5bGVVcmw6ICdVUkwnLFxuICAgICAgICBmaXQ6ICdBZGFwdGVyIGxhIHRhaWxsZSBhdXggZG9ubsOpZXMnLFxuICAgICAgICBhZGRMYXllcjogJ0Fqb3V0ZXIgdW5lIGNvdWNoZScsXG4gICAgICAgIGxheWVyOiAnQ291Y2hlIG7CsHt7aW5kZXh9fScsXG4gICAgICAgIGxheWVyT3B0aW9uczogJ09wdGlvbnMgZGUgbGEgY291Y2hlJyxcbiAgICAgICAgbGF5ZXJUaXRsZTogJ0xpYmVsbMOpIGRlIGxhIGNvdWNoZScsXG4gICAgICAgIGxheWVyVHlwZToge1xuICAgICAgICAgIHRpdGxlOiAnVHlwZScsXG4gICAgICAgICAgaGVhdG1hcDogJ0NoYWxldXInLFxuICAgICAgICAgIHJlbGF0aW9uOiAnUmVsYXRpb25zJyxcbiAgICAgICAgICBidWJibGU6ICdCdWxsZXMnLFxuICAgICAgICAgIG1hcmtlcjogJ01hcnF1ZXVycycsXG4gICAgICAgICAgcG9seWdvbjogJ0Zvcm1lcycsXG4gICAgICAgICAgd21zOiAnU2VydmljZSBXTVMnLFxuICAgICAgICAgIHdtdHM6ICdTZXJ2aWNlIFdNVFMnLFxuICAgICAgICAgIGZlYXR1cmVsYXllcjogJ0ZlYXR1cmUgbGF5ZXInLFxuICAgICAgICAgIHZlY3RvcnRpbGU6ICdWZWN0b3IgdGlsZScsXG4gICAgICAgICAgcmFzdGVydGlsZTogJ1Jhc3RlciB0aWxlJyxcbiAgICAgICAgICBwb2ludDogJ1BvaW50cycsXG4gICAgICAgICAgbGluZTogJ0xpZ25lcycsXG4gICAgICAgICAgZ2Vvc2VydmVyOiAnR2Vvc2VydmVyICh7e2tleX19KScsXG4gICAgICAgICAgJ211bHRpLWxpbmUnOiAnTXVsdGktbGlnbmVzJyxcbiAgICAgICAgICAnbXVsdGktcG9seWdvbic6ICdNdWx0aS1wb2x5Z29uZSdcbiAgICAgICAgfSxcbiAgICAgICAgdG9vbHRpcDoge1xuICAgICAgICAgIGhvdmVyOiAnU3Vydm9sJyxcbiAgICAgICAgICBjbGljazogJ0NsaWMnLFxuICAgICAgICAgIHRpdGxlOiAnT3V2ZXJ0dXJlIGRlcyB0b29sdGlwcydcbiAgICAgICAgfSxcbiAgICAgICAgdGlsZTogJ09wdGlvbiBkZSBjb3VjaGUgdHVpbGUnLFxuICAgICAgICBsb2NhdGlvbkF0dHI6ICdPcHRpb25zIGRlIHBvc2l0aW9ubmVtZW50JyxcbiAgICAgICAgY2x1c3RlcmluZzogJ09wdGlvbnMgZGUgcmVncm91cGVtZW50JyxcbiAgICAgICAgd21zOiB7XG4gICAgICAgICAgdXJsOiAnVXJsIGR1IHNlcnZpY2UnLFxuICAgICAgICAgIHBhcmFtTGF5ZXI6ICdJZGVudGlmaWFudCBkZSBkb25ubsOpZXMnLFxuICAgICAgICAgIHBhcmFtVGlsZWQ6ICdTb3VzIGZvcm1lIGRlIHR1aWxlcycsXG4gICAgICAgICAgc3R5bGU6ICdTdHlsZScsXG4gICAgICAgICAgbWF0cml4U2V0OiAnbWF0cml4U2V0J1xuICAgICAgICB9LFxuICAgICAgICBkZWxldGVMYXllcjogJ1N1cHByaW1lciBsYSBjb3VjaGUnLFxuICAgICAgICBsb2NhdGlvbkFycmF5OiAnTGF0aXR1ZGUgZXQgTG9uZ2l0dWRlIHPDqXBhcsOpZXMnLFxuICAgICAgICBsb2NhdGlvbkF0dHJpYnV0ZToge1xuICAgICAgICAgIGJvdGg6ICdQcm9wcmnDqXTDqSBkZXMgY29vcmRvbm7DqWVzJyxcbiAgICAgICAgICBsYXQ6ICdQcm9wcmnDqXTDqSBkZSBsYSBsYXRpdHVkZScsXG4gICAgICAgICAgbG5nOiAnUHJvcHJpw6l0w6kgZGUgbGEgbG9uZ2l0dWRlJ1xuICAgICAgICB9LFxuICAgICAgICBpbnRlbnNpdHlBdHRyaWJ1dGU6IFwiUHJvcHJpw6l0w6kgZGUgbCdpbnRlbnNpdMOpXCIsXG4gICAgICAgIGNsYXNzZXM6ICdDbGFzc2VzIGFmZmljaMOpZXMgZGFucyBjZXR0ZSBjb3VjaGUnLFxuICAgICAgICByZWxhdGlvbnM6ICdBZmZpY2hlciBsZXMgcmVsYXRpb25zJyxcbiAgICAgICAgY2x1c3RlcmVkOiAnUmVncm91cGVtZW50JyxcbiAgICAgICAgY2x1c3RlckRpc3RhbmNlOiAnRGlzdGFuY2UgZGUgcmVncm91cGVtZW50JyxcbiAgICAgICAgb3BhY2l0eTogJ09wYWNpdMOpJyxcbiAgICAgICAgYWRkcmVzczogJ0FkcmVzc2UnLFxuICAgICAgICBhZGRyZXNzQ29vcmRzOiAnQ29vcmRvbm7DqWVzJyxcbiAgICAgICAgYWN0aXZlOiAnQWN0aXZlJyxcbiAgICAgICAgaW5hY3RpdmU6ICdJbmFjdGl2ZScsXG4gICAgICAgIG1vdmU6ICdNb2RlIGTDqXBsYWNlbWVudCcsXG4gICAgICAgIGxhc3NvOiAnU8OpbGVjdGlvbiBwYXIgbGFzc28nLFxuICAgICAgICByZWN0YW5nbGU6ICdTw6lsZWN0aW9uIHBhciByZWN0YW5nbGUnLFxuICAgICAgICBjbGljazogJ1PDqWxlY3Rpb25uZXIgcGFyIGNsaWMnLFxuICAgICAgICB6b29tOiAnWm9vbSBwYXIgcmVjdGFuZ2xlJyxcbiAgICAgICAgZXhwb3J0OiAnRXhwb3J0ZXIgbGEgY2FydGUnLFxuICAgICAgICBsZWdlbmQ6ICdMw6lnZW5kZSBkZSBsYSBjb3VjaGUge3tsYXllcn19JyxcbiAgICAgICAgbGVnZW5kTm90UHJvdmlkZWQ6ICdMw6lnZW5kZSBub24gZm91cm5pZSBwYXIgbGUgc2VydmV1cicsXG4gICAgICAgIHNlbGVjdExheWVyczogJ1PDqWxlY3Rpb25uZXIgbGVzIGNvdWNoZXMnLFxuICAgICAgICBsZWdlbmRzOiAnQWZmaWNoZXIgbGEgbMOpZ2VuZGUnLFxuICAgICAgICBzaW5nbGVMYXllcjogJ01vZGUgbW9uby1jb3VjaGUnXG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuIl19
@@ -24,10 +24,6 @@ export class InteractionManager {
24
24
  e.preventDefault();
25
25
  }
26
26
  },
27
- drop: (e) => {
28
- this.component.import(e);
29
- e.preventDefault();
30
- },
31
27
  popup: (event) => {
32
28
  const values = this.component.map.getFeaturesAtPixel(event.pixel, { hitTolerance: 5 });
33
29
  const valuesToDisplay = [
@@ -53,7 +49,6 @@ export class InteractionManager {
53
49
  init(component) {
54
50
  this.component = component;
55
51
  this.addContextMenuInteraction();
56
- this.addDropInteraction();
57
52
  this.addOverlayOnInteraction();
58
53
  this.addScaleControl();
59
54
  this.addUpdateZoomAndCenter();
@@ -63,9 +58,6 @@ export class InteractionManager {
63
58
  addContextMenuInteraction() {
64
59
  this.component.map.getViewport().addEventListener('contextmenu', this.listeners.contextMenu);
65
60
  }
66
- addDropInteraction() {
67
- this.component.map.getViewport().addEventListener('drop', this.listeners.drop);
68
- }
69
61
  addOverlayOnInteraction() {
70
62
  if (!this.interactionPopupOverlay) {
71
63
  this.interactionPopupOverlay = new Overlay({
@@ -109,4 +101,4 @@ export class InteractionManager {
109
101
  });
110
102
  }
111
103
  }
112
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tbWFuYWdlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1tYW5hZ2VyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQTRCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHbkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFckUsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUdFLHlCQUFvQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQWVsRCxjQUFTLEdBQUc7WUFDVixXQUFXLEVBQUUsQ0FBQyxDQUFhLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO29CQUNqRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUM3RyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQzNCLGtCQUFrQixDQUFDLElBQUksQ0FB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LENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFO2dCQUM5QyxHQUFHLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsVUFBVSxFQUFFO2FBQy9DLENBQUM7WUFDRixJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNO2dCQUMvQixRQUFRLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUM7WUFDcEcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDMUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0TWVudUFjdGlvbnMsIFRvb2x0aXBNb2RlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcEJyb3dzZXJFdmVudCwgT3ZlcmxheSB9IGZyb20gJ29sJztcbmltcG9ydCB7IFNjYWxlTGluZSB9IGZyb20gJ29sL2NvbnRyb2wnO1xuaW1wb3J0IHsgQ2lyY2xlLCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgdG9Mb25MYXQgfSBmcm9tICdvbC9wcm9qJztcbi8vIFRoaXMgaXMgbm90IGEgY2lyY3VsYXIgZGVwZW5kZW5jeVxuaW1wb3J0IHR5cGUgeyBXaWRnZXRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQvd2lkZ2V0LW1hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0aW9uSW50ZXJhY3Rpb24gfSBmcm9tICcuL3NlbGVjdGlvbi1pbnRlcmFjdGlvbi5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvbk1hbmFnZXIge1xuICBpbnRlcmFjdGlvblBvcHVwT3ZlcmxheT86IE92ZXJsYXk7XG4gIHNjYWxlQ29udHJvbD86IFNjYWxlTGluZTtcbiAgc2VsZWN0aW9uSW50ZXJhY3Rpb24gPSBuZXcgU2VsZWN0aW9uSW50ZXJhY3Rpb24oKTtcbiAgcHVibGljIHRvb2x0aXBFdmVudD86IE1hcEJyb3dzZXJFdmVudDxNb3VzZUV2ZW50PjtcbiAgcHJpdmF0ZSBjb21wb25lbnQhOiBXaWRnZXRNYXBDb21wb25lbnQ7XG5cbiAgaW5pdChjb21wb25lbnQ6IFdpZGdldE1hcENvbXBvbmVudCkge1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICAgIHRoaXMuYWRkQ29udGV4dE1lbnVJbnRlcmFjdGlvbigpO1xuICAgIHRoaXMuYWRkRHJvcEludGVyYWN0aW9uKCk7XG4gICAgdGhpcy5hZGRPdmVybGF5T25JbnRlcmFjdGlvbigpO1xuICAgIHRoaXMuYWRkU2NhbGVDb250cm9sKCk7XG4gICAgdGhpcy5hZGRVcGRhdGVab29tQW5kQ2VudGVyKCk7XG4gICAgdGhpcy5jb21wb25lbnQubWFwLmFkZEludGVyYWN0aW9uKHRoaXMuc2VsZWN0aW9uSW50ZXJhY3Rpb24uaW5pdCh0aGlzLmNvbXBvbmVudC5zdG9yZSkpO1xuICAgIHJldHVybiB0aGlzO1xuICB9XG5cbiAgbGlzdGVuZXJzID0ge1xuICAgIGNvbnRleHRNZW51OiAoZTogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHRoaXMuY29tcG9uZW50Lm1hbmlmZXN0LmNvbnRleHRNZW51ICE9PSBmYWxzZSkge1xuICAgICAgICBjb25zdCBtYXBDb29yZGluYXRlcyA9IHRoaXMuY29tcG9uZW50Lm1hcC5nZXRFdmVudFBpeGVsKGUpO1xuICAgICAgICBjb25zdCBpdGVtSWQgPSB0aGlzLmNvbXBvbmVudC5tYXAuZm9yRWFjaEZlYXR1cmVBdFBpeGVsKG1hcENvb3JkaW5hdGVzLCAoZmVhdHVyZTogYW55KSA9PiBmZWF0dXJlLmdldCgnaWQnKSk7XG4gICAgICAgIHRoaXMuY29tcG9uZW50LnN0b3JlLmRpc3BhdGNoKFxuICAgICAgICAgIENvbnRleHRNZW51QWN0aW9ucy5vcGVuKHtcbiAgICAgICAgICAgIGl0ZW1JZCxcbiAgICAgICAgICAgIGNsaWVudFg6IGUuY2xpZW50WCxcbiAgICAgICAgICAgIGNsaWVudFk6IGUuY2xpZW50WSxcbiAgICAgICAgICAgIHJlc3VsdFNldDogQXJyYXkuaXNBcnJheSh0aGlzLmNvbXBvbmVudC5tYW5pZmVzdC5kYXRhc291cmNlKVxuICAgICAgICAgICAgICA/IHRoaXMuY29tcG9uZW50Lm1hbmlmZXN0LmRhdGFzb3VyY2VbMF1cbiAgICAgICAgICAgICAgOiB0aGlzLmNvbXBvbmVudC5tYW5pZmVzdC5kYXRhc291cmNlLFxuICAgICAgICAgICAgZnJvbTogJ21hcCcsXG4gICAgICAgICAgICBjb29yZGluYXRlczogdG9Mb25MYXQoXG4gICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC5nZXRDb29yZGluYXRlRnJvbVBpeGVsKG1hcENvb3JkaW5hdGVzKSxcbiAgICAgICAgICAgICAgdGhpcy5jb21wb25lbnQubWFwLmdldFZpZXcoKS5nZXRQcm9qZWN0aW9uKClcbiAgICAgICAgICAgICkucmV2ZXJzZSgpXG4gICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgfVxuICAgIH0sXG4gICAgZHJvcDogKGU6IERyYWdFdmVudCkgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnQuaW1wb3J0KGUpO1xuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgIH0sXG4gICAgcG9wdXA6IChldmVudDogTWFwQnJvd3NlckV2ZW50PE1vdXNlRXZlbnQ+KSA9PiB7XG4gICAgICBjb25zdCB2YWx1ZXMgPSB0aGlzLmNvbXBvbmVudC5tYXAuZ2V0RmVhdHVyZXNBdFBpeGVsKGV2ZW50LnBpeGVsLCB7IGhpdFRvbGVyYW5jZTogNSB9KSBhcyAoXG4gICAgICAgIHwgRmVhdHVyZTxDaXJjbGU+XG4gICAgICAgIHwgRmVhdHVyZTxQb2ludD5cbiAgICAgIClbXTtcbiAgICAgIGNvbnN0IHZhbHVlc1RvRGlzcGxheSA9IFtcbiAgICAgICAgLi4ubmV3IFNldChcbiAgICAgICAgICB2YWx1ZXNcbiAgICAgICAgICAgIC5tYXAoKHZhbHVlKSA9PiB2YWx1ZS5nZXQoJ2lkJykpXG4gICAgICAgICAgICAuZmlsdGVyKChpZCkgPT4gISFpZClcbiAgICAgICAgICAgIC5tYXAoKGlkKSA9PiB2YWx1ZXMuZmluZCgodmFsdWUpID0+IHZhbHVlLmdldCgnaWQnKSA9PT0gaWQpKVxuICAgICAgICAgICAgLm1hcCgodmFsdWUpID0+ICh7XG4gICAgICAgICAgICAgIG9DbGFzczogdmFsdWU/LmdldCgnb0NsYXNzJyksXG4gICAgICAgICAgICAgIGNvb3JkaW5hdGVzOiBldmVudC5jb29yZGluYXRlLFxuICAgICAgICAgICAgICB2YWx1ZXM6IHZhbHVlPy5nZXRLZXlzKCkucmVkdWNlKChwLCBjKSA9PiAoeyAuLi5wLCBbY106IHZhbHVlLmdldChjKSB9KSwge30pXG4gICAgICAgICAgICB9KSlcbiAgICAgICAgKVxuICAgICAgXTtcbiAgICAgIHRoaXMuY29tcG9uZW50LmNsYXNzaWNGZWF0dXJlcyQubmV4dCh2YWx1ZXNUb0Rpc3BsYXkpO1xuICAgICAgY29uc3Qgd21zTGF5ZXJzID0gdGhpcy5jb21wb25lbnQuZ2V0V01TTGF5ZXJzKCk7XG4gICAgICBpZiAod21zTGF5ZXJzKSB7XG4gICAgICAgIHRoaXMuY29tcG9uZW50LmdldEZlYXR1cmVGcm9tU2VydmVyKHdtc0xheWVycywgZXZlbnQuY29vcmRpbmF0ZSk7XG4gICAgICB9XG4gICAgICB0aGlzLnRvb2x0aXBFdmVudCA9IGV2ZW50O1xuICAgIH1cbiAgfTtcblxuICBwcml2YXRlIGFkZENvbnRleHRNZW51SW50ZXJhY3Rpb24oKSB7XG4gICAgdGhpcy5jb21wb25lbnQubWFwLmdldFZpZXdwb3J0KCkuYWRkRXZlbnRMaXN0ZW5lcignY29udGV4dG1lbnUnLCB0aGlzLmxpc3RlbmVycy5jb250ZXh0TWVudSk7XG4gIH1cblxuICBwcml2YXRlIGFkZERyb3BJbnRlcmFjdGlvbigpIHtcbiAgICB0aGlzLmNvbXBvbmVudC5tYXAuZ2V0Vmlld3BvcnQoKS5hZGRFdmVudExpc3RlbmVyKCdkcm9wJywgdGhpcy5saXN0ZW5lcnMuZHJvcCk7XG4gIH1cblxuICBwcml2YXRlIGFkZE92ZXJsYXlPbkludGVyYWN0aW9uKCkge1xuICAgIGlmICghdGhpcy5pbnRlcmFjdGlvblBvcHVwT3ZlcmxheSkge1xuICAgICAgdGhpcy5pbnRlcmFjdGlvblBvcHVwT3ZlcmxheSA9IG5ldyBPdmVybGF5KHtcbiAgICAgICAgZWxlbWVudDogdGhpcy5jb21wb25lbnQucG9wdXAubmF0aXZlRWxlbWVudCxcbiAgICAgICAgb2Zmc2V0OiBbOSwgOV1cbiAgICAgIH0pO1xuICAgICAgdGhpcy5jb21wb25lbnQubWFwLmFkZE92ZXJsYXkodGhpcy5pbnRlcmFjdGlvblBvcHVwT3ZlcmxheSk7XG4gICAgfVxuICAgIGlmICh0aGlzLmNvbXBvbmVudC5vcHRpb25zQ29weS50b29sdGlwTW9kZSAhPT0gVG9vbHRpcE1vZGUuTk9ORSkge1xuICAgICAgdGhpcy5jb21wb25lbnQubWFwLnVuKCdzaW5nbGVjbGljaycsIHRoaXMubGlzdGVuZXJzLnBvcHVwKTtcbiAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC5vbignc2luZ2xlY2xpY2snLCB0aGlzLmxpc3RlbmVycy5wb3B1cCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRTY2FsZUNvbnRyb2woKSB7XG4gICAgaWYgKCF0aGlzLnNjYWxlQ29udHJvbCkge1xuICAgICAgdGhpcy5zY2FsZUNvbnRyb2wgPSBuZXcgU2NhbGVMaW5lKHtcbiAgICAgICAgdW5pdHM6ICdtZXRyaWMnLFxuICAgICAgICBiYXI6IHRydWUsXG4gICAgICAgIHN0ZXBzOiA0LFxuICAgICAgICB0ZXh0OiB0cnVlLFxuICAgICAgICBtaW5XaWR0aDogMTQwXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC5hZGRDb250cm9sKHRoaXMuc2NhbGVDb250cm9sKTtcbiAgICB9XG4gIH1cblxuICBwcml2YXRlIGFkZFVwZGF0ZVpvb21BbmRDZW50ZXIoKSB7XG4gICAgdGhpcy5jb21wb25lbnQubWFwLm9uKCdtb3ZlZW5kJywgKCkgPT4ge1xuICAgICAgdGhpcy5jb21wb25lbnQub3B0aW9uc0NvcHkuem9vbSA9IHtcbiAgICAgICAgc3RhcnQ6XG4gICAgICAgICAgdGhpcy5jb21wb25lbnQubWFwLmdldFZpZXcoKS5nZXRab29tKCkgPz9cbiAgICAgICAgICB0aGlzLmNvbXBvbmVudC5vcHRpb25zQ29weS56b29tPy5zdGFydCA/P1xuICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC5nZXRWaWV3KCkuZ2V0TWluWm9vbSgpLFxuICAgICAgICBtaW46IHRoaXMuY29tcG9uZW50Lm1hcC5nZXRWaWV3KCkuZ2V0TWluWm9vbSgpLFxuICAgICAgICBtYXg6IHRoaXMuY29tcG9uZW50Lm1hcC5nZXRWaWV3KCkuZ2V0TWF4Wm9vbSgpXG4gICAgICB9O1xuICAgICAgdGhpcy5jb21wb25lbnQub3B0aW9uc0NvcHkuY2VudGVyID1cbiAgICAgICAgdG9Mb25MYXQodGhpcy5jb21wb25lbnQubWFwLmdldFZpZXcoKS5nZXRDZW50ZXIoKSA/PyBbMCwgMF0pID8/IHRoaXMuY29tcG9uZW50Lm9wdGlvbnNDb3B5LmNlbnRlcjtcbiAgICAgIHRoaXMuY29tcG9uZW50Lnpvb21BbmRDZW50ZXIkLm5leHQoe1xuICAgICAgICB6b29tOiB0aGlzLmNvbXBvbmVudC5vcHRpb25zQ29weS56b29tLFxuICAgICAgICBjZW50ZXI6IHRoaXMuY29tcG9uZW50Lm9wdGlvbnNDb3B5LmNlbnRlclxuICAgICAgfSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
104
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW50ZXJhY3Rpb24tbWFuYWdlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC9pbnRlcmFjdGlvbi9pbnRlcmFjdGlvbi1tYW5hZ2VyLmNsYXNzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRSxPQUFPLEVBQTRCLE9BQU8sRUFBRSxNQUFNLElBQUksQ0FBQztBQUN2RCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFDO0FBRXZDLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxTQUFTLENBQUM7QUFHbkMsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFFckUsTUFBTSxPQUFPLGtCQUFrQjtJQUEvQjtRQUdFLHlCQUFvQixHQUFHLElBQUksb0JBQW9CLEVBQUUsQ0FBQztRQWNsRCxjQUFTLEdBQUc7WUFDVixXQUFXLEVBQUUsQ0FBQyxDQUFhLEVBQUUsRUFBRTtnQkFDN0IsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQyxXQUFXLEtBQUssS0FBSyxFQUFFO29CQUNqRCxNQUFNLGNBQWMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzNELE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLHFCQUFxQixDQUFDLGNBQWMsRUFBRSxDQUFDLE9BQVksRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO29CQUM3RyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxRQUFRLENBQzNCLGtCQUFrQixDQUFDLElBQUksQ0FB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QyxNQUFNLENBQUM7WUFDcEcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDO2dCQUNqQyxJQUFJLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsSUFBSTtnQkFDckMsTUFBTSxFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxDQUFDLE1BQU07YUFDMUMsQ0FBQyxDQUFDO1FBQ0wsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0NBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb250ZXh0TWVudUFjdGlvbnMsIFRvb2x0aXBNb2RlIH0gZnJvbSAnQHByb3ZvbHkvZGFzaGJvYXJkJztcbmltcG9ydCB7IEZlYXR1cmUsIE1hcEJyb3dzZXJFdmVudCwgT3ZlcmxheSB9IGZyb20gJ29sJztcbmltcG9ydCB7IFNjYWxlTGluZSB9IGZyb20gJ29sL2NvbnRyb2wnO1xuaW1wb3J0IHsgQ2lyY2xlLCBQb2ludCB9IGZyb20gJ29sL2dlb20nO1xuaW1wb3J0IHsgdG9Mb25MYXQgfSBmcm9tICdvbC9wcm9qJztcbi8vIFRoaXMgaXMgbm90IGEgY2lyY3VsYXIgZGVwZW5kZW5jeVxuaW1wb3J0IHR5cGUgeyBXaWRnZXRNYXBDb21wb25lbnQgfSBmcm9tICcuLi9jb21wb25lbnQvd2lkZ2V0LW1hcC5jb21wb25lbnQnO1xuaW1wb3J0IHsgU2VsZWN0aW9uSW50ZXJhY3Rpb24gfSBmcm9tICcuL3NlbGVjdGlvbi1pbnRlcmFjdGlvbi5jbGFzcyc7XG5cbmV4cG9ydCBjbGFzcyBJbnRlcmFjdGlvbk1hbmFnZXIge1xuICBpbnRlcmFjdGlvblBvcHVwT3ZlcmxheT86IE92ZXJsYXk7XG4gIHNjYWxlQ29udHJvbD86IFNjYWxlTGluZTtcbiAgc2VsZWN0aW9uSW50ZXJhY3Rpb24gPSBuZXcgU2VsZWN0aW9uSW50ZXJhY3Rpb24oKTtcbiAgcHVibGljIHRvb2x0aXBFdmVudD86IE1hcEJyb3dzZXJFdmVudDxNb3VzZUV2ZW50PjtcbiAgcHJpdmF0ZSBjb21wb25lbnQhOiBXaWRnZXRNYXBDb21wb25lbnQ7XG5cbiAgaW5pdChjb21wb25lbnQ6IFdpZGdldE1hcENvbXBvbmVudCkge1xuICAgIHRoaXMuY29tcG9uZW50ID0gY29tcG9uZW50O1xuICAgIHRoaXMuYWRkQ29udGV4dE1lbnVJbnRlcmFjdGlvbigpO1xuICAgIHRoaXMuYWRkT3ZlcmxheU9uSW50ZXJhY3Rpb24oKTtcbiAgICB0aGlzLmFkZFNjYWxlQ29udHJvbCgpO1xuICAgIHRoaXMuYWRkVXBkYXRlWm9vbUFuZENlbnRlcigpO1xuICAgIHRoaXMuY29tcG9uZW50Lm1hcC5hZGRJbnRlcmFjdGlvbih0aGlzLnNlbGVjdGlvbkludGVyYWN0aW9uLmluaXQodGhpcy5jb21wb25lbnQuc3RvcmUpKTtcbiAgICByZXR1cm4gdGhpcztcbiAgfVxuXG4gIGxpc3RlbmVycyA9IHtcbiAgICBjb250ZXh0TWVudTogKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmICh0aGlzLmNvbXBvbmVudC5tYW5pZmVzdC5jb250ZXh0TWVudSAhPT0gZmFsc2UpIHtcbiAgICAgICAgY29uc3QgbWFwQ29vcmRpbmF0ZXMgPSB0aGlzLmNvbXBvbmVudC5tYXAuZ2V0RXZlbnRQaXhlbChlKTtcbiAgICAgICAgY29uc3QgaXRlbUlkID0gdGhpcy5jb21wb25lbnQubWFwLmZvckVhY2hGZWF0dXJlQXRQaXhlbChtYXBDb29yZGluYXRlcywgKGZlYXR1cmU6IGFueSkgPT4gZmVhdHVyZS5nZXQoJ2lkJykpO1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5zdG9yZS5kaXNwYXRjaChcbiAgICAgICAgICBDb250ZXh0TWVudUFjdGlvbnMub3Blbih7XG4gICAgICAgICAgICBpdGVtSWQsXG4gICAgICAgICAgICBjbGllbnRYOiBlLmNsaWVudFgsXG4gICAgICAgICAgICBjbGllbnRZOiBlLmNsaWVudFksXG4gICAgICAgICAgICByZXN1bHRTZXQ6IEFycmF5LmlzQXJyYXkodGhpcy5jb21wb25lbnQubWFuaWZlc3QuZGF0YXNvdXJjZSlcbiAgICAgICAgICAgICAgPyB0aGlzLmNvbXBvbmVudC5tYW5pZmVzdC5kYXRhc291cmNlWzBdXG4gICAgICAgICAgICAgIDogdGhpcy5jb21wb25lbnQubWFuaWZlc3QuZGF0YXNvdXJjZSxcbiAgICAgICAgICAgIGZyb206ICdtYXAnLFxuICAgICAgICAgICAgY29vcmRpbmF0ZXM6IHRvTG9uTGF0KFxuICAgICAgICAgICAgICB0aGlzLmNvbXBvbmVudC5tYXAuZ2V0Q29vcmRpbmF0ZUZyb21QaXhlbChtYXBDb29yZGluYXRlcyksXG4gICAgICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC5nZXRWaWV3KCkuZ2V0UHJvamVjdGlvbigpXG4gICAgICAgICAgICApLnJldmVyc2UoKVxuICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgICAgIGUucHJldmVudERlZmF1bHQoKTtcbiAgICAgIH1cbiAgICB9LFxuICAgIHBvcHVwOiAoZXZlbnQ6IE1hcEJyb3dzZXJFdmVudDxNb3VzZUV2ZW50PikgPT4ge1xuICAgICAgY29uc3QgdmFsdWVzID0gdGhpcy5jb21wb25lbnQubWFwLmdldEZlYXR1cmVzQXRQaXhlbChldmVudC5waXhlbCwgeyBoaXRUb2xlcmFuY2U6IDUgfSkgYXMgKFxuICAgICAgICB8IEZlYXR1cmU8Q2lyY2xlPlxuICAgICAgICB8IEZlYXR1cmU8UG9pbnQ+XG4gICAgICApW107XG4gICAgICBjb25zdCB2YWx1ZXNUb0Rpc3BsYXkgPSBbXG4gICAgICAgIC4uLm5ldyBTZXQoXG4gICAgICAgICAgdmFsdWVzXG4gICAgICAgICAgICAubWFwKCh2YWx1ZSkgPT4gdmFsdWUuZ2V0KCdpZCcpKVxuICAgICAgICAgICAgLmZpbHRlcigoaWQpID0+ICEhaWQpXG4gICAgICAgICAgICAubWFwKChpZCkgPT4gdmFsdWVzLmZpbmQoKHZhbHVlKSA9PiB2YWx1ZS5nZXQoJ2lkJykgPT09IGlkKSlcbiAgICAgICAgICAgIC5tYXAoKHZhbHVlKSA9PiAoe1xuICAgICAgICAgICAgICBvQ2xhc3M6IHZhbHVlPy5nZXQoJ29DbGFzcycpLFxuICAgICAgICAgICAgICBjb29yZGluYXRlczogZXZlbnQuY29vcmRpbmF0ZSxcbiAgICAgICAgICAgICAgdmFsdWVzOiB2YWx1ZT8uZ2V0S2V5cygpLnJlZHVjZSgocCwgYykgPT4gKHsgLi4ucCwgW2NdOiB2YWx1ZS5nZXQoYykgfSksIHt9KVxuICAgICAgICAgICAgfSkpXG4gICAgICAgIClcbiAgICAgIF07XG4gICAgICB0aGlzLmNvbXBvbmVudC5jbGFzc2ljRmVhdHVyZXMkLm5leHQodmFsdWVzVG9EaXNwbGF5KTtcbiAgICAgIGNvbnN0IHdtc0xheWVycyA9IHRoaXMuY29tcG9uZW50LmdldFdNU0xheWVycygpO1xuICAgICAgaWYgKHdtc0xheWVycykge1xuICAgICAgICB0aGlzLmNvbXBvbmVudC5nZXRGZWF0dXJlRnJvbVNlcnZlcih3bXNMYXllcnMsIGV2ZW50LmNvb3JkaW5hdGUpO1xuICAgICAgfVxuICAgICAgdGhpcy50b29sdGlwRXZlbnQgPSBldmVudDtcbiAgICB9XG4gIH07XG5cbiAgcHJpdmF0ZSBhZGRDb250ZXh0TWVudUludGVyYWN0aW9uKCkge1xuICAgIHRoaXMuY29tcG9uZW50Lm1hcC5nZXRWaWV3cG9ydCgpLmFkZEV2ZW50TGlzdGVuZXIoJ2NvbnRleHRtZW51JywgdGhpcy5saXN0ZW5lcnMuY29udGV4dE1lbnUpO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRPdmVybGF5T25JbnRlcmFjdGlvbigpIHtcbiAgICBpZiAoIXRoaXMuaW50ZXJhY3Rpb25Qb3B1cE92ZXJsYXkpIHtcbiAgICAgIHRoaXMuaW50ZXJhY3Rpb25Qb3B1cE92ZXJsYXkgPSBuZXcgT3ZlcmxheSh7XG4gICAgICAgIGVsZW1lbnQ6IHRoaXMuY29tcG9uZW50LnBvcHVwLm5hdGl2ZUVsZW1lbnQsXG4gICAgICAgIG9mZnNldDogWzksIDldXG4gICAgICB9KTtcbiAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC5hZGRPdmVybGF5KHRoaXMuaW50ZXJhY3Rpb25Qb3B1cE92ZXJsYXkpO1xuICAgIH1cbiAgICBpZiAodGhpcy5jb21wb25lbnQub3B0aW9uc0NvcHkudG9vbHRpcE1vZGUgIT09IFRvb2x0aXBNb2RlLk5PTkUpIHtcbiAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC51bignc2luZ2xlY2xpY2snLCB0aGlzLmxpc3RlbmVycy5wb3B1cCk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5tYXAub24oJ3NpbmdsZWNsaWNrJywgdGhpcy5saXN0ZW5lcnMucG9wdXApO1xuICAgIH1cbiAgfVxuXG4gIHByaXZhdGUgYWRkU2NhbGVDb250cm9sKCkge1xuICAgIGlmICghdGhpcy5zY2FsZUNvbnRyb2wpIHtcbiAgICAgIHRoaXMuc2NhbGVDb250cm9sID0gbmV3IFNjYWxlTGluZSh7XG4gICAgICAgIHVuaXRzOiAnbWV0cmljJyxcbiAgICAgICAgYmFyOiB0cnVlLFxuICAgICAgICBzdGVwczogNCxcbiAgICAgICAgdGV4dDogdHJ1ZSxcbiAgICAgICAgbWluV2lkdGg6IDE0MFxuICAgICAgfSk7XG4gICAgICB0aGlzLmNvbXBvbmVudC5tYXAuYWRkQ29udHJvbCh0aGlzLnNjYWxlQ29udHJvbCk7XG4gICAgfVxuICB9XG5cbiAgcHJpdmF0ZSBhZGRVcGRhdGVab29tQW5kQ2VudGVyKCkge1xuICAgIHRoaXMuY29tcG9uZW50Lm1hcC5vbignbW92ZWVuZCcsICgpID0+IHtcbiAgICAgIHRoaXMuY29tcG9uZW50Lm9wdGlvbnNDb3B5Lnpvb20gPSB7XG4gICAgICAgIHN0YXJ0OlxuICAgICAgICAgIHRoaXMuY29tcG9uZW50Lm1hcC5nZXRWaWV3KCkuZ2V0Wm9vbSgpID8/XG4gICAgICAgICAgdGhpcy5jb21wb25lbnQub3B0aW9uc0NvcHkuem9vbT8uc3RhcnQgPz9cbiAgICAgICAgICB0aGlzLmNvbXBvbmVudC5tYXAuZ2V0VmlldygpLmdldE1pblpvb20oKSxcbiAgICAgICAgbWluOiB0aGlzLmNvbXBvbmVudC5tYXAuZ2V0VmlldygpLmdldE1pblpvb20oKSxcbiAgICAgICAgbWF4OiB0aGlzLmNvbXBvbmVudC5tYXAuZ2V0VmlldygpLmdldE1heFpvb20oKVxuICAgICAgfTtcbiAgICAgIHRoaXMuY29tcG9uZW50Lm9wdGlvbnNDb3B5LmNlbnRlciA9XG4gICAgICAgIHRvTG9uTGF0KHRoaXMuY29tcG9uZW50Lm1hcC5nZXRWaWV3KCkuZ2V0Q2VudGVyKCkgPz8gWzAsIDBdKSA/PyB0aGlzLmNvbXBvbmVudC5vcHRpb25zQ29weS5jZW50ZXI7XG4gICAgICB0aGlzLmNvbXBvbmVudC56b29tQW5kQ2VudGVyJC5uZXh0KHtcbiAgICAgICAgem9vbTogdGhpcy5jb21wb25lbnQub3B0aW9uc0NvcHkuem9vbSxcbiAgICAgICAgY2VudGVyOiB0aGlzLmNvbXBvbmVudC5vcHRpb25zQ29weS5jZW50ZXJcbiAgICAgIH0pO1xuICAgIH0pO1xuICB9XG59XG4iXX0=
@@ -1,8 +1,5 @@
1
1
  import { FieldType, ItemUtils } from '@provoly/dashboard';
2
- // @ts-ignore
3
- import tokml from 'geojson-to-kml';
4
2
  import { Feature } from 'ol';
5
- import { GeoJSON } from 'ol/format';
6
3
  import { Circle, LineString } from 'ol/geom';
7
4
  export const populateLocationAttribute = (layer, resultSet, classesNotFiltered, fields) => {
8
5
  if (['heatmap', 'marker', 'bubble', 'point', 'line', 'polygon', 'multi-line', 'multi-polygon'].includes(layer.type) &&
@@ -157,49 +154,6 @@ export const exportMapAsImage = (map, filename) => {
157
154
  link.click();
158
155
  });
159
156
  };
160
- const exportMapAsGeoJSONString = (map) => {
161
- return new Promise((resolve, reject) => {
162
- const format = new GeoJSON();
163
- const features = [];
164
- const promises = map
165
- .getAllLayers()
166
- .filter((layer) => !!layer.getSource && !!layer.getSource() && !!layer.getSource().getFeatures)
167
- .map((layer) => layer.getSource().getFeatures())
168
- .filter((promise) => !!promise);
169
- Promise.all(promises)
170
- .then((featuresOfLayer) => {
171
- featuresOfLayer.forEach((feature) => {
172
- features.push(...feature);
173
- });
174
- resolve(format.writeFeatures(features));
175
- })
176
- .catch((err) => reject(err));
177
- });
178
- };
179
- export const exportMapAsGeoJSON = (map, filename) => {
180
- exportMapAsGeoJSONString(map).then((output) => {
181
- const link = document.createElement('a');
182
- link.download = filename;
183
- const blob = new Blob([output], {
184
- type: 'application /geo+json'
185
- });
186
- link.href = URL.createObjectURL(blob);
187
- link.click();
188
- });
189
- };
190
- export const exportMapAsKML = (map, filename) => {
191
- exportMapAsGeoJSONString(map).then((output) => {
192
- const geoJSON = JSON.parse(output);
193
- const kml = tokml(geoJSON);
194
- const link = document.createElement('a');
195
- link.download = filename;
196
- const blob = new Blob([kml], {
197
- type: 'application/vnd.google-earth.kml+xml'
198
- });
199
- link.href = URL.createObjectURL(blob);
200
- link.click();
201
- });
202
- };
203
157
  export const geometryForLayer = (layer) => {
204
158
  switch (layer.type) {
205
159
  case 'marker':
@@ -226,4 +180,4 @@ export const DEFAULT_ZOOM_START = 10;
226
180
  export const DEFAULT_ZOOM_MAX = 18;
227
181
  export const DEFAULT_MAP_CENTER = [2.2827217347381525, 48.864706031557716];
228
182
  export const EMPTY_MAP_STYLE = { layers: [] };
229
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC91dGlscy93aWRnZXQtbWFwLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxTQUFTLEVBRVQsU0FBUyxFQU9WLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsYUFBYTtBQUNiLE9BQU8sS0FBSyxNQUFNLGdCQUFnQixDQUFDO0FBQ25DLE9BQU8sRUFBRSxPQUFPLEVBQU8sTUFBTSxJQUFJLENBQUM7QUFDbEMsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUNwQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBUyxNQUFNLFNBQVMsQ0FBQztBQVdwRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUN2QyxLQUE0QixFQUM1QixTQUFvQixFQUNwQixrQkFBMkIsRUFDM0IsTUFBZSxFQUNmLEVBQUU7SUFDRixJQUNFLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQy9HLENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLGtCQUFrQjtRQUNwQixrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM3QjtRQUNBLE1BQU0sYUFBYSxHQUFHLEtBR1MsQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQ3ZDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FDL0csQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFO1lBQzVCLHlFQUF5RTtZQUV6RSxNQUFNLFFBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQztZQUV6QyxJQUFJLFVBQVUsR0FBRyxFQUFxRCxDQUFDO1lBQ3ZFLElBQUksTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDM0MseUNBQXlDO2dCQUV6QyxVQUFVLEdBQUcsTUFBTSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDO3FCQUN0QyxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsU0FBUyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsRUFBRSxNQUFNLEVBQUUsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsRUFBRSxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQzVGLEdBQUcsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLE1BQU0sRUFBRSxFQUFFLEVBQUUsQ0FDekIsQ0FBQyxNQUFNLElBQUksRUFBRSxVQUFVLEVBQUUsRUFBRSxFQUFFLENBQUMsQ0FBQyxVQUFVO3FCQUN0QyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsQ0FBQztxQkFDekUsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxRQUFRLENBQUMsQ0FDbkQ7cUJBQ0EsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDO2lCQUFNO2dCQUNMLGlGQUFpRjtnQkFDakYsVUFBVSxHQUFHLGtCQUFrQjtxQkFDNUIsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDO3FCQUNoQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDO3FCQUNsQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssUUFBUSxDQUFDLENBQUMsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQztxQkFDbkcsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDO2FBQ3ZDO1lBRUQsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRTtnQkFDekIsYUFBYSxDQUFDLFNBQVMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzthQUNuRDtTQUNGO0tBQ0Y7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSwwQkFBMEIsR0FBRyxDQUN4QyxLQUE0QixFQUM1QixTQUFvQixFQUNwQixrQkFBMkIsRUFDM0IsTUFBZSxFQUNmLEVBQUU7SUFDRixJQUNFLENBQUMsU0FBUyxFQUFFLFFBQVEsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQzFDLENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLGtCQUFrQjtRQUNwQixrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM3QjtRQUNBLE1BQU0sYUFBYSxHQUFHLEtBQW1FLENBQUM7UUFFMUYsTUFBTSxPQUFPLEdBQUcsa0JBQWtCLENBQUMsTUFBTSxDQUN2QyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQ0wsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FBQztZQUN4RyxFQUFFLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksS0FBSyxDQUFDLGFBQWEsRUFBRSxTQUFTLElBQUksRUFBRSxDQUFDLENBQUMsQ0FDL0UsQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUU7WUFDckMsdUZBQXVGO1lBQ3ZGLE1BQU0sYUFBYSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQztpQkFDL0MsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsS0FBSyxFQUFFLFNBQVMsQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxFQUFFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRSxDQUFDLEVBQUUsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQyxDQUFDO2lCQUM1RixHQUFHLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2dCQUN6QixPQUFPLENBQUMsTUFBTSxJQUFJLEVBQUUsVUFBVSxFQUFFLEVBQUUsRUFBRSxDQUFDLENBQUMsVUFBVTtxQkFDN0MsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLEVBQUUsSUFBSSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUM7cUJBQ3pFLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxJQUFJLEtBQUssU0FBUyxDQUFDLE9BQU8sSUFBSSxJQUFJLENBQUMsS0FBSyxFQUFFLElBQUksS0FBSyxTQUFTLENBQUMsT0FBTyxDQUFDO3FCQUNsRyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtvQkFDWixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsY0FBYyxDQUFDLEtBQUssRUFBRSxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzlELE9BQU87d0JBQ0wsR0FBRyxFQUFFLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxVQUFVLENBQUM7d0JBQzVCLEdBQUcsRUFBRSxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsVUFBVSxDQUFDO3dCQUM1QixJQUFJLEVBQUUsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJO3FCQUNyQixDQUFDO2dCQUNKLENBQUMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQyxDQUFDO2lCQUNELE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsR0FBRyxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7aUJBQ2xDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLEdBQUcsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBRWpDLElBQUksYUFBYSxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQzVCLGFBQWEsQ0FBQyxrQkFBa0IsR0FBRyxhQUFhLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUN6RCxhQUFhLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQzthQUNuQztTQUNGO0tBQ0Y7QUFDSCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUNoQyxJQUFVLEVBQ1YsSUFBWSxFQUNaLGlCQUE0QixFQUM1QixTQUFpQixFQUNqQixpQkFBeUIsRUFDekIsRUFBRTtJQUNGLE9BQU8sSUFBSSxPQUFPLENBQUM7UUFDakIsR0FBRyxJQUFJO1FBQ1AsSUFBSTtRQUNKLFFBQVEsRUFBRSxTQUFTLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxPQUFPLEVBQUUsaUJBQWlCLENBQUM7UUFDbEUsWUFBWSxFQUFFLFNBQVMsSUFBSSxJQUFJO1FBQy9CLGFBQWEsRUFBRSxpQkFBaUIsSUFBSSxJQUFJO0tBQ3pDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLHdCQUF3QixHQUFHLENBQ3RDLElBQVUsRUFDVixpQkFBNEIsRUFDNUIsTUFBYyxFQUNkLFNBQWdCLEVBQ2hCLGlCQUF3QixFQUN4QixFQUFFO0lBQ0YsT0FBTyxJQUFJLE9BQU8sQ0FBQztRQUNqQixHQUFHLElBQUk7UUFDUCxRQUFRLEVBQUUsSUFBSSxNQUFNLENBQUUsU0FBUyxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsT0FBTyxFQUFFLGlCQUFpQixDQUFXLENBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxDQUFDO1FBQ2xILFlBQVksRUFBRSxTQUFTO1FBQ3ZCLGFBQWEsRUFBRSxpQkFBaUI7UUFDaEMsSUFBSSxFQUFFLFFBQVE7S0FDZixDQUFDLENBQUM7QUFDTCxDQUFDLENBQUM7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FDNUIsUUFBa0IsRUFDbEIsYUFBNkIsRUFDN0Isa0JBQWtDLEVBQ2xDLEVBQUU7SUFDRixPQUFPLElBQUksT0FBTyxDQUFDO1FBQ2pCLEdBQUcsUUFBUTtRQUNYLFFBQVEsRUFBRSxJQUFJLFVBQVUsQ0FBQztZQUN2QixhQUFhLENBQUMsV0FBVyxFQUFFLEVBQUUsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3ZELGtCQUFrQixDQUFDLFdBQVcsRUFBRSxFQUFFLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUM3RCxDQUFDO1FBQ0YsTUFBTSxFQUFFLGFBQWE7UUFDckIsV0FBVyxFQUFFLGtCQUFrQjtRQUMvQixJQUFJLEVBQUUsTUFBTTtLQUNiLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxDQUFDLEdBQVEsRUFBRSxFQUFFO0lBQ3RDLE9BQU8sSUFBSSxPQUFPLENBQVMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDN0MsR0FBRyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsRUFBRTtZQUN6QixNQUFNLFNBQVMsR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1lBQ25ELE1BQU0sSUFBSSxHQUFHLEdBQUcsQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQztZQUN6QyxTQUFTLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMxQixTQUFTLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUMzQixNQUFNLFVBQVUsR0FBRyxTQUFTLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFLLElBQTRDLENBQUM7WUFDL0YsS0FBSyxDQUFDLFNBQVMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxnQkFBZ0IsQ0FBQyxtQ0FBbUMsQ0FBQyxFQUFFLENBQUMsTUFBTSxFQUFFLEVBQUU7Z0JBQ3RHLElBQUksTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7b0JBQ3BCLE1BQU0sT0FBTyxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLE9BQU8sSUFBSSxNQUFNLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQztvQkFDeEUsVUFBVSxDQUFDLFdBQVcsR0FBRyxPQUFPLEtBQUssRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFFOUQsTUFBTSxlQUFlLEdBQUcsTUFBTSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDO29CQUNoRSxJQUFJLGVBQWUsRUFBRTt3QkFDbkIsVUFBVSxDQUFDLFNBQVMsR0FBRyxlQUFlLENBQUM7d0JBQ3ZDLFVBQVUsQ0FBQyxRQUFRLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDeEQ7b0JBRUQsSUFBSSxNQUFNLENBQUM7b0JBQ1gsTUFBTSxTQUFTLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7b0JBQ3pDLElBQUksU0FBUyxFQUFFO3dCQUNiLGlFQUFpRTt3QkFDakUsTUFBTSxHQUFHLFNBQVM7NkJBQ2YsS0FBSyxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDOzZCQUMvQixLQUFLLENBQUMsR0FBRyxDQUFDOzZCQUNWLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQztxQkFDaEI7eUJBQU07d0JBQ0wsTUFBTSxHQUFHOzRCQUNQLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLEtBQUssQ0FBQyxHQUFHLE1BQU0sQ0FBQyxLQUFLOzRCQUM3QyxDQUFDOzRCQUNELENBQUM7NEJBQ0QsVUFBVSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU07NEJBQy9DLENBQUM7NEJBQ0QsQ0FBQzt5QkFDRixDQUFDO3FCQUNIO29CQUNELGdEQUFnRDtvQkFDaEQsd0JBQXdCLENBQUMsU0FBUyxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsVUFBVSxFQUFFLE1BQU0sQ0FBQyxDQUFDO29CQUMxRSxVQUFVLENBQUMsU0FBUyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7aUJBQ3BDO1lBQ0gsQ0FBQyxDQUFDLENBQUM7WUFDSCxVQUFVLENBQUMsV0FBVyxHQUFHLENBQUMsQ0FBQztZQUMzQixPQUFPLENBQUMsU0FBUyxDQUFDLFNBQVMsQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDO1FBQzVDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsR0FBRyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ25CLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxHQUFRLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQzdELFdBQVcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtRQUM3QixNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQ3pDLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO1FBQ2pCLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSx3QkFBd0IsR0FBRyxDQUFDLEdBQVEsRUFBbUIsRUFBRTtJQUM3RCxPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1FBQ3JDLE1BQU0sTUFBTSxHQUFHLElBQUksT0FBTyxFQUFFLENBQUM7UUFDN0IsTUFBTSxRQUFRLEdBQUcsRUFBb0IsQ0FBQztRQUN0QyxNQUFNLFFBQVEsR0FBRyxHQUFHO2FBQ2pCLFlBQVksRUFBRTthQUNkLE1BQU0sQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsSUFBSSxDQUFDLENBQUUsS0FBSyxDQUFDLFNBQVMsRUFBbUIsQ0FBQyxXQUFXLENBQUM7YUFDaEgsR0FBRyxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBRSxLQUFLLENBQUMsU0FBUyxFQUFtQixDQUFDLFdBQVcsRUFBRSxDQUFDO2FBQ2pFLE1BQU0sQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ2xDLE9BQU8sQ0FBQyxHQUFHLENBQUMsUUFBUSxDQUFDO2FBQ2xCLElBQUksQ0FBQyxDQUFDLGVBQWUsRUFBRSxFQUFFO1lBQ3hCLGVBQWUsQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtnQkFDbEMsUUFBUSxDQUFDLElBQUksQ0FBQyxHQUFHLE9BQU8sQ0FBQyxDQUFDO1lBQzVCLENBQUMsQ0FBQyxDQUFDO1lBQ0gsT0FBTyxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsUUFBUSxDQUFXLENBQUMsQ0FBQztRQUNwRCxDQUFDLENBQUM7YUFDRCxLQUFLLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO0lBQ2pDLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsQ0FBQyxHQUFRLEVBQUUsUUFBZ0IsRUFBRSxFQUFFO0lBQy9ELHdCQUF3QixDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLE1BQU0sRUFBRSxFQUFFO1FBQzVDLE1BQU0sSUFBSSxHQUFHLFFBQVEsQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekMsSUFBSSxDQUFDLFFBQVEsR0FBRyxRQUFRLENBQUM7UUFDekIsTUFBTSxJQUFJLEdBQUcsSUFBSSxJQUFJLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM5QixJQUFJLEVBQUUsdUJBQXVCO1NBQzlCLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN0QyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7SUFDZixDQUFDLENBQUMsQ0FBQztBQUNMLENBQUMsQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLGNBQWMsR0FBRyxDQUFDLEdBQVEsRUFBRSxRQUFnQixFQUFFLEVBQUU7SUFDM0Qsd0JBQXdCLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7UUFDNUMsTUFBTSxPQUFPLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNuQyxNQUFNLEdBQUcsR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDM0IsTUFBTSxJQUFJLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN6QyxJQUFJLENBQUMsUUFBUSxHQUFHLFFBQVEsQ0FBQztRQUN6QixNQUFNLElBQUksR0FBRyxJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxFQUFFO1lBQzNCLElBQUksRUFBRSxzQ0FBc0M7U0FDN0MsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLElBQUksR0FBRyxHQUFHLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3RDLElBQUksQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUNmLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxLQUE0QixFQUFFLEVBQUU7SUFDL0QsUUFBUSxLQUFLLENBQUMsSUFBSSxFQUFFO1FBQ2xCLEtBQUssUUFBUSxDQUFDO1FBQ2QsS0FBSyxTQUFTLENBQUM7UUFDZixLQUFLLFFBQVEsQ0FBQztRQUNkLEtBQUssT0FBTztZQUNWLE9BQU8sU0FBUyxDQUFDLEtBQUssQ0FBQztRQUN6QixLQUFLLE1BQU07WUFDVCxPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUM7UUFDeEIsS0FBSyxTQUFTO1lBQ1osT0FBTyxTQUFTLENBQUMsT0FBTyxDQUFDO1FBQzNCLEtBQUssWUFBWTtZQUNmLE9BQU8sU0FBUyxDQUFDLFNBQVMsQ0FBQztRQUM3QixLQUFLLGVBQWU7WUFDbEIsT0FBTyxTQUFTLENBQUMsWUFBWSxDQUFDO1FBQ2hDO1lBQ0UsT0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO0tBQzFCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEtBQUssQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBDbGFzcyxcbiAgRmllbGQsXG4gIEZpZWxkVHlwZSxcbiAgSXRlbSxcbiAgSXRlbVV0aWxzLFxuICBNYXBXaWRnZXRCdWJibGVMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldEhlYXRNYXBMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldExheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0TWFya2VyTGF5ZXJPcHRpb25zLFxuICBSZWxhdGlvbixcbiAgUmVzdWx0U2V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG4vLyBAdHMtaWdub3JlXG5pbXBvcnQgdG9rbWwgZnJvbSAnZ2VvanNvbi10by1rbWwnO1xuaW1wb3J0IHsgRmVhdHVyZSwgTWFwIH0gZnJvbSAnb2wnO1xuaW1wb3J0IHsgR2VvSlNPTiB9IGZyb20gJ29sL2Zvcm1hdCc7XG5pbXBvcnQgeyBDaXJjbGUsIExpbmVTdHJpbmcsIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgVmVjdG9yU291cmNlIGZyb20gJ29sL3NvdXJjZS9WZWN0b3InO1xuaW1wb3J0IHsgU3R5bGUgfSBmcm9tICdvbC9zdHlsZSc7XG5cbmV4cG9ydCB0eXBlIExhdExvbkNhbmRpZGF0ZSA9IHtcbiAgbWluOiBudW1iZXI7XG4gIG1heDogbnVtYmVyO1xuICBuYW1lOiBzdHJpbmc7XG4gIHR5cGU6IHN0cmluZztcbn07XG5cbmV4cG9ydCBjb25zdCBwb3B1bGF0ZUxvY2F0aW9uQXR0cmlidXRlID0gKFxuICBsYXllcjogTWFwV2lkZ2V0TGF5ZXJPcHRpb25zLFxuICByZXN1bHRTZXQ6IFJlc3VsdFNldCxcbiAgY2xhc3Nlc05vdEZpbHRlcmVkOiBDbGFzc1tdLFxuICBmaWVsZHM6IEZpZWxkW11cbikgPT4ge1xuICBpZiAoXG4gICAgWydoZWF0bWFwJywgJ21hcmtlcicsICdidWJibGUnLCAncG9pbnQnLCAnbGluZScsICdwb2x5Z29uJywgJ211bHRpLWxpbmUnLCAnbXVsdGktcG9seWdvbiddLmluY2x1ZGVzKGxheWVyLnR5cGUpICYmXG4gICAgISFyZXN1bHRTZXQgJiZcbiAgICAhIWNsYXNzZXNOb3RGaWx0ZXJlZCAmJlxuICAgIGNsYXNzZXNOb3RGaWx0ZXJlZC5sZW5ndGggPiAwXG4gICkge1xuICAgIGNvbnN0IHNwZWNpZmljTGF5ZXIgPSBsYXllciBhc1xuICAgICAgfCBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zXG4gICAgICB8IE1hcFdpZGdldE1hcmtlckxheWVyT3B0aW9uc1xuICAgICAgfCBNYXBXaWRnZXRCdWJibGVMYXllck9wdGlvbnM7XG5cbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3Nlc05vdEZpbHRlcmVkLmZpbHRlcihcbiAgICAgIChjbCkgPT4gc3BlY2lmaWNMYXllci5jbGFzc2VzPy5pbmNsdWRlcyhjbC5pZCkgfHwgIXNwZWNpZmljTGF5ZXIuY2xhc3NlcyB8fCBzcGVjaWZpY0xheWVyLmNsYXNzZXMubGVuZ3RoID09PSAwXG4gICAgKTtcblxuICAgIGlmICghc3BlY2lmaWNMYXllci5hdHRyaWJ1dGUpIHtcbiAgICAgIC8vIE5vIGxvY2F0aW9uIGF0dHJpYnV0ZSBhdmFpbGFibGUsIHRoZW4gdHJ5IHRvIGd1ZXNzIG9uZSB0aGF0IHdpbGwgYmUgb2tcblxuICAgICAgY29uc3QgZ2VvbWV0cnkgPSBnZW9tZXRyeUZvckxheWVyKGxheWVyKTtcblxuICAgICAgbGV0IGNhbmRpZGF0ZXMgPSBbXSBhcyB7IGF0dHI6IEF0dHJpYnV0ZTsgZmllbGQ6IEZpZWxkIHwgdW5kZWZpbmVkIH1bXTtcbiAgICAgIGlmIChPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpLmxlbmd0aCA+IDApIHtcbiAgICAgICAgLy8gQmFzZWQgb24gaXRlbXMgdGhhdCB3ZSBoYXZlIHRvIGRpc3BsYXlcblxuICAgICAgICBjYW5kaWRhdGVzID0gT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKVxuICAgICAgICAgIC5tYXAoKGtleSkgPT4gKHsgaXRlbXM6IHJlc3VsdFNldC5pdGVtc1trZXldLCBvQ2xhc3M6IGNsYXNzZXMuZmluZCgoY2wpID0+IGNsLmlkID09PSBrZXkpIH0pKVxuICAgICAgICAgIC5tYXAoKHsgaXRlbXMsIG9DbGFzcyB9KSA9PlxuICAgICAgICAgICAgKG9DbGFzcyA/PyB7IGF0dHJpYnV0ZXM6IFtdIH0pLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4gKHsgYXR0ciwgZmllbGQ6IGZpZWxkcy5maW5kKChmKSA9PiBmLmlkID09PSBhdHRyLmZpZWxkKSB9KSlcbiAgICAgICAgICAgICAgLmZpbHRlcigoYXR0cikgPT4gYXR0ci5maWVsZD8udHlwZSA9PT0gZ2VvbWV0cnkpXG4gICAgICAgICAgKVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgLy8gV2UgZG9uJ3QgaGF2ZSBhbnkgaXRlbXMgdG8gZGlzcGxheSwgc28gYWxsb3cgYWxsIGNvcnJlc3BvbmRpbmcgZ2VvbWV0cnkgZmllbGRzXG4gICAgICAgIGNhbmRpZGF0ZXMgPSBjbGFzc2VzTm90RmlsdGVyZWRcbiAgICAgICAgICAubWFwKChjbGF6eikgPT4gY2xhenouYXR0cmlidXRlcylcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgICAgICAgIC5tYXAoKGF0dHIpID0+IGZpZWxkcy5maWx0ZXIoKGZpZWxkKSA9PiBmaWVsZD8udHlwZSA9PT0gZ2VvbWV0cnkpLm1hcCgoZmllbGQpID0+ICh7IGF0dHIsIGZpZWxkIH0pKSlcbiAgICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKTtcbiAgICAgIH1cblxuICAgICAgaWYgKGNhbmRpZGF0ZXMubGVuZ3RoID4gMCkge1xuICAgICAgICBzcGVjaWZpY0xheWVyLmF0dHJpYnV0ZSA9IGNhbmRpZGF0ZXNbMF0uYXR0ci5uYW1lO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVsYXRlSW50ZW5zaXR5QXR0cmlidXRlID0gKFxuICBsYXllcjogTWFwV2lkZ2V0TGF5ZXJPcHRpb25zLFxuICByZXN1bHRTZXQ6IFJlc3VsdFNldCxcbiAgY2xhc3Nlc05vdEZpbHRlcmVkOiBDbGFzc1tdLFxuICBmaWVsZHM6IEZpZWxkW11cbikgPT4ge1xuICBpZiAoXG4gICAgWydoZWF0bWFwJywgJ2J1YmJsZSddLmluY2x1ZGVzKGxheWVyLnR5cGUpICYmXG4gICAgISFyZXN1bHRTZXQgJiZcbiAgICAhIWNsYXNzZXNOb3RGaWx0ZXJlZCAmJlxuICAgIGNsYXNzZXNOb3RGaWx0ZXJlZC5sZW5ndGggPiAwXG4gICkge1xuICAgIGNvbnN0IHNwZWNpZmljTGF5ZXIgPSBsYXllciBhcyBNYXBXaWRnZXRIZWF0TWFwTGF5ZXJPcHRpb25zIHwgTWFwV2lkZ2V0QnViYmxlTGF5ZXJPcHRpb25zO1xuXG4gICAgY29uc3QgY2xhc3NlcyA9IGNsYXNzZXNOb3RGaWx0ZXJlZC5maWx0ZXIoXG4gICAgICAoY2wpID0+XG4gICAgICAgIChzcGVjaWZpY0xheWVyLmNsYXNzZXM/LmluY2x1ZGVzKGNsLmlkKSB8fCAhc3BlY2lmaWNMYXllci5jbGFzc2VzIHx8IHNwZWNpZmljTGF5ZXIuY2xhc3Nlcy5sZW5ndGggPT09IDApICYmXG4gICAgICAgIGNsLmF0dHJpYnV0ZXMuZmluZCgoYXR0cikgPT4gYXR0ci5uYW1lID09PSAoc3BlY2lmaWNMYXllcj8uYXR0cmlidXRlID8/IFtdKSlcbiAgICApO1xuXG4gICAgaWYgKCFzcGVjaWZpY0xheWVyLmludGVuc2l0eUF0dHJpYnV0ZSkge1xuICAgICAgLy8gTm8gaW50ZW5zaXR5IGF0dHJpYnV0ZSBhdmFpbGFibGUsIHRoZW4gdGFrZSB0aGUgbWF4aW11bSBpbnRlbnNpdHkgbWF0Y2hpbmcgYXR0cmlidXRlXG4gICAgICBjb25zdCBjYW5kaWRhdGVzRHJ5ID0gT2JqZWN0LmtleXMocmVzdWx0U2V0Lml0ZW1zKVxuICAgICAgICAubWFwKChrZXkpID0+ICh7IGl0ZW1zOiByZXN1bHRTZXQuaXRlbXNba2V5XSwgb0NsYXNzOiBjbGFzc2VzLmZpbmQoKGNsKSA9PiBjbC5pZCA9PT0ga2V5KSB9KSlcbiAgICAgICAgLm1hcCgoeyBpdGVtcywgb0NsYXNzIH0pID0+IHtcbiAgICAgICAgICByZXR1cm4gKG9DbGFzcyA/PyB7IGF0dHJpYnV0ZXM6IFtdIH0pLmF0dHJpYnV0ZXNcbiAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+ICh7IGF0dHIsIGZpZWxkOiBmaWVsZHMuZmluZCgoZikgPT4gZi5pZCA9PT0gYXR0ci5maWVsZCkgfSkpXG4gICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiBhdHRyLmZpZWxkPy50eXBlID09PSBGaWVsZFR5cGUuREVDSU1BTCB8fCBhdHRyLmZpZWxkPy50eXBlID09PSBGaWVsZFR5cGUuSU5URUdFUilcbiAgICAgICAgICAgIC5tYXAoKGF0dHIpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgYXR0clZhbHVlcyA9IEl0ZW1VdGlscy5wZXJ0aW5lbnRWYWx1ZShpdGVtcywgYXR0ci5hdHRyKTtcbiAgICAgICAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgICAgICBtaW46IE1hdGgubWluKC4uLmF0dHJWYWx1ZXMpLFxuICAgICAgICAgICAgICAgIG1heDogTWF0aC5tYXgoLi4uYXR0clZhbHVlcyksXG4gICAgICAgICAgICAgICAgbmFtZTogYXR0ci5hdHRyLm5hbWVcbiAgICAgICAgICAgICAgfTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICB9KVxuICAgICAgICAucmVkdWNlKChwLCBjKSA9PiBbLi4ucCwgLi4uY10sIFtdKVxuICAgICAgICAuc29ydCgoYSwgYikgPT4gYi5tYXggLSBhLm1heCk7XG5cbiAgICAgIGlmIChjYW5kaWRhdGVzRHJ5Lmxlbmd0aCA+IDApIHtcbiAgICAgICAgc3BlY2lmaWNMYXllci5pbnRlbnNpdHlBdHRyaWJ1dGUgPSBjYW5kaWRhdGVzRHJ5WzBdLm5hbWU7XG4gICAgICAgIHNwZWNpZmljTGF5ZXIuaW50ZW5zaXR5QXNjID0gdHJ1ZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn07XG5cbmV4cG9ydCBjb25zdCBnZXRGZWF0dXJlRnJvbUl0ZW0gPSAoXG4gIGl0ZW06IEl0ZW0sXG4gIHR5cGU6IHN0cmluZyxcbiAgbG9jYXRpb25BdHRyaWJ1dGU6IEF0dHJpYnV0ZSxcbiAgaWNvblN0eWxlPzogU3R5bGUsXG4gIHNlbGVjdGVkSWNvblN0eWxlPzogU3R5bGVcbikgPT4ge1xuICByZXR1cm4gbmV3IEZlYXR1cmUoe1xuICAgIC4uLml0ZW0sXG4gICAgdHlwZSxcbiAgICBnZW9tZXRyeTogSXRlbVV0aWxzLnJlYWRHZW9tZXRyeShpdGVtLCAncG9pbnQnLCBsb2NhdGlvbkF0dHJpYnV0ZSksXG4gICAgY2xhc3NpY1N0eWxlOiBpY29uU3R5bGUgPz8gbnVsbCxcbiAgICBzZWxlY3RlZFN0eWxlOiBzZWxlY3RlZEljb25TdHlsZSA/PyBudWxsXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldENpcmNsZUZlYXR1cmVGcm9tSXRlbSA9IChcbiAgaXRlbTogSXRlbSxcbiAgbG9jYXRpb25BdHRyaWJ1dGU6IEF0dHJpYnV0ZSxcbiAgcmFkaXVzOiBudW1iZXIsXG4gIGljb25TdHlsZTogU3R5bGUsXG4gIHNlbGVjdGVkSWNvblN0eWxlOiBTdHlsZVxuKSA9PiB7XG4gIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgLi4uaXRlbSxcbiAgICBnZW9tZXRyeTogbmV3IENpcmNsZSgoSXRlbVV0aWxzLnJlYWRHZW9tZXRyeShpdGVtLCAncG9pbnQnLCBsb2NhdGlvbkF0dHJpYnV0ZSkgYXMgUG9pbnQpLmdldENvb3JkaW5hdGVzKCksIHJhZGl1cyksXG4gICAgY2xhc3NpY1N0eWxlOiBpY29uU3R5bGUsXG4gICAgc2VsZWN0ZWRTdHlsZTogc2VsZWN0ZWRJY29uU3R5bGUsXG4gICAgdHlwZTogJ2J1YmJsZSdcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TGlua0ZlYXR1cmUgPSAoXG4gIHJlbGF0aW9uOiBSZWxhdGlvbixcbiAgZmVhdHVyZVNvdXJjZTogRmVhdHVyZTxQb2ludD4sXG4gIGZlYXR1cmVEZXN0aW5hdGlvbjogRmVhdHVyZTxQb2ludD5cbikgPT4ge1xuICByZXR1cm4gbmV3IEZlYXR1cmUoe1xuICAgIC4uLnJlbGF0aW9uLFxuICAgIGdlb21ldHJ5OiBuZXcgTGluZVN0cmluZyhbXG4gICAgICBmZWF0dXJlU291cmNlLmdldEdlb21ldHJ5KCk/LmdldENvb3JkaW5hdGVzKCkgPz8gWzAsIDBdLFxuICAgICAgZmVhdHVyZURlc3RpbmF0aW9uLmdldEdlb21ldHJ5KCk/LmdldENvb3JkaW5hdGVzKCkgPz8gWzAsIDBdXG4gICAgXSksXG4gICAgc291cmNlOiBmZWF0dXJlU291cmNlLFxuICAgIGRlc3RpbmF0aW9uOiBmZWF0dXJlRGVzdGluYXRpb24sXG4gICAgdHlwZTogJ2xpbmsnXG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE1hcEFzUG5nID0gKG1hcDogTWFwKSA9PiB7XG4gIHJldHVybiBuZXcgUHJvbWlzZTxzdHJpbmc+KChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICBtYXAub25jZSgncmVuZGVyY29tcGxldGUnLCBmdW5jdGlvbiAoKSB7XG4gICAgICBjb25zdCBtYXBDYW52YXMgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdjYW52YXMnKTtcbiAgICAgIGNvbnN0IHNpemUgPSBtYXAuZ2V0U2l6ZSgpIHx8IFsxMDAsIDEwMF07XG4gICAgICBtYXBDYW52YXMud2lkdGggPSBzaXplWzBdO1xuICAgICAgbWFwQ2FudmFzLmhlaWdodCA9IHNpemVbMV07XG4gICAgICBjb25zdCBtYXBDb250ZXh0ID0gbWFwQ2FudmFzLmdldENvbnRleHQoJzJkJykgfHwgKG51bGwgYXMgdW5rbm93biBhcyBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQpO1xuICAgICAgQXJyYXkucHJvdG90eXBlLmZvckVhY2guY2FsbChkb2N1bWVudC5xdWVyeVNlbGVjdG9yQWxsKCcub2wtbGF5ZXIgY2FudmFzLCBjYW52YXMub2wtbGF5ZXInKSwgKGNhbnZhcykgPT4ge1xuICAgICAgICBpZiAoY2FudmFzLndpZHRoID4gMCkge1xuICAgICAgICAgIGNvbnN0IG9wYWNpdHkgPSBjYW52YXMucGFyZW50Tm9kZS5zdHlsZS5vcGFjaXR5IHx8IGNhbnZhcy5zdHlsZS5vcGFjaXR5O1xuICAgICAgICAgIG1hcENvbnRleHQuZ2xvYmFsQWxwaGEgPSBvcGFjaXR5ID09PSAnJyA/IDEgOiBOdW1iZXIob3BhY2l0eSk7XG5cbiAgICAgICAgICBjb25zdCBiYWNrZ3JvdW5kQ29sb3IgPSBjYW52YXMucGFyZW50Tm9kZS5zdHlsZS5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgaWYgKGJhY2tncm91bmRDb2xvcikge1xuICAgICAgICAgICAgbWFwQ29udGV4dC5maWxsU3R5bGUgPSBiYWNrZ3JvdW5kQ29sb3I7XG4gICAgICAgICAgICBtYXBDb250ZXh0LmZpbGxSZWN0KDAsIDAsIGNhbnZhcy53aWR0aCwgY2FudmFzLmhlaWdodCk7XG4gICAgICAgICAgfVxuXG4gICAgICAgICAgbGV0IG1hdHJpeDtcbiAgICAgICAgICBjb25zdCB0cmFuc2Zvcm0gPSBjYW52YXMuc3R5bGUudHJhbnNmb3JtO1xuICAgICAgICAgIGlmICh0cmFuc2Zvcm0pIHtcbiAgICAgICAgICAgIC8vIEdldCB0aGUgdHJhbnNmb3JtIHBhcmFtZXRlcnMgZnJvbSB0aGUgc3R5bGUncyB0cmFuc2Zvcm0gbWF0cml4XG4gICAgICAgICAgICBtYXRyaXggPSB0cmFuc2Zvcm1cbiAgICAgICAgICAgICAgLm1hdGNoKC9ebWF0cml4XFwoKFteKF0qKVxcKSQvKVsxXVxuICAgICAgICAgICAgICAuc3BsaXQoJywnKVxuICAgICAgICAgICAgICAubWFwKE51bWJlcik7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIG1hdHJpeCA9IFtcbiAgICAgICAgICAgICAgcGFyc2VGbG9hdChjYW52YXMuc3R5bGUud2lkdGgpIC8gY2FudmFzLndpZHRoLFxuICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICBwYXJzZUZsb2F0KGNhbnZhcy5zdHlsZS5oZWlnaHQpIC8gY2FudmFzLmhlaWdodCxcbiAgICAgICAgICAgICAgMCxcbiAgICAgICAgICAgICAgMFxuICAgICAgICAgICAgXTtcbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gQXBwbHkgdGhlIHRyYW5zZm9ybSB0byB0aGUgZXhwb3J0IG1hcCBjb250ZXh0XG4gICAgICAgICAgQ2FudmFzUmVuZGVyaW5nQ29udGV4dDJELnByb3RvdHlwZS5zZXRUcmFuc2Zvcm0uYXBwbHkobWFwQ29udGV4dCwgbWF0cml4KTtcbiAgICAgICAgICBtYXBDb250ZXh0LmRyYXdJbWFnZShjYW52YXMsIDAsIDApO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICAgIG1hcENvbnRleHQuZ2xvYmFsQWxwaGEgPSAxO1xuICAgICAgcmVzb2x2ZShtYXBDYW52YXMudG9EYXRhVVJMKCdpbWFnZS9wbmcnKSk7XG4gICAgfSk7XG4gICAgbWFwLnJlbmRlclN5bmMoKTtcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZXhwb3J0TWFwQXNJbWFnZSA9IChtYXA6IE1hcCwgZmlsZW5hbWU6IHN0cmluZykgPT4ge1xuICBnZXRNYXBBc1BuZyhtYXApLnRoZW4oKGRhdGEpID0+IHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcbiAgICBsaW5rLmhyZWYgPSBkYXRhO1xuICAgIGxpbmsuY2xpY2soKTtcbiAgfSk7XG59O1xuXG5jb25zdCBleHBvcnRNYXBBc0dlb0pTT05TdHJpbmcgPSAobWFwOiBNYXApOiBQcm9taXNlPHN0cmluZz4gPT4ge1xuICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIGNvbnN0IGZvcm1hdCA9IG5ldyBHZW9KU09OKCk7XG4gICAgY29uc3QgZmVhdHVyZXMgPSBbXSBhcyBGZWF0dXJlPGFueT5bXTtcbiAgICBjb25zdCBwcm9taXNlcyA9IG1hcFxuICAgICAgLmdldEFsbExheWVycygpXG4gICAgICAuZmlsdGVyKChsYXllcikgPT4gISFsYXllci5nZXRTb3VyY2UgJiYgISFsYXllci5nZXRTb3VyY2UoKSAmJiAhIShsYXllci5nZXRTb3VyY2UoKSBhcyBWZWN0b3JTb3VyY2UpLmdldEZlYXR1cmVzKVxuICAgICAgLm1hcCgobGF5ZXIpID0+IChsYXllci5nZXRTb3VyY2UoKSBhcyBWZWN0b3JTb3VyY2UpLmdldEZlYXR1cmVzKCkpXG4gICAgICAuZmlsdGVyKChwcm9taXNlKSA9PiAhIXByb21pc2UpO1xuICAgIFByb21pc2UuYWxsKHByb21pc2VzKVxuICAgICAgLnRoZW4oKGZlYXR1cmVzT2ZMYXllcikgPT4ge1xuICAgICAgICBmZWF0dXJlc09mTGF5ZXIuZm9yRWFjaCgoZmVhdHVyZSkgPT4ge1xuICAgICAgICAgIGZlYXR1cmVzLnB1c2goLi4uZmVhdHVyZSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZXNvbHZlKGZvcm1hdC53cml0ZUZlYXR1cmVzKGZlYXR1cmVzKSBhcyBzdHJpbmcpO1xuICAgICAgfSlcbiAgICAgIC5jYXRjaCgoZXJyKSA9PiByZWplY3QoZXJyKSk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4cG9ydE1hcEFzR2VvSlNPTiA9IChtYXA6IE1hcCwgZmlsZW5hbWU6IHN0cmluZykgPT4ge1xuICBleHBvcnRNYXBBc0dlb0pTT05TdHJpbmcobWFwKS50aGVuKChvdXRwdXQpID0+IHtcbiAgICBjb25zdCBsaW5rID0gZG9jdW1lbnQuY3JlYXRlRWxlbWVudCgnYScpO1xuICAgIGxpbmsuZG93bmxvYWQgPSBmaWxlbmFtZTtcbiAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW291dHB1dF0sIHtcbiAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbiAvZ2VvK2pzb24nXG4gICAgfSk7XG4gICAgbGluay5ocmVmID0gVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcbiAgICBsaW5rLmNsaWNrKCk7XG4gIH0pO1xufTtcblxuZXhwb3J0IGNvbnN0IGV4cG9ydE1hcEFzS01MID0gKG1hcDogTWFwLCBmaWxlbmFtZTogc3RyaW5nKSA9PiB7XG4gIGV4cG9ydE1hcEFzR2VvSlNPTlN0cmluZyhtYXApLnRoZW4oKG91dHB1dCkgPT4ge1xuICAgIGNvbnN0IGdlb0pTT04gPSBKU09OLnBhcnNlKG91dHB1dCk7XG4gICAgY29uc3Qga21sID0gdG9rbWwoZ2VvSlNPTik7XG4gICAgY29uc3QgbGluayA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2EnKTtcbiAgICBsaW5rLmRvd25sb2FkID0gZmlsZW5hbWU7XG4gICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtrbWxdLCB7XG4gICAgICB0eXBlOiAnYXBwbGljYXRpb24vdm5kLmdvb2dsZS1lYXJ0aC5rbWwreG1sJ1xuICAgIH0pO1xuICAgIGxpbmsuaHJlZiA9IFVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XG4gICAgbGluay5jbGljaygpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW9tZXRyeUZvckxheWVyID0gKGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMpID0+IHtcbiAgc3dpdGNoIChsYXllci50eXBlKSB7XG4gICAgY2FzZSAnbWFya2VyJzpcbiAgICBjYXNlICdoZWF0bWFwJzpcbiAgICBjYXNlICdidWJibGUnOlxuICAgIGNhc2UgJ3BvaW50JzpcbiAgICAgIHJldHVybiBGaWVsZFR5cGUuUE9JTlQ7XG4gICAgY2FzZSAnbGluZSc6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLkxJTkU7XG4gICAgY2FzZSAncG9seWdvbic6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLlBPTFlHT047XG4gICAgY2FzZSAnbXVsdGktbGluZSc6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLk1VTFRJTElORTtcbiAgICBjYXNlICdtdWx0aS1wb2x5Z29uJzpcbiAgICAgIHJldHVybiBGaWVsZFR5cGUuTVVMVElQT0xZR09OO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLlBPSU5UO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9IRUFUTUFQX1JBRElVUyA9IDI1O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkFESVVTX0lOVEVOU0lUWV9GQUNUT1IgPSAxMDAwMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1pPT01fTUlOID0gMztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1pPT01fU1RBUlQgPSAxMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1pPT01fTUFYID0gMTg7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfQ0VOVEVSID0gWzIuMjgyNzIxNzM0NzM4MTUyNSwgNDguODY0NzA2MDMxNTU3NzE2XTtcbmV4cG9ydCBjb25zdCBFTVBUWV9NQVBfU1RZTEUgPSB7IGxheWVyczogW10gfTtcbiJdfQ==
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2lkZ2V0LW1hcC51dGlscy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3Byb3ZvbHkvZGFzaGJvYXJkL3dpZGdldHMvd2lkZ2V0LW1hcC91dGlscy93aWRnZXQtbWFwLnV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFJTCxTQUFTLEVBRVQsU0FBUyxFQU9WLE1BQU0sb0JBQW9CLENBQUM7QUFDNUIsT0FBTyxFQUFFLE9BQU8sRUFBTyxNQUFNLElBQUksQ0FBQztBQUNsQyxPQUFPLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBUyxNQUFNLFNBQVMsQ0FBQztBQVVwRCxNQUFNLENBQUMsTUFBTSx5QkFBeUIsR0FBRyxDQUN2QyxLQUE0QixFQUM1QixTQUFvQixFQUNwQixrQkFBMkIsRUFDM0IsTUFBZSxFQUNmLEVBQUU7SUFDRixJQUNFLENBQUMsU0FBUyxFQUFFLFFBQVEsRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLE1BQU0sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDO1FBQy9HLENBQUMsQ0FBQyxTQUFTO1FBQ1gsQ0FBQyxDQUFDLGtCQUFrQjtRQUNwQixrQkFBa0IsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUM3QjtRQUNBLE1BQU0sYUFBYSxHQUFHLEtBR1MsQ0FBQztRQUVoQyxNQUFNLE9BQU8sR0FBRyxrQkFBa0IsQ0FBQyxNQUFNLENBQ3ZDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLFFBQVEsQ0FBQyxFQUFFLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLGFBQWEsQ0FBQyxPQUFPLENBQUMsTUFBTSxLQUFLLENBQUMsQ0FDL0csQ0FBQztRQUVGLElBQUksQ0FBQyxhQUFhLENBQUMsU0FBUyxFQUFFO1lBQzVC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T0FBTyxTQUFTLENBQUMsS0FBSyxDQUFDO0tBQzFCO0FBQ0gsQ0FBQyxDQUFDO0FBRUYsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsRUFBRSxDQUFDO0FBQ3pDLE1BQU0sQ0FBQyxNQUFNLCtCQUErQixHQUFHLEtBQUssQ0FBQztBQUNyRCxNQUFNLENBQUMsTUFBTSxnQkFBZ0IsR0FBRyxDQUFDLENBQUM7QUFDbEMsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO0FBQ3JDLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztBQUNuQyxNQUFNLENBQUMsTUFBTSxrQkFBa0IsR0FBRyxDQUFDLGtCQUFrQixFQUFFLGtCQUFrQixDQUFDLENBQUM7QUFDM0UsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLEVBQUUsTUFBTSxFQUFFLEVBQUUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQXR0cmlidXRlLFxuICBDbGFzcyxcbiAgRmllbGQsXG4gIEZpZWxkVHlwZSxcbiAgSXRlbSxcbiAgSXRlbVV0aWxzLFxuICBNYXBXaWRnZXRCdWJibGVMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldEhlYXRNYXBMYXllck9wdGlvbnMsXG4gIE1hcFdpZGdldExheWVyT3B0aW9ucyxcbiAgTWFwV2lkZ2V0TWFya2VyTGF5ZXJPcHRpb25zLFxuICBSZWxhdGlvbixcbiAgUmVzdWx0U2V0XG59IGZyb20gJ0Bwcm92b2x5L2Rhc2hib2FyZCc7XG5pbXBvcnQgeyBGZWF0dXJlLCBNYXAgfSBmcm9tICdvbCc7XG5pbXBvcnQgeyBDaXJjbGUsIExpbmVTdHJpbmcsIFBvaW50IH0gZnJvbSAnb2wvZ2VvbSc7XG5pbXBvcnQgeyBTdHlsZSB9IGZyb20gJ29sL3N0eWxlJztcblxuZXhwb3J0IHR5cGUgTGF0TG9uQ2FuZGlkYXRlID0ge1xuICBtaW46IG51bWJlcjtcbiAgbWF4OiBudW1iZXI7XG4gIG5hbWU6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IHBvcHVsYXRlTG9jYXRpb25BdHRyaWJ1dGUgPSAoXG4gIGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMsXG4gIHJlc3VsdFNldDogUmVzdWx0U2V0LFxuICBjbGFzc2VzTm90RmlsdGVyZWQ6IENsYXNzW10sXG4gIGZpZWxkczogRmllbGRbXVxuKSA9PiB7XG4gIGlmIChcbiAgICBbJ2hlYXRtYXAnLCAnbWFya2VyJywgJ2J1YmJsZScsICdwb2ludCcsICdsaW5lJywgJ3BvbHlnb24nLCAnbXVsdGktbGluZScsICdtdWx0aS1wb2x5Z29uJ10uaW5jbHVkZXMobGF5ZXIudHlwZSkgJiZcbiAgICAhIXJlc3VsdFNldCAmJlxuICAgICEhY2xhc3Nlc05vdEZpbHRlcmVkICYmXG4gICAgY2xhc3Nlc05vdEZpbHRlcmVkLmxlbmd0aCA+IDBcbiAgKSB7XG4gICAgY29uc3Qgc3BlY2lmaWNMYXllciA9IGxheWVyIGFzXG4gICAgICB8IE1hcFdpZGdldEhlYXRNYXBMYXllck9wdGlvbnNcbiAgICAgIHwgTWFwV2lkZ2V0TWFya2VyTGF5ZXJPcHRpb25zXG4gICAgICB8IE1hcFdpZGdldEJ1YmJsZUxheWVyT3B0aW9ucztcblxuICAgIGNvbnN0IGNsYXNzZXMgPSBjbGFzc2VzTm90RmlsdGVyZWQuZmlsdGVyKFxuICAgICAgKGNsKSA9PiBzcGVjaWZpY0xheWVyLmNsYXNzZXM/LmluY2x1ZGVzKGNsLmlkKSB8fCAhc3BlY2lmaWNMYXllci5jbGFzc2VzIHx8IHNwZWNpZmljTGF5ZXIuY2xhc3Nlcy5sZW5ndGggPT09IDBcbiAgICApO1xuXG4gICAgaWYgKCFzcGVjaWZpY0xheWVyLmF0dHJpYnV0ZSkge1xuICAgICAgLy8gTm8gbG9jYXRpb24gYXR0cmlidXRlIGF2YWlsYWJsZSwgdGhlbiB0cnkgdG8gZ3Vlc3Mgb25lIHRoYXQgd2lsbCBiZSBva1xuXG4gICAgICBjb25zdCBnZW9tZXRyeSA9IGdlb21ldHJ5Rm9yTGF5ZXIobGF5ZXIpO1xuXG4gICAgICBsZXQgY2FuZGlkYXRlcyA9IFtdIGFzIHsgYXR0cjogQXR0cmlidXRlOyBmaWVsZDogRmllbGQgfCB1bmRlZmluZWQgfVtdO1xuICAgICAgaWYgKE9iamVjdC5rZXlzKHJlc3VsdFNldC5pdGVtcykubGVuZ3RoID4gMCkge1xuICAgICAgICAvLyBCYXNlZCBvbiBpdGVtcyB0aGF0IHdlIGhhdmUgdG8gZGlzcGxheVxuXG4gICAgICAgIGNhbmRpZGF0ZXMgPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgICAgLm1hcCgoa2V5KSA9PiAoeyBpdGVtczogcmVzdWx0U2V0Lml0ZW1zW2tleV0sIG9DbGFzczogY2xhc3Nlcy5maW5kKChjbCkgPT4gY2wuaWQgPT09IGtleSkgfSkpXG4gICAgICAgICAgLm1hcCgoeyBpdGVtcywgb0NsYXNzIH0pID0+XG4gICAgICAgICAgICAob0NsYXNzID8/IHsgYXR0cmlidXRlczogW10gfSkuYXR0cmlidXRlc1xuICAgICAgICAgICAgICAubWFwKChhdHRyKSA9PiAoeyBhdHRyLCBmaWVsZDogZmllbGRzLmZpbmQoKGYpID0+IGYuaWQgPT09IGF0dHIuZmllbGQpIH0pKVxuICAgICAgICAgICAgICAuZmlsdGVyKChhdHRyKSA9PiBhdHRyLmZpZWxkPy50eXBlID09PSBnZW9tZXRyeSlcbiAgICAgICAgICApXG4gICAgICAgICAgLnJlZHVjZSgocCwgYykgPT4gWy4uLnAsIC4uLmNdLCBbXSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBXZSBkb24ndCBoYXZlIGFueSBpdGVtcyB0byBkaXNwbGF5LCBzbyBhbGxvdyBhbGwgY29ycmVzcG9uZGluZyBnZW9tZXRyeSBmaWVsZHNcbiAgICAgICAgY2FuZGlkYXRlcyA9IGNsYXNzZXNOb3RGaWx0ZXJlZFxuICAgICAgICAgIC5tYXAoKGNsYXp6KSA9PiBjbGF6ei5hdHRyaWJ1dGVzKVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgICAgICAgLm1hcCgoYXR0cikgPT4gZmllbGRzLmZpbHRlcigoZmllbGQpID0+IGZpZWxkPy50eXBlID09PSBnZW9tZXRyeSkubWFwKChmaWVsZCkgPT4gKHsgYXR0ciwgZmllbGQgfSkpKVxuICAgICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pO1xuICAgICAgfVxuXG4gICAgICBpZiAoY2FuZGlkYXRlcy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHNwZWNpZmljTGF5ZXIuYXR0cmlidXRlID0gY2FuZGlkYXRlc1swXS5hdHRyLm5hbWU7XG4gICAgICB9XG4gICAgfVxuICB9XG59O1xuXG5leHBvcnQgY29uc3QgcG9wdWxhdGVJbnRlbnNpdHlBdHRyaWJ1dGUgPSAoXG4gIGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMsXG4gIHJlc3VsdFNldDogUmVzdWx0U2V0LFxuICBjbGFzc2VzTm90RmlsdGVyZWQ6IENsYXNzW10sXG4gIGZpZWxkczogRmllbGRbXVxuKSA9PiB7XG4gIGlmIChcbiAgICBbJ2hlYXRtYXAnLCAnYnViYmxlJ10uaW5jbHVkZXMobGF5ZXIudHlwZSkgJiZcbiAgICAhIXJlc3VsdFNldCAmJlxuICAgICEhY2xhc3Nlc05vdEZpbHRlcmVkICYmXG4gICAgY2xhc3Nlc05vdEZpbHRlcmVkLmxlbmd0aCA+IDBcbiAgKSB7XG4gICAgY29uc3Qgc3BlY2lmaWNMYXllciA9IGxheWVyIGFzIE1hcFdpZGdldEhlYXRNYXBMYXllck9wdGlvbnMgfCBNYXBXaWRnZXRCdWJibGVMYXllck9wdGlvbnM7XG5cbiAgICBjb25zdCBjbGFzc2VzID0gY2xhc3Nlc05vdEZpbHRlcmVkLmZpbHRlcihcbiAgICAgIChjbCkgPT5cbiAgICAgICAgKHNwZWNpZmljTGF5ZXIuY2xhc3Nlcz8uaW5jbHVkZXMoY2wuaWQpIHx8ICFzcGVjaWZpY0xheWVyLmNsYXNzZXMgfHwgc3BlY2lmaWNMYXllci5jbGFzc2VzLmxlbmd0aCA9PT0gMCkgJiZcbiAgICAgICAgY2wuYXR0cmlidXRlcy5maW5kKChhdHRyKSA9PiBhdHRyLm5hbWUgPT09IChzcGVjaWZpY0xheWVyPy5hdHRyaWJ1dGUgPz8gW10pKVxuICAgICk7XG5cbiAgICBpZiAoIXNwZWNpZmljTGF5ZXIuaW50ZW5zaXR5QXR0cmlidXRlKSB7XG4gICAgICAvLyBObyBpbnRlbnNpdHkgYXR0cmlidXRlIGF2YWlsYWJsZSwgdGhlbiB0YWtlIHRoZSBtYXhpbXVtIGludGVuc2l0eSBtYXRjaGluZyBhdHRyaWJ1dGVcbiAgICAgIGNvbnN0IGNhbmRpZGF0ZXNEcnkgPSBPYmplY3Qua2V5cyhyZXN1bHRTZXQuaXRlbXMpXG4gICAgICAgIC5tYXAoKGtleSkgPT4gKHsgaXRlbXM6IHJlc3VsdFNldC5pdGVtc1trZXldLCBvQ2xhc3M6IGNsYXNzZXMuZmluZCgoY2wpID0+IGNsLmlkID09PSBrZXkpIH0pKVxuICAgICAgICAubWFwKCh7IGl0ZW1zLCBvQ2xhc3MgfSkgPT4ge1xuICAgICAgICAgIHJldHVybiAob0NsYXNzID8/IHsgYXR0cmlidXRlczogW10gfSkuYXR0cmlidXRlc1xuICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4gKHsgYXR0ciwgZmllbGQ6IGZpZWxkcy5maW5kKChmKSA9PiBmLmlkID09PSBhdHRyLmZpZWxkKSB9KSlcbiAgICAgICAgICAgIC5maWx0ZXIoKGF0dHIpID0+IGF0dHIuZmllbGQ/LnR5cGUgPT09IEZpZWxkVHlwZS5ERUNJTUFMIHx8IGF0dHIuZmllbGQ/LnR5cGUgPT09IEZpZWxkVHlwZS5JTlRFR0VSKVxuICAgICAgICAgICAgLm1hcCgoYXR0cikgPT4ge1xuICAgICAgICAgICAgICBjb25zdCBhdHRyVmFsdWVzID0gSXRlbVV0aWxzLnBlcnRpbmVudFZhbHVlKGl0ZW1zLCBhdHRyLmF0dHIpO1xuICAgICAgICAgICAgICByZXR1cm4ge1xuICAgICAgICAgICAgICAgIG1pbjogTWF0aC5taW4oLi4uYXR0clZhbHVlcyksXG4gICAgICAgICAgICAgICAgbWF4OiBNYXRoLm1heCguLi5hdHRyVmFsdWVzKSxcbiAgICAgICAgICAgICAgICBuYW1lOiBhdHRyLmF0dHIubmFtZVxuICAgICAgICAgICAgICB9O1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0pXG4gICAgICAgIC5yZWR1Y2UoKHAsIGMpID0+IFsuLi5wLCAuLi5jXSwgW10pXG4gICAgICAgIC5zb3J0KChhLCBiKSA9PiBiLm1heCAtIGEubWF4KTtcblxuICAgICAgaWYgKGNhbmRpZGF0ZXNEcnkubGVuZ3RoID4gMCkge1xuICAgICAgICBzcGVjaWZpY0xheWVyLmludGVuc2l0eUF0dHJpYnV0ZSA9IGNhbmRpZGF0ZXNEcnlbMF0ubmFtZTtcbiAgICAgICAgc3BlY2lmaWNMYXllci5pbnRlbnNpdHlBc2MgPSB0cnVlO1xuICAgICAgfVxuICAgIH1cbiAgfVxufTtcblxuZXhwb3J0IGNvbnN0IGdldEZlYXR1cmVGcm9tSXRlbSA9IChcbiAgaXRlbTogSXRlbSxcbiAgdHlwZTogc3RyaW5nLFxuICBsb2NhdGlvbkF0dHJpYnV0ZTogQXR0cmlidXRlLFxuICBpY29uU3R5bGU/OiBTdHlsZSxcbiAgc2VsZWN0ZWRJY29uU3R5bGU/OiBTdHlsZVxuKSA9PiB7XG4gIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgLi4uaXRlbSxcbiAgICB0eXBlLFxuICAgIGdlb21ldHJ5OiBJdGVtVXRpbHMucmVhZEdlb21ldHJ5KGl0ZW0sICdwb2ludCcsIGxvY2F0aW9uQXR0cmlidXRlKSxcbiAgICBjbGFzc2ljU3R5bGU6IGljb25TdHlsZSA/PyBudWxsLFxuICAgIHNlbGVjdGVkU3R5bGU6IHNlbGVjdGVkSWNvblN0eWxlID8/IG51bGxcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0Q2lyY2xlRmVhdHVyZUZyb21JdGVtID0gKFxuICBpdGVtOiBJdGVtLFxuICBsb2NhdGlvbkF0dHJpYnV0ZTogQXR0cmlidXRlLFxuICByYWRpdXM6IG51bWJlcixcbiAgaWNvblN0eWxlOiBTdHlsZSxcbiAgc2VsZWN0ZWRJY29uU3R5bGU6IFN0eWxlXG4pID0+IHtcbiAgcmV0dXJuIG5ldyBGZWF0dXJlKHtcbiAgICAuLi5pdGVtLFxuICAgIGdlb21ldHJ5OiBuZXcgQ2lyY2xlKChJdGVtVXRpbHMucmVhZEdlb21ldHJ5KGl0ZW0sICdwb2ludCcsIGxvY2F0aW9uQXR0cmlidXRlKSBhcyBQb2ludCkuZ2V0Q29vcmRpbmF0ZXMoKSwgcmFkaXVzKSxcbiAgICBjbGFzc2ljU3R5bGU6IGljb25TdHlsZSxcbiAgICBzZWxlY3RlZFN0eWxlOiBzZWxlY3RlZEljb25TdHlsZSxcbiAgICB0eXBlOiAnYnViYmxlJ1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXRMaW5rRmVhdHVyZSA9IChcbiAgcmVsYXRpb246IFJlbGF0aW9uLFxuICBmZWF0dXJlU291cmNlOiBGZWF0dXJlPFBvaW50PixcbiAgZmVhdHVyZURlc3RpbmF0aW9uOiBGZWF0dXJlPFBvaW50PlxuKSA9PiB7XG4gIHJldHVybiBuZXcgRmVhdHVyZSh7XG4gICAgLi4ucmVsYXRpb24sXG4gICAgZ2VvbWV0cnk6IG5ldyBMaW5lU3RyaW5nKFtcbiAgICAgIGZlYXR1cmVTb3VyY2UuZ2V0R2VvbWV0cnkoKT8uZ2V0Q29vcmRpbmF0ZXMoKSA/PyBbMCwgMF0sXG4gICAgICBmZWF0dXJlRGVzdGluYXRpb24uZ2V0R2VvbWV0cnkoKT8uZ2V0Q29vcmRpbmF0ZXMoKSA/PyBbMCwgMF1cbiAgICBdKSxcbiAgICBzb3VyY2U6IGZlYXR1cmVTb3VyY2UsXG4gICAgZGVzdGluYXRpb246IGZlYXR1cmVEZXN0aW5hdGlvbixcbiAgICB0eXBlOiAnbGluaydcbiAgfSk7XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TWFwQXNQbmcgPSAobWFwOiBNYXApID0+IHtcbiAgcmV0dXJuIG5ldyBQcm9taXNlPHN0cmluZz4oKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgIG1hcC5vbmNlKCdyZW5kZXJjb21wbGV0ZScsIGZ1bmN0aW9uICgpIHtcbiAgICAgIGNvbnN0IG1hcENhbnZhcyA9IGRvY3VtZW50LmNyZWF0ZUVsZW1lbnQoJ2NhbnZhcycpO1xuICAgICAgY29uc3Qgc2l6ZSA9IG1hcC5nZXRTaXplKCkgfHwgWzEwMCwgMTAwXTtcbiAgICAgIG1hcENhbnZhcy53aWR0aCA9IHNpemVbMF07XG4gICAgICBtYXBDYW52YXMuaGVpZ2h0ID0gc2l6ZVsxXTtcbiAgICAgIGNvbnN0IG1hcENvbnRleHQgPSBtYXBDYW52YXMuZ2V0Q29udGV4dCgnMmQnKSB8fCAobnVsbCBhcyB1bmtub3duIGFzIENhbnZhc1JlbmRlcmluZ0NvbnRleHQyRCk7XG4gICAgICBBcnJheS5wcm90b3R5cGUuZm9yRWFjaC5jYWxsKGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3JBbGwoJy5vbC1sYXllciBjYW52YXMsIGNhbnZhcy5vbC1sYXllcicpLCAoY2FudmFzKSA9PiB7XG4gICAgICAgIGlmIChjYW52YXMud2lkdGggPiAwKSB7XG4gICAgICAgICAgY29uc3Qgb3BhY2l0eSA9IGNhbnZhcy5wYXJlbnROb2RlLnN0eWxlLm9wYWNpdHkgfHwgY2FudmFzLnN0eWxlLm9wYWNpdHk7XG4gICAgICAgICAgbWFwQ29udGV4dC5nbG9iYWxBbHBoYSA9IG9wYWNpdHkgPT09ICcnID8gMSA6IE51bWJlcihvcGFjaXR5KTtcblxuICAgICAgICAgIGNvbnN0IGJhY2tncm91bmRDb2xvciA9IGNhbnZhcy5wYXJlbnROb2RlLnN0eWxlLmJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICBpZiAoYmFja2dyb3VuZENvbG9yKSB7XG4gICAgICAgICAgICBtYXBDb250ZXh0LmZpbGxTdHlsZSA9IGJhY2tncm91bmRDb2xvcjtcbiAgICAgICAgICAgIG1hcENvbnRleHQuZmlsbFJlY3QoMCwgMCwgY2FudmFzLndpZHRoLCBjYW52YXMuaGVpZ2h0KTtcbiAgICAgICAgICB9XG5cbiAgICAgICAgICBsZXQgbWF0cml4O1xuICAgICAgICAgIGNvbnN0IHRyYW5zZm9ybSA9IGNhbnZhcy5zdHlsZS50cmFuc2Zvcm07XG4gICAgICAgICAgaWYgKHRyYW5zZm9ybSkge1xuICAgICAgICAgICAgLy8gR2V0IHRoZSB0cmFuc2Zvcm0gcGFyYW1ldGVycyBmcm9tIHRoZSBzdHlsZSdzIHRyYW5zZm9ybSBtYXRyaXhcbiAgICAgICAgICAgIG1hdHJpeCA9IHRyYW5zZm9ybVxuICAgICAgICAgICAgICAubWF0Y2goL15tYXRyaXhcXCgoW14oXSopXFwpJC8pWzFdXG4gICAgICAgICAgICAgIC5zcGxpdCgnLCcpXG4gICAgICAgICAgICAgIC5tYXAoTnVtYmVyKTtcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbWF0cml4ID0gW1xuICAgICAgICAgICAgICBwYXJzZUZsb2F0KGNhbnZhcy5zdHlsZS53aWR0aCkgLyBjYW52YXMud2lkdGgsXG4gICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgIDAsXG4gICAgICAgICAgICAgIHBhcnNlRmxvYXQoY2FudmFzLnN0eWxlLmhlaWdodCkgLyBjYW52YXMuaGVpZ2h0LFxuICAgICAgICAgICAgICAwLFxuICAgICAgICAgICAgICAwXG4gICAgICAgICAgICBdO1xuICAgICAgICAgIH1cbiAgICAgICAgICAvLyBBcHBseSB0aGUgdHJhbnNmb3JtIHRvIHRoZSBleHBvcnQgbWFwIGNvbnRleHRcbiAgICAgICAgICBDYW52YXNSZW5kZXJpbmdDb250ZXh0MkQucHJvdG90eXBlLnNldFRyYW5zZm9ybS5hcHBseShtYXBDb250ZXh0LCBtYXRyaXgpO1xuICAgICAgICAgIG1hcENvbnRleHQuZHJhd0ltYWdlKGNhbnZhcywgMCwgMCk7XG4gICAgICAgIH1cbiAgICAgIH0pO1xuICAgICAgbWFwQ29udGV4dC5nbG9iYWxBbHBoYSA9IDE7XG4gICAgICByZXNvbHZlKG1hcENhbnZhcy50b0RhdGFVUkwoJ2ltYWdlL3BuZycpKTtcbiAgICB9KTtcbiAgICBtYXAucmVuZGVyU3luYygpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBleHBvcnRNYXBBc0ltYWdlID0gKG1hcDogTWFwLCBmaWxlbmFtZTogc3RyaW5nKSA9PiB7XG4gIGdldE1hcEFzUG5nKG1hcCkudGhlbigoZGF0YSkgPT4ge1xuICAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XG4gICAgbGluay5kb3dubG9hZCA9IGZpbGVuYW1lO1xuICAgIGxpbmsuaHJlZiA9IGRhdGE7XG4gICAgbGluay5jbGljaygpO1xuICB9KTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZW9tZXRyeUZvckxheWVyID0gKGxheWVyOiBNYXBXaWRnZXRMYXllck9wdGlvbnMpID0+IHtcbiAgc3dpdGNoIChsYXllci50eXBlKSB7XG4gICAgY2FzZSAnbWFya2VyJzpcbiAgICBjYXNlICdoZWF0bWFwJzpcbiAgICBjYXNlICdidWJibGUnOlxuICAgIGNhc2UgJ3BvaW50JzpcbiAgICAgIHJldHVybiBGaWVsZFR5cGUuUE9JTlQ7XG4gICAgY2FzZSAnbGluZSc6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLkxJTkU7XG4gICAgY2FzZSAncG9seWdvbic6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLlBPTFlHT047XG4gICAgY2FzZSAnbXVsdGktbGluZSc6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLk1VTFRJTElORTtcbiAgICBjYXNlICdtdWx0aS1wb2x5Z29uJzpcbiAgICAgIHJldHVybiBGaWVsZFR5cGUuTVVMVElQT0xZR09OO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gRmllbGRUeXBlLlBPSU5UO1xuICB9XG59O1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9IRUFUTUFQX1JBRElVUyA9IDI1O1xuZXhwb3J0IGNvbnN0IERFRkFVTFRfUkFESVVTX0lOVEVOU0lUWV9GQUNUT1IgPSAxMDAwMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1pPT01fTUlOID0gMztcbmV4cG9ydCBjb25zdCBERUZBVUxUX1pPT01fU1RBUlQgPSAxMDtcbmV4cG9ydCBjb25zdCBERUZBVUxUX1pPT01fTUFYID0gMTg7XG5leHBvcnQgY29uc3QgREVGQVVMVF9NQVBfQ0VOVEVSID0gWzIuMjgyNzIxNzM0NzM4MTUyNSwgNDguODY0NzA2MDMxNTU3NzE2XTtcbmV4cG9ydCBjb25zdCBFTVBUWV9NQVBfU1RZTEUgPSB7IGxheWVyczogW10gfTtcbiJdfQ==