@ng-nest/ui 15.0.12 → 15.0.14

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 (118) hide show
  1. package/anchor/anchor-inner.component.d.ts +6 -0
  2. package/anchor/anchor.component.d.ts +5 -2
  3. package/anchor/anchor.module.d.ts +5 -4
  4. package/anchor/anchor.property.d.ts +13 -0
  5. package/anchor/public-api.d.ts +1 -0
  6. package/core/config/config.d.ts +2 -0
  7. package/core/functions/date.d.ts +3 -0
  8. package/core/functions/parent-path.d.ts +1 -0
  9. package/core/functions/public-api.d.ts +1 -0
  10. package/date-picker/date-picker-portal.component.d.ts +7 -2
  11. package/date-picker/date-picker.property.d.ts +87 -6
  12. package/date-picker/date-range-portal.component.d.ts +6 -2
  13. package/date-picker/picker-date.component.d.ts +6 -0
  14. package/date-picker/picker-month.component.d.ts +1 -0
  15. package/date-picker/picker-year.component.d.ts +1 -0
  16. package/esm2020/anchor/anchor-inner.component.mjs +17 -0
  17. package/esm2020/anchor/anchor.component.mjs +25 -11
  18. package/esm2020/anchor/anchor.module.mjs +6 -5
  19. package/esm2020/anchor/anchor.property.mjs +18 -1
  20. package/esm2020/anchor/public-api.mjs +2 -1
  21. package/esm2020/core/config/config.mjs +1 -1
  22. package/esm2020/core/functions/date.mjs +73 -1
  23. package/esm2020/core/functions/parent-path.mjs +10 -0
  24. package/esm2020/core/functions/public-api.mjs +2 -1
  25. package/esm2020/date-picker/date-picker-portal.component.mjs +34 -6
  26. package/esm2020/date-picker/date-picker.component.mjs +14 -4
  27. package/esm2020/date-picker/date-picker.property.mjs +20 -6
  28. package/esm2020/date-picker/date-range-portal.component.mjs +33 -18
  29. package/esm2020/date-picker/date-range.component.mjs +24 -7
  30. package/esm2020/date-picker/picker-date.component.mjs +54 -6
  31. package/esm2020/date-picker/picker-month.component.mjs +13 -4
  32. package/esm2020/date-picker/picker-year.component.mjs +15 -4
  33. package/esm2020/i18n/i18n.property.mjs +1 -1
  34. package/esm2020/i18n/languages/en_GB.mjs +6 -2
  35. package/esm2020/i18n/languages/en_US.mjs +6 -2
  36. package/esm2020/i18n/languages/zh_CN.mjs +6 -2
  37. package/esm2020/i18n/languages/zh_TW.mjs +6 -2
  38. package/esm2020/list/list-option.component.mjs +2 -2
  39. package/esm2020/list/list.component.mjs +2 -2
  40. package/esm2020/slider/slider.component.mjs +3 -3
  41. package/esm2020/slider/slider.property.mjs +8 -2
  42. package/esm2020/table/table-body.component.mjs +6 -6
  43. package/esm2020/table/table.component.mjs +4 -3
  44. package/esm2020/table/table.property.mjs +9 -2
  45. package/esm2020/time-picker/time-picker-frame.component.mjs +48 -14
  46. package/esm2020/time-picker/time-picker-portal.component.mjs +3 -3
  47. package/esm2020/time-picker/time-picker.component.mjs +2 -1
  48. package/esm2020/time-picker/time-picker.property.mjs +4 -2
  49. package/esm2020/transfer/transfer.component.mjs +2 -2
  50. package/esm2020/tree/tree-node.component.mjs +98 -15
  51. package/esm2020/tree/tree.component.mjs +126 -29
  52. package/esm2020/tree/tree.module.mjs +31 -4
  53. package/esm2020/tree/tree.property.mjs +37 -3
  54. package/esm2020/tree/tree.service.mjs +77 -0
  55. package/esm2020/tree-file/tree-file.component.mjs +14 -3
  56. package/fesm2015/ng-nest-ui-anchor.mjs +60 -15
  57. package/fesm2015/ng-nest-ui-anchor.mjs.map +1 -1
  58. package/fesm2015/ng-nest-ui-core.mjs +83 -1
  59. package/fesm2015/ng-nest-ui-core.mjs.map +1 -1
  60. package/fesm2015/ng-nest-ui-date-picker.mjs +193 -42
  61. package/fesm2015/ng-nest-ui-date-picker.mjs.map +1 -1
  62. package/fesm2015/ng-nest-ui-i18n.mjs +20 -4
  63. package/fesm2015/ng-nest-ui-i18n.mjs.map +1 -1
  64. package/fesm2015/ng-nest-ui-list.mjs +4 -4
  65. package/fesm2015/ng-nest-ui-list.mjs.map +1 -1
  66. package/fesm2015/ng-nest-ui-slider.mjs +9 -3
  67. package/fesm2015/ng-nest-ui-slider.mjs.map +1 -1
  68. package/fesm2015/ng-nest-ui-table.mjs +16 -8
  69. package/fesm2015/ng-nest-ui-table.mjs.map +1 -1
  70. package/fesm2015/ng-nest-ui-time-picker.mjs +53 -16
  71. package/fesm2015/ng-nest-ui-time-picker.mjs.map +1 -1
  72. package/fesm2015/ng-nest-ui-transfer.mjs +1 -1
  73. package/fesm2015/ng-nest-ui-transfer.mjs.map +1 -1
  74. package/fesm2015/ng-nest-ui-tree-file.mjs +13 -2
  75. package/fesm2015/ng-nest-ui-tree-file.mjs.map +1 -1
  76. package/fesm2015/ng-nest-ui-tree.mjs +359 -45
  77. package/fesm2015/ng-nest-ui-tree.mjs.map +1 -1
  78. package/fesm2020/ng-nest-ui-anchor.mjs +60 -15
  79. package/fesm2020/ng-nest-ui-anchor.mjs.map +1 -1
  80. package/fesm2020/ng-nest-ui-core.mjs +83 -1
  81. package/fesm2020/ng-nest-ui-core.mjs.map +1 -1
  82. package/fesm2020/ng-nest-ui-date-picker.mjs +193 -42
  83. package/fesm2020/ng-nest-ui-date-picker.mjs.map +1 -1
  84. package/fesm2020/ng-nest-ui-i18n.mjs +20 -4
  85. package/fesm2020/ng-nest-ui-i18n.mjs.map +1 -1
  86. package/fesm2020/ng-nest-ui-list.mjs +4 -4
  87. package/fesm2020/ng-nest-ui-list.mjs.map +1 -1
  88. package/fesm2020/ng-nest-ui-slider.mjs +9 -3
  89. package/fesm2020/ng-nest-ui-slider.mjs.map +1 -1
  90. package/fesm2020/ng-nest-ui-table.mjs +16 -8
  91. package/fesm2020/ng-nest-ui-table.mjs.map +1 -1
  92. package/fesm2020/ng-nest-ui-time-picker.mjs +53 -16
  93. package/fesm2020/ng-nest-ui-time-picker.mjs.map +1 -1
  94. package/fesm2020/ng-nest-ui-transfer.mjs +1 -1
  95. package/fesm2020/ng-nest-ui-transfer.mjs.map +1 -1
  96. package/fesm2020/ng-nest-ui-tree-file.mjs +13 -2
  97. package/fesm2020/ng-nest-ui-tree-file.mjs.map +1 -1
  98. package/fesm2020/ng-nest-ui-tree.mjs +356 -45
  99. package/fesm2020/ng-nest-ui-tree.mjs.map +1 -1
  100. package/i18n/i18n.property.d.ts +3 -0
  101. package/i18n/languages/en_GB.d.ts +4 -0
  102. package/i18n/languages/en_US.d.ts +4 -0
  103. package/i18n/languages/zh_CN.d.ts +4 -0
  104. package/i18n/languages/zh_TW.d.ts +4 -0
  105. package/package.json +1 -1
  106. package/slider/slider.property.d.ts +6 -1
  107. package/table/table.component.d.ts +1 -1
  108. package/table/table.property.d.ts +25 -4
  109. package/time-picker/time-picker-frame.component.d.ts +6 -2
  110. package/time-picker/time-picker-portal.component.d.ts +2 -1
  111. package/time-picker/time-picker.property.d.ts +32 -1
  112. package/transfer/transfer.component.d.ts +2 -4
  113. package/tree/tree-node.component.d.ts +35 -4
  114. package/tree/tree.component.d.ts +24 -3
  115. package/tree/tree.module.d.ts +8 -7
  116. package/tree/tree.property.d.ts +63 -1
  117. package/tree/tree.service.d.ts +10 -0
  118. package/tree-file/tree-file.component.d.ts +1 -0
@@ -90,10 +90,25 @@ export class XTreeProperty extends XProperty {
90
90
  * @en_US Node click event
91
91
  */
92
92
  this.activatedIdChange = new EventEmitter();
93
+ /**
94
+ * @zh_CN 节点开始拖动事件
95
+ * @en_US Node drag started
96
+ */
97
+ this.nodeDragStarted = new EventEmitter();
98
+ /**
99
+ * @zh_CN 节点结束拖动事件
100
+ * @en_US Node drag ended
101
+ */
102
+ this.nodeDragEnded = new EventEmitter();
103
+ /**
104
+ * @zh_CN 节点正在拖动事件
105
+ * @en_US Node drag moved
106
+ */
107
+ this.nodeDragMoved = new EventEmitter();
93
108
  }
94
109
  }
95
110
  /** @nocollapse */ XTreeProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTreeProperty, deps: null, target: i0.ɵɵFactoryTarget.Component });
96
- /** @nocollapse */ XTreeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTreeProperty, selector: "ng-component", inputs: { data: "data", checkbox: "checkbox", lazy: "lazy", activatedId: "activatedId", expanded: "expanded", checked: "checked", expandedAll: "expandedAll", expandedLevel: "expandedLevel", nodeOpen: "nodeOpen", spacing: "spacing", labelTpl: "labelTpl", nodeHeight: "nodeHeight", allowManyActivated: "allowManyActivated", manual: "manual", levelCheck: "levelCheck", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", actions: "actions", scrollElement: "scrollElement", virtualScroll: "virtualScroll", virtualScrollHeight: "virtualScrollHeight", heightAdaption: "heightAdaption", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", multiple: "multiple", objectArray: "objectArray", keywordText: "keywordText", caseSensitive: "caseSensitive", onlyLeaf: "onlyLeaf" }, outputs: { activatedChange: "activatedChange", checkboxChange: "checkboxChange", manualChange: "manualChange", nodeClick: "nodeClick", activatedIdChange: "activatedIdChange" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
111
+ /** @nocollapse */ XTreeProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XTreeProperty, selector: "ng-component", inputs: { data: "data", checkbox: "checkbox", lazy: "lazy", activatedId: "activatedId", expanded: "expanded", checked: "checked", expandedAll: "expandedAll", expandedLevel: "expandedLevel", nodeOpen: "nodeOpen", spacing: "spacing", labelTpl: "labelTpl", nodeHeight: "nodeHeight", allowManyActivated: "allowManyActivated", drag: "drag", manual: "manual", levelCheck: "levelCheck", nodeNowrap: "nodeNowrap", nodeAlignItems: "nodeAlignItems", actions: "actions", scrollElement: "scrollElement", virtualScroll: "virtualScroll", virtualScrollHeight: "virtualScrollHeight", heightAdaption: "heightAdaption", itemSize: "itemSize", minBufferPx: "minBufferPx", maxBufferPx: "maxBufferPx", multiple: "multiple", objectArray: "objectArray", keywordText: "keywordText", caseSensitive: "caseSensitive", onlyLeaf: "onlyLeaf", expandedIcon: "expandedIcon", showLine: "showLine" }, outputs: { activatedChange: "activatedChange", checkboxChange: "checkboxChange", manualChange: "manualChange", nodeClick: "nodeClick", activatedIdChange: "activatedIdChange", nodeDragStarted: "nodeDragStarted", nodeDragEnded: "nodeDragEnded", nodeDragMoved: "nodeDragMoved" }, usesInheritance: true, ngImport: i0, template: '', isInline: true });
97
112
  __decorate([
98
113
  XDataConvert()
99
114
  ], XTreeProperty.prototype, "data", void 0);
@@ -113,7 +128,7 @@ __decorate([
113
128
  XInputBoolean()
114
129
  ], XTreeProperty.prototype, "nodeOpen", void 0);
115
130
  __decorate([
116
- XWithConfig(X_CONFIG_NAME, 0.875),
131
+ XWithConfig(X_CONFIG_NAME, 1.5),
117
132
  XInputNumber()
118
133
  ], XTreeProperty.prototype, "spacing", void 0);
119
134
  __decorate([
@@ -123,6 +138,9 @@ __decorate([
123
138
  __decorate([
124
139
  XInputBoolean()
125
140
  ], XTreeProperty.prototype, "allowManyActivated", void 0);
141
+ __decorate([
142
+ XInputBoolean()
143
+ ], XTreeProperty.prototype, "drag", void 0);
126
144
  __decorate([
127
145
  XInputBoolean()
128
146
  ], XTreeProperty.prototype, "manual", void 0);
@@ -161,6 +179,10 @@ __decorate([
161
179
  XInputBoolean(),
162
180
  XWithConfig(X_CONFIG_NAME, false)
163
181
  ], XTreeProperty.prototype, "onlyLeaf", void 0);
182
+ __decorate([
183
+ XInputBoolean(),
184
+ XWithConfig(X_CONFIG_NAME, false)
185
+ ], XTreeProperty.prototype, "showLine", void 0);
164
186
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTreeProperty, decorators: [{
165
187
  type: Component,
166
188
  args: [{ template: '' }]
@@ -190,6 +212,8 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
190
212
  type: Input
191
213
  }], allowManyActivated: [{
192
214
  type: Input
215
+ }], drag: [{
216
+ type: Input
193
217
  }], activatedChange: [{
194
218
  type: Output
195
219
  }], checkboxChange: [{
@@ -228,12 +252,22 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
228
252
  type: Input
229
253
  }], onlyLeaf: [{
230
254
  type: Input
255
+ }], expandedIcon: [{
256
+ type: Input
257
+ }], showLine: [{
258
+ type: Input
231
259
  }], manualChange: [{
232
260
  type: Output
233
261
  }], nodeClick: [{
234
262
  type: Output
235
263
  }], activatedIdChange: [{
236
264
  type: Output
265
+ }], nodeDragStarted: [{
266
+ type: Output
267
+ }], nodeDragEnded: [{
268
+ type: Output
269
+ }], nodeDragMoved: [{
270
+ type: Output
237
271
  }] } });
238
272
  /**
239
273
  * TreeNode
@@ -298,4 +332,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
298
332
  }], virtualScroll: [{
299
333
  type: Input
300
334
  }] } });
301
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBRVQsYUFBYSxFQUliLFlBQVksRUFFWixXQUFXLEVBRVosTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUVoRzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFFN0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFENUM7O1FBRUU7OztXQUdHO1FBQ3NCLFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBZ0JyRDs7O1dBR0c7UUFDTSxhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzlCOzs7V0FHRztRQUNNLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFNN0I7OztXQUdHO1FBQ3NCLGtCQUFhLEdBQVksQ0FBQyxDQUFDLENBQUM7UUEwQnJEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUMxRDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDekQ7OztXQUdHO1FBQ3VCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDakQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFDdEQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFNdEQ7OztXQUdHO1FBQ00sWUFBTyxHQUFrQixFQUFFLENBQUM7UUEwQnJDOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQ25DOzs7V0FH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VztzQkFBbkIsS0FBSztnQkFLZ0UsYUFBYTtzQkFBbEYsS0FBSztnQkFLaUUsUUFBUTtzQkFBOUUsS0FBSztnQkFLSSxZQUFZO3NCQUFyQixNQUFNO2dCQUtHLFNBQVM7c0JBQWxCLE1BQU07Z0JBS0csaUJBQWlCO3NCQUExQixNQUFNOztBQTZFVDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLGFBQWEsQ0FBQztBQUU3Qzs7R0FFRztBQUVILE1BQU0sT0FBTyxpQkFBa0IsU0FBUSxTQUFTO0lBRGhEOztRQUVFOzs7V0FHRztRQUNNLFNBQUksR0FBYyxFQUFFLENBQUM7UUFXOUI7OztXQUdHO1FBQ3NCLGVBQVUsR0FBWSxDQUFDLENBQUM7UUFNakQ7OztXQUdHO1FBQ00sbUJBQWMsR0FBVyxRQUFRLENBQUM7S0FXNUM7O2lJQXpDWSxpQkFBaUI7cUhBQWpCLGlCQUFpQiwrUUFEUCxFQUFFO0FBZ0JHO0lBQWhCLGFBQWEsRUFBRTsrQ0FBaUI7QUFLakI7SUFBZixZQUFZLEVBQUU7cURBQXlCO0FBS3ZCO0lBQWhCLGFBQWEsRUFBRTtxREFBdUI7QUFldEI7SUFBaEIsYUFBYSxFQUFFO3dEQUEwQjsyRkF4Q3hDLGlCQUFpQjtrQkFEN0IsU0FBUzttQkFBQyxFQUFFLFFBQVEsRUFBRSxFQUFFLEVBQUU7OEJBTWhCLElBQUk7c0JBQVosS0FBSztnQkFLRyxLQUFLO3NCQUFiLEtBQUs7Z0JBS29CLElBQUk7c0JBQTdCLEtBQUs7Z0JBS21CLFVBQVU7c0JBQWxDLEtBQUs7Z0JBS29CLFVBQVU7c0JBQW5DLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtvQixhQUFhO3NCQUF0QyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBYRGF0YUNvbnZlcnQsXHJcbiAgWFByb3BlcnR5LFxyXG4gIFhEYXRhLFxyXG4gIFhJbnB1dEJvb2xlYW4sXHJcbiAgWFBhcmVudElkZW50aXR5UHJvcGVydHksXHJcbiAgWE51bWJlcixcclxuICBYQm9vbGVhbixcclxuICBYSW5wdXROdW1iZXIsXHJcbiAgWElkZW50aXR5UHJvcGVydHksXHJcbiAgWFdpdGhDb25maWcsXHJcbiAgWEFsaWduXHJcbn0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IElucHV0LCBUZW1wbGF0ZVJlZiwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIENvbXBvbmVudCwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVcclxuICogQHNlbGVjdG9yIHgtdHJlZVxyXG4gKiBAZGVjb3JhdG9yIGNvbXBvbmVudFxyXG4gKi9cclxuZXhwb3J0IGNvbnN0IFhUcmVlUHJlZml4ID0gJ3gtdHJlZSc7XHJcbmNvbnN0IFhfQ09ORklHX05BTUUgPSAndHJlZSc7XHJcblxyXG4vKipcclxuICogVHJlZSBQcm9wZXJ0eVxyXG4gKi9cclxuQENvbXBvbmVudCh7IHRlbXBsYXRlOiAnJyB9KVxyXG5leHBvcnQgY2xhc3MgWFRyZWVQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBAWERhdGFDb252ZXJ0KCkgZGF0YTogWERhdGE8WFRyZWVOb2RlPiA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrlpJrpgInmoYZcclxuICAgKiBAZW5fVVMgU2hvdyBjaGVja2JveFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgY2hlY2tib3g/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv5oeS5Yqg6L296IqC54K577yMZGF0YSDlv4Xpobvorr7nva7miJDlh73mlbDnsbvlnotcclxuICAgKiBAZW5fVVMgT3BlbiBsYXp5IGxvYWRpbmcgbm9kZSwgZGF0YSBtdXN0IGJlIHNldCB0byBmdW5jdGlvbiB0eXBlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsYXp5PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjea/gOa0u+eahOiKgueCuSBJZCwg5b2TIG11bHRpcGxlIOS4uiB0cnVlIOaXtu+8jOWAvOS4uuaVsOe7hO+8iOm7mOiupOaYryBJZCDmlbDnu4TvvIxvYmplY3RBcnJheSDkuLogdHJ1Ze+8jOWvueixoeaVsOe7hO+8iVxyXG4gICAqIEBlbl9VUyBDdXJyZW50bHkgYWN0aXZlIG5vZGUgSWQuIFdoZW4gTXVsdGlwbGUgaXMgdHJ1ZSwgdGhlIHZhbHVlIGlzIHRoZSBJZCBhcnJheVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGFjdGl2YXRlZElkOiBhbnk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBFeHBhbmRlZCBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgZXhwYW5kZWQ6IGFueVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOmAieS4reeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBzZWxlY3RlZCBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgY2hlY2tlZDogYW55W10gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGV5byA5omA5pyJ6IqC54K5XHJcbiAgICogQGVuX1VTIEV4cGFuZCBhbGwgbm9kZXNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGV4cGFuZGVkQWxsPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOm7mOiupOWxleW8gOeahOWxgue6p1xyXG4gICAqIEBlbl9VUyBEZWZhdWx0IGV4cGFuZGVkIGxldmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dE51bWJlcigpIGV4cGFuZGVkTGV2ZWw6IFhOdW1iZXIgPSAtMTtcclxuICAvKipcclxuICAgKiBAemhfQ04g54K55Ye76IqC54K55bCx6Kem5Y+R5bGV5byAL+aUtui1t+eahOaTjeS9nO+8jOivt+ehruS/neiKgueCueS4iuayoeacieWFtuWug+aTjeS9nO+8iGNoZWNrYm9444CB6Ieq5a6a5LmJ55qE5pON5L2c5oyJ6ZKu77yJXHJcbiAgICogQGVuX1VTIENsaWNrIHRoZSBub2RlIHRvIHRyaWdnZXIgdGhlIGV4cGFuZC9jb2xsYXBzZSBvcGVyYXRpb24sIHBsZWFzZSBtYWtlIHN1cmUgdGhhdCB0aGVyZSBhcmUgbm8gb3RoZXIgb3BlcmF0aW9ucyBvbiB0aGUgbm9kZSAoY2hlY2tib3gsIGN1c3RvbSBvcGVyYXRpb24gYnV0dG9uKVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbm9kZU9wZW4/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y2V5L2N6Ze06Led77yM6L+Z5Liq5LiO5bGC57qn55qE5LmY56ev566X5Ye66IqC54K555qE5bem6L656Led77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBVbml0IHNwYWNpbmcsIHRoZSBwcm9kdWN0IG9mIHRoaXMgYW5kIHRoZSBsZXZlbCBjYWxjdWxhdGVzIHRoZSBsZWZ0IG1hcmdpbiBvZiB0aGUgbm9kZSwgdGhlIHVuaXQgaXMgcmVtXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhOdW1iZXI+KFhfQ09ORklHX05BTUUsIDAuODc1KSBAWElucHV0TnVtYmVyKCkgc3BhY2luZz86IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagh+etvuiHquWumuS5ieaooeadv1xyXG4gICAqIEBlbl9VUyBMYWJlbCBjdXN0b20gdGVtcGxhdGVcclxuICAgKi9cclxuICBASW5wdXQoKSBsYWJlbFRwbD86IFRlbXBsYXRlUmVmPHZvaWQ+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnnmoTpq5jluqbvvIzljZXkvY0gcmVtLCDpu5jorqQgMCDmmK/oh6rpgILlupTpq5jluqZcclxuICAgKiBAZW5fVVMgVGhlIGhlaWdodCBvZiB0aGUgbm9kZSBpbiByZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WE51bWJlcj4oWF9DT05GSUdfTkFNRSwgMCkgQFhJbnB1dE51bWJlcigpIG5vZGVIZWlnaHQhOiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmK/lkKblhYHorrjlpJrmrKHngrnlh7vkuIDkuKroioLngrnop6blj5HlpJrmrKHkuovku7ZcclxuICAgKiBAZW5fVVMgV2hldGhlciB0byBhbGxvdyBtdWx0aXBsZSBjbGlja3Mgb24gYSBub2RlIHRvIHRyaWdnZXIgbXVsdGlwbGUgZXZlbnRzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBhbGxvd01hbnlBY3RpdmF0ZWQ/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5YmN54K55Ye76YCJ5Lit55qE6IqC54K55Y+Y5YyW55qE5LqL5Lu2XHJcbiAgICogQGVuX1VTIFRoZSBldmVudCBvZiB0aGUgY3VycmVudGx5IGNsaWNrZWQgbm9kZSBjaGFuZ2VcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWN0aXZhdGVkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOS9v+eUqCBjaGVja2VkYm94IOmAieS4reWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBVc2UgY2hlY2tlZGJveCB0byBzZWxlY3QgY2hhbmdlZCBldmVudHNcclxuICAgKi9cclxuICBAT3V0cHV0KCkgY2hlY2tib3hDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aaC5p6cIGRhdGEg5piv5Ye95pWw57G75Z6L77yM5Y+v5Lul6YCa6L+H5q2k5Y+C5pWw5o6n5Yi26K+35rGC77yM5bi455So5LqO5by55qGG5Lit55qE6KGo5qC877yM5by55Ye65ZCO5YaN6K+35rGCXHJcbiAgICogQGVuX1VTIElmIGRhdGEgaXMgYSBmdW5jdGlvbiB0eXBlLCB5b3UgY2FuIHVzZSB0aGlzIHBhcmFtZXRlciB0byBjb250cm9sIHRoZSByZXF1ZXN0LCB3aGljaCBpcyBvZnRlbiB1c2VkIGluIHRoZSBmb3JtIGluIHRoZSBwb3AtdXAgYm94LCBhbmQgdGhlbiByZXF1ZXN0IGl0IGFmdGVyIGl0IHBvcHMgdXBcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG1hbnVhbDogYm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGNoZWNrYm94IOeKtuaAgeaUueWPmOinpuWPkeWxgue6p+ajgOafpVxyXG4gICAqIEBlbl9VUyBDaGVja2JveCBzdGF0dXMgY2hhbmdlcyB0cmlnZ2VyIGxldmVsIGNoZWNrc1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGV2ZWxDaGVjazogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlhoXlrrnkuI3mjaLooYzmmL7npLrnnIHnlaXlj7dcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBub2RlTm93cmFwOiBYQm9vbGVhbiA9IHRydWU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWeguebtOWvuem9kOaWueW8j1xyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEFsaWduPihYX0NPTkZJR19OQU1FLCAnY2VudGVyJykgbm9kZUFsaWduSXRlbXMhOiBYQWxpZ247XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOagkeiKgueCueaTjeS9nOaMiemSrlxyXG4gICAqIEBlbl9VUyBUcmVlIG5vZGUgb3BlcmF0aW9uIGJ1dHRvbnNcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3Rpb25zOiBYVHJlZUFjdGlvbltdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa7muWKqOWMuuWfn+WFg+e0oFxyXG4gICAqIEBlbl9VUyBSb2xsaW5nIGFyZWEgZWxlbWVudFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIHNjcm9sbEVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5byA5ZCv6Jma5ouf5rua5YqoXHJcbiAgICogQGVuX1VTIFR1cm4gb24gdmlydHVhbCBzY3JvbGxpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUpIEBYSW5wdXRCb29sZWFuKCkgdmlydHVhbFNjcm9sbCE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/pq5jluqbvvIzlvIDlkK/omZrmi5/mu5rliqjnmoTml7blgJnnlJ/mlYhcclxuICAgKiBAZW5fVVMgUm9sbGluZyBhcmVhIGhlaWdodFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDQwMCkgQFhJbnB1dE51bWJlcigpIHZpcnR1YWxTY3JvbGxIZWlnaHQhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiZmuaLn+a7muWKqOmrmOW6puiHqumAguW6lOaMh+WumuWFg+e0oFxyXG4gICAqIEBlbl9VUyB2aXJ0dWFsIHJvbGxpbmcgaGVpZ2h0IGZvbGxvd3MgdGhlIHNwZWNpZmllZCBvYmplY3RcclxuICAgKi9cclxuICBASW5wdXQoKSBoZWlnaHRBZGFwdGlvbiE6IEVsZW1lbnRSZWY8SFRNTEVsZW1lbnQ+IHwgSFRNTEVsZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIGl0ZW1TaXpl77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWw77yM5byA5ZCv6Jma5ouf5rua5Yqo5omN55Sf5pWIXHJcbiAgICogQGVuX1VTIGl0ZW1TaXpl77yMY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPG51bWJlcj4oWF9DT05GSUdfTkFNRSwgMjYpIEBYSW5wdXROdW1iZXIoKSBpdGVtU2l6ZSE6IG51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6LaF5Ye65Y+v6KeG56qX5Y+j57yT5Yay5Yy655qE5pyA5bCP5YC877yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWw77yM5byA5ZCv6Jma5ouf5rua5Yqo5omN55Sf5pWIXHJcbiAgICogQGVuX1VTIEV4Y2VlZCB0aGUgbWluaW11bSB2YWx1ZSBvZiB0aGUgdmlzaWJsZSB3aW5kb3cgYnVmZmVyLCBjb3JyZXNwb25kaW5nIHRvIHRoZSBwYXJhbWV0ZXJzIGluIGNkayBzY3JvbGxcclxuICAgKi9cclxuICBASW5wdXQoKSBtaW5CdWZmZXJQeDogbnVtYmVyID0gMTAwO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmuLLmn5PmlrDmlbDmja7nvJPlhrLljLrnmoTlg4/ntKDvvIzlr7nlupQgY2RrIHNjcm9sbCDkuK3nmoTlj4LmlbDvvIzlvIDlkK/omZrmi5/mu5rliqjmiY3nlJ/mlYhcclxuICAgKiBAZW5fVVMgUmVuZGVyIHRoZSBwaXhlbHMgb2YgdGhlIG5ldyBkYXRhIGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWF4QnVmZmVyUHg6IG51bWJlciA9IDIwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5aSa6YCJ5Yqf6IO977yM5b2T5YmN5r+A5rS755qE6IqC54K55Y+v5Lul5piv5aSa5LiqXHJcbiAgICogQGVuX1VTIE11bHRpcGxlIGNob2ljZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbXVsdGlwbGU/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5b2T5byA5ZCv5aSa6YCJ55qE5pe25YCZ77yMYWN0aXZhdGVkSWQg55qE5YC85Li65a+56LGh5pWw57uEXHJcbiAgICogQGVuX1VTIFdoZW4gbXVsdGlwbGUgc2VsZWN0aW9uIGlzIGVuYWJsZWQsIHRoZSB2YWx1ZSBvZiBhY3RpdmF0ZWRJZCBpcyBhbiBhcnJheSBvZiBvYmplY3RzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBvYmplY3RBcnJheT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlhbPplK7lrZfpq5jkuq7vvIzpkojlr7nkuIvmi4nmoJHmkJzntKJcclxuICAgKiBAZW5fVVMgS2V5d29yZCBoaWdobGlnaHRpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBrZXl3b3JkVGV4dCE6IHN0cmluZyB8IHN0cmluZ1tdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDljLnphY3lhbPplK7lrZfljLrliIblpKflsI/lhpnvvIzpkojlr7nkuIvmi4nmoJHmkJzntKJcclxuICAgKiBAZW5fVVMgQ2FzZS1zZW5zaXRpdmVcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgdHJ1ZSkgY2FzZVNlbnNpdGl2ZSE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj6rog73pgInmi6nlj7blrZDoioLngrlcclxuICAgKiBAZW5fVVMgT25seSBsZWFmIG5vZGVzIGNhbiBiZSBzZWxlY3RlZFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FLCBmYWxzZSkgb25seUxlYWYhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+C5pWw5o6n5Yi26K+35rGC5pS55Y+Y5LqL5Lu2XHJcbiAgICogQGVuX1VTIFBhcmFtZXRlciBjb250cm9sIHJlcXVlc3QgY2hhbmdlIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG1hbnVhbENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8Ym9vbGVhbj4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbm9kZUNsaWNrID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeCueWHu+S6i+S7tlxyXG4gICAqIEBlbl9VUyBOb2RlIGNsaWNrIGV2ZW50XHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZElkQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gVHJlZSDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIFRyZWUgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVOb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRyZWVOb2RlPiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+eahFxyXG4gICAqIEBlbl9VUyBhY3RpdmVcclxuICAgKi9cclxuICBhY3RpdmF0ZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmo4Dmn6Xmm7TmlrBcclxuICAgKiBAZW5fVVMgQ2hlY2sgZm9yIHVwZGF0ZXNcclxuICAgKi9cclxuICBjaGFuZ2U/OiBGdW5jdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5piv5ZCm6YCJ5LitXHJcbiAgICogQGVuX1VTIHdoZXRoZXIgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBjaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoY2hlY2tib3hcclxuICAgKiBAZW5fVVMgRGlzYWJsZSBjaGVja2JveFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5a2Q6IqC54K55piv5ZCm5pyJ6YCJ5Lit55qE54q25oCBXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdGhlIGNoaWxkIG5vZGUgb2YgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBpbmRldGVybWluYXRlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K56auY5bqm77yM5LyY5YWI57qn6auY5LqOIHRyZWUg5Y+C5pWw77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBOb2RlIGhlaWdodCBpbiByZW0sIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt++8jOS8mOWFiOe6p+mrmOS6jiB0cmVlIOWPguaVsFxyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmcsIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBub3dyYXA/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI/vvIzkvJjlhYjnuqfpq5jkuo4gdHJlZSDlj4LmlbBcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nLCBoaWdoZXN0IHByaW9yaXR5XHJcbiAgICovXHJcbiAgYWxpZ25JdGVtcz86IFhBbGlnbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55oeS5Yqg6L295LitXHJcbiAgICogQGVuX1VTIE5vZGUgbGF6eSBsb2FkaW5nXHJcbiAgICovXHJcbiAgbG9hZGluZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiHquWumuS5ieWxnuaAp1xyXG4gICAqIEBlbl9VUyBDdXN0b20gYXR0cmlidXRlc1xyXG4gICAqL1xyXG4gIFtwcm9wZXJ0eTogc3RyaW5nXTogYW55O1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFRyZWUg6IqC54K55pON5L2cXHJcbiAqIEBlbl9VUyBUcmVlIG5vZGUgb3BlcmF0aW9uXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFhUcmVlQWN0aW9uIGV4dGVuZHMgWElkZW50aXR5UHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmk43kvZxcclxuICAgKiBAZW5fVVMgT3BlcmF0aW5nXHJcbiAgICovXHJcbiAgaGFuZGxlcj86IEZ1bmN0aW9uO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlm77moIdcclxuICAgKiBAZW5fVVMgSWNvblxyXG4gICAqL1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmVlTm9kZVxyXG4gKiBAc2VsZWN0b3IgeC10cmVlLW5vZGVcclxuICogQGRlY29yYXRvciBkaXJlY3RpdmVcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVHJlZU5vZGVQcmVmaXggPSAneC10cmVlLW5vZGUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVOb2RlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZU5vZGVQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlOiBYVHJlZU5vZGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGC57qnXHJcbiAgICogQGVuX1VTIExldmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGV2ZWw/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmh5LliqDovb3lrZDoioLngrlcclxuICAgKiBAZW5fVVMgTGF6eSBsb2FkaW5nIG9mIGNoaWxkIG5vZGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsYXp5PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeahOmrmOW6pu+8jOWNleS9jSByZW1cclxuICAgKiBAZW5fVVMgVGhlIGhlaWdodCBvZiB0aGUgbm9kZSBpbiByZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgbm9kZUhlaWdodDogWE51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt1xyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5vZGVOb3dyYXA/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVBbGlnbkl0ZW1zOiBYQWxpZ24gPSAnY2VudGVyJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5oeS5Yqg6L295Ye95pWwXHJcbiAgICogQGVuX1VTIExhenkgbG9hZGluZyBmdW5jdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhenlEYXRhITogWERhdGE8WFRyZWVOb2RlW10+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIforrDkuLromZrmi5/mu5rliqjnmoToioLngrlcclxuICAgKiBAZW5fVVMgTWFyayBhcyBhIG5vZGUgb2YgdmlydHVhbCByb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbn1cclxuIl19
335
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5wcm9wZXJ0eS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUvdHJlZS5wcm9wZXJ0eS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUNMLFlBQVksRUFDWixTQUFTLEVBRVQsYUFBYSxFQUliLFlBQVksRUFFWixXQUFXLEVBRVosTUFBTSxrQkFBa0IsQ0FBQztBQUMxQixPQUFPLEVBQUUsS0FBSyxFQUFlLE1BQU0sRUFBRSxZQUFZLEVBQUUsU0FBUyxFQUFjLE1BQU0sZUFBZSxDQUFDOztBQUdoRzs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sV0FBVyxHQUFHLFFBQVEsQ0FBQztBQUNwQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFFN0I7O0dBRUc7QUFFSCxNQUFNLE9BQU8sYUFBYyxTQUFRLFNBQVM7SUFENUM7O1FBRUU7OztXQUdHO1FBQ3NCLFNBQUksR0FBcUIsRUFBRSxDQUFDO1FBZ0JyRDs7O1dBR0c7UUFDTSxhQUFRLEdBQVUsRUFBRSxDQUFDO1FBQzlCOzs7V0FHRztRQUNNLFlBQU8sR0FBVSxFQUFFLENBQUM7UUFNN0I7OztXQUdHO1FBQ3NCLGtCQUFhLEdBQVksQ0FBQyxDQUFDLENBQUM7UUErQnJEOzs7V0FHRztRQUNPLG9CQUFlLEdBQUcsSUFBSSxZQUFZLEVBQWEsQ0FBQztRQUMxRDs7O1dBR0c7UUFDTyxtQkFBYyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDekQ7OztXQUdHO1FBQ3VCLFdBQU0sR0FBWSxJQUFJLENBQUM7UUFDakQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFDdEQ7OztXQUdHO1FBQ3VCLGVBQVUsR0FBYSxJQUFJLENBQUM7UUFNdEQ7OztXQUdHO1FBQ00sWUFBTyxHQUFrQixFQUFFLENBQUM7UUEwQnJDOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBQ25DOzs7V0FHRztRQUNNLGdCQUFXLEdBQVcsR0FBRyxDQUFDO1FBb0NuQzs7O1dBR0c7UUFDTyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFXLENBQUM7UUFDckQ7OztXQUdHO1FBQ08sY0FBUyxHQUFHLElBQUksWUFBWSxFQUFhLENBQUM7UUFDcEQ7OztXQUdHO1FBQ08sc0JBQWlCLEdBQUcsSUFBSSxZQUFZLEVBQU8sQ0FBQztRQUN0RDs7O1dBR0c7UUFDTyxvQkFBZSxHQUFHLElBQUksWUFBWSxFQUFzQixDQUFDO1FBQ25FOzs7V0FHRztRQUNPLGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQXNCLENBQUM7UUFDakU7OztXQUdHO1FBQ08sa0JBQWEsR0FBRyxJQUFJLFlBQVksRUFBc0IsQ0FBQztLQUNsRTs7NkhBOU1ZLGFBQWE7aUhBQWIsYUFBYSxrc0NBREgsRUFBRTtBQU1FO0lBQWYsWUFBWSxFQUFFOzJDQUE2QjtBQUszQjtJQUFoQixhQUFhLEVBQUU7K0NBQXFCO0FBS3BCO0lBQWhCLGFBQWEsRUFBRTsyQ0FBaUI7QUFvQmhCO0lBQWhCLGFBQWEsRUFBRTtrREFBd0I7QUFLeEI7SUFBZixZQUFZLEVBQUU7b0RBQTZCO0FBSzNCO0lBQWhCLGFBQWEsRUFBRTsrQ0FBcUI7QUFLcUI7SUFBekQsV0FBVyxDQUFVLGFBQWEsRUFBRSxHQUFHLENBQUM7SUFBRSxZQUFZLEVBQUU7OENBQW1CO0FBVXBCO0lBQXZELFdBQVcsQ0FBVSxhQUFhLEVBQUUsQ0FBQyxDQUFDO0lBQUUsWUFBWSxFQUFFO2lEQUFzQjtBQUs1RDtJQUFoQixhQUFhLEVBQUU7eURBQStCO0FBSzlCO0lBQWhCLGFBQWEsRUFBRTsyQ0FBaUI7QUFlaEI7SUFBaEIsYUFBYSxFQUFFOzZDQUF3QjtBQUt2QjtJQUFoQixhQUFhLEVBQUU7aURBQTZCO0FBSzVCO0lBQWhCLGFBQWEsRUFBRTtpREFBNkI7QUFLQztJQUE3QyxXQUFXLENBQVMsYUFBYSxFQUFFLFFBQVEsQ0FBQztxREFBeUI7QUFlZjtJQUF0RCxXQUFXLENBQVcsYUFBYSxDQUFDO0lBQUUsYUFBYSxFQUFFO29EQUEwQjtBQUt2QjtJQUF4RCxXQUFXLENBQVMsYUFBYSxFQUFFLEdBQUcsQ0FBQztJQUFFLFlBQVksRUFBRTswREFBOEI7QUFVOUI7SUFBdkQsV0FBVyxDQUFTLGFBQWEsRUFBRSxFQUFFLENBQUM7SUFBRSxZQUFZLEVBQUU7K0NBQW1CO0FBZXpEO0lBQWhCLGFBQWEsRUFBRTsrQ0FBcUI7QUFLcEI7SUFBaEIsYUFBYSxFQUFFO2tEQUF3QjtBQVVxQjtJQUE1RCxhQUFhLEVBQUU7SUFBRSxXQUFXLENBQVcsYUFBYSxFQUFFLElBQUksQ0FBQztvREFBMEI7QUFLeEI7SUFBN0QsYUFBYSxFQUFFO0lBQUUsV0FBVyxDQUFXLGFBQWEsRUFBRSxLQUFLLENBQUM7K0NBQXFCO0FBVXBCO0lBQTdELGFBQWEsRUFBRTtJQUFFLFdBQVcsQ0FBVyxhQUFhLEVBQUUsS0FBSyxDQUFDOytDQUFxQjsyRkEvS2hGLGFBQWE7a0JBRHpCLFNBQVM7bUJBQUMsRUFBRSxRQUFRLEVBQUUsRUFBRSxFQUFFOzhCQU1BLElBQUk7c0JBQTVCLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS29CLElBQUk7c0JBQTdCLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLb0IsV0FBVztzQkFBcEMsS0FBSztnQkFLbUIsYUFBYTtzQkFBckMsS0FBSztnQkFLb0IsUUFBUTtzQkFBakMsS0FBSztnQkFLNkQsT0FBTztzQkFBekUsS0FBSztnQkFLRyxRQUFRO3NCQUFoQixLQUFLO2dCQUsyRCxVQUFVO3NCQUExRSxLQUFLO2dCQUtvQixrQkFBa0I7c0JBQTNDLEtBQUs7Z0JBS29CLElBQUk7c0JBQTdCLEtBQUs7Z0JBS0ksZUFBZTtzQkFBeEIsTUFBTTtnQkFLRyxjQUFjO3NCQUF2QixNQUFNO2dCQUttQixNQUFNO3NCQUEvQixLQUFLO2dCQUtvQixVQUFVO3NCQUFuQyxLQUFLO2dCQUtvQixVQUFVO3NCQUFuQyxLQUFLO2dCQUtpRCxjQUFjO3NCQUFwRSxLQUFLO2dCQUtHLE9BQU87c0JBQWYsS0FBSztnQkFLRyxhQUFhO3NCQUFyQixLQUFLO2dCQUswRCxhQUFhO3NCQUE1RSxLQUFLO2dCQUs0RCxtQkFBbUI7c0JBQXBGLEtBQUs7Z0JBS0csY0FBYztzQkFBdEIsS0FBSztnQkFLMkQsUUFBUTtzQkFBeEUsS0FBSztnQkFLRyxXQUFXO3NCQUFuQixLQUFLO2dCQUtHLFdBQVc7c0JBQW5CLEtBQUs7Z0JBS29CLFFBQVE7c0JBQWpDLEtBQUs7Z0JBS29CLFdBQVc7c0JBQXBDLEtBQUs7Z0JBS0csV0FBVztzQkFBbkIsS0FBSztnQkFLZ0UsYUFBYTtzQkFBbEYsS0FBSztnQkFLaUUsUUFBUTtzQkFBOUUsS0FBSztnQkFLRyxZQUFZO3NCQUFwQixLQUFLO2dCQUtpRSxRQUFRO3NCQUE5RSxLQUFLO2dCQUtJLFlBQVk7c0JBQXJCLE1BQU07Z0JBS0csU0FBUztzQkFBbEIsTUFBTTtnQkFLRyxpQkFBaUI7c0JBQTFCLE1BQU07Z0JBS0csZUFBZTtzQkFBeEIsTUFBTTtnQkFLRyxhQUFhO3NCQUF0QixNQUFNO2dCQUtHLGFBQWE7c0JBQXRCLE1BQU07O0FBNkdUOzs7O0dBSUc7QUFDSCxNQUFNLENBQUMsTUFBTSxlQUFlLEdBQUcsYUFBYSxDQUFDO0FBRTdDOztHQUVHO0FBRUgsTUFBTSxPQUFPLGlCQUFrQixTQUFRLFNBQVM7SUFEaEQ7O1FBRUU7OztXQUdHO1FBQ00sU0FBSSxHQUFjLEVBQUUsQ0FBQztRQVc5Qjs7O1dBR0c7UUFDc0IsZUFBVSxHQUFZLENBQUMsQ0FBQztRQU1qRDs7O1dBR0c7UUFDTSxtQkFBYyxHQUFXLFFBQVEsQ0FBQztLQVc1Qzs7aUlBekNZLGlCQUFpQjtxSEFBakIsaUJBQWlCLCtRQURQLEVBQUU7QUFnQkc7SUFBaEIsYUFBYSxFQUFFOytDQUFpQjtBQUtqQjtJQUFmLFlBQVksRUFBRTtxREFBeUI7QUFLdkI7SUFBaEIsYUFBYSxFQUFFO3FEQUF1QjtBQWV0QjtJQUFoQixhQUFhLEVBQUU7d0RBQTBCOzJGQXhDeEMsaUJBQWlCO2tCQUQ3QixTQUFTO21CQUFDLEVBQUUsUUFBUSxFQUFFLEVBQUUsRUFBRTs4QkFNaEIsSUFBSTtzQkFBWixLQUFLO2dCQUtHLEtBQUs7c0JBQWIsS0FBSztnQkFLb0IsSUFBSTtzQkFBN0IsS0FBSztnQkFLbUIsVUFBVTtzQkFBbEMsS0FBSztnQkFLb0IsVUFBVTtzQkFBbkMsS0FBSztnQkFLRyxjQUFjO3NCQUF0QixLQUFLO2dCQUtHLFFBQVE7c0JBQWhCLEtBQUs7Z0JBS29CLGFBQWE7c0JBQXRDLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIFhEYXRhQ29udmVydCxcclxuICBYUHJvcGVydHksXHJcbiAgWERhdGEsXHJcbiAgWElucHV0Qm9vbGVhbixcclxuICBYUGFyZW50SWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYTnVtYmVyLFxyXG4gIFhCb29sZWFuLFxyXG4gIFhJbnB1dE51bWJlcixcclxuICBYSWRlbnRpdHlQcm9wZXJ0eSxcclxuICBYV2l0aENvbmZpZyxcclxuICBYQWxpZ25cclxufSBmcm9tICdAbmctbmVzdC91aS9jb3JlJztcclxuaW1wb3J0IHsgSW5wdXQsIFRlbXBsYXRlUmVmLCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgQ29tcG9uZW50LCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IENka0RyYWdFbmQsIENka0RyYWdNb3ZlLCBDZGtEcmFnU3RhcnQgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcclxuXHJcbi8qKlxyXG4gKiBUcmVlXHJcbiAqIEBzZWxlY3RvciB4LXRyZWVcclxuICogQGRlY29yYXRvciBjb21wb25lbnRcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVHJlZVByZWZpeCA9ICd4LXRyZWUnO1xyXG5jb25zdCBYX0NPTkZJR19OQU1FID0gJ3RyZWUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWUgUHJvcGVydHlcclxuICovXHJcbkBDb21wb25lbnQoeyB0ZW1wbGF0ZTogJycgfSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlUHJvcGVydHkgZXh0ZW5kcyBYUHJvcGVydHkge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnmlbDmja5cclxuICAgKiBAZW5fVVMgTm9kZSBkYXRhXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhEYXRhQ29udmVydCgpIGRhdGE6IFhEYXRhPFhUcmVlTm9kZT4gPSBbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pi+56S65aSa6YCJ5qGGXHJcbiAgICogQGVuX1VTIFNob3cgY2hlY2tib3hcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGNoZWNrYm94PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+aHkuWKoOi9veiKgueCue+8jGRhdGEg5b+F6aG76K6+572u5oiQ5Ye95pWw57G75Z6LXHJcbiAgICogQGVuX1VTIE9wZW4gbGF6eSBsb2FkaW5nIG5vZGUsIGRhdGEgbXVzdCBiZSBzZXQgdG8gZnVuY3Rpb24gdHlwZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbGF6eT86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlvZPliY3mv4DmtLvnmoToioLngrkgSWQsIOW9kyBtdWx0aXBsZSDkuLogdHJ1ZSDml7bvvIzlgLzkuLrmlbDnu4TvvIjpu5jorqTmmK8gSWQg5pWw57uE77yMb2JqZWN0QXJyYXkg5Li6IHRydWXvvIzlr7nosaHmlbDnu4TvvIlcclxuICAgKiBAZW5fVVMgQ3VycmVudGx5IGFjdGl2ZSBub2RlIElkLiBXaGVuIE11bHRpcGxlIGlzIHRydWUsIHRoZSB2YWx1ZSBpcyB0aGUgSWQgYXJyYXlcclxuICAgKi9cclxuICBASW5wdXQoKSBhY3RpdmF0ZWRJZDogYW55O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlsZXlvIDnmoToioLngrlcclxuICAgKiBAZW5fVVMgRXhwYW5kZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkOiBhbnlbXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDpgInkuK3nmoToioLngrlcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggc2VsZWN0ZWQgbm9kZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGNoZWNrZWQ6IGFueVtdID0gW107XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOaJgOacieiKgueCuVxyXG4gICAqIEBlbl9VUyBFeHBhbmQgYWxsIG5vZGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBleHBhbmRlZEFsbD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDpu5jorqTlsZXlvIDnmoTlsYLnuqdcclxuICAgKiBAZW5fVVMgRGVmYXVsdCBleHBhbmRlZCBsZXZlbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXROdW1iZXIoKSBleHBhbmRlZExldmVsOiBYTnVtYmVyID0gLTE7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOeCueWHu+iKgueCueWwseinpuWPkeWxleW8gC/mlLbotbfnmoTmk43kvZzvvIzor7fnoa7kv53oioLngrnkuIrmsqHmnInlhbblroPmk43kvZzvvIhjaGVja2JveOOAgeiHquWumuS5ieeahOaTjeS9nOaMiemSru+8iVxyXG4gICAqIEBlbl9VUyBDbGljayB0aGUgbm9kZSB0byB0cmlnZ2VyIHRoZSBleHBhbmQvY29sbGFwc2Ugb3BlcmF0aW9uLCBwbGVhc2UgbWFrZSBzdXJlIHRoYXQgdGhlcmUgYXJlIG5vIG90aGVyIG9wZXJhdGlvbnMgb24gdGhlIG5vZGUgKGNoZWNrYm94LCBjdXN0b20gb3BlcmF0aW9uIGJ1dHRvbilcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5vZGVPcGVuPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWNleS9jemXtOi3ne+8jOi/meS4quS4juWxgue6p+eahOS5mOenr+eul+WHuuiKgueCueeahOW3pui+uei3ne+8jOWNleS9jSByZW1cclxuICAgKiBAZW5fVVMgVW5pdCBzcGFjaW5nLCB0aGUgcHJvZHVjdCBvZiB0aGlzIGFuZCB0aGUgbGV2ZWwgY2FsY3VsYXRlcyB0aGUgbGVmdCBtYXJnaW4gb2YgdGhlIG5vZGUsIHRoZSB1bml0IGlzIHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAxLjUpIEBYSW5wdXROdW1iZXIoKSBzcGFjaW5nPzogWE51bWJlcjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5qCH562+6Ieq5a6a5LmJ5qih5p2/XHJcbiAgICogQGVuX1VTIExhYmVsIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhYmVsVHBsPzogVGVtcGxhdGVSZWY8dm9pZD47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeahOmrmOW6pu+8jOWNleS9jSByZW0sIOm7mOiupCAwIOaYr+iHqumAguW6lOmrmOW6plxyXG4gICAqIEBlbl9VUyBUaGUgaGVpZ2h0IG9mIHRoZSBub2RlIGluIHJlbVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxYTnVtYmVyPihYX0NPTkZJR19OQU1FLCAwKSBAWElucHV0TnVtYmVyKCkgbm9kZUhlaWdodCE6IFhOdW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYr+WQpuWFgeiuuOWkmuasoeeCueWHu+S4gOS4quiKgueCueinpuWPkeWkmuasoeS6i+S7tlxyXG4gICAqIEBlbl9VUyBXaGV0aGVyIHRvIGFsbG93IG11bHRpcGxlIGNsaWNrcyBvbiBhIG5vZGUgdG8gdHJpZ2dlciBtdWx0aXBsZSBldmVudHNcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGFsbG93TWFueUFjdGl2YXRlZD86IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmi5bliqjoioLngrlcclxuICAgKiBAZW5fVVMgRHJhZyBub2RlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBkcmFnPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+WJjeeCueWHu+mAieS4reeahOiKgueCueWPmOWMlueahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBUaGUgZXZlbnQgb2YgdGhlIGN1cnJlbnRseSBjbGlja2VkIG5vZGUgY2hhbmdlXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGFjdGl2YXRlZENoYW5nZSA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDkvb/nlKggY2hlY2tlZGJveCDpgInkuK3lj5jljJbnmoTkuovku7ZcclxuICAgKiBAZW5fVVMgVXNlIGNoZWNrZWRib3ggdG8gc2VsZWN0IGNoYW5nZWQgZXZlbnRzXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIGNoZWNrYm94Q2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGU+KCk7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWmguaenCBkYXRhIOaYr+WHveaVsOexu+Wei++8jOWPr+S7pemAmui/h+atpOWPguaVsOaOp+WItuivt+axgu+8jOW4uOeUqOS6juW8ueahhuS4reeahOihqOagvO+8jOW8ueWHuuWQjuWGjeivt+axglxyXG4gICAqIEBlbl9VUyBJZiBkYXRhIGlzIGEgZnVuY3Rpb24gdHlwZSwgeW91IGNhbiB1c2UgdGhpcyBwYXJhbWV0ZXIgdG8gY29udHJvbCB0aGUgcmVxdWVzdCwgd2hpY2ggaXMgb2Z0ZW4gdXNlZCBpbiB0aGUgZm9ybSBpbiB0aGUgcG9wLXVwIGJveCwgYW5kIHRoZW4gcmVxdWVzdCBpdCBhZnRlciBpdCBwb3BzIHVwXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBtYW51YWw6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBjaGVja2JveCDnirbmgIHmlLnlj5jop6blj5HlsYLnuqfmo4Dmn6VcclxuICAgKiBAZW5fVVMgQ2hlY2tib3ggc3RhdHVzIGNoYW5nZXMgdHJpZ2dlciBsZXZlbCBjaGVja3NcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIGxldmVsQ2hlY2s6IFhCb29sZWFuID0gdHJ1ZTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55YaF5a655LiN5o2i6KGM5pi+56S655yB55Wl5Y+3XHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgbm9kZU5vd3JhcDogWEJvb2xlYW4gPSB0cnVlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI9cclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhBbGlnbj4oWF9DT05GSUdfTkFNRSwgJ2NlbnRlcicpIG5vZGVBbGlnbkl0ZW1zITogWEFsaWduO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoJHoioLngrnmk43kvZzmjInpkq5cclxuICAgKiBAZW5fVVMgVHJlZSBub2RlIG9wZXJhdGlvbiBidXR0b25zXHJcbiAgICovXHJcbiAgQElucHV0KCkgYWN0aW9uczogWFRyZWVBY3Rpb25bXSA9IFtdO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmu5rliqjljLrln5/lhYPntKBcclxuICAgKiBAZW5fVVMgUm9sbGluZyBhcmVhIGVsZW1lbnRcclxuICAgKi9cclxuICBASW5wdXQoKSBzY3JvbGxFbGVtZW50PzogSFRNTEVsZW1lbnQ7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW8gOWQr+iZmuaLn+a7muWKqFxyXG4gICAqIEBlbl9VUyBUdXJuIG9uIHZpcnR1YWwgc2Nyb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhXaXRoQ29uZmlnPFhCb29sZWFuPihYX0NPTkZJR19OQU1FKSBAWElucHV0Qm9vbGVhbigpIHZpcnR1YWxTY3JvbGwhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5rua5Yqo5Yy65Z+f6auY5bqm77yM5byA5ZCv6Jma5ouf5rua5Yqo55qE5pe25YCZ55Sf5pWIXHJcbiAgICogQGVuX1VTIFJvbGxpbmcgYXJlYSBoZWlnaHRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWFdpdGhDb25maWc8bnVtYmVyPihYX0NPTkZJR19OQU1FLCA0MDApIEBYSW5wdXROdW1iZXIoKSB2aXJ0dWFsU2Nyb2xsSGVpZ2h0ITogbnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDomZrmi5/mu5rliqjpq5jluqboh6rpgILlupTmjIflrprlhYPntKBcclxuICAgKiBAZW5fVVMgdmlydHVhbCByb2xsaW5nIGhlaWdodCBmb2xsb3dzIHRoZSBzcGVjaWZpZWQgb2JqZWN0XHJcbiAgICovXHJcbiAgQElucHV0KCkgaGVpZ2h0QWRhcHRpb24hOiBFbGVtZW50UmVmPEhUTUxFbGVtZW50PiB8IEhUTUxFbGVtZW50O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiBpdGVtU2l6Ze+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsO+8jOW8gOWQr+iZmuaLn+a7muWKqOaJjeeUn+aViFxyXG4gICAqIEBlbl9VUyBpdGVtU2l6Ze+8jGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYV2l0aENvbmZpZzxudW1iZXI+KFhfQ09ORklHX05BTUUsIDI2KSBAWElucHV0TnVtYmVyKCkgaXRlbVNpemUhOiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOi2heWHuuWPr+inhueql+WPo+e8k+WGsuWMuueahOacgOWwj+WAvO+8jOWvueW6lCBjZGsgc2Nyb2xsIOS4reeahOWPguaVsO+8jOW8gOWQr+iZmuaLn+a7muWKqOaJjeeUn+aViFxyXG4gICAqIEBlbl9VUyBFeGNlZWQgdGhlIG1pbmltdW0gdmFsdWUgb2YgdGhlIHZpc2libGUgd2luZG93IGJ1ZmZlciwgY29ycmVzcG9uZGluZyB0byB0aGUgcGFyYW1ldGVycyBpbiBjZGsgc2Nyb2xsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbWluQnVmZmVyUHg6IG51bWJlciA9IDEwMDtcclxuICAvKipcclxuICAgKiBAemhfQ04g5riy5p+T5paw5pWw5o2u57yT5Yay5Yy655qE5YOP57Sg77yM5a+55bqUIGNkayBzY3JvbGwg5Lit55qE5Y+C5pWw77yM5byA5ZCv6Jma5ouf5rua5Yqo5omN55Sf5pWIXHJcbiAgICogQGVuX1VTIFJlbmRlciB0aGUgcGl4ZWxzIG9mIHRoZSBuZXcgZGF0YSBidWZmZXIsIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHBhcmFtZXRlcnMgaW4gY2RrIHNjcm9sbFxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG1heEJ1ZmZlclB4OiBudW1iZXIgPSAyMDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWkmumAieWKn+iDve+8jOW9k+WJjea/gOa0u+eahOiKgueCueWPr+S7peaYr+WkmuS4qlxyXG4gICAqIEBlbl9VUyBNdWx0aXBsZSBjaG9pY2VcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG11bHRpcGxlPzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOW9k+W8gOWQr+WkmumAieeahOaXtuWAme+8jGFjdGl2YXRlZElkIOeahOWAvOS4uuWvueixoeaVsOe7hFxyXG4gICAqIEBlbl9VUyBXaGVuIG11bHRpcGxlIHNlbGVjdGlvbiBpcyBlbmFibGVkLCB0aGUgdmFsdWUgb2YgYWN0aXZhdGVkSWQgaXMgYW4gYXJyYXkgb2Ygb2JqZWN0c1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIEBYSW5wdXRCb29sZWFuKCkgb2JqZWN0QXJyYXk/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5YWz6ZSu5a2X6auY5Lqu77yM6ZKI5a+55LiL5ouJ5qCR5pCc57SiXHJcbiAgICogQGVuX1VTIEtleXdvcmQgaGlnaGxpZ2h0aW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkga2V5d29yZFRleHQhOiBzdHJpbmcgfCBzdHJpbmdbXTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Yy56YWN5YWz6ZSu5a2X5Yy65YiG5aSn5bCP5YaZ77yM6ZKI5a+55LiL5ouJ5qCR5pCc57SiXHJcbiAgICogQGVuX1VTIENhc2Utc2Vuc2l0aXZlXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIHRydWUpIGNhc2VTZW5zaXRpdmUhOiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Y+q6IO96YCJ5oup5Y+25a2Q6IqC54K5XHJcbiAgICogQGVuX1VTIE9ubHkgbGVhZiBub2RlcyBjYW4gYmUgc2VsZWN0ZWRcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIEBYV2l0aENvbmZpZzxYQm9vbGVhbj4oWF9DT05GSUdfTkFNRSwgZmFsc2UpIG9ubHlMZWFmITogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWxleW8gOaUtui1t+eahOWbvuagh+iHquWumuS5ieaooeeJiFxyXG4gICAqIEBlbl9VUyBFeHBhbmQgdGhlIGZvbGRlZCBpY29uIGN1c3RvbSB0ZW1wbGF0ZVxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGV4cGFuZGVkSWNvbj86IFRlbXBsYXRlUmVmPHZvaWQ+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmmL7npLrov57mjqXnur9cclxuICAgKiBAZW5fVVMgU2hvdyBsaW5lXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBAWFdpdGhDb25maWc8WEJvb2xlYW4+KFhfQ09ORklHX05BTUUsIGZhbHNlKSBzaG93TGluZSE6IFhCb29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlj4LmlbDmjqfliLbor7fmsYLmlLnlj5jkuovku7ZcclxuICAgKiBAZW5fVVMgUGFyYW1ldGVyIGNvbnRyb2wgcmVxdWVzdCBjaGFuZ2UgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgbWFudWFsQ2hhbmdlID0gbmV3IEV2ZW50RW1pdHRlcjxib29sZWFuPigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnngrnlh7vkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBjbGljayBldmVudFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlQ2xpY2sgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K554K55Ye75LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgY2xpY2sgZXZlbnRcclxuICAgKi9cclxuICBAT3V0cHV0KCkgYWN0aXZhdGVkSWRDaGFuZ2UgPSBuZXcgRXZlbnRFbWl0dGVyPGFueT4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55byA5aeL5ouW5Yqo5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgZHJhZyBzdGFydGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVEcmFnU3RhcnRlZCA9IG5ldyBFdmVudEVtaXR0ZXI8WFRyZWVOb2RlRHJhZ0V2ZW50PigpO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnnu5PmnZ/mi5bliqjkuovku7ZcclxuICAgKiBAZW5fVVMgTm9kZSBkcmFnIGVuZGVkXHJcbiAgICovXHJcbiAgQE91dHB1dCgpIG5vZGVEcmFnRW5kZWQgPSBuZXcgRXZlbnRFbWl0dGVyPFhUcmVlTm9kZURyYWdFdmVudD4oKTtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55q2j5Zyo5ouW5Yqo5LqL5Lu2XHJcbiAgICogQGVuX1VTIE5vZGUgZHJhZyBtb3ZlZFxyXG4gICAqL1xyXG4gIEBPdXRwdXQoKSBub2RlRHJhZ01vdmVkID0gbmV3IEV2ZW50RW1pdHRlcjxYVHJlZU5vZGVEcmFnRXZlbnQ+KCk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBAemhfQ04gVHJlZSDmlbDmja7lr7nosaFcclxuICogQGVuX1VTIFRyZWUgZGF0YSBvYmplY3RcclxuICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgWFRyZWVOb2RlIGV4dGVuZHMgWFBhcmVudElkZW50aXR5UHJvcGVydHk8WFRyZWVOb2RlPiB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOa/gOa0u+eahFxyXG4gICAqIEBlbl9VUyBhY3RpdmVcclxuICAgKi9cclxuICBhY3RpdmF0ZWQ/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmo4Dmn6Xmm7TmlrBcclxuICAgKiBAZW5fVVMgQ2hlY2sgZm9yIHVwZGF0ZXNcclxuICAgKi9cclxuICBjaGFuZ2U/OiBGdW5jdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5piv5ZCm6YCJ5LitXHJcbiAgICogQGVuX1VTIHdoZXRoZXIgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBjaGVja2VkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g56aB55SoY2hlY2tib3hcclxuICAgKiBAZW5fVVMgRGlzYWJsZSBjaGVja2JveFxyXG4gICAqL1xyXG4gIGRpc2FibGVkPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04gY2hlY2tib3gg5a2Q6IqC54K55piv5ZCm5pyJ6YCJ5Lit55qE54q25oCBXHJcbiAgICogQGVuX1VTIFdoZXRoZXIgdGhlIGNoaWxkIG5vZGUgb2YgY2hlY2tib3ggaXMgc2VsZWN0ZWRcclxuICAgKi9cclxuICBpbmRldGVybWluYXRlPzogYm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K56auY5bqm77yM5LyY5YWI57qn6auY5LqOIHRyZWUg5Y+C5pWw77yM5Y2V5L2NIHJlbVxyXG4gICAqIEBlbl9VUyBOb2RlIGhlaWdodCBpbiByZW0sIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBoZWlnaHQ/OiBudW1iZXI7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt++8jOS8mOWFiOe6p+mrmOS6jiB0cmVlIOWPguaVsFxyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmcsIGhpZ2hlc3QgcHJpb3JpdHlcclxuICAgKi9cclxuICBub3dyYXA/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoioLngrnlnoLnm7Tlr7npvZDmlrnlvI/vvIzkvJjlhYjnuqfpq5jkuo4gdHJlZSDlj4LmlbBcclxuICAgKiBAZW5fVVMgU2hvdyBlbGxpcHNpcyB3aXRob3V0IHdyYXBwaW5nLCBoaWdoZXN0IHByaW9yaXR5XHJcbiAgICovXHJcbiAgYWxpZ25JdGVtcz86IFhBbGlnbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55oeS5Yqg6L295LitXHJcbiAgICogQGVuX1VTIE5vZGUgbGF6eSBsb2FkaW5nXHJcbiAgICovXHJcbiAgbG9hZGluZz86IGJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaYvuekuuaLluWKqOaMh+ekuuWZqFxyXG4gICAqIEBlbl9VUyBTaG93IGRyYWcgaW5kaWNhdG9yXHJcbiAgICovXHJcbiAgc2hvd0RyYWdJbmRpY2F0b3I/OiBib29sZWFuO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDoh6rlrprkuYnlsZ7mgKdcclxuICAgKiBAZW5fVVMgQ3VzdG9tIGF0dHJpYnV0ZXNcclxuICAgKi9cclxuICBbcHJvcGVydHk6IHN0cmluZ106IGFueTtcclxufVxyXG5cclxuLyoqXHJcbiAqIEB6aF9DTiBUcmVlIOiKgueCueaTjeS9nFxyXG4gKiBAZW5fVVMgVHJlZSBub2RlIG9wZXJhdGlvblxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZUFjdGlvbiBleHRlbmRzIFhJZGVudGl0eVByb3BlcnR5IHtcclxuICAvKipcclxuICAgKiBAemhfQ04g5pON5L2cXHJcbiAgICogQGVuX1VTIE9wZXJhdGluZ1xyXG4gICAqL1xyXG4gIGhhbmRsZXI/OiBGdW5jdGlvbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g5Zu+5qCHXHJcbiAgICogQGVuX1VTIEljb25cclxuICAgKi9cclxuICBpY29uPzogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogQHpoX0NOIFRyZWUg6IqC54K55ouW5Yqo5LqL5Lu2XHJcbiAqIEBlbl9VUyBUcmVlIG5vZGUgZHJhZyBldmVudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBYVHJlZU5vZGVEcmFnRXZlbnQge1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDlr7nlupQgY2RrIOS4reeahOS6i+S7tlxyXG4gICAqIEBlbl9VUyBkcmFnIGNkayBldmVudFxyXG4gICAqL1xyXG4gIGV2ZW50PzogQ2RrRHJhZ1N0YXJ0IHwgQ2RrRHJhZ0VuZCB8IENka0RyYWdNb3ZlPFhUcmVlTm9kZT47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOaLluWKqOeahOiKgueCuVxyXG4gICAqIEBlbl9VUyBkcmFnIG5vZGVcclxuICAgKi9cclxuICBmcm9tPzogWFRyZWVOb2RlO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDopoHmi5bliqjliLDnmoTkvY3nva7lr7nlupTnmoToioLngrlcclxuICAgKiBAZW5fVVMgTm9kZSBjb3JyZXNwb25kaW5nIHRvIHRoZSBwb3NpdGlvbiB0byBkcmFnXHJcbiAgICovXHJcbiAgdG8/OiBYVHJlZU5vZGU7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOWvueW6lOiKgueCueeahOWJjemdoui/mOaYr+WQjumdolxyXG4gICAqIEBlbl9VUyBUaGUgZnJvbnQgb3IgYmFjayBvZiB0aGUgY29ycmVzcG9uZGluZyBub2RlXHJcbiAgICovXHJcbiAgcG9zaXRpb24/OiAtMSB8IDE7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBUcmVlTm9kZVxyXG4gKiBAc2VsZWN0b3IgeC10cmVlLW5vZGVcclxuICogQGRlY29yYXRvciBkaXJlY3RpdmVcclxuICovXHJcbmV4cG9ydCBjb25zdCBYVHJlZU5vZGVQcmVmaXggPSAneC10cmVlLW5vZGUnO1xyXG5cclxuLyoqXHJcbiAqIFRyZWVOb2RlIFByb3BlcnR5XHJcbiAqL1xyXG5AQ29tcG9uZW50KHsgdGVtcGxhdGU6ICcnIH0pXHJcbmV4cG9ydCBjbGFzcyBYVHJlZU5vZGVQcm9wZXJ0eSBleHRlbmRzIFhQcm9wZXJ0eSB7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueaVsOaNrlxyXG4gICAqIEBlbl9VUyBOb2RlIGRhdGFcclxuICAgKi9cclxuICBASW5wdXQoKSBub2RlOiBYVHJlZU5vZGUgPSB7fTtcclxuICAvKipcclxuICAgKiBAemhfQ04g5bGC57qnXHJcbiAgICogQGVuX1VTIExldmVsXHJcbiAgICovXHJcbiAgQElucHV0KCkgbGV2ZWw/OiBYTnVtYmVyO1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmh5LliqDovb3lrZDoioLngrlcclxuICAgKiBAZW5fVVMgTGF6eSBsb2FkaW5nIG9mIGNoaWxkIG5vZGVzXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSBsYXp5PzogWEJvb2xlYW47XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueeahOmrmOW6pu+8jOWNleS9jSByZW1cclxuICAgKiBAZW5fVVMgVGhlIGhlaWdodCBvZiB0aGUgbm9kZSBpbiByZW1cclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0TnVtYmVyKCkgbm9kZUhlaWdodDogWE51bWJlciA9IDA7XHJcbiAgLyoqXHJcbiAgICogQHpoX0NOIOiKgueCueWGheWuueS4jeaNouihjOaYvuekuuecgeeVpeWPt1xyXG4gICAqIEBlbl9VUyBTaG93IGVsbGlwc2lzIHdpdGhvdXQgd3JhcHBpbmdcclxuICAgKi9cclxuICBASW5wdXQoKSBAWElucHV0Qm9vbGVhbigpIG5vZGVOb3dyYXA/OiBYQm9vbGVhbjtcclxuICAvKipcclxuICAgKiBAemhfQ04g6IqC54K55Z6C55u05a+56b2Q5pa55byPXHJcbiAgICogQGVuX1VTIFNob3cgZWxsaXBzaXMgd2l0aG91dCB3cmFwcGluZ1xyXG4gICAqL1xyXG4gIEBJbnB1dCgpIG5vZGVBbGlnbkl0ZW1zOiBYQWxpZ24gPSAnY2VudGVyJztcclxuICAvKipcclxuICAgKiBAemhfQ04g5oeS5Yqg6L295Ye95pWwXHJcbiAgICogQGVuX1VTIExhenkgbG9hZGluZyBmdW5jdGlvblxyXG4gICAqL1xyXG4gIEBJbnB1dCgpIGxhenlEYXRhITogWERhdGE8WFRyZWVOb2RlW10+O1xyXG4gIC8qKlxyXG4gICAqIEB6aF9DTiDmoIforrDkuLromZrmi5/mu5rliqjnmoToioLngrlcclxuICAgKiBAZW5fVVMgTWFyayBhcyBhIG5vZGUgb2YgdmlydHVhbCByb2xsaW5nXHJcbiAgICovXHJcbiAgQElucHV0KCkgQFhJbnB1dEJvb2xlYW4oKSB2aXJ0dWFsU2Nyb2xsPzogWEJvb2xlYW47XHJcbn1cclxuIl19
@@ -0,0 +1,77 @@
1
+ import { Injectable } from '@angular/core';
2
+ import { XIsEmpty, XRemove } from '@ng-nest/ui/core';
3
+ import * as i0 from "@angular/core";
4
+ export class XTreeService {
5
+ getChildren(data, node) {
6
+ const res = [];
7
+ const gChildren = (nd) => {
8
+ const children = data.filter((x) => x.pid === nd.id);
9
+ if (XIsEmpty(children))
10
+ return;
11
+ for (let child of children) {
12
+ res.push(child);
13
+ gChildren(child);
14
+ }
15
+ };
16
+ gChildren(node);
17
+ return res;
18
+ }
19
+ getParents(data, node) {
20
+ const res = [];
21
+ const gParent = (nd) => {
22
+ if (!nd.pid)
23
+ return;
24
+ const parent = data.find((x) => x.id === nd.pid);
25
+ if (!parent)
26
+ return;
27
+ res.push(parent);
28
+ gParent(parent);
29
+ };
30
+ gParent(node);
31
+ return res;
32
+ }
33
+ getOpenChildren(data, node) {
34
+ const res = [];
35
+ const gChildren = (nd) => {
36
+ if (!nd.open)
37
+ return;
38
+ const children = data.filter((x) => x.pid === nd.id);
39
+ if (XIsEmpty(children))
40
+ return;
41
+ for (let child of children) {
42
+ res.push(child);
43
+ gChildren(child);
44
+ }
45
+ };
46
+ gChildren(node);
47
+ return res;
48
+ }
49
+ moveNode(data, from, to, pos) {
50
+ if (XIsEmpty(data))
51
+ return;
52
+ const formIndex = data.findIndex((x) => x.id === from.id);
53
+ const toIndex = data.findIndex((x) => x.id === to.id);
54
+ XRemove(data, (x) => x.id === from.id);
55
+ if (from.pid === to.pid) {
56
+ const index = toIndex > formIndex ? toIndex - 1 : toIndex;
57
+ data.splice(pos === -1 ? index : index + 1, 0, from);
58
+ }
59
+ else if (from.pid !== to.pid) {
60
+ from.pid = to.pid;
61
+ const diffLevel = to.level - from.level;
62
+ from.level = to.level;
63
+ const fromChildren = this.getChildren(data, from);
64
+ fromChildren.forEach((x) => {
65
+ x.level = x.level + diffLevel;
66
+ });
67
+ const index = toIndex > formIndex ? toIndex - 1 : toIndex;
68
+ data.splice(pos === -1 ? index : index + 1, 0, from);
69
+ }
70
+ }
71
+ }
72
+ /** @nocollapse */ XTreeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTreeService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
73
+ /** @nocollapse */ XTreeService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTreeService });
74
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XTreeService, decorators: [{
75
+ type: Injectable
76
+ }] });
77
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJlZS90cmVlLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsUUFBUSxFQUFFLE9BQU8sRUFBRSxNQUFNLGtCQUFrQixDQUFDOztBQUlyRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixXQUFXLENBQUMsSUFBaUIsRUFBRSxJQUFlO1FBQzVDLE1BQU0sR0FBRyxHQUFnQixFQUFFLENBQUM7UUFDNUIsTUFBTSxTQUFTLEdBQUcsQ0FBQyxFQUFhLEVBQUUsRUFBRTtZQUNsQyxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztZQUNyRCxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUM7Z0JBQUUsT0FBTztZQUMvQixLQUFLLElBQUksS0FBSyxJQUFJLFFBQVEsRUFBRTtnQkFDMUIsR0FBRyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztnQkFDaEIsU0FBUyxDQUFDLEtBQUssQ0FBQyxDQUFDO2FBQ2xCO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhCLE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQUVELFVBQVUsQ0FBQyxJQUFpQixFQUFFLElBQWU7UUFDM0MsTUFBTSxHQUFHLEdBQWdCLEVBQUUsQ0FBQztRQUM1QixNQUFNLE9BQU8sR0FBRyxDQUFDLEVBQWEsRUFBRSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxFQUFFLENBQUMsR0FBRztnQkFBRSxPQUFPO1lBQ3BCLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEtBQUssRUFBRSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1lBQ2pELElBQUksQ0FBQyxNQUFNO2dCQUFFLE9BQU87WUFDcEIsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQztZQUNqQixPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDbEIsQ0FBQyxDQUFDO1FBQ0YsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWQsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBRUQsZUFBZSxDQUFDLElBQWlCLEVBQUUsSUFBZTtRQUNoRCxNQUFNLEdBQUcsR0FBZ0IsRUFBRSxDQUFDO1FBQzVCLE1BQU0sU0FBUyxHQUFHLENBQUMsRUFBYSxFQUFFLEVBQUU7WUFDbEMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJO2dCQUFFLE9BQU87WUFDckIsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsS0FBSyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDckQsSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDO2dCQUFFLE9BQU87WUFDL0IsS0FBSyxJQUFJLEtBQUssSUFBSSxRQUFRLEVBQUU7Z0JBQzFCLEdBQUcsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQ2hCLFNBQVMsQ0FBQyxLQUFLLENBQUMsQ0FBQzthQUNsQjtRQUNILENBQUMsQ0FBQztRQUNGLFNBQVMsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUVoQixPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7SUFFRCxRQUFRLENBQUMsSUFBaUIsRUFBRSxJQUFlLEVBQUUsRUFBYSxFQUFFLEdBQVc7UUFDckUsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDO1lBQUUsT0FBTztRQUMzQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUMxRCxNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN0RCxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxFQUFFLENBQUMsQ0FBQztRQUN2QyxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUN2QixNQUFNLEtBQUssR0FBRyxPQUFPLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEQ7YUFBTSxJQUFJLElBQUksQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRTtZQUM5QixJQUFJLENBQUMsR0FBRyxHQUFHLEVBQUUsQ0FBQyxHQUFHLENBQUM7WUFDbEIsTUFBTSxTQUFTLEdBQUcsRUFBRSxDQUFDLEtBQU0sR0FBRyxJQUFJLENBQUMsS0FBTSxDQUFDO1lBQzFDLElBQUksQ0FBQyxLQUFLLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQztZQUN0QixNQUFNLFlBQVksR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztZQUNsRCxZQUFZLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3pCLENBQUMsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxDQUFDLEtBQU0sR0FBRyxTQUFTLENBQUM7WUFDakMsQ0FBQyxDQUFDLENBQUM7WUFDSCxNQUFNLEtBQUssR0FBRyxPQUFPLEdBQUcsU0FBUyxDQUFDLENBQUMsQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUM7WUFDMUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDdEQ7SUFDSCxDQUFDOzs0SEFqRVUsWUFBWTtnSUFBWixZQUFZOzJGQUFaLFlBQVk7a0JBRHhCLFVBQVUiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFhJc0VtcHR5LCBYUmVtb3ZlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhUcmVlTm9kZSB9IGZyb20gJy4vdHJlZS5wcm9wZXJ0eSc7XHJcblxyXG5ASW5qZWN0YWJsZSgpXHJcbmV4cG9ydCBjbGFzcyBYVHJlZVNlcnZpY2Uge1xyXG4gIGdldENoaWxkcmVuKGRhdGE6IFhUcmVlTm9kZVtdLCBub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGNvbnN0IHJlczogWFRyZWVOb2RlW10gPSBbXTtcclxuICAgIGNvbnN0IGdDaGlsZHJlbiA9IChuZDogWFRyZWVOb2RlKSA9PiB7XHJcbiAgICAgIGNvbnN0IGNoaWxkcmVuID0gZGF0YS5maWx0ZXIoKHgpID0+IHgucGlkID09PSBuZC5pZCk7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZHJlbikpIHJldHVybjtcclxuICAgICAgZm9yIChsZXQgY2hpbGQgb2YgY2hpbGRyZW4pIHtcclxuICAgICAgICByZXMucHVzaChjaGlsZCk7XHJcbiAgICAgICAgZ0NoaWxkcmVuKGNoaWxkKTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdDaGlsZHJlbihub2RlKTtcclxuXHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFyZW50cyhkYXRhOiBYVHJlZU5vZGVbXSwgbm9kZTogWFRyZWVOb2RlKSB7XHJcbiAgICBjb25zdCByZXM6IFhUcmVlTm9kZVtdID0gW107XHJcbiAgICBjb25zdCBnUGFyZW50ID0gKG5kOiBYVHJlZU5vZGUpID0+IHtcclxuICAgICAgaWYgKCFuZC5waWQpIHJldHVybjtcclxuICAgICAgY29uc3QgcGFyZW50ID0gZGF0YS5maW5kKCh4KSA9PiB4LmlkID09PSBuZC5waWQpO1xyXG4gICAgICBpZiAoIXBhcmVudCkgcmV0dXJuO1xyXG4gICAgICByZXMucHVzaChwYXJlbnQpO1xyXG4gICAgICBnUGFyZW50KHBhcmVudCk7XHJcbiAgICB9O1xyXG4gICAgZ1BhcmVudChub2RlKTtcclxuXHJcbiAgICByZXR1cm4gcmVzO1xyXG4gIH1cclxuXHJcbiAgZ2V0T3BlbkNoaWxkcmVuKGRhdGE6IFhUcmVlTm9kZVtdLCBub2RlOiBYVHJlZU5vZGUpIHtcclxuICAgIGNvbnN0IHJlczogWFRyZWVOb2RlW10gPSBbXTtcclxuICAgIGNvbnN0IGdDaGlsZHJlbiA9IChuZDogWFRyZWVOb2RlKSA9PiB7XHJcbiAgICAgIGlmICghbmQub3BlbikgcmV0dXJuO1xyXG4gICAgICBjb25zdCBjaGlsZHJlbiA9IGRhdGEuZmlsdGVyKCh4KSA9PiB4LnBpZCA9PT0gbmQuaWQpO1xyXG4gICAgICBpZiAoWElzRW1wdHkoY2hpbGRyZW4pKSByZXR1cm47XHJcbiAgICAgIGZvciAobGV0IGNoaWxkIG9mIGNoaWxkcmVuKSB7XHJcbiAgICAgICAgcmVzLnB1c2goY2hpbGQpO1xyXG4gICAgICAgIGdDaGlsZHJlbihjaGlsZCk7XHJcbiAgICAgIH1cclxuICAgIH07XHJcbiAgICBnQ2hpbGRyZW4obm9kZSk7XHJcblxyXG4gICAgcmV0dXJuIHJlcztcclxuICB9XHJcblxyXG4gIG1vdmVOb2RlKGRhdGE6IFhUcmVlTm9kZVtdLCBmcm9tOiBYVHJlZU5vZGUsIHRvOiBYVHJlZU5vZGUsIHBvczogLTEgfCAxKSB7XHJcbiAgICBpZiAoWElzRW1wdHkoZGF0YSkpIHJldHVybjtcclxuICAgIGNvbnN0IGZvcm1JbmRleCA9IGRhdGEuZmluZEluZGV4KCh4KSA9PiB4LmlkID09PSBmcm9tLmlkKTtcclxuICAgIGNvbnN0IHRvSW5kZXggPSBkYXRhLmZpbmRJbmRleCgoeCkgPT4geC5pZCA9PT0gdG8uaWQpO1xyXG4gICAgWFJlbW92ZShkYXRhLCAoeCkgPT4geC5pZCA9PT0gZnJvbS5pZCk7XHJcbiAgICBpZiAoZnJvbS5waWQgPT09IHRvLnBpZCkge1xyXG4gICAgICBjb25zdCBpbmRleCA9IHRvSW5kZXggPiBmb3JtSW5kZXggPyB0b0luZGV4IC0gMSA6IHRvSW5kZXg7XHJcbiAgICAgIGRhdGEuc3BsaWNlKHBvcyA9PT0gLTEgPyBpbmRleCA6IGluZGV4ICsgMSwgMCwgZnJvbSk7XHJcbiAgICB9IGVsc2UgaWYgKGZyb20ucGlkICE9PSB0by5waWQpIHtcclxuICAgICAgZnJvbS5waWQgPSB0by5waWQ7XHJcbiAgICAgIGNvbnN0IGRpZmZMZXZlbCA9IHRvLmxldmVsISAtIGZyb20ubGV2ZWwhO1xyXG4gICAgICBmcm9tLmxldmVsID0gdG8ubGV2ZWw7XHJcbiAgICAgIGNvbnN0IGZyb21DaGlsZHJlbiA9IHRoaXMuZ2V0Q2hpbGRyZW4oZGF0YSwgZnJvbSk7XHJcbiAgICAgIGZyb21DaGlsZHJlbi5mb3JFYWNoKCh4KSA9PiB7XHJcbiAgICAgICAgeC5sZXZlbCA9IHgubGV2ZWwhICsgZGlmZkxldmVsO1xyXG4gICAgICB9KTtcclxuICAgICAgY29uc3QgaW5kZXggPSB0b0luZGV4ID4gZm9ybUluZGV4ID8gdG9JbmRleCAtIDEgOiB0b0luZGV4O1xyXG4gICAgICBkYXRhLnNwbGljZShwb3MgPT09IC0xID8gaW5kZXggOiBpbmRleCArIDEsIDAsIGZyb20pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG4iXX0=
@@ -51,8 +51,7 @@ export class XTreeFileComponent extends XTreeFileProperty {
51
51
  this.loading = true;
52
52
  this.cdr.detectChanges();
53
53
  this.activatedNode = node;
54
- node.fileType = XTreeFileImgs.indexOf(node.type.toLowerCase()) !== -1 ? 'img' : 'code';
55
- node.crumbData = this.setCurmbData(node);
54
+ this.setNode(node);
56
55
  node.url = node.url?.indexOf(this.domain) === 0 ? node.url : `${this.domain}/${node.url}`;
57
56
  switch (node.fileType) {
58
57
  case 'code':
@@ -73,9 +72,21 @@ export class XTreeFileComponent extends XTreeFileProperty {
73
72
  }
74
73
  else {
75
74
  this.activatedNode = node;
75
+ this.setNode(this.activatedNode);
76
76
  this.cdr.detectChanges();
77
77
  }
78
78
  }
79
+ setNode(node) {
80
+ if (!node.type) {
81
+ node.type = 'bash';
82
+ }
83
+ if (!node.fileType) {
84
+ node.fileType = XTreeFileImgs.indexOf(node.type.toLowerCase()) !== -1 ? 'img' : 'code';
85
+ }
86
+ if (!node.crumbData) {
87
+ node.crumbData = this.setCurmbData(node);
88
+ }
89
+ }
79
90
  imgOnload() {
80
91
  this.loading = false;
81
92
  this.cdr.detectChanges();
@@ -107,4 +118,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
107
118
  }], ctorParameters: function () { return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: i1.HttpClient, decorators: [{
108
119
  type: Optional
109
120
  }] }, { type: i2.XConfigService }]; } });
110
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUtZmlsZS90cmVlLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJlZS1maWxlL3RyZWUtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUE0Qyx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBaUIsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEcsT0FBTyxFQUFFLFFBQVEsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBVXZDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFzQnZELFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDVixJQUFnQixFQUM1QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5ELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQXpCdEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBMEJwQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLGVBQWUsa0ZBQWtGLENBQUMsQ0FBQztTQUN2SDtJQUNILENBQUM7SUEzQkQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxNQUFNLENB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O1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSUFoR1Usa0JBQWtCO3NIQUFsQixrQkFBa0IsMEVDZi9CLG04Q0FnQ0E7MkZEakJhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxHQUFHLGVBQWUsRUFBRSxpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE0QjVDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRyZWVGaWxlUHJlZml4LCBYVHJlZUZpbGVQcm9wZXJ0eSwgWFRyZWVGaWxlTm9kZSwgWFRyZWVGaWxlSW1ncyB9IGZyb20gJy4vdHJlZS1maWxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhDcnVtYk5vZGUgfSBmcm9tICdAbmctbmVzdC91aS9jcnVtYic7XHJcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYSGlnaGxpZ2h0TGluZXMgfSBmcm9tICdAbmctbmVzdC91aS9oaWdobGlnaHQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUcmVlRmlsZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyZWUtZmlsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlRmlsZUNvbXBvbmVudCBleHRlbmRzIFhUcmVlRmlsZVByb3BlcnR5IHtcclxuICBhY3RpdmF0ZWROb2RlPzogWFRyZWVGaWxlTm9kZTtcclxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdGltZSE6IG51bWJlcjtcclxuICB0aW1lb3V0OiBudW1iZXIgPSAyMDA7XHJcblxyXG4gIGdldCBjYXRhbG9nSGVpZ2h0KCkge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLm1heEhlaWdodCk7XHJcbiAgfVxyXG5cclxuICBnZXQgY29kZUhlaWdodCgpIHtcclxuICAgIHJldHVybiBOdW1iZXIodGhpcy5tYXhIZWlnaHQpIC0gKEJvb2xlYW4odGhpcy5zaG93Q3J1bWIpID8gMS41IDogMCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0Q3J1bWJEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVkTm9kZT8uY3J1bWJEYXRhIGFzIFhDcnVtYk5vZGVbXTtcclxuICB9XHJcblxyXG4gIGdldCBnZXRIaWdobGlnaHRMaW5lcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2YXRlZE5vZGU/LmhpZ2hsaWdodExpbmVzIGFzIFhIaWdobGlnaHRMaW5lcztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKCFodHRwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtYVHJlZUZpbGVQcmVmaXh9OiBOb3QgZm91bmQgJ0h0dHBDbGllbnQnLCBZb3UgY2FuIGltcG9ydCAnSHR0cENsaWVudE1vZHVsZScgaW4geW91ciByb290IG1vZHVsZS5gKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLnNob3dUcmVlICYmIHRoaXMuYWN0aXZhdGVkSWQpIHtcclxuICAgICAgdGhpcy5jYXRhbG9nQ2hhbmdlKCh0aGlzLmRhdGEgYXMgWFRyZWVGaWxlTm9kZVtdKS5maW5kKCh4KSA9PiB4LmlkID09IHRoaXMuYWN0aXZhdGVkSWQpIGFzIFhUcmVlRmlsZU5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2F0YWxvZ0NoYW5nZShub2RlOiBYVHJlZUZpbGVOb2RlKSB7XHJcbiAgICBpZiAoIW5vZGU/LmxlYWYgJiYgdGhpcy5zaG93VHJlZSkgcmV0dXJuO1xyXG4gICAgaWYgKG5vZGUudXJsICYmICFub2RlLmNvbnRlbnRMb2FkZWQpIHtcclxuICAgICAgdGhpcy50aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWROb2RlID0gbm9kZTtcclxuICAgICAgbm9kZS5maWxlVHlwZSA9IFhUcmVlRmlsZUltZ3MuaW5kZXhPZigobm9kZS50eXBlIGFzIHN0cmluZykudG9Mb3dlckNhc2UoKSkgIT09IC0xID8gJ2ltZycgOiAnY29kZSc7XHJcbiAgICAgIG5vZGUuY3J1bWJEYXRhID0gdGhpcy5zZXRDdXJtYkRhdGEobm9kZSk7XHJcbiAgICAgIG5vZGUudXJsID0gbm9kZS51cmw/LmluZGV4T2YodGhpcy5kb21haW4pID09PSAwID8gbm9kZS51cmwgOiBgJHt0aGlzLmRvbWFpbn0vJHtub2RlLnVybH1gO1xyXG4gICAgICBzd2l0Y2ggKG5vZGUuZmlsZVR5cGUpIHtcclxuICAgICAgICBjYXNlICdjb2RlJzpcclxuICAgICAgICAgIHRoaXMuaHR0cFxyXG4gICAgICAgICAgICAuZ2V0KG5vZGUudXJsLCB7IHJlc3BvbnNlVHlwZTogJ3RleHQnIH0pXHJcbiAgICAgICAgICAgIC5waXBlKGRlbGF5KG5ldyBEYXRlKCkuZ2V0VGltZSgpIC0gdGhpcy50aW1lID4gdGhpcy50aW1lb3V0ID8gMCA6IHRoaXMudGltZW91dCAtIG5ldyBEYXRlKCkuZ2V0VGltZSgpICsgdGhpcy50aW1lKSlcclxuICAgICAgICAgICAgLnN1YnNjcmliZSgoeCkgPT4ge1xyXG4gICAgICAgICAgICAgIG5vZGUuY29udGVudCA9IHg7XHJcbiAgICAgICAgICAgICAgbm9kZS5jb250ZW50TG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSAnaW1nJzpcclxuICAgICAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmFjdGl2YXRlZE5vZGUgPSBub2RlO1xyXG4gICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBpbWdPbmxvYWQoKSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICB9XHJcblxyXG4gIHNldEN1cm1iRGF0YShub2RlOiBYVHJlZUZpbGVOb2RlKSB7XHJcbiAgICBsZXQgY3J1bWJEYXRhOiBYQ3J1bWJOb2RlW10gPSBbeyBpZDogbm9kZS5pZCwgbGFiZWw6IG5vZGUubGFiZWwgfV07XHJcbiAgICBjb25zdCBnZXRQYXJlbnQgPSAoY2hpbGQ6IFhUcmVlRmlsZU5vZGUpID0+IHtcclxuICAgICAgaWYgKFhJc0VtcHR5KGNoaWxkLnBpZCkpIHJldHVybjtcclxuICAgICAgY29uc3QgcGFyZW50ID0gKHRoaXMuZGF0YSBhcyBYVHJlZUZpbGVOb2RlW10pLmZpbmQoKHgpID0+IHguaWQgPT09IGNoaWxkLnBpZCkgYXMgWFRyZWVGaWxlTm9kZTtcclxuICAgICAgaWYgKCFYSXNFbXB0eShwYXJlbnQpKSB7XHJcbiAgICAgICAgY3J1bWJEYXRhID0gW3sgaWQ6IHBhcmVudC5pZCwgbGFiZWw6IHBhcmVudC5sYWJlbCB9LCAuLi5jcnVtYkRhdGFdO1xyXG4gICAgICAgIGdldFBhcmVudChwYXJlbnQpO1xyXG4gICAgICB9XHJcbiAgICB9O1xyXG4gICAgZ2V0UGFyZW50KG5vZGUpO1xyXG5cclxuICAgIHJldHVybiBjcnVtYkRhdGE7XHJcbiAgfVxyXG5cclxuICBtZW51VG9nZ2xlKCkge1xyXG4gICAgdGhpcy50b2dnbGUgPSAhdGhpcy50b2dnbGU7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgI3RyZWVGaWxlIGNsYXNzPVwieC10cmVlLWZpbGVcIiBbbmdDbGFzc109XCJjbGFzc01hcFwiIFtjbGFzcy54LXRyZWUtZmlsZS10b2dnbGVdPVwidG9nZ2xlXCI+XHJcbiAgPGRpdiBjbGFzcz1cIngtdHJlZS1maWxlLWNhdGFsb2dcIiBbc3R5bGUubWF4LWhlaWdodC5yZW1dPVwiY2F0YWxvZ0hlaWdodFwiICpuZ0lmPVwic2hvd1RyZWVcIj5cclxuICAgIDx4LXRyZWVcclxuICAgICAgW2RhdGFdPVwiZGF0YVwiXHJcbiAgICAgIChhY3RpdmF0ZWRDaGFuZ2UpPVwiY2F0YWxvZ0NoYW5nZSgkZXZlbnQpXCJcclxuICAgICAgbm9kZU9wZW5cclxuICAgICAgW2V4cGFuZGVkQWxsXT1cImV4cGFuZGVkQWxsXCJcclxuICAgICAgW2V4cGFuZGVkTGV2ZWxdPVwiZXhwYW5kZWRMZXZlbFwiXHJcbiAgICAgIFtleHBhbmRlZF09XCJleHBhbmRlZFwiXHJcbiAgICAgIFtzcGFjaW5nXT1cInNwYWNpbmdcIlxyXG4gICAgICBbYWN0aXZhdGVkSWRdPVwiYWN0aXZhdGVkSWRcIlxyXG4gICAgPjwveC10cmVlPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRyZWUtZmlsZS1ib2R5XCIgW3gtbG9hZGluZ109XCJsb2FkaW5nXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC10cmVlLWZpbGUtY3J1bWJcIiAqbmdJZj1cInNob3dDcnVtYlwiPlxyXG4gICAgICA8eC1saW5rIGljb249XCJmdG8tbWVudVwiICpuZ0lmPVwic2hvd1RvZ2dsZSAmJiBzaG93VHJlZVwiIChjbGljayk9XCJtZW51VG9nZ2xlKClcIj48L3gtbGluaz5cclxuICAgICAgPHgtY3J1bWIgW2RhdGFdPVwiZ2V0Q3J1bWJEYXRhXCIgW3NlcGFyYXRvcl09XCJzZXBhcmF0b3JUcGxcIj48L3gtY3J1bWI+XHJcbiAgICAgIDxuZy10ZW1wbGF0ZSAjc2VwYXJhdG9yVHBsPlxyXG4gICAgICAgIDx4LWljb24gdHlwZT1cImZ0by1jaGV2cm9uLXJpZ2h0XCI+PC94LWljb24+XHJcbiAgICAgIDwvbmctdGVtcGxhdGU+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJ4LXRyZWUtZmlsZS1jb250ZW50XCIgW3N0eWxlLm1heC1oZWlnaHQucmVtXT1cImNvZGVIZWlnaHRcIiBbbmdTd2l0Y2hdPVwiYWN0aXZhdGVkTm9kZT8uZmlsZVR5cGVcIj5cclxuICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ2ltZydcIiBjbGFzcz1cIngtdHJlZS1maWxlLWltZ1wiPjxpbWcgW3NyY109XCJhY3RpdmF0ZWROb2RlPy51cmxcIiAobG9hZCk9XCJpbWdPbmxvYWQoKVwiLz48L2Rpdj5cclxuICAgICAgPHgtaGlnaGxpZ2h0XHJcbiAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidjb2RlJ1wiXHJcbiAgICAgICAgW3R5cGVdPVwiYWN0aXZhdGVkTm9kZT8udHlwZVwiXHJcbiAgICAgICAgW2RhdGFdPVwiYWN0aXZhdGVkTm9kZT8uY29udGVudFwiXHJcbiAgICAgICAgW2hpZ2hsaWdodExpbmVzXT1cImdldEhpZ2hsaWdodExpbmVzXCJcclxuICAgICAgPjwveC1oaWdobGlnaHQ+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
121
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJlZS1maWxlLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL2xpYi9uZy1uZXN0L3VpL3RyZWUtZmlsZS90cmVlLWZpbGUuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vbGliL25nLW5lc3QvdWkvdHJlZS1maWxlL3RyZWUtZmlsZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLGlCQUFpQixFQUE0Qyx1QkFBdUIsRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDMUksT0FBTyxFQUFFLGVBQWUsRUFBRSxpQkFBaUIsRUFBaUIsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFFeEcsT0FBTyxFQUFFLFFBQVEsRUFBa0IsTUFBTSxrQkFBa0IsQ0FBQztBQUU1RCxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0FBVXZDLE1BQU0sT0FBTyxrQkFBbUIsU0FBUSxpQkFBaUI7SUFzQnZELFlBQ1MsUUFBbUIsRUFDbkIsVUFBbUMsRUFDbkMsR0FBc0IsRUFDVixJQUFnQixFQUM1QixhQUE2QjtRQUVwQyxLQUFLLEVBQUUsQ0FBQztRQU5ELGFBQVEsR0FBUixRQUFRLENBQVc7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBeUI7UUFDbkMsUUFBRyxHQUFILEdBQUcsQ0FBbUI7UUFDVixTQUFJLEdBQUosSUFBSSxDQUFZO1FBQzVCLGtCQUFhLEdBQWIsYUFBYSxDQUFnQjtRQXpCdEMsWUFBTyxHQUFZLEtBQUssQ0FBQztRQUV6QixZQUFPLEdBQVcsR0FBRyxDQUFDO1FBMEJwQixJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ1QsTUFBTSxJQUFJLEtBQUssQ0FBQyxHQUFHLGVBQWUsa0ZBQWtGLENBQUMsQ0FBQztTQUN2SDtJQUNILENBQUM7SUEzQkQsSUFBSSxhQUFhO1FBQ2YsT0FBTyxNQUFNLENB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Q0FBQztZQUMvRixJQUFJLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxFQUFFO2dCQUNyQixTQUFTLEdBQUcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxNQUFNLENBQUMsRUFBRSxFQUFFLEtBQUssRUFBRSxNQUFNLENBQUMsS0FBSyxFQUFFLEVBQUUsR0FBRyxTQUFTLENBQUMsQ0FBQztnQkFDbkUsU0FBUyxDQUFDLE1BQU0sQ0FBQyxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDO1FBQ0YsU0FBUyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBRWhCLE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDM0IsSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLEVBQUUsQ0FBQztJQUMzQixDQUFDOztrSUE1R1Usa0JBQWtCO3NIQUFsQixrQkFBa0IsMEVDZi9CLG04Q0FnQ0E7MkZEakJhLGtCQUFrQjtrQkFQOUIsU0FBUzsrQkFDRSxHQUFHLGVBQWUsRUFBRSxpQkFHZixpQkFBaUIsQ0FBQyxJQUFJLG1CQUNwQix1QkFBdUIsQ0FBQyxNQUFNOzswQkE0QjVDLFFBQVEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIFZpZXdFbmNhcHN1bGF0aW9uLCBSZW5kZXJlcjIsIEVsZW1lbnRSZWYsIENoYW5nZURldGVjdG9yUmVmLCBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneSwgT3B0aW9uYWwgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgWFRyZWVGaWxlUHJlZml4LCBYVHJlZUZpbGVQcm9wZXJ0eSwgWFRyZWVGaWxlTm9kZSwgWFRyZWVGaWxlSW1ncyB9IGZyb20gJy4vdHJlZS1maWxlLnByb3BlcnR5JztcclxuaW1wb3J0IHsgSHR0cENsaWVudCB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgWElzRW1wdHksIFhDb25maWdTZXJ2aWNlIH0gZnJvbSAnQG5nLW5lc3QvdWkvY29yZSc7XHJcbmltcG9ydCB7IFhDcnVtYk5vZGUgfSBmcm9tICdAbmctbmVzdC91aS9jcnVtYic7XHJcbmltcG9ydCB7IGRlbGF5IH0gZnJvbSAncnhqcy9vcGVyYXRvcnMnO1xyXG5pbXBvcnQgeyBYSGlnaGxpZ2h0TGluZXMgfSBmcm9tICdAbmctbmVzdC91aS9oaWdobGlnaHQnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6IGAke1hUcmVlRmlsZVByZWZpeH1gLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmVlLWZpbGUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3RyZWUtZmlsZS5jb21wb25lbnQuc2NzcyddLFxyXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXHJcbiAgY2hhbmdlRGV0ZWN0aW9uOiBDaGFuZ2VEZXRlY3Rpb25TdHJhdGVneS5PblB1c2hcclxufSlcclxuZXhwb3J0IGNsYXNzIFhUcmVlRmlsZUNvbXBvbmVudCBleHRlbmRzIFhUcmVlRmlsZVByb3BlcnR5IHtcclxuICBhY3RpdmF0ZWROb2RlPzogWFRyZWVGaWxlTm9kZTtcclxuICBsb2FkaW5nOiBib29sZWFuID0gZmFsc2U7XHJcbiAgdGltZSE6IG51bWJlcjtcclxuICB0aW1lb3V0OiBudW1iZXIgPSAyMDA7XHJcblxyXG4gIGdldCBjYXRhbG9nSGVpZ2h0KCkge1xyXG4gICAgcmV0dXJuIE51bWJlcih0aGlzLm1heEhlaWdodCk7XHJcbiAgfVxyXG5cclxuICBnZXQgY29kZUhlaWdodCgpIHtcclxuICAgIHJldHVybiBOdW1iZXIodGhpcy5tYXhIZWlnaHQpIC0gKEJvb2xlYW4odGhpcy5zaG93Q3J1bWIpID8gMS41IDogMCk7XHJcbiAgfVxyXG5cclxuICBnZXQgZ2V0Q3J1bWJEYXRhKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuYWN0aXZhdGVkTm9kZT8uY3J1bWJEYXRhIGFzIFhDcnVtYk5vZGVbXTtcclxuICB9XHJcblxyXG4gIGdldCBnZXRIaWdobGlnaHRMaW5lcygpIHtcclxuICAgIHJldHVybiB0aGlzLmFjdGl2YXRlZE5vZGU/LmhpZ2hsaWdodExpbmVzIGFzIFhIaWdobGlnaHRMaW5lcztcclxuICB9XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHVibGljIHJlbmRlcmVyOiBSZW5kZXJlcjIsXHJcbiAgICBwdWJsaWMgZWxlbWVudFJlZjogRWxlbWVudFJlZjxIVE1MRWxlbWVudD4sXHJcbiAgICBwdWJsaWMgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIEBPcHRpb25hbCgpIHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50LFxyXG4gICAgcHVibGljIGNvbmZpZ1NlcnZpY2U6IFhDb25maWdTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICBzdXBlcigpO1xyXG4gICAgaWYgKCFodHRwKSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihgJHtYVHJlZUZpbGVQcmVmaXh9OiBOb3QgZm91bmQgJ0h0dHBDbGllbnQnLCBZb3UgY2FuIGltcG9ydCAnSHR0cENsaWVudE1vZHVsZScgaW4geW91ciByb290IG1vZHVsZS5gKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLnNob3dUcmVlICYmIHRoaXMuYWN0aXZhdGVkSWQpIHtcclxuICAgICAgdGhpcy5jYXRhbG9nQ2hhbmdlKCh0aGlzLmRhdGEgYXMgWFRyZWVGaWxlTm9kZVtdKS5maW5kKCh4KSA9PiB4LmlkID09IHRoaXMuYWN0aXZhdGVkSWQpIGFzIFhUcmVlRmlsZU5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgY2F0YWxvZ0NoYW5nZShub2RlOiBYVHJlZUZpbGVOb2RlKSB7XHJcbiAgICBpZiAoIW5vZGU/LmxlYWYgJiYgdGhpcy5zaG93VHJlZSkgcmV0dXJuO1xyXG4gICAgaWYgKG5vZGUudXJsICYmICFub2RlLmNvbnRlbnRMb2FkZWQpIHtcclxuICAgICAgdGhpcy50aW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCk7XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWROb2RlID0gbm9kZTtcclxuICAgICAgdGhpcy5zZXROb2RlKG5vZGUpO1xyXG4gICAgICBub2RlLnVybCA9IG5vZGUudXJsPy5pbmRleE9mKHRoaXMuZG9tYWluKSA9PT0gMCA/IG5vZGUudXJsIDogYCR7dGhpcy5kb21haW59LyR7bm9kZS51cmx9YDtcclxuICAgICAgc3dpdGNoIChub2RlLmZpbGVUeXBlKSB7XHJcbiAgICAgICAgY2FzZSAnY29kZSc6XHJcbiAgICAgICAgICB0aGlzLmh0dHBcclxuICAgICAgICAgICAgLmdldChub2RlLnVybCwgeyByZXNwb25zZVR5cGU6ICd0ZXh0JyB9KVxyXG4gICAgICAgICAgICAucGlwZShkZWxheShuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHRoaXMudGltZSA+IHRoaXMudGltZW91dCA/IDAgOiB0aGlzLnRpbWVvdXQgLSBuZXcgRGF0ZSgpLmdldFRpbWUoKSArIHRoaXMudGltZSkpXHJcbiAgICAgICAgICAgIC5zdWJzY3JpYmUoKHgpID0+IHtcclxuICAgICAgICAgICAgICBub2RlLmNvbnRlbnQgPSB4O1xyXG4gICAgICAgICAgICAgIG5vZGUuY29udGVudExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgICB9KTtcclxuICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgJ2ltZyc6XHJcbiAgICAgICAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICBicmVhaztcclxuICAgICAgfVxyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5hY3RpdmF0ZWROb2RlID0gbm9kZTtcclxuICAgICAgdGhpcy5zZXROb2RlKHRoaXMuYWN0aXZhdGVkTm9kZSk7XHJcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNldE5vZGUobm9kZTogWFRyZWVGaWxlTm9kZSkge1xyXG4gICAgaWYgKCFub2RlLnR5cGUpIHtcclxuICAgICAgbm9kZS50eXBlID0gJ2Jhc2gnO1xyXG4gICAgfVxyXG4gICAgaWYgKCFub2RlLmZpbGVUeXBlKSB7XHJcbiAgICAgIG5vZGUuZmlsZVR5cGUgPSBYVHJlZUZpbGVJbWdzLmluZGV4T2YoKG5vZGUudHlwZSBhcyBzdHJpbmcpLnRvTG93ZXJDYXNlKCkpICE9PSAtMSA/ICdpbWcnIDogJ2NvZGUnO1xyXG4gICAgfVxyXG4gICAgaWYgKCFub2RlLmNydW1iRGF0YSkge1xyXG4gICAgICBub2RlLmNydW1iRGF0YSA9IHRoaXMuc2V0Q3VybWJEYXRhKG5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaW1nT25sb2FkKCkge1xyXG4gICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICB0aGlzLmNkci5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRDdXJtYkRhdGEobm9kZTogWFRyZWVGaWxlTm9kZSkge1xyXG4gICAgbGV0IGNydW1iRGF0YTogWENydW1iTm9kZVtdID0gW3sgaWQ6IG5vZGUuaWQsIGxhYmVsOiBub2RlLmxhYmVsIH1dO1xyXG4gICAgY29uc3QgZ2V0UGFyZW50ID0gKGNoaWxkOiBYVHJlZUZpbGVOb2RlKSA9PiB7XHJcbiAgICAgIGlmIChYSXNFbXB0eShjaGlsZC5waWQpKSByZXR1cm47XHJcbiAgICAgIGNvbnN0IHBhcmVudCA9ICh0aGlzLmRhdGEgYXMgWFRyZWVGaWxlTm9kZVtdKS5maW5kKCh4KSA9PiB4LmlkID09PSBjaGlsZC5waWQpIGFzIFhUcmVlRmlsZU5vZGU7XHJcbiAgICAgIGlmICghWElzRW1wdHkocGFyZW50KSkge1xyXG4gICAgICAgIGNydW1iRGF0YSA9IFt7IGlkOiBwYXJlbnQuaWQsIGxhYmVsOiBwYXJlbnQubGFiZWwgfSwgLi4uY3J1bWJEYXRhXTtcclxuICAgICAgICBnZXRQYXJlbnQocGFyZW50KTtcclxuICAgICAgfVxyXG4gICAgfTtcclxuICAgIGdldFBhcmVudChub2RlKTtcclxuXHJcbiAgICByZXR1cm4gY3J1bWJEYXRhO1xyXG4gIH1cclxuXHJcbiAgbWVudVRvZ2dsZSgpIHtcclxuICAgIHRoaXMudG9nZ2xlID0gIXRoaXMudG9nZ2xlO1xyXG4gICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2ICN0cmVlRmlsZSBjbGFzcz1cIngtdHJlZS1maWxlXCIgW25nQ2xhc3NdPVwiY2xhc3NNYXBcIiBbY2xhc3MueC10cmVlLWZpbGUtdG9nZ2xlXT1cInRvZ2dsZVwiPlxyXG4gIDxkaXYgY2xhc3M9XCJ4LXRyZWUtZmlsZS1jYXRhbG9nXCIgW3N0eWxlLm1heC1oZWlnaHQucmVtXT1cImNhdGFsb2dIZWlnaHRcIiAqbmdJZj1cInNob3dUcmVlXCI+XHJcbiAgICA8eC10cmVlXHJcbiAgICAgIFtkYXRhXT1cImRhdGFcIlxyXG4gICAgICAoYWN0aXZhdGVkQ2hhbmdlKT1cImNhdGFsb2dDaGFuZ2UoJGV2ZW50KVwiXHJcbiAgICAgIG5vZGVPcGVuXHJcbiAgICAgIFtleHBhbmRlZEFsbF09XCJleHBhbmRlZEFsbFwiXHJcbiAgICAgIFtleHBhbmRlZExldmVsXT1cImV4cGFuZGVkTGV2ZWxcIlxyXG4gICAgICBbZXhwYW5kZWRdPVwiZXhwYW5kZWRcIlxyXG4gICAgICBbc3BhY2luZ109XCJzcGFjaW5nXCJcclxuICAgICAgW2FjdGl2YXRlZElkXT1cImFjdGl2YXRlZElkXCJcclxuICAgID48L3gtdHJlZT5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwieC10cmVlLWZpbGUtYm9keVwiIFt4LWxvYWRpbmddPVwibG9hZGluZ1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cIngtdHJlZS1maWxlLWNydW1iXCIgKm5nSWY9XCJzaG93Q3J1bWJcIj5cclxuICAgICAgPHgtbGluayBpY29uPVwiZnRvLW1lbnVcIiAqbmdJZj1cInNob3dUb2dnbGUgJiYgc2hvd1RyZWVcIiAoY2xpY2spPVwibWVudVRvZ2dsZSgpXCI+PC94LWxpbms+XHJcbiAgICAgIDx4LWNydW1iIFtkYXRhXT1cImdldENydW1iRGF0YVwiIFtzZXBhcmF0b3JdPVwic2VwYXJhdG9yVHBsXCI+PC94LWNydW1iPlxyXG4gICAgICA8bmctdGVtcGxhdGUgI3NlcGFyYXRvclRwbD5cclxuICAgICAgICA8eC1pY29uIHR5cGU9XCJmdG8tY2hldnJvbi1yaWdodFwiPjwveC1pY29uPlxyXG4gICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwieC10cmVlLWZpbGUtY29udGVudFwiIFtzdHlsZS5tYXgtaGVpZ2h0LnJlbV09XCJjb2RlSGVpZ2h0XCIgW25nU3dpdGNoXT1cImFjdGl2YXRlZE5vZGU/LmZpbGVUeXBlXCI+XHJcbiAgICAgIDxkaXYgKm5nU3dpdGNoQ2FzZT1cIidpbWcnXCIgY2xhc3M9XCJ4LXRyZWUtZmlsZS1pbWdcIj48aW1nIFtzcmNdPVwiYWN0aXZhdGVkTm9kZT8udXJsXCIgKGxvYWQpPVwiaW1nT25sb2FkKClcIi8+PC9kaXY+XHJcbiAgICAgIDx4LWhpZ2hsaWdodFxyXG4gICAgICAgICpuZ1N3aXRjaENhc2U9XCInY29kZSdcIlxyXG4gICAgICAgIFt0eXBlXT1cImFjdGl2YXRlZE5vZGU/LnR5cGVcIlxyXG4gICAgICAgIFtkYXRhXT1cImFjdGl2YXRlZE5vZGU/LmNvbnRlbnRcIlxyXG4gICAgICAgIFtoaWdobGlnaHRMaW5lc109XCJnZXRIaWdobGlnaHRMaW5lc1wiXHJcbiAgICAgID48L3gtaGlnaGxpZ2h0PlxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG4iXX0=
@@ -6,7 +6,7 @@ import { XProperty, XWithConfig, computedStyle, XIsEmpty, XIsUndefined, XIsNumbe
6
6
  import * as i2 from '@angular/common';
7
7
  import { DOCUMENT, CommonModule } from '@angular/common';
8
8
  import { Subject, fromEvent } from 'rxjs';
9
- import { throttleTime, takeUntil } from 'rxjs/operators';
9
+ import { distinctUntilChanged, takeUntil, throttleTime } from 'rxjs/operators';
10
10
  import * as i3 from '@ng-nest/ui/affix';
11
11
  import { XAffixModule } from '@ng-nest/ui/affix';
12
12
  import * as i4 from '@ng-nest/ui/slider';
@@ -46,7 +46,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
46
46
  type: Input
47
47
  }], justify: [{
48
48
  type: Input
49
- }] } });
49
+ }] } });
50
+ /**
51
+ * Anchor inner
52
+ * @selector x-anchor-inner
53
+ * @decorator component
54
+ */
55
+ const XAnchorInnerPrefix = 'x-anchor-inner';
56
+ /**
57
+ * Anchor inner Property
58
+ */
59
+ class XAnchorInnerProperty {
60
+ }
61
+ /** @nocollapse */ XAnchorInnerProperty.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorInnerProperty, deps: [], target: i0.ɵɵFactoryTarget.Component });
62
+ /** @nocollapse */ XAnchorInnerProperty.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAnchorInnerProperty, selector: "ng-component", ngImport: i0, template: '', isInline: true });
63
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorInnerProperty, decorators: [{
64
+ type: Component,
65
+ args: [{ template: '' }]
66
+ }] });
50
67
 
51
68
  class XAnchorComponent extends XAnchorProperty {
52
69
  constructor(renderer, elementRef, cdr, doc, configService) {
@@ -57,11 +74,15 @@ class XAnchorComponent extends XAnchorProperty {
57
74
  this.configService = configService;
58
75
  this.sliderData = [];
59
76
  this.activatedIndex = 0;
77
+ this.contentChange = new Subject();
60
78
  this._scrolling = false;
61
79
  this._unSubject = new Subject();
62
80
  this.document = doc;
63
81
  this._fontSize = parseFloat(computedStyle(this.document.documentElement, 'font-size'));
64
82
  }
83
+ ngAfterContentChecked() {
84
+ this.contentChange.next(this.elementRef.nativeElement.innerHTML);
85
+ }
65
86
  ngOnInit() {
66
87
  this.setClassMap();
67
88
  this.setSliderData();
@@ -69,6 +90,11 @@ class XAnchorComponent extends XAnchorProperty {
69
90
  }
70
91
  ngAfterViewInit() {
71
92
  this.setScroll();
93
+ this.contentChange.pipe(distinctUntilChanged(), takeUntil(this._unSubject)).subscribe(() => {
94
+ this.setSliderData();
95
+ this.setHeight();
96
+ this.cdr.detectChanges();
97
+ });
72
98
  }
73
99
  ngOnDestroy() {
74
100
  this._unSubject.next();
@@ -113,7 +139,7 @@ class XAnchorComponent extends XAnchorProperty {
113
139
  this.cdr.detectChanges();
114
140
  }
115
141
  setSliderData() {
116
- this.hElements = this.content.nativeElement.querySelectorAll(':scope> h1,:scope> h2,:scope> h3,:scope> h4,:scope> h5');
142
+ this.hElements = this.content.nativeElement.querySelectorAll(':scope> h1,:scope> h2,:scope> h3,:scope> h4,:scope> h5,:scope> x-anchor-inner> h1,:scope> x-anchor-inner>h2,:scope> x-anchor-inner>h3,:scope> x-anchor-inner>h4,:scope> x-anchor-inner>h5');
117
143
  if (this.hElements.length > 0) {
118
144
  let list = [];
119
145
  this.hElements.forEach((x, i) => {
@@ -140,12 +166,17 @@ class XAnchorComponent extends XAnchorProperty {
140
166
  }
141
167
  setHeight() {
142
168
  if (this.scroll) {
143
- let height = this.scroll.offsetHeight;
144
- let top = parseFloat(computedStyle(this.scroll, 'padding-top'));
145
- let borderTop = parseFloat(computedStyle(this.scroll, 'border-top'));
146
- let bottom = parseFloat(computedStyle(this.scroll, 'padding-bottom'));
147
- let borderBottom = parseFloat(computedStyle(this.scroll, 'border-bottom'));
148
- this.sliderHeight = height - top - bottom - borderTop - borderBottom - this.getTop();
169
+ if (XIsEmpty(this.sliderData)) {
170
+ this.sliderHeight = 0;
171
+ }
172
+ else {
173
+ let height = this.scroll.offsetHeight;
174
+ let top = parseFloat(computedStyle(this.scroll, 'padding-top'));
175
+ let borderTop = parseFloat(computedStyle(this.scroll, 'border-top'));
176
+ let bottom = parseFloat(computedStyle(this.scroll, 'padding-bottom'));
177
+ let borderBottom = parseFloat(computedStyle(this.scroll, 'border-bottom'));
178
+ this.sliderHeight = height - top - bottom - borderTop - borderBottom - this.getTop();
179
+ }
149
180
  }
150
181
  }
151
182
  getTop() {
@@ -175,10 +206,10 @@ class XAnchorComponent extends XAnchorProperty {
175
206
  }
176
207
  }
177
208
  /** @nocollapse */ XAnchorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorComponent, deps: [{ token: i0.Renderer2 }, { token: i0.ElementRef }, { token: i0.ChangeDetectorRef }, { token: DOCUMENT }, { token: i1.XConfigService }], target: i0.ɵɵFactoryTarget.Component });
178
- /** @nocollapse */ XAnchorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAnchorComponent, selector: "x-anchor", viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left;overflow:hidden}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.XAffixComponent, selector: "x-affix" }, { kind: "component", type: i4.XSliderComponent, selector: "x-slider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
209
+ /** @nocollapse */ XAnchorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAnchorComponent, selector: "x-anchor", viewQueries: [{ propertyName: "anchor", first: true, predicate: ["anchor"], descendants: true, static: true }, { propertyName: "content", first: true, predicate: ["content"], descendants: true, static: true }], usesInheritance: true, ngImport: i0, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-slider .x-slider{overflow:hidden}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"], dependencies: [{ kind: "directive", type: i2.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i3.XAffixComponent, selector: "x-affix" }, { kind: "component", type: i4.XSliderComponent, selector: "x-slider" }], changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
179
210
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorComponent, decorators: [{
180
211
  type: Component,
181
- args: [{ selector: `${XAnchorPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left;overflow:hidden}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"] }]
212
+ args: [{ selector: `${XAnchorPrefix}`, encapsulation: ViewEncapsulation.None, changeDetection: ChangeDetectionStrategy.OnPush, template: "<div #anchor class=\"x-anchor\" [ngClass]=\"classMap\">\r\n <div #content class=\"x-anchor-content\">\r\n <ng-content></ng-content>\r\n </div>\r\n <x-affix class=\"x-anchor-affix\" [top]=\"affixTop\">\r\n <div class=\"x-anchor-slider\" [style.height.px]=\"sliderHeight\">\r\n <x-slider\r\n [data]=\"sliderData\"\r\n layout=\"column\"\r\n [activatedIndex]=\"activatedIndex\"\r\n [nodeJustify]=\"justify\"\r\n [nodeTpl]=\"sliderNodeTpl\"\r\n [showAnchor]=\"true\"\r\n (indexChange)=\"activatedChange($event)\"\r\n ></x-slider>\r\n </div>\r\n </x-affix>\r\n</div>\r\n\r\n<ng-template #sliderNodeTpl let-node=\"$node\">\r\n <span [style.padding-left.rem]=\"node.left - 1\">{{ node.label }}</span>\r\n</ng-template>\r\n", styles: [".x-anchor{margin:0;padding:0;display:flex}.x-anchor-content{flex:1}.x-anchor-affix{display:block}.x-anchor-slider{float:left}.x-anchor-slider:hover{overflow-y:auto}.x-anchor-slider .x-slider{overflow:hidden}.x-anchor-right{flex-direction:row}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-left:.125rem solid var(--x-border)}.x-anchor-right .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-left-radius:0;border-bottom-left-radius:0;z-index:2;border-left:.125rem solid var(--x-primary)}.x-anchor-left{flex-direction:row-reverse}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll{overflow-y:auto}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li{border-right:.125rem solid var(--x-border)}.x-anchor-left .x-anchor-slider .x-slider-column>.x-slider-scroll>ul>li.x-slider-highlight{border:none;border-top-right-radius:0;border-bottom-right-radius:0;z-index:2;border-right:.125rem solid var(--x-primary)}\n"] }]
182
213
  }], ctorParameters: function () {
183
214
  return [{ type: i0.Renderer2 }, { type: i0.ElementRef }, { type: i0.ChangeDetectorRef }, { type: undefined, decorators: [{
184
215
  type: Inject,
@@ -192,16 +223,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
192
223
  args: ['content', { static: true }]
193
224
  }] } });
194
225
 
226
+ class XAnchorInnerComponent extends XAnchorInnerProperty {
227
+ }
228
+ /** @nocollapse */ XAnchorInnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorInnerComponent, deps: null, target: i0.ɵɵFactoryTarget.Component });
229
+ /** @nocollapse */ XAnchorInnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "15.0.0", type: XAnchorInnerComponent, selector: "x-anchor-inner", usesInheritance: true, ngImport: i0, template: '<ng-content></ng-content>', isInline: true, changeDetection: i0.ChangeDetectionStrategy.OnPush, encapsulation: i0.ViewEncapsulation.None });
230
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorInnerComponent, decorators: [{
231
+ type: Component,
232
+ args: [{
233
+ selector: `${XAnchorInnerPrefix}`,
234
+ template: '<ng-content></ng-content>',
235
+ encapsulation: ViewEncapsulation.None,
236
+ changeDetection: ChangeDetectionStrategy.OnPush
237
+ }]
238
+ }] });
239
+
195
240
  class XAnchorModule {
196
241
  }
197
242
  /** @nocollapse */ XAnchorModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
198
- /** @nocollapse */ XAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, declarations: [XAnchorComponent, XAnchorProperty], imports: [CommonModule, XAffixModule, XSliderModule], exports: [XAnchorComponent] });
243
+ /** @nocollapse */ XAnchorModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, declarations: [XAnchorComponent, XAnchorProperty, XAnchorInnerComponent, XAnchorInnerProperty], imports: [CommonModule, XAffixModule, XSliderModule], exports: [XAnchorComponent, XAnchorInnerComponent] });
199
244
  /** @nocollapse */ XAnchorModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, imports: [CommonModule, XAffixModule, XSliderModule] });
200
245
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImport: i0, type: XAnchorModule, decorators: [{
201
246
  type: NgModule,
202
247
  args: [{
203
- declarations: [XAnchorComponent, XAnchorProperty],
204
- exports: [XAnchorComponent],
248
+ declarations: [XAnchorComponent, XAnchorProperty, XAnchorInnerComponent, XAnchorInnerProperty],
249
+ exports: [XAnchorComponent, XAnchorInnerComponent],
205
250
  imports: [CommonModule, XAffixModule, XSliderModule]
206
251
  }]
207
252
  }] });
@@ -210,6 +255,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.0.0", ngImpor
210
255
  * Generated bundle index. Do not edit.
211
256
  */
212
257
 
213
- export { XAnchorComponent, XAnchorModule, XAnchorPrefix, XAnchorProperty };
258
+ export { XAnchorComponent, XAnchorInnerComponent, XAnchorInnerPrefix, XAnchorInnerProperty, XAnchorModule, XAnchorPrefix, XAnchorProperty };
214
259
  //# sourceMappingURL=ng-nest-ui-anchor.mjs.map
215
260
  //# sourceMappingURL=ng-nest-ui-anchor.mjs.map