@snabcentr/client-core 3.21.1 → 3.23.0

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.
@@ -13,10 +13,6 @@ export declare class ScCart {
13
13
  * Итоговая стоимость корзины в рублях.
14
14
  */
15
15
  resultSum: ScSum;
16
- /**
17
- * Список итоговых сумм по направлениям продаж.
18
- */
19
- directionsSum: Record<number, ScSum>;
20
16
  /**
21
17
  * Инициализирует экземпляр класса {@link ScCart}.
22
18
  *
@@ -3,5 +3,4 @@ export declare const EMPTY_CART: {
3
3
  result_sum: {
4
4
  rub: number;
5
5
  };
6
- directions_sum: {};
7
6
  };
@@ -12,8 +12,4 @@ export interface ScICart {
12
12
  * Итоговая стоимость корзины в рублях.
13
13
  */
14
14
  resultSum: ScSum;
15
- /**
16
- * Список итоговых сумм по направлениям продаж.
17
- */
18
- directionsSum: Record<number, ScSum>;
19
15
  }
@@ -1,6 +1,5 @@
1
1
  import { Observable } from 'rxjs';
2
2
  import { ScUploadedFile } from '../../contacts/dto/sc-uploaded-file';
3
- import { ScOrder } from '../../order/classes/sc-order';
4
3
  import { ScOrderItem } from '../../order/classes/sc-order-item';
5
4
  import { ScINewOrderItemBase } from '../../order/internal/sc-i-new-order-item-base';
6
5
  import { ScIOrderEditorLoader } from '../../order/internal/sc-i-order-loader';
@@ -92,12 +91,6 @@ export declare class ScCartService implements ScIOrderEditorLoader<ScOrderItem,
92
91
  * @deprecated
93
92
  */
94
93
  getNullCartItems$(): Observable<ScOrderItem[] | ScOrderLoading>;
95
- /**
96
- * Возвращает объект {@link ScCart} корзины, созданный из объекта заказа.
97
- *
98
- * @param order Данные о заказе.
99
- */
100
- getCartByOrder(order: ScOrder): ScCart;
101
94
  /**
102
95
  * Возвращает пример CSV файла для добавления продуктов в корзину.
103
96
  */
@@ -9,10 +9,9 @@ export class ScCart {
9
9
  * @param data Данные для первоначальной инициализации.
10
10
  */
11
11
  // eslint-disable-next-line unicorn/no-object-as-default-parameter
12
- constructor(data = { items: [], resultSum: { rub: 0 }, directionsSum: {} }) {
12
+ constructor(data = { items: [], resultSum: { rub: 0 } }) {
13
13
  this.items = data.items.map((item) => new ScOrderItem(item));
14
14
  this.resultSum = data.resultSum;
15
- this.directionsSum = data.directionsSum;
16
15
  }
17
16
  }
18
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2FydC9jbGFzc2VzL3NjLWNhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFnQmY7Ozs7T0FJRztJQUNILGtFQUFrRTtJQUNsRSxZQUFtQixPQUFnQixFQUFFLEtBQUssRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLEVBQUUsR0FBRyxFQUFFLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSxFQUFFLEVBQUU7UUFDdEYsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7UUFDaEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO0lBQzVDLENBQUM7Q0FDSiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjT3JkZXJJdGVtIH0gZnJvbSAnLi4vLi4vb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1pdGVtJztcbmltcG9ydCB7IFNjSUNhcnQgfSBmcm9tICcuLi9pbnRlcm5hbCc7XG5pbXBvcnQgeyBTY1N1bSB9IGZyb20gJy4nO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQviDRgdC+0LTQtdGA0LbQuNC80L7QvCDQutC+0YDQt9C40L3Riy5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjQ2FydCB7XG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC/0L7Qt9C40YbQuNC5INGC0L7QstCw0YDQvtCyL9GD0YHQu9GD0LMg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICovXG4gICAgcHVibGljIGl0ZW1zOiBTY09yZGVySXRlbVtdO1xuXG4gICAgLyoqXG4gICAgICog0JjRgtC+0LPQvtCy0LDRjyDRgdGC0L7QuNC80L7RgdGC0Ywg0LrQvtGA0LfQuNC90Ysg0LIg0YDRg9Cx0LvRj9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyByZXN1bHRTdW06IFNjU3VtO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC40YLQvtCz0L7QstGL0YUg0YHRg9C80Lwg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGP0Lwg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIHB1YmxpYyBkaXJlY3Rpb25zU3VtOiBSZWNvcmQ8bnVtYmVyLCBTY1N1bT47XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQ2FydH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tb2JqZWN0LWFzLWRlZmF1bHQtcGFyYW1ldGVyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRhdGE6IFNjSUNhcnQgPSB7IGl0ZW1zOiBbXSwgcmVzdWx0U3VtOiB7IHJ1YjogMCB9LCBkaXJlY3Rpb25zU3VtOiB7fSB9KSB7XG4gICAgICAgIHRoaXMuaXRlbXMgPSBkYXRhLml0ZW1zLm1hcCgoaXRlbSkgPT4gbmV3IFNjT3JkZXJJdGVtKGl0ZW0pKTtcbiAgICAgICAgdGhpcy5yZXN1bHRTdW0gPSBkYXRhLnJlc3VsdFN1bTtcbiAgICAgICAgdGhpcy5kaXJlY3Rpb25zU3VtID0gZGF0YS5kaXJlY3Rpb25zU3VtO1xuICAgIH1cbn1cbiJdfQ==
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2FydC9jbGFzc2VzL3NjLWNhcnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBSWhFOztHQUVHO0FBQ0gsTUFBTSxPQUFPLE1BQU07SUFXZjs7OztPQUlHO0lBQ0gsa0VBQWtFO0lBQ2xFLFlBQW1CLE9BQWdCLEVBQUUsS0FBSyxFQUFFLEVBQUUsRUFBRSxTQUFTLEVBQUUsRUFBRSxHQUFHLEVBQUUsQ0FBQyxFQUFFLEVBQUU7UUFDbkUsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDcEMsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NPcmRlckl0ZW0gfSBmcm9tICcuLi8uLi9vcmRlci9jbGFzc2VzL3NjLW9yZGVyLWl0ZW0nO1xuaW1wb3J0IHsgU2NJQ2FydCB9IGZyb20gJy4uL2ludGVybmFsJztcbmltcG9ydCB7IFNjU3VtIH0gZnJvbSAnLic7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0L7QtNC10YDQttC40LzQvtC8INC60L7RgNC30LjQvdGLLlxuICovXG5leHBvcnQgY2xhc3MgU2NDYXJ0IHtcbiAgICAvKipcbiAgICAgKiDQodC/0LjRgdC+0Log0L/QvtC30LjRhtC40Lkg0YLQvtCy0LDRgNC+0LIv0YPRgdC70YPQsyDQsiDQutC+0YDQt9C40L3QtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXRlbXM6IFNjT3JkZXJJdGVtW107XG5cbiAgICAvKipcbiAgICAgKiDQmNGC0L7Qs9C+0LLQsNGPINGB0YLQvtC40LzQvtGB0YLRjCDQutC+0YDQt9C40L3RiyDQsiDRgNGD0LHQu9GP0YUuXG4gICAgICovXG4gICAgcHVibGljIHJlc3VsdFN1bTogU2NTdW07XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjQ2FydH0uXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQu9GPINC/0LXRgNCy0L7QvdCw0YfQsNC70YzQvdC+0Lkg0LjQvdC40YbQuNCw0LvQuNC30LDRhtC40LguXG4gICAgICovXG4gICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHVuaWNvcm4vbm8tb2JqZWN0LWFzLWRlZmF1bHQtcGFyYW1ldGVyXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKGRhdGE6IFNjSUNhcnQgPSB7IGl0ZW1zOiBbXSwgcmVzdWx0U3VtOiB7IHJ1YjogMCB9IH0pIHtcbiAgICAgICAgdGhpcy5pdGVtcyA9IGRhdGEuaXRlbXMubWFwKChpdGVtKSA9PiBuZXcgU2NPcmRlckl0ZW0oaXRlbSkpO1xuICAgICAgICB0aGlzLnJlc3VsdFN1bSA9IGRhdGEucmVzdWx0U3VtO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
- export const EMPTY_CART = { items: [], result_sum: { rub: 0 }, directions_sum: {} };
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZW1wdHktY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2FydC9jb25zdGFudHMvc2MtZW1wdHktY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgRU1QVFlfQ0FSVCA9IHsgaXRlbXM6IFtdLCByZXN1bHRfc3VtOiB7IHJ1YjogMCB9LCBkaXJlY3Rpb25zX3N1bToge30gfTtcbiJdfQ==
1
+ export const EMPTY_CART = { items: [], result_sum: { rub: 0 } };
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtZW1wdHktY2FydC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvY2FydC9jb25zdGFudHMvc2MtZW1wdHktY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxVQUFVLEdBQUcsRUFBRSxLQUFLLEVBQUUsRUFBRSxFQUFFLFVBQVUsRUFBRSxFQUFFLEdBQUcsRUFBRSxDQUFDLEVBQUUsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGNvbnN0IEVNUFRZX0NBUlQgPSB7IGl0ZW1zOiBbXSwgcmVzdWx0X3N1bTogeyBydWI6IDAgfSB9O1xuIl19
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1jYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXJ0L2ludGVybmFsL3NjLWktY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJT3JkZXJJdGVtIH0gZnJvbSAnLi4vLi4vb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1pdGVtJztcbmltcG9ydCB7IFNjU3VtIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0L7QtNC10YDQttC40LzQvtC8INC60L7RgNC30LjQvdGLLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSUNhcnQge1xuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQv9C+0LfQuNGG0LjQuSDRgtC+0LLQsNGA0L7Qsi/Rg9GB0LvRg9CzINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqL1xuICAgIGl0ZW1zOiBTY0lPcmRlckl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqINCY0YLQvtCz0L7QstCw0Y8g0YHRgtC+0LjQvNC+0YHRgtGMINC60L7RgNC30LjQvdGLINCyINGA0YPQsdC70Y/RhS5cbiAgICAgKi9cbiAgICByZXN1bHRTdW06IFNjU3VtO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INC40YLQvtCz0L7QstGL0YUg0YHRg9C80Lwg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGP0Lwg0L/RgNC+0LTQsNC2LlxuICAgICAqL1xuICAgIGRpcmVjdGlvbnNTdW06IFJlY29yZDxudW1iZXIsIFNjU3VtPjtcbn1cbiJdfQ==
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1jYXJ0LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXJ0L2ludGVybmFsL3NjLWktY2FydC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NJT3JkZXJJdGVtIH0gZnJvbSAnLi4vLi4vb3JkZXIvaW50ZXJuYWwvc2MtaS1vcmRlci1pdGVtJztcbmltcG9ydCB7IFNjU3VtIH0gZnJvbSAnLi4vY2xhc3Nlcyc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0L7QtNC10YDQttC40LzQvtC8INC60L7RgNC30LjQvdGLLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSUNhcnQge1xuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDQv9C+0LfQuNGG0LjQuSDRgtC+0LLQsNGA0L7Qsi/Rg9GB0LvRg9CzINCyINC60L7RgNC30LjQvdC1LlxuICAgICAqL1xuICAgIGl0ZW1zOiBTY0lPcmRlckl0ZW1bXTtcblxuICAgIC8qKlxuICAgICAqINCY0YLQvtCz0L7QstCw0Y8g0YHRgtC+0LjQvNC+0YHRgtGMINC60L7RgNC30LjQvdGLINCyINGA0YPQsdC70Y/RhS5cbiAgICAgKi9cbiAgICByZXN1bHRTdW06IFNjU3VtO1xufVxuIl19
@@ -11,7 +11,6 @@ import { ScUserMetrikaGoalsEnum } from '../../user-metrika/enums/sc-user-metrika
11
11
  import { ScUserMetrikaService } from '../../user-metrika/services/sc-user-metrika.service';
12
12
  import { ScWarehouseService } from '../../warehouse';
13
13
  import { ScCart } from '../classes/sc-cart';
14
- import { ScSum } from '../classes/sc-sum';
15
14
  import * as i0 from "@angular/core";
16
15
  /**
17
16
  * Данные о сервисе корзины.
@@ -137,7 +136,7 @@ export class ScCartService {
137
136
  target: ScUserMetrikaGoalsEnum.cartCleared,
138
137
  });
139
138
  }), tap(() => {
140
- this.uiService.removeAllNewOrdersMetadata();
139
+ this.uiService.removeNewOrderMetadata();
141
140
  this.cartCachedItem$.setValue(new ScCart());
142
141
  }));
143
142
  }
@@ -155,19 +154,6 @@ export class ScCartService {
155
154
  getNullCartItems$() {
156
155
  return this.get$().pipe(map((cart) => (cart === loadingPlaceholder ? loadingPlaceholder : cart.items.filter((item) => item.product.isNull || item.product.isHidden))));
157
156
  }
158
- /**
159
- * Возвращает объект {@link ScCart} корзины, созданный из объекта заказа.
160
- *
161
- * @param order Данные о заказе.
162
- */
163
- // eslint-disable-next-line class-methods-use-this
164
- getCartByOrder(order) {
165
- return {
166
- items: order.products,
167
- resultSum: { rub: order.sum },
168
- directionsSum: { [order.salesDirection.id]: new ScSum(order.sum) },
169
- };
170
- }
171
157
  /**
172
158
  * Возвращает пример CSV файла для добавления продуктов в корзину.
173
159
  */
@@ -200,4 +186,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
200
186
  providedIn: 'root',
201
187
  }]
202
188
  }], ctorParameters: () => [] });
203
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXJ0L3NlcnZpY2VzL3NjLWNhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFPcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFrQixNQUFNLDBDQUEwQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7QUFDNUMsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLG1CQUFtQixDQUFDOztBQUcxQzs7R0FFRztBQUlILE1BQU0sT0FBTyxhQUFhO0lBeUN0Qjs7T0FFRztJQUNIO1FBdENBOztXQUVHO1FBQ2MsY0FBUyxHQUFZLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV6RDs7V0FFRztRQUNjLFVBQUssR0FBdUIsTUFBTSxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBRWxFOztXQUVHO1FBQ2MsU0FBSSxHQUFlLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUV2RDs7V0FFRztRQUNjLFNBQUksR0FBWSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFFakQ7O1dBRUc7UUFDYyxjQUFTLEdBQWdCLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUU5RDs7V0FFRztRQUNjLHFCQUFnQixHQUF1QixNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQztRQUVuRjs7V0FFRztRQUNjLHVCQUFrQixHQUF5QixNQUFNLENBQUMsb0JBQW9CLENBQUMsQ0FBQztRQU1yRixJQUFJLElBQUksQ0FBQyxTQUFTLEVBQUUsQ0FBQztZQUNqQixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztZQUMzRixJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDLFFBQVEsRUFBRSxPQUFPLEVBQUUsRUFBRSxDQUFDLFFBQVEsQ0FBQyxFQUFFLEtBQUssT0FBTyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLEdBQUcsRUFBRTtnQkFDcEcsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztZQUNsQyxDQUFDLENBQUMsQ0FBQztRQUNQLENBQUM7YUFBTSxDQUFDO1lBQ0osSUFBSSxDQUFDLGVBQWUsR0FBRyxJQUFJLFlBQVksQ0FBQyxRQUFRLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQzVGLENBQUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSyxZQUFZO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQ2xCLEtBQUssRUFBRSxFQUNQLFNBQVMsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQ2YsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sT0FBTyxDQUFDLENBQUMsSUFBSSxDQUNuRCxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQ3JDLGdIQUFnSDtRQUNoSCxVQUFVLENBQUMsQ0FBQyxLQUFjLEVBQUUsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxPQUFPLElBQUksS0FBSyxZQUFZLGlCQUFpQixJQUFJLENBQUMsQ0FBQyxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxFQUFFLENBQUM7Z0JBQzdGLHFFQUFxRTtnQkFDckUsbURBQW1EO2dCQUNuRCxPQUFPLEVBQUUsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7WUFDNUIsQ0FBQztZQUVELE9BQU8sVUFBVSxDQUFDLEdBQUcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ25DLENBQUMsQ0FBQyxDQUNMLENBQ0osQ0FDSixDQUFDO0lBQ04sQ0FBQztJQUVEOztPQUVHO0lBQ0ksSUFBSTtRQUNQLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxLQUFLLENBQUM7SUFDdEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksU0FBUztRQUNaLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxLQUFLLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLENBQUUsSUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4SCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLFdBQVcsQ0FBQyxJQUF5QjtRQUN4QyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQ2xFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDckMsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO2dCQUNqQixJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7b0JBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxhQUFhO29CQUM1QyxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLFNBQVMsRUFBRTtpQkFDekMsQ0FBQyxDQUFDO1lBQ1AsQ0FBQztRQUNMLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRDs7Ozs7T0FLRztJQUNJLGNBQWMsQ0FBQyxFQUFVLEVBQUUsS0FBNkM7UUFDM0UsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxTQUFTLEVBQUUsRUFBRSxFQUFFLEtBQUssQ0FBQyxDQUFDLElBQUksQ0FDekUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUNyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNULElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3hDLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGNBQWMsQ0FBQyxJQUFpQjtRQUNuQyxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLFNBQVMsSUFBSSxDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUN4RSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDcEMsSUFBSSxDQUFDLGtCQUFrQixDQUFDLG9CQUFvQixDQUFDO2dCQUN6QyxNQUFNLEVBQUUsc0JBQXNCLENBQUMsZUFBZTtnQkFDOUMsTUFBTSxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksQ0FBQyxPQUFPLENBQUMsRUFBRSxFQUFFO2FBQzFDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVO1FBQ2IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBWSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQy9ELEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxXQUFXO2FBQzdDLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxFQUNGLEdBQUcsQ0FBQyxHQUFHLEVBQUU7WUFDTCxJQUFJLENBQUMsU0FBUyxDQUFDLDBCQUEwQixFQUFFLENBQUM7WUFDNUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQ2hELENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVO1FBQ2IsSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLEVBQUUsQ0FBQztJQUNsQyxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxJQUFJLENBQ25CLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBRSxJQUFlLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQzVKLENBQUM7SUFDTixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILGtEQUFrRDtJQUMzQyxjQUFjLENBQUMsS0FBYztRQUNoQyxPQUFPO1lBQ0gsS0FBSyxFQUFFLEtBQUssQ0FBQyxRQUFRO1lBQ3JCLFNBQVMsRUFBRSxFQUFFLEdBQUcsRUFBRSxLQUFLLENBQUMsR0FBRyxFQUFFO1lBQzdCLGFBQWEsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLGNBQWMsQ0FBQyxFQUFFLENBQUMsRUFBRSxJQUFJLEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLEVBQUU7U0FDM0QsQ0FBQztJQUNoQixDQUFDO0lBRUQ7O09BRUc7SUFDSSxrQkFBa0I7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSTthQUNYLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxtQkFBbUIsRUFBRTtZQUN6QyxZQUFZLEVBQUUsTUFBTTtTQUN2QixDQUFDO2FBQ0QsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLENBQUMsQ0FBQyxJQUFJLENBQUMsRUFBRSxFQUFFLElBQUksRUFBRSxVQUFVLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLG1CQUFtQixDQUFDLElBQW9CO1FBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sV0FBVyxFQUFFLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3pFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDckMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxhQUFhO2FBQy9DLENBQUMsQ0FBQztRQUNQLENBQUMsQ0FBQyxDQUNMLENBQUM7SUFDTixDQUFDOytHQS9OUSxhQUFhO21IQUFiLGFBQWEsY0FGVixNQUFNOzs0RkFFVCxhQUFhO2tCQUh6QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xuaW1wb3J0IHsgaW5qZWN0LCBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBjYXRjaEVycm9yLCBkaXN0aW5jdFVudGlsQ2hhbmdlZCwgZmlyc3QsIG1hcCwgT2JzZXJ2YWJsZSwgb2YsIHN3aXRjaE1hcCwgdGFwLCB0aHJvd0Vycm9yIH0gZnJvbSAncnhqcyc7XG5cbmltcG9ydCB7IFNjQ2FjaGVkSXRlbSB9IGZyb20gJy4uLy4uL2NhdGFsb2cvY2xhc3Nlcy9zYy1jYWNoZWQtaXRlbSc7XG5pbXBvcnQgeyBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnL3NjLWktdXJscyc7XG5pbXBvcnQgeyBTY1VwbG9hZGVkRmlsZSB9IGZyb20gJy4uLy4uL2NvbnRhY3RzL2R0by9zYy11cGxvYWRlZC1maWxlJztcbmltcG9ydCB7IFNjT3JkZXIgfSBmcm9tICcuLi8uLi9vcmRlci9jbGFzc2VzL3NjLW9yZGVyJztcbmltcG9ydCB7IFNjT3JkZXJJdGVtIH0gZnJvbSAnLi4vLi4vb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1pdGVtJztcbmltcG9ydCB7IFNjSU5ld09yZGVySXRlbUJhc2UgfSBmcm9tICcuLi8uLi9vcmRlci9pbnRlcm5hbC9zYy1pLW5ldy1vcmRlci1pdGVtLWJhc2UnO1xuaW1wb3J0IHsgU2NJT3JkZXJFZGl0b3JMb2FkZXIgfSBmcm9tICcuLi8uLi9vcmRlci9pbnRlcm5hbC9zYy1pLW9yZGVyLWxvYWRlcic7XG5pbXBvcnQgeyBsb2FkaW5nUGxhY2Vob2xkZXIsIFNjT3JkZXJMb2FkaW5nIH0gZnJvbSAnLi4vLi4vb3JkZXIvdG9rZW5zL3NjLW9yZGVyLWxvYWRlci50b2tlbic7XG5pbXBvcnQgeyBJU19CUk9XU0VSIH0gZnJvbSAnLi4vLi4vcHJvdmlkZXJzL3Nzci5wcm92aWRlcnMnO1xuaW1wb3J0IHsgU0NfVVJMUyB9IGZyb20gJy4uLy4uL3Rva2Vucy9zYy11cmxzJztcbmltcG9ydCB7IFNjVUlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWkvc2VydmljZXMvc2MtdWkuc2VydmljZSc7XG5pbXBvcnQgeyBTY1VzZXIgfSBmcm9tICcuLi8uLi91c2VyL2R0by9zYy11c2VyJztcbmltcG9ydCB7IFNDX1VTRVJfSU5GTyB9IGZyb20gJy4uLy4uL3VzZXIvdG9rZW5zL3NjLXVzZXItcHJvdmlkZXJzJztcbmltcG9ydCB7IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0gfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2EvZW51bXMvc2MtdXNlci1tZXRyaWthLWdvYWxzLWVudW0nO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYVNlcnZpY2UgfSBmcm9tICcuLi8uLi91c2VyLW1ldHJpa2Evc2VydmljZXMvc2MtdXNlci1tZXRyaWthLnNlcnZpY2UnO1xuaW1wb3J0IHsgU2NXYXJlaG91c2VTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vd2FyZWhvdXNlJztcbmltcG9ydCB7IFNjQ2FydCB9IGZyb20gJy4uL2NsYXNzZXMvc2MtY2FydCc7XG5pbXBvcnQgeyBTY1N1bSB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtc3VtJztcbmltcG9ydCB7IFNjSUNhcnQgfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLWNhcnQnO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQviDRgdC10YDQstC40YHQtSDQutC+0YDQt9C40L3Riy5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXJ0U2VydmljZSBpbXBsZW1lbnRzIFNjSU9yZGVyRWRpdG9yTG9hZGVyPFNjT3JkZXJJdGVtLCBTY0NhcnQ+IHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LTQu9GPINGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYXJ0Q2FjaGVkSXRlbSQ6IFNjQ2FjaGVkSXRlbTxTY0NhcnQsIFNjT3JkZXJMb2FkaW5nPjtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LIg0LHRgNCw0YPQt9C10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbiA9IGluamVjdChJU19CUk9XU0VSKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPiA9IGluamVjdChTQ19VU0VSX0lORk8pO1xuXG4gICAgLyoqXG4gICAgICogSFRUUC3QutC70LjQtdC90YIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVpU2VydmljZTogU2NVSVNlcnZpY2UgPSBpbmplY3QoU2NVSVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDRgdC60LvQsNC00LDQvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2FyZWhvdXNlU2VydmljZTogU2NXYXJlaG91c2VTZXJ2aWNlID0gaW5qZWN0KFNjV2FyZWhvdXNlU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2UgPSBpbmplY3QoU2NVc2VyTWV0cmlrYVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NhcnRTZXJ2aWNlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5jYXJ0Q2FjaGVkSXRlbSQgPSBuZXcgU2NDYWNoZWRJdGVtKEluZmluaXR5LCB0aGlzLmdldENhcnREYXRhJCgpLCBsb2FkaW5nUGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgdGhpcy51c2VyJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMuaWQgPT09IGN1cnJlbnQuaWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydENhY2hlZEl0ZW0kLnVwZGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhcnRDYWNoZWRJdGVtJCA9IG5ldyBTY0NhY2hlZEl0ZW0oSW5maW5pdHksIG9mKG5ldyBTY0NhcnQoKSksIGxvYWRpbmdQbGFjZWhvbGRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90Ysg0Lgg0L7QsdC90L7QstC70Y/QtdGCINC60L7RgNC30LjQvdGDLCDQstC+0LfQstGA0LDRidCw0Y8ge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDYXJ0RGF0YSQoKTogT2JzZXJ2YWJsZTxTY0NhcnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlciQucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHVzZXIpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldDxTY0lDYXJ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0YCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzog0J/QtdGA0LXRgdC80L7RgtGA0LXRgtGMINC80LXRhdCw0L3QuNC30LzRiyDQv9C10YDQtdGF0LLQsNGC0LAgSFRUUC3QvtGI0LjQsdC+0LogNDAxLzQwMy8wINGG0LXQvdGC0YDQsNC70LjQt9C+0LLQsNC90L3QviAo0YEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LXQvCBpbnRlcmNlcHRvcnMpLlxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXIuaXNHdWVzdCAmJiBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIFswLCA0MDEsIDQwM10uaW5jbHVkZXMoZXJyb3Iuc3RhdHVzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINCU0LvRjyDQs9C+0YHRgtGPINCyINC90LXQsNCy0YLQvtGA0LjQt9C+0LLQsNC90L3Ri9GFL9GB0LXRgtC10LLRi9GFINC60LXQudGB0LDRhSDQvtGC0LTQsNGR0Lwg0L/Rg9GB0YLRg9GOINC60L7RgNC30LjQvdGDLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINGH0YLQvtCx0Ysg0L3QtSDQv9GA0L7QsdGA0LDRgdGL0LLQsNGC0Ywg0L7RiNC40LHQutGDINCy0L4g0LLRgdC1INC/0L7QtNC/0LjRgdC60LggVUkuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyBTY0NhcnQoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/QvtC70L3Rg9GOINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC60L7RgNC30LjQvdC1ICjQutC+0L3RgtC10LrRgdGCINC30LDQs9GA0YPQt9GH0LjQutCwKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0JCgpOiBPYnNlcnZhYmxlPFNjQ2FydCB8IFNjT3JkZXJMb2FkaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcnRDYWNoZWRJdGVtJC5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0Y3Qu9C10LzQtdC90YLQvtCyINC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJdGVtcyQoKTogT2JzZXJ2YWJsZTxTY09yZGVySXRlbVtdIHwgU2NPcmRlckxvYWRpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0JCgpLnBpcGUobWFwKChjYXJ0KSA9PiAoY2FydCA9PT0gbG9hZGluZ1BsYWNlaG9sZGVyID8gbG9hZGluZ1BsYWNlaG9sZGVyIDogKGNhcnQgYXMgU2NDYXJ0KS5pdGVtcykpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQlNC+0LHQsNCy0LvRj9C10YIg0L/RgNC+0LTRg9C60YIg0LIg0LrQvtGA0LfQuNC90YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQvtCx0LDQstC70Y/QtdC80L7Qs9C+INC/0YDQvtC00YPQutGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGFkZFByb2R1Y3QkKGRhdGE6IFNjSU5ld09yZGVySXRlbUJhc2UpOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFNjSUNhcnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnRgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEucHJvZHVjdElkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXJ0SXRlbUFkZGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3RfaWQ6IGRhdGEucHJvZHVjdElkIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKChjYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0Q2FjaGVkSXRlbSQuc2V0VmFsdWUoY2FydCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCY0LfQvNC10L3Rj9C10YIg0L/RgNC+0LTRg9C60YIg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC30LjRhtC40LguXG4gICAgICogQHBhcmFtIHBhdGNoINCn0LDRgdGC0LjRh9C90YvQtSDQtNCw0L3QvdGL0LUg0LTQu9GPINC+0LHQvdC+0LLQu9C10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVQcm9kdWN0JChpZDogc3RyaW5nLCBwYXRjaDogT21pdDxTY0lOZXdPcmRlckl0ZW1CYXNlLCAncHJvZHVjdElkJz4pOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFNjSUNhcnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnQvJHtpZH1gLCBwYXRjaCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FydERUTykgPT4gbmV3IFNjQ2FydChjYXJ0RFRPKSksXG4gICAgICAgICAgICB0YXAoKGNhcnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRDYWNoZWRJdGVtJC5zZXRWYWx1ZShjYXJ0KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0L/RgNC+0LTRg9C60YIg0LjQtyDQutC+0YDQt9C40L3Riy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtINCj0LTQsNC70Y/QtdC80LDRjyDQv9C+0LfQuNGG0LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlUHJvZHVjdCQoaXRlbTogU2NPcmRlckl0ZW0pOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxTY0lDYXJ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0LyR7aXRlbS5pZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydENhY2hlZEl0ZW0kLnNldFZhbHVlKGNhcnQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhcnRJdGVtRGVsZXRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3RfaWQ6IGl0ZW0ucHJvZHVjdC5pZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L7Rh9C40YHRgtC60Lgg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyQ2FydCQoKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0YCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uY2FydENsZWFyZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51aVNlcnZpY2UucmVtb3ZlQWxsTmV3T3JkZXJzTWV0YWRhdGEoKTtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRDYWNoZWRJdGVtJC5zZXRWYWx1ZShuZXcgU2NDYXJ0KCkpO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQntCx0L3QvtCy0LvRj9C10YIg0LrQvtGA0LfQuNC90YMuXG4gICAgICovXG4gICAgcHVibGljIHVwZGF0ZUNhcnQoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuY2FydENhY2hlZEl0ZW0kLnVwZGF0ZSgpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQv9C+0LfQuNGG0LjQuSDQsiDQutC+0YDQt9C40L3QtSDRgSDRgtC+0LLQsNGA0LDQvNC4LCDQutC+0YLQvtGA0YvQtSDQsdGL0LvQuCDRg9C00LDQu9C10L3RiyDQuNC3INC/0YDQsNC50YEt0LvQuNGC0LAg0Lgg0LHQvtC70YzRiNC1INC90LUg0L/RgNC+0LTQsNGO0YLRgdGPLlxuICAgICAqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TnVsbENhcnRJdGVtcyQoKTogT2JzZXJ2YWJsZTxTY09yZGVySXRlbVtdIHwgU2NPcmRlckxvYWRpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0JCgpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcnQpID0+IChjYXJ0ID09PSBsb2FkaW5nUGxhY2Vob2xkZXIgPyBsb2FkaW5nUGxhY2Vob2xkZXIgOiAoY2FydCBhcyBTY0NhcnQpLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gaXRlbS5wcm9kdWN0LmlzTnVsbCB8fCBpdGVtLnByb2R1Y3QuaXNIaWRkZW4pKSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQvtCx0YrQtdC60YIge0BsaW5rIFNjQ2FydH0g0LrQvtGA0LfQuNC90YssINGB0L7Qt9C00LDQvdC90YvQuSDQuNC3INC+0LHRitC10LrRgtCwINC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcmRlciDQlNCw0L3QvdGL0LUg0L4g0LfQsNC60LDQt9C1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBjbGFzcy1tZXRob2RzLXVzZS10aGlzXG4gICAgcHVibGljIGdldENhcnRCeU9yZGVyKG9yZGVyOiBTY09yZGVyKTogU2NDYXJ0IHtcbiAgICAgICAgcmV0dXJuIHtcbiAgICAgICAgICAgIGl0ZW1zOiBvcmRlci5wcm9kdWN0cyxcbiAgICAgICAgICAgIHJlc3VsdFN1bTogeyBydWI6IG9yZGVyLnN1bSB9LFxuICAgICAgICAgICAgZGlyZWN0aW9uc1N1bTogeyBbb3JkZXIuc2FsZXNEaXJlY3Rpb24uaWRdOiBuZXcgU2NTdW0ob3JkZXIuc3VtKSB9LFxuICAgICAgICB9IGFzIFNjQ2FydDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQv9GA0LjQvNC10YAgQ1NWINGE0LDQudC70LAg0LTQu9GPINC00L7QsdCw0LLQu9C10L3QuNGPINC/0YDQvtC00YPQutGC0L7QsiDQsiDQutC+0YDQt9C40L3Rgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2FydENzdkV4YW1wbGUkKCk6IE9ic2VydmFibGU8QmxvYj4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnQvY3N2L2V4YW1wbGVgLCB7XG4gICAgICAgICAgICAgICAgcmVzcG9uc2VUeXBlOiAnYmxvYicsXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUobWFwKChibG9iKSA9PiBuZXcgQmxvYihbYmxvYl0sIHsgdHlwZTogJ3RleHQvY3N2JyB9KSkpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCU0L7QsdCw0LLQu9GP0LXRgiDRgtC+0LLQsNGA0Ysg0LIg0LrQvtGA0LfQuNC90YMg0LjQtyDRhNCw0LnQu9CwIENTVi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBmaWxlINCX0LDQs9GA0YPQttCw0LXQvNGL0Lkg0YTQsNC50Lsg0LIg0YTQvtGA0LzQsNGC0LUgYmFzZTY0LlxuICAgICAqL1xuICAgIHB1YmxpYyBhZGRQcm9kdWN0c0Zyb21Dc3YkKGZpbGU6IFNjVXBsb2FkZWRGaWxlKTogT2JzZXJ2YWJsZTxTY0NhcnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PFNjSUNhcnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnQvY3N2YCwgeyBmaWxlIH0pLnBpcGUoXG4gICAgICAgICAgICBtYXAoKGNhcnREVE8pID0+IG5ldyBTY0NhcnQoY2FydERUTykpLFxuICAgICAgICAgICAgdGFwKChjYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0Q2FjaGVkSXRlbSQuc2V0VmFsdWUoY2FydCk7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uY2FydENzdlVwbG9hZCxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxufVxuIl19
189
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtY2FydC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9jYXJ0L3NlcnZpY2VzL3NjLWNhcnQuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGlCQUFpQixFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckUsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLFVBQVUsRUFBRSxvQkFBb0IsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFjLEVBQUUsRUFBRSxTQUFTLEVBQUUsR0FBRyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUVoSCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFNcEUsT0FBTyxFQUFFLGtCQUFrQixFQUFrQixNQUFNLDBDQUEwQyxDQUFDO0FBQzlGLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUMzRCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBRTlELE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxxQ0FBcUMsQ0FBQztBQUNuRSxPQUFPLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUM3RixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxxREFBcUQsQ0FBQztBQUMzRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUNyRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sb0JBQW9CLENBQUM7O0FBRzVDOztHQUVHO0FBSUgsTUFBTSxPQUFPLGFBQWE7SUF5Q3RCOztPQUVHO0lBQ0g7UUF0Q0E7O1dBRUc7UUFDYyxjQUFTLEdBQVksTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXpEOztXQUVHO1FBQ2MsVUFBSyxHQUF1QixNQUFNLENBQUMsWUFBWSxDQUFDLENBQUM7UUFFbEU7O1dBRUc7UUFDYyxTQUFJLEdBQWUsTUFBTSxDQUFDLFVBQVUsQ0FBQyxDQUFDO1FBRXZEOztXQUVHO1FBQ2MsU0FBSSxHQUFZLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQztRQUVqRDs7V0FFRztRQUNjLGNBQVMsR0FBZ0IsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1FBRTlEOztXQUVHO1FBQ2MscUJBQWdCLEdBQXVCLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1FBRW5GOztXQUVHO1FBQ2MsdUJBQWtCLEdBQXlCLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBTXJGLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRSxDQUFDO1lBQ2pCLElBQUksQ0FBQyxlQUFlLEdBQUcsSUFBSSxZQUFZLENBQUMsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1lBQzNGLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLENBQUMsUUFBUSxFQUFFLE9BQU8sRUFBRSxFQUFFLENBQUMsUUFBUSxDQUFDLEVBQUUsS0FBSyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFO2dCQUNwRyxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2xDLENBQUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQzthQUFNLENBQUM7WUFDSixJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksWUFBWSxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLEVBQUUsQ0FBQyxFQUFFLGtCQUFrQixDQUFDLENBQUM7UUFDNUYsQ0FBQztJQUNMLENBQUM7SUFFRDs7T0FFRztJQUNLLFlBQVk7UUFDaEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FDbEIsS0FBSyxFQUFFLEVBQ1AsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FDZixJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxPQUFPLENBQUMsQ0FBQyxJQUFJLENBQ25ELEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDckMsZ0hBQWdIO1FBQ2hILFVBQVUsQ0FBQyxDQUFDLEtBQWMsRUFBRSxFQUFFO1lBQzFCLElBQUksSUFBSSxDQUFDLE9BQU8sSUFBSSxLQUFLLFlBQVksaUJBQWlCLElBQUksQ0FBQyxDQUFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztnQkFDN0YscUVBQXFFO2dCQUNyRSxtREFBbUQ7Z0JBQ25ELE9BQU8sRUFBRSxDQUFDLElBQUksTUFBTSxFQUFFLENBQUMsQ0FBQztZQUM1QixDQUFDO1lBRUQsT0FBTyxVQUFVLENBQUMsR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkMsQ0FBQyxDQUFDLENBQ0wsQ0FDSixDQUNKLENBQUM7SUFDTixDQUFDO0lBRUQ7O09BRUc7SUFDSSxJQUFJO1FBQ1AsT0FBTyxJQUFJLENBQUMsZUFBZSxDQUFDLEtBQUssQ0FBQztJQUN0QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLEtBQUssa0JBQWtCLENBQUMsQ0FBQyxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBRSxJQUFlLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hILENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksV0FBVyxDQUFDLElBQXlCO1FBQ3hDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sT0FBTyxFQUFFLElBQUksQ0FBQyxDQUFDLElBQUksQ0FDbEUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUNyQyxHQUFHLENBQUMsR0FBRyxFQUFFO1lBQ0wsSUFBSSxJQUFJLENBQUMsU0FBUyxFQUFFLENBQUM7Z0JBQ2pCLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztvQkFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLGFBQWE7b0JBQzVDLE1BQU0sRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsU0FBUyxFQUFFO2lCQUN6QyxDQUFDLENBQUM7WUFDUCxDQUFDO1FBQ0wsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN4QyxDQUFDLENBQUMsQ0FDTCxDQUFDO0lBQ04sQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksY0FBYyxDQUFDLEVBQVUsRUFBRSxLQUE2QztRQUMzRSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLFNBQVMsRUFBRSxFQUFFLEVBQUUsS0FBSyxDQUFDLENBQUMsSUFBSSxDQUN6RSxHQUFHLENBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDLEVBQ3JDLEdBQUcsQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ1QsSUFBSSxDQUFDLGVBQWUsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksY0FBYyxDQUFDLElBQWlCO1FBQ25DLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQVUsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sU0FBUyxJQUFJLENBQUMsRUFBRSxFQUFFLENBQUMsQ0FBQyxJQUFJLENBQ3hFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sRUFBRSxFQUFFLENBQUMsSUFBSSxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUMsRUFDckMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDVCxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNwQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsb0JBQW9CLENBQUM7Z0JBQ3pDLE1BQU0sRUFBRSxzQkFBc0IsQ0FBQyxlQUFlO2dCQUM5QyxNQUFNLEVBQUUsRUFBRSxVQUFVLEVBQUUsSUFBSSxDQUFDLE9BQU8sQ0FBQyxFQUFFLEVBQUU7YUFDMUMsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVU7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLE9BQU8sQ0FBQyxDQUFDLElBQUksQ0FDL0QsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLFdBQVc7YUFDN0MsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLEVBQ0YsR0FBRyxDQUFDLEdBQUcsRUFBRTtZQUNMLElBQUksQ0FBQyxTQUFTLENBQUMsc0JBQXNCLEVBQUUsQ0FBQztZQUN4QyxJQUFJLENBQUMsZUFBZSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE1BQU0sRUFBRSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNJLFVBQVU7UUFDYixJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ2xDLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksaUJBQWlCO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLElBQUksQ0FDbkIsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDLElBQUksS0FBSyxrQkFBa0IsQ0FBQyxDQUFDLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFFLElBQWUsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FDNUosQ0FBQztJQUNOLENBQUM7SUFFRDs7T0FFRztJQUNJLGtCQUFrQjtRQUNyQixPQUFPLElBQUksQ0FBQyxJQUFJO2FBQ1gsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLG1CQUFtQixFQUFFO1lBQ3pDLFlBQVksRUFBRSxNQUFNO1NBQ3ZCLENBQUM7YUFDRCxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLElBQUksQ0FBQyxDQUFDLElBQUksQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksbUJBQW1CLENBQUMsSUFBb0I7UUFDM0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBVSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxXQUFXLEVBQUUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FDekUsR0FBRyxDQUFDLENBQUMsT0FBTyxFQUFFLEVBQUUsQ0FBQyxJQUFJLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxFQUNyQyxHQUFHLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRTtZQUNULElBQUksQ0FBQyxlQUFlLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3BDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxvQkFBb0IsQ0FBQztnQkFDekMsTUFBTSxFQUFFLHNCQUFzQixDQUFDLGFBQWE7YUFDL0MsQ0FBQyxDQUFDO1FBQ1AsQ0FBQyxDQUFDLENBQ0wsQ0FBQztJQUNOLENBQUM7K0dBak5RLGFBQWE7bUhBQWIsYUFBYSxjQUZWLE1BQU07OzRGQUVULGFBQWE7a0JBSHpCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBpbmplY3QsIEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGNhdGNoRXJyb3IsIGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCBPYnNlcnZhYmxlLCBvZiwgc3dpdGNoTWFwLCB0YXAsIHRocm93RXJyb3IgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYWNoZWRJdGVtIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9jbGFzc2VzL3NjLWNhY2hlZC1pdGVtJztcbmltcG9ydCB7IFNjSVVybHMgfSBmcm9tICcuLi8uLi9jb25maWcvc2MtaS11cmxzJztcbmltcG9ydCB7IFNjVXBsb2FkZWRGaWxlIH0gZnJvbSAnLi4vLi4vY29udGFjdHMvZHRvL3NjLXVwbG9hZGVkLWZpbGUnO1xuaW1wb3J0IHsgU2NPcmRlckl0ZW0gfSBmcm9tICcuLi8uLi9vcmRlci9jbGFzc2VzL3NjLW9yZGVyLWl0ZW0nO1xuaW1wb3J0IHsgU2NJTmV3T3JkZXJJdGVtQmFzZSB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktbmV3LW9yZGVyLWl0ZW0tYmFzZSc7XG5pbXBvcnQgeyBTY0lPcmRlckVkaXRvckxvYWRlciB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktb3JkZXItbG9hZGVyJztcbmltcG9ydCB7IGxvYWRpbmdQbGFjZWhvbGRlciwgU2NPcmRlckxvYWRpbmcgfSBmcm9tICcuLi8uLi9vcmRlci90b2tlbnMvc2Mtb3JkZXItbG9hZGVyLnRva2VuJztcbmltcG9ydCB7IElTX0JST1dTRVIgfSBmcm9tICcuLi8uLi9wcm92aWRlcnMvc3NyLnByb3ZpZGVycyc7XG5pbXBvcnQgeyBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zL3NjLXVybHMnO1xuaW1wb3J0IHsgU2NVSVNlcnZpY2UgfSBmcm9tICcuLi8uLi91aS9zZXJ2aWNlcy9zYy11aS5zZXJ2aWNlJztcbmltcG9ydCB7IFNjVXNlciB9IGZyb20gJy4uLy4uL3VzZXIvZHRvL3NjLXVzZXInO1xuaW1wb3J0IHsgU0NfVVNFUl9JTkZPIH0gZnJvbSAnLi4vLi4vdXNlci90b2tlbnMvc2MtdXNlci1wcm92aWRlcnMnO1xuaW1wb3J0IHsgU2NVc2VyTWV0cmlrYUdvYWxzRW51bSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYS9lbnVtcy9zYy11c2VyLW1ldHJpa2EtZ29hbHMtZW51bSc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYS9zZXJ2aWNlcy9zYy11c2VyLW1ldHJpa2Euc2VydmljZSc7XG5pbXBvcnQgeyBTY1dhcmVob3VzZVNlcnZpY2UgfSBmcm9tICcuLi8uLi93YXJlaG91c2UnO1xuaW1wb3J0IHsgU2NDYXJ0IH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1jYXJ0JztcbmltcG9ydCB7IFNjSUNhcnQgfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLWNhcnQnO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQviDRgdC10YDQstC40YHQtSDQutC+0YDQt9C40L3Riy5cbiAqL1xuQEluamVjdGFibGUoe1xuICAgIHByb3ZpZGVkSW46ICdyb290Jyxcbn0pXG5leHBvcnQgY2xhc3MgU2NDYXJ0U2VydmljZSBpbXBsZW1lbnRzIFNjSU9yZGVyRWRpdG9yTG9hZGVyPFNjT3JkZXJJdGVtLCBTY0NhcnQ+IHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LTQu9GPINGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHJpdmF0ZSBjYXJ0Q2FjaGVkSXRlbSQ6IFNjQ2FjaGVkSXRlbTxTY0NhcnQsIFNjT3JkZXJMb2FkaW5nPjtcblxuICAgIC8qKlxuICAgICAqINCf0YDQuNC30L3QsNC6LCDRh9GC0L4g0YHQutGA0LjQv9GCINCy0YvQv9C+0LvQvdGP0LXRgtGB0Y8g0LIg0LHRgNCw0YPQt9C10YDQtS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IGlzQnJvd3NlcjogYm9vbGVhbiA9IGluamVjdChJU19CUk9XU0VSKTtcblxuICAgIC8qKlxuICAgICAqIHtAbGluayBPYnNlcnZhYmxlfSDQtNCw0L3QvdGL0YUg0L4g0YLQtdC60YPRidC10Lwg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C1LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlciQ6IE9ic2VydmFibGU8U2NVc2VyPiA9IGluamVjdChTQ19VU0VSX0lORk8pO1xuXG4gICAgLyoqXG4gICAgICogSFRUUC3QutC70LjQtdC90YIuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSBodHRwOiBIdHRwQ2xpZW50ID0gaW5qZWN0KEh0dHBDbGllbnQpO1xuXG4gICAgLyoqXG4gICAgICog0KHQv9C40YHQvtC6INGB0YHRi9C70L7QuiDQv9GA0LjQu9C+0LbQtdC90LjRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVybHM6IFNjSVVybHMgPSBpbmplY3QoU0NfVVJMUyk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVpU2VydmljZTogU2NVSVNlcnZpY2UgPSBpbmplY3QoU2NVSVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YHQviDRgdC60LvQsNC00LDQvNC4LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgd2FyZWhvdXNlU2VydmljZTogU2NXYXJlaG91c2VTZXJ2aWNlID0gaW5qZWN0KFNjV2FyZWhvdXNlU2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGB0LHQvtGA0LAg0LzQtdGC0YDQuNC6INC+INC00LXQudGB0YLQstC40Y/RhSDQv9C+0LvRjNC30L7QstCw0YLQtdC70LXQuS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVzZXJNZXRyaWthU2VydmljZTogU2NVc2VyTWV0cmlrYVNlcnZpY2UgPSBpbmplY3QoU2NVc2VyTWV0cmlrYVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY0NhcnRTZXJ2aWNlfS5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoKSB7XG4gICAgICAgIGlmICh0aGlzLmlzQnJvd3Nlcikge1xuICAgICAgICAgICAgdGhpcy5jYXJ0Q2FjaGVkSXRlbSQgPSBuZXcgU2NDYWNoZWRJdGVtKEluZmluaXR5LCB0aGlzLmdldENhcnREYXRhJCgpLCBsb2FkaW5nUGxhY2Vob2xkZXIpO1xuICAgICAgICAgICAgdGhpcy51c2VyJC5waXBlKGRpc3RpbmN0VW50aWxDaGFuZ2VkKChwcmV2aW91cywgY3VycmVudCkgPT4gcHJldmlvdXMuaWQgPT09IGN1cnJlbnQuaWQpKS5zdWJzY3JpYmUoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydENhY2hlZEl0ZW0kLnVwZGF0ZSgpO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmNhcnRDYWNoZWRJdGVtJCA9IG5ldyBTY0NhY2hlZEl0ZW0oSW5maW5pdHksIG9mKG5ldyBTY0NhcnQoKSksIGxvYWRpbmdQbGFjZWhvbGRlcik7XG4gICAgICAgIH1cbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L/QvtC70YPRh9C10L3QuNGPINGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90Ysg0Lgg0L7QsdC90L7QstC70Y/QtdGCINC60L7RgNC30LjQvdGDLCDQstC+0LfQstGA0LDRidCw0Y8ge0BsaW5rIE9ic2VydmFibGV9INGB0L7QtNC10YDQttC40LzQvtCz0L4g0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHJpdmF0ZSBnZXRDYXJ0RGF0YSQoKTogT2JzZXJ2YWJsZTxTY0NhcnQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlciQucGlwZShcbiAgICAgICAgICAgIGZpcnN0KCksXG4gICAgICAgICAgICBzd2l0Y2hNYXAoKHVzZXIpID0+XG4gICAgICAgICAgICAgICAgdGhpcy5odHRwLmdldDxTY0lDYXJ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0YCkucGlwZShcbiAgICAgICAgICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgICAgICAgICAgLy8gVE9ETzog0J/QtdGA0LXRgdC80L7RgtGA0LXRgtGMINC80LXRhdCw0L3QuNC30LzRiyDQv9C10YDQtdGF0LLQsNGC0LAgSFRUUC3QvtGI0LjQsdC+0LogNDAxLzQwMy8wINGG0LXQvdGC0YDQsNC70LjQt9C+0LLQsNC90L3QviAo0YEg0LjRgdC/0L7Qu9GM0LfQvtCy0LDQvdC40LXQvCBpbnRlcmNlcHRvcnMpLlxuICAgICAgICAgICAgICAgICAgICBjYXRjaEVycm9yKChlcnJvcjogdW5rbm93bikgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHVzZXIuaXNHdWVzdCAmJiBlcnJvciBpbnN0YW5jZW9mIEh0dHBFcnJvclJlc3BvbnNlICYmIFswLCA0MDEsIDQwM10uaW5jbHVkZXMoZXJyb3Iuc3RhdHVzKSkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINCU0LvRjyDQs9C+0YHRgtGPINCyINC90LXQsNCy0YLQvtGA0LjQt9C+0LLQsNC90L3Ri9GFL9GB0LXRgtC10LLRi9GFINC60LXQudGB0LDRhSDQvtGC0LTQsNGR0Lwg0L/Rg9GB0YLRg9GOINC60L7RgNC30LjQvdGDLFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIC8vINGH0YLQvtCx0Ysg0L3QtSDQv9GA0L7QsdGA0LDRgdGL0LLQsNGC0Ywg0L7RiNC40LHQutGDINCy0L4g0LLRgdC1INC/0L7QtNC/0LjRgdC60LggVUkuXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG9mKG5ldyBTY0NhcnQoKSk7XG4gICAgICAgICAgICAgICAgICAgICAgICB9XG5cbiAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiB0aHJvd0Vycm9yKCgpID0+IGVycm9yKTtcbiAgICAgICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICApXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0L/QvtC70L3Rg9GOINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INC60L7RgNC30LjQvdC1ICjQutC+0L3RgtC10LrRgdGCINC30LDQs9GA0YPQt9GH0LjQutCwKS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0JCgpOiBPYnNlcnZhYmxlPFNjQ2FydCB8IFNjT3JkZXJMb2FkaW5nPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmNhcnRDYWNoZWRJdGVtJC5pdGVtJDtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0Y3Qu9C10LzQtdC90YLQvtCyINC60L7RgNC30LjQvdGLLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRJdGVtcyQoKTogT2JzZXJ2YWJsZTxTY09yZGVySXRlbVtdIHwgU2NPcmRlckxvYWRpbmc+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0JCgpLnBpcGUobWFwKChjYXJ0KSA9PiAoY2FydCA9PT0gbG9hZGluZ1BsYWNlaG9sZGVyID8gbG9hZGluZ1BsYWNlaG9sZGVyIDogKGNhcnQgYXMgU2NDYXJ0KS5pdGVtcykpKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQlNC+0LHQsNCy0LvRj9C10YIg0L/RgNC+0LTRg9C60YIg0LIg0LrQvtGA0LfQuNC90YMuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gZGF0YSDQlNCw0L3QvdGL0LUg0LTQvtCx0LDQstC70Y/QtdC80L7Qs9C+INC/0YDQvtC00YPQutGC0LAuXG4gICAgICovXG4gICAgcHVibGljIGFkZFByb2R1Y3QkKGRhdGE6IFNjSU5ld09yZGVySXRlbUJhc2UpOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFNjSUNhcnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnRgLCBkYXRhKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgaWYgKGRhdGEucHJvZHVjdElkKSB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXJ0SXRlbUFkZGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3RfaWQ6IGRhdGEucHJvZHVjdElkIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKChjYXJ0KSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy5jYXJ0Q2FjaGVkSXRlbSQuc2V0VmFsdWUoY2FydCk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCY0LfQvNC10L3Rj9C10YIg0L/RgNC+0LTRg9C60YIg0LIg0LrQvtGA0LfQuNC90LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC30LjRhtC40LguXG4gICAgICogQHBhcmFtIHBhdGNoINCn0LDRgdGC0LjRh9C90YvQtSDQtNCw0L3QvdGL0LUg0LTQu9GPINC+0LHQvdC+0LLQu9C10L3QuNGPLlxuICAgICAqL1xuICAgIHB1YmxpYyB1cGRhdGVQcm9kdWN0JChpZDogc3RyaW5nLCBwYXRjaDogT21pdDxTY0lOZXdPcmRlckl0ZW1CYXNlLCAncHJvZHVjdElkJz4pOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBhdGNoPFNjSUNhcnQ+KGAke3RoaXMudXJscy5hcGlVcmx9L2NhcnQvJHtpZH1gLCBwYXRjaCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FydERUTykgPT4gbmV3IFNjQ2FydChjYXJ0RFRPKSksXG4gICAgICAgICAgICB0YXAoKGNhcnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRDYWNoZWRJdGVtJC5zZXRWYWx1ZShjYXJ0KTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0L/RgNC+0LTRg9C60YIg0LjQtyDQutC+0YDQt9C40L3Riy5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpdGVtINCj0LTQsNC70Y/QtdC80LDRjyDQv9C+0LfQuNGG0LjRjy5cbiAgICAgKi9cbiAgICBwdWJsaWMgZGVsZXRlUHJvZHVjdCQoaXRlbTogU2NPcmRlckl0ZW0pOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZTxTY0lDYXJ0PihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0LyR7aXRlbS5pZH1gKS5waXBlKFxuICAgICAgICAgICAgbWFwKChjYXJ0RFRPKSA9PiBuZXcgU2NDYXJ0KGNhcnREVE8pKSxcbiAgICAgICAgICAgIHRhcCgoY2FydCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydENhY2hlZEl0ZW0kLnNldFZhbHVlKGNhcnQpO1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLmNhcnRJdGVtRGVsZXRlZCxcbiAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IHByb2R1Y3RfaWQ6IGl0ZW0ucHJvZHVjdC5pZCB9LFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQodC+0LfQtNCw0ZHRgiDQt9Cw0L/RgNC+0YEg0L7Rh9C40YHRgtC60Lgg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgcHVibGljIGNsZWFyQ2FydCQoKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5kZWxldGU8dW5kZWZpbmVkPihgJHt0aGlzLnVybHMuYXBpVXJsfS9jYXJ0YCkucGlwZShcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51c2VyTWV0cmlrYVNlcnZpY2UuZW1pdFVzZXJNZXRyaWthRXZlbnQoe1xuICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0uY2FydENsZWFyZWQsXG4gICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICB9KSxcbiAgICAgICAgICAgIHRhcCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgdGhpcy51aVNlcnZpY2UucmVtb3ZlTmV3T3JkZXJNZXRhZGF0YSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuY2FydENhY2hlZEl0ZW0kLnNldFZhbHVlKG5ldyBTY0NhcnQoKSk7XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCe0LHQvdC+0LLQu9GP0LXRgiDQutC+0YDQt9C40L3Rgy5cbiAgICAgKi9cbiAgICBwdWJsaWMgdXBkYXRlQ2FydCgpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5jYXJ0Q2FjaGVkSXRlbSQudXBkYXRlKCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0L7Qt9C40YbQuNC5INCyINC60L7RgNC30LjQvdC1INGBINGC0L7QstCw0YDQsNC80LgsINC60L7RgtC+0YDRi9C1INCx0YvQu9C4INGD0LTQsNC70LXQvdGLINC40Lcg0L/RgNCw0LnRgS3Qu9C40YLQsCDQuCDQsdC+0LvRjNGI0LUg0L3QtSDQv9GA0L7QtNCw0Y7RgtGB0Y8uXG4gICAgICpcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIHB1YmxpYyBnZXROdWxsQ2FydEl0ZW1zJCgpOiBPYnNlcnZhYmxlPFNjT3JkZXJJdGVtW10gfCBTY09yZGVyTG9hZGluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQkKCkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FydCkgPT4gKGNhcnQgPT09IGxvYWRpbmdQbGFjZWhvbGRlciA/IGxvYWRpbmdQbGFjZWhvbGRlciA6IChjYXJ0IGFzIFNjQ2FydCkuaXRlbXMuZmlsdGVyKChpdGVtKSA9PiBpdGVtLnByb2R1Y3QuaXNOdWxsIHx8IGl0ZW0ucHJvZHVjdC5pc0hpZGRlbikpKVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0YDQuNC80LXRgCBDU1Yg0YTQsNC50LvQsCDQtNC70Y8g0LTQvtCx0LDQstC70LXQvdC40Y8g0L/RgNC+0LTRg9C60YLQvtCyINCyINC60L7RgNC30LjQvdGDLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXJ0Q3N2RXhhbXBsZSQoKTogT2JzZXJ2YWJsZTxCbG9iPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHBcbiAgICAgICAgICAgIC5nZXQoYCR7dGhpcy51cmxzLmFwaVVybH0vY2FydC9jc3YvZXhhbXBsZWAsIHtcbiAgICAgICAgICAgICAgICByZXNwb25zZVR5cGU6ICdibG9iJyxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShtYXAoKGJsb2IpID0+IG5ldyBCbG9iKFtibG9iXSwgeyB0eXBlOiAndGV4dC9jc3YnIH0pKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JTQvtCx0LDQstC70Y/QtdGCINGC0L7QstCw0YDRiyDQsiDQutC+0YDQt9C40L3RgyDQuNC3INGE0LDQudC70LAgQ1NWLlxuICAgICAqXG4gICAgICogQHBhcmFtIGZpbGUg0JfQsNCz0YDRg9C20LDQtdC80YvQuSDRhNCw0LnQuyDQsiDRhNC+0YDQvNCw0YLQtSBiYXNlNjQuXG4gICAgICovXG4gICAgcHVibGljIGFkZFByb2R1Y3RzRnJvbUNzdiQoZmlsZTogU2NVcGxvYWRlZEZpbGUpOiBPYnNlcnZhYmxlPFNjQ2FydD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NJQ2FydD4oYCR7dGhpcy51cmxzLmFwaVVybH0vY2FydC9jc3ZgLCB7IGZpbGUgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgoY2FydERUTykgPT4gbmV3IFNjQ2FydChjYXJ0RFRPKSksXG4gICAgICAgICAgICB0YXAoKGNhcnQpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRDYWNoZWRJdGVtJC5zZXRWYWx1ZShjYXJ0KTtcbiAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5jYXJ0Q3N2VXBsb2FkLFxuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgKTtcbiAgICB9XG59XG4iXX0=
@@ -21,7 +21,6 @@ export class ScOrderItem {
21
21
  this.length = data.length;
22
22
  this.width = data.width;
23
23
  this.logicGroupId = data.logicGroupId;
24
- this.salesDirection = data.salesDirection;
25
24
  this.specificationImgUrl = data.specificationImgUrl;
26
25
  this.configurator = data.configurator;
27
26
  this.configuratorParams = data.configuratorParams;
@@ -57,4 +56,4 @@ export class ScOrderItem {
57
56
  return this.costRub === 0 ? 'Цена требует уточнения' : '';
58
57
  }
59
58
  }
60
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUl6RDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBaUZwQjs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBa0I7UUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsY0FBYyxHQUFHLElBQUksQ0FBQyxjQUFjLENBQUM7UUFDMUMsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQztRQUNwRCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQyxZQUFZLENBQUM7UUFDdEMsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztJQUN0RCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3ZHLENBQUM7SUFFRDs7T0FFRztJQUNJLDRCQUE0QjtRQUMvQixPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksSUFBSSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsTUFBTSxNQUFNLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDbkksQ0FBQztJQUVEOztPQUVHO0lBQ0ksdUJBQXVCO1FBQzFCLE9BQU8sSUFBSSxDQUFDLFVBQVUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxjQUFjLEVBQUUsUUFBUSxJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQzNHLENBQUM7SUFFRDs7T0FFRztJQUNJLGFBQWE7UUFDaEIsT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUN6RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxjQUFjO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLE9BQU8sS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLHdCQUF3QixDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUQsQ0FBQztDQUNKIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU2NQcm9kdWN0IH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9kdG8vc2MtcHJvZHVjdCc7XG5pbXBvcnQgeyBTY0lDb25maWd1cmF0b3JTZWFyY2hQcm9kdWN0QmFzZSB9IGZyb20gJy4uLy4uL2NvbmZpZ3VyYXRvci9kdG8vc2MtaS1jb25maWd1cmF0b3Itc2VhcmNoLXByb2R1Y3QtYmFzZSc7XG5pbXBvcnQgeyBTY0lPcmRlckl0ZW0gfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWl0ZW0nO1xuXG4vKipcbiAqINCU0LDQvdC90YvQtSDQviDQtdC00LjQvdC40YfQvdC+0Lkg0L/QvtC30LjRhtC40Lgg0YLQvtCy0LDRgNCwL9GD0YHQu9GD0LPQuCDQsiDQt9Cw0LrQsNC30LUgKNC60L7RgNC30LjQvdC1IC8g0YfQtdGA0L3QvtCy0LjQutC1KS5cbiAqL1xuZXhwb3J0IGNsYXNzIFNjT3JkZXJJdGVtIHtcbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBpZDogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcHJvZHVjdDogU2NQcm9kdWN0O1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgcXVhbnRpdHk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3Q6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3RPbmU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3RPbmVSdWI6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGNvc3RSdWI6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIG1hcmtlcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGhlaWdodD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGxlbmd0aD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIHdpZHRoPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgbG9naWNHcm91cElkPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgc2FsZXNEaXJlY3Rpb24/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzcGVjaWZpY2F0aW9uSW1nVXJsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yUGFyYW1zPzogU2NJQ29uZmlndXJhdG9yU2VhcmNoUHJvZHVjdEJhc2U7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJJdGVtfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZGF0YTogU2NJT3JkZXJJdGVtKSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSBuZXcgU2NQcm9kdWN0KGRhdGEucHJvZHVjdCk7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPSBkYXRhLnF1YW50aXR5O1xuICAgICAgICB0aGlzLmNvc3QgPSBkYXRhLmNvc3Q7XG4gICAgICAgIHRoaXMuY29zdE9uZSA9IGRhdGEuY29zdE9uZTtcbiAgICAgICAgdGhpcy5jb3N0UnViID0gZGF0YS5jb3N0UnViO1xuICAgICAgICB0aGlzLmNvc3RPbmVSdWIgPSBkYXRhLmNvc3RPbmVSdWI7XG4gICAgICAgIHRoaXMubWFya2VyID0gZGF0YS5tYXJrZXI7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gZGF0YS5oZWlnaHQ7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMud2lkdGggPSBkYXRhLndpZHRoO1xuICAgICAgICB0aGlzLmxvZ2ljR3JvdXBJZCA9IGRhdGEubG9naWNHcm91cElkO1xuICAgICAgICB0aGlzLnNhbGVzRGlyZWN0aW9uID0gZGF0YS5zYWxlc0RpcmVjdGlvbjtcbiAgICAgICAgdGhpcy5zcGVjaWZpY2F0aW9uSW1nVXJsID0gZGF0YS5zcGVjaWZpY2F0aW9uSW1nVXJsO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRvciA9IGRhdGEuY29uZmlndXJhdG9yO1xuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRvclBhcmFtcyA9IGRhdGEuY29uZmlndXJhdG9yUGFyYW1zO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGdldENvc3RQZXJJdGVtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvc3RPbmUgPiAwID8gYCR7dGhpcy5jb3N0T25lLnRvTG9jYWxlU3RyaW5nKCl9ICR7dGhpcy5wcm9kdWN0LmN1cnJlbmN5LnN5bWJvbH1gIDogJy0nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGdldENvc3RJbkN1cnJlbmN5RGVzY1Blckl0ZW0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdE9uZSA+IDAgPyBgJHt0aGlzLmNvc3RPbmUudG9Mb2NhbGVTdHJpbmcoKX0gJHt0aGlzLnByb2R1Y3QuY3VycmVuY3kuc3ltYm9sfSAvICR7dGhpcy5wcm9kdWN0LnVuaXQubmFtZX1gIDogJy0nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGdldENvc3RJblJ1YkRlc2NQZXJJdGVtKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvc3RPbmVSdWIgPiAwID8gYCR7dGhpcy5jb3N0T25lUnViLnRvTG9jYWxlU3RyaW5nKCl9IOKCvSAvICR7dGhpcy5wcm9kdWN0LnVuaXQubmFtZX1gIDogJy0nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGdldENvc3RSdWJTdHIoKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdFJ1YiA+IDAgPyBgJHt0aGlzLmNvc3RSdWIudG9Mb2NhbGVTdHJpbmcoKX0g4oK9YCA6ICctJztcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDb3N0TWVzc2FnZSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0UnViID09PSAwID8gJ9Cm0LXQvdCwINGC0YDQtdCx0YPQtdGCINGD0YLQvtGH0L3QtdC90LjRjycgOiAnJztcbiAgICB9XG59XG4iXX0=
59
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXItaXRlbS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvb3JkZXIvY2xhc3Nlcy9zYy1vcmRlci1pdGVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUl6RDs7R0FFRztBQUNILE1BQU0sT0FBTyxXQUFXO0lBNEVwQjs7OztPQUlHO0lBQ0gsWUFBbUIsSUFBa0I7UUFDakMsSUFBSSxDQUFDLEVBQUUsR0FBRyxJQUFJLENBQUMsRUFBRSxDQUFDO1FBQ2xCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxTQUFTLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzNDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUM5QixJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUM7UUFDdEIsSUFBSSxDQUFDLE9BQU8sR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDO1FBQzVCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQztRQUM1QixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDbEMsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzFCLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7UUFDMUIsSUFBSSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3hCLElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDLG1CQUFtQixDQUFDO1FBQ3BELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQztRQUN0QyxJQUFJLENBQUMsa0JBQWtCLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDO0lBQ3RELENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsT0FBTyxDQUFDLGNBQWMsRUFBRSxJQUFJLElBQUksQ0FBQyxPQUFPLENBQUMsUUFBUSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDdkcsQ0FBQztJQUVEOztPQUVHO0lBQ0ksNEJBQTRCO1FBQy9CLE9BQU8sSUFBSSxDQUFDLE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxjQUFjLEVBQUUsSUFBSSxJQUFJLENBQUMsT0FBTyxDQUFDLFFBQVEsQ0FBQyxNQUFNLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztJQUNuSSxDQUFDO0lBRUQ7O09BRUc7SUFDSSx1QkFBdUI7UUFDMUIsT0FBTyxJQUFJLENBQUMsVUFBVSxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGNBQWMsRUFBRSxRQUFRLElBQUksQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUM7SUFDM0csQ0FBQztJQUVEOztPQUVHO0lBQ0ksYUFBYTtRQUNoQixPQUFPLElBQUksQ0FBQyxPQUFPLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsY0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDLENBQUMsR0FBRyxDQUFDO0lBQ3pFLENBQUM7SUFFRDs7T0FFRztJQUNJLGNBQWM7UUFDakIsT0FBTyxJQUFJLENBQUMsT0FBTyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsd0JBQXdCLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQztJQUM5RCxDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTY1Byb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2R0by9zYy1wcm9kdWN0JztcbmltcG9ydCB7IFNjSUNvbmZpZ3VyYXRvclNlYXJjaFByb2R1Y3RCYXNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdG9yL2R0by9zYy1pLWNvbmZpZ3VyYXRvci1zZWFyY2gtcHJvZHVjdC1iYXNlJztcbmltcG9ydCB7IFNjSU9yZGVySXRlbSB9IGZyb20gJy4uL2ludGVybmFsL3NjLWktb3JkZXItaXRlbSc7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INC10LTQuNC90LjRh9C90L7QuSDQv9C+0LfQuNGG0LjQuCDRgtC+0LLQsNGA0LAv0YPRgdC70YPQs9C4INCyINC30LDQutCw0LfQtSAo0LrQvtGA0LfQuNC90LUgLyDRh9C10YDQvdC+0LLQuNC60LUpLlxuICovXG5leHBvcnQgY2xhc3MgU2NPcmRlckl0ZW0ge1xuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGlkOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBwcm9kdWN0OiBTY1Byb2R1Y3Q7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBxdWFudGl0eTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdE9uZTogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdE9uZVJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29zdFJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgbWFya2VyPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgaGVpZ2h0PzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgbGVuZ3RoPzogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgd2lkdGg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBsb2dpY0dyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBAaW5oZXJpdERvY1xuICAgICAqL1xuICAgIHB1YmxpYyBzcGVjaWZpY2F0aW9uSW1nVXJsPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgY29uZmlndXJhdG9yUGFyYW1zPzogU2NJQ29uZmlndXJhdG9yU2VhcmNoUHJvZHVjdEJhc2U7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90LjRhtC40LDQu9C40LfQuNGA0YPQtdGCINGN0LrQt9C10LzQv9C70Y/RgCDQutC70LDRgdGB0LAge0BsaW5rIFNjT3JkZXJJdGVtfS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkYXRhINCU0LDQvdC90YvQtSDQtNC70Y8g0L/QtdGA0LLQvtC90LDRh9Cw0LvRjNC90L7QuSDQuNC90LjRhtC40LDQu9C40LfQsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY29uc3RydWN0b3IoZGF0YTogU2NJT3JkZXJJdGVtKSB7XG4gICAgICAgIHRoaXMuaWQgPSBkYXRhLmlkO1xuICAgICAgICB0aGlzLnByb2R1Y3QgPSBuZXcgU2NQcm9kdWN0KGRhdGEucHJvZHVjdCk7XG4gICAgICAgIHRoaXMucXVhbnRpdHkgPSBkYXRhLnF1YW50aXR5O1xuICAgICAgICB0aGlzLmNvc3QgPSBkYXRhLmNvc3Q7XG4gICAgICAgIHRoaXMuY29zdE9uZSA9IGRhdGEuY29zdE9uZTtcbiAgICAgICAgdGhpcy5jb3N0UnViID0gZGF0YS5jb3N0UnViO1xuICAgICAgICB0aGlzLmNvc3RPbmVSdWIgPSBkYXRhLmNvc3RPbmVSdWI7XG4gICAgICAgIHRoaXMubWFya2VyID0gZGF0YS5tYXJrZXI7XG4gICAgICAgIHRoaXMuaGVpZ2h0ID0gZGF0YS5oZWlnaHQ7XG4gICAgICAgIHRoaXMubGVuZ3RoID0gZGF0YS5sZW5ndGg7XG4gICAgICAgIHRoaXMud2lkdGggPSBkYXRhLndpZHRoO1xuICAgICAgICB0aGlzLmxvZ2ljR3JvdXBJZCA9IGRhdGEubG9naWNHcm91cElkO1xuICAgICAgICB0aGlzLnNwZWNpZmljYXRpb25JbWdVcmwgPSBkYXRhLnNwZWNpZmljYXRpb25JbWdVcmw7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdG9yID0gZGF0YS5jb25maWd1cmF0b3I7XG4gICAgICAgIHRoaXMuY29uZmlndXJhdG9yUGFyYW1zID0gZGF0YS5jb25maWd1cmF0b3JQYXJhbXM7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdFBlckl0ZW0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdE9uZSA+IDAgPyBgJHt0aGlzLmNvc3RPbmUudG9Mb2NhbGVTdHJpbmcoKX0gJHt0aGlzLnByb2R1Y3QuY3VycmVuY3kuc3ltYm9sfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdEluQ3VycmVuY3lEZXNjUGVySXRlbSgpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0T25lID4gMCA/IGAke3RoaXMuY29zdE9uZS50b0xvY2FsZVN0cmluZygpfSAke3RoaXMucHJvZHVjdC5jdXJyZW5jeS5zeW1ib2x9IC8gJHt0aGlzLnByb2R1Y3QudW5pdC5uYW1lfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdEluUnViRGVzY1Blckl0ZW0oKTogc3RyaW5nIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuY29zdE9uZVJ1YiA+IDAgPyBgJHt0aGlzLmNvc3RPbmVSdWIudG9Mb2NhbGVTdHJpbmcoKX0g4oK9IC8gJHt0aGlzLnByb2R1Y3QudW5pdC5uYW1lfWAgOiAnLSc7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICogQGluaGVyaXREb2NcbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q29zdFJ1YlN0cigpOiBzdHJpbmcge1xuICAgICAgICByZXR1cm4gdGhpcy5jb3N0UnViID4gMCA/IGAke3RoaXMuY29zdFJ1Yi50b0xvY2FsZVN0cmluZygpfSDigr1gIDogJy0nO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBpbmhlcml0RG9jXG4gICAgICovXG4gICAgcHVibGljIGdldENvc3RNZXNzYWdlKCk6IHN0cmluZyB7XG4gICAgICAgIHJldHVybiB0aGlzLmNvc3RSdWIgPT09IDAgPyAn0KbQtdC90LAg0YLRgNC10LHRg9C10YIg0YPRgtC+0YfQvdC10L3QuNGPJyA6ICcnO1xuICAgIH1cbn1cbiJdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9vcmRlci9pbnRlcm5hbC9zYy1pLW9yZGVyLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjSVByb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2ludGVyZmFjZXMvc2MtaS1wcm9kdWN0JztcbmltcG9ydCB7IFNjSUNvbmZpZ3VyYXRvclNlYXJjaFByb2R1Y3RCYXNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdG9yL2R0by9zYy1pLWNvbmZpZ3VyYXRvci1zZWFyY2gtcHJvZHVjdC1iYXNlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LXQtNC40L3QuNGH0L3QvtC5INC/0L7Qt9C40YbQuNC4INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0Lgg0LIg0LfQsNC60LDQt9C1LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU9yZGVySXRlbSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC30LjRhtC40LguXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQviDRgtC+0LLQsNGA0LUuINCg0LDQstC10L0gYG51bGxgINC10YHQu9C4INGC0L7QstCw0YAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgi5cbiAgICAgKi9cbiAgICBwcm9kdWN0OiBTY0lQcm9kdWN0IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C40YfQtdGB0YLQstC+INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCY0YLQvtCz0L7QstCw0Y8g0YHRgtC+0LjQvNC+0YHRgtGMINGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4INCyINCy0LDQu9GO0YLQtS5cbiAgICAgKi9cbiAgICBjb3N0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0L7QuNC80L7RgdGC0Ywg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0Lgg0LIg0LLQsNC70Y7RgtC1LlxuICAgICAqL1xuICAgIGNvc3RPbmU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0YLQvtC40LzQvtGB0YLRjCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAg0LjQu9C4INGD0YHQu9GD0LPQuCDQsiDRgNGD0LHQu9GP0YUuXG4gICAgICovXG4gICAgY29zdE9uZVJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JjRgtC+0LPQvtCy0LDRjyDRgdGC0L7QuNC80L7RgdGC0Ywg0L/QvtC30LjRhtC40Lgg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgY29zdFJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0J7Qv9C40YHQsNC90LjQtSDQv9C+0LfQuNGG0LjQuC5cbiAgICAgKi9cbiAgICBtYXJrZXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YHQvtGC0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGhlaWdodD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCU0LvQuNC90LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGxlbmd0aD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCo0LjRgNC40L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgd2lkdGg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQu9C+0LPQuNGH0LXRgdC60L7QuSDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIv0YPRgdC70YPQsy5cbiAgICAgKi9cbiAgICBsb2dpY0dyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQndCw0L/RgNCw0LLQu9C10L3QuNC1INC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBzYWxlc0RpcmVjdGlvbj86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFVSTCDQuNC30L7QsdGA0LDQttC10L3QuNGPINGB0L4g0YHQv9C10YbQuNGE0LjQutCw0YbQuNC10LkuXG4gICAgICovXG4gICAgc3BlY2lmaWNhdGlvbkltZ1VybD86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCd0LDQt9Cy0LDQvdC40LUg0LrQvtC90YTQuNCz0YPRgNCw0YLQvtGA0LAuXG4gICAgICovXG4gICAgY29uZmlndXJhdG9yPzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0J/QsNGA0LDQvNC10YLRgNGLINCy0LLQtdC00LXQvdC90YvQtSDQsiDQutC+0L3RhNC40LPRg9GA0LDRgtC+0YAsINC/0YDQuCDQtNC+0LHQsNCy0LvQtdC90LjQuCDQv9C+0LfQuNGG0LjQuCDQsiDQutC+0YDQt9C40L3Rgy5cbiAgICAgKi9cbiAgICBjb25maWd1cmF0b3JQYXJhbXM/OiBTY0lDb25maWd1cmF0b3JTZWFyY2hQcm9kdWN0QmFzZTtcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLQvtC40LzQvtGB0YLRjCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAgKNCy0LrQu9GO0YfQsNGPINCy0LDQu9GO0YLRgykuINCV0YHQu9C4INGB0YLQvtC40LzQvtGB0YLRjCDQvtGC0YHRg9GC0YHRgtCy0YPQtdGCLCDRgtC+INCy0LXRgNC90ZHRgiAnLScuXG4gICAgICovXG4gICAgZ2V0Q29zdFBlckl0ZW0oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgtGA0L7QutC+0LLQvtC1INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0YLQvtC40LzQvtGB0YLQuCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAgKNCy0LrQu9GO0YfQsNGPINC10LTQuNC90LjRhtGDINC40LfQvNC10YDQtdC90LjRjykg0LIg0LLQsNC70Y7RgtC1LiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RJbkN1cnJlbmN5RGVzY1Blckl0ZW0oKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHRgtGA0L7QutC+0LLQvtC1INC/0YDQtdC00YHRgtCw0LLQu9C10L3QuNC1INGB0YLQvtC40LzQvtGB0YLQuCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAgKNCy0LrQu9GO0YfQsNGPINC10LTQuNC90LjRhtGDINC40LfQvNC10YDQtdC90LjRjykg0LIg0YDRg9Cx0LvRj9GFLiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RJblJ1YkRlc2NQZXJJdGVtKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLQvtC40LzQvtGB0YLRjCDRgtC+0LLQsNGA0LAg0LIg0LLQuNC00LUg0YHRgtGA0L7QutC4LiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RSdWJTdHIoKTogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQvtC+0LHRidC10L3QuNC1INC+INC90LXQvtCx0YXQvtC00LjQvNC+0YHRgtC4INGD0YLQvtGH0L3QuNGC0Ywg0YbQtdC90YMg0LjQu9C4INC/0YPRgdGC0YPRjiDRgdGC0YDQvtC60YMuXG4gICAgICovXG4gICAgZ2V0Q29zdE1lc3NhZ2UoKTogc3RyaW5nO1xufVxuIl19
2
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtaS1vcmRlci1pdGVtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvY29yZS9vcmRlci9pbnRlcm5hbC9zYy1pLW9yZGVyLWl0ZW0udHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNjSVByb2R1Y3QgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2ludGVyZmFjZXMvc2MtaS1wcm9kdWN0JztcbmltcG9ydCB7IFNjSUNvbmZpZ3VyYXRvclNlYXJjaFByb2R1Y3RCYXNlIH0gZnJvbSAnLi4vLi4vY29uZmlndXJhdG9yL2R0by9zYy1pLWNvbmZpZ3VyYXRvci1zZWFyY2gtcHJvZHVjdC1iYXNlJztcblxuLyoqXG4gKiDQlNCw0L3QvdGL0LUg0L4g0LXQtNC40L3QuNGH0L3QvtC5INC/0L7Qt9C40YbQuNC4INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0Lgg0LIg0LfQsNC60LDQt9C1LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNjSU9yZGVySXRlbSB7XG4gICAgLyoqXG4gICAgICog0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L/QvtC30LjRhtC40LguXG4gICAgICovXG4gICAgaWQ6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCU0LDQvdC90YvQtSDQviDRgtC+0LLQsNGA0LUuINCg0LDQstC10L0gYG51bGxgINC10YHQu9C4INGC0L7QstCw0YAg0L7RgtGB0YPRgtGB0YLQstGD0LXRgi5cbiAgICAgKi9cbiAgICBwcm9kdWN0OiBTY0lQcm9kdWN0IHwgbnVsbDtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C40YfQtdGB0YLQstC+INGC0L7QstCw0YDQsC/Rg9GB0LvRg9Cz0LguXG4gICAgICovXG4gICAgcXVhbnRpdHk6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCY0YLQvtCz0L7QstCw0Y8g0YHRgtC+0LjQvNC+0YHRgtGMINGC0L7QstCw0YDQsCDQuNC70Lgg0YPRgdC70YPQs9C4INCyINCy0LDQu9GO0YLQtS5cbiAgICAgKi9cbiAgICBjb3N0OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQodGC0L7QuNC80L7RgdGC0Ywg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwINC40LvQuCDRg9GB0LvRg9Cz0Lgg0LIg0LLQsNC70Y7RgtC1LlxuICAgICAqL1xuICAgIGNvc3RPbmU6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCh0YLQvtC40LzQvtGB0YLRjCDQtdC00LjQvdC40YbRiyDRgtC+0LLQsNGA0LAg0LjQu9C4INGD0YHQu9GD0LPQuCDQsiDRgNGD0LHQu9GP0YUuXG4gICAgICovXG4gICAgY29zdE9uZVJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0JjRgtC+0LPQvtCy0LDRjyDRgdGC0L7QuNC80L7RgdGC0Ywg0L/QvtC30LjRhtC40Lgg0LrQvtGA0LfQuNC90YsuXG4gICAgICovXG4gICAgY29zdFJ1YjogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICog0J7Qv9C40YHQsNC90LjQtSDQv9C+0LfQuNGG0LjQuC5cbiAgICAgKi9cbiAgICBtYXJrZXI/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQktGL0YHQvtGC0LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGhlaWdodD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCU0LvQuNC90LAg0YLQvtCy0LDRgNCwLlxuICAgICAqL1xuICAgIGxlbmd0aD86IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqINCo0LjRgNC40L3QsCDRgtC+0LLQsNGA0LAuXG4gICAgICovXG4gICAgd2lkdGg/OiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQu9C+0LPQuNGH0LXRgdC60L7QuSDQs9GA0YPQv9C/0Ysg0YLQvtCy0LDRgNC+0LIv0YPRgdC70YPQsy5cbiAgICAgKi9cbiAgICBsb2dpY0dyb3VwSWQ/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBVUkwg0LjQt9C+0LHRgNCw0LbQtdC90LjRjyDRgdC+INGB0L/QtdGG0LjRhNC40LrQsNGG0LjQtdC5LlxuICAgICAqL1xuICAgIHNwZWNpZmljYXRpb25JbWdVcmw/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQndCw0LfQstCw0L3QuNC1INC60L7QvdGE0LjQs9GD0YDQsNGC0L7RgNCwLlxuICAgICAqL1xuICAgIGNvbmZpZ3VyYXRvcj86IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCf0LDRgNCw0LzQtdGC0YDRiyDQstCy0LXQtNC10L3QvdGL0LUg0LIg0LrQvtC90YTQuNCz0YPRgNCw0YLQvtGALCDQv9GA0Lgg0LTQvtCx0LDQstC70LXQvdC40Lgg0L/QvtC30LjRhtC40Lgg0LIg0LrQvtGA0LfQuNC90YMuXG4gICAgICovXG4gICAgY29uZmlndXJhdG9yUGFyYW1zPzogU2NJQ29uZmlndXJhdG9yU2VhcmNoUHJvZHVjdEJhc2U7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGC0L7QuNC80L7RgdGC0Ywg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwICjQstC60LvRjtGH0LDRjyDQstCw0LvRjtGC0YMpLiDQldGB0LvQuCDRgdGC0L7QuNC80L7RgdGC0Ywg0L7RgtGB0YPRgtGB0YLQstGD0LXRgiwg0YLQviDQstC10YDQvdGR0YIgJy0nLlxuICAgICAqL1xuICAgIGdldENvc3RQZXJJdGVtKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLRgNC+0LrQvtCy0L7QtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDRgdGC0L7QuNC80L7RgdGC0Lgg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwICjQstC60LvRjtGH0LDRjyDQtdC00LjQvdC40YbRgyDQuNC30LzQtdGA0LXQvdC40Y8pINCyINCy0LDQu9GO0YLQtS4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRDb3N0SW5DdXJyZW5jeURlc2NQZXJJdGVtKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0YLRgNC+0LrQvtCy0L7QtSDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjQtSDRgdGC0L7QuNC80L7RgdGC0Lgg0LXQtNC40L3QuNGG0Ysg0YLQvtCy0LDRgNCwICjQstC60LvRjtGH0LDRjyDQtdC00LjQvdC40YbRgyDQuNC30LzQtdGA0LXQvdC40Y8pINCyINGA0YPQsdC70Y/RhS4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRDb3N0SW5SdWJEZXNjUGVySXRlbSgpOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdGC0L7QuNC80L7RgdGC0Ywg0YLQvtCy0LDRgNCwINCyINCy0LjQtNC1INGB0YLRgNC+0LrQuC4g0JXRgdC70Lgg0YHRgtC+0LjQvNC+0YHRgtGMINC+0YLRgdGD0YLRgdGC0LLRg9C10YIsINGC0L4g0LLQtdGA0L3RkdGCICctJy5cbiAgICAgKi9cbiAgICBnZXRDb3N0UnViU3RyKCk6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L7QvtCx0YnQtdC90LjQtSDQviDQvdC10L7QsdGF0L7QtNC40LzQvtGB0YLQuCDRg9GC0L7Rh9C90LjRgtGMINGG0LXQvdGDINC40LvQuCDQv9GD0YHRgtGD0Y4g0YHRgtGA0L7QutGDLlxuICAgICAqL1xuICAgIGdldENvc3RNZXNzYWdlKCk6IHN0cmluZztcbn1cbiJdfQ==
@@ -63,13 +63,12 @@ export class ScOrdersService {
63
63
  });
64
64
  }
65
65
  /**
66
- * Создаёт запрос нового заказа по указанному направлению продаж.
66
+ * Создаёт заказы из выбранных позиций корзины.
67
67
  *
68
- * @param directionId Идентификатор направления продаж.
69
68
  * @param newOrder Данные нового заказа.
70
69
  */
71
- createOrder$(directionId, newOrder) {
72
- return this.http.post(`${this.urls.apiUrl}/orders/${directionId}`, newOrder).pipe(map((orders) => orders.map((item) => new ScOrderShort(item))), tap((orders) => {
70
+ createOrder$(newOrder) {
71
+ return this.http.post(`${this.urls.apiUrl}/orders/from-cart`, newOrder).pipe(map((orders) => orders.map((item) => new ScOrderShort(item))), tap((orders) => {
73
72
  orders.forEach((order) => {
74
73
  this.userMetrikaService.emitUserMetrikaEvent({
75
74
  target: ScUserMetrikaGoalsEnum.orderCreated,
@@ -77,7 +76,7 @@ export class ScOrdersService {
77
76
  });
78
77
  });
79
78
  }), tap(() => {
80
- this.uiService.removeNewOrderMetadata(directionId);
79
+ this.uiService.removeNewOrderMetadata();
81
80
  }));
82
81
  }
83
82
  /**
@@ -216,4 +215,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
216
215
  providedIn: 'root',
217
216
  }]
218
217
  }], ctorParameters: () => [] });
219
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL3NlcnZpY2VzL3NjLW9yZGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBSXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQThDeEI7O09BRUc7SUFDSDtRQWhEQTs7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SyxDQUFDLENBQUM7UUFDL0IsQ0FBQztJQUNMLENBQUM7K0dBMU9RLGVBQWU7bUhBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0LCBwYXJzZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NhcnQnO1xuaW1wb3J0IHsgU2NDYWNoZWRJdGVtIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9jbGFzc2VzL3NjLWNhY2hlZC1pdGVtJztcbmltcG9ydCB7IFNjSURhdGVGb3JtYXQsIFNjSVVwZGF0ZUludGVydmFsLCBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IFNjSVBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTY09yZGVyU3RhdGVTdGF0dXMgfSBmcm9tICcuLi8uLi9yZWZlcmVuY2VzL2VudW1zL3NjLW9yZGVyLXN0YXRlLXN0YXR1cyc7XG5pbXBvcnQgeyBTQ19EQVRFX0ZPUk1BVCwgU0NfVVBEQVRFX0lOVEVSVkFMLCBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IFNjVUlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWknO1xuaW1wb3J0IHsgU2NVc2VyIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlcic7XG5pbXBvcnQgeyBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi91c2VyL3Rva2Vucy9zYy11c2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYSc7XG5pbXBvcnQgeyBTY0RlbGl2ZXJ5Q29zdCB9IGZyb20gJy4uL2NsYXNzZXMvc2MtZGVsaXZlcnktY29zdCc7XG5pbXBvcnQgeyBTY0lPcmRlckhpc3RvcnkgfSBmcm9tICcuLi9jbGFzc2VzL3NjLWktb3JkZXItaGlzdG9yeSc7XG5pbXBvcnQgeyBTY09yZGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlcic7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItaXRlbSc7XG5pbXBvcnQgeyBTY09yZGVyU2hvcnQgfSBmcm9tICcuLi9jbGFzc2VzL3NjLW9yZGVyLXNob3J0JztcbmltcG9ydCB7IFNjSURlbGl2ZXJ5Q29zdERUTywgU2NJTmV3T3JkZXIsIFNjSU9yZGVyLCBTY0lPcmRlclNob3J0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NJT3JkZXJMb2FkZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWxvYWRlcic7XG5pbXBvcnQgeyBsb2FkaW5nUGxhY2Vob2xkZXIsIFNjT3JkZXJMb2FkaW5nIH0gZnJvbSAnLi4vdG9rZW5zL3NjLW9yZGVyLWxvYWRlci50b2tlbic7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0LXRgNCy0LjRgdC1INC30LDQutCw0LfQvtCyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY09yZGVyc1NlcnZpY2UgaW1wbGVtZW50cyBTY0lPcmRlckxvYWRlcjxTY09yZGVySXRlbSwgU2NPcmRlcj4ge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gaW5qZWN0KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBkYXRlSW50ZXJ2YWw6IFNjSVVwZGF0ZUludGVydmFsID0gaW5qZWN0KFNDX1VQREFURV9JTlRFUlZBTCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0YDQt9C40L3QvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IFNjQ2FydFNlcnZpY2UgPSBpbmplY3QoU2NDYXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVpU2VydmljZTogU2NVSVNlcnZpY2UgPSBpbmplY3QoU2NVSVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlID0gaW5qZWN0KFNjVXNlck1ldHJpa2FTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LfQsNC60LDQt9C+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+ID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCw0YIg0LTQsNGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0ZUZvcm1hdHM6IFNjSURhdGVGb3JtYXQgPSBpbmplY3QoU0NfREFURV9GT1JNQVQpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY09yZGVyc1NlcnZpY2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy51c2VyJC5waXBlKGZpbHRlcigodXNlcikgPT4gdXNlci5pc0d1ZXN0KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuY2xlYXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC/0YDQvtGBINC90L7QstC+0LPQviDQt9Cw0LrQsNC30LAg0L/QviDRg9C60LDQt9Cw0L3QvdC+0LzRgyDQvdCw0L/RgNCw0LLQu9C10L3QuNGOINC/0YDQvtC00LDQti5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb25JZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCw0L/RgNCw0LLQu9C10L3QuNGPINC/0YDQvtC00LDQti5cbiAgICAgKiBAcGFyYW0gbmV3T3JkZXIg0JTQsNC90L3Ri9C1INC90L7QstC+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGNyZWF0ZU9yZGVyJChkaXJlY3Rpb25JZDogbnVtYmVyLCBuZXdPcmRlcjogU2NJTmV3T3JkZXIpOiBPYnNlcnZhYmxlPFNjT3JkZXJTaG9ydFtdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxTY0lPcmRlclNob3J0W10+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy8ke2RpcmVjdGlvbklkfWAsIG5ld09yZGVyKS5waXBlKFxuICAgICAgICAgICAgbWFwKChvcmRlcnMpID0+IG9yZGVycy5tYXAoKGl0ZW0pID0+IG5ldyBTY09yZGVyU2hvcnQoaXRlbSkpKSxcbiAgICAgICAgICAgIHRhcCgob3JkZXJzOiBTY09yZGVyU2hvcnRbXSkgPT4ge1xuICAgICAgICAgICAgICAgIG9yZGVycy5mb3JFYWNoKChvcmRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnVzZXJNZXRyaWthU2VydmljZS5lbWl0VXNlck1ldHJpa2FFdmVudCh7XG4gICAgICAgICAgICAgICAgICAgICAgICB0YXJnZXQ6IFNjVXNlck1ldHJpa2FHb2Fsc0VudW0ub3JkZXJDcmVhdGVkLFxuICAgICAgICAgICAgICAgICAgICAgICAgcGFyYW1zOiB7IG9yZGVyX2lkOiBvcmRlci5pZCB9LFxuICAgICAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLnVpU2VydmljZS5yZW1vdmVOZXdPcmRlck1ldGFkYXRhKGRpcmVjdGlvbklkKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INC00L7RgdGC0YPQv9C90YvRhSDQtNCw0YIg0LTQvtGB0YLQsNCy0LrQuCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0LDQtNGA0LXRgdCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZWxpdmVyaWVzRGF0YSQoYWRkcmVzc0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvZGVsaXZlcnkvJHthZGRyZXNzSWR9L25lYXJlc3QtZGF0ZXNgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC00LDRgiDRgdCw0LzQvtCy0YvQstC+0LfQsCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdhcmVob3VzZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VsZkRlbGl2ZXJpZXNEYXRhJCh3YXJlaG91c2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL3NlbGYtZGVsaXZlcnkvJHt3YXJlaG91c2VJZH0vbmVhcmVzdC1kYXRlc2ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQt9Cw0LrQsNC30L7QsiDRgSDQv9Cw0LPQuNC90LDRhtC40LXQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3JkZXJzJChwYXJhbXM6IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJUGFnaW5hdGU8U2NJT3JkZXJTaG9ydD4+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVyc2AsIHsgcGFyYW1zOiBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgob3JkZXJzUGFnaW5hdGVEVE8pID0+IHtcbiAgICAgICAgICAgICAgICBvcmRlcnNQYWdpbmF0ZURUTy5kYXRhID0gb3JkZXJzUGFnaW5hdGVEVE8uZGF0YS5tYXAoKGl0ZW0pID0+IG5ldyBTY09yZGVyU2hvcnQoaXRlbSkpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yZGVyc1BhZ2luYXRlRFRPIGFzIFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD47XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0L7Qu9C90YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQt9Cw0LrQsNC30LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICogQHBhcmFtIGNhY2hlYWJsZSDQn9GA0LjQt9C90LDQuiDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30LAg0LjQtyDQutGN0YjQuNGA0L7QstCw0L3QvdGL0YUg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQkKG9yZGVySWQ6IG51bWJlciwgY2FjaGVhYmxlOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8U2NPcmRlciB8IFNjT3JkZXJMb2FkaW5nPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtKSB7XG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbShcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUludGVydmFsLm9yZGVyRGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfWApLnBpcGUobWFwKChkYXRhKSA9PiBuZXcgU2NPcmRlcihkYXRhKSkpLFxuICAgICAgICAgICAgICAgIGxvYWRpbmdQbGFjZWhvbGRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGNhY2hlYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuc2V0KG9yZGVySWQsIGNhY2hlZEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhY2hlYWJsZSAmJiAhY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gY2FjaGVhYmxlINCf0YDQuNC30L3QsNC6INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwINC40Lcg0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9GFINC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SXRlbXMkKGlkOiBudW1iZXIsIGNhY2hlYWJsZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPFNjT3JkZXJJdGVtW10gfCBTY09yZGVyTG9hZGluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQkKGlkLCBjYWNoZWFibGUpLnBpcGUobWFwKChvcmRlcikgPT4gKG9yZGVyID09PSBsb2FkaW5nUGxhY2Vob2xkZXIgPyBsb2FkaW5nUGxhY2Vob2xkZXIgOiAob3JkZXIgYXMgU2NPcmRlcikucHJvZHVjdHMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JrQvtC/0LjRgNGD0LXRgiDRgtC+0LLQsNGA0Ysg0LfQsNC60LDQt9CwINCyINC60L7RgNC30LjQvdGDINGC0LXQutGD0YnQtdCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9uZSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy8ke29yZGVySWR9L2Nsb25lYCwge30pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLm9yZGVyQ2xvbmVkLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb3JkZXJfaWQ6IG9yZGVySWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnVwZGF0ZUNhcnQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JjQt9C80LXQvdGP0LXRgiDRgdGC0LDRgtGD0YEg0LfQsNC60LDQt9CwINC4INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0LHQvdC+0LLQu9GR0L3QvdGL0LUg0LTQsNC90L3Ri9C1INC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcmRlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzIFNsdWcg0L3QvtCy0L7Qs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzRGV0YWlsIFNsdWcg0LTQtdGC0LDQu9C40LfQuNGA0YPRjtGJ0LXQs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hhbmdlT3JkZXJTdGF0dXMkKG9yZGVySWQ6IG51bWJlciwgc3RhdHVzOiBTY09yZGVyU3RhdGVTdGF0dXMsIHN0YXR1c0RldGFpbD86IHN0cmluZyB8IG51bGwpOiBPYnNlcnZhYmxlPFNjT3JkZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBhdGNoPFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfS9zdGF0dXNgLCB7XG4gICAgICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgICAgIHN0YXR1c0RldGFpbCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGR0bykgPT4gbmV3IFNjT3JkZXIoZHRvKSksXG4gICAgICAgICAgICAgICAgdGFwKChvcmRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN5bmNPcmRlckNhY2hlKG9yZGVySWQsIG9yZGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNGB0YLQvtGA0LjRjiDQuNC30LzQtdC90LXQvdC40Y8g0YHRgtCw0YLRg9GB0L7QsiDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldE9yZGVyU3RhdHVzSGlzdG9yeSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lPcmRlckhpc3RvcnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lPcmRlckhpc3RvcnlbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzLyR7b3JkZXJJZH0vaGlzdG9yeWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0YLQvtC40LzQvtGB0YLQuCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqIEBwYXJhbSB3YXJlaG91c2VJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC60LvQsNC00LAuXG4gICAgICogQHBhcmFtIGRhdGUg0JTQsNGC0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVsaXZlcnlDb3N0JChhZGRyZXNzSWQ6IG51bWJlciwgd2FyZWhvdXNlSWQ6IG51bWJlciwgZGF0ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTY0RlbGl2ZXJ5Q29zdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFNjSURlbGl2ZXJ5Q29zdERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL2RlbGl2ZXJ5LyR7YWRkcmVzc0lkfS9jb3N0YCwge1xuICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICB3YXJlaG91c2VfaWQ6IHdhcmVob3VzZUlkLFxuICAgICAgICAgICAgICAgICAgICBkYXRlOiBkYXRlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChvcmRlcnNQYWdpbmF0ZURUTykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZm9ybWF0KHBhcnNlKGRhdGUsIHRoaXMuZGF0ZUZvcm1hdHMuYXBpLCBuZXcgRGF0ZSgpKSwgdGhpcy5kYXRlRm9ybWF0cy51aURhdGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2NEZWxpdmVyeUNvc3Qob3JkZXJzUGFnaW5hdGVEVE8sIGZvcm1hdHRlZERhdGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7QtNGB0YLQsNCy0LvRj9C10YIg0LIg0LrRjdGIINC/0L7Qu9C90L7Qs9C+INC30LDQutCw0LfQsCDQsNC60YLRg9Cw0LvRjNC90YvQtSDQtNCw0L3QvdGL0LUg0L/QvtGB0LvQtSDQvNGD0YLQsNGG0LjQuCDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqIEBwYXJhbSBvcmRlciDQlNCw0L3QvdGL0LUg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3luY09yZGVyQ2FjaGUob3JkZXJJZDogbnVtYmVyLCBvcmRlcjogU2NPcmRlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKGNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0uc2V0VmFsdWUob3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
218
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Mtb3JkZXJzLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb3JlL29yZGVyL3NlcnZpY2VzL3NjLW9yZGVycy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLHNDQUFzQztBQUV0QyxPQUFPLEVBQUUsVUFBVSxFQUFjLE1BQU0sc0JBQXNCLENBQUM7QUFDOUQsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDbkQsT0FBTyxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFDekMsT0FBTyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQWMsR0FBRyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRXBELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxZQUFZLENBQUM7QUFDM0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHNDQUFzQyxDQUFDO0FBSXBFLE9BQU8sRUFBRSxjQUFjLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzNFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxvQkFBb0IsRUFBRSxNQUFNLG9CQUFvQixDQUFDO0FBQ2xGLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQztBQUU3RCxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFFOUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBR3pELE9BQU8sRUFBRSxrQkFBa0IsRUFBa0IsTUFBTSxpQ0FBaUMsQ0FBQzs7QUFFckY7O0dBRUc7QUFJSCxNQUFNLE9BQU8sZUFBZTtJQThDeEI7O09BRUc7SUFDSDtRQWhEQTs7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QUM7K0dBek9RLGVBQWU7bUhBQWYsZUFBZSxjQUZaLE1BQU07OzRGQUVULGVBQWU7a0JBSDNCLFVBQVU7bUJBQUM7b0JBQ1IsVUFBVSxFQUFFLE1BQU07aUJBQ3JCIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tcGFyYW0tcmVhc3NpZ24gKi9cblxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cFBhcmFtcyB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcbmltcG9ydCB7IGluamVjdCwgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgZm9ybWF0LCBwYXJzZSB9IGZyb20gJ2RhdGUtZm5zJztcbmltcG9ydCB7IGZpbHRlciwgbWFwLCBPYnNlcnZhYmxlLCB0YXAgfSBmcm9tICdyeGpzJztcblxuaW1wb3J0IHsgU2NDYXJ0U2VydmljZSB9IGZyb20gJy4uLy4uL2NhcnQnO1xuaW1wb3J0IHsgU2NDYWNoZWRJdGVtIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9jbGFzc2VzL3NjLWNhY2hlZC1pdGVtJztcbmltcG9ydCB7IFNjSURhdGVGb3JtYXQsIFNjSVVwZGF0ZUludGVydmFsLCBTY0lVcmxzIH0gZnJvbSAnLi4vLi4vY29uZmlnJztcbmltcG9ydCB7IFNjSVBhZ2luYXRlIH0gZnJvbSAnLi4vLi4vcGFnaW5hdGlvbic7XG5pbXBvcnQgeyBTY09yZGVyU3RhdGVTdGF0dXMgfSBmcm9tICcuLi8uLi9yZWZlcmVuY2VzL2VudW1zL3NjLW9yZGVyLXN0YXRlLXN0YXR1cyc7XG5pbXBvcnQgeyBTQ19EQVRFX0ZPUk1BVCwgU0NfVVBEQVRFX0lOVEVSVkFMLCBTQ19VUkxTIH0gZnJvbSAnLi4vLi4vdG9rZW5zJztcbmltcG9ydCB7IFNjVUlTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vdWknO1xuaW1wb3J0IHsgU2NVc2VyIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlcic7XG5pbXBvcnQgeyBTQ19VU0VSX0lORk8gfSBmcm9tICcuLi8uLi91c2VyL3Rva2Vucy9zYy11c2VyLXByb3ZpZGVycyc7XG5pbXBvcnQgeyBTY1VzZXJNZXRyaWthR29hbHNFbnVtLCBTY1VzZXJNZXRyaWthU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXItbWV0cmlrYSc7XG5pbXBvcnQgeyBTY0RlbGl2ZXJ5Q29zdCB9IGZyb20gJy4uL2NsYXNzZXMvc2MtZGVsaXZlcnktY29zdCc7XG5pbXBvcnQgeyBTY0lPcmRlckhpc3RvcnkgfSBmcm9tICcuLi9jbGFzc2VzL3NjLWktb3JkZXItaGlzdG9yeSc7XG5pbXBvcnQgeyBTY09yZGVyIH0gZnJvbSAnLi4vY2xhc3Nlcy9zYy1vcmRlcic7XG5pbXBvcnQgeyBTY09yZGVySXRlbSB9IGZyb20gJy4uL2NsYXNzZXMvc2Mtb3JkZXItaXRlbSc7XG5pbXBvcnQgeyBTY09yZGVyU2hvcnQgfSBmcm9tICcuLi9jbGFzc2VzL3NjLW9yZGVyLXNob3J0JztcbmltcG9ydCB7IFNjSURlbGl2ZXJ5Q29zdERUTywgU2NJTmV3T3JkZXIsIFNjSU9yZGVyLCBTY0lPcmRlclNob3J0IH0gZnJvbSAnLi4vaW50ZXJuYWwnO1xuaW1wb3J0IHsgU2NJT3JkZXJMb2FkZXIgfSBmcm9tICcuLi9pbnRlcm5hbC9zYy1pLW9yZGVyLWxvYWRlcic7XG5pbXBvcnQgeyBsb2FkaW5nUGxhY2Vob2xkZXIsIFNjT3JkZXJMb2FkaW5nIH0gZnJvbSAnLi4vdG9rZW5zL3NjLW9yZGVyLWxvYWRlci50b2tlbic7XG5cbi8qKlxuICog0JTQsNC90L3Ri9C1INC+INGB0LXRgNCy0LjRgdC1INC30LDQutCw0LfQvtCyLlxuICovXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBTY09yZGVyc1NlcnZpY2UgaW1wbGVtZW50cyBTY0lPcmRlckxvYWRlcjxTY09yZGVySXRlbSwgU2NPcmRlcj4ge1xuICAgIC8qKlxuICAgICAqIEhUVFAt0LrQu9C40LXQvdGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgaHR0cDogSHR0cENsaWVudCA9IGluamVjdChIdHRwQ2xpZW50KTtcblxuICAgIC8qKlxuICAgICAqINCh0L/QuNGB0L7QuiDRgdGB0YvQu9C+0Log0L/RgNC40LvQvtC20LXQvdC40Y8uXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1cmxzOiBTY0lVcmxzID0gaW5qZWN0KFNDX1VSTFMpO1xuXG4gICAgLyoqXG4gICAgICoge0BsaW5rIE9ic2VydmFibGV9INC00LDQvdC90YvRhSDQviDRgtC10LrRg9GJ0LXQvCDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyJDogT2JzZXJ2YWJsZTxTY1VzZXI+ID0gaW5qZWN0KFNDX1VTRVJfSU5GTyk7XG5cbiAgICAvKipcbiAgICAgKiDQmNC90YLQtdGA0LLQsNC70Ysg0L7QsdC90L7QstC70LXQvdC40Y8g0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXBkYXRlSW50ZXJ2YWw6IFNjSVVwZGF0ZUludGVydmFsID0gaW5qZWN0KFNDX1VQREFURV9JTlRFUlZBTCk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSDQutC+0YDQt9C40L3QvtC5LlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgY2FydFNlcnZpY2U6IFNjQ2FydFNlcnZpY2UgPSBpbmplY3QoU2NDYXJ0U2VydmljZSk7XG5cbiAgICAvKipcbiAgICAgKiDQodC10YDQstC40YEg0LTQu9GPINGA0LDQsdC+0YLRiyDRgSBVSS5cbiAgICAgKi9cbiAgICBwcml2YXRlIHJlYWRvbmx5IHVpU2VydmljZTogU2NVSVNlcnZpY2UgPSBpbmplY3QoU2NVSVNlcnZpY2UpO1xuXG4gICAgLyoqXG4gICAgICog0KHQtdGA0LLQuNGBINC00LvRjyDRgdCx0L7RgNCwINC80LXRgtGA0LjQuiDQviDQtNC10LnRgdGC0LLQuNGP0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9C10LkuXG4gICAgICovXG4gICAgcHJpdmF0ZSByZWFkb25seSB1c2VyTWV0cmlrYVNlcnZpY2U6IFNjVXNlck1ldHJpa2FTZXJ2aWNlID0gaW5qZWN0KFNjVXNlck1ldHJpa2FTZXJ2aWNlKTtcblxuICAgIC8qKlxuICAgICAqINCa0L7Qu9C70LXQutGG0LjRjyDQv9Cw0YAg0LrQu9GO0Yct0LfQvdCw0YfQtdC90LjQtSDQtNC70Y8g0LfQsNC60LDQt9C+0LIg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgb3JkZXJNYXA6IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+ID0gbmV3IE1hcDxudW1iZXIgfCBzdHJpbmcsIFNjQ2FjaGVkSXRlbTxTY09yZGVyLCBTY09yZGVyTG9hZGluZz4+KCk7XG5cbiAgICAvKipcbiAgICAgKiDQpNC+0YDQvNCw0YIg0LTQsNGCLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgZGF0ZUZvcm1hdHM6IFNjSURhdGVGb3JtYXQgPSBpbmplY3QoU0NfREFURV9GT1JNQVQpO1xuXG4gICAgLyoqXG4gICAgICog0JjQvdC40YbQuNCw0LvQuNC30LjRgNGD0LXRgiDRjdC60LfQtdC80L/Qu9GP0YAg0LrQu9Cw0YHRgdCwIHtAbGluayBTY09yZGVyc1NlcnZpY2V9LlxuICAgICAqL1xuICAgIHB1YmxpYyBjb25zdHJ1Y3RvcigpIHtcbiAgICAgICAgdGhpcy51c2VyJC5waXBlKGZpbHRlcigodXNlcikgPT4gdXNlci5pc0d1ZXN0KSkuc3Vic2NyaWJlKCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuY2xlYXIoKTtcbiAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KHQvtC30LTQsNGR0YIg0LfQsNC60LDQt9GLINC40Lcg0LLRi9Cx0YDQsNC90L3Ri9GFINC/0L7Qt9C40YbQuNC5INC60L7RgNC30LjQvdGLLlxuICAgICAqXG4gICAgICogQHBhcmFtIG5ld09yZGVyINCU0LDQvdC90YvQtSDQvdC+0LLQvtCz0L4g0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjcmVhdGVPcmRlciQobmV3T3JkZXI6IFNjSU5ld09yZGVyKTogT2JzZXJ2YWJsZTxTY09yZGVyU2hvcnRbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8U2NJT3JkZXJTaG9ydFtdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvZnJvbS1jYXJ0YCwgbmV3T3JkZXIpLnBpcGUoXG4gICAgICAgICAgICBtYXAoKG9yZGVycykgPT4gb3JkZXJzLm1hcCgoaXRlbSkgPT4gbmV3IFNjT3JkZXJTaG9ydChpdGVtKSkpLFxuICAgICAgICAgICAgdGFwKChvcmRlcnM6IFNjT3JkZXJTaG9ydFtdKSA9PiB7XG4gICAgICAgICAgICAgICAgb3JkZXJzLmZvckVhY2goKG9yZGVyKSA9PiB7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldDogU2NVc2VyTWV0cmlrYUdvYWxzRW51bS5vcmRlckNyZWF0ZWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb3JkZXJfaWQ6IG9yZGVyLmlkIH0sXG4gICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSksXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudWlTZXJ2aWNlLnJlbW92ZU5ld09yZGVyTWV0YWRhdGEoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YHQv9C40YHQvtC6INC00L7RgdGC0YPQv9C90YvRhSDQtNCw0YIg0LTQvtGB0YLQsNCy0LrQuCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0LDQtNGA0LXRgdCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXREZWxpdmVyaWVzRGF0YSQoYWRkcmVzc0lkOiBudW1iZXIpOiBPYnNlcnZhYmxlPHN0cmluZ1tdPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PHN0cmluZ1tdPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvZGVsaXZlcnkvJHthZGRyZXNzSWR9L25lYXJlc3QtZGF0ZXNgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDRgdC/0LjRgdC+0Log0LTQvtGB0YLRg9C/0L3Ri9GFINC00LDRgiDRgdCw0LzQvtCy0YvQstC+0LfQsCDQtNC70Y8g0YPQutCw0LfQsNC90L3QvtCz0L4g0YHQutC70LDQtNCwLlxuICAgICAqXG4gICAgICogQHBhcmFtIHdhcmVob3VzZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0U2VsZkRlbGl2ZXJpZXNEYXRhJCh3YXJlaG91c2VJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxzdHJpbmdbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxzdHJpbmdbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL3NlbGYtZGVsaXZlcnkvJHt3YXJlaG91c2VJZH0vbmVhcmVzdC1kYXRlc2ApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDQt9Cw0LrQsNC30L7QsiDRgSDQv9Cw0LPQuNC90LDRhtC40LXQuS5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYXJhbXMg0J/QsNGA0LDQvNC10YLRgNGLINC30LDQv9GA0L7RgdCwINC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0T3JkZXJzJChwYXJhbXM6IEh0dHBQYXJhbXMpOiBPYnNlcnZhYmxlPFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8U2NJUGFnaW5hdGU8U2NJT3JkZXJTaG9ydD4+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVyc2AsIHsgcGFyYW1zOiBwYXJhbXMgfSkucGlwZShcbiAgICAgICAgICAgIG1hcCgob3JkZXJzUGFnaW5hdGVEVE8pID0+IHtcbiAgICAgICAgICAgICAgICBvcmRlcnNQYWdpbmF0ZURUTy5kYXRhID0gb3JkZXJzUGFnaW5hdGVEVE8uZGF0YS5tYXAoKGl0ZW0pID0+IG5ldyBTY09yZGVyU2hvcnQoaXRlbSkpO1xuXG4gICAgICAgICAgICAgICAgcmV0dXJuIG9yZGVyc1BhZ2luYXRlRFRPIGFzIFNjSVBhZ2luYXRlPFNjT3JkZXJTaG9ydD47XG4gICAgICAgICAgICB9KVxuICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC/0L7Qu9C90YPRjiDQuNC90YTQvtGA0LzQsNGG0LjRjiDQviDQt9Cw0LrQsNC30LUuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICogQHBhcmFtIGNhY2hlYWJsZSDQn9GA0LjQt9C90LDQuiDQstC+0LfQvNC+0LbQvdC+0YHRgtC4INC/0L7Qu9GD0YfQtdC90LjRjyDQt9Cw0LrQsNC30LAg0LjQtyDQutGN0YjQuNGA0L7QstCw0L3QvdGL0YUg0LTQsNC90L3Ri9GFLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXQkKG9yZGVySWQ6IG51bWJlciwgY2FjaGVhYmxlOiBib29sZWFuID0gdHJ1ZSk6IE9ic2VydmFibGU8U2NPcmRlciB8IFNjT3JkZXJMb2FkaW5nPiB7XG4gICAgICAgIGxldCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKCFjYWNoZWRJdGVtKSB7XG4gICAgICAgICAgICBjYWNoZWRJdGVtID0gbmV3IFNjQ2FjaGVkSXRlbShcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZUludGVydmFsLm9yZGVyRGF0YSxcbiAgICAgICAgICAgICAgICB0aGlzLmh0dHAuZ2V0PFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfWApLnBpcGUobWFwKChkYXRhKSA9PiBuZXcgU2NPcmRlcihkYXRhKSkpLFxuICAgICAgICAgICAgICAgIGxvYWRpbmdQbGFjZWhvbGRlclxuICAgICAgICAgICAgKTtcblxuICAgICAgICAgICAgaWYgKGNhY2hlYWJsZSkge1xuICAgICAgICAgICAgICAgIHRoaXMub3JkZXJNYXAuc2V0KG9yZGVySWQsIGNhY2hlZEl0ZW0pO1xuICAgICAgICAgICAgfVxuICAgICAgICB9XG5cbiAgICAgICAgaWYgKGNhY2hlYWJsZSAmJiAhY2FjaGVkSXRlbS5jYWNoZWREYXRhSXNBY3R1YWwoKSkge1xuICAgICAgICAgICAgY2FjaGVkSXRlbS51cGRhdGUoKTtcbiAgICAgICAgfVxuXG4gICAgICAgIHJldHVybiBjYWNoZWRJdGVtLml0ZW0kO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGB0L/QuNGB0L7QuiDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gY2FjaGVhYmxlINCf0YDQuNC30L3QsNC6INCy0L7Qt9C80L7QttC90L7RgdGC0Lgg0L/QvtC70YPRh9C10L3QuNGPINGB0L/QuNGB0LrQsCDRjdC70LXQvNC10L3RgtC+0LIg0LfQsNC60LDQt9CwINC40Lcg0LrRjdGI0LjRgNC+0LLQsNC90L3Ri9GFINC00LDQvdC90YvRhS5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0SXRlbXMkKGlkOiBudW1iZXIsIGNhY2hlYWJsZTogYm9vbGVhbiA9IHRydWUpOiBPYnNlcnZhYmxlPFNjT3JkZXJJdGVtW10gfCBTY09yZGVyTG9hZGluZz4ge1xuICAgICAgICByZXR1cm4gdGhpcy5nZXQkKGlkLCBjYWNoZWFibGUpLnBpcGUobWFwKChvcmRlcikgPT4gKG9yZGVyID09PSBsb2FkaW5nUGxhY2Vob2xkZXIgPyBsb2FkaW5nUGxhY2Vob2xkZXIgOiAob3JkZXIgYXMgU2NPcmRlcikucHJvZHVjdHMpKSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JrQvtC/0LjRgNGD0LXRgiDRgtC+0LLQsNGA0Ysg0LfQsNC60LDQt9CwINCyINC60L7RgNC30LjQvdGDINGC0LXQutGD0YnQtdCz0L4g0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBjbG9uZSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTx1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cC5wYXRjaDx1bmRlZmluZWQ+KGAke3RoaXMudXJscy5hcGlVcmx9L29yZGVycy8ke29yZGVySWR9L2Nsb25lYCwge30pLnBpcGUoXG4gICAgICAgICAgICB0YXAoKCkgPT4ge1xuICAgICAgICAgICAgICAgIHRoaXMudXNlck1ldHJpa2FTZXJ2aWNlLmVtaXRVc2VyTWV0cmlrYUV2ZW50KHtcbiAgICAgICAgICAgICAgICAgICAgdGFyZ2V0OiBTY1VzZXJNZXRyaWthR29hbHNFbnVtLm9yZGVyQ2xvbmVkLFxuICAgICAgICAgICAgICAgICAgICBwYXJhbXM6IHsgb3JkZXJfaWQ6IG9yZGVySWQgfSxcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pLFxuICAgICAgICAgICAgdGFwKCgpID0+IHtcbiAgICAgICAgICAgICAgICB0aGlzLmNhcnRTZXJ2aWNlLnVwZGF0ZUNhcnQoKTtcbiAgICAgICAgICAgIH0pXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JjQt9C80LXQvdGP0LXRgiDRgdGC0LDRgtGD0YEg0LfQsNC60LDQt9CwINC4INCy0L7Qt9Cy0YDQsNGJ0LDQtdGCINC+0LHQvdC+0LLQu9GR0L3QvdGL0LUg0LTQsNC90L3Ri9C1INC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBvcmRlcklkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzIFNsdWcg0L3QvtCy0L7Qs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKiBAcGFyYW0gc3RhdHVzRGV0YWlsIFNsdWcg0LTQtdGC0LDQu9C40LfQuNGA0YPRjtGJ0LXQs9C+INGB0YLQsNGC0YPRgdCwINC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2hhbmdlT3JkZXJTdGF0dXMkKG9yZGVySWQ6IG51bWJlciwgc3RhdHVzOiBTY09yZGVyU3RhdGVTdGF0dXMsIHN0YXR1c0RldGFpbD86IHN0cmluZyB8IG51bGwpOiBPYnNlcnZhYmxlPFNjT3JkZXI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuaHR0cFxuICAgICAgICAgICAgLnBhdGNoPFNjSU9yZGVyPihgJHt0aGlzLnVybHMuYXBpVXJsfS9vcmRlcnMvJHtvcmRlcklkfS9zdGF0dXNgLCB7XG4gICAgICAgICAgICAgICAgc3RhdHVzLFxuICAgICAgICAgICAgICAgIHN0YXR1c0RldGFpbCxcbiAgICAgICAgICAgIH0pXG4gICAgICAgICAgICAucGlwZShcbiAgICAgICAgICAgICAgICBtYXAoKGR0bykgPT4gbmV3IFNjT3JkZXIoZHRvKSksXG4gICAgICAgICAgICAgICAgdGFwKChvcmRlcikgPT4ge1xuICAgICAgICAgICAgICAgICAgICB0aGlzLnN5bmNPcmRlckNhY2hlKG9yZGVySWQsIG9yZGVyKTtcbiAgICAgICAgICAgICAgICB9KVxuICAgICAgICAgICAgKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiDQuNGB0YLQvtGA0LjRjiDQuNC30LzQtdC90LXQvdC40Y8g0YHRgtCw0YLRg9GB0L7QsiDQt9Cw0LrQsNC30LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gb3JkZXJJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldE9yZGVyU3RhdHVzSGlzdG9yeSQob3JkZXJJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lPcmRlckhpc3RvcnlbXT4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwLmdldDxTY0lPcmRlckhpc3RvcnlbXT4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzLyR7b3JkZXJJZH0vaGlzdG9yeWApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC40L3RhNC+0YDQvNCw0YbQuNGOINC+INGB0YLQvtC40LzQvtGB0YLQuCDQtNC+0YHRgtCw0LLQutC4LlxuICAgICAqXG4gICAgICogQHBhcmFtIGFkZHJlc3NJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQsNC00YDQtdGB0LAg0LTQvtGB0YLQsNCy0LrQuCDQutC+0L3RgtGA0LDQs9C10L3RgtCwINC60LvQuNC10L3RgtCwLlxuICAgICAqIEBwYXJhbSB3YXJlaG91c2VJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDRgdC60LvQsNC00LAuXG4gICAgICogQHBhcmFtIGRhdGUg0JTQsNGC0LAg0LTQvtGB0YLQsNCy0LrQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0RGVsaXZlcnlDb3N0JChhZGRyZXNzSWQ6IG51bWJlciwgd2FyZWhvdXNlSWQ6IG51bWJlciwgZGF0ZTogc3RyaW5nKTogT2JzZXJ2YWJsZTxTY0RlbGl2ZXJ5Q29zdD4ge1xuICAgICAgICByZXR1cm4gdGhpcy5odHRwXG4gICAgICAgICAgICAuZ2V0PFNjSURlbGl2ZXJ5Q29zdERUTz4oYCR7dGhpcy51cmxzLmFwaVVybH0vb3JkZXJzL2RlbGl2ZXJ5LyR7YWRkcmVzc0lkfS9jb3N0YCwge1xuICAgICAgICAgICAgICAgIHBhcmFtczoge1xuICAgICAgICAgICAgICAgICAgICB3YXJlaG91c2VfaWQ6IHdhcmVob3VzZUlkLFxuICAgICAgICAgICAgICAgICAgICBkYXRlOiBkYXRlLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB9KVxuICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgbWFwKChvcmRlcnNQYWdpbmF0ZURUTykgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBmb3JtYXR0ZWREYXRlID0gZm9ybWF0KHBhcnNlKGRhdGUsIHRoaXMuZGF0ZUZvcm1hdHMuYXBpLCBuZXcgRGF0ZSgpKSwgdGhpcy5kYXRlRm9ybWF0cy51aURhdGUpO1xuXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiBuZXcgU2NEZWxpdmVyeUNvc3Qob3JkZXJzUGFnaW5hdGVEVE8sIGZvcm1hdHRlZERhdGUpO1xuICAgICAgICAgICAgICAgIH0pXG4gICAgICAgICAgICApO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCf0L7QtNGB0YLQsNCy0LvRj9C10YIg0LIg0LrRjdGIINC/0L7Qu9C90L7Qs9C+INC30LDQutCw0LfQsCDQsNC60YLRg9Cw0LvRjNC90YvQtSDQtNCw0L3QvdGL0LUg0L/QvtGB0LvQtSDQvNGD0YLQsNGG0LjQuCDQvdCwINGB0LXRgNCy0LXRgNC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIG9yZGVySWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0LfQsNC60LDQt9CwLlxuICAgICAqIEBwYXJhbSBvcmRlciDQlNCw0L3QvdGL0LUg0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHByaXZhdGUgc3luY09yZGVyQ2FjaGUob3JkZXJJZDogbnVtYmVyLCBvcmRlcjogU2NPcmRlcik6IHZvaWQge1xuICAgICAgICBjb25zdCBjYWNoZWRJdGVtID0gdGhpcy5vcmRlck1hcC5nZXQob3JkZXJJZCk7XG5cbiAgICAgICAgaWYgKGNhY2hlZEl0ZW0pIHtcbiAgICAgICAgICAgIGNhY2hlZEl0ZW0uc2V0VmFsdWUob3JkZXIpO1xuICAgICAgICB9XG4gICAgfVxufVxuIl19
@@ -1,6 +1,6 @@
1
1
  /* eslint-disable security/detect-object-injection */
2
2
  import { Injectable } from '@angular/core';
3
- import { distinctUntilChanged, first, map, ReplaySubject, skip, switchMap } from 'rxjs';
3
+ import { first, map, ReplaySubject, skip, switchMap } from 'rxjs';
4
4
  import { ScUserMetadata } from '../../user/dto/sc-user-metadata';
5
5
  import { ScUserType } from '../../user/enums/sc-user-type';
6
6
  import { filterChangedByKey } from '../utils/filter-changed-by-key';
@@ -98,54 +98,28 @@ export class ScUIService {
98
98
  this.setMetadataByKey('paginatePageSize', paginatePageSize);
99
99
  }
100
100
  /**
101
- * Возвращает {@link Observable} метаданных неоформленного заказа по направлению продаж.
102
- *
103
- * @param directionsId Идентификатор направления продаж.
101
+ * Возвращает {@link Observable} метаданных неоформленного заказа.
104
102
  */
105
- getNewOrderMetadata$(directionsId) {
106
- // Данные представлены массивом объектов, поэтому не используется getMetadataChangeByKey$().
107
- return this.userMetadataSubject.pipe(map((metadata) => metadata.newOrdersMetadata), distinctUntilChanged(), map((ordersMetadata) => ordersMetadata[directionsId]), distinctUntilChanged());
103
+ getNewOrderMetadata$() {
104
+ return this.getMetadataChangeByKey$('newOrderMetadata');
108
105
  }
109
106
  /**
110
- * Устанавливает метаданные неоформленного заказа по направлению продаж.
107
+ * Устанавливает метаданные неоформленного заказа.
111
108
  *
112
- * @param directionsId Идентификатор направления продаж.
113
109
  * @param newOrderMetadata Данные нового неоформленного заказа.
114
110
  */
115
- setNewOrderMetadata(directionsId, newOrderMetadata) {
111
+ setNewOrderMetadata(newOrderMetadata) {
116
112
  // При сохранении изображения выдаёт ошибку 500 'Произошла ошибка при работе с базой данных'.
117
113
  // TODO: TASK[#6370]: Доработать после решения задачи.
118
- if (newOrderMetadata.image) {
119
- // eslint-disable-next-line no-param-reassign
120
- delete newOrderMetadata.image;
121
- }
122
- this.getMetadataChangeByKey$('newOrdersMetadata')
123
- .pipe(first())
124
- .subscribe((ordersMetadata) => {
125
- // eslint-disable-next-line no-param-reassign
126
- ordersMetadata[directionsId] = newOrderMetadata;
127
- this.setMetadataByKey('newOrdersMetadata', structuredClone(ordersMetadata));
128
- });
129
- }
130
- /**
131
- * Удаляет метаданные неоформленного заказа по направлению продаж.
132
- *
133
- * @param directionsId Идентификатор направления продаж.
134
- */
135
- removeNewOrderMetadata(directionsId) {
136
- this.getMetadataChangeByKey$('newOrdersMetadata')
137
- .pipe(first())
138
- .subscribe((ordersMetadata) => {
139
- // eslint-disable-next-line @typescript-eslint/no-dynamic-delete,no-param-reassign
140
- delete ordersMetadata[directionsId];
141
- this.setMetadataByKey('newOrdersMetadata', structuredClone(ordersMetadata));
142
- });
114
+ // eslint-disable-next-line @typescript-eslint/no-unused-vars
115
+ const { image, ...newOrderMetadataWithoutImage } = newOrderMetadata;
116
+ this.setMetadataByKey('newOrderMetadata', newOrderMetadataWithoutImage);
143
117
  }
144
118
  /**
145
- * Удаляет метаданные не оформленных заказов по всем направлениям продаж.
119
+ * Удаляет метаданные неоформленного заказа.
146
120
  */
147
- removeAllNewOrdersMetadata() {
148
- this.setMetadataByKey('newOrdersMetadata', []);
121
+ removeNewOrderMetadata() {
122
+ this.setMetadataByKey('newOrderMetadata', undefined);
149
123
  }
150
124
  /**
151
125
  * Возвращает дату последнего открытия опросников.
@@ -206,4 +180,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
206
180
  providedIn: 'root',
207
181
  }]
208
182
  }], ctorParameters: () => [{ type: i1.ScUserService }] });
209
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdWkvc2VydmljZXMvc2MtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLbEgsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRXBFOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFXcEI7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBZjlEOztXQUVHO1FBQ2Msd0JBQW1CLEdBQWtDLElBQUksYUFBYSxDQUFpQixDQUFDLENBQUMsQ0FBQztRQWF2RyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25ELENBQUM7WUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRWpFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CO2lCQUN0RCxJQUFJLENBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxF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QUF1QixDQUFDLGVBQWUsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksZ0JBQWdCLENBQUMsYUFBOEI7UUFDbEQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLGVBQWUsRUFBRSxhQUFhLENBQUMsQ0FBQztJQUMxRCxDQUFDO0lBRUQ7O09BRUc7SUFDSSwyQkFBMkI7UUFDOUIsT0FBTyxJQUFJLENBQUMsdUJBQXVCLENBQUMsMkJBQTJCLENBQUMsQ0FBQztJQUNyRSxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLDBCQUEwQixDQUFDLHlCQUFrQztRQUNoRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsMkJBQTJCLEVBQUUseUJBQXlCLENBQUMsQ0FBQztJQUNsRixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLHNCQUFzQixDQUFDLG1CQUEyQjtRQUNyRCxJQUFJLENBQUMsZ0JBQWdCLENBQUMscUJBQXFCLEVBQUUsbUJBQW1CLENBQUMsQ0FBQztJQUN0RSxDQUFDOytHQW5PUSxXQUFXO21IQUFYLFdBQVcsY0FGUixNQUFNOzs0RkFFVCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQiIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHNlY3VyaXR5L2RldGVjdC1vYmplY3QtaW5qZWN0aW9uICovXG5cbmltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IGRpc3RpbmN0VW50aWxDaGFuZ2VkLCBmaXJzdCwgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBza2lwLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0NhdGFsb2dGb3JtYXQgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2VudW1zL3NjLWNhdGFsb2ctZm9ybWF0JztcbmltcG9ydCB7IFNjUHJvZHVjdFRpbGVUeXBlIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9lbnVtcy9zYy1wcm9kdWN0LXRpbGUtdHlwZSc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktbmV3LW9yZGVyJztcbmltcG9ydCB7IFNjVXNlck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlci1tZXRhZGF0YSc7XG5pbXBvcnQgeyBTY1VzZXJUeXBlIH0gZnJvbSAnLi4vLi4vdXNlci9lbnVtcy9zYy11c2VyLXR5cGUnO1xuaW1wb3J0IHsgU2NVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvc2MtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IGZpbHRlckNoYW5nZWRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2ZpbHRlci1jaGFuZ2VkLWJ5LWtleSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEgVUkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjVUlTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldGFkYXRhU3ViamVjdDogUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4oMSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LTQv9C40YHQutCwINC90LAg0LjQt9C80LXQvdC10L3QuNC1INC80LXRgtCw0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIG1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVSVNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UpIHtcbiAgICAgICAgdXNlclNlcnZpY2UuZ2V0VXNlckNoYW5nZSQoKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5uZXh0KG5ldyBTY1VzZXJNZXRhZGF0YSh1c2VyLm1ldGFkYXRhKSk7XG5cbiAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uID0gdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0XG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHNraXAoMSksIC8vINCd0LUg0L3Rg9C20L3QviDQvtCx0L3QvtCy0LvRj9GC0Ywg0LTQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9GA0Lgg0LXQs9C+INGB0LzQtdC90LUuXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgobWV0YWRhdGEpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyLnVzZXJUeXBlID09PSBTY1VzZXJUeXBlLmd1ZXN0ID8gdGhpcy51c2VyU2VydmljZS51cGRhdGVHdWVzdEluZm8kKHsgbWV0YWRhdGE6IG1ldGFkYXRhIH0pIDogdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBtZXRhZGF0YTogbWV0YWRhdGEgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQvNC10YLQsNC00LDQvdC90YvRhSwg0LrQvtCz0LTQsCDQuNC30LzQtdC90Y/QtdGC0YHRjyDQt9C90LDRh9C10L3QuNC1INC/0LXRgNC10LTQsNC90L3QvtCz0L4g0YHQstC+0LnRgdGC0LLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQg0KHQstC+0LnRgdGC0LLQviDQtNC70Y8g0LrQvtGC0L7RgNC+0LPQviDQvtGC0YHQu9C10LbQuNCy0LDQtdGC0YHRjyDQuNC30LzQtdC90LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIGdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkPFQgZXh0ZW5kcyBrZXlvZiBTY1VzZXJNZXRhZGF0YSwgUiA9IFNjVXNlck1ldGFkYXRhW1RdPih0YXJnZXQ6IFQpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyQ2hhbmdlZEJ5S2V5KHRhcmdldCksXG4gICAgICAgICAgICBtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YVt0YXJnZXRdIGFzIFIpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC80LXRgtCw0LTQsNC90L3Ri9GFLCDQutC+0LPQtNCwINC40LfQvNC10L3Rj9C10YLRgdGPINC30L3QsNGH0LXQvdC40LUg0L/QtdGA0LXQtNCw0L3QvdC+0LPQviDRgdCy0L7QudGB0YLQstCwLlxuICAgICAqIFRPRE86INCU0L7RgNCw0LHQvtGC0LDRgtGMINGE0YPQvdC60YbQuNGOLCDRh9GC0L7QsdGLINC+0L3QsCDQstC+0LfQstGA0LDRidCw0LvQsCBPYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCDQodCy0L7QudGB0YLQstC+LCDQt9C90LDRh9C10L3QuNC1INC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LjQt9C80LXQvdC40YLRjC5cbiAgICAgKiBAcGFyYW0gdmFsdWUg0J3QvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gICAgcHVibGljIHNldE1ldGFkYXRhQnlLZXk8VCBleHRlbmRzIGtleW9mIFNjVXNlck1ldGFkYXRhLCBWID0gU2NVc2VyTWV0YWRhdGFbVF0+KHRhcmdldDogVCwgdmFsdWU6IFYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3TWV0YWRhdGEgPSBuZXcgU2NVc2VyTWV0YWRhdGEobWV0YWRhdGEpO1xuXG4gICAgICAgICAgICBuZXdNZXRhZGF0YVt0YXJnZXRdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVzZXJNZXRhZGF0YVN1YmplY3QubmV4dChuZXdNZXRhZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICovXG4gICAgcHVibGljIGdldEhpZGRlbkNhdGVnb3JpZXNMaXN0JCgpOiBPYnNlcnZhYmxlPEFycmF5PG51bWJlciB8IHN0cmluZz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2hpZGRlbkNhdGVnb3JpZXMnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgdC/0LjRgdC+0Log0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZHMg0KHQv9C40YHQvtC6INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LksINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LrRgNGL0YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SGlkZGVuQ2F0ZWdvcmllc0xpc3QoY2F0ZWdvcnlJZHM6IEFycmF5PG51bWJlciB8IHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdoaWRkZW5DYXRlZ29yaWVzJywgY2F0ZWdvcnlJZHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQstC40LTQsCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0VGlsZVR5cGUkKCk6IE9ic2VydmFibGU8U2NQcm9kdWN0VGlsZVR5cGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3Byb2R1Y3RUaWxlVHlwZScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINCy0LjQtCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RUaWxlVHlwZSDQktC40LQg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8g0YLQvtCy0LDRgNCwINCyINGB0L/QuNGB0LrQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0UHJvZHVjdFRpbGVUeXBlKHByb2R1Y3RUaWxlVHlwZTogU2NQcm9kdWN0VGlsZVR5cGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdwcm9kdWN0VGlsZVR5cGUnLCBwcm9kdWN0VGlsZVR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGFnaW5hdGVQYWdlU2l6ZSQoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3BhZ2luYXRlUGFnZVNpemUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC+0LvQuNGH0LXRgdGC0LLQviDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdpbmF0ZVBhZ2VTaXplINCa0L7Qu9C40YfQtdGB0YLQstC+INGN0LvQtdC80LXQvdGC0L7QsiDQvdCwINGB0YLRgNCw0L3QuNGG0LUg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRQYWdpbmF0ZVBhZ2VTaXplKHBhZ2luYXRlUGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ3BhZ2luYXRlUGFnZVNpemUnLCBwYWdpbmF0ZVBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGOINC/0YDQvtC00LDQti5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb25zSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsNC/0YDQsNCy0LvQtdC90LjRjyDQv9GA0L7QtNCw0LYuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld09yZGVyTWV0YWRhdGEkKGRpcmVjdGlvbnNJZDogbnVtYmVyKTogT2JzZXJ2YWJsZTxTY0lOZXdPcmRlciB8IHVuZGVmaW5lZD4ge1xuICAgICAgICAvLyDQlNCw0L3QvdGL0LUg0L/RgNC10LTRgdGC0LDQstC70LXQvdGLINC80LDRgdGB0LjQstC+0Lwg0L7QsdGK0LXQutGC0L7Qsiwg0L/QvtGN0YLQvtC80YMg0L3QtSDQuNGB0L/QvtC70YzQt9GD0LXRgtGB0Y8gZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoKS5cbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgbWFwKChtZXRhZGF0YSkgPT4gbWV0YWRhdGEubmV3T3JkZXJzTWV0YWRhdGEpLFxuICAgICAgICAgICAgZGlzdGluY3RVbnRpbENoYW5nZWQoKSxcbiAgICAgICAgICAgIG1hcCgob3JkZXJzTWV0YWRhdGE6IFJlY29yZDxudW1iZXIsIFNjSU5ld09yZGVyIHwgdW5kZWZpbmVkPikgPT4gb3JkZXJzTWV0YWRhdGFbZGlyZWN0aW9uc0lkXSksXG4gICAgICAgICAgICBkaXN0aW5jdFVudGlsQ2hhbmdlZCgpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LzQtdGC0LDQtNCw0L3QvdGL0LUg0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAg0L/QviDQvdCw0L/RgNCw0LLQu9C10L3QuNGOINC/0YDQvtC00LDQti5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBkaXJlY3Rpb25zSWQg0JjQtNC10L3RgtC40YTQuNC60LDRgtC+0YAg0L3QsNC/0YDQsNCy0LvQtdC90LjRjyDQv9GA0L7QtNCw0LYuXG4gICAgICogQHBhcmFtIG5ld09yZGVyTWV0YWRhdGEg0JTQsNC90L3Ri9C1INC90L7QstC+0LPQviDQvdC10L7RhNC+0YDQvNC70LXQvdC90L7Qs9C+INC30LDQutCw0LfQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0TmV3T3JkZXJNZXRhZGF0YShkaXJlY3Rpb25zSWQ6IG51bWJlciwgbmV3T3JkZXJNZXRhZGF0YTogU2NJTmV3T3JkZXIpOiB2b2lkIHtcbiAgICAgICAgLy8g0J/RgNC4INGB0L7RhdGA0LDQvdC10L3QuNC4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LLRi9C00LDRkdGCINC+0YjQuNCx0LrRgyA1MDAgJ9Cf0YDQvtC40LfQvtGI0LvQsCDQvtGI0LjQsdC60LAg0L/RgNC4INGA0LDQsdC+0YLQtSDRgSDQsdCw0LfQvtC5INC00LDQvdC90YvRhScuXG4gICAgICAgIC8vIFRPRE86IFRBU0tbIzYzNzBdOiDQlNC+0YDQsNCx0L7RgtCw0YLRjCDQv9C+0YHQu9C1INGA0LXRiNC10L3QuNGPINC30LDQtNCw0YfQuC5cbiAgICAgICAgaWYgKG5ld09yZGVyTWV0YWRhdGEuaW1hZ2UpIHtcbiAgICAgICAgICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1wYXJhbS1yZWFzc2lnblxuICAgICAgICAgICAgZGVsZXRlIG5ld09yZGVyTWV0YWRhdGEuaW1hZ2U7XG4gICAgICAgIH1cblxuICAgICAgICB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCduZXdPcmRlcnNNZXRhZGF0YScpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3JkZXJzTWV0YWRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcGFyYW0tcmVhc3NpZ25cbiAgICAgICAgICAgICAgICBvcmRlcnNNZXRhZGF0YVtkaXJlY3Rpb25zSWRdID0gbmV3T3JkZXJNZXRhZGF0YTtcbiAgICAgICAgICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ25ld09yZGVyc01ldGFkYXRhJywgc3RydWN0dXJlZENsb25lKG9yZGVyc01ldGFkYXRhKSk7XG4gICAgICAgICAgICB9KTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9C00LDQu9GP0LXRgiDQvNC10YLQsNC00LDQvdC90YvQtSDQvdC10L7RhNC+0YDQvNC70LXQvdC90L7Qs9C+INC30LDQutCw0LfQsCDQv9C+INC90LDQv9GA0LDQstC70LXQvdC40Y4g0L/RgNC+0LTQsNC2LlxuICAgICAqXG4gICAgICogQHBhcmFtIGRpcmVjdGlvbnNJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQvdCw0L/RgNCw0LLQu9C10L3QuNGPINC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlTmV3T3JkZXJNZXRhZGF0YShkaXJlY3Rpb25zSWQ6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCduZXdPcmRlcnNNZXRhZGF0YScpXG4gICAgICAgICAgICAucGlwZShmaXJzdCgpKVxuICAgICAgICAgICAgLnN1YnNjcmliZSgob3JkZXJzTWV0YWRhdGEpID0+IHtcbiAgICAgICAgICAgICAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWR5bmFtaWMtZGVsZXRlLG5vLXBhcmFtLXJlYXNzaWduXG4gICAgICAgICAgICAgICAgZGVsZXRlIG9yZGVyc01ldGFkYXRhW2RpcmVjdGlvbnNJZF07XG4gICAgICAgICAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCduZXdPcmRlcnNNZXRhZGF0YScsIHN0cnVjdHVyZWRDbG9uZShvcmRlcnNNZXRhZGF0YSkpO1xuICAgICAgICAgICAgfSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPQtNCw0LvRj9C10YIg0LzQtdGC0LDQtNCw0L3QvdGL0LUg0L3QtSDQvtGE0L7RgNC80LvQtdC90L3Ri9GFINC30LDQutCw0LfQvtCyINC/0L4g0LLRgdC10Lwg0L3QsNC/0YDQsNCy0LvQtdC90LjRj9C8INC/0YDQvtC00LDQti5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVtb3ZlQWxsTmV3T3JkZXJzTWV0YWRhdGEoKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnbmV3T3JkZXJzTWV0YWRhdGEnLCBbXSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0LTQsNGC0YMg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L7RgtC60YDRi9GC0LjRjyDQvtC/0YDQvtGB0L3QuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0TGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZSQoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2xhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQtNCw0YLRgyDQv9C+0YHQu9C10LTQvdC10LPQviDQvtGC0LrRgNGL0YLQuNGPINC+0L/RgNC+0YHQvdC40LrQvtCyLlxuICAgICAqXG4gICAgICogQHBhcmFtIGxhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUg0JTQsNGC0LAg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L7RgtC60YDRi9GC0LjRjyDQvtC/0YDQvtGB0L3QuNC60L7Qsi5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0TGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZShsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lOiBudW1iZXIgfCB1bmRlZmluZWQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lJywgbGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZSk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIg0YTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0Q2F0YWxvZ0Zvcm1hdCQoKTogT2JzZXJ2YWJsZTxTY0NhdGFsb2dGb3JtYXQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2NhdGFsb2dGb3JtYXQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRhNC+0YDQvNCw0YIg0L7RgtC+0LHRgNCw0LbQtdC90LjRjyDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqXG4gICAgICogQHBhcmFtIGNhdGFsb2dGb3JtYXQg0KTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Q2F0YWxvZ0Zvcm1hdChjYXRhbG9nRm9ybWF0OiBTY0NhdGFsb2dGb3JtYXQpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdjYXRhbG9nRm9ybWF0JywgY2F0YWxvZ0Zvcm1hdCk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC/0YDQuNC30L3QsNC60LAg0YHQstGR0YDQvdGD0YLQvtC5INC00L4g0LfQvdCw0YfQutC+0LIg0LHQvtC60L7QstC+0Lkg0L/QsNC90LXQu9C4INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGFsb2dTaWRlYmFyQ29sbGFwc2VkJCgpOiBPYnNlcnZhYmxlPGJvb2xlYW4gfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2lzQ2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQv9GA0LjQt9C90LDQuiDRgdCy0ZHRgNC90YPRgtC+0Lkg0LTQviDQt9C90LDRh9C60L7QsiDQsdC+0LrQvtCy0L7QuSDQv9Cw0L3QtdC70Lgg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkINCf0YDQuNC30L3QsNC6INGB0LLRkdGA0L3Rg9GC0L7QuSDQtNC+INC30L3QsNGH0LrQvtCyINCx0L7QutC+0LLQvtC5INC/0LDQvdC10LvQuCDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRDYXRhbG9nU2lkZWJhckNvbGxhcHNlZChpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkOiBib29sZWFuKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnaXNDYXRhbG9nU2lkZWJhckNvbGxhcHNlZCcsIGlzQ2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0YvQsdGA0LDQvdC90L7Qs9C+INGB0LrQu9Cw0LTQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBzZWxlY3RlZFdhcmVob3VzZUlkINCY0LTQtdC90YLQuNGE0LjQutCw0YLQvtGAINCy0YvQsdGA0LDQvdC90L7Qs9C+INGB0LrQu9Cw0LTQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0U2VsZWN0ZWRXYXJlaG91c2VJZChzZWxlY3RlZFdhcmVob3VzZUlkOiBudW1iZXIpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdzZWxlY3RlZFdhcmVob3VzZUlkJywgc2VsZWN0ZWRXYXJlaG91c2VJZCk7XG4gICAgfVxufVxuIl19
183
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2MtdWkuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvcmUvdWkvc2VydmljZXMvc2MtdWkuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxREFBcUQ7QUFFckQsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUMzQyxPQUFPLEVBQUUsS0FBSyxFQUFFLEdBQUcsRUFBYyxhQUFhLEVBQUUsSUFBSSxFQUFnQixTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFLNUYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ2pFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUUzRCxPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSxnQ0FBZ0MsQ0FBQzs7O0FBRXBFOztHQUVHO0FBSUgsTUFBTSxPQUFPLFdBQVc7SUFXcEI7Ozs7T0FJRztJQUNILFlBQW9DLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO1FBZjlEOztXQUVHO1FBQ2Msd0JBQW1CLEdBQWtDLElBQUksYUFBYSxDQUFpQixDQUFDLENBQUMsQ0FBQztRQWF2RyxXQUFXLENBQUMsY0FBYyxFQUFFLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDNUMsSUFBSSxJQUFJLENBQUMsMkJBQTJCLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxDQUFDLDJCQUEyQixDQUFDLFdBQVcsRUFBRSxDQUFDO1lBQ25ELENBQUM7WUFFRCxJQUFJLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLElBQUksY0FBYyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDO1lBRWpFLElBQUksQ0FBQywyQkFBMkIsR0FBRyxJQUFJLENBQUMsbUJBQW1CO2lCQUN0RCxJQUFJLENBQ0QsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLHdEQUF3RDtZ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QkFBMkIsQ0FBQyxDQUFDO0lBQ3JFLENBQUM7SUFFRDs7OztPQUlHO0lBQ0ksNEJBQTRCLENBQUMseUJBQTZDO1FBQzdFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQywyQkFBMkIsRUFBRSx5QkFBeUIsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRDs7T0FFRztJQUNJLGlCQUFpQjtRQUNwQixPQUFPLElBQUksQ0FBQyx1QkFBdUIsQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN6RCxDQUFDO0lBRUQ7Ozs7T0FJRztJQUNJLGdCQUFnQixDQUFDLGFBQThCO1FBQ2xELElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxlQUFlLEVBQUUsYUFBYSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOztPQUVHO0lBQ0ksMkJBQTJCO1FBQzlCLE9BQU8sSUFBSSxDQUFDLHVCQUF1QixDQUFDLDJCQUEyQixDQUFDLENBQUM7SUFDckUsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSwwQkFBMEIsQ0FBQyx5QkFBa0M7UUFDaEUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLDJCQUEyQixFQUFFLHlCQUF5QixDQUFDLENBQUM7SUFDbEYsQ0FBQztJQUVEOzs7O09BSUc7SUFDSSxzQkFBc0IsQ0FBQyxtQkFBMkI7UUFDckQsSUFBSSxDQUFDLGdCQUFnQixDQUFDLHFCQUFxQixFQUFFLG1CQUFtQixDQUFDLENBQUM7SUFDdEUsQ0FBQzsrR0FuTVEsV0FBVzttSEFBWCxXQUFXLGNBRlIsTUFBTTs7NEZBRVQsV0FBVztrQkFIdkIsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBzZWN1cml0eS9kZXRlY3Qtb2JqZWN0LWluamVjdGlvbiAqL1xuXG5pbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBmaXJzdCwgbWFwLCBPYnNlcnZhYmxlLCBSZXBsYXlTdWJqZWN0LCBza2lwLCBTdWJzY3JpcHRpb24sIHN3aXRjaE1hcCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBTY0NhdGFsb2dGb3JtYXQgfSBmcm9tICcuLi8uLi9jYXRhbG9nL2VudW1zL3NjLWNhdGFsb2ctZm9ybWF0JztcbmltcG9ydCB7IFNjUHJvZHVjdFRpbGVUeXBlIH0gZnJvbSAnLi4vLi4vY2F0YWxvZy9lbnVtcy9zYy1wcm9kdWN0LXRpbGUtdHlwZSc7XG5pbXBvcnQgeyBTY0lOZXdPcmRlciB9IGZyb20gJy4uLy4uL29yZGVyL2ludGVybmFsL3NjLWktbmV3LW9yZGVyJztcbmltcG9ydCB7IFNjVXNlck1ldGFkYXRhIH0gZnJvbSAnLi4vLi4vdXNlci9kdG8vc2MtdXNlci1tZXRhZGF0YSc7XG5pbXBvcnQgeyBTY1VzZXJUeXBlIH0gZnJvbSAnLi4vLi4vdXNlci9lbnVtcy9zYy11c2VyLXR5cGUnO1xuaW1wb3J0IHsgU2NVc2VyU2VydmljZSB9IGZyb20gJy4uLy4uL3VzZXIvc2VydmljZXMvc2MtdXNlci5zZXJ2aWNlJztcbmltcG9ydCB7IGZpbHRlckNoYW5nZWRCeUtleSB9IGZyb20gJy4uL3V0aWxzL2ZpbHRlci1jaGFuZ2VkLWJ5LWtleSc7XG5cbi8qKlxuICog0KHQtdGA0LLQuNGBINC00LvRjyDRgNCw0LHQvtGC0Ysg0YEgVUkuXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIFNjVUlTZXJ2aWNlIHtcbiAgICAvKipcbiAgICAgKiB7QGxpbmsgUmVwbGF5U3ViamVjdH0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L/QvtC70YzQt9C+0LLQsNGC0LXQu9GPLlxuICAgICAqL1xuICAgIHByaXZhdGUgcmVhZG9ubHkgdXNlck1ldGFkYXRhU3ViamVjdDogUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4gPSBuZXcgUmVwbGF5U3ViamVjdDxTY1VzZXJNZXRhZGF0YT4oMSk7XG5cbiAgICAvKipcbiAgICAgKiDQn9C+0LTQv9C40YHQutCwINC90LAg0LjQt9C80LXQvdC10L3QuNC1INC80LXRgtCw0LTQsNC90L3Ri9GFINC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjy5cbiAgICAgKi9cbiAgICBwcml2YXRlIG1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbj86IFN1YnNjcmlwdGlvbjtcblxuICAgIC8qKlxuICAgICAqINCY0L3QuNGG0LjQsNC70LjQt9C40YDRg9C10YIg0Y3QutC30LXQvNC/0LvRj9GAINC60LvQsNGB0YHQsCB7QGxpbmsgU2NVSVNlcnZpY2V9LlxuICAgICAqXG4gICAgICogQHBhcmFtIHVzZXJTZXJ2aWNlINCh0LXRgNCy0LjRgSDQuNC90YTQvtGA0LzQsNGG0LjQuCDQviDQv9C+0LvRjNC30L7QstCw0YLQtdC70LUuXG4gICAgICovXG4gICAgcHVibGljIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgdXNlclNlcnZpY2U6IFNjVXNlclNlcnZpY2UpIHtcbiAgICAgICAgdXNlclNlcnZpY2UuZ2V0VXNlckNoYW5nZSQoKS5zdWJzY3JpYmUoKHVzZXIpID0+IHtcbiAgICAgICAgICAgIGlmICh0aGlzLm1ldGFkYXRhU3ViamVjdFN1YnNjcmlwdGlvbikge1xuICAgICAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XG4gICAgICAgICAgICB9XG5cbiAgICAgICAgICAgIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5uZXh0KG5ldyBTY1VzZXJNZXRhZGF0YSh1c2VyLm1ldGFkYXRhKSk7XG5cbiAgICAgICAgICAgIHRoaXMubWV0YWRhdGFTdWJqZWN0U3Vic2NyaXB0aW9uID0gdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0XG4gICAgICAgICAgICAgICAgLnBpcGUoXG4gICAgICAgICAgICAgICAgICAgIHNraXAoMSksIC8vINCd0LUg0L3Rg9C20L3QviDQvtCx0L3QvtCy0LvRj9GC0Ywg0LTQsNC90L3Ri9C1INC/0L7Qu9GM0LfQvtCy0LDRgtC10LvRjyDQv9GA0Lgg0LXQs9C+INGB0LzQtdC90LUuXG4gICAgICAgICAgICAgICAgICAgIHN3aXRjaE1hcCgobWV0YWRhdGEpID0+XG4gICAgICAgICAgICAgICAgICAgICAgICB1c2VyLnVzZXJUeXBlID09PSBTY1VzZXJUeXBlLmd1ZXN0ID8gdGhpcy51c2VyU2VydmljZS51cGRhdGVHdWVzdEluZm8kKHsgbWV0YWRhdGE6IG1ldGFkYXRhIH0pIDogdGhpcy51c2VyU2VydmljZS51cGRhdGVVc2VySW5mbyQoeyBtZXRhZGF0YTogbWV0YWRhdGEgfSlcbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAuc3Vic2NyaWJlKCk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQvNC10YLQsNC00LDQvdC90YvRhSwg0LrQvtCz0LTQsCDQuNC30LzQtdC90Y/QtdGC0YHRjyDQt9C90LDRh9C10L3QuNC1INC/0LXRgNC10LTQsNC90L3QvtCz0L4g0YHQstC+0LnRgdGC0LLQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSB0YXJnZXQg0KHQstC+0LnRgdGC0LLQviDQtNC70Y8g0LrQvtGC0L7RgNC+0LPQviDQvtGC0YHQu9C10LbQuNCy0LDQtdGC0YHRjyDQuNC30LzQtdC90LXQvdC40LUuXG4gICAgICovXG4gICAgcHVibGljIGdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkPFQgZXh0ZW5kcyBrZXlvZiBTY1VzZXJNZXRhZGF0YSwgUiA9IFNjVXNlck1ldGFkYXRhW1RdPih0YXJnZXQ6IFQpOiBPYnNlcnZhYmxlPFI+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMudXNlck1ldGFkYXRhU3ViamVjdC5waXBlKFxuICAgICAgICAgICAgZmlsdGVyQ2hhbmdlZEJ5S2V5KHRhcmdldCksXG4gICAgICAgICAgICBtYXAoKG1ldGFkYXRhKSA9PiBtZXRhZGF0YVt0YXJnZXRdIGFzIFIpXG4gICAgICAgICk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0JLQvtC30LLRgNCw0YnQsNC10YIge0BsaW5rIE9ic2VydmFibGV9INC80LXRgtCw0LTQsNC90L3Ri9GFLCDQutC+0LPQtNCwINC40LfQvNC10L3Rj9C10YLRgdGPINC30L3QsNGH0LXQvdC40LUg0L/QtdGA0LXQtNCw0L3QvdC+0LPQviDRgdCy0L7QudGB0YLQstCwLlxuICAgICAqIFRPRE86INCU0L7RgNCw0LHQvtGC0LDRgtGMINGE0YPQvdC60YbQuNGOLCDRh9GC0L7QsdGLINC+0L3QsCDQstC+0LfQstGA0LDRidCw0LvQsCBPYnNlcnZhYmxlLlxuICAgICAqXG4gICAgICogQHBhcmFtIHRhcmdldCDQodCy0L7QudGB0YLQstC+LCDQt9C90LDRh9C10L3QuNC1INC60L7RgtC+0YDQvtCz0L4g0L3QtdC+0LHRhdC+0LTQuNC80L4g0LjQt9C80LXQvdC40YLRjC5cbiAgICAgKiBAcGFyYW0gdmFsdWUg0J3QvtCy0L7QtSDQt9C90LDRh9C10L3QuNC1LlxuICAgICAqL1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW5uZWNlc3NhcnktdHlwZS1wYXJhbWV0ZXJzXG4gICAgcHVibGljIHNldE1ldGFkYXRhQnlLZXk8VCBleHRlbmRzIGtleW9mIFNjVXNlck1ldGFkYXRhLCBWID0gU2NVc2VyTWV0YWRhdGFbVF0+KHRhcmdldDogVCwgdmFsdWU6IFYpOiB2b2lkIHtcbiAgICAgICAgdGhpcy51c2VyTWV0YWRhdGFTdWJqZWN0LnBpcGUoZmlyc3QoKSkuc3Vic2NyaWJlKChtZXRhZGF0YSkgPT4ge1xuICAgICAgICAgICAgY29uc3QgbmV3TWV0YWRhdGEgPSBuZXcgU2NVc2VyTWV0YWRhdGEobWV0YWRhdGEpO1xuXG4gICAgICAgICAgICBuZXdNZXRhZGF0YVt0YXJnZXRdID0gdmFsdWU7XG4gICAgICAgICAgICB0aGlzLnVzZXJNZXRhZGF0YVN1YmplY3QubmV4dChuZXdNZXRhZGF0YSk7XG4gICAgICAgIH0pO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDRgdC/0LjRgdC60LAg0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICovXG4gICAgcHVibGljIGdldEhpZGRlbkNhdGVnb3JpZXNMaXN0JCgpOiBPYnNlcnZhYmxlPEFycmF5PG51bWJlciB8IHN0cmluZz4+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ2hpZGRlbkNhdGVnb3JpZXMnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDRgdC/0LjRgdC+0Log0LrQsNGC0LXQs9C+0YDQuNC5LCDQutC+0YLQvtGA0YvQtSDQvdC10L7QsdGF0L7QtNC40LzQviDRgdC60YDRi9GC0YwuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gY2F0ZWdvcnlJZHMg0KHQv9C40YHQvtC6INC40LTQtdC90YLQuNGE0LjQutCw0YLQvtGA0L7QsiDQutCw0YLQtdCz0L7RgNC40LksINC60L7RgtC+0YDRi9C1INC90LXQvtCx0YXQvtC00LjQvNC+INGB0LrRgNGL0YLRjC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0SGlkZGVuQ2F0ZWdvcmllc0xpc3QoY2F0ZWdvcnlJZHM6IEFycmF5PG51bWJlciB8IHN0cmluZz4pOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdoaWRkZW5DYXRlZ29yaWVzJywgY2F0ZWdvcnlJZHMpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQstC40LTQsCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRQcm9kdWN0VGlsZVR5cGUkKCk6IE9ic2VydmFibGU8U2NQcm9kdWN0VGlsZVR5cGU+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3Byb2R1Y3RUaWxlVHlwZScpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0YHRgtCw0L3QsNCy0LvQuNCy0LDQtdGCINCy0LjQtCDQv9GA0LXQtNGB0YLQsNCy0LvQtdC90LjRjyDRgtC+0LLQsNGA0LAg0LIg0YHQv9C40YHQutC1LlxuICAgICAqXG4gICAgICogQHBhcmFtIHByb2R1Y3RUaWxlVHlwZSDQktC40LQg0L/RgNC10LTRgdGC0LDQstC70LXQvdC40Y8g0YLQvtCy0LDRgNCwINCyINGB0L/QuNGB0LrQtS5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0UHJvZHVjdFRpbGVUeXBlKHByb2R1Y3RUaWxlVHlwZTogU2NQcm9kdWN0VGlsZVR5cGUpOiB2b2lkIHtcbiAgICAgICAgdGhpcy5zZXRNZXRhZGF0YUJ5S2V5KCdwcm9kdWN0VGlsZVR5cGUnLCBwcm9kdWN0VGlsZVR5cGUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQutC+0LvQuNGH0LXRgdGC0LLQsCDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKi9cbiAgICBwdWJsaWMgZ2V0UGFnaW5hdGVQYWdlU2l6ZSQoKTogT2JzZXJ2YWJsZTxudW1iZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ3BhZ2luYXRlUGFnZVNpemUnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQutC+0LvQuNGH0LXRgdGC0LLQviDRjdC70LXQvNC10L3RgtC+0LIg0L3QsCDRgdGC0YDQsNC90LjRhtC1INC/0LDQs9C40L3QsNGG0LjQuC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBwYWdpbmF0ZVBhZ2VTaXplINCa0L7Qu9C40YfQtdGB0YLQstC+INGN0LvQtdC80LXQvdGC0L7QsiDQvdCwINGB0YLRgNCw0L3QuNGG0LUg0L/QsNCz0LjQvdCw0YbQuNC4LlxuICAgICAqL1xuICAgIHB1YmxpYyBzZXRQYWdpbmF0ZVBhZ2VTaXplKHBhZ2luYXRlUGFnZVNpemU6IG51bWJlcik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ3BhZ2luYXRlUGFnZVNpemUnLCBwYWdpbmF0ZVBhZ2VTaXplKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQktC+0LfQstGA0LDRidCw0LXRgiB7QGxpbmsgT2JzZXJ2YWJsZX0g0LzQtdGC0LDQtNCw0L3QvdGL0YUg0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIGdldE5ld09yZGVyTWV0YWRhdGEkKCk6IE9ic2VydmFibGU8U2NJTmV3T3JkZXIgfCB1bmRlZmluZWQ+IHtcbiAgICAgICAgcmV0dXJuIHRoaXMuZ2V0TWV0YWRhdGFDaGFuZ2VCeUtleSQoJ25ld09yZGVyTWV0YWRhdGEnKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQvNC10YLQsNC00LDQvdC90YvQtSDQvdC10L7RhNC+0YDQvNC70LXQvdC90L7Qs9C+INC30LDQutCw0LfQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBuZXdPcmRlck1ldGFkYXRhINCU0LDQvdC90YvQtSDQvdC+0LLQvtCz0L4g0L3QtdC+0YTQvtGA0LzQu9C10L3QvdC+0LPQviDQt9Cw0LrQsNC30LAuXG4gICAgICovXG4gICAgcHVibGljIHNldE5ld09yZGVyTWV0YWRhdGEobmV3T3JkZXJNZXRhZGF0YTogU2NJTmV3T3JkZXIpOiB2b2lkIHtcbiAgICAgICAgLy8g0J/RgNC4INGB0L7RhdGA0LDQvdC10L3QuNC4INC40LfQvtCx0YDQsNC20LXQvdC40Y8g0LLRi9C00LDRkdGCINC+0YjQuNCx0LrRgyA1MDAgJ9Cf0YDQvtC40LfQvtGI0LvQsCDQvtGI0LjQsdC60LAg0L/RgNC4INGA0LDQsdC+0YLQtSDRgSDQsdCw0LfQvtC5INC00LDQvdC90YvRhScuXG4gICAgICAgIC8vIFRPRE86IFRBU0tbIzYzNzBdOiDQlNC+0YDQsNCx0L7RgtCw0YLRjCDQv9C+0YHQu9C1INGA0LXRiNC10L3QuNGPINC30LDQtNCw0YfQuC5cbiAgICAgICAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIEB0eXBlc2NyaXB0LWVzbGludC9uby11bnVzZWQtdmFyc1xuICAgICAgICBjb25zdCB7IGltYWdlLCAuLi5uZXdPcmRlck1ldGFkYXRhV2l0aG91dEltYWdlIH0gPSBuZXdPcmRlck1ldGFkYXRhO1xuXG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnbmV3T3JkZXJNZXRhZGF0YScsIG5ld09yZGVyTWV0YWRhdGFXaXRob3V0SW1hZ2UpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCj0LTQsNC70Y/QtdGCINC80LXRgtCw0LTQsNC90L3Ri9C1INC90LXQvtGE0L7RgNC80LvQtdC90L3QvtCz0L4g0LfQsNC60LDQt9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyByZW1vdmVOZXdPcmRlck1ldGFkYXRhKCk6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ25ld09yZGVyTWV0YWRhdGEnLCB1bmRlZmluZWQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINC00LDRgtGDINC/0L7RgdC70LXQtNC90LXQs9C+INC+0YLQutGA0YvRgtC40Y8g0L7Qv9GA0L7RgdC90LjQutC+0LIuXG4gICAgICovXG4gICAgcHVibGljIGdldExhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUkKCk6IE9ic2VydmFibGU8bnVtYmVyIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCdsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0LTQsNGC0YMg0L/QvtGB0LvQtdC00L3QtdCz0L4g0L7RgtC60YDRi9GC0LjRjyDQvtC/0YDQvtGB0L3QuNC60L7Qsi5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBsYXN0T3BlblF1ZXN0aW9ubmFpcmVUaW1lINCU0LDRgtCwINC/0L7RgdC70LXQtNC90LXQs9C+INC+0YLQutGA0YvRgtC40Y8g0L7Qv9GA0L7RgdC90LjQutC+0LIuXG4gICAgICovXG4gICAgcHVibGljIHNldExhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUobGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZTogbnVtYmVyIHwgdW5kZWZpbmVkKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnbGFzdE9wZW5RdWVzdGlvbm5haXJlVGltZScsIGxhc3RPcGVuUXVlc3Rpb25uYWlyZVRpbWUpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCINGE0L7RgNC80LDRgiDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHVibGljIGdldENhdGFsb2dGb3JtYXQkKCk6IE9ic2VydmFibGU8U2NDYXRhbG9nRm9ybWF0PiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCdjYXRhbG9nRm9ybWF0Jyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0YTQvtGA0LzQsNGCINC+0YLQvtCx0YDQsNC20LXQvdC40Y8g0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKlxuICAgICAqIEBwYXJhbSBjYXRhbG9nRm9ybWF0INCk0L7RgNC80LDRgiDQvtGC0L7QsdGA0LDQttC10L3QuNGPINC60LDRgtCw0LvQvtCz0LAuXG4gICAgICovXG4gICAgcHVibGljIHNldENhdGFsb2dGb3JtYXQoY2F0YWxvZ0Zvcm1hdDogU2NDYXRhbG9nRm9ybWF0KTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnY2F0YWxvZ0Zvcm1hdCcsIGNhdGFsb2dGb3JtYXQpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqINCS0L7Qt9Cy0YDQsNGJ0LDQtdGCIHtAbGluayBPYnNlcnZhYmxlfSDQv9GA0LjQt9C90LDQutCwINGB0LLRkdGA0L3Rg9GC0L7QuSDQtNC+INC30L3QsNGH0LrQvtCyINCx0L7QutC+0LLQvtC5INC/0LDQvdC10LvQuCDQutCw0YLQsNC70L7Qs9CwLlxuICAgICAqL1xuICAgIHB1YmxpYyBnZXRDYXRhbG9nU2lkZWJhckNvbGxhcHNlZCQoKTogT2JzZXJ2YWJsZTxib29sZWFuIHwgdW5kZWZpbmVkPiB7XG4gICAgICAgIHJldHVybiB0aGlzLmdldE1ldGFkYXRhQ2hhbmdlQnlLZXkkKCdpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkJyk7XG4gICAgfVxuXG4gICAgLyoqXG4gICAgICog0KPRgdGC0LDQvdCw0LLQu9C40LLQsNC10YIg0L/RgNC40LfQvdCw0Log0YHQstGR0YDQvdGD0YLQvtC5INC00L4g0LfQvdCw0YfQutC+0LIg0LHQvtC60L7QstC+0Lkg0L/QsNC90LXQu9C4INC60LDRgtCw0LvQvtCz0LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gaXNDYXRhbG9nU2lkZWJhckNvbGxhcHNlZCDQn9GA0LjQt9C90LDQuiDRgdCy0ZHRgNC90YPRgtC+0Lkg0LTQviDQt9C90LDRh9C60L7QsiDQsdC+0LrQvtCy0L7QuSDQv9Cw0L3QtdC70Lgg0LrQsNGC0LDQu9C+0LPQsC5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0Q2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQoaXNDYXRhbG9nU2lkZWJhckNvbGxhcHNlZDogYm9vbGVhbik6IHZvaWQge1xuICAgICAgICB0aGlzLnNldE1ldGFkYXRhQnlLZXkoJ2lzQ2F0YWxvZ1NpZGViYXJDb2xsYXBzZWQnLCBpc0NhdGFsb2dTaWRlYmFyQ29sbGFwc2VkKTtcbiAgICB9XG5cbiAgICAvKipcbiAgICAgKiDQo9GB0YLQsNC90LDQstC70LjQstCw0LXRgiDQuNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstGL0LHRgNCw0L3QvdC+0LPQviDRgdC60LvQsNC00LAuXG4gICAgICpcbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWRXYXJlaG91c2VJZCDQmNC00LXQvdGC0LjRhNC40LrQsNGC0L7RgCDQstGL0LHRgNCw0L3QvdC+0LPQviDRgdC60LvQsNC00LAuXG4gICAgICovXG4gICAgcHVibGljIHNldFNlbGVjdGVkV2FyZWhvdXNlSWQoc2VsZWN0ZWRXYXJlaG91c2VJZDogbnVtYmVyKTogdm9pZCB7XG4gICAgICAgIHRoaXMuc2V0TWV0YWRhdGFCeUtleSgnc2VsZWN0ZWRXYXJlaG91c2VJZCcsIHNlbGVjdGVkV2FyZWhvdXNlSWQpO1xuICAgIH1cbn1cbiJdfQ==