@mtna/web-form-angular 1.0.6-SNAPSHOT.22 → 1.0.6-SNAPSHOT.24

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 (147) hide show
  1. package/_index.scss +2 -0
  2. package/bundles/mtna-web-form-angular.umd.js +1466 -644
  3. package/bundles/mtna-web-form-angular.umd.js.map +1 -1
  4. package/esm2015/lib/components/form-item-impl/date/date.component.js +6 -29
  5. package/esm2015/lib/components/form-item-impl/date/date.module.js +2 -5
  6. package/esm2015/lib/components/form-item-impl/year-quarter/year-quarter.component.js +1 -1
  7. package/esm2015/lib/components/form-item-injector/form-item-injector.component.js +43 -2
  8. package/esm2015/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.js +105 -12
  9. package/esm2015/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.js +11 -2
  10. package/esm2015/lib/components/template-item-impl/date-item/date-item.component.js +3 -27
  11. package/esm2015/lib/components/template-item-impl/date-item/date-item.module.js +2 -5
  12. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.component.js +4 -4
  13. package/esm2015/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.js +15 -8
  14. package/esm2015/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.js +25 -4
  15. package/esm2015/lib/components/template-item-impl/template-item/template-item.component.js +7 -3
  16. package/esm2015/lib/components/template-item-impl/template-item-injector/template-item-injector.component.js +49 -4
  17. package/esm2015/lib/components/template-item-impl/template-section/template-section.component.js +1 -1
  18. package/esm2015/lib/models/design/design-constants/index.js +2 -0
  19. package/esm2015/lib/models/design/design-constants/template-design-constants.model.js +54 -0
  20. package/esm2015/lib/models/design/design-mapper/bulleted-list-item-template-mapper.js +2 -2
  21. package/esm2015/lib/models/design/design-mapper/date-item-template-mapper.js +10 -18
  22. package/esm2015/lib/models/design/design-mapper/dropdown-item-template-mapper.js +1 -12
  23. package/esm2015/lib/models/design/design-mapper/file-upload-item-template-mapper.js +4 -8
  24. package/esm2015/lib/models/design/design-mapper/i18n-text-response-item-template-mapper.js +2 -2
  25. package/esm2015/lib/models/design/design-mapper/mapper-classes.model.js +35 -26
  26. package/esm2015/lib/models/design/design-mapper/mapping-logic-core.js +23 -5
  27. package/esm2015/lib/models/design/design-mapper/multiple-choice-item-template-mapper.js +1 -11
  28. package/esm2015/lib/models/design/design-mapper/numbered-list-item-template-mapper.js +2 -2
  29. package/esm2015/lib/models/design/design-mapper/numeric-response-item-template-mapper.js +2 -2
  30. package/esm2015/lib/models/design/design-mapper/offset-date-range-template-mapper.js +11 -9
  31. package/esm2015/lib/models/design/design-mapper/option-group-item-mapper.js +27 -10
  32. package/esm2015/lib/models/design/design-mapper/option-item-mapper.js +4 -3
  33. package/esm2015/lib/models/design/design-mapper/option-selector-mapper.js +17 -5
  34. package/esm2015/lib/models/design/design-mapper/repeatable-item-template-mapper.js +2 -2
  35. package/esm2015/lib/models/design/design-mapper/template-item-group-mapper.js +48 -13
  36. package/esm2015/lib/models/design/design-mapper/template-item-mapper.js +47 -33
  37. package/esm2015/lib/models/design/design-mapper/template-mapper.js +7 -5
  38. package/esm2015/lib/models/design/design-mapper/template-section-mapper.js +14 -12
  39. package/esm2015/lib/models/design/design-mapper/text-item-template-mapper.js +2 -2
  40. package/esm2015/lib/models/design/design-mapper/text-response-item-template-mapper.js +2 -2
  41. package/esm2015/lib/models/design/design-mapper/time-item-template-mapper.js +2 -2
  42. package/esm2015/lib/models/design/design-mapper/title-item-template-mapper.js +18 -9
  43. package/esm2015/lib/models/design/design-mapper/year-quarter-range-template-mapper.js +27 -7
  44. package/esm2015/lib/models/design/design-properties/engagement-property-type.model.js +2 -0
  45. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/date-format.js +29 -0
  46. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/index.js +4 -0
  47. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/layout.js +14 -0
  48. package/esm2015/lib/models/design/design-properties/enumeration-value-functions/quarter-range.js +20 -0
  49. package/esm2015/lib/models/design/design-properties/enumerations/date-display-format-enumeration.model.js +38 -0
  50. package/esm2015/lib/models/design/design-properties/enumerations/index.js +4 -0
  51. package/esm2015/lib/models/design/design-properties/enumerations/layout-enumeration.model.js +11 -0
  52. package/esm2015/lib/models/design/design-properties/enumerations/quarter-range-enumeration.model.js +24 -0
  53. package/esm2015/lib/models/design/design-properties/properties/date-format.model.js +14 -0
  54. package/esm2015/lib/models/design/design-properties/properties/index.js +4 -0
  55. package/esm2015/lib/models/design/design-properties/properties/layout.model.js +14 -0
  56. package/esm2015/lib/models/design/design-properties/properties/quarter-range.model.js +23 -0
  57. package/esm2015/lib/models/design/index.js +4 -3
  58. package/esm2015/lib/models/design/potential-designs.model.js +24 -2
  59. package/esm2015/lib/models/design/unavailable-template-item-name-map.model.js +27 -0
  60. package/esm2015/lib/models/i18n-constants.model.js +58 -12
  61. package/esm2015/lib/pipes/get-form-control-error.pipe.js +1 -1
  62. package/esm2015/lib/pipes/get-i18n-string-value-from-locale.pipe.js +2 -2
  63. package/esm2015/lib/pipes/instance-of-template-item.pipe.js +3 -3
  64. package/esm2015/lib/services/api.service.js +58 -28
  65. package/esm2015/lib/services/ui.service.js +2 -2
  66. package/esm2015/lib/state/design/template-design.facade.js +124 -45
  67. package/esm2015/lib/state/form/template-form.effects.js +30 -18
  68. package/esm2015/lib/utilities/enum-property-handlers-util.js +14 -0
  69. package/esm2015/lib/utilities/form-option-design-util.js +5 -5
  70. package/esm2015/lib/utilities/get-design-properties.util.js +8 -0
  71. package/esm2015/lib/utilities/index.js +7 -1
  72. package/esm2015/lib/utilities/is-template-util.js +68 -0
  73. package/esm2015/lib/utilities/item-to-design-base.util.js +25 -0
  74. package/esm2015/lib/utilities/merge-template-util.js +1 -2
  75. package/esm2015/lib/utilities/model-map-util.js +27 -0
  76. package/esm2015/lib/utilities/new-base-designs.util.js +5 -4
  77. package/esm2015/lib/utilities/serializer-util.js +2 -50
  78. package/esm2015/lib/utilities/template-design-core-util.js +8 -7
  79. package/esm2015/lib/utilities/template-design-util.js +7 -74
  80. package/esm2015/lib/utilities/to-design-util.js +24 -0
  81. package/esm2015/lib/utilities/validator-functions-util.js +59 -0
  82. package/fesm2015/mtna-web-form-angular.js +1169 -476
  83. package/fesm2015/mtna-web-form-angular.js.map +1 -1
  84. package/lib/_index.scss +2 -0
  85. package/lib/components/form-item-impl/checkbox/_checkbox-theme.scss +4 -4
  86. package/lib/components/form-item-impl/date/date.component.d.ts +2 -8
  87. package/lib/components/form-item-impl/multiple-choice/_multiple-choice-theme.scss +4 -4
  88. package/lib/components/form-item-injector/form-item-injector.component.d.ts +1 -0
  89. package/lib/components/template-item-impl/checkbox-item/_checkbox-item-template-theme.scss +4 -4
  90. package/lib/components/template-item-impl/date/year-quarter-item/year-quarter-item.component.d.ts +20 -2
  91. package/lib/components/template-item-impl/date/year-quarter-range-item/year-quarter-range-item.component.d.ts +4 -0
  92. package/lib/components/template-item-impl/date-item/date-item.component.d.ts +1 -8
  93. package/lib/components/template-item-impl/decimal-answer-item/decimal-answer-item.module.d.ts +7 -5
  94. package/lib/components/template-item-impl/multiple-choice-item/_multiple-choice-item-theme.scss +65 -0
  95. package/lib/components/template-item-impl/template-display-viewer/template-display-viewer.component.d.ts +4 -2
  96. package/lib/components/template-item-impl/template-item/template-item.component.d.ts +1 -0
  97. package/lib/components/template-item-impl/template-item-injector/template-item-injector.component.d.ts +1 -0
  98. package/lib/components/template-item-impl/template-section/template-section.component.d.ts +1 -1
  99. package/lib/core/_all-color.scss +2 -0
  100. package/lib/core/_all-theme.scss +2 -0
  101. package/lib/core/_all-typography.scss +2 -0
  102. package/lib/models/design/design-constants/index.d.ts +1 -0
  103. package/lib/models/design/{template-design-constants.model.d.ts → design-constants/template-design-constants.model.d.ts} +8 -2
  104. package/lib/models/design/design-mapper/dropdown-item-template-mapper.d.ts +0 -1
  105. package/lib/models/design/design-mapper/mapping-logic-core.d.ts +23 -4
  106. package/lib/models/design/design-mapper/option-selector-mapper.d.ts +1 -0
  107. package/lib/models/design/design-mapper/template-item-group-mapper.d.ts +1 -0
  108. package/lib/models/design/design-mapper/template-item-mapper.d.ts +2 -2
  109. package/lib/models/design/design-mapper/title-item-template-mapper.d.ts +1 -0
  110. package/lib/models/design/design-properties/engagement-property-type.model.d.ts +14 -0
  111. package/lib/models/design/design-properties/enumeration-value-functions/date-format.d.ts +2 -0
  112. package/lib/models/design/design-properties/enumeration-value-functions/index.d.ts +3 -0
  113. package/lib/models/design/design-properties/enumeration-value-functions/layout.d.ts +3 -0
  114. package/lib/models/design/design-properties/enumeration-value-functions/quarter-range.d.ts +2 -0
  115. package/lib/models/design/{enumerations/date-enumeration.model.d.ts → design-properties/enumerations/date-display-format-enumeration.model.d.ts} +2 -1
  116. package/lib/models/design/design-properties/enumerations/index.d.ts +3 -0
  117. package/lib/models/design/design-properties/enumerations/layout-enumeration.model.d.ts +4 -0
  118. package/lib/models/design/design-properties/enumerations/quarter-range-enumeration.model.d.ts +6 -0
  119. package/lib/models/design/design-properties/properties/date-format.model.d.ts +2 -0
  120. package/lib/models/design/design-properties/properties/index.d.ts +3 -0
  121. package/lib/models/design/design-properties/properties/layout.model.d.ts +2 -0
  122. package/lib/models/design/design-properties/properties/quarter-range.model.d.ts +3 -0
  123. package/lib/models/design/index.d.ts +3 -2
  124. package/lib/models/design/unavailable-template-item-name-map.model.d.ts +1 -0
  125. package/lib/models/i18n-constants.model.d.ts +56 -10
  126. package/lib/pipes/get-form-control-error.pipe.d.ts +2 -2
  127. package/lib/pipes/get-i18n-string-value-from-locale.pipe.d.ts +1 -1
  128. package/lib/services/api.service.d.ts +52 -18
  129. package/lib/services/ui.service.d.ts +2 -2
  130. package/lib/state/design/template-design.facade.d.ts +26 -0
  131. package/lib/state/form/template-form.effects.d.ts +0 -6
  132. package/lib/utilities/enum-property-handlers-util.d.ts +4 -0
  133. package/lib/utilities/form-option-design-util.d.ts +2 -2
  134. package/lib/utilities/get-design-properties.util.d.ts +3 -0
  135. package/lib/utilities/index.d.ts +6 -0
  136. package/lib/utilities/is-template-util.d.ts +5 -0
  137. package/lib/utilities/item-to-design-base.util.d.ts +5 -0
  138. package/lib/utilities/model-map-util.d.ts +2 -0
  139. package/lib/utilities/template-design-core-util.d.ts +4 -4
  140. package/lib/utilities/template-design-util.d.ts +4 -7
  141. package/lib/utilities/to-design-util.d.ts +4 -0
  142. package/lib/utilities/validator-functions-util.d.ts +12 -0
  143. package/package.json +2 -2
  144. package/esm2015/lib/models/design/enumerations/date-enumeration.model.js +0 -33
  145. package/esm2015/lib/models/design/enumerations/index.js +0 -2
  146. package/esm2015/lib/models/design/template-design-constants.model.js +0 -48
  147. package/lib/models/design/enumerations/index.d.ts +0 -1
@@ -1,10 +1,10 @@
1
- import { instanceOfModelDesignProperty } from '@mtna/designer-ts';
1
+ import { instanceOfModelDesignProperty, } from '@mtna/designer-ts';
2
2
  import { OptionSelectorMapper } from '../models/design/design-mapper/option-selector-mapper';
3
3
  import { isPresent, isType } from '@mtna/core-ts';
4
4
  import { optionGroupItemSectionDisplayNameMap } from '../models/design/option-group-item-section-display-name-map.model';
5
5
  import { optionItemSectionDisplayNameMap } from '../models/design/option-item-section-display-name-map.model';
6
6
  import { i18n_optionProperties } from '../models/i18n-constants.model';
7
- import { prop_item_option, prop_item_options, prop_option_template } from '../models/design/template-design-constants.model';
7
+ import { prop_item_option, prop_item_options, prop_option_template, } from '../models/design/design-constants/template-design-constants.model';
8
8
  export function getNewFormOptionSelector(designBase) {
9
9
  return {
10
10
  acknowledgement: {},
@@ -70,7 +70,7 @@ function getOptionTemplateDesign(optionDesign) {
70
70
  const designs = getDesignsBySectionAndProperty(optionDesign, i18n_optionProperties, prop_option_template);
71
71
  return isPresent(designs[0]) ? designs[0] : undefined;
72
72
  }
73
- export function getOptionsAndTemplateMap(design, mapperType, toTemplateItemFn, context) {
73
+ export function getOptionsAndTemplateMap(design, mapperType, toTemplateItemFn, context, customParams) {
74
74
  const options = [];
75
75
  const optionTemplateMap = {};
76
76
  const optionDesigns = getOptionDesigns(design, mapperType);
@@ -79,10 +79,10 @@ export function getOptionsAndTemplateMap(design, mapperType, toTemplateItemFn, c
79
79
  options.push(optionSelector);
80
80
  const optionTemplateDesign = getOptionTemplateDesign(optionDesign);
81
81
  if (isPresent(optionTemplateDesign)) {
82
- const optionTemplate = toTemplateItemFn(optionTemplateDesign, context);
82
+ const optionTemplate = toTemplateItemFn(optionTemplateDesign, context, customParams);
83
83
  optionTemplateMap[optionSelector.option.id] = optionTemplate;
84
84
  }
85
85
  }
86
86
  return { options, optionTemplateMap };
87
87
  }
88
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vcHRpb24tZGVzaWduLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2Zvcm0tb3B0aW9uLWRlc2lnbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFBK0MsNkJBQTZCLEVBQXdCLE1BQU0sbUJBQW1CLENBQUM7QUFDckksT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sdURBQXVELENBQUM7QUFDN0YsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbEQsT0FBTyxFQUFFLG9DQUFvQyxFQUFFLE1BQU0sbUVBQW1FLENBQUM7QUFDekgsT0FBTyxFQUFFLCtCQUErQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDOUcsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGdCQUFnQixFQUFFLGlCQUFpQixFQUFFLG9CQUFvQixFQUFFLE1BQU0sa0RBQWtELENBQUM7QUFFN0gsTUFBTSxVQUFVLHdCQUF3QixDQUFDLFVBQXNCO0lBQzdELE9BQU87UUFDTCxlQUFlLEVBQUUsRUFBYTtRQUM5QixvQkFBb0IsRUFBRSxFQUFFO1FBQ3hCLFNBQVMsRUFBRSxFQUFFO1FBQ2IsYUFBYSxFQUFFLEVBQUU7UUFDakIsWUFBWSxFQUFFLEVBQUU7UUFDaEIsV0FBVyxFQUFFLEtBQUs7UUFDbEIsTUFBTSxFQUFFO1lBQ04sSUFBSSxFQUFFLFVBQVUsQ0FBQyxPQUFPO1lBQ3hCLElBQUksRUFBRSxFQUFFO1lBQ1IsV0FBVyxFQUFFLEVBQUU7WUFDZixFQUFFLEVBQUUsVUFBVSxDQUFDLEVBQUU7WUFDakIsS0FBSyxFQUFFLFNBQVM7U0FDRTtRQUNwQixRQUFRLEVBQUUsS0FBSztRQUNmLGNBQWMsRUFBRSxDQUFDO1FBQ2pCLFdB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QUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQztBQUN4RCxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxNQUFjLEVBQ2QsVUFBNEMsRUFDNUMsZ0JBQXFFLEVBQ3JFLE9BQWlCO0lBS2pCLE1BQU0sT0FBTyxHQUE0QixFQUFFLENBQUM7SUFDNUMsTUFBTSxpQkFBaUIsR0FBaUMsRUFBRSxDQUFDO0lBRTNELE1BQU0sYUFBYSxHQUFhLGdCQUFnQixDQUFDLE1BQU0sRUFBRSxVQUFVLENBQUMsQ0FBQztJQUVyRSxLQUFLLE1BQU0sWUFBWSxJQUFJLGFBQWEsRUFBRTtRQUN4QyxNQUFNLGNBQWMsR0FBMEIsc0JBQXNCLENBQUksWUFBWSxFQUFFLE9BQU8sQ0FBQyxDQUFDO1FBQy9GLE9BQU8sQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUM7UUFFN0IsTUFBTSxvQkFBb0IsR0FBdUIsdUJBQXVCLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFdkYsSUFBSSxTQUFTLENBQUMsb0JBQW9CLENBQUMsRUFBRTtZQUNuQyxNQUFNLGNBQWMsR0FBRyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRSxPQUFPLENBQUMsQ0FBQztZQUN2RSxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQztTQUM5RDtLQUNGO0lBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtT3B0aW9uU2VsZWN0b3IsIE9wdGlvbiwgU2VjdGlvbiwgVGVtcGxhdGVJdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHsgTXRuYUxhbmd1YWdlSWQgfSBmcm9tICdAbXRuYS9jb3JlLWkxOG4tYW5ndWxhcic7XG5pbXBvcnQgeyBDb250ZXh0LCBEZXNpZ24sIERlc2lnbkJhc2UsIERlc2lnblByb3BlcnR5LCBpbnN0YW5jZU9mTW9kZWxEZXNpZ25Qcm9wZXJ0eSwgUmVmZXJlbmNlRGVzaWduVmFsdWUgfSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBPcHRpb25TZWxlY3Rvck1hcHBlciB9IGZyb20gJy4uL21vZGVscy9kZXNpZ24vZGVzaWduLW1hcHBlci9vcHRpb24tc2VsZWN0b3ItbWFwcGVyJztcbmltcG9ydCB7IGlzUHJlc2VudCwgaXNUeXBlIH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgeyBvcHRpb25Hcm91cEl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXAgfSBmcm9tICcuLi9tb2RlbHMvZGVzaWduL29wdGlvbi1ncm91cC1pdGVtLXNlY3Rpb24tZGlzcGxheS1uYW1lLW1hcC5tb2RlbCc7XG5pbXBvcnQgeyBvcHRpb25JdGVtU2VjdGlvbkRpc3BsYXlOYW1lTWFwIH0gZnJvbSAnLi4vbW9kZWxzL2Rlc2lnbi9vcHRpb24taXRlbS1zZWN0aW9uLWRpc3BsYXktbmFtZS1tYXAubW9kZWwnO1xuaW1wb3J0IHsgaTE4bl9vcHRpb25Qcm9wZXJ0aWVzIH0gZnJvbSAnLi4vbW9kZWxzL2kxOG4tY29uc3RhbnRzLm1vZGVsJztcbmltcG9ydCB7IHByb3BfaXRlbV9vcHRpb24sIHByb3BfaXRlbV9vcHRpb25zLCBwcm9wX29wdGlvbl90ZW1wbGF0ZSB9IGZyb20gJy4uL21vZGVscy9kZXNpZ24vdGVtcGxhdGUtZGVzaWduLWNvbnN0YW50cy5tb2RlbCc7XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXdGb3JtT3B0aW9uU2VsZWN0b3IoZGVzaWduQmFzZTogRGVzaWduQmFzZSk6IEZvcm1PcHRpb25TZWxlY3RvcjxPcHRpb248dW5rbm93bj4+IHtcbiAgcmV0dXJuIHtcbiAgICBhY2tub3dsZWRnZW1lbnQ6IHt9IGFzIFNlY3Rpb24sXG4gICAgY29udGFpbmVyRGVzY3JpcHRpb246ICcnLFxuICAgIGNvZGVWYWx1ZTogJycsXG4gICAgZGlzYWJsZWRJdGVtczogW10sXG4gICAgZW5hYmxlZEl0ZW1zOiBbXSxcbiAgICBtdWx0aVNlbGVjdDogZmFsc2UsXG4gICAgb3B0aW9uOiB7XG4gICAgICBuYW1lOiBkZXNpZ25CYXNlLmRpc3BsYXksXG4gICAgICBoZWxwOiAnJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnJyxcbiAgICAgIGlkOiBkZXNpZ25CYXNlLmlkLFxuICAgICAgdmFsdWU6IHVuZGVmaW5lZCxcbiAgICB9IGFzIE9wdGlvbjx1bmtub3duPixcbiAgICBzZWxlY3RlZDogZmFsc2UsXG4gICAgc2VsZWN0aW9uQ291bnQ6IDAsXG4gICAgdW5hdmFpbGFibGU6IGZhbHNlLFxuICB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gb3B0aW9uU2VsZWN0b3JUb0Rlc2lnbjxPIGV4dGVuZHMgT3B0aW9uPHVua25vd24+PihcbiAgZm9ybU9wdGlvblNlbGVjdG9yOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz4sXG4gIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLFxuICBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPixcbiAgcmVmZXJlbmNlczogUmVjb3JkPHN0cmluZywgUmVmZXJlbmNlRGVzaWduVmFsdWU+LFxuICBwYXJlbnQ/OiBEZXNpZ25CYXNlLFxuICBjb250ZXh0PzogQ29udGV4dFxuKTogRGVzaWduIHtcbiAgY29uc3QgZGVzaWduOiBEZXNpZ24gPSBuZXcgT3B0aW9uU2VsZWN0b3JNYXBwZXIoe1xuICAgIG1vZGVsOiBmb3JtT3B0aW9uU2VsZWN0b3IsXG4gICAgbGFuZ3VhZ2VJZCxcbiAgICBjb250ZXh0LFxuICAgIGN1c3RvbVBhcmFtczogeyBvcHRpb25UZW1wbGF0ZU1hcCwgcmVmZXJlbmNlcyB9LFxuICB9KS5nZXREZXNpZ24oKTtcbiAgcmV0dXJuIHsgLi4uZGVzaWduLCBwYXJlbnQgfTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGRlc2lnblRvT3B0aW9uU2VsZWN0b3I8TyBleHRlbmRzIE9wdGlvbjx1bmtub3duPj4oZGVzaWduOiBEZXNpZ24sIGNvbnRleHQ/OiBDb250ZXh0KTogRm9ybU9wdGlvblNlbGVjdG9yPE8+IHtcbiAgY29uc3QgZm9ybU9wdGlvblNlbGVjdG9yID0gbmV3IE9wdGlvblNlbGVjdG9yTWFwcGVyKHtcbiAgICBkZXNpZ24sXG4gICAgY29udGV4dCxcbiAgfSkuZ2V0TW9kZWwoKTtcbiAgcmV0dXJuIGZvcm1PcHRpb25TZWxlY3RvciBhcyBGb3JtT3B0aW9uU2VsZWN0b3I8Tz47XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXRPcHRpb25TZWxlY3RvclBvdGVudGlhbERlc2lnbnMoZGVzaWduOiBEZXNpZ24sIHByb3BlcnR5OiBEZXNpZ25Qcm9wZXJ0eSk6IERlc2lnbkJhc2VbXSB7XG4gIGNvbnN0IHBvdGVudGlhbERlc2lnbnMgPSBuZXcgT3B0aW9uU2VsZWN0b3JNYXBwZXIoeyBkZXNpZ24gfSkuZ2V0UG90ZW50aWFsRGVzaWducyhwcm9wZXJ0eSk7XG4gIHJldHVybiBwb3RlbnRpYWxEZXNpZ25zO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gaW5zdGFuY2VPZkZvcm1PcHRpb25TZWxlY3Rvcihzb21ldGhpbmc6IHVua25vd24pOiBzb21ldGhpbmcgaXMgRm9ybU9wdGlvblNlbGVjdG9yPE9wdGlvbjx1bmtub3duPj4ge1xuICByZXR1cm4gKFxuICAgIGlzVHlwZTxGb3JtT3B0aW9uU2VsZWN0b3I8T3B0aW9uPHVua25vd24+Pj4oc29tZXRoaW5nLCAnY29udGFpbmVyRGVzY3JpcHRpb24nLCAnY29kZVZhbHVlJywgJ29wdGlvbicpICYmXG4gICAgaXNQcmVzZW50KHNvbWV0aGluZy5jb250YWluZXJEZXNjcmlwdGlvbikgJiZcbiAgICBpc1ByZXNlbnQoc29tZXRoaW5nLmNvZGVWYWx1ZSkgJiZcbiAgICBpc1ByZXNlbnQoc29tZXRoaW5nLm9wdGlvbilcbiAgKTtcbn1cblxuZnVuY3Rpb24gZ2V0RGVzaWduc0J5U2VjdGlvbkFuZFByb3BlcnR5KGRlc2lnbjogRGVzaWduLCBzZWN0aW9uRGlzcGxheTogc3RyaW5nLCBwcm9wZXJ0eUtleTogc3RyaW5nKTogRGVzaWduW10ge1xuICBjb25zdCBzZWN0aW9uID0gZGVzaWduLnNlY3Rpb25zLmZpbmQoKHMpID0+IHMuZGlzcGxheSA9PT0gc2VjdGlvbkRpc3BsYXkpO1xuICBpZiAoIXNlY3Rpb24pIHJldHVybiBbXTtcblxuICBjb25zdCBwcm9wZXJ0eSA9IHNlY3Rpb24ucHJvcGVydGllcy5maW5kKChwKSA9PiBpbnN0YW5jZU9mTW9kZWxEZXNpZ25Qcm9wZXJ0eShwKSAmJiBwLnByb3BlcnR5ID09PSBwcm9wZXJ0eUtleSk7XG5cbiAgaWYgKHByb3BlcnR5ICYmIGluc3RhbmNlT2ZNb2RlbERlc2lnblByb3BlcnR5KHByb3BlcnR5KSkge1xuICAgIHJldHVybiBwcm9wZXJ0eS52YWx1ZXM7XG4gIH1cblxuICByZXR1cm4gW107XG59XG5cbmZ1bmN0aW9uIGdldE9wdGlvbkRlc2lnbnMoZGVzaWduOiBEZXNpZ24sIG1hcHBlclR5cGU6ICdvcHRpb25Hcm91cEl0ZW0nIHwgJ29wdGlvbkl0ZW0nKTogRGVzaWduW10ge1xuICBjb25zdCBzZWN0aW9uRGlzcGxheSA9XG4gICAgbWFwcGVyVHlwZSA9PT0gJ29wdGlvbkdyb3VwSXRlbScgPyBvcHRpb25Hcm91cEl0ZW1TZWN0aW9uRGlzcGxheU5hbWVNYXBbZGVzaWduLnR5cGVdIDogb3B0aW9uSXRlbVNlY3Rpb25EaXNwbGF5TmFtZU1hcFtkZXNpZ24udHlwZV07XG4gIGNvbnN0IHByb3BlcnR5S2V5ID0gbWFwcGVyVHlwZSA9PT0gJ29wdGlvbkdyb3VwSXRlbScgPyBwcm9wX2l0ZW1fb3B0aW9ucyA6IHByb3BfaXRlbV9vcHRpb247XG5cbiAgcmV0dXJuIGdldERlc2lnbnNCeVNlY3Rpb25BbmRQcm9wZXJ0eShkZXNpZ24sIHNlY3Rpb25EaXNwbGF5LCBwcm9wZXJ0eUtleSk7XG59XG5cbmZ1bmN0aW9uIGdldE9wdGlvblRlbXBsYXRlRGVzaWduKG9wdGlvbkRlc2lnbjogRGVzaWduKTogRGVzaWduIHwgdW5kZWZpbmVkIHtcbiAgY29uc3QgZGVzaWducyA9IGdldERlc2lnbnNCeVNlY3Rpb25BbmRQcm9wZXJ0eShvcHRpb25EZXNpZ24sIGkxOG5fb3B0aW9uUHJvcGVydGllcywgcHJvcF9vcHRpb25fdGVtcGxhdGUpO1xuICByZXR1cm4gaXNQcmVzZW50KGRlc2lnbnNbMF0pID8gZGVzaWduc1swXSA6IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvbnNBbmRUZW1wbGF0ZU1hcDxPIGV4dGVuZHMgT3B0aW9uPHVua25vd24+PihcbiAgZGVzaWduOiBEZXNpZ24sXG4gIG1hcHBlclR5cGU6ICdvcHRpb25Hcm91cEl0ZW0nIHwgJ29wdGlvbkl0ZW0nLFxuICB0b1RlbXBsYXRlSXRlbUZuOiAoZGVzaWduOiBEZXNpZ24sIGNvbnRleHQ/OiBDb250ZXh0KSA9PiBUZW1wbGF0ZUl0ZW0sXG4gIGNvbnRleHQ/OiBDb250ZXh0XG4pOiB7XG4gIG9wdGlvbnM6IEZvcm1PcHRpb25TZWxlY3RvcjxPPltdO1xuICBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPjtcbn0ge1xuICBjb25zdCBvcHRpb25zOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz5bXSA9IFtdO1xuICBjb25zdCBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPiA9IHt9O1xuXG4gIGNvbnN0IG9wdGlvbkRlc2lnbnM6IERlc2lnbltdID0gZ2V0T3B0aW9uRGVzaWducyhkZXNpZ24sIG1hcHBlclR5cGUpO1xuXG4gIGZvciAoY29uc3Qgb3B0aW9uRGVzaWduIG9mIG9wdGlvbkRlc2lnbnMpIHtcbiAgICBjb25zdCBvcHRpb25TZWxlY3RvcjogRm9ybU9wdGlvblNlbGVjdG9yPE8+ID0gZGVzaWduVG9PcHRpb25TZWxlY3RvcjxPPihvcHRpb25EZXNpZ24sIGNvbnRleHQpO1xuICAgIG9wdGlvbnMucHVzaChvcHRpb25TZWxlY3Rvcik7XG5cbiAgICBjb25zdCBvcHRpb25UZW1wbGF0ZURlc2lnbjogRGVzaWduIHwgdW5kZWZpbmVkID0gZ2V0T3B0aW9uVGVtcGxhdGVEZXNpZ24ob3B0aW9uRGVzaWduKTtcblxuICAgIGlmIChpc1ByZXNlbnQob3B0aW9uVGVtcGxhdGVEZXNpZ24pKSB7XG4gICAgICBjb25zdCBvcHRpb25UZW1wbGF0ZSA9IHRvVGVtcGxhdGVJdGVtRm4ob3B0aW9uVGVtcGxhdGVEZXNpZ24sIGNvbnRleHQpO1xuICAgICAgb3B0aW9uVGVtcGxhdGVNYXBbb3B0aW9uU2VsZWN0b3Iub3B0aW9uLmlkXSA9IG9wdGlvblRlbXBsYXRlO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IG9wdGlvbnMsIG9wdGlvblRlbXBsYXRlTWFwIH07XG59XG4iXX0=
88
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9ybS1vcHRpb24tZGVzaWduLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2Zvcm0tb3B0aW9uLWRlc2lnbi11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sRUFLTCw2QkFBNkIsR0FHOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUMzQixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSx1REFBdUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUNsRCxPQUFPLEVBQUUsb0NBQW9DLEVBQUUsTUFBTSxtRUFBbUUsQ0FBQztBQUN6SCxPQUFPLEVBQUUsK0JBQStCLEVBQUUsTUFBTSw2REFBNkQsQ0FBQztBQUM5RyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN2RSxPQUFPLEVBQ0wsZ0JBQWdCLEVBQ2hCLGlCQUFpQixFQUNqQixvQkFBb0IsR0FDckIsTUFBTSxtRUFBbUUsQ0FBQztBQUUzRSxNQUFNLFVBQVUsd0JBQXdCLENBQUMsVUFBc0I7SUFDN0QsT0FBTztRQUNMLGVBQWUsRUFBRSxFQUFhO1FBQzlCLG9CQUFvQixFQUFFLEVBQUU7UUFDeEIsU0FBUyxFQUFFLEVBQUU7UUFDYixhQUFhLEVBQUUsRUFBRTtRQUNqQixZQUFZLEVBQUUsRUFBRTtRQUNoQixXQUFXLEVBQUUsS0FBSztRQUNsQixNQUFNLEVBQUU7WUFDTixJQUFJLEVBQUUsVUFBVSxDQUFDLE9BQU87WUFDeEIsSUFBSSxFQUFFLEVBQUU7WUFDUixXQUFXLEVBQUUsRUFBRTtZQUNmLEVBQUUsRUFBRSxVQUFVLENBQUMsRUFBRTtZQUNqQixLQUFLLEVBQUUsU0FBUztTQUNFO1FBQ3BCLFFBQVEsRUFBRSxLQUFLO1FBQ2YsY0FBYyxFQUFFLENBQUM7UUFDakIs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LENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0FBQ3hELENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQ3RDLE1BQWMsRUFDZCxVQUE0QyxFQUM1QyxnQkFBMkcsRUFDM0csT0FBaUIsRUFDakIsWUFBb0M7SUFLcEMsTUFBTSxPQUFPLEdBQTRCLEVBQUUsQ0FBQztJQUM1QyxNQUFNLGlCQUFpQixHQUFpQyxFQUFFLENBQUM7SUFFM0QsTUFBTSxhQUFhLEdBQWEsZ0JBQWdCLENBQUMsTUFBTSxFQUFFLFVBQVUsQ0FBQyxDQUFDO0lBRXJFLEtBQUssTUFBTSxZQUFZLElBQUksYUFBYSxFQUFFO1FBQ3hDLE1BQU0sY0FBYyxHQUEwQixzQkFBc0IsQ0FBSSxZQUFZLEVBQUUsT0FBTyxDQUFDLENBQUM7UUFDL0YsT0FBTyxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQztRQUU3QixNQUFNLG9CQUFvQixHQUF1Qix1QkFBdUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUV2RixJQUFJLFNBQVMsQ0FBQyxvQkFBb0IsQ0FBQyxFQUFFO1lBQ25DLE1BQU0sY0FBYyxHQUFHLGdCQUFnQixDQUFDLG9CQUFvQixFQUFFLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQztZQUNyRixpQkFBaUIsQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxHQUFHLGNBQWMsQ0FBQztTQUM5RDtLQUNGO0lBRUQsT0FBTyxFQUFFLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxDQUFDO0FBQ3hDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBGb3JtT3B0aW9uU2VsZWN0b3IsIE9wdGlvbiwgU2VjdGlvbiwgVGVtcGxhdGVJdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHsgTXRuYUxhbmd1YWdlSWQgfSBmcm9tICdAbXRuYS9jb3JlLWkxOG4tYW5ndWxhcic7XG5pbXBvcnQge1xuICBDb250ZXh0LFxuICBEZXNpZ24sXG4gIERlc2lnbkJhc2UsXG4gIERlc2lnblByb3BlcnR5LFxuICBpbnN0YW5jZU9mTW9kZWxEZXNpZ25Qcm9wZXJ0eSxcbiAgUmVmZXJlbmNlRGVzaWduUGFyYW1zLFxuICBSZWZlcmVuY2VEZXNpZ25WYWx1ZSxcbn0gZnJvbSAnQG10bmEvZGVzaWduZXItdHMnO1xuaW1wb3J0IHsgT3B0aW9uU2VsZWN0b3JNYXBwZXIgfSBmcm9tICcuLi9tb2RlbHMvZGVzaWduL2Rlc2lnbi1tYXBwZXIvb3B0aW9uLXNlbGVjdG9yLW1hcHBlcic7XG5pbXBvcnQgeyBpc1ByZXNlbnQsIGlzVHlwZSB9IGZyb20gJ0BtdG5hL2NvcmUtdHMnO1xuaW1wb3J0IHsgb3B0aW9uR3JvdXBJdGVtU2VjdGlvbkRpc3BsYXlOYW1lTWFwIH0gZnJvbSAnLi4vbW9kZWxzL2Rlc2lnbi9vcHRpb24tZ3JvdXAtaXRlbS1zZWN0aW9uLWRpc3BsYXktbmFtZS1tYXAubW9kZWwnO1xuaW1wb3J0IHsgb3B0aW9uSXRlbVNlY3Rpb25EaXNwbGF5TmFtZU1hcCB9IGZyb20gJy4uL21vZGVscy9kZXNpZ24vb3B0aW9uLWl0ZW0tc2VjdGlvbi1kaXNwbGF5LW5hbWUtbWFwLm1vZGVsJztcbmltcG9ydCB7IGkxOG5fb3B0aW9uUHJvcGVydGllcyB9IGZyb20gJy4uL21vZGVscy9pMThuLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQge1xuICBwcm9wX2l0ZW1fb3B0aW9uLFxuICBwcm9wX2l0ZW1fb3B0aW9ucyxcbiAgcHJvcF9vcHRpb25fdGVtcGxhdGUsXG59IGZyb20gJy4uL21vZGVscy9kZXNpZ24vZGVzaWduLWNvbnN0YW50cy90ZW1wbGF0ZS1kZXNpZ24tY29uc3RhbnRzLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ld0Zvcm1PcHRpb25TZWxlY3RvcihkZXNpZ25CYXNlOiBEZXNpZ25CYXNlKTogRm9ybU9wdGlvblNlbGVjdG9yPE9wdGlvbjx1bmtub3duPj4ge1xuICByZXR1cm4ge1xuICAgIGFja25vd2xlZGdlbWVudDoge30gYXMgU2VjdGlvbixcbiAgICBjb250YWluZXJEZXNjcmlwdGlvbjogJycsXG4gICAgY29kZVZhbHVlOiAnJyxcbiAgICBkaXNhYmxlZEl0ZW1zOiBbXSxcbiAgICBlbmFibGVkSXRlbXM6IFtdLFxuICAgIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgICBvcHRpb246IHtcbiAgICAgIG5hbWU6IGRlc2lnbkJhc2UuZGlzcGxheSxcbiAgICAgIGhlbHA6ICcnLFxuICAgICAgZGVzY3JpcHRpb246ICcnLFxuICAgICAgaWQ6IGRlc2lnbkJhc2UuaWQsXG4gICAgICB2YWx1ZTogdW5kZWZpbmVkLFxuICAgIH0gYXMgT3B0aW9uPHVua25vd24+LFxuICAgIHNlbGVjdGVkOiBmYWxzZSxcbiAgICBzZWxlY3Rpb25Db3VudDogMCxcbiAgICB1bmF2YWlsYWJsZTogZmFsc2UsXG4gIH07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBvcHRpb25TZWxlY3RvclRvRGVzaWduPE8gZXh0ZW5kcyBPcHRpb248dW5rbm93bj4+KFxuICBmb3JtT3B0aW9uU2VsZWN0b3I6IEZvcm1PcHRpb25TZWxlY3RvcjxPPixcbiAgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQsXG4gIG9wdGlvblRlbXBsYXRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+LFxuICByZWZlcmVuY2VzOiBSZWNvcmQ8c3RyaW5nLCBSZWZlcmVuY2VEZXNpZ25WYWx1ZT4sXG4gIHBhcmVudD86IERlc2lnbkJhc2UsXG4gIGNvbnRleHQ/OiBDb250ZXh0XG4pOiBEZXNpZ24ge1xuICBjb25zdCBkZXNpZ246IERlc2lnbiA9IG5ldyBPcHRpb25TZWxlY3Rvck1hcHBlcih7XG4gICAgbW9kZWw6IGZvcm1PcHRpb25TZWxlY3RvcixcbiAgICBsYW5ndWFnZUlkLFxuICAgIGNvbnRleHQsXG4gICAgY3VzdG9tUGFyYW1zOiB7IG9wdGlvblRlbXBsYXRlTWFwLCByZWZlcmVuY2VzIH0sXG4gIH0pLmdldERlc2lnbigpO1xuICByZXR1cm4geyAuLi5kZXNpZ24sIHBhcmVudCB9O1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZGVzaWduVG9PcHRpb25TZWxlY3RvcjxPIGV4dGVuZHMgT3B0aW9uPHVua25vd24+PihkZXNpZ246IERlc2lnbiwgY29udGV4dD86IENvbnRleHQpOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz4ge1xuICBjb25zdCBmb3JtT3B0aW9uU2VsZWN0b3IgPSBuZXcgT3B0aW9uU2VsZWN0b3JNYXBwZXIoe1xuICAgIGRlc2lnbixcbiAgICBjb250ZXh0LFxuICB9KS5nZXRNb2RlbCgpO1xuICByZXR1cm4gZm9ybU9wdGlvblNlbGVjdG9yIGFzIEZvcm1PcHRpb25TZWxlY3RvcjxPPjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGdldE9wdGlvblNlbGVjdG9yUG90ZW50aWFsRGVzaWducyhkZXNpZ246IERlc2lnbiwgcHJvcGVydHk6IERlc2lnblByb3BlcnR5KTogRGVzaWduQmFzZVtdIHtcbiAgY29uc3QgcG90ZW50aWFsRGVzaWducyA9IG5ldyBPcHRpb25TZWxlY3Rvck1hcHBlcih7IGRlc2lnbiB9KS5nZXRQb3RlbnRpYWxEZXNpZ25zKHByb3BlcnR5KTtcbiAgcmV0dXJuIHBvdGVudGlhbERlc2lnbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBpbnN0YW5jZU9mRm9ybU9wdGlvblNlbGVjdG9yKHNvbWV0aGluZzogdW5rbm93bik6IHNvbWV0aGluZyBpcyBGb3JtT3B0aW9uU2VsZWN0b3I8T3B0aW9uPHVua25vd24+PiB7XG4gIHJldHVybiAoXG4gICAgaXNUeXBlPEZvcm1PcHRpb25TZWxlY3RvcjxPcHRpb248dW5rbm93bj4+Pihzb21ldGhpbmcsICdjb250YWluZXJEZXNjcmlwdGlvbicsICdjb2RlVmFsdWUnLCAnb3B0aW9uJykgJiZcbiAgICBpc1ByZXNlbnQoc29tZXRoaW5nLmNvbnRhaW5lckRlc2NyaXB0aW9uKSAmJlxuICAgIGlzUHJlc2VudChzb21ldGhpbmcuY29kZVZhbHVlKSAmJlxuICAgIGlzUHJlc2VudChzb21ldGhpbmcub3B0aW9uKVxuICApO1xufVxuXG5mdW5jdGlvbiBnZXREZXNpZ25zQnlTZWN0aW9uQW5kUHJvcGVydHkoZGVzaWduOiBEZXNpZ24sIHNlY3Rpb25EaXNwbGF5OiBzdHJpbmcsIHByb3BlcnR5S2V5OiBzdHJpbmcpOiBEZXNpZ25bXSB7XG4gIGNvbnN0IHNlY3Rpb24gPSBkZXNpZ24uc2VjdGlvbnMuZmluZCgocykgPT4gcy5kaXNwbGF5ID09PSBzZWN0aW9uRGlzcGxheSk7XG4gIGlmICghc2VjdGlvbikgcmV0dXJuIFtdO1xuXG4gIGNvbnN0IHByb3BlcnR5ID0gc2VjdGlvbi5wcm9wZXJ0aWVzLmZpbmQoKHApID0+IGluc3RhbmNlT2ZNb2RlbERlc2lnblByb3BlcnR5KHApICYmIHAucHJvcGVydHkgPT09IHByb3BlcnR5S2V5KTtcblxuICBpZiAocHJvcGVydHkgJiYgaW5zdGFuY2VPZk1vZGVsRGVzaWduUHJvcGVydHkocHJvcGVydHkpKSB7XG4gICAgcmV0dXJuIHByb3BlcnR5LnZhbHVlcztcbiAgfVxuXG4gIHJldHVybiBbXTtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uRGVzaWducyhkZXNpZ246IERlc2lnbiwgbWFwcGVyVHlwZTogJ29wdGlvbkdyb3VwSXRlbScgfCAnb3B0aW9uSXRlbScpOiBEZXNpZ25bXSB7XG4gIGNvbnN0IHNlY3Rpb25EaXNwbGF5ID1cbiAgICBtYXBwZXJUeXBlID09PSAnb3B0aW9uR3JvdXBJdGVtJyA/IG9wdGlvbkdyb3VwSXRlbVNlY3Rpb25EaXNwbGF5TmFtZU1hcFtkZXNpZ24udHlwZV0gOiBvcHRpb25JdGVtU2VjdGlvbkRpc3BsYXlOYW1lTWFwW2Rlc2lnbi50eXBlXTtcbiAgY29uc3QgcHJvcGVydHlLZXkgPSBtYXBwZXJUeXBlID09PSAnb3B0aW9uR3JvdXBJdGVtJyA/IHByb3BfaXRlbV9vcHRpb25zIDogcHJvcF9pdGVtX29wdGlvbjtcblxuICByZXR1cm4gZ2V0RGVzaWduc0J5U2VjdGlvbkFuZFByb3BlcnR5KGRlc2lnbiwgc2VjdGlvbkRpc3BsYXksIHByb3BlcnR5S2V5KTtcbn1cblxuZnVuY3Rpb24gZ2V0T3B0aW9uVGVtcGxhdGVEZXNpZ24ob3B0aW9uRGVzaWduOiBEZXNpZ24pOiBEZXNpZ24gfCB1bmRlZmluZWQge1xuICBjb25zdCBkZXNpZ25zID0gZ2V0RGVzaWduc0J5U2VjdGlvbkFuZFByb3BlcnR5KG9wdGlvbkRlc2lnbiwgaTE4bl9vcHRpb25Qcm9wZXJ0aWVzLCBwcm9wX29wdGlvbl90ZW1wbGF0ZSk7XG4gIHJldHVybiBpc1ByZXNlbnQoZGVzaWduc1swXSkgPyBkZXNpZ25zWzBdIDogdW5kZWZpbmVkO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gZ2V0T3B0aW9uc0FuZFRlbXBsYXRlTWFwPE8gZXh0ZW5kcyBPcHRpb248dW5rbm93bj4+KFxuICBkZXNpZ246IERlc2lnbixcbiAgbWFwcGVyVHlwZTogJ29wdGlvbkdyb3VwSXRlbScgfCAnb3B0aW9uSXRlbScsXG4gIHRvVGVtcGxhdGVJdGVtRm46IChkZXNpZ246IERlc2lnbiwgY29udGV4dD86IENvbnRleHQsIGN1c3RvbVBhcmFtcz86IFJlZmVyZW5jZURlc2lnblBhcmFtcykgPT4gVGVtcGxhdGVJdGVtLFxuICBjb250ZXh0PzogQ29udGV4dCxcbiAgY3VzdG9tUGFyYW1zPzogUmVmZXJlbmNlRGVzaWduUGFyYW1zXG4pOiB7XG4gIG9wdGlvbnM6IEZvcm1PcHRpb25TZWxlY3RvcjxPPltdO1xuICBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPjtcbn0ge1xuICBjb25zdCBvcHRpb25zOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz5bXSA9IFtdO1xuICBjb25zdCBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPiA9IHt9O1xuXG4gIGNvbnN0IG9wdGlvbkRlc2lnbnM6IERlc2lnbltdID0gZ2V0T3B0aW9uRGVzaWducyhkZXNpZ24sIG1hcHBlclR5cGUpO1xuXG4gIGZvciAoY29uc3Qgb3B0aW9uRGVzaWduIG9mIG9wdGlvbkRlc2lnbnMpIHtcbiAgICBjb25zdCBvcHRpb25TZWxlY3RvcjogRm9ybU9wdGlvblNlbGVjdG9yPE8+ID0gZGVzaWduVG9PcHRpb25TZWxlY3RvcjxPPihvcHRpb25EZXNpZ24sIGNvbnRleHQpO1xuICAgIG9wdGlvbnMucHVzaChvcHRpb25TZWxlY3Rvcik7XG5cbiAgICBjb25zdCBvcHRpb25UZW1wbGF0ZURlc2lnbjogRGVzaWduIHwgdW5kZWZpbmVkID0gZ2V0T3B0aW9uVGVtcGxhdGVEZXNpZ24ob3B0aW9uRGVzaWduKTtcblxuICAgIGlmIChpc1ByZXNlbnQob3B0aW9uVGVtcGxhdGVEZXNpZ24pKSB7XG4gICAgICBjb25zdCBvcHRpb25UZW1wbGF0ZSA9IHRvVGVtcGxhdGVJdGVtRm4ob3B0aW9uVGVtcGxhdGVEZXNpZ24sIGNvbnRleHQsIGN1c3RvbVBhcmFtcyk7XG4gICAgICBvcHRpb25UZW1wbGF0ZU1hcFtvcHRpb25TZWxlY3Rvci5vcHRpb24uaWRdID0gb3B0aW9uVGVtcGxhdGU7XG4gICAgfVxuICB9XG5cbiAgcmV0dXJuIHsgb3B0aW9ucywgb3B0aW9uVGVtcGxhdGVNYXAgfTtcbn1cbiJdfQ==
@@ -0,0 +1,8 @@
1
+ import { getEnumerationLiteralDesignProperty } from '@mtna/designer-ts';
2
+ export function getEnumDesignProperty(propertyType, model) {
3
+ const enumFunction = propertyType.enumFunction;
4
+ const displayValue = model === null || model === void 0 ? void 0 : model[propertyType.propName];
5
+ const value = enumFunction(displayValue, propertyType.defaultValue);
6
+ return getEnumerationLiteralDesignProperty(propertyType.title, propertyType.instructions, propertyType.propName, value, propertyType.enumValues);
7
+ }
8
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0LWRlc2lnbi1wcm9wZXJ0aWVzLnV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2dldC1kZXNpZ24tcHJvcGVydGllcy51dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsbUNBQW1DLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUd4RixNQUFNLFVBQVUscUJBQXFCLENBQWdCLFlBQXdDLEVBQUUsS0FBb0I7SUFDakgsTUFBTSxZQUFZLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQztJQUMvQyxNQUFNLFlBQVksR0FBRyxLQUFLLGFBQUwsS0FBSyx1QkFBTCxLQUFLLENBQUcsWUFBWSxDQUFDLFFBQW1CLENBQUMsQ0FBQztJQUMvRCxNQUFNLEtBQUssR0FBRyxZQUFZLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztJQUNwRSxPQUFPLG1DQUFtQyxDQUN4QyxZQUFZLENBQUMsS0FBSyxFQUNsQixZQUFZLENBQUMsWUFBWSxFQUN6QixZQUFZLENBQUMsUUFBUSxFQUNyQixLQUFLLEVBQ0wsWUFBWSxDQUFDLFVBQVUsQ0FDeEIsQ0FBQztBQUNKLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEZXNpZ25Qcm9wZXJ0eSwgZ2V0RW51bWVyYXRpb25MaXRlcmFsRGVzaWduUHJvcGVydHkgfSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBFbnVtRW5nYWdlbWVudFByb3BlcnR5VHlwZSB9IGZyb20gJy4uL21vZGVscy9kZXNpZ24vZGVzaWduLXByb3BlcnRpZXMvZW5nYWdlbWVudC1wcm9wZXJ0eS10eXBlLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldEVudW1EZXNpZ25Qcm9wZXJ0eTxUIGV4dGVuZHMgYW55Pihwcm9wZXJ0eVR5cGU6IEVudW1FbmdhZ2VtZW50UHJvcGVydHlUeXBlLCBtb2RlbDogVCB8IHVuZGVmaW5lZCk6IERlc2lnblByb3BlcnR5IHtcbiAgY29uc3QgZW51bUZ1bmN0aW9uID0gcHJvcGVydHlUeXBlLmVudW1GdW5jdGlvbjtcbiAgY29uc3QgZGlzcGxheVZhbHVlID0gbW9kZWw/Lltwcm9wZXJ0eVR5cGUucHJvcE5hbWUgYXMga2V5b2YgVF07XG4gIGNvbnN0IHZhbHVlID0gZW51bUZ1bmN0aW9uKGRpc3BsYXlWYWx1ZSwgcHJvcGVydHlUeXBlLmRlZmF1bHRWYWx1ZSk7XG4gIHJldHVybiBnZXRFbnVtZXJhdGlvbkxpdGVyYWxEZXNpZ25Qcm9wZXJ0eShcbiAgICBwcm9wZXJ0eVR5cGUudGl0bGUsXG4gICAgcHJvcGVydHlUeXBlLmluc3RydWN0aW9ucyxcbiAgICBwcm9wZXJ0eVR5cGUucHJvcE5hbWUsXG4gICAgdmFsdWUsXG4gICAgcHJvcGVydHlUeXBlLmVudW1WYWx1ZXNcbiAgKTtcbn1cbiJdfQ==
@@ -9,9 +9,15 @@ export * from './find-form-item';
9
9
  export * from './flatten-steps';
10
10
  export * from './form-step.util';
11
11
  export * from './generate-form-steps';
12
+ export * from './get-design-properties.util';
12
13
  export * from './get-item-class-suffix';
13
14
  export * from './is-form-control';
14
15
  export * from './is-form-group';
16
+ export * from './is-template-util';
17
+ export * from './item-to-design-base.util';
15
18
  export * from './merge-template-util';
19
+ export * from './model-map-util';
20
+ export * from './to-design-util';
16
21
  export * from './update-step-status';
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssc0JBQXNCLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxLQUFLLGdCQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0FBQ3hFLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMseUJBQXlCLENBQUM7QUFDeEMsY0FBYyxtQkFBbUIsQ0FBQztBQUNsQyxjQUFjLGlCQUFpQixDQUFDO0FBQ2hDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxzQkFBc0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIE10bmFUZW1wbGF0ZURlc2lnbiBmcm9tICcuL3RlbXBsYXRlLWRlc2lnbi11dGlsJztcbmltcG9ydCAqIGFzIE10bmFUZW1wbGF0ZUNvcmVEZXNpZ24gZnJvbSAnLi90ZW1wbGF0ZS1kZXNpZ24tY29yZS11dGlsJztcbmltcG9ydCAqIGFzIE10bmFXZlNlcmlhbGl6ZXIgZnJvbSAnLi9zZXJpYWxpemVyLXV0aWwnO1xuXG5leHBvcnQgeyBNdG5hVGVtcGxhdGVEZXNpZ24sIE10bmFUZW1wbGF0ZUNvcmVEZXNpZ24sIE10bmFXZlNlcmlhbGl6ZXIgfTtcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2lnbi1jb25kaXRpb25hbHMtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtZm9ybS1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1mb3JtLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9mbGF0dGVuLXN0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1zdGVwLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmF0ZS1mb3JtLXN0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWl0ZW0tY2xhc3Mtc3VmZml4JztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZm9ybS1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtZm9ybS1ncm91cCc7XG5leHBvcnQgKiBmcm9tICcuL21lcmdlLXRlbXBsYXRlLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi91cGRhdGUtc3RlcC1zdGF0dXMnO1xuIl19
22
+ export * from './validator-functions-util';
23
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sS0FBSyxrQkFBa0IsTUFBTSx3QkFBd0IsQ0FBQztBQUM3RCxPQUFPLEtBQUssc0JBQXNCLE1BQU0sNkJBQTZCLENBQUM7QUFDdEUsT0FBTyxLQUFLLGdCQUFnQixNQUFNLG1CQUFtQixDQUFDO0FBRXRELE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxzQkFBc0IsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDO0FBQ3hFLGNBQWMsY0FBYyxDQUFDO0FBQzdCLGNBQWMsNEJBQTRCLENBQUM7QUFDM0MsY0FBYyxxQkFBcUIsQ0FBQztBQUNwQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLHVCQUF1QixDQUFDO0FBQ3RDLGNBQWMsOEJBQThCLENBQUM7QUFDN0MsY0FBYyx5QkFBeUIsQ0FBQztBQUN4QyxjQUFjLG1CQUFtQixDQUFDO0FBQ2xDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQztBQUNuQyxjQUFjLDRCQUE0QixDQUFDO0FBQzNDLGNBQWMsdUJBQXVCLENBQUM7QUFDdEMsY0FBYyxrQkFBa0IsQ0FBQztBQUNqQyxjQUFjLGtCQUFrQixDQUFDO0FBQ2pDLGNBQWMsc0JBQXNCLENBQUM7QUFDckMsY0FBYyw0QkFBNEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIE10bmFUZW1wbGF0ZURlc2lnbiBmcm9tICcuL3RlbXBsYXRlLWRlc2lnbi11dGlsJztcbmltcG9ydCAqIGFzIE10bmFUZW1wbGF0ZUNvcmVEZXNpZ24gZnJvbSAnLi90ZW1wbGF0ZS1kZXNpZ24tY29yZS11dGlsJztcbmltcG9ydCAqIGFzIE10bmFXZlNlcmlhbGl6ZXIgZnJvbSAnLi9zZXJpYWxpemVyLXV0aWwnO1xuXG5leHBvcnQgeyBNdG5hVGVtcGxhdGVEZXNpZ24sIE10bmFUZW1wbGF0ZUNvcmVEZXNpZ24sIE10bmFXZlNlcmlhbGl6ZXIgfTtcbmV4cG9ydCAqIGZyb20gJy4vYW5pbWF0aW9ucyc7XG5leHBvcnQgKiBmcm9tICcuL2Rlc2lnbi1jb25kaXRpb25hbHMtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2ZpbmQtZm9ybS1jb250cm9sJztcbmV4cG9ydCAqIGZyb20gJy4vZmluZC1mb3JtLWl0ZW0nO1xuZXhwb3J0ICogZnJvbSAnLi9mbGF0dGVuLXN0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vZm9ybS1zdGVwLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9nZW5lcmF0ZS1mb3JtLXN0ZXBzJztcbmV4cG9ydCAqIGZyb20gJy4vZ2V0LWRlc2lnbi1wcm9wZXJ0aWVzLnV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9nZXQtaXRlbS1jbGFzcy1zdWZmaXgnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1mb3JtLWNvbnRyb2wnO1xuZXhwb3J0ICogZnJvbSAnLi9pcy1mb3JtLWdyb3VwJztcbmV4cG9ydCAqIGZyb20gJy4vaXMtdGVtcGxhdGUtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL2l0ZW0tdG8tZGVzaWduLWJhc2UudXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL21lcmdlLXRlbXBsYXRlLXV0aWwnO1xuZXhwb3J0ICogZnJvbSAnLi9tb2RlbC1tYXAtdXRpbCc7XG5leHBvcnQgKiBmcm9tICcuL3RvLWRlc2lnbi11dGlsJztcbmV4cG9ydCAqIGZyb20gJy4vdXBkYXRlLXN0ZXAtc3RhdHVzJztcbmV4cG9ydCAqIGZyb20gJy4vdmFsaWRhdG9yLWZ1bmN0aW9ucy11dGlsJztcbiJdfQ==
@@ -0,0 +1,68 @@
1
+ import { BOOLEAN_ITEM_TEMPLATE_ID, BULLETED_LIST_ITEM_TEMPLATE_ID, CHECKBOX_GRID_TEMPLATE_ID, CHECKBOX_ITEM_TEMPLATE_ID, DATE_ITEM_TEMPLATE_ID, DECIMAL_ANSWER_ITEM_TEMPLATE_ID, DROPDOWN_ITEM_TEMPLATE_ID, FILE_UPLOAD_ITEM_TEMPLATE_ID, HIDDEN_REFERENCE_ITEM_TEMPLATE_ID, instanceOfBooleanItemTemplate, instanceOfBulletedListItemTemplate, instanceOfCheckboxGridTemplate, instanceOfCheckboxItemTemplate, instanceOfDateItemTemplate, instanceOfDecimalAnswerItemTemplate, instanceOfDropdownItemTemplate, instanceOfFileUploadItemTemplate, instanceOfHiddenReferenceItemTemplate, instanceOfInternationalizedParagraphAnswerItemTemplate, instanceOfInternationalizedShortAnswerItemTemplate, instanceOfLinearScaleItemTemplate, instanceOfMultipleChoiceGridItemTemplate, instanceOfMultipleChoiceItemTemplate, instanceOfNumberedListItemTemplate, instanceOfOffsetDateRangeTemplate, instanceOfParagraphAnswerItemTemplate, instanceOfRepeatableItemTemplate, instanceOfRequestIdItemTemplate, instanceOfShortAnswerItemTemplate, instanceOfTemplateItemGroupImpl, instanceOfTemplateSectionImpl, instanceOfTextItemTemplate, instanceOfTimeItemTemplate, instanceOfTitleItemTemplate, instanceOfWholeNumberAnswerItemTemplate, instanceOfYearQuarterRangeTemplate, INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID, LINEAR_SCALE_ITEM_TEMPLATE_ID, MULTIPLE_CHOICE_GRID_ITEM_TEMPLATE_ID, MULTIPLE_CHOICE_ITEM_TEMPLATE_ID, NUMBERED_LIST_ITEM_TEMPLATE_ID, OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID, PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, REPEATABLE_ITEM_TEMPLATE_IMPL_ID, REQUEST_ID_ITEM_TEMPLATE_ID, SHORT_ANSWER_ITEM_TEMPLATE_ID, TEMPLATE_IMPL_ID, TEMPLATE_ITEM_GROUP_IMPL_ID, TEMPLATE_SECTION_IMPL_ID, TEXT_ITEM_TEMPLATE_ID, TIME_ITEM_TEMPLATE_ID, TITLE_ITEM_TEMPLATE_ID, WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID, YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID, } from '@mtna/web-form-ts';
2
+ export function isTemplateDesign(design) {
3
+ return design.type === TEMPLATE_IMPL_ID;
4
+ }
5
+ export function isTemplateItemDesign(design) {
6
+ switch (design.type) {
7
+ case BOOLEAN_ITEM_TEMPLATE_ID:
8
+ case BULLETED_LIST_ITEM_TEMPLATE_ID:
9
+ case CHECKBOX_GRID_TEMPLATE_ID:
10
+ case CHECKBOX_ITEM_TEMPLATE_ID:
11
+ case DATE_ITEM_TEMPLATE_ID:
12
+ case DECIMAL_ANSWER_ITEM_TEMPLATE_ID:
13
+ case DROPDOWN_ITEM_TEMPLATE_ID:
14
+ case FILE_UPLOAD_ITEM_TEMPLATE_ID:
15
+ case HIDDEN_REFERENCE_ITEM_TEMPLATE_ID:
16
+ case INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:
17
+ case INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID:
18
+ case LINEAR_SCALE_ITEM_TEMPLATE_ID:
19
+ case MULTIPLE_CHOICE_GRID_ITEM_TEMPLATE_ID:
20
+ case MULTIPLE_CHOICE_ITEM_TEMPLATE_ID:
21
+ case NUMBERED_LIST_ITEM_TEMPLATE_ID:
22
+ case OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID:
23
+ case PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID:
24
+ case REPEATABLE_ITEM_TEMPLATE_IMPL_ID:
25
+ case REQUEST_ID_ITEM_TEMPLATE_ID:
26
+ case SHORT_ANSWER_ITEM_TEMPLATE_ID:
27
+ case TEMPLATE_ITEM_GROUP_IMPL_ID:
28
+ case TEMPLATE_SECTION_IMPL_ID:
29
+ case TEXT_ITEM_TEMPLATE_ID:
30
+ case TIME_ITEM_TEMPLATE_ID:
31
+ case TITLE_ITEM_TEMPLATE_ID:
32
+ case WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID:
33
+ case YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID:
34
+ return true;
35
+ default:
36
+ return false;
37
+ }
38
+ }
39
+ export function isTemplateItem(something) {
40
+ return (instanceOfBooleanItemTemplate(something) ||
41
+ instanceOfBulletedListItemTemplate(something) ||
42
+ instanceOfCheckboxGridTemplate(something) ||
43
+ instanceOfCheckboxItemTemplate(something) ||
44
+ instanceOfDateItemTemplate(something) ||
45
+ instanceOfDecimalAnswerItemTemplate(something) ||
46
+ instanceOfDropdownItemTemplate(something) ||
47
+ instanceOfFileUploadItemTemplate(something) ||
48
+ instanceOfHiddenReferenceItemTemplate(something) ||
49
+ instanceOfInternationalizedParagraphAnswerItemTemplate(something) ||
50
+ instanceOfInternationalizedShortAnswerItemTemplate(something) ||
51
+ instanceOfLinearScaleItemTemplate(something) ||
52
+ instanceOfMultipleChoiceGridItemTemplate(something) ||
53
+ instanceOfMultipleChoiceItemTemplate(something) ||
54
+ instanceOfNumberedListItemTemplate(something) ||
55
+ instanceOfOffsetDateRangeTemplate(something) ||
56
+ instanceOfParagraphAnswerItemTemplate(something) ||
57
+ instanceOfRepeatableItemTemplate(something) ||
58
+ instanceOfRequestIdItemTemplate(something) ||
59
+ instanceOfShortAnswerItemTemplate(something) ||
60
+ instanceOfTemplateItemGroupImpl(something) ||
61
+ instanceOfTemplateSectionImpl(something) ||
62
+ instanceOfTextItemTemplate(something) ||
63
+ instanceOfTimeItemTemplate(something) ||
64
+ instanceOfTitleItemTemplate(something) ||
65
+ instanceOfWholeNumberAnswerItemTemplate(something) ||
66
+ instanceOfYearQuarterRangeTemplate(something));
67
+ }
68
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXMtdGVtcGxhdGUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvaXMtdGVtcGxhdGUtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQ0wsd0JBQXdCLEVBQ3hCLDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIseUJBQXlCLEVBQ3pCLHFCQUFxQixFQUNyQiwrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLDRCQUE0QixFQUM1QixpQ0FBaUMsRUFDakMsNkJBQTZCLEVBQzdCLGtDQUFrQyxFQUNsQyw4QkFBOEIsRUFDOUIsOEJBQThCLEVBQzlCLDBCQUEwQixFQUMxQixtQ0FBbUMsRUFDbkMsOEJBQThCLEVBQzlCLGdDQUFnQyxFQUNoQyxxQ0FBcUMsRUFDckMsc0RBQXNELEVBQ3RELGtEQUFrRCxFQUNsRCxpQ0FBaUMsRUFDakMsd0NBQXdDLEVBQ3hDLG9DQUFvQyxFQUNwQyxrQ0FBa0MsRUFDbEMsaUNBQWlDLEVBQ2pDLHFDQUFxQyxFQUNyQyxnQ0FBZ0MsRUFDaEMsK0JBQStCLEVBQy9CLGlDQUFpQyxFQUNqQywrQkFBK0IsRUFDL0IsNkJBQTZCLEVBQzdCLDBCQUEwQixFQUMxQiwwQkFBMEIsRUFDMUIsMkJBQTJCLEVBQzNCLHVDQUF1QyxFQUN2QyxrQ0FBa0MsRUFDbEMsbURBQW1ELEVBQ25ELCtDQUErQyxFQUMvQyw2QkFBNkIsRUFDN0IscUNBQXFDLEVBQ3JDLGdDQUFnQyxFQUNoQyw4QkFBOEIsRUFDOUIsa0NBQWtDLEVBQ2xDLGlDQUFpQyxFQUNqQyxnQ0FBZ0MsRUFDaEMsMkJBQTJCLEVBQzNCLDZCQUE2QixFQUM3QixnQkFBZ0IsRUFDaEIsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUV4QixxQkFBcUIsRUFDckIscUJBQXFCLEVBQ3JCLHNCQUFzQixFQUN0QixvQ0FBb0MsRUFDcEMsbUNBQW1DLEdBQ3BDLE1BQU0sbUJBQW1CLENBQUM7QUFFM0IsTUFBTSxVQUFVLGdCQUFnQixDQUFDLE1BQWtCO0lBQ2pELE9BQU8sTUFBTSxDQUFDLElBQUksS0FBSyxnQkFBZ0IsQ0FBQztBQUMxQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQWtCO0lBQ3JELFFBQVEsTUFBTSxDQUFDLElBQUksRUFBRTtRQUNuQixLQUFLLHdCQUF3QixDQUFDO1FBQzlCLEtBQUssOEJBQThCLENBQUM7UUFDcEMsS0FBSyx5QkFBeUIsQ0FBQztRQUMvQixLQUFLLHlCQUF5QixDQUFDO1FBQy9CLEtBQUsscUJBQXFCLENBQUM7UUFDM0IsS0FBSywrQkFBK0IsQ0FBQztRQUNyQyxLQUFLLHlCQUF5QixDQUFDO1FBQy9CLEtBQUssNEJBQTRCLENBQUM7UUFDbEMsS0FBSyxpQ0FBaUMsQ0FBQztRQUN2QyxLQUFLLG1EQUFtRCxDQUFDO1FBQ3pELEtBQUssK0NBQStDLENBQUM7UUFDckQsS0FBSyw2QkFBNkIsQ0FBQztRQUNuQyxLQUFLLHFDQUFxQyxDQUFDO1FBQzNDLEtBQUssZ0NBQWdDLENBQUM7UUFDdEMsS0FBSyw4QkFBOEIsQ0FBQztRQUNwQyxLQUFLLGtDQUFrQyxDQUFDO1FBQ3hDLEtBQUssaUNBQWlDLENBQUM7UUFDdkMsS0FBSyxnQ0FBZ0MsQ0FBQztRQUN0QyxLQUFLLDJCQUEyQixDQUFDO1FBQ2pDLEtBQUssNkJBQTZCLENBQUM7UUFDbkMsS0FBSywyQkFBMkIsQ0FBQztRQUNqQyxLQUFLLHdCQUF3QixDQUFDO1FBQzlCLEtBQUsscUJBQXFCLENBQUM7UUFDM0IsS0FBSyxxQkFBcUIsQ0FBQztRQUMzQixLQUFLLHNCQUFzQixDQUFDO1FBQzVCLEtBQUssb0NBQW9DLENBQUM7UUFDMUMsS0FBSyxtQ0FBbUM7WUFDdEMsT0FBTyxJQUFJLENBQUM7UUFDZDtZQUNFLE9BQU8sS0FBSyxDQUFDO0tBQ2hCO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxjQUFjLENBQUMsU0FBa0I7SUFDL0MsT0FBTyxDQUNMLDZCQUE2QixDQUFDLFNBQVMsQ0FBQztRQUN4QyxrQ0FBa0MsQ0FBQyxTQUFTLENBQUM7UUFDN0MsOEJBQThCLENBQUMsU0FBUyxDQUFDO1FBQ3pDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQztRQUN6QywwQkFBMEIsQ0FBQyxTQUFTLENBQUM7UUFDckMsbUNBQW1DLENBQUMsU0FBUyxDQUFDO1FBQzlDLDhCQUE4QixDQUFDLFNBQVMsQ0FBQztRQUN6QyxnQ0FBZ0MsQ0FBQyxTQUFTLENBQUM7UUFDM0MscUNBQXFDLENBQUMsU0FBUyxDQUFDO1FBQ2hELHNEQUFzRCxDQUFDLFNBQVMsQ0FBQztRQUNqRSxrREFBa0QsQ0FBQyxTQUFTLENBQUM7UUFDN0QsaUNBQWlDLENBQUMsU0FBUyxDQUFDO1FBQzVDLHdDQUF3QyxDQUFDLFNBQVMsQ0FBQztRQUNuRCxvQ0FBb0MsQ0FBQyxTQUFTLENBQUM7UUFDL0Msa0NBQWtDLENBQUMsU0FBUyxDQUFDO1FBQzdDLGlDQUFpQyxDQUFDLFNBQVMsQ0FBQztRQUM1QyxxQ0FBcUMsQ0FBQyxTQUFTLENBQUM7UUFDaEQsZ0NBQWdDLENBQUMsU0FBUyxDQUFDO1FBQzNDLCtCQUErQixDQUFDLFNBQVMsQ0FBQztRQUMxQyxpQ0FBaUMsQ0FBQyxTQUFTLENBQUM7UUFDNUMsK0JBQStCLENBQUMsU0FBUyxDQUFDO1FBQzFDLDZCQUE2QixDQUFDLFNBQVMsQ0FBQztRQUN4QywwQkFBMEIsQ0FBQyxTQUFTLENBQUM7UUFDckMsMEJBQTBCLENBQUMsU0FBUyxDQUFDO1FBQ3JDLDJCQUEyQixDQUFDLFNBQVMsQ0FBQztRQUN0Qyx1Q0FBdUMsQ0FBQyxTQUFTLENBQUM7UUFDbEQsa0NBQWtDLENBQUMsU0FBUyxDQUFDLENBQzlDLENBQUM7QUFDSixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzaWduQmFzZSB9IGZyb20gJ0BtdG5hL2Rlc2lnbmVyLXRzJztcbmltcG9ydCB7XG4gIEJPT0xFQU5fSVRFTV9URU1QTEFURV9JRCxcbiAgQlVMTEVURURfTElTVF9JVEVNX1RFTVBMQVRFX0lELFxuICBDSEVDS0JPWF9HUklEX1RFTVBMQVRFX0lELFxuICBDSEVDS0JPWF9JVEVNX1RFTVBMQVRFX0lELFxuICBEQVRFX0lURU1fVEVNUExBVEVfSUQsXG4gIERFQ0lNQUxfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQsXG4gIERST1BET1dOX0lURU1fVEVNUExBVEVfSUQsXG4gIEZJTEVfVVBMT0FEX0lURU1fVEVNUExBVEVfSUQsXG4gIEhJRERFTl9SRUZFUkVOQ0VfSVRFTV9URU1QTEFURV9JRCxcbiAgaW5zdGFuY2VPZkJvb2xlYW5JdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZCdWxsZXRlZExpc3RJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZDaGVja2JveEdyaWRUZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZkNoZWNrYm94SXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mRGF0ZUl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZkRlY2ltYWxBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZEcm9wZG93bkl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZkZpbGVVcGxvYWRJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZIaWRkZW5SZWZlcmVuY2VJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZJbnRlcm5hdGlvbmFsaXplZFBhcmFncmFwaEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZkludGVybmF0aW9uYWxpemVkU2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZMaW5lYXJTY2FsZUl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZk11bHRpcGxlQ2hvaWNlR3JpZEl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZk11bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mTnVtYmVyZWRMaXN0SXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mT2Zmc2V0RGF0ZVJhbmdlVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZSZXBlYXRhYmxlSXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mUmVxdWVzdElkSXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mU2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZUZW1wbGF0ZUl0ZW1Hcm91cEltcGwsXG4gIGluc3RhbmNlT2ZUZW1wbGF0ZVNlY3Rpb25JbXBsLFxuICBpbnN0YW5jZU9mVGV4dEl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZlRpbWVJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZUaXRsZUl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZldob2xlTnVtYmVyQW5zd2VySXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mWWVhclF1YXJ0ZXJSYW5nZVRlbXBsYXRlLFxuICBJTlRFUk5BVElPTkFMSVpFRF9QQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQsXG4gIElOVEVSTkFUSU9OQUxJWkVEX1NIT1JUX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lELFxuICBMSU5FQVJfU0NBTEVfSVRFTV9URU1QTEFURV9JRCxcbiAgTVVMVElQTEVfQ0hPSUNFX0dSSURfSVRFTV9URU1QTEFURV9JRCxcbiAgTVVMVElQTEVfQ0hPSUNFX0lURU1fVEVNUExBVEVfSUQsXG4gIE5VTUJFUkVEX0xJU1RfSVRFTV9URU1QTEFURV9JRCxcbiAgT0ZGU0VUX0RBVEVfUkFOR0VfSVRFTV9URU1QTEFURV9JRCxcbiAgUEFSQUdSQVBIX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lELFxuICBSRVBFQVRBQkxFX0lURU1fVEVNUExBVEVfSU1QTF9JRCxcbiAgUkVRVUVTVF9JRF9JVEVNX1RFTVBMQVRFX0lELFxuICBTSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRCxcbiAgVEVNUExBVEVfSU1QTF9JRCxcbiAgVEVNUExBVEVfSVRFTV9HUk9VUF9JTVBMX0lELFxuICBURU1QTEFURV9TRUNUSU9OX0lNUExfSUQsXG4gIFRlbXBsYXRlSXRlbSxcbiAgVEVYVF9JVEVNX1RFTVBMQVRFX0lELFxuICBUSU1FX0lURU1fVEVNUExBVEVfSUQsXG4gIFRJVExFX0lURU1fVEVNUExBVEVfSUQsXG4gIFdIT0xFX05VTUJFUl9BTlNXRVJfSVRFTV9URU1QTEFURV9JRCxcbiAgWUVBUl9RVUFSVEVSX1JBTkdFX0lURU1fVEVNUExBVEVfSUQsXG59IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVtcGxhdGVEZXNpZ24oZGVzaWduOiBEZXNpZ25CYXNlKTogYm9vbGVhbiB7XG4gIHJldHVybiBkZXNpZ24udHlwZSA9PT0gVEVNUExBVEVfSU1QTF9JRDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVtcGxhdGVJdGVtRGVzaWduKGRlc2lnbjogRGVzaWduQmFzZSk6IGJvb2xlYW4ge1xuICBzd2l0Y2ggKGRlc2lnbi50eXBlKSB7XG4gICAgY2FzZSBCT09MRUFOX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBCVUxMRVRFRF9MSVNUX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBDSEVDS0JPWF9HUklEX1RFTVBMQVRFX0lEOlxuICAgIGNhc2UgQ0hFQ0tCT1hfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIERBVEVfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIERFQ0lNQUxfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBEUk9QRE9XTl9JVEVNX1RFTVBMQVRFX0lEOlxuICAgIGNhc2UgRklMRV9VUExPQURfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIEhJRERFTl9SRUZFUkVOQ0VfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIElOVEVSTkFUSU9OQUxJWkVEX1BBUkFHUkFQSF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIElOVEVSTkFUSU9OQUxJWkVEX1NIT1JUX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEOlxuICAgIGNhc2UgTElORUFSX1NDQUxFX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBNVUxUSVBMRV9DSE9JQ0VfR1JJRF9JVEVNX1RFTVBMQVRFX0lEOlxuICAgIGNhc2UgTVVMVElQTEVfQ0hPSUNFX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBOVU1CRVJFRF9MSVNUX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBPRkZTRVRfREFURV9SQU5HRV9JVEVNX1RFTVBMQVRFX0lEOlxuICAgIGNhc2UgUEFSQUdSQVBIX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEOlxuICAgIGNhc2UgUkVQRUFUQUJMRV9JVEVNX1RFTVBMQVRFX0lNUExfSUQ6XG4gICAgY2FzZSBSRVFVRVNUX0lEX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBTSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIFRFTVBMQVRFX0lURU1fR1JPVVBfSU1QTF9JRDpcbiAgICBjYXNlIFRFTVBMQVRFX1NFQ1RJT05fSU1QTF9JRDpcbiAgICBjYXNlIFRFWFRfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIFRJTUVfSVRFTV9URU1QTEFURV9JRDpcbiAgICBjYXNlIFRJVExFX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBXSE9MRV9OVU1CRVJfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQ6XG4gICAgY2FzZSBZRUFSX1FVQVJURVJfUkFOR0VfSVRFTV9URU1QTEFURV9JRDpcbiAgICAgIHJldHVybiB0cnVlO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzVGVtcGxhdGVJdGVtKHNvbWV0aGluZzogdW5rbm93bik6IHNvbWV0aGluZyBpcyBUZW1wbGF0ZUl0ZW0ge1xuICByZXR1cm4gKFxuICAgIGluc3RhbmNlT2ZCb29sZWFuSXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mQnVsbGV0ZWRMaXN0SXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mQ2hlY2tib3hHcmlkVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZDaGVja2JveEl0ZW1UZW1wbGF0ZShzb21ldGhpbmcpIHx8XG4gICAgaW5zdGFuY2VPZkRhdGVJdGVtVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZEZWNpbWFsQW5zd2VySXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mRHJvcGRvd25JdGVtVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZGaWxlVXBsb2FkSXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mSGlkZGVuUmVmZXJlbmNlSXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mSW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZJbnRlcm5hdGlvbmFsaXplZFNob3J0QW5zd2VySXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mTGluZWFyU2NhbGVJdGVtVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUdyaWRJdGVtVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZShzb21ldGhpbmcpIHx8XG4gICAgaW5zdGFuY2VPZk51bWJlcmVkTGlzdEl0ZW1UZW1wbGF0ZShzb21ldGhpbmcpIHx8XG4gICAgaW5zdGFuY2VPZk9mZnNldERhdGVSYW5nZVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mUGFyYWdyYXBoQW5zd2VySXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mUmVwZWF0YWJsZUl0ZW1UZW1wbGF0ZShzb21ldGhpbmcpIHx8XG4gICAgaW5zdGFuY2VPZlJlcXVlc3RJZEl0ZW1UZW1wbGF0ZShzb21ldGhpbmcpIHx8XG4gICAgaW5zdGFuY2VPZlNob3J0QW5zd2VySXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mVGVtcGxhdGVJdGVtR3JvdXBJbXBsKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mVGVtcGxhdGVTZWN0aW9uSW1wbChzb21ldGhpbmcpIHx8XG4gICAgaW5zdGFuY2VPZlRleHRJdGVtVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZUaW1lSXRlbVRlbXBsYXRlKHNvbWV0aGluZykgfHxcbiAgICBpbnN0YW5jZU9mVGl0bGVJdGVtVGVtcGxhdGUoc29tZXRoaW5nKSB8fFxuICAgIGluc3RhbmNlT2ZXaG9sZU51bWJlckFuc3dlckl0ZW1UZW1wbGF0ZShzb21ldGhpbmcpIHx8XG4gICAgaW5zdGFuY2VPZlllYXJRdWFydGVyUmFuZ2VUZW1wbGF0ZShzb21ldGhpbmcpXG4gICk7XG59XG4iXX0=
@@ -0,0 +1,25 @@
1
+ import { isPresent } from '@mtna/core-ts';
2
+ import { i18n_newTemplateItem } from '../models/i18n-constants.model';
3
+ export function getTypeDisplay(itemId) {
4
+ // FIXME this will work for now, but needs to be i18n
5
+ // Get the part after the last "."
6
+ const lastSegment = itemId.split('.').pop() || '';
7
+ // Remove "Item" and "Template"
8
+ const cleaned = lastSegment.replace(/(Item|Template)/g, '');
9
+ // Insert spaces between lowercase and uppercase letters
10
+ const spaced = cleaned.replace(/([a-z])([A-Z])/g, '$1 $2');
11
+ return spaced.trim();
12
+ }
13
+ export function itemToDesignBase(model, languageId) {
14
+ const id = model.instanceId;
15
+ // let display = isPresent(model.descriptiveText) ? getI18nString(model.descriptiveText, languageId, true) : undefined;
16
+ let display = isPresent(model.name) && model.name !== '' ? model.name : undefined;
17
+ if (!isPresent(display)) {
18
+ display = i18n_newTemplateItem;
19
+ }
20
+ const type = model.itemId;
21
+ const typeDisplay = getTypeDisplay(model.itemId);
22
+ const focusType = 'SET_FOCUS';
23
+ return { id, display, type, typeDisplay, focusType };
24
+ }
25
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaXRlbS10by1kZXNpZ24tYmFzZS51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL3V0aWxpdGllcy9pdGVtLXRvLWRlc2lnbi1iYXNlLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBR0EsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMxQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQztBQUV0RSxNQUFNLFVBQVUsY0FBYyxDQUFDLE1BQWM7SUFDM0MscURBQXFEO0lBQ3JELGtDQUFrQztJQUNsQyxNQUFNLFdBQVcsR0FBRyxNQUFNLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQztJQUNsRCwrQkFBK0I7SUFDL0IsTUFBTSxPQUFPLEdBQUcsV0FBVyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM1RCx3REFBd0Q7SUFDeEQsTUFBTSxNQUFNLEdBQUcsT0FBTyxDQUFDLE9BQU8sQ0FBQyxpQkFBaUIsRUFBRSxPQUFPLENBQUMsQ0FBQztJQUMzRCxPQUFPLE1BQU0sQ0FBQyxJQUFJLEVBQUUsQ0FBQztBQUN2QixDQUFDO0FBRUQsTUFBTSxVQUFVLGdCQUFnQixDQUFDLEtBQW1CLEVBQUUsVUFBMEI7SUFDOUUsTUFBTSxFQUFFLEdBQUcsS0FBSyxDQUFDLFVBQVUsQ0FBQztJQUM1Qix1SEFBdUg7SUFDdkgsSUFBSSxPQUFPLEdBQUcsU0FBUyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxLQUFLLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDO0lBQ2xGLElBQUksQ0FBQyxTQUFTLENBQUMsT0FBTyxDQUFDLEVBQUU7UUFDdkIsT0FBTyxHQUFHLG9CQUFvQixDQUFDO0tBQ2hDO0lBQ0QsTUFBTSxJQUFJLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQztJQUMxQixNQUFNLFdBQVcsR0FBRyxjQUFjLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO0lBQ2pELE1BQU0sU0FBUyxHQUFHLFdBQVcsQ0FBQztJQUM5QixPQUFPLEVBQUUsRUFBRSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFNBQVMsRUFBRSxDQUFDO0FBQ3ZELENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBUZW1wbGF0ZUl0ZW0gfSBmcm9tICdAbXRuYS93ZWItZm9ybS10cyc7XG5pbXBvcnQgeyBNdG5hTGFuZ3VhZ2VJZCB9IGZyb20gJ0BtdG5hL2NvcmUtaTE4bi1hbmd1bGFyJztcbmltcG9ydCB7IERlc2lnbkJhc2UgfSBmcm9tICdAbXRuYS9kZXNpZ25lci10cyc7XG5pbXBvcnQgeyBpc1ByZXNlbnQgfSBmcm9tICdAbXRuYS9jb3JlLXRzJztcbmltcG9ydCB7IGkxOG5fbmV3VGVtcGxhdGVJdGVtIH0gZnJvbSAnLi4vbW9kZWxzL2kxOG4tY29uc3RhbnRzLm1vZGVsJztcblxuZXhwb3J0IGZ1bmN0aW9uIGdldFR5cGVEaXNwbGF5KGl0ZW1JZDogc3RyaW5nKTogc3RyaW5nIHtcbiAgLy8gRklYTUUgdGhpcyB3aWxsIHdvcmsgZm9yIG5vdywgYnV0IG5lZWRzIHRvIGJlIGkxOG5cbiAgLy8gR2V0IHRoZSBwYXJ0IGFmdGVyIHRoZSBsYXN0IFwiLlwiXG4gIGNvbnN0IGxhc3RTZWdtZW50ID0gaXRlbUlkLnNwbGl0KCcuJykucG9wKCkgfHwgJyc7XG4gIC8vIFJlbW92ZSBcIkl0ZW1cIiBhbmQgXCJUZW1wbGF0ZVwiXG4gIGNvbnN0IGNsZWFuZWQgPSBsYXN0U2VnbWVudC5yZXBsYWNlKC8oSXRlbXxUZW1wbGF0ZSkvZywgJycpO1xuICAvLyBJbnNlcnQgc3BhY2VzIGJldHdlZW4gbG93ZXJjYXNlIGFuZCB1cHBlcmNhc2UgbGV0dGVyc1xuICBjb25zdCBzcGFjZWQgPSBjbGVhbmVkLnJlcGxhY2UoLyhbYS16XSkoW0EtWl0pL2csICckMSAkMicpO1xuICByZXR1cm4gc3BhY2VkLnRyaW0oKTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGl0ZW1Ub0Rlc2lnbkJhc2UobW9kZWw6IFRlbXBsYXRlSXRlbSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBEZXNpZ25CYXNlIHtcbiAgY29uc3QgaWQgPSBtb2RlbC5pbnN0YW5jZUlkO1xuICAvLyBsZXQgZGlzcGxheSA9IGlzUHJlc2VudChtb2RlbC5kZXNjcmlwdGl2ZVRleHQpID8gZ2V0STE4blN0cmluZyhtb2RlbC5kZXNjcmlwdGl2ZVRleHQsIGxhbmd1YWdlSWQsIHRydWUpIDogdW5kZWZpbmVkO1xuICBsZXQgZGlzcGxheSA9IGlzUHJlc2VudChtb2RlbC5uYW1lKSAmJiBtb2RlbC5uYW1lICE9PSAnJyA/IG1vZGVsLm5hbWUgOiB1bmRlZmluZWQ7XG4gIGlmICghaXNQcmVzZW50KGRpc3BsYXkpKSB7XG4gICAgZGlzcGxheSA9IGkxOG5fbmV3VGVtcGxhdGVJdGVtO1xuICB9XG4gIGNvbnN0IHR5cGUgPSBtb2RlbC5pdGVtSWQ7XG4gIGNvbnN0IHR5cGVEaXNwbGF5ID0gZ2V0VHlwZURpc3BsYXkobW9kZWwuaXRlbUlkKTtcbiAgY29uc3QgZm9jdXNUeXBlID0gJ1NFVF9GT0NVUyc7XG4gIHJldHVybiB7IGlkLCBkaXNwbGF5LCB0eXBlLCB0eXBlRGlzcGxheSwgZm9jdXNUeXBlIH07XG59XG4iXX0=
@@ -16,7 +16,6 @@ export function mergeOptionTemplateMap(source, target) {
16
16
  return mergedOptionTemplateMap;
17
17
  }
18
18
  export function mergeBooleanItemTemplate(source, target) {
19
- // const conditional: Conditional = mergeConditional(source.conditional, target.conditional);
20
19
  const option = mergeFormOptionSelector(source.option, target.option);
21
20
  const optionTemplateMap = mergeOptionTemplateMap(source.optionTemplateMap, target.optionTemplateMap);
22
21
  const mergedBooleanItemTemplate = Object.assign(Object.assign(Object.assign({}, target), source), { codeOption: target.codeOption || source.codeOption, option,
@@ -113,4 +112,4 @@ export function mergeTemplate(source, target) {
113
112
  const mergedTemplate = Object.assign(Object.assign(Object.assign({}, target), source), { items: mergedItems });
114
113
  return mergedTemplate;
115
114
  }
116
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtdGVtcGxhdGUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvbWVyZ2UtdGVtcGxhdGUtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBTUwsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiw2QkFBNkIsR0FVOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLE1BQTZCLEVBQzdCLE1BQTZCO0lBRTdCLE1BQU0sd0JBQXdCLGlEQUN6QixNQUFNLEdBQ04sTUFBTSxLQUNULGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxFQUNuQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFDakMsTUFBTSxrQ0FDRCxNQUFNLENBQUMsTUFBTSxHQUNiLE1BQU0sQ0FBQyxNQUFNLElBRW5CLENBQUM7SUFDRixPQUFPLHdCQUF3QixDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLE1BQW9DLEVBQ3BDLE1BQW9DO0lBRXBDLE1BQU0sdUJBQXVCLHFCQUFzQyxNQUFNLENBQUUsQ0FBQztJQUM1RSxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckMsSUFBSSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3RjthQUFNO1lBQ0wsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVDO0tBQ0Y7SUFDRCxPQUFPLHVCQUF1QixDQUFDO0FBQ2pDLENBQUM7QUFFRCxNQUFNLFVBQVUsd0JBQXdCLENBQUMsTUFBMkIsRUFBRSxNQUEyQjtJQUMvRiw2RkFBNkY7SUFDN0YsTUFBTSxNQUFNLEdBQXNDLHVCQUF1QixDQUFnQixNQUFNLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUN2SCxNQUFNLGlCQUFpQixHQUFpQyxzQkFBc0IsQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsTUFBTSxDQUFDLGlCQUFpQixDQUFDLENBQUM7SUFDbkksTUFBTSx5QkFBeUIsaURBQzFCLE1BQU0sR0FDTixNQUFNLEtBQ1QsVUFBVSxFQUFFLE1BQU0sQ0FBQyxVQUFVLElBQUksTUFBTSxDQUFDLFVBQVUsRUFDbEQsTUFBTTtRQUNOLGlCQUFpQixHQUNsQixDQUFDO0lBQ0YsT0FBTyx5QkFBeUIsQ0FBQztBQUNuQyxDQUFDO0FBRUQsTUFBTSxVQUFVLHdCQUF3QixDQUN0QyxNQUEwQyxFQUMxQyxNQUEwQztJQUUxQyxNQUFNLE9BQU8sR0FBdUMsRUFBRSxDQUFDO0lBQ3ZELEtBQUssTUFBTSxNQUFNLElBQUksTUFBTSxFQUFFO1FBQzNCLE1BQU0sWUFBWSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsRUFBRSxLQUFLLE1BQU0sQ0FBQyxNQUFNLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDMUUsSUFBSSxZQUFZLEVBQUU7WUFDaEIsT0FBTyxDQUFDLElBQUksQ0FBQyx1QkFBdUIsQ0FBZSxNQUFNLEVBQUUsWUFBWSxDQUFDLENBQUMsQ0FBQztTQUMzRTthQUFNO1lBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztTQUN0QjtLQUNGO0lBQ0QsT0FBTyxPQUFPLENBQUM7QUFDakIsQ0FBQztBQUVELE1BQU0sVUFBVSxvQ0FBb0MsQ0FDbEQsTUFBZ0YsRUFDaEYsTUFBZ0Y7SUFFaEYsTUFBTSxPQUFPLEdBQXVDLHdCQUF3QixDQUFDLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzdHLE1BQU0saUJBQWlCLEdBQWlDLHNCQUFzQixDQUFDLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxNQUFNLENBQUMsaUJBQWlCLENBQUMsQ0FBQztJQUNuSSxNQUFNLHFDQUFxQyxpREFDdEMsTUFBTSxHQUNOLE1BQU0sS0FDVCx1QkFBdUIsRUFBRSxNQUFNLENBQUMsdUJBQXVCLElBQUksTUFBTSxDQUFDLHVCQUF1QixFQUN6RixvQkFBb0IsRUFBRSxNQUFNLENBQUMsb0JBQW9CLElBQUksTUFBTSxDQUFDLG9CQUFvQixFQUNoRixPQUFPO1FBQ1AsaUJBQWlCLEdBQ2xCLENBQUM7SUFDRixPQUFPLHFDQUFxQyxDQUFDO0FBQy9DLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQUMsTUFBNkIsRUFBRSxNQUE2QjtJQUNqRyxNQUFNLE1BQU0sR0FBVyxNQUFNLENBQUMsTUFBTSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUM7SUFDdEQsTUFBTSxLQUFLLEdBQW1CLEVBQUUsQ0FBQztJQUNqQyxLQUFLLE1BQU0sVUFBVSxJQUFJLE1BQU0sQ0FBQyxLQUFLLEVBQUU7UUFDckMsTUFBTSxVQUFVLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxVQUFVLEtBQUssVUFBVSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBQ3BGLElBQUksVUFBVSxFQUFFO1lBQ2QsS0FBSyxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxVQUFVLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0wsS0FBSyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUN4QjtLQUNGO0lBQ0QsTUFBTSx1QkFBdUIsaURBQStCLE1BQU0sR0FBSyxNQUFNLEtBQUUsTUFBTSxFQUFFLEtBQUssR0FBRSxDQUFDO0lBQy9GLE9BQU8sdUJBQXVCLENBQUM7QUFDakMsQ0FBQztBQUVELE1BQU0sVUFBVSxxQkFBcUIsQ0FBQyxNQUFvQixFQUFFLE1BQW9CO0lBQzlFLE1BQU0sc0JBQXNCLG1DQUFzQixNQUFNLEdBQUssTUFBTSxDQUFFLENBQUM7SUFDdEUsT0FBTyxzQkFBc0IsQ0FBQztBQUNoQyxDQUFDO0FBRUQsTUFBTSxVQUFVLG9CQUFvQixDQUFDLE1BQTJCLEVBQUUsTUFBMkI7SUFDM0YsTUFBTSxLQUFLLEdBQUcscUJBQXFCLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxDQUFzQixDQUFDO0lBQ3JGLE1BQU0sS0FBSyxHQUFtQixFQUFFLENBQUM7SUFDakMsS0FBSyxNQUFNLFVBQVUsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQ3JDLE1BQU0sVUFBVSxHQUFHLE1BQU0sQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNwRixJQUFJLFVBQVUsRUFBRTtZQUNkLEtBQUssQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsVUFBVSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7U0FDeEI7S0FDRjtJQUNELE1BQU0scUJBQXFCLGlEQUE2QixNQUFNLEdBQUssTUFBTSxLQUFFLEtBQUssRUFBRSxLQUFLLEdBQUUsQ0FBQztJQUMxRixPQUFPLHFCQUFxQixDQUFDO0FBQy9CLENBQUM7QUFFRCxNQUFNLFVBQVUsaUJBQWlCLENBQUMsTUFBb0IsRUFBRSxNQUFvQjtJQUMxRSxJQUFJLGtCQUE0QyxDQUFDO0lBQ2pELElBQUksNkJBQTZCLENBQUMsTUFBTSxDQUFDLElBQUksNkJBQTZCLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDbEYsa0JBQWtCLEdBQUcsd0JBQXdCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQy9EO1NBQU0sSUFDTCxDQUFDLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxJQUFJLDhCQUE4QixDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ2xGLENBQUMsOEJBQThCLENBQUMsTUFBTSxDQUFDLElBQUksOEJBQThCLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEYsQ0FBQyxvQ0FBb0MsQ0FBQyxNQUFNLENBQUMsSUFBSSxvQ0FBb0MsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUM5RjtRQUNBLGtCQUFrQixHQUFHLG9DQUFvQyxDQUFDLE1BQU0sRUFBRSxNQUFNLENBQUMsQ0FBQztLQUMzRTtTQUFNLElBQUksK0JBQStCLENBQUMsTUFBTSxDQUFDLElBQUksK0JBQStCLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDN0Ysa0JBQWtCLEdBQUcsc0JBQXNCLENBQUMsTUFBTSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0tBQzdEO1NBQU0sSUFBSSw2QkFBNkIsQ0FBQyxNQUFNLENBQUMsSUFBSSw2QkFBNkIsQ0FBQyxNQUFNLENBQUMsRUFBRTtRQUN6RixrQkFBa0IsR0FBRyxvQkFBb0IsQ0FBQyxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7S0FDM0Q7U0FBTTtRQUNMLGtCQUFrQixtQ0FBUSxNQUFNLEdBQUssTUFBTSxDQUFFLENBQUM7S0FDL0M7SUFDRCxPQUFPLGtCQUFrQixDQUFDO0FBQzVCLENBQUM7QUFFRCxNQUFNLFVBQVUsYUFBYSxDQUFDLE1BQWdCLEVBQUUsTUFBZ0I7O0lBQzlELE1BQU0sV0FBVyxHQUFtQixFQUFFLENBQUM7SUFDdkMsS0FBSyxNQUFNLElBQUksSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFO1FBQy9CLE1BQU0sVUFBVSxHQUFHLE1BQUEsTUFBTSxDQUFDLEtBQUssMENBQUUsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsVUFBVSxLQUFLLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUMvRSxJQUFJLFVBQVUsRUFBRTtZQUNkLFdBQVcsQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLFVBQVUsQ0FBQyxDQUFDLENBQUM7U0FDdkQ7YUFBTTtZQUNMLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDeEI7S0FDRjtJQUNELE1BQU0sY0FBYyxpREFBa0IsTUFBTSxHQUFLLE1BQU0sS0FBRSxLQUFLLEVBQUUsV0FBVyxHQUFFLENBQUM7SUFDOUUsT0FBTyxjQUFjLENBQUM7QUFDeEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XG4gIEJvb2xlYW5JdGVtVGVtcGxhdGUsXG4gIEJvb2xlYW5PcHRpb24sXG4gIENoZWNrYm94SXRlbVRlbXBsYXRlLFxuICBEcm9wZG93bkl0ZW1UZW1wbGF0ZSxcbiAgRm9ybU9wdGlvblNlbGVjdG9yLFxuICBpbnN0YW5jZU9mQm9vbGVhbkl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZkNoZWNrYm94SXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mRHJvcGRvd25JdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZlRlbXBsYXRlSXRlbUdyb3VwSW1wbCxcbiAgaW5zdGFuY2VPZlRlbXBsYXRlU2VjdGlvbkltcGwsXG4gIExheW91dCxcbiAgTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUsXG4gIE9wdGlvbixcbiAgU3RyaW5nT3B0aW9uLFxuICBUZW1wbGF0ZSxcbiAgVGVtcGxhdGVJdGVtLFxuICBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwsXG4gIFRlbXBsYXRlU2VjdGlvbkltcGwsXG4gIFRpdGxlSXRlbVRlbXBsYXRlLFxufSBmcm9tICdAbXRuYS93ZWItZm9ybS10cyc7XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZvcm1PcHRpb25TZWxlY3RvcjxPIGV4dGVuZHMgT3B0aW9uPHVua25vd24+PihcbiAgc291cmNlOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz4sXG4gIHRhcmdldDogRm9ybU9wdGlvblNlbGVjdG9yPE8+XG4pOiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz4ge1xuICBjb25zdCBtZXJnZWRGb3JtT3B0aW9uU2VsZWN0b3I6IEZvcm1PcHRpb25TZWxlY3RvcjxPPiA9IHtcbiAgICAuLi50YXJnZXQsXG4gICAgLi4uc291cmNlLFxuICAgIGRpc2FibGVkSXRlbXM6IHNvdXJjZS5kaXNhYmxlZEl0ZW1zLFxuICAgIGVuYWJsZWRJdGVtczogc291cmNlLmVuYWJsZWRJdGVtcyxcbiAgICBvcHRpb246IHtcbiAgICAgIC4uLnRhcmdldC5vcHRpb24sXG4gICAgICAuLi5zb3VyY2Uub3B0aW9uLFxuICAgIH0sXG4gIH07XG4gIHJldHVybiBtZXJnZWRGb3JtT3B0aW9uU2VsZWN0b3I7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZU9wdGlvblRlbXBsYXRlTWFwKFxuICBzb3VyY2U6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlSXRlbT4sXG4gIHRhcmdldDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPlxuKTogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPiB7XG4gIGNvbnN0IG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+ID0geyAuLi50YXJnZXQgfTtcbiAgZm9yIChjb25zdCBrZXkgb2YgT2JqZWN0LmtleXMoc291cmNlKSkge1xuICAgIGlmIChtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcFtrZXldKSB7XG4gICAgICBtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcFtrZXldID0gbWVyZ2VUZW1wbGF0ZUl0ZW0oc291cmNlW2tleV0sIG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwW2tleV0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcFtrZXldID0gc291cmNlW2tleV07XG4gICAgfVxuICB9XG4gIHJldHVybiBtZXJnZWRPcHRpb25UZW1wbGF0ZU1hcDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlQm9vbGVhbkl0ZW1UZW1wbGF0ZShzb3VyY2U6IEJvb2xlYW5JdGVtVGVtcGxhdGUsIHRhcmdldDogQm9vbGVhbkl0ZW1UZW1wbGF0ZSkge1xuICAvLyBjb25zdCBjb25kaXRpb25hbDogQ29uZGl0aW9uYWwgPSBtZXJnZUNvbmRpdGlvbmFsKHNvdXJjZS5jb25kaXRpb25hbCwgdGFyZ2V0LmNvbmRpdGlvbmFsKTtcbiAgY29uc3Qgb3B0aW9uOiBGb3JtT3B0aW9uU2VsZWN0b3I8Qm9vbGVhbk9wdGlvbj4gPSBtZXJnZUZvcm1PcHRpb25TZWxlY3RvcjxCb29sZWFuT3B0aW9uPihzb3VyY2Uub3B0aW9uLCB0YXJnZXQub3B0aW9uKTtcbiAgY29uc3Qgb3B0aW9uVGVtcGxhdGVNYXA6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlSXRlbT4gPSBtZXJnZU9wdGlvblRlbXBsYXRlTWFwKHNvdXJjZS5vcHRpb25UZW1wbGF0ZU1hcCwgdGFyZ2V0Lm9wdGlvblRlbXBsYXRlTWFwKTtcbiAgY29uc3QgbWVyZ2VkQm9vbGVhbkl0ZW1UZW1wbGF0ZTogQm9vbGVhbkl0ZW1UZW1wbGF0ZSA9IHtcbiAgICAuLi50YXJnZXQsXG4gICAgLi4uc291cmNlLFxuICAgIGNvZGVPcHRpb246IHRhcmdldC5jb2RlT3B0aW9uIHx8IHNvdXJjZS5jb2RlT3B0aW9uLFxuICAgIG9wdGlvbixcbiAgICBvcHRpb25UZW1wbGF0ZU1hcCxcbiAgfTtcbiAgcmV0dXJuIG1lcmdlZEJvb2xlYW5JdGVtVGVtcGxhdGU7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUZvcm1PcHRpb25TZWxlY3RvcnMoXG4gIHNvdXJjZTogRm9ybU9wdGlvblNlbGVjdG9yPFN0cmluZ09wdGlvbj5bXSxcbiAgdGFyZ2V0OiBGb3JtT3B0aW9uU2VsZWN0b3I8U3RyaW5nT3B0aW9uPltdXG4pOiBGb3JtT3B0aW9uU2VsZWN0b3I8U3RyaW5nT3B0aW9uPltdIHtcbiAgY29uc3Qgb3B0aW9uczogRm9ybU9wdGlvblNlbGVjdG9yPFN0cmluZ09wdGlvbj5bXSA9IFtdO1xuICBmb3IgKGNvbnN0IG9wdGlvbiBvZiBzb3VyY2UpIHtcbiAgICBjb25zdCB0YXJnZXRPcHRpb24gPSB0YXJnZXQuZmluZCgodCkgPT4gdC5vcHRpb24uaWQgPT09IG9wdGlvbi5vcHRpb24uaWQpO1xuICAgIGlmICh0YXJnZXRPcHRpb24pIHtcbiAgICAgIG9wdGlvbnMucHVzaChtZXJnZUZvcm1PcHRpb25TZWxlY3RvcjxTdHJpbmdPcHRpb24+KG9wdGlvbiwgdGFyZ2V0T3B0aW9uKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG9wdGlvbnMucHVzaChvcHRpb24pO1xuICAgIH1cbiAgfVxuICByZXR1cm4gb3B0aW9ucztcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRXh0ZW5kZWRUZW1wbGF0ZU9wdGlvbkdyb3VwSXRlbShcbiAgc291cmNlOiBDaGVja2JveEl0ZW1UZW1wbGF0ZSB8IERyb3Bkb3duSXRlbVRlbXBsYXRlIHwgTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUsXG4gIHRhcmdldDogQ2hlY2tib3hJdGVtVGVtcGxhdGUgfCBEcm9wZG93bkl0ZW1UZW1wbGF0ZSB8IE11bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlXG4pOiBDaGVja2JveEl0ZW1UZW1wbGF0ZSB8IERyb3Bkb3duSXRlbVRlbXBsYXRlIHwgTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUge1xuICBjb25zdCBvcHRpb25zOiBGb3JtT3B0aW9uU2VsZWN0b3I8U3RyaW5nT3B0aW9uPltdID0gbWVyZ2VGb3JtT3B0aW9uU2VsZWN0b3JzKHNvdXJjZS5vcHRpb25zLCB0YXJnZXQub3B0aW9ucyk7XG4gIGNvbnN0IG9wdGlvblRlbXBsYXRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+ID0gbWVyZ2VPcHRpb25UZW1wbGF0ZU1hcChzb3VyY2Uub3B0aW9uVGVtcGxhdGVNYXAsIHRhcmdldC5vcHRpb25UZW1wbGF0ZU1hcCk7XG4gIGNvbnN0IG1lcmdlZEV4dGVuZGVkVGVtcGxhdGVPcHRpb25Hcm91cEl0ZW06IENoZWNrYm94SXRlbVRlbXBsYXRlIHwgRHJvcGRvd25JdGVtVGVtcGxhdGUgfCBNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSA9IHtcbiAgICAuLi50YXJnZXQsXG4gICAgLi4uc291cmNlLFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lOiB0YXJnZXQuY29kZVZhbHVlVGVtcGxhdGVJbmxpbmUgfHwgc291cmNlLmNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lLFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlTWFwOiB0YXJnZXQuY29kZVZhbHVlVGVtcGxhdGVNYXAgfHwgc291cmNlLmNvZGVWYWx1ZVRlbXBsYXRlTWFwLFxuICAgIG9wdGlvbnMsXG4gICAgb3B0aW9uVGVtcGxhdGVNYXAsXG4gIH07XG4gIHJldHVybiBtZXJnZWRFeHRlbmRlZFRlbXBsYXRlT3B0aW9uR3JvdXBJdGVtO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUZW1wbGF0ZUl0ZW1Hcm91cChzb3VyY2U6IFRlbXBsYXRlSXRlbUdyb3VwSW1wbCwgdGFyZ2V0OiBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwpOiBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwge1xuICBjb25zdCBsYXlvdXQ6IExheW91dCA9IHNvdXJjZS5sYXlvdXQgfHwgdGFyZ2V0LmxheW91dDtcbiAgY29uc3QgaXRlbXM6IFRlbXBsYXRlSXRlbVtdID0gW107XG4gIGZvciAoY29uc3Qgc291cmNlSXRlbSBvZiBzb3VyY2UuaXRlbXMpIHtcbiAgICBjb25zdCB0YXJnZXRJdGVtID0gdGFyZ2V0Lml0ZW1zLmZpbmQoKGkpID0+IGkuaW5zdGFuY2VJZCA9PT0gc291cmNlSXRlbS5pbnN0YW5jZUlkKTtcbiAgICBpZiAodGFyZ2V0SXRlbSkge1xuICAgICAgaXRlbXMucHVzaChtZXJnZVRlbXBsYXRlSXRlbShzb3VyY2VJdGVtLCB0YXJnZXRJdGVtKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1zLnB1c2goc291cmNlSXRlbSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IG1lcmdlZFRlbXBsYXRlSXRlbUdyb3VwOiBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwgPSB7IC4uLnRhcmdldCwgLi4uc291cmNlLCBsYXlvdXQsIGl0ZW1zIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZUl0ZW1Hcm91cDtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVGVtcGxhdGVJdGVtQmFzZShzb3VyY2U6IFRlbXBsYXRlSXRlbSwgdGFyZ2V0OiBUZW1wbGF0ZUl0ZW0pOiBUZW1wbGF0ZUl0ZW0ge1xuICBjb25zdCBtZXJnZWRUZW1wbGF0ZUl0ZW1CYXNlOiBUZW1wbGF0ZUl0ZW0gPSB7IC4uLnRhcmdldCwgLi4uc291cmNlIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZUl0ZW1CYXNlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUZW1wbGF0ZVNlY3Rpb24oc291cmNlOiBUZW1wbGF0ZVNlY3Rpb25JbXBsLCB0YXJnZXQ6IFRlbXBsYXRlU2VjdGlvbkltcGwpOiBUZW1wbGF0ZVNlY3Rpb25JbXBsIHtcbiAgY29uc3QgdGl0bGUgPSBtZXJnZVRlbXBsYXRlSXRlbUJhc2Uoc291cmNlLnRpdGxlLCB0YXJnZXQudGl0bGUpIGFzIFRpdGxlSXRlbVRlbXBsYXRlO1xuICBjb25zdCBpdGVtczogVGVtcGxhdGVJdGVtW10gPSBbXTtcbiAgZm9yIChjb25zdCBzb3VyY2VJdGVtIG9mIHNvdXJjZS5pdGVtcykge1xuICAgIGNvbnN0IHRhcmdldEl0ZW0gPSB0YXJnZXQuaXRlbXMuZmluZCgoaSkgPT4gaS5pbnN0YW5jZUlkID09PSBzb3VyY2VJdGVtLmluc3RhbmNlSWQpO1xuICAgIGlmICh0YXJnZXRJdGVtKSB7XG4gICAgICBpdGVtcy5wdXNoKG1lcmdlVGVtcGxhdGVJdGVtKHNvdXJjZUl0ZW0sIHRhcmdldEl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgaXRlbXMucHVzaChzb3VyY2VJdGVtKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgbWVyZ2VkVGVtcGxhdGVTZWN0aW9uOiBUZW1wbGF0ZVNlY3Rpb25JbXBsID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSwgdGl0bGUsIGl0ZW1zIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZVNlY3Rpb247XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRlbXBsYXRlSXRlbShzb3VyY2U6IFRlbXBsYXRlSXRlbSwgdGFyZ2V0OiBUZW1wbGF0ZUl0ZW0pOiBUZW1wbGF0ZUl0ZW0ge1xuICBsZXQgbWVyZ2VkVGVtcGxhdGVJdGVtOiBUZW1wbGF0ZUl0ZW0gfCB1bmRlZmluZWQ7XG4gIGlmIChpbnN0YW5jZU9mQm9vbGVhbkl0ZW1UZW1wbGF0ZShzb3VyY2UpICYmIGluc3RhbmNlT2ZCb29sZWFuSXRlbVRlbXBsYXRlKHRhcmdldCkpIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZUJvb2xlYW5JdGVtVGVtcGxhdGUoc291cmNlLCB0YXJnZXQpO1xuICB9IGVsc2UgaWYgKFxuICAgIChpbnN0YW5jZU9mQ2hlY2tib3hJdGVtVGVtcGxhdGUoc291cmNlKSAmJiBpbnN0YW5jZU9mQ2hlY2tib3hJdGVtVGVtcGxhdGUodGFyZ2V0KSkgfHxcbiAgICAoaW5zdGFuY2VPZkRyb3Bkb3duSXRlbVRlbXBsYXRlKHNvdXJjZSkgJiYgaW5zdGFuY2VPZkRyb3Bkb3duSXRlbVRlbXBsYXRlKHRhcmdldCkpIHx8XG4gICAgKGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZShzb3VyY2UpICYmIGluc3RhbmNlT2ZNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSh0YXJnZXQpKVxuICApIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZUV4dGVuZGVkVGVtcGxhdGVPcHRpb25Hcm91cEl0ZW0oc291cmNlLCB0YXJnZXQpO1xuICB9IGVsc2UgaWYgKGluc3RhbmNlT2ZUZW1wbGF0ZUl0ZW1Hcm91cEltcGwoc291cmNlKSAmJiBpbnN0YW5jZU9mVGVtcGxhdGVJdGVtR3JvdXBJbXBsKHRhcmdldCkpIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZVRlbXBsYXRlSXRlbUdyb3VwKHNvdXJjZSwgdGFyZ2V0KTtcbiAgfSBlbHNlIGlmIChpbnN0YW5jZU9mVGVtcGxhdGVTZWN0aW9uSW1wbChzb3VyY2UpICYmIGluc3RhbmNlT2ZUZW1wbGF0ZVNlY3Rpb25JbXBsKHRhcmdldCkpIHtcbiAgICBtZXJnZWRUZW1wbGF0ZUl0ZW0gPSBtZXJnZVRlbXBsYXRlU2VjdGlvbihzb3VyY2UsIHRhcmdldCk7XG4gIH0gZWxzZSB7XG4gICAgbWVyZ2VkVGVtcGxhdGVJdGVtID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSB9O1xuICB9XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZUl0ZW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRlbXBsYXRlKHNvdXJjZTogVGVtcGxhdGUsIHRhcmdldDogVGVtcGxhdGUpOiBUZW1wbGF0ZSB7XG4gIGNvbnN0IG1lcmdlZEl0ZW1zOiBUZW1wbGF0ZUl0ZW1bXSA9IFtdO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc291cmNlLml0ZW1zKSB7XG4gICAgY29uc3QgdGFyZ2V0SXRlbSA9IHRhcmdldC5pdGVtcz8uZmluZCgoaSkgPT4gaS5pbnN0YW5jZUlkID09PSBpdGVtLmluc3RhbmNlSWQpO1xuICAgIGlmICh0YXJnZXRJdGVtKSB7XG4gICAgICBtZXJnZWRJdGVtcy5wdXNoKG1lcmdlVGVtcGxhdGVJdGVtKGl0ZW0sIHRhcmdldEl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVyZ2VkSXRlbXMucHVzaChpdGVtKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgbWVyZ2VkVGVtcGxhdGU6IFRlbXBsYXRlID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSwgaXRlbXM6IG1lcmdlZEl0ZW1zIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZTtcbn1cbiJdfQ==
115
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVyZ2UtdGVtcGxhdGUtdXRpbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3dlYi1mb3JtLWFuZ3VsYXIvc3JjL2xpYi91dGlsaXRpZXMvbWVyZ2UtdGVtcGxhdGUtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBTUwsNkJBQTZCLEVBQzdCLDhCQUE4QixFQUM5Qiw4QkFBOEIsRUFDOUIsb0NBQW9DLEVBQ3BDLCtCQUErQixFQUMvQiw2QkFBNkIsR0FVOUIsTUFBTSxtQkFBbUIsQ0FBQztBQUUzQixNQUFNLFVBQVUsdUJBQXVCLENBQ3JDLE1BQTZCLEVBQzdCLE1BQTZCO0lBRTdCLE1BQU0sd0JBQXdCLGlEQUN6QixNQUFNLEdBQ04sTUFBTSxLQUNULGFBQWEsRUFBRSxNQUFNLENBQUMsYUFBYSxFQUNuQyxZQUFZLEVBQUUsTUFBTSxDQUFDLFlBQVksRUFDakMsTUFBTSxrQ0FDRCxNQUFNLENBQUMsTUFBTSxHQUNiLE1BQU0sQ0FBQyxNQUFNLElBRW5CLENBQUM7SUFDRixPQUFPLHdCQUF3QixDQUFDO0FBQ2xDLENBQUM7QUFFRCxNQUFNLFVBQVUsc0JBQXNCLENBQ3BDLE1BQW9DLEVBQ3BDLE1BQW9DO0lBRXBDLE1BQU0sdUJBQXVCLHFCQUFzQyxNQUFNLENBQUUsQ0FBQztJQUM1RSxLQUFLLE1BQU0sR0FBRyxJQUFJLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUU7UUFDckMsSUFBSSx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsRUFBRTtZQUNoQyx1QkFBdUIsQ0FBQyxHQUFHLENBQUMsR0FBRyxpQkFBaUIsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLEVBQUUsdUJBQXVCLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztTQUM3RjthQUFNO1lBQ0wsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEdBQUcsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQzVDO0tB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QUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLEVBQUUsVUFBVSxDQUFDLENBQUMsQ0FBQztTQUN2RDthQUFNO1lBQ0wsV0FBVyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUN4QjtLQUNGO0lBQ0QsTUFBTSxjQUFjLGlEQUFrQixNQUFNLEdBQUssTUFBTSxLQUFFLEtBQUssRUFBRSxXQUFXLEdBQUUsQ0FBQztJQUM5RSxPQUFPLGNBQWMsQ0FBQztBQUN4QixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQm9vbGVhbkl0ZW1UZW1wbGF0ZSxcbiAgQm9vbGVhbk9wdGlvbixcbiAgQ2hlY2tib3hJdGVtVGVtcGxhdGUsXG4gIERyb3Bkb3duSXRlbVRlbXBsYXRlLFxuICBGb3JtT3B0aW9uU2VsZWN0b3IsXG4gIGluc3RhbmNlT2ZCb29sZWFuSXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mQ2hlY2tib3hJdGVtVGVtcGxhdGUsXG4gIGluc3RhbmNlT2ZEcm9wZG93bkl0ZW1UZW1wbGF0ZSxcbiAgaW5zdGFuY2VPZk11bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlLFxuICBpbnN0YW5jZU9mVGVtcGxhdGVJdGVtR3JvdXBJbXBsLFxuICBpbnN0YW5jZU9mVGVtcGxhdGVTZWN0aW9uSW1wbCxcbiAgTGF5b3V0LFxuICBNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSxcbiAgT3B0aW9uLFxuICBTdHJpbmdPcHRpb24sXG4gIFRlbXBsYXRlLFxuICBUZW1wbGF0ZUl0ZW0sXG4gIFRlbXBsYXRlSXRlbUdyb3VwSW1wbCxcbiAgVGVtcGxhdGVTZWN0aW9uSW1wbCxcbiAgVGl0bGVJdGVtVGVtcGxhdGUsXG59IGZyb20gJ0BtdG5hL3dlYi1mb3JtLXRzJztcblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlRm9ybU9wdGlvblNlbGVjdG9yPE8gZXh0ZW5kcyBPcHRpb248dW5rbm93bj4+KFxuICBzb3VyY2U6IEZvcm1PcHRpb25TZWxlY3RvcjxPPixcbiAgdGFyZ2V0OiBGb3JtT3B0aW9uU2VsZWN0b3I8Tz5cbik6IEZvcm1PcHRpb25TZWxlY3RvcjxPPiB7XG4gIGNvbnN0IG1lcmdlZEZvcm1PcHRpb25TZWxlY3RvcjogRm9ybU9wdGlvblNlbGVjdG9yPE8+ID0ge1xuICAgIC4uLnRhcmdldCxcbiAgICAuLi5zb3VyY2UsXG4gICAgZGlzYWJsZWRJdGVtczogc291cmNlLmRpc2FibGVkSXRlbXMsXG4gICAgZW5hYmxlZEl0ZW1zOiBzb3VyY2UuZW5hYmxlZEl0ZW1zLFxuICAgIG9wdGlvbjoge1xuICAgICAgLi4udGFyZ2V0Lm9wdGlvbixcbiAgICAgIC4uLnNvdXJjZS5vcHRpb24sXG4gICAgfSxcbiAgfTtcbiAgcmV0dXJuIG1lcmdlZEZvcm1PcHRpb25TZWxlY3Rvcjtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlT3B0aW9uVGVtcGxhdGVNYXAoXG4gIHNvdXJjZTogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPixcbiAgdGFyZ2V0OiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+XG4pOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+IHtcbiAgY29uc3QgbWVyZ2VkT3B0aW9uVGVtcGxhdGVNYXA6IFJlY29yZDxzdHJpbmcsIFRlbXBsYXRlSXRlbT4gPSB7IC4uLnRhcmdldCB9O1xuICBmb3IgKGNvbnN0IGtleSBvZiBPYmplY3Qua2V5cyhzb3VyY2UpKSB7XG4gICAgaWYgKG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwW2tleV0pIHtcbiAgICAgIG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwW2tleV0gPSBtZXJnZVRlbXBsYXRlSXRlbShzb3VyY2Vba2V5XSwgbWVyZ2VkT3B0aW9uVGVtcGxhdGVNYXBba2V5XSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwW2tleV0gPSBzb3VyY2Vba2V5XTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG1lcmdlZE9wdGlvblRlbXBsYXRlTWFwO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VCb29sZWFuSXRlbVRlbXBsYXRlKHNvdXJjZTogQm9vbGVhbkl0ZW1UZW1wbGF0ZSwgdGFyZ2V0OiBCb29sZWFuSXRlbVRlbXBsYXRlKSB7XG4gIGNvbnN0IG9wdGlvbjogRm9ybU9wdGlvblNlbGVjdG9yPEJvb2xlYW5PcHRpb24+ID0gbWVyZ2VGb3JtT3B0aW9uU2VsZWN0b3I8Qm9vbGVhbk9wdGlvbj4oc291cmNlLm9wdGlvbiwgdGFyZ2V0Lm9wdGlvbik7XG4gIGNvbnN0IG9wdGlvblRlbXBsYXRlTWFwOiBSZWNvcmQ8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+ID0gbWVyZ2VPcHRpb25UZW1wbGF0ZU1hcChzb3VyY2Uub3B0aW9uVGVtcGxhdGVNYXAsIHRhcmdldC5vcHRpb25UZW1wbGF0ZU1hcCk7XG4gIGNvbnN0IG1lcmdlZEJvb2xlYW5JdGVtVGVtcGxhdGU6IEJvb2xlYW5JdGVtVGVtcGxhdGUgPSB7XG4gICAgLi4udGFyZ2V0LFxuICAgIC4uLnNvdXJjZSxcbiAgICBjb2RlT3B0aW9uOiB0YXJnZXQuY29kZU9wdGlvbiB8fCBzb3VyY2UuY29kZU9wdGlvbixcbiAgICBvcHRpb24sXG4gICAgb3B0aW9uVGVtcGxhdGVNYXAsXG4gIH07XG4gIHJldHVybiBtZXJnZWRCb29sZWFuSXRlbVRlbXBsYXRlO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VGb3JtT3B0aW9uU2VsZWN0b3JzKFxuICBzb3VyY2U6IEZvcm1PcHRpb25TZWxlY3RvcjxTdHJpbmdPcHRpb24+W10sXG4gIHRhcmdldDogRm9ybU9wdGlvblNlbGVjdG9yPFN0cmluZ09wdGlvbj5bXVxuKTogRm9ybU9wdGlvblNlbGVjdG9yPFN0cmluZ09wdGlvbj5bXSB7XG4gIGNvbnN0IG9wdGlvbnM6IEZvcm1PcHRpb25TZWxlY3RvcjxTdHJpbmdPcHRpb24+W10gPSBbXTtcbiAgZm9yIChjb25zdCBvcHRpb24gb2Ygc291cmNlKSB7XG4gICAgY29uc3QgdGFyZ2V0T3B0aW9uID0gdGFyZ2V0LmZpbmQoKHQpID0+IHQub3B0aW9uLmlkID09PSBvcHRpb24ub3B0aW9uLmlkKTtcbiAgICBpZiAodGFyZ2V0T3B0aW9uKSB7XG4gICAgICBvcHRpb25zLnB1c2gobWVyZ2VGb3JtT3B0aW9uU2VsZWN0b3I8U3RyaW5nT3B0aW9uPihvcHRpb24sIHRhcmdldE9wdGlvbikpO1xuICAgIH0gZWxzZSB7XG4gICAgICBvcHRpb25zLnB1c2gob3B0aW9uKTtcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG9wdGlvbnM7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZUV4dGVuZGVkVGVtcGxhdGVPcHRpb25Hcm91cEl0ZW0oXG4gIHNvdXJjZTogQ2hlY2tib3hJdGVtVGVtcGxhdGUgfCBEcm9wZG93bkl0ZW1UZW1wbGF0ZSB8IE11bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlLFxuICB0YXJnZXQ6IENoZWNrYm94SXRlbVRlbXBsYXRlIHwgRHJvcGRvd25JdGVtVGVtcGxhdGUgfCBNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZVxuKTogQ2hlY2tib3hJdGVtVGVtcGxhdGUgfCBEcm9wZG93bkl0ZW1UZW1wbGF0ZSB8IE11bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlIHtcbiAgY29uc3Qgb3B0aW9uczogRm9ybU9wdGlvblNlbGVjdG9yPFN0cmluZ09wdGlvbj5bXSA9IG1lcmdlRm9ybU9wdGlvblNlbGVjdG9ycyhzb3VyY2Uub3B0aW9ucywgdGFyZ2V0Lm9wdGlvbnMpO1xuICBjb25zdCBvcHRpb25UZW1wbGF0ZU1hcDogUmVjb3JkPHN0cmluZywgVGVtcGxhdGVJdGVtPiA9IG1lcmdlT3B0aW9uVGVtcGxhdGVNYXAoc291cmNlLm9wdGlvblRlbXBsYXRlTWFwLCB0YXJnZXQub3B0aW9uVGVtcGxhdGVNYXApO1xuICBjb25zdCBtZXJnZWRFeHRlbmRlZFRlbXBsYXRlT3B0aW9uR3JvdXBJdGVtOiBDaGVja2JveEl0ZW1UZW1wbGF0ZSB8IERyb3Bkb3duSXRlbVRlbXBsYXRlIHwgTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUgPSB7XG4gICAgLi4udGFyZ2V0LFxuICAgIC4uLnNvdXJjZSxcbiAgICBjb2RlVmFsdWVUZW1wbGF0ZUlubGluZTogdGFyZ2V0LmNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lIHx8IHNvdXJjZS5jb2RlVmFsdWVUZW1wbGF0ZUlubGluZSxcbiAgICBjb2RlVmFsdWVUZW1wbGF0ZU1hcDogdGFyZ2V0LmNvZGVWYWx1ZVRlbXBsYXRlTWFwIHx8IHNvdXJjZS5jb2RlVmFsdWVUZW1wbGF0ZU1hcCxcbiAgICBvcHRpb25zLFxuICAgIG9wdGlvblRlbXBsYXRlTWFwLFxuICB9O1xuICByZXR1cm4gbWVyZ2VkRXh0ZW5kZWRUZW1wbGF0ZU9wdGlvbkdyb3VwSXRlbTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVGVtcGxhdGVJdGVtR3JvdXAoc291cmNlOiBUZW1wbGF0ZUl0ZW1Hcm91cEltcGwsIHRhcmdldDogVGVtcGxhdGVJdGVtR3JvdXBJbXBsKTogVGVtcGxhdGVJdGVtR3JvdXBJbXBsIHtcbiAgY29uc3QgbGF5b3V0OiBMYXlvdXQgPSBzb3VyY2UubGF5b3V0IHx8IHRhcmdldC5sYXlvdXQ7XG4gIGNvbnN0IGl0ZW1zOiBUZW1wbGF0ZUl0ZW1bXSA9IFtdO1xuICBmb3IgKGNvbnN0IHNvdXJjZUl0ZW0gb2Ygc291cmNlLml0ZW1zKSB7XG4gICAgY29uc3QgdGFyZ2V0SXRlbSA9IHRhcmdldC5pdGVtcy5maW5kKChpKSA9PiBpLmluc3RhbmNlSWQgPT09IHNvdXJjZUl0ZW0uaW5zdGFuY2VJZCk7XG4gICAgaWYgKHRhcmdldEl0ZW0pIHtcbiAgICAgIGl0ZW1zLnB1c2gobWVyZ2VUZW1wbGF0ZUl0ZW0oc291cmNlSXRlbSwgdGFyZ2V0SXRlbSkpO1xuICAgIH0gZWxzZSB7XG4gICAgICBpdGVtcy5wdXNoKHNvdXJjZUl0ZW0pO1xuICAgIH1cbiAgfVxuICBjb25zdCBtZXJnZWRUZW1wbGF0ZUl0ZW1Hcm91cDogVGVtcGxhdGVJdGVtR3JvdXBJbXBsID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSwgbGF5b3V0LCBpdGVtcyB9O1xuICByZXR1cm4gbWVyZ2VkVGVtcGxhdGVJdGVtR3JvdXA7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRlbXBsYXRlSXRlbUJhc2Uoc291cmNlOiBUZW1wbGF0ZUl0ZW0sIHRhcmdldDogVGVtcGxhdGVJdGVtKTogVGVtcGxhdGVJdGVtIHtcbiAgY29uc3QgbWVyZ2VkVGVtcGxhdGVJdGVtQmFzZTogVGVtcGxhdGVJdGVtID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSB9O1xuICByZXR1cm4gbWVyZ2VkVGVtcGxhdGVJdGVtQmFzZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIG1lcmdlVGVtcGxhdGVTZWN0aW9uKHNvdXJjZTogVGVtcGxhdGVTZWN0aW9uSW1wbCwgdGFyZ2V0OiBUZW1wbGF0ZVNlY3Rpb25JbXBsKTogVGVtcGxhdGVTZWN0aW9uSW1wbCB7XG4gIGNvbnN0IHRpdGxlID0gbWVyZ2VUZW1wbGF0ZUl0ZW1CYXNlKHNvdXJjZS50aXRsZSwgdGFyZ2V0LnRpdGxlKSBhcyBUaXRsZUl0ZW1UZW1wbGF0ZTtcbiAgY29uc3QgaXRlbXM6IFRlbXBsYXRlSXRlbVtdID0gW107XG4gIGZvciAoY29uc3Qgc291cmNlSXRlbSBvZiBzb3VyY2UuaXRlbXMpIHtcbiAgICBjb25zdCB0YXJnZXRJdGVtID0gdGFyZ2V0Lml0ZW1zLmZpbmQoKGkpID0+IGkuaW5zdGFuY2VJZCA9PT0gc291cmNlSXRlbS5pbnN0YW5jZUlkKTtcbiAgICBpZiAodGFyZ2V0SXRlbSkge1xuICAgICAgaXRlbXMucHVzaChtZXJnZVRlbXBsYXRlSXRlbShzb3VyY2VJdGVtLCB0YXJnZXRJdGVtKSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIGl0ZW1zLnB1c2goc291cmNlSXRlbSk7XG4gICAgfVxuICB9XG4gIGNvbnN0IG1lcmdlZFRlbXBsYXRlU2VjdGlvbjogVGVtcGxhdGVTZWN0aW9uSW1wbCA9IHsgLi4udGFyZ2V0LCAuLi5zb3VyY2UsIHRpdGxlLCBpdGVtcyB9O1xuICByZXR1cm4gbWVyZ2VkVGVtcGxhdGVTZWN0aW9uO1xufVxuXG5leHBvcnQgZnVuY3Rpb24gbWVyZ2VUZW1wbGF0ZUl0ZW0oc291cmNlOiBUZW1wbGF0ZUl0ZW0sIHRhcmdldDogVGVtcGxhdGVJdGVtKTogVGVtcGxhdGVJdGVtIHtcbiAgbGV0IG1lcmdlZFRlbXBsYXRlSXRlbTogVGVtcGxhdGVJdGVtIHwgdW5kZWZpbmVkO1xuICBpZiAoaW5zdGFuY2VPZkJvb2xlYW5JdGVtVGVtcGxhdGUoc291cmNlKSAmJiBpbnN0YW5jZU9mQm9vbGVhbkl0ZW1UZW1wbGF0ZSh0YXJnZXQpKSB7XG4gICAgbWVyZ2VkVGVtcGxhdGVJdGVtID0gbWVyZ2VCb29sZWFuSXRlbVRlbXBsYXRlKHNvdXJjZSwgdGFyZ2V0KTtcbiAgfSBlbHNlIGlmIChcbiAgICAoaW5zdGFuY2VPZkNoZWNrYm94SXRlbVRlbXBsYXRlKHNvdXJjZSkgJiYgaW5zdGFuY2VPZkNoZWNrYm94SXRlbVRlbXBsYXRlKHRhcmdldCkpIHx8XG4gICAgKGluc3RhbmNlT2ZEcm9wZG93bkl0ZW1UZW1wbGF0ZShzb3VyY2UpICYmIGluc3RhbmNlT2ZEcm9wZG93bkl0ZW1UZW1wbGF0ZSh0YXJnZXQpKSB8fFxuICAgIChpbnN0YW5jZU9mTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUoc291cmNlKSAmJiBpbnN0YW5jZU9mTXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUodGFyZ2V0KSlcbiAgKSB7XG4gICAgbWVyZ2VkVGVtcGxhdGVJdGVtID0gbWVyZ2VFeHRlbmRlZFRlbXBsYXRlT3B0aW9uR3JvdXBJdGVtKHNvdXJjZSwgdGFyZ2V0KTtcbiAgfSBlbHNlIGlmIChpbnN0YW5jZU9mVGVtcGxhdGVJdGVtR3JvdXBJbXBsKHNvdXJjZSkgJiYgaW5zdGFuY2VPZlRlbXBsYXRlSXRlbUdyb3VwSW1wbCh0YXJnZXQpKSB7XG4gICAgbWVyZ2VkVGVtcGxhdGVJdGVtID0gbWVyZ2VUZW1wbGF0ZUl0ZW1Hcm91cChzb3VyY2UsIHRhcmdldCk7XG4gIH0gZWxzZSBpZiAoaW5zdGFuY2VPZlRlbXBsYXRlU2VjdGlvbkltcGwoc291cmNlKSAmJiBpbnN0YW5jZU9mVGVtcGxhdGVTZWN0aW9uSW1wbCh0YXJnZXQpKSB7XG4gICAgbWVyZ2VkVGVtcGxhdGVJdGVtID0gbWVyZ2VUZW1wbGF0ZVNlY3Rpb24oc291cmNlLCB0YXJnZXQpO1xuICB9IGVsc2Uge1xuICAgIG1lcmdlZFRlbXBsYXRlSXRlbSA9IHsgLi4udGFyZ2V0LCAuLi5zb3VyY2UgfTtcbiAgfVxuXG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZUl0ZW07XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBtZXJnZVRlbXBsYXRlKHNvdXJjZTogVGVtcGxhdGUsIHRhcmdldDogVGVtcGxhdGUpOiBUZW1wbGF0ZSB7XG4gIGNvbnN0IG1lcmdlZEl0ZW1zOiBUZW1wbGF0ZUl0ZW1bXSA9IFtdO1xuICBmb3IgKGNvbnN0IGl0ZW0gb2Ygc291cmNlLml0ZW1zKSB7XG4gICAgY29uc3QgdGFyZ2V0SXRlbSA9IHRhcmdldC5pdGVtcz8uZmluZCgoaSkgPT4gaS5pbnN0YW5jZUlkID09PSBpdGVtLmluc3RhbmNlSWQpO1xuICAgIGlmICh0YXJnZXRJdGVtKSB7XG4gICAgICBtZXJnZWRJdGVtcy5wdXNoKG1lcmdlVGVtcGxhdGVJdGVtKGl0ZW0sIHRhcmdldEl0ZW0pKTtcbiAgICB9IGVsc2Uge1xuICAgICAgbWVyZ2VkSXRlbXMucHVzaChpdGVtKTtcbiAgICB9XG4gIH1cbiAgY29uc3QgbWVyZ2VkVGVtcGxhdGU6IFRlbXBsYXRlID0geyAuLi50YXJnZXQsIC4uLnNvdXJjZSwgaXRlbXM6IG1lcmdlZEl0ZW1zIH07XG4gIHJldHVybiBtZXJnZWRUZW1wbGF0ZTtcbn1cbiJdfQ==
@@ -0,0 +1,27 @@
1
+ import { instanceOfTemplateItemGroupImpl, instanceOfTemplateSectionImpl } from '@mtna/web-form-ts';
2
+ import { isPresent } from '@mtna/core-ts';
3
+ import * as IsTemplateUtil from './is-template-util';
4
+ export function getModelMap(items, itemIdExclusions) {
5
+ const modelMap = new Map();
6
+ traverseItems(items, modelMap, itemIdExclusions);
7
+ return modelMap;
8
+ }
9
+ function traverseItems(items, modelMap, itemIdExclusions) {
10
+ for (const item of items) {
11
+ const propertyNameNotExcluded = isPresent(itemIdExclusions) && !itemIdExclusions.includes(item.itemId);
12
+ if (propertyNameNotExcluded) {
13
+ if (instanceOfTemplateItemGroupImpl(item)) {
14
+ modelMap.set(item.instanceId, item);
15
+ traverseItems(item.items, modelMap, itemIdExclusions);
16
+ }
17
+ else if (instanceOfTemplateSectionImpl(item)) {
18
+ modelMap.set(item.instanceId, item);
19
+ traverseItems(item.items, modelMap, itemIdExclusions);
20
+ }
21
+ else if (IsTemplateUtil.isTemplateItem(item)) {
22
+ modelMap.set(item.instanceId, item);
23
+ }
24
+ }
25
+ }
26
+ }
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWwtbWFwLXV0aWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy93ZWItZm9ybS1hbmd1bGFyL3NyYy9saWIvdXRpbGl0aWVzL21vZGVsLW1hcC11dGlsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSw2QkFBNkIsRUFBZ0IsTUFBTSxtQkFBbUIsQ0FBQztBQUNqSCxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzFDLE9BQU8sS0FBSyxjQUFjLE1BQU0sb0JBQW9CLENBQUM7QUFFckQsTUFBTSxVQUFVLFdBQVcsQ0FBQyxLQUFxQixFQUFFLGdCQUEyQjtJQUM1RSxNQUFNLFFBQVEsR0FBRyxJQUFJLEdBQUcsRUFBd0IsQ0FBQztJQUNqRCxhQUFhLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ2pELE9BQU8sUUFBUSxDQUFDO0FBQ2xCLENBQUM7QUFFRCxTQUFTLGFBQWEsQ0FBQyxLQUFxQixFQUFFLFFBQW1DLEVBQUUsZ0JBQTJCO0lBQzVHLEtBQUssTUFBTSxJQUFJLElBQUksS0FBSyxFQUFFO1FBQ3hCLE1BQU0sdUJBQXVCLEdBQUcsU0FBUyxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQ3ZHLElBQUksdUJBQXVCLEVBQUU7WUFDM0IsSUFBSSwrQkFBK0IsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDekMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2dCQUNwQyxhQUFhLENBQUMsSUFBSSxDQUFDLEtBQUssRUFBRSxRQUFRLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQzthQUN2RDtpQkFBTSxJQUFJLDZCQUE2QixDQUFDLElBQUksQ0FBQyxFQUFFO2dCQUM5QyxRQUFRLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3BDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFDO2FBQ3ZEO2lCQUFNLElBQUksY0FBYyxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsRUFBRTtnQkFDOUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3JDO1NBQ0Y7S0FDRjtBQUNILENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBpbnN0YW5jZU9mVGVtcGxhdGVJdGVtR3JvdXBJbXBsLCBpbnN0YW5jZU9mVGVtcGxhdGVTZWN0aW9uSW1wbCwgVGVtcGxhdGVJdGVtIH0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHsgaXNQcmVzZW50IH0gZnJvbSAnQG10bmEvY29yZS10cyc7XG5pbXBvcnQgKiBhcyBJc1RlbXBsYXRlVXRpbCBmcm9tICcuL2lzLXRlbXBsYXRlLXV0aWwnO1xuXG5leHBvcnQgZnVuY3Rpb24gZ2V0TW9kZWxNYXAoaXRlbXM6IFRlbXBsYXRlSXRlbVtdLCBpdGVtSWRFeGNsdXNpb25zPzogc3RyaW5nW10pOiBNYXA8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+IHtcbiAgY29uc3QgbW9kZWxNYXAgPSBuZXcgTWFwPHN0cmluZywgVGVtcGxhdGVJdGVtPigpO1xuICB0cmF2ZXJzZUl0ZW1zKGl0ZW1zLCBtb2RlbE1hcCwgaXRlbUlkRXhjbHVzaW9ucyk7XG4gIHJldHVybiBtb2RlbE1hcDtcbn1cblxuZnVuY3Rpb24gdHJhdmVyc2VJdGVtcyhpdGVtczogVGVtcGxhdGVJdGVtW10sIG1vZGVsTWFwOiBNYXA8c3RyaW5nLCBUZW1wbGF0ZUl0ZW0+LCBpdGVtSWRFeGNsdXNpb25zPzogc3RyaW5nW10pOiB2b2lkIHtcbiAgZm9yIChjb25zdCBpdGVtIG9mIGl0ZW1zKSB7XG4gICAgY29uc3QgcHJvcGVydHlOYW1lTm90RXhjbHVkZWQgPSBpc1ByZXNlbnQoaXRlbUlkRXhjbHVzaW9ucykgJiYgIWl0ZW1JZEV4Y2x1c2lvbnMuaW5jbHVkZXMoaXRlbS5pdGVtSWQpO1xuICAgIGlmIChwcm9wZXJ0eU5hbWVOb3RFeGNsdWRlZCkge1xuICAgICAgaWYgKGluc3RhbmNlT2ZUZW1wbGF0ZUl0ZW1Hcm91cEltcGwoaXRlbSkpIHtcbiAgICAgICAgbW9kZWxNYXAuc2V0KGl0ZW0uaW5zdGFuY2VJZCwgaXRlbSk7XG4gICAgICAgIHRyYXZlcnNlSXRlbXMoaXRlbS5pdGVtcywgbW9kZWxNYXAsIGl0ZW1JZEV4Y2x1c2lvbnMpO1xuICAgICAgfSBlbHNlIGlmIChpbnN0YW5jZU9mVGVtcGxhdGVTZWN0aW9uSW1wbChpdGVtKSkge1xuICAgICAgICBtb2RlbE1hcC5zZXQoaXRlbS5pbnN0YW5jZUlkLCBpdGVtKTtcbiAgICAgICAgdHJhdmVyc2VJdGVtcyhpdGVtLml0ZW1zLCBtb2RlbE1hcCwgaXRlbUlkRXhjbHVzaW9ucyk7XG4gICAgICB9IGVsc2UgaWYgKElzVGVtcGxhdGVVdGlsLmlzVGVtcGxhdGVJdGVtKGl0ZW0pKSB7XG4gICAgICAgIG1vZGVsTWFwLnNldChpdGVtLmluc3RhbmNlSWQsIGl0ZW0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxufVxuIl19
@@ -1,6 +1,7 @@
1
1
  import { BOOLEAN_ITEM_TEMPLATE_ID, BULLETED_LIST_ITEM_TEMPLATE_ID, CHECKBOX_ITEM_TEMPLATE_ID, DATE_ITEM_TEMPLATE_ID, DECIMAL_ANSWER_ITEM_TEMPLATE_ID, DROPDOWN_ITEM_TEMPLATE_ID, FILE_UPLOAD_ITEM_TEMPLATE_ID, INTERNATIONALIZED_PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, INTERNATIONALIZED_SHORT_ANSWER_ITEM_TEMPLATE_ID, MULTIPLE_CHOICE_ITEM_TEMPLATE_ID, NUMBERED_LIST_ITEM_TEMPLATE_ID, OFFSET_DATE_RANGE_ITEM_TEMPLATE_ID, PARAGRAPH_ANSWER_ITEM_TEMPLATE_ID, SHORT_ANSWER_ITEM_TEMPLATE_ID, TEMPLATE_ITEM_GROUP_IMPL_ID, TEMPLATE_SECTION_IMPL_ID, TEXT_ITEM_TEMPLATE_ID, TIME_ITEM_TEMPLATE_ID, TITLE_ITEM_TEMPLATE_ID, WHOLE_NUMBER_ANSWER_ITEM_TEMPLATE_ID, YEAR_QUARTER_RANGE_ITEM_TEMPLATE_ID, } from '@mtna/web-form-ts';
2
2
  import { i18n_booleanItem, i18n_checkboxItem, i18n_date, i18n_dateItem, i18n_decimalAnswerItem, i18n_decimalValue, i18n_descriptiveText, i18n_dropdown, i18n_dropdownItem, i18n_exampleText, i18n_fileUploadItem, i18n_groupItem, i18n_internationalizedParagraphAnswer, i18n_internationalizedParagraphAnswerItem, i18n_internationalizedShortAnswer, i18n_internationalizedShortAnswerItem, i18n_multipleChoiceItem, i18n_newOption, i18n_newTemplateItem, i18n_offsetDateRangeItem, i18n_orderedListItem, i18n_paragraphAnswer, i18n_paragraphAnswerItem, i18n_questionText, i18n_sectionItem, i18n_shortAnswer, i18n_shortAnswerItem, i18n_textItem, i18n_timeItem, i18n_titleItem, i18n_unorderedListItem, i18n_wholeNumberAnswerItem, i18n_wholeNumberValue, i18n_yearQuarterRangeItem, } from '../models/i18n-constants.model';
3
3
  import { v4 as uuidv4 } from 'uuid';
4
+ import { TITLE_POTENTIAL_DESIGN } from '../models/design/potential-designs.model';
4
5
  const newTemplateItemNameMap = {
5
6
  [BOOLEAN_ITEM_TEMPLATE_ID]: i18n_booleanItem,
6
7
  [BULLETED_LIST_ITEM_TEMPLATE_ID]: i18n_unorderedListItem,
@@ -64,7 +65,7 @@ const stringOption = {
64
65
  const newFormOptionSelectorStringOption = {
65
66
  containerDescription: '',
66
67
  codeValue: '',
67
- acknowledgement: undefined,
68
+ acknowledgementTemplate: undefined,
68
69
  disabledItems: [],
69
70
  enabledItems: [],
70
71
  multiSelect: false,
@@ -76,7 +77,7 @@ const newFormOptionSelectorStringOption = {
76
77
  const newFormOptionSelectorBooleanOption = {
77
78
  containerDescription: '',
78
79
  codeValue: '',
79
- acknowledgement: undefined,
80
+ acknowledgementTemplate: undefined,
80
81
  disabledItems: [],
81
82
  enabledItems: [],
82
83
  multiSelect: false,
@@ -152,7 +153,7 @@ export const getNewTemplateItemGroup = (designBase, languageId) => {
152
153
  return Object.assign(Object.assign({}, baseTemplateItem(designBase, languageId)), { items: [], layout: 'COLUMN' });
153
154
  };
154
155
  export const getNewTemplateSection = (designBase, languageId) => {
155
- return Object.assign(Object.assign({}, getNewTemplateItemGroup(designBase, languageId)), { title: getNewTitleItemTemplate(designBase, languageId) });
156
+ return Object.assign(Object.assign({}, getNewTemplateItemGroup(designBase, languageId)), { title: getNewTitleItemTemplate(TITLE_POTENTIAL_DESIGN, languageId) });
156
157
  };
157
158
  const standardFactories = {
158
159
  [BOOLEAN_ITEM_TEMPLATE_ID]: getNewBooleanItemTemplate,
@@ -190,4 +191,4 @@ export function getNewInitTemplateItem(designBase, languageId, languageTags) {
190
191
  }
191
192
  return baseTemplateItem(designBase, languageId);
192
193
  }
193
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWJhc2UtZGVzaWducy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL3V0aWxpdGllcy9uZXctYmFzZS1kZXNpZ25zLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUd4Qiw4QkFBOEIsRUFFOUIseUJBQXlCLEVBRXpCLHFCQUFxQixFQUVyQiwrQkFBK0IsRUFFL0IseUJBQXlCLEVBRXpCLDRCQUE0QixFQUc1QixtREFBbUQsRUFDbkQsK0NBQStDLEVBRy9DLGdDQUFnQyxFQUVoQyw4QkFBOEIsRUFFOUIsa0NBQWtDLEVBRWxDLGlDQUFpQyxFQUVqQyw2QkFBNkIsRUFHN0IsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUt4QixxQkFBcUIsRUFFckIscUJBQXFCLEVBRXJCLHNCQUFzQixFQUV0QixvQ0FBb0MsRUFFcEMsbUNBQW1DLEdBRXBDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHFDQUFxQyxFQUNyQyx5Q0FBeUMsRUFDekMsaUNBQWlDLEVBQ2pDLHFDQUFxQyxFQUNyQyx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUNkLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIs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QyxtREFBbUQsQ0FBQyxFQUFFLHFDQUFxQztJQUM1RixDQUFDLCtDQUErQyxDQUFDLEVBQUUsaUNBQWlDO0NBQ3JGLENBQUM7QUFFRixNQUFNLFVBQVUsc0JBQXNCLENBQUMsVUFBc0IsRUFBRSxVQUEwQixFQUFFLFlBQXVCO0lBQ2hILElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxpQkFBaUIsRUFBRTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBbUMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztLQUN4QztJQUVELElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxhQUFhLEVBQUU7UUFDcEMsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUF1QyxDQUFDLENBQUM7UUFDdEYsT0FBTyxXQUFXLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7S0FDaEU7SUFFRCxPQUFPLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQk9PTEVBTl9JVEVNX1RFTVBMQVRFX0lELFxuICBCb29sZWFuSXRlbVRlbXBsYXRlLFxuICBCb29sZWFuT3B0aW9uLFxuICBCVUxMRVRFRF9MSVNUX0lURU1fVEVNUExBVEVfSUQsXG4gIEJ1bGxldGVkTGlzdEl0ZW1UZW1wbGF0ZSxcbiAgQ0hFQ0tCT1hfSVRFTV9URU1QTEFURV9JRCxcbiAgQ2hlY2tib3hJdGVtVGVtcGxhdGUsXG4gIERBVEVfSVRFTV9URU1QTEFURV9JRCxcbiAgRGF0ZUl0ZW1UZW1wbGF0ZSxcbiAgREVDSU1BTF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRCxcbiAgRGVjaW1hbEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgRFJPUERPV05fSVRFTV9URU1QTEFURV9JRCxcbiAgRHJvcGRvd25JdGVtVGVtcGxhdGUsXG4gIEZJTEVfVVBMT0FEX0lURU1fVEVNUExBVEVfSUQsXG4gIEZpbGVVcGxvYWRJdGVtVGVtcGxhdGUsXG4gIEZvcm1PcHRpb25TZWxlY3RvcixcbiAgSU5URVJOQVRJT05BTElaRURfUEFSQUdSQVBIX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lELFxuICBJTlRFUk5BVElPTkFMSVpFRF9TSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRCxcbiAgSW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIEludGVybmF0aW9uYWxpemVkU2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIE1VTFRJUExFX0NIT0lDRV9JVEVNX1RFTVBMQVRFX0lELFxuICBNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSxcbiAgTlVNQkVSRURfTElTVF9JVEVNX1RFTVBMQVRFX0lELFxuICBOdW1iZXJlZExpc3RJdGVtVGVtcGxhdGUsXG4gIE9GRlNFVF9EQVRFX1JBTkdFX0lURU1fVEVNUExBVEVfSUQsXG4gIE9mZnNldERhdGVSYW5nZVRlbXBsYXRlLFxuICBQQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQsXG4gIFBhcmFncmFwaEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgU0hPUlRfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQsXG4gIFNob3J0QW5zd2VySXRlbVRlbXBsYXRlLFxuICBTdHJpbmdPcHRpb24sXG4gIFRFTVBMQVRFX0lURU1fR1JPVVBfSU1QTF9JRCxcbiAgVEVNUExBVEVfU0VDVElPTl9JTVBMX0lELFxuICBUZW1wbGF0ZUl0ZW0sXG4gIFRlbXBsYXRlSXRlbUdyb3VwLFxuICBUZW1wbGF0ZUl0ZW1JbXBsLFxuICBUZW1wbGF0ZVNlY3Rpb24sXG4gIFRFWFRfSVRFTV9URU1QTEFURV9JRCxcbiAgVGV4dEl0ZW1UZW1wbGF0ZSxcbiAgVElNRV9JVEVNX1RFTVBMQVRFX0lELFxuICBUaW1lSXRlbVRlbXBsYXRlLFxuICBUSVRMRV9JVEVNX1RFTVBMQVRFX0lELFxuICBUaXRsZUl0ZW1UZW1wbGF0ZSxcbiAgV0hPTEVfTlVNQkVSX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lELFxuICBXaG9sZU51bWJlckFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgWUVBUl9RVUFSVEVSX1JBTkdFX0lURU1fVEVNUExBVEVfSUQsXG4gIFllYXJRdWFydGVyUmFuZ2VUZW1wbGF0ZSxcbn0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHtcbiAgaTE4bl9ib29sZWFuSXRlbSxcbiAgaTE4bl9jaGVja2JveEl0ZW0sXG4gIGkxOG5fZGF0ZSxcbiAgaTE4bl9kYXRlSXRlbSxcbiAgaTE4bl9kZWNpbWFsQW5zd2VySXRlbSxcbiAgaTE4bl9kZWNpbWFsVmFsdWUsXG4gIGkxOG5fZGVzY3JpcHRpdmVUZXh0LFxuICBpMThuX2Ryb3Bkb3duLFxuICBpMThuX2Ryb3Bkb3duSXRlbSxcbiAgaTE4bl9leGFtcGxlVGV4dCxcbiAgaTE4bl9maWxlVXBsb2FkSXRlbSxcbiAgaTE4bl9ncm91cEl0ZW0sXG4gIGkxOG5faW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXIsXG4gIGkxOG5faW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXJJdGVtLFxuICBpMThuX2ludGVybmF0aW9uYWxpemVkU2hvcnRBbnN3ZXIsXG4gIGkxOG5faW50ZXJuYXRpb25hbGl6ZWRTaG9ydEFuc3dlckl0ZW0sXG4gIGkxOG5fbXVsdGlwbGVDaG9pY2VJdGVtLFxuICBpMThuX25ld09wdGlvbixcbiAgaTE4bl9uZXdUZW1wbGF0ZUl0ZW0sXG4gIGkxOG5fb2Zmc2V0RGF0ZVJhbmdlSXRlbSxcbiAgaTE4bl9vcmRlcmVkTGlzdEl0ZW0sXG4gIGkxOG5fcGFyYWdyYXBoQW5zd2VyLFxuICBpMThuX3BhcmFncmFwaEFuc3dlckl0ZW0sXG4gIGkxOG5fcXVlc3Rpb25UZXh0LFxuICBpMThuX3NlY3Rpb25JdGVtLFxuICBpMThuX3Nob3J0QW5zd2VyLFxuICBpMThuX3Nob3J0QW5zd2VySXRlbSxcbiAgaTE4bl90ZXh0SXRlbSxcbiAgaTE4bl90aW1lSXRlbSxcbiAgaTE4bl90aXRsZUl0ZW0sXG4gIGkxOG5fdW5vcmRlcmVkTGlzdEl0ZW0sXG4gIGkxOG5fd2hvbGVOdW1iZXJBbnN3ZXJJdGVtLFxuICBpMThuX3dob2xlTnVtYmVyVmFsdWUsXG4gIGkxOG5feWVhclF1YXJ0ZXJSYW5nZUl0ZW0sXG59IGZyb20gJy4uL21vZGVscy9pMThuLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBEZXNpZ25CYXNlIH0gZnJvbSAnQG10bmEvZGVzaWduZXItdHMnO1xuaW1wb3J0IHsgTXRuYUxhbmd1YWdlSWQgfSBmcm9tICdAbXRuYS9jb3JlLWkxOG4tYW5ndWxhcic7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcblxuY29uc3QgbmV3VGVtcGxhdGVJdGVtTmFtZU1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgW0JPT0xFQU5fSVRFTV9URU1QTEFURV9JRF06IGkxOG5fYm9vbGVhbkl0ZW0sXG4gIFtCVUxMRVRFRF9MSVNUX0lURU1fVEVNUExBVEVfSURdOiBpMThuX3Vub3JkZXJlZExpc3RJdGVtLFxuICBbQ0hFQ0tCT1hfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fY2hlY2tib3hJdGVtLFxuICBbREFURV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl9kYXRlSXRlbSxcbiAgW0RFQ0lNQUxfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX2RlY2ltYWxBbnN3ZXJJdGVtLFxuICBbRFJPUERPV05fSVRFTV9URU1QTEFURV9JRF06IGkxOG5fZHJvcGRvd25JdGVtLFxuICBbRklMRV9VUExPQURfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fZmlsZVVwbG9hZEl0ZW0sXG4gIFtJTlRFUk5BVElPTkFMSVpFRF9QQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX2ludGVybmF0aW9uYWxpemVkUGFyYWdyYXBoQW5zd2VySXRlbSxcbiAgW0lOVEVSTkFUSU9OQUxJWkVEX1NIT1JUX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl9pbnRlcm5hdGlvbmFsaXplZFNob3J0QW5zd2VySXRlbSxcbiAgW01VTFRJUExFX0NIT0lDRV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl9tdWx0aXBsZUNob2ljZUl0ZW0sXG4gIFtOVU1CRVJFRF9MSVNUX0lURU1fVEVNUExBVEVfSURdOiBpMThuX29yZGVyZWRMaXN0SXRlbSxcbiAgW09GRlNFVF9EQVRFX1JBTkdFX0lURU1fVEVNUExBVEVfSURdOiBpMThuX29mZnNldERhdGVSYW5nZUl0ZW0sXG4gIFtQQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX3BhcmFncmFwaEFuc3dlckl0ZW0sXG4gIFtTSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fc2hvcnRBbnN3ZXJJdGVtLFxuICBbVEVNUExBVEVfSVRFTV9HUk9VUF9JTVBMX0lEXTogaTE4bl9ncm91cEl0ZW0sXG4gIFtURU1QTEFURV9TRUNUSU9OX0lNUExfSURdOiBpMThuX3NlY3Rpb25JdGVtLFxuICBbVEVYVF9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl90ZXh0SXRlbSxcbiAgW1RJTUVfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fdGltZUl0ZW0sXG4gIFtUSVRMRV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl90aXRsZUl0ZW0sXG4gIFtXSE9MRV9OVU1CRVJfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX3dob2xlTnVtYmVyQW5zd2VySXRlbSxcbiAgW1lFQVJfUVVBUlRFUl9SQU5HRV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl95ZWFyUXVhcnRlclJhbmdlSXRlbSxcbn07XG5cbmNvbnN0IGJhc2VUZW1wbGF0ZUl0ZW0gPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBUZW1wbGF0ZUl0ZW0gPT4ge1xuICByZXR1cm4ge1xuICAgIGl0ZW1JZDogZGVzaWduQmFzZS50eXBlLFxuICAgIGluc3RhbmNlSWQ6IGRlc2lnbkJhc2UuaWQsXG4gICAgYW5ub3RhdGFibGVJZDogZGVzaWduQmFzZS5pZCxcbiAgICBkZXNjcmlwdGl2ZVRleHQ6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX2Rlc2NyaXB0aXZlVGV4dCB9XSxcbiAgICBuYW1lOiBuZXdUZW1wbGF0ZUl0ZW1OYW1lTWFwW2Rlc2lnbkJhc2UudHlwZV0gPz8gaTE4bl9uZXdUZW1wbGF0ZUl0ZW0sXG4gICAgcXVlc3Rpb25UZXh0OiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogaTE4bl9xdWVzdGlvblRleHQgfV0sXG4gICAgYW5ub3RhdGlvbkVuYWJsZWQ6IGZhbHNlLFxuICAgIGV4Y2x1ZGVGcm9tUHJpbnQ6IGZhbHNlLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBpZ25vcmVDb25kaXRpb25hbEluc3RydWN0aW9uczogZmFsc2UsXG4gICAgcHJpbnRBbHRlcm5hdGl2ZTogJycsXG4gIH07XG59O1xuXG5jb25zdCBiYXNlVGVtcGxhdGVJdGVtSW1wbCA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFRlbXBsYXRlSXRlbUltcGwgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW0oZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGhhc0NvbmRpdGlvbjogZmFsc2UsXG4gICAgaGlkZU9uRGlzYWJsZTogZmFsc2UsXG4gIH07XG59O1xuXG5jb25zdCBib29sZWFuT3B0aW9uOiBCb29sZWFuT3B0aW9uID0ge1xuICBjb250YWluZXJEZXNjcmlwdGlvbjogJycsXG4gIGNvbmRpdGlvbmFsSW5zdHJ1Y3Rpb25zOiAnJyxcbiAgbmFtZTogaTE4bl9uZXdPcHRpb24sXG4gIGlkOiB1dWlkdjQoKSxcbiAgaGVscDogJycsXG4gIGRlc2NyaXB0aW9uOiAnJyxcbiAgdmFsdWU6IGZhbHNlLFxufTtcblxuY29uc3Qgc3RyaW5nT3B0aW9uOiBTdHJpbmdPcHRpb24gPSB7XG4gIGNvbnRhaW5lckRlc2NyaXB0aW9uOiAnJyxcbiAgY29uZGl0aW9uYWxJbnN0cnVjdGlvbnM6ICcnLFxuICBuYW1lOiBpMThuX25ld09wdGlvbixcbiAgaWQ6IHV1aWR2NCgpLFxuICBoZWxwOiAnJyxcbiAgZGVzY3JpcHRpb246ICcnLFxuICB2YWx1ZTogaTE4bl9uZXdPcHRpb24sXG59O1xuXG5jb25zdCBuZXdGb3JtT3B0aW9uU2VsZWN0b3JTdHJpbmdPcHRpb246IEZvcm1PcHRpb25TZWxlY3RvcjxTdHJpbmdPcHRpb24+ID0ge1xuICBjb250YWluZXJEZXNjcmlwdGlvbjogJycsXG4gIGNvZGVWYWx1ZTogJycsXG4gIGFja25vd2xlZGdlbWVudDogdW5kZWZpbmVkLFxuICBkaXNhYmxlZEl0ZW1zOiBbXSxcbiAgZW5hYmxlZEl0ZW1zOiBbXSxcbiAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICBvcHRpb246IHN0cmluZ09wdGlvbixcbiAgc2VsZWN0ZWQ6IGZhbHNlLFxuICBzZWxlY3Rpb25Db3VudDogMCxcbiAgdW5hdmFpbGFibGU6IGZhbHNlLFxufTtcblxuY29uc3QgbmV3Rm9ybU9wdGlvblNlbGVjdG9yQm9vbGVhbk9wdGlvbjogRm9ybU9wdGlvblNlbGVjdG9yPEJvb2xlYW5PcHRpb24+ID0ge1xuICBjb250YWluZXJEZXNjcmlwdGlvbjogJycsXG4gIGNvZGVWYWx1ZTogJycsXG4gIGFja25vd2xlZGdlbWVudDogdW5kZWZpbmVkLFxuICBkaXNhYmxlZEl0ZW1zOiBbXSxcbiAgZW5hYmxlZEl0ZW1zOiBbXSxcbiAgbXVsdGlTZWxlY3Q6IGZhbHNlLFxuICBvcHRpb246IGJvb2xlYW5PcHRpb24sXG4gIHNlbGVjdGVkOiBmYWxzZSxcbiAgc2VsZWN0aW9uQ291bnQ6IDAsXG4gIHVuYXZhaWxhYmxlOiBmYWxzZSxcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdCb29sZWFuSXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogQm9vbGVhbkl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgY29kZU9wdGlvbjogdW5kZWZpbmVkLFxuICAgIG9wdGlvbjogbmV3Rm9ybU9wdGlvblNlbGVjdG9yQm9vbGVhbk9wdGlvbixcbiAgICBvcHRpb25UZW1wbGF0ZU1hcDoge30sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3Q2hlY2tib3hJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBDaGVja2JveEl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgY29kZVZhbHVlVGVtcGxhdGVJbmxpbmU6IHt9LFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlTWFwOiB7fSxcbiAgICBtYXhTZWxlY3Rpb25zOiAxLFxuICAgIG1pblNlbGVjdGlvbnM6IDAsXG4gICAgb3B0aW9uU3Vic2V0czogW10sXG4gICAgb3B0aW9uVGVtcGxhdGVNYXA6IHt9LFxuICAgIG9wdGlvbnM6IFtuZXdGb3JtT3B0aW9uU2VsZWN0b3JTdHJpbmdPcHRpb25dLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld0RhdGVJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBEYXRlSXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBmb3JtYXQ6ICdZWVlZL01NL2RkJyxcbiAgICBsYWJlbDogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6IGkxOG5fZGF0ZSB9XSxcbiAgICBwcmVzZXRWYWx1ZTogbmV3IERhdGUoKSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdEZWNpbWFsQW5zd2VySXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogRGVjaW1hbEFuc3dlckl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgbGFiZWw6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX2RlY2ltYWxWYWx1ZSB9XSxcbiAgICBtYXhWYWx1ZTogMTAwLFxuICAgIG1pblZhbHVlOiAtMTAwLFxuICAgIHBvc2l0aXZlT25seTogZmFsc2UsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3RHJvcGRvd25JdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBEcm9wZG93bkl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgbGFiZWw6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX2Ryb3Bkb3duIH1dLFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lOiB7fSxcbiAgICBjb2RlVmFsdWVUZW1wbGF0ZU1hcDoge30sXG4gICAgb3B0aW9uVGVtcGxhdGVNYXA6IHt9LFxuICAgIG9wdGlvbnM6IFtuZXdGb3JtT3B0aW9uU2VsZWN0b3JTdHJpbmdPcHRpb25dLFxuICAgIG9wdGlvblN1YnNldHM6IFtdLFxuICAgIG1pblNlbGVjdGlvbnM6IDAsXG4gICAgbWF4U2VsZWN0aW9uczogMSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdGaWxlVXBsb2FkSXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogRmlsZVVwbG9hZEl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgZG93bmxvYWRBbGxvd2VkOiBmYWxzZSxcbiAgICBmaWxlVHlwZUlkOiAnJyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdJMThuUGFyYWdyYXBoQW5zd2VySXRlbVRlbXBsYXRlID0gKFxuICBkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLFxuICBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCxcbiAgbGFuZ3VhZ2VUYWdzOiBzdHJpbmdbXSA9IFtdXG4pOiBJbnRlcm5hdGlvbmFsaXplZFBhcmFncmFwaEFuc3dlckl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgbGFiZWw6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX2ludGVybmF0aW9uYWxpemVkUGFyYWdyYXBoQW5zd2VyIH1dLFxuICAgIGxhbmd1YWdlVGFncyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGxhYmVsOiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogaTE4bl9wYXJhZ3JhcGhBbnN3ZXIgfV0sXG4gICAgbWluQ2hhckNvdW50OiAwLFxuICAgIG1heENoYXJDb3VudDogMTAwLCAvLyBUT0RPIGZpbmQgbWF4IGludCBhbmQgYWRkIGl0IGhlcmVcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdJMThuU2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUgPSAoXG4gIGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsXG4gIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLFxuICBsYW5ndWFnZVRhZ3M6IHN0cmluZ1tdID0gW11cbik6IEludGVybmF0aW9uYWxpemVkU2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGxhYmVsOiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogaTE4bl9pbnRlcm5hdGlvbmFsaXplZFNob3J0QW5zd2VyIH1dLFxuICAgIGxhbmd1YWdlVGFncyxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdTaG9ydEFuc3dlckl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFNob3J0QW5zd2VySXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBsYWJlbDogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6IGkxOG5fc2hvcnRBbnN3ZXIgfV0sXG4gICAgbWluQ2hhckNvdW50OiAwLFxuICAgIG1heENoYXJDb3VudDogMTAwLCAvLyBUT0RPIGZpbmQgbWF4IGludCBhbmQgYWRkIGl0IGhlcmVcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IE11bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBjb2RlVmFsdWVUZW1wbGF0ZU1hcDoge30sXG4gICAgY29kZVZhbHVlVGVtcGxhdGVJbmxpbmU6IHt9LFxuICAgIG9wdGlvblRlbXBsYXRlTWFwOiB7fSxcbiAgICBvcHRpb25zOiBbbmV3Rm9ybU9wdGlvblNlbGVjdG9yU3RyaW5nT3B0aW9uXSxcbiAgICBvcHRpb25TdWJzZXRzOiBbXSxcbiAgICBtaW5TZWxlY3Rpb25zOiAwLFxuICAgIG1heFNlbGVjdGlvbnM6IDEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3TnVtYmVyZWRMaXN0SXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogTnVtYmVyZWRMaXN0SXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBpdGVtczogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6IFtpMThuX2V4YW1wbGVUZXh0XSB9XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdCdWxsZXRlZExpc3RJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBCdWxsZXRlZExpc3RJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIHZhbHVlczogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6IFtpMThuX2V4YW1wbGVUZXh0XSB9XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdXaG9sZU51bWJlckFuc3dlckl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFdob2xlTnVtYmVyQW5zd2VySXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBsYWJlbDogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6IGkxOG5fd2hvbGVOdW1iZXJWYWx1ZSB9XSxcbiAgICBtYXhWYWx1ZTogMTAwLFxuICAgIG1pblZhbHVlOiAtMTAwLFxuICAgIHBvc2l0aXZlT25seTogZmFsc2UsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3T2Zmc2V0RGF0ZVJhbmdlSXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogT2Zmc2V0RGF0ZVJhbmdlVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGZvcm1hdDogJ1lZWVkvTU0vZGQnLCAvLyBUT0RPXG4gICAgcmFuZ2VMaW1pdHM6IHtcbiAgICAgIHN0YXJ0OiBuZXcgRGF0ZSgpLFxuICAgICAgZW5kOiBuZXcgRGF0ZSgpLFxuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0WWVhclF1YXJ0ZXJSYW5nZUl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFllYXJRdWFydGVyUmFuZ2VUZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgcmFuZ2VMaW1pdHM6IHtcbiAgICAgIHN0YXJ0OiB7IHllYXI6IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSwgcXVhcnRlcjogMCB9LFxuICAgICAgZW5kOiB7IHllYXI6IG5ldyBEYXRlKCkuZ2V0RnVsbFllYXIoKSwgcXVhcnRlcjogMyB9LFxuICAgIH0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3VGV4dEl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFRleHRJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIHZhbHVlOiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogJ1RleHQnIH1dLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld1RpbWVJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBUaW1lSXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBmb3JtYXQ6ICcnLCAvLyBUT0RPXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3VGl0bGVJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBUaXRsZUl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgdmFsdWU6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiAnVGl0bGUnIH1dLFxuICAgIGxldmVsOiAxLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld1RlbXBsYXRlSXRlbUdyb3VwID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogVGVtcGxhdGVJdGVtR3JvdXAgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW0oZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgaXRlbXM6IFtdLFxuICAgIGxheW91dDogJ0NPTFVNTicsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3VGVtcGxhdGVTZWN0aW9uID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogVGVtcGxhdGVTZWN0aW9uID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5nZXROZXdUZW1wbGF0ZUl0ZW1Hcm91cChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICB0aXRsZTogZ2V0TmV3VGl0bGVJdGVtVGVtcGxhdGUoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gIH07XG59O1xuXG4vLyBHZXQgdGhlIGZhY3RvcnkgdHlwZXNcbnR5cGUgU3RhbmRhcmRUZW1wbGF0ZUZhY3RvcnkgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpID0+IFRlbXBsYXRlSXRlbTtcblxudHlwZSBJMThuVGVtcGxhdGVGYWN0b3J5ID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBsYW5ndWFnZVRhZ3M6IHN0cmluZ1tdKSA9PiBUZW1wbGF0ZUl0ZW07XG5cbi8vIE1hcCBvZiBmYWN0b3JpZXMga2V5ZWQgYnkgaWRcbmludGVyZmFjZSBUZW1wbGF0ZUl0ZW1GYWN0b3JpZXMge1xuICBbQk9PTEVBTl9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtCVUxMRVRFRF9MSVNUX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW0NIRUNLQk9YX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW0RBVEVfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbREVDSU1BTF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbRFJPUERPV05fSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbRklMRV9VUExPQURfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbTVVMVElQTEVfQ0hPSUNFX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW05VTUJFUkVEX0xJU1RfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbT0ZGU0VUX0RBVEVfUkFOR0VfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbUEFSQUdSQVBIX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtTSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbVEVNUExBVEVfSVRFTV9HUk9VUF9JTVBMX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtURU1QTEFURV9TRUNUSU9OX0lNUExfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW1RFWFRfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbVElNRV9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtUSVRMRV9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtXSE9MRV9OVU1CRVJfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW1lFQVJfUVVBUlRFUl9SQU5HRV9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG59XG5cbmludGVyZmFjZSBJMThuVGVtcGxhdGVJdGVtRmFjdG9yaWVzIHtcbiAgW0lOVEVSTkFUSU9OQUxJWkVEX1BBUkFHUkFQSF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IEkxOG5UZW1wbGF0ZUZhY3Rvcnk7XG4gIFtJTlRFUk5BVElPTkFMSVpFRF9TSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IEkxOG5UZW1wbGF0ZUZhY3Rvcnk7XG59XG5cbmNvbnN0IHN0YW5kYXJkRmFjdG9yaWVzOiBUZW1wbGF0ZUl0ZW1GYWN0b3JpZXMgPSB7XG4gIFtCT09MRUFOX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdCb29sZWFuSXRlbVRlbXBsYXRlLFxuICBbQlVMTEVURURfTElTVF9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3QnVsbGV0ZWRMaXN0SXRlbVRlbXBsYXRlLFxuICBbQ0hFQ0tCT1hfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld0NoZWNrYm94SXRlbVRlbXBsYXRlLFxuICBbREFURV9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3RGF0ZUl0ZW1UZW1wbGF0ZSxcbiAgW0RFQ0lNQUxfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdEZWNpbWFsQW5zd2VySXRlbVRlbXBsYXRlLFxuICBbRFJPUERPV05fSVRFTV9URU1QTEFURV9JRF06IGdldE5ld0Ryb3Bkb3duSXRlbVRlbXBsYXRlLFxuICBbRklMRV9VUExPQURfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld0ZpbGVVcGxvYWRJdGVtVGVtcGxhdGUsXG4gIFtNVUxUSVBMRV9DSE9JQ0VfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld011bHRpcGxlQ2hvaWNlSXRlbVRlbXBsYXRlLFxuICBbTlVNQkVSRURfTElTVF9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3TnVtYmVyZWRMaXN0SXRlbVRlbXBsYXRlLFxuICBbT0ZGU0VUX0RBVEVfUkFOR0VfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld09mZnNldERhdGVSYW5nZUl0ZW1UZW1wbGF0ZSxcbiAgW1BBUkFHUkFQSF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld1BhcmFncmFwaEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgW1NIT1JUX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3U2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIFtURU1QTEFURV9JVEVNX0dST1VQX0lNUExfSURdOiBnZXROZXdUZW1wbGF0ZUl0ZW1Hcm91cCxcbiAgW1RFTVBMQVRFX1NFQ1RJT05fSU1QTF9JRF06IGdldE5ld1RlbXBsYXRlU2VjdGlvbixcbiAgW1RFWFRfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld1RleHRJdGVtVGVtcGxhdGUsXG4gIFtUSU1FX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdUaW1lSXRlbVRlbXBsYXRlLFxuICBbVElUTEVfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld1RpdGxlSXRlbVRlbXBsYXRlLFxuICBbV0hPTEVfTlVNQkVSX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3V2hvbGVOdW1iZXJBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIFtZRUFSX1FVQVJURVJfUkFOR0VfSVRFTV9URU1QTEFURV9JRF06IGdldFllYXJRdWFydGVyUmFuZ2VJdGVtVGVtcGxhdGUsXG59O1xuXG5jb25zdCBpMThuRmFjdG9yaWVzOiBJMThuVGVtcGxhdGVJdGVtRmFjdG9yaWVzID0ge1xuICBbSU5URVJOQVRJT05BTElaRURfUEFSQUdSQVBIX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3STE4blBhcmFncmFwaEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgW0lOVEVSTkFUSU9OQUxJWkVEX1NIT1JUX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3STE4blNob3J0QW5zd2VySXRlbVRlbXBsYXRlLFxufTtcblxuZXhwb3J0IGZ1bmN0aW9uIGdldE5ld0luaXRUZW1wbGF0ZUl0ZW0oZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQsIGxhbmd1YWdlVGFncz86IHN0cmluZ1tdKTogVGVtcGxhdGVJdGVtIHtcbiAgaWYgKGRlc2lnbkJhc2UudHlwZSBpbiBzdGFuZGFyZEZhY3Rvcmllcykge1xuICAgIGNvbnN0IGZhY3RvcnkgPSBzdGFuZGFyZEZhY3Rvcmllc1tkZXNpZ25CYXNlLnR5cGUgYXMga2V5b2YgVGVtcGxhdGVJdGVtRmFjdG9yaWVzXTtcbiAgICByZXR1cm4gZmFjdG9yeShkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKTtcbiAgfVxuXG4gIGlmIChkZXNpZ25CYXNlLnR5cGUgaW4gaTE4bkZhY3Rvcmllcykge1xuICAgIGNvbnN0IGkxOG5GYWN0b3J5ID0gaTE4bkZhY3Rvcmllc1tkZXNpZ25CYXNlLnR5cGUgYXMga2V5b2YgSTE4blRlbXBsYXRlSXRlbUZhY3Rvcmllc107XG4gICAgcmV0dXJuIGkxOG5GYWN0b3J5KGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQsIGxhbmd1YWdlVGFncyB8fCBbXSk7XG4gIH1cblxuICByZXR1cm4gYmFzZVRlbXBsYXRlSXRlbShkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKTtcbn1cbiJdfQ==
194
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LWJhc2UtZGVzaWducy51dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvd2ViLWZvcm0tYW5ndWxhci9zcmMvbGliL3V0aWxpdGllcy9uZXctYmFzZS1kZXNpZ25zLnV0aWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLHdCQUF3QixFQUd4Qiw4QkFBOEIsRUFFOUIseUJBQXlCLEVBRXpCLHFCQUFxQixFQUVyQiwrQkFBK0IsRUFFL0IseUJBQXlCLEVBRXpCLDRCQUE0QixFQUc1QixtREFBbUQsRUFDbkQsK0NBQStDLEVBRy9DLGdDQUFnQyxFQUVoQyw4QkFBOEIsRUFFOUIsa0NBQWtDLEVBRWxDLGlDQUFpQyxFQUVqQyw2QkFBNkIsRUFHN0IsMkJBQTJCLEVBQzNCLHdCQUF3QixFQUt4QixxQkFBcUIsRUFFckIscUJBQXFCLEVBRXJCLHNCQUFzQixFQUV0QixvQ0FBb0MsRUFFcEMsbUNBQW1DLEdBRXBDLE1BQU0sbUJBQW1CLENBQUM7QUFDM0IsT0FBTyxFQUNMLGdCQUFnQixFQUNoQixpQkFBaUIsRUFDakIsU0FBUyxFQUNULGFBQWEsRUFDYixzQkFBc0IsRUFDdEIsaUJBQWlCLEVBQ2pCLG9CQUFvQixFQUNwQixhQUFhLEVBQ2IsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixtQkFBbUIsRUFDbkIsY0FBYyxFQUNkLHFDQUFxQyxFQUNyQyx5Q0FBeUMsRUFDekMsaUNBQWlDLEVBQ2pDLHFDQUFxQyxFQUNyQyx1QkFBdUIsRUFDdkIsY0FBYyxFQUNkLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsb0JBQW9CLEVBQ3BCLG9CQUFvQixFQUNwQix3QkFBd0IsRUFDeEIsaUJBQWlCLEVBQ2pCLGdCQUFnQixFQUNoQixnQkFBZ0IsRUFDaEIsb0JBQW9CLEVBQ3BCLGFBQWEsRUFDYixhQUFhLEVBQ2IsY0FBYyxFQUNkLHNCQUFzQixFQUN0QiwwQkFBMEIsRUFDMUIs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QUUsK0JBQStCO0NBQ3ZFLENBQUM7QUFFRixNQUFNLGFBQWEsR0FBOEI7SUFDL0MsQ0FBQyxtREFBbUQsQ0FBQyxFQUFFLHFDQUFxQztJQUM1RixDQUFDLCtDQUErQyxDQUFDLEVBQUUsaUNBQWlDO0NBQ3JGLENBQUM7QUFFRixNQUFNLFVBQVUsc0JBQXNCLENBQUMsVUFBc0IsRUFBRSxVQUEwQixFQUFFLFlBQXVCO0lBQ2hILElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxpQkFBaUIsRUFBRTtRQUN4QyxNQUFNLE9BQU8sR0FBRyxpQkFBaUIsQ0FBQyxVQUFVLENBQUMsSUFBbUMsQ0FBQyxDQUFDO1FBQ2xGLE9BQU8sT0FBTyxDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztLQUN4QztJQUVELElBQUksVUFBVSxDQUFDLElBQUksSUFBSSxhQUFhLEVBQUU7UUFDcEMsTUFBTSxXQUFXLEdBQUcsYUFBYSxDQUFDLFVBQVUsQ0FBQyxJQUF1QyxDQUFDLENBQUM7UUFDdEYsT0FBTyxXQUFXLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxZQUFZLElBQUksRUFBRSxDQUFDLENBQUM7S0FDaEU7SUFFRCxPQUFPLGdCQUFnQixDQUFDLFVBQVUsRUFBRSxVQUFVLENBQUMsQ0FBQztBQUNsRCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQk9PTEVBTl9JVEVNX1RFTVBMQVRFX0lELFxuICBCb29sZWFuSXRlbVRlbXBsYXRlLFxuICBCb29sZWFuT3B0aW9uLFxuICBCVUxMRVRFRF9MSVNUX0lURU1fVEVNUExBVEVfSUQsXG4gIEJ1bGxldGVkTGlzdEl0ZW1UZW1wbGF0ZSxcbiAgQ0hFQ0tCT1hfSVRFTV9URU1QTEFURV9JRCxcbiAgQ2hlY2tib3hJdGVtVGVtcGxhdGUsXG4gIERBVEVfSVRFTV9URU1QTEFURV9JRCxcbiAgRGF0ZUl0ZW1UZW1wbGF0ZSxcbiAgREVDSU1BTF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRCxcbiAgRGVjaW1hbEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgRFJPUERPV05fSVRFTV9URU1QTEFURV9JRCxcbiAgRHJvcGRvd25JdGVtVGVtcGxhdGUsXG4gIEZJTEVfVVBMT0FEX0lURU1fVEVNUExBVEVfSUQsXG4gIEZpbGVVcGxvYWRJdGVtVGVtcGxhdGUsXG4gIEZvcm1PcHRpb25TZWxlY3RvcixcbiAgSU5URVJOQVRJT05BTElaRURfUEFSQUdSQVBIX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lELFxuICBJTlRFUk5BVElPTkFMSVpFRF9TSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRCxcbiAgSW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIEludGVybmF0aW9uYWxpemVkU2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIE1VTFRJUExFX0NIT0lDRV9JVEVNX1RFTVBMQVRFX0lELFxuICBNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSxcbiAgTlVNQkVSRURfTElTVF9JVEVNX1RFTVBMQVRFX0lELFxuICBOdW1iZXJlZExpc3RJdGVtVGVtcGxhdGUsXG4gIE9GRlNFVF9EQVRFX1JBTkdFX0lURU1fVEVNUExBVEVfSUQsXG4gIE9mZnNldERhdGVSYW5nZVRlbXBsYXRlLFxuICBQQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQsXG4gIFBhcmFncmFwaEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgU0hPUlRfQU5TV0VSX0lURU1fVEVNUExBVEVfSUQsXG4gIFNob3J0QW5zd2VySXRlbVRlbXBsYXRlLFxuICBTdHJpbmdPcHRpb24sXG4gIFRFTVBMQVRFX0lURU1fR1JPVVBfSU1QTF9JRCxcbiAgVEVNUExBVEVfU0VDVElPTl9JTVBMX0lELFxuICBUZW1wbGF0ZUl0ZW0sXG4gIFRlbXBsYXRlSXRlbUdyb3VwLFxuICBUZW1wbGF0ZUl0ZW1JbXBsLFxuICBUZW1wbGF0ZVNlY3Rpb24sXG4gIFRFWFRfSVRFTV9URU1QTEFURV9JRCxcbiAgVGV4dEl0ZW1UZW1wbGF0ZSxcbiAgVElNRV9JVEVNX1RFTVBMQVRFX0lELFxuICBUaW1lSXRlbVRlbXBsYXRlLFxuICBUSVRMRV9JVEVNX1RFTVBMQVRFX0lELFxuICBUaXRsZUl0ZW1UZW1wbGF0ZSxcbiAgV0hPTEVfTlVNQkVSX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lELFxuICBXaG9sZU51bWJlckFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgWUVBUl9RVUFSVEVSX1JBTkdFX0lURU1fVEVNUExBVEVfSUQsXG4gIFllYXJRdWFydGVyUmFuZ2VUZW1wbGF0ZSxcbn0gZnJvbSAnQG10bmEvd2ViLWZvcm0tdHMnO1xuaW1wb3J0IHtcbiAgaTE4bl9ib29sZWFuSXRlbSxcbiAgaTE4bl9jaGVja2JveEl0ZW0sXG4gIGkxOG5fZGF0ZSxcbiAgaTE4bl9kYXRlSXRlbSxcbiAgaTE4bl9kZWNpbWFsQW5zd2VySXRlbSxcbiAgaTE4bl9kZWNpbWFsVmFsdWUsXG4gIGkxOG5fZGVzY3JpcHRpdmVUZXh0LFxuICBpMThuX2Ryb3Bkb3duLFxuICBpMThuX2Ryb3Bkb3duSXRlbSxcbiAgaTE4bl9leGFtcGxlVGV4dCxcbiAgaTE4bl9maWxlVXBsb2FkSXRlbSxcbiAgaTE4bl9ncm91cEl0ZW0sXG4gIGkxOG5faW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXIsXG4gIGkxOG5faW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXJJdGVtLFxuICBpMThuX2ludGVybmF0aW9uYWxpemVkU2hvcnRBbnN3ZXIsXG4gIGkxOG5faW50ZXJuYXRpb25hbGl6ZWRTaG9ydEFuc3dlckl0ZW0sXG4gIGkxOG5fbXVsdGlwbGVDaG9pY2VJdGVtLFxuICBpMThuX25ld09wdGlvbixcbiAgaTE4bl9uZXdUZW1wbGF0ZUl0ZW0sXG4gIGkxOG5fb2Zmc2V0RGF0ZVJhbmdlSXRlbSxcbiAgaTE4bl9vcmRlcmVkTGlzdEl0ZW0sXG4gIGkxOG5fcGFyYWdyYXBoQW5zd2VyLFxuICBpMThuX3BhcmFncmFwaEFuc3dlckl0ZW0sXG4gIGkxOG5fcXVlc3Rpb25UZXh0LFxuICBpMThuX3NlY3Rpb25JdGVtLFxuICBpMThuX3Nob3J0QW5zd2VyLFxuICBpMThuX3Nob3J0QW5zd2VySXRlbSxcbiAgaTE4bl90ZXh0SXRlbSxcbiAgaTE4bl90aW1lSXRlbSxcbiAgaTE4bl90aXRsZUl0ZW0sXG4gIGkxOG5fdW5vcmRlcmVkTGlzdEl0ZW0sXG4gIGkxOG5fd2hvbGVOdW1iZXJBbnN3ZXJJdGVtLFxuICBpMThuX3dob2xlTnVtYmVyVmFsdWUsXG4gIGkxOG5feWVhclF1YXJ0ZXJSYW5nZUl0ZW0sXG59IGZyb20gJy4uL21vZGVscy9pMThuLWNvbnN0YW50cy5tb2RlbCc7XG5pbXBvcnQgeyBEZXNpZ25CYXNlIH0gZnJvbSAnQG10bmEvZGVzaWduZXItdHMnO1xuaW1wb3J0IHsgTXRuYUxhbmd1YWdlSWQgfSBmcm9tICdAbXRuYS9jb3JlLWkxOG4tYW5ndWxhcic7XG5pbXBvcnQgeyB2NCBhcyB1dWlkdjQgfSBmcm9tICd1dWlkJztcbmltcG9ydCB7IFRJVExFX1BPVEVOVElBTF9ERVNJR04gfSBmcm9tICcuLi9tb2RlbHMvZGVzaWduL3BvdGVudGlhbC1kZXNpZ25zLm1vZGVsJztcblxuY29uc3QgbmV3VGVtcGxhdGVJdGVtTmFtZU1hcDogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgW0JPT0xFQU5fSVRFTV9URU1QTEFURV9JRF06IGkxOG5fYm9vbGVhbkl0ZW0sXG4gIFtCVUxMRVRFRF9MSVNUX0lURU1fVEVNUExBVEVfSURdOiBpMThuX3Vub3JkZXJlZExpc3RJdGVtLFxuICBbQ0hFQ0tCT1hfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fY2hlY2tib3hJdGVtLFxuICBbREFURV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl9kYXRlSXRlbSxcbiAgW0RFQ0lNQUxfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX2RlY2ltYWxBbnN3ZXJJdGVtLFxuICBbRFJPUERPV05fSVRFTV9URU1QTEFURV9JRF06IGkxOG5fZHJvcGRvd25JdGVtLFxuICBbRklMRV9VUExPQURfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fZmlsZVVwbG9hZEl0ZW0sXG4gIFtJTlRFUk5BVElPTkFMSVpFRF9QQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX2ludGVybmF0aW9uYWxpemVkUGFyYWdyYXBoQW5zd2VySXRlbSxcbiAgW0lOVEVSTkFUSU9OQUxJWkVEX1NIT1JUX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl9pbnRlcm5hdGlvbmFsaXplZFNob3J0QW5zd2VySXRlbSxcbiAgW01VTFRJUExFX0NIT0lDRV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl9tdWx0aXBsZUNob2ljZUl0ZW0sXG4gIFtOVU1CRVJFRF9MSVNUX0lURU1fVEVNUExBVEVfSURdOiBpMThuX29yZGVyZWRMaXN0SXRlbSxcbiAgW09GRlNFVF9EQVRFX1JBTkdFX0lURU1fVEVNUExBVEVfSURdOiBpMThuX29mZnNldERhdGVSYW5nZUl0ZW0sXG4gIFtQQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX3BhcmFncmFwaEFuc3dlckl0ZW0sXG4gIFtTSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fc2hvcnRBbnN3ZXJJdGVtLFxuICBbVEVNUExBVEVfSVRFTV9HUk9VUF9JTVBMX0lEXTogaTE4bl9ncm91cEl0ZW0sXG4gIFtURU1QTEFURV9TRUNUSU9OX0lNUExfSURdOiBpMThuX3NlY3Rpb25JdGVtLFxuICBbVEVYVF9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl90ZXh0SXRlbSxcbiAgW1RJTUVfSVRFTV9URU1QTEFURV9JRF06IGkxOG5fdGltZUl0ZW0sXG4gIFtUSVRMRV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl90aXRsZUl0ZW0sXG4gIFtXSE9MRV9OVU1CRVJfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBpMThuX3dob2xlTnVtYmVyQW5zd2VySXRlbSxcbiAgW1lFQVJfUVVBUlRFUl9SQU5HRV9JVEVNX1RFTVBMQVRFX0lEXTogaTE4bl95ZWFyUXVhcnRlclJhbmdlSXRlbSxcbn07XG5cbmNvbnN0IGJhc2VUZW1wbGF0ZUl0ZW0gPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBUZW1wbGF0ZUl0ZW0gPT4ge1xuICByZXR1cm4ge1xuICAgIGl0ZW1JZDogZGVzaWduQmFzZS50eXBlLFxuICAgIGluc3RhbmNlSWQ6IGRlc2lnbkJhc2UuaWQsXG4gICAgYW5ub3RhdGFibGVJZDogZGVzaWduQmFzZS5pZCxcbiAgICBkZXNjcmlwdGl2ZVRleHQ6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX2Rlc2NyaXB0aXZlVGV4dCB9XSxcbiAgICBuYW1lOiBuZXdUZW1wbGF0ZUl0ZW1OYW1lTWFwW2Rlc2lnbkJhc2UudHlwZV0gPz8gaTE4bl9uZXdUZW1wbGF0ZUl0ZW0sXG4gICAgcXVlc3Rpb25UZXh0OiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogaTE4bl9xdWVzdGlvblRleHQgfV0sXG4gICAgYW5ub3RhdGlvbkVuYWJsZWQ6IGZhbHNlLFxuICAgIGV4Y2x1ZGVGcm9tUHJpbnQ6IGZhbHNlLFxuICAgIHJlcXVpcmVkOiBmYWxzZSxcbiAgICBpZ25vcmVDb25kaXRpb25hbEluc3RydWN0aW9uczogZmFsc2UsXG4gICAgcHJpbnRBbHRlcm5hdGl2ZTogJycsXG4gIH07XG59O1xuXG5jb25zdCBiYXNlVGVtcGxhdGVJdGVtSW1wbCA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFRlbXBsYXRlSXRlbUltcGwgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW0oZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgZGlzYWJsZWQ6IGZhbHNlLFxuICAgIGhhc0NvbmRpdGlvbjogZmFsc2UsXG4gICAgaGlkZU9uRGlzYWJsZTogZmFsc2UsXG4gIH07XG59O1xuXG5jb25zdCBib29sZWFuT3B0aW9uOiBCb29sZWFuT3B0aW9uID0ge1xuICBjb250YWluZXJEZXNjcmlwdGlvbjogJycsXG4gIGNvbmRpdGlvbmFsSW5zdHJ1Y3Rpb25zOiAnJyxcbiAgbmFtZTogaTE4bl9uZXdPcHRpb24sXG4gIGlkOiB1dWlkdjQoKSxcbiAgaGVscDogJycsXG4gIGRlc2NyaXB0aW9uOiAnJyxcbiAgdmFsdWU6IGZhbHNlLFxufTtcblxuY29uc3Qgc3RyaW5nT3B0aW9uOiBTdHJpbmdPcHRpb24gPSB7XG4gIGNvbnRhaW5lckRlc2NyaXB0aW9uOiAnJyxcbiAgY29uZGl0aW9uYWxJbnN0cnVjdGlvbnM6ICcnLFxuICBuYW1lOiBpMThuX25ld09wdGlvbixcbiAgaWQ6IHV1aWR2NCgpLFxuICBoZWxwOiAnJyxcbiAgZGVzY3JpcHRpb246ICcnLFxuICB2YWx1ZTogaTE4bl9uZXdPcHRpb24sXG59O1xuXG5jb25zdCBuZXdGb3JtT3B0aW9uU2VsZWN0b3JTdHJpbmdPcHRpb246IEZvcm1PcHRpb25TZWxlY3RvcjxTdHJpbmdPcHRpb24+ID0ge1xuICBjb250YWluZXJEZXNjcmlwdGlvbjogJycsXG4gIGNvZGVWYWx1ZTogJycsXG4gIGFja25vd2xlZGdlbWVudFRlbXBsYXRlOiB1bmRlZmluZWQsXG4gIGRpc2FibGVkSXRlbXM6IFtdLFxuICBlbmFibGVkSXRlbXM6IFtdLFxuICBtdWx0aVNlbGVjdDogZmFsc2UsXG4gIG9wdGlvbjogc3RyaW5nT3B0aW9uLFxuICBzZWxlY3RlZDogZmFsc2UsXG4gIHNlbGVjdGlvbkNvdW50OiAwLFxuICB1bmF2YWlsYWJsZTogZmFsc2UsXG59O1xuXG5jb25zdCBuZXdGb3JtT3B0aW9uU2VsZWN0b3JCb29sZWFuT3B0aW9uOiBGb3JtT3B0aW9uU2VsZWN0b3I8Qm9vbGVhbk9wdGlvbj4gPSB7XG4gIGNvbnRhaW5lckRlc2NyaXB0aW9uOiAnJyxcbiAgY29kZVZhbHVlOiAnJyxcbiAgYWNrbm93bGVkZ2VtZW50VGVtcGxhdGU6IHVuZGVmaW5lZCxcbiAgZGlzYWJsZWRJdGVtczogW10sXG4gIGVuYWJsZWRJdGVtczogW10sXG4gIG11bHRpU2VsZWN0OiBmYWxzZSxcbiAgb3B0aW9uOiBib29sZWFuT3B0aW9uLFxuICBzZWxlY3RlZDogZmFsc2UsXG4gIHNlbGVjdGlvbkNvdW50OiAwLFxuICB1bmF2YWlsYWJsZTogZmFsc2UsXG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3Qm9vbGVhbkl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IEJvb2xlYW5JdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGNvZGVPcHRpb246IHVuZGVmaW5lZCxcbiAgICBvcHRpb246IG5ld0Zvcm1PcHRpb25TZWxlY3RvckJvb2xlYW5PcHRpb24sXG4gICAgb3B0aW9uVGVtcGxhdGVNYXA6IHt9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld0NoZWNrYm94SXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogQ2hlY2tib3hJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lOiB7fSxcbiAgICBjb2RlVmFsdWVUZW1wbGF0ZU1hcDoge30sXG4gICAgbWF4U2VsZWN0aW9uczogMSxcbiAgICBtaW5TZWxlY3Rpb25zOiAwLFxuICAgIG9wdGlvblN1YnNldHM6IFtdLFxuICAgIG9wdGlvblRlbXBsYXRlTWFwOiB7fSxcbiAgICBvcHRpb25zOiBbbmV3Rm9ybU9wdGlvblNlbGVjdG9yU3RyaW5nT3B0aW9uXSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdEYXRlSXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogRGF0ZUl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgZm9ybWF0OiAnWVlZWS9NTS9kZCcsXG4gICAgbGFiZWw6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX2RhdGUgfV0sXG4gICAgcHJlc2V0VmFsdWU6IG5ldyBEYXRlKCksXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3RGVjaW1hbEFuc3dlckl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IERlY2ltYWxBbnN3ZXJJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGxhYmVsOiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogaTE4bl9kZWNpbWFsVmFsdWUgfV0sXG4gICAgbWF4VmFsdWU6IDEwMCxcbiAgICBtaW5WYWx1ZTogLTEwMCxcbiAgICBwb3NpdGl2ZU9ubHk6IGZhbHNlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld0Ryb3Bkb3duSXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogRHJvcGRvd25JdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGxhYmVsOiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogaTE4bl9kcm9wZG93biB9XSxcbiAgICBjb2RlVmFsdWVUZW1wbGF0ZUlubGluZToge30sXG4gICAgY29kZVZhbHVlVGVtcGxhdGVNYXA6IHt9LFxuICAgIG9wdGlvblRlbXBsYXRlTWFwOiB7fSxcbiAgICBvcHRpb25zOiBbbmV3Rm9ybU9wdGlvblNlbGVjdG9yU3RyaW5nT3B0aW9uXSxcbiAgICBvcHRpb25TdWJzZXRzOiBbXSxcbiAgICBtaW5TZWxlY3Rpb25zOiAwLFxuICAgIG1heFNlbGVjdGlvbnM6IDEsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3RmlsZVVwbG9hZEl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IEZpbGVVcGxvYWRJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGRvd25sb2FkQWxsb3dlZDogZmFsc2UsXG4gICAgZmlsZVR5cGVJZDogJycsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3STE4blBhcmFncmFwaEFuc3dlckl0ZW1UZW1wbGF0ZSA9IChcbiAgZGVzaWduQmFzZTogRGVzaWduQmFzZSxcbiAgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQsXG4gIGxhbmd1YWdlVGFnczogc3RyaW5nW10gPSBbXVxuKTogSW50ZXJuYXRpb25hbGl6ZWRQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGxhYmVsOiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogaTE4bl9pbnRlcm5hdGlvbmFsaXplZFBhcmFncmFwaEFuc3dlciB9XSxcbiAgICBsYW5ndWFnZVRhZ3MsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3UGFyYWdyYXBoQW5zd2VySXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogUGFyYWdyYXBoQW5zd2VySXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBsYWJlbDogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6IGkxOG5fcGFyYWdyYXBoQW5zd2VyIH1dLFxuICAgIG1pbkNoYXJDb3VudDogMCxcbiAgICBtYXhDaGFyQ291bnQ6IDEwMCwgLy8gVE9ETyBmaW5kIG1heCBpbnQgYW5kIGFkZCBpdCBoZXJlXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3STE4blNob3J0QW5zd2VySXRlbVRlbXBsYXRlID0gKFxuICBkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLFxuICBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCxcbiAgbGFuZ3VhZ2VUYWdzOiBzdHJpbmdbXSA9IFtdXG4pOiBJbnRlcm5hdGlvbmFsaXplZFNob3J0QW5zd2VySXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBsYWJlbDogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6IGkxOG5faW50ZXJuYXRpb25hbGl6ZWRTaG9ydEFuc3dlciB9XSxcbiAgICBsYW5ndWFnZVRhZ3MsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3U2hvcnRBbnN3ZXJJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBTaG9ydEFuc3dlckl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgbGFiZWw6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX3Nob3J0QW5zd2VyIH1dLFxuICAgIG1pbkNoYXJDb3VudDogMCxcbiAgICBtYXhDaGFyQ291bnQ6IDEwMCwgLy8gVE9ETyBmaW5kIG1heCBpbnQgYW5kIGFkZCBpdCBoZXJlXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3TXVsdGlwbGVDaG9pY2VJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgY29kZVZhbHVlVGVtcGxhdGVNYXA6IHt9LFxuICAgIGNvZGVWYWx1ZVRlbXBsYXRlSW5saW5lOiB7fSxcbiAgICBvcHRpb25UZW1wbGF0ZU1hcDoge30sXG4gICAgb3B0aW9uczogW25ld0Zvcm1PcHRpb25TZWxlY3RvclN0cmluZ09wdGlvbl0sXG4gICAgb3B0aW9uU3Vic2V0czogW10sXG4gICAgbWluU2VsZWN0aW9uczogMCxcbiAgICBtYXhTZWxlY3Rpb25zOiAxLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld051bWJlcmVkTGlzdEl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IE51bWJlcmVkTGlzdEl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgaXRlbXM6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBbaTE4bl9leGFtcGxlVGV4dF0gfV0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3QnVsbGV0ZWRMaXN0SXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogQnVsbGV0ZWRMaXN0SXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICB2YWx1ZXM6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBbaTE4bl9leGFtcGxlVGV4dF0gfV0sXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3QgZ2V0TmV3V2hvbGVOdW1iZXJBbnN3ZXJJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBXaG9sZU51bWJlckFuc3dlckl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgbGFiZWw6IFt7IGZhY2V0SWQ6IGxhbmd1YWdlSWQsIHZhbHVlOiBpMThuX3dob2xlTnVtYmVyVmFsdWUgfV0sXG4gICAgbWF4VmFsdWU6IDEwMCxcbiAgICBtaW5WYWx1ZTogLTEwMCxcbiAgICBwb3NpdGl2ZU9ubHk6IGZhbHNlLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld09mZnNldERhdGVSYW5nZUl0ZW1UZW1wbGF0ZSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IE9mZnNldERhdGVSYW5nZVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICBmb3JtYXQ6ICdZWVlZL01NL2RkJywgLy8gVE9ET1xuICAgIHJhbmdlTGltaXRzOiB7XG4gICAgICBzdGFydDogbmV3IERhdGUoKSxcbiAgICAgIGVuZDogbmV3IERhdGUoKSxcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldFllYXJRdWFydGVyUmFuZ2VJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBZZWFyUXVhcnRlclJhbmdlVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIHJhbmdlTGltaXRzOiB7XG4gICAgICBzdGFydDogeyB5ZWFyOiBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIHF1YXJ0ZXI6IDAgfSxcbiAgICAgIGVuZDogeyB5ZWFyOiBuZXcgRGF0ZSgpLmdldEZ1bGxZZWFyKCksIHF1YXJ0ZXI6IDMgfSxcbiAgICB9LFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld1RleHRJdGVtVGVtcGxhdGUgPSAoZGVzaWduQmFzZTogRGVzaWduQmFzZSwgbGFuZ3VhZ2VJZDogTXRuYUxhbmd1YWdlSWQpOiBUZXh0SXRlbVRlbXBsYXRlID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtSW1wbChkZXNpZ25CYXNlLCBsYW5ndWFnZUlkKSxcbiAgICB2YWx1ZTogW3sgZmFjZXRJZDogbGFuZ3VhZ2VJZCwgdmFsdWU6ICdUZXh0JyB9XSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdUaW1lSXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogVGltZUl0ZW1UZW1wbGF0ZSA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uYmFzZVRlbXBsYXRlSXRlbUltcGwoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgZm9ybWF0OiAnJywgLy8gVE9ET1xuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld1RpdGxlSXRlbVRlbXBsYXRlID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKTogVGl0bGVJdGVtVGVtcGxhdGUgPT4ge1xuICByZXR1cm4ge1xuICAgIC4uLmJhc2VUZW1wbGF0ZUl0ZW1JbXBsKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIHZhbHVlOiBbeyBmYWNldElkOiBsYW5ndWFnZUlkLCB2YWx1ZTogJ1RpdGxlJyB9XSxcbiAgICBsZXZlbDogMSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBnZXROZXdUZW1wbGF0ZUl0ZW1Hcm91cCA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFRlbXBsYXRlSXRlbUdyb3VwID0+IHtcbiAgcmV0dXJuIHtcbiAgICAuLi5iYXNlVGVtcGxhdGVJdGVtKGRlc2lnbkJhc2UsIGxhbmd1YWdlSWQpLFxuICAgIGl0ZW1zOiBbXSxcbiAgICBsYXlvdXQ6ICdDT0xVTU4nLFxuICB9O1xufTtcblxuZXhwb3J0IGNvbnN0IGdldE5ld1RlbXBsYXRlU2VjdGlvbiA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCk6IFRlbXBsYXRlU2VjdGlvbiA9PiB7XG4gIHJldHVybiB7XG4gICAgLi4uZ2V0TmV3VGVtcGxhdGVJdGVtR3JvdXAoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCksXG4gICAgdGl0bGU6IGdldE5ld1RpdGxlSXRlbVRlbXBsYXRlKFRJVExFX1BPVEVOVElBTF9ERVNJR04sIGxhbmd1YWdlSWQpLFxuICB9O1xufTtcblxuLy8gR2V0IHRoZSBmYWN0b3J5IHR5cGVzXG50eXBlIFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5ID0gKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkKSA9PiBUZW1wbGF0ZUl0ZW07XG5cbnR5cGUgSTE4blRlbXBsYXRlRmFjdG9yeSA9IChkZXNpZ25CYXNlOiBEZXNpZ25CYXNlLCBsYW5ndWFnZUlkOiBNdG5hTGFuZ3VhZ2VJZCwgbGFuZ3VhZ2VUYWdzOiBzdHJpbmdbXSkgPT4gVGVtcGxhdGVJdGVtO1xuXG4vLyBNYXAgb2YgZmFjdG9yaWVzIGtleWVkIGJ5IGlkXG5pbnRlcmZhY2UgVGVtcGxhdGVJdGVtRmFjdG9yaWVzIHtcbiAgW0JPT0xFQU5fSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbQlVMTEVURURfTElTVF9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtDSEVDS0JPWF9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtEQVRFX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW0RFQ0lNQUxfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW0RST1BET1dOX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW0ZJTEVfVVBMT0FEX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW01VTFRJUExFX0NIT0lDRV9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtOVU1CRVJFRF9MSVNUX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW09GRlNFVF9EQVRFX1JBTkdFX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW1BBUkFHUkFQSF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbU0hPUlRfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW1RFTVBMQVRFX0lURU1fR1JPVVBfSU1QTF9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbVEVNUExBVEVfU0VDVElPTl9JTVBMX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtURVhUX0lURU1fVEVNUExBVEVfSURdOiBTdGFuZGFyZFRlbXBsYXRlRmFjdG9yeTtcbiAgW1RJTUVfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbVElUTEVfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xuICBbV0hPTEVfTlVNQkVSX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogU3RhbmRhcmRUZW1wbGF0ZUZhY3Rvcnk7XG4gIFtZRUFSX1FVQVJURVJfUkFOR0VfSVRFTV9URU1QTEFURV9JRF06IFN0YW5kYXJkVGVtcGxhdGVGYWN0b3J5O1xufVxuXG5pbnRlcmZhY2UgSTE4blRlbXBsYXRlSXRlbUZhY3RvcmllcyB7XG4gIFtJTlRFUk5BVElPTkFMSVpFRF9QQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBJMThuVGVtcGxhdGVGYWN0b3J5O1xuICBbSU5URVJOQVRJT05BTElaRURfU0hPUlRfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBJMThuVGVtcGxhdGVGYWN0b3J5O1xufVxuXG5jb25zdCBzdGFuZGFyZEZhY3RvcmllczogVGVtcGxhdGVJdGVtRmFjdG9yaWVzID0ge1xuICBbQk9PTEVBTl9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3Qm9vbGVhbkl0ZW1UZW1wbGF0ZSxcbiAgW0JVTExFVEVEX0xJU1RfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld0J1bGxldGVkTGlzdEl0ZW1UZW1wbGF0ZSxcbiAgW0NIRUNLQk9YX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdDaGVja2JveEl0ZW1UZW1wbGF0ZSxcbiAgW0RBVEVfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld0RhdGVJdGVtVGVtcGxhdGUsXG4gIFtERUNJTUFMX0FOU1dFUl9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3RGVjaW1hbEFuc3dlckl0ZW1UZW1wbGF0ZSxcbiAgW0RST1BET1dOX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdEcm9wZG93bkl0ZW1UZW1wbGF0ZSxcbiAgW0ZJTEVfVVBMT0FEX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdGaWxlVXBsb2FkSXRlbVRlbXBsYXRlLFxuICBbTVVMVElQTEVfQ0hPSUNFX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdNdWx0aXBsZUNob2ljZUl0ZW1UZW1wbGF0ZSxcbiAgW05VTUJFUkVEX0xJU1RfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld051bWJlcmVkTGlzdEl0ZW1UZW1wbGF0ZSxcbiAgW09GRlNFVF9EQVRFX1JBTkdFX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdPZmZzZXREYXRlUmFuZ2VJdGVtVGVtcGxhdGUsXG4gIFtQQVJBR1JBUEhfQU5TV0VSX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdQYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIFtTSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld1Nob3J0QW5zd2VySXRlbVRlbXBsYXRlLFxuICBbVEVNUExBVEVfSVRFTV9HUk9VUF9JTVBMX0lEXTogZ2V0TmV3VGVtcGxhdGVJdGVtR3JvdXAsXG4gIFtURU1QTEFURV9TRUNUSU9OX0lNUExfSURdOiBnZXROZXdUZW1wbGF0ZVNlY3Rpb24sXG4gIFtURVhUX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdUZXh0SXRlbVRlbXBsYXRlLFxuICBbVElNRV9JVEVNX1RFTVBMQVRFX0lEXTogZ2V0TmV3VGltZUl0ZW1UZW1wbGF0ZSxcbiAgW1RJVExFX0lURU1fVEVNUExBVEVfSURdOiBnZXROZXdUaXRsZUl0ZW1UZW1wbGF0ZSxcbiAgW1dIT0xFX05VTUJFUl9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld1dob2xlTnVtYmVyQW5zd2VySXRlbVRlbXBsYXRlLFxuICBbWUVBUl9RVUFSVEVSX1JBTkdFX0lURU1fVEVNUExBVEVfSURdOiBnZXRZZWFyUXVhcnRlclJhbmdlSXRlbVRlbXBsYXRlLFxufTtcblxuY29uc3QgaTE4bkZhY3RvcmllczogSTE4blRlbXBsYXRlSXRlbUZhY3RvcmllcyA9IHtcbiAgW0lOVEVSTkFUSU9OQUxJWkVEX1BBUkFHUkFQSF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld0kxOG5QYXJhZ3JhcGhBbnN3ZXJJdGVtVGVtcGxhdGUsXG4gIFtJTlRFUk5BVElPTkFMSVpFRF9TSE9SVF9BTlNXRVJfSVRFTV9URU1QTEFURV9JRF06IGdldE5ld0kxOG5TaG9ydEFuc3dlckl0ZW1UZW1wbGF0ZSxcbn07XG5cbmV4cG9ydCBmdW5jdGlvbiBnZXROZXdJbml0VGVtcGxhdGVJdGVtKGRlc2lnbkJhc2U6IERlc2lnbkJhc2UsIGxhbmd1YWdlSWQ6IE10bmFMYW5ndWFnZUlkLCBsYW5ndWFnZVRhZ3M/OiBzdHJpbmdbXSk6IFRlbXBsYXRlSXRlbSB7XG4gIGlmIChkZXNpZ25CYXNlLnR5cGUgaW4gc3RhbmRhcmRGYWN0b3JpZXMpIHtcbiAgICBjb25zdCBmYWN0b3J5ID0gc3RhbmRhcmRGYWN0b3JpZXNbZGVzaWduQmFzZS50eXBlIGFzIGtleW9mIFRlbXBsYXRlSXRlbUZhY3Rvcmllc107XG4gICAgcmV0dXJuIGZhY3RvcnkoZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCk7XG4gIH1cblxuICBpZiAoZGVzaWduQmFzZS50eXBlIGluIGkxOG5GYWN0b3JpZXMpIHtcbiAgICBjb25zdCBpMThuRmFjdG9yeSA9IGkxOG5GYWN0b3JpZXNbZGVzaWduQmFzZS50eXBlIGFzIGtleW9mIEkxOG5UZW1wbGF0ZUl0ZW1GYWN0b3JpZXNdO1xuICAgIHJldHVybiBpMThuRmFjdG9yeShkZXNpZ25CYXNlLCBsYW5ndWFnZUlkLCBsYW5ndWFnZVRhZ3MgfHwgW10pO1xuICB9XG5cbiAgcmV0dXJuIGJhc2VUZW1wbGF0ZUl0ZW0oZGVzaWduQmFzZSwgbGFuZ3VhZ2VJZCk7XG59XG4iXX0=