@pmcretail/mapper-library 0.0.32 → 0.0.34

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.
@@ -220,7 +220,7 @@ export class WebReturnSalesforceMapperBuilderClass {
220
220
  let transactionPromotionObj = (/** @type {?} */ ({}));
221
221
  transactionPromotionObj.displayText = transactionPromotion.item_text ? transactionPromotion.item_text : '';
222
222
  transactionPromotionObj.name = transactionPromotion.coupon_code ? transactionPromotion.coupon_code : (transactionPromotion.item_text ? transactionPromotion.item_text : '');
223
- transactionPromotionObj.promotionAmount = transactionPromotion.price ? -Math.abs(transactionPromotion.price) : 0;
223
+ transactionPromotionObj.promotionAmount = transactionPromotion.price ? Math.abs(transactionPromotion.price) : 0;
224
224
  transactionPromotionObj.promotionId = transactionPromotion.promotion_id ? transactionPromotion.promotion_id : '';
225
225
  transactionPromotionObj.promotionInfo = transactionPromotion.item_text ? transactionPromotion.item_text : '';
226
226
  transactionPromotionObj.promotionType = transactionPromotion.applied_discount && transactionPromotion.applied_discount.type ? transactionPromotion.applied_discount.type : '';
@@ -327,18 +327,14 @@ export class WebReturnSalesforceMapperBuilderClass {
327
327
  * @return {THIS}
328
328
  */
329
329
  updateTransactionPromotionPrtionCalc() {
330
- /** @type {?} */
331
- let doc;
332
- if ((/** @type {?} */ (this)).webReturnObject.basket.transactionPromotion) {
330
+ if ((/** @type {?} */ (this)).webReturnObject.basket.transactionPromotion && (/** @type {?} */ (this)).webReturnObject.basket.transactionPromotion.length > 0) {
333
331
  (/** @type {?} */ (this)).webReturnObject.basket.transactionPromotion.forEach((/**
334
332
  * @param {?} tr
335
333
  * @return {?}
336
334
  */
337
335
  tr => {
338
- doc =
339
- (/** @type {?} */ (this)).transactionPromotionProductPortionCalc((/** @type {?} */ (this)).webReturnObject, tr);
336
+ (/** @type {?} */ (this)).transactionPromotionProductPortionCalc((/** @type {?} */ (this)).webReturnObject, tr);
340
337
  }));
341
- (/** @type {?} */ (this)).webReturnObject = doc;
342
338
  }
343
339
  return (/** @type {?} */ (this));
344
340
  }
@@ -689,4 +685,4 @@ if (false) {
689
685
  */
690
686
  WebReturnSalesforceMapperBuilderClass.prototype.currencyPipe;
691
687
  }
692
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BwbWNyZXRhaWwvbWFwcGVyLWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBcUYsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBZ0MsU0FBUyxFQUFtQixnQkFBZ0IsRUFBa0ksTUFBTSx3QkFBd0IsQ0FBQztBQUM3WSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLE9BQU8scUNBQXFDOzs7OztJQWdDOUMsWUFBWSxZQUEwQixFQUMxQixZQUEyQjtRQUEzQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQTlCL0Isb0JBQWUsR0FBd0I7WUFDM0MsRUFBRSxFQUFFLEVBQUU7WUFDTixPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLEVBQUU7WUFDZCxnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEVBQUU7WUFDVixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsRUFBRTtZQUNoQixRQUFRLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRSxFQUFFO2dCQUNuQixlQUFlLEVBQUUsRUFBRTtnQkFDbkIsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osa0JB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QUNoQixDQUFDOzs7O0lBRUQsS0FBSztRQUNELE9BQU8sQ0FBQyxHQUFHLENBQUMsd0VBQXdFLENBQUMsQ0FBQztRQUN0RixPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQzs7Ozs7SUFFRCxjQUFjLENBQUMsSUFBSTtRQUNmLElBQUksSUFBSSxFQUFFO1lBQ04sT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxXQUFXLEVBQUUsQ0FBQztTQUN2QztJQUNMLENBQUM7Q0FDSjs7Ozs7O0lBL2VHLDZEQUFtQzs7Ozs7SUFDbkMsZ0VBMEJDOztJQUNELGtFQUF1Qjs7Ozs7SUFHbkIsNkRBQW1DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ3VycmVuY3lQaXBlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xyXG5pbXBvcnQgeyBBZGRyZXNzLCBCYXNrZXRTdW1tYXJ5LCBCYXNrZXRTdW1tYXJ5RGV0YWlscywgQ3VycmVudFRyYW5zYWN0aW9uRGV0YWlscywgQ3VzdG9tZXIsIERFTElWRVJZX01FVEhPRFMsIFBST01PVElPTl9MRVZFTCwgUFJPTU9USU9OX1RZUEUsIElOSVRJQVRJTkdfTU9EVUxFLCBMaW5lUHJvbW90aW9ucywgT3JkZXJEZXRhaWxzLCBQUk9WSURFUlMsIFNoaXBtZW50RGV0YWlscywgVFJBTlNBQ1RJT05fVFlQRSwgVHJhbnNhY3Rpb25Eb2N1bWVudCwgVHJhbnNhY3Rpb25JbmZvLCBUcmFuc2FjdGlvblByb21vdGlvbiwgVHJpZ2dlciwgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMsIFRQcm9kdWN0LCBSZWZ1bmRQcm9kdWN0Q2hhbmdlIH0gZnJvbSBcIi4vbWFwcGVyLWxpYnJhcnkubW9kZWxcIjtcclxuaW1wb3J0IHsgTnVtYmVyVXRpbFNlcnZpY2UgfSBmcm9tIFwiLi9udW1iZXItdXRpbC5zZXJ2aWNlXCI7XHJcblxyXG5leHBvcnQgY2xhc3MgV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzcyB7XHJcblxyXG4gICAgcHJpdmF0ZSBvcmRlckRldGFpbHM6IE9yZGVyRGV0YWlscztcclxuICAgIHByaXZhdGUgd2ViUmV0dXJuT2JqZWN0OiBUcmFuc2FjdGlvbkRvY3VtZW50ID0ge1xyXG4gICAgICAgIGlkOiAnJyxcclxuICAgICAgICBvcmdDb2RlOiBcIlwiLFxyXG4gICAgICAgIHN0b3JlSWQ6IFwiXCIsXHJcbiAgICAgICAgc3RvcmVOb2RlSWQ6IFwiXCIsXHJcbiAgICAgICAgc3RvcmVOb2RlU3RydWN0dXJlOiBcIlwiLFxyXG4gICAgICAgIGRldmljZUlkOiBcIlwiLFxyXG4gICAgICAgIHRlcm1pbmFsSWQ6IFwiXCIsXHJcbiAgICAgICAgaW5pdGlhdGluZ01vZHVsZTogXCJcIixcclxuICAgICAgICBleHBvcnQ6IGZhbHNlLFxyXG4gICAgICAgIGJhc2tldDoge30sXHJcbiAgICAgICAgYmFza2V0U3VtbWFyeToge30sXHJcbiAgICAgICAgYmFzZUN1cnJlbmN5OiBcIlwiLFxyXG4gICAgICAgIGN1c3RvbWVyOiB7XHJcbiAgICAgICAgICAgIGlkOiAnJyxcclxuICAgICAgICAgICAgZW1haWw6ICcnLFxyXG4gICAgICAgICAgICBmaXJzdE5hbWU6ICcnLFxyXG4gICAgICAgICAgICBsYXN0TmFtZTogJycsXHJcbiAgICAgICAgICAgIGJpbGxpbmdBZGRyZXNzOiBbXSxcclxuICAgICAgICAgICAgc2hpcHBpbmdBZGRyZXNzOiBbXSxcclxuICAgICAgICAgICAgc2hpcG1lbnREZXRhaWxzOiBbXSxcclxuICAgICAgICAgICAgdGVsZXBob25lOiAnJyxcclxuICAgICAgICAgICAgcG9zdENvZGU6ICcnLFxyXG4gICAgICAgICAgICBub0N1c3RvbWVyU2VsZWN0ZWQ6IGZhbHNlXHJcbiAgICAgICAgfSxcclxuICAgICAgICBjdXJyZW50VHJhbnNhY3Rpb25EZXRhaWxzOiB7fSBhcyBDdXJyZW50VHJhbnNhY3Rpb25EZXRhaWxzXHJcbiAgICB9XHJcbiAgICBudW1iZXJVdGlsU2VydmljZTogYW55O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKG9yZGVyRGV0YWlsczogT3JkZXJEZXRhaWxzLFxyXG4gICAgICAgIHByaXZhdGUgY3VycmVuY3lQaXBlPzogQ3VycmVuY3lQaXBlXHJcbiAgICAgICAgKSB7XHJcbiAgICAgICAgaWYgKG9yZGVyRGV0YWlscykge1xyXG4gICAgICAgICAgICB0aGlzLm9yZGVyRGV0YWlscyA9IG9yZGVyRGV0YWlscztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5udW1iZXJVdGlsU2VydmljZSA9IG5ldyBOdW1iZXJVdGlsU2VydmljZShjdXJyZW5jeVBpcGUpO1xyXG4gICAgfVxyXG5cclxuICAgIHdlYlJldHVybkNvbW1vbk1hcHBlcigpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiB3ZWJSZXR1cm5Db21tb25NYXBwZXIgc3RhcnRlZC4uLlwiKTtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdFsndHlwZSddID0gVFJBTlNBQ1RJT05fVFlQRS5XRUJfUkVUVVJOUztcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdFsnZGF0ZXRpbWUnXSA9IHRoaXMuZ2V0VVRDRGF0ZVRpbWUodGhpcy5vcmRlckRldGFpbHMubGFzdF9tb2RpZmllZCk7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuYmFzZUN1cnJlbmN5ID0gdGhpcy5vcmRlckRldGFpbHMuY3VycmVuY3k7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3Quc3Vic2lkaWFyeUlkID0gJzEnO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmV4cG9ydCA9IHRydWU7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuaW5pdGlhdGluZ01vZHVsZSA9IElOSVRJQVRJTkdfTU9EVUxFLkVCQVNLRVQ7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuY3JlYXRlZEF0ID0gdGhpcy5nZXRVVENEYXRlVGltZSh0aGlzLm9yZGVyRGV0YWlscy5jcmVhdGlvbl9kYXRlKTtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC51cGRhdGVkQXQgPSB0aGlzLmdldFVUQ0RhdGVUaW1lKHRoaXMub3JkZXJEZXRhaWxzLmxhc3RfbW9kaWZpZWQpO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LnRyYW5zQ29tcGxldGVkQXQgPSB0aGlzLmdldFVUQ0RhdGVUaW1lKHRoaXMub3JkZXJEZXRhaWxzLmxhc3RfbW9kaWZpZWQpO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0WydleHRlcm5hbFRyYW5zYWN0aW9uSWQnXSA9IHRoaXMub3JkZXJEZXRhaWxzLm9yZGVyX25vO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IHdlYlJldHVybkNvbW1vbk1hcHBlciBlbmRlZC4uLlwiKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICAvLyBleHBvcnQoc3RhdHVzLCBkZXRhaWxzKSB7XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogZXhwb3J0IG1hcHBpbmcgc3RhcnRlZC4uLlwiKTtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBzdGF0dXM6XCIsIHN0YXR1cyk7XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogZGV0YWlsczpcIiwgSlNPTi5zdHJpbmdpZnkoZGV0YWlscykpO1xyXG4gICAgLy8gICAgIGlmIChzdGF0dXMgJiYgZGV0YWlscyAmJiBkZXRhaWxzLnByb3ZpZGVycyAmJiBkZXRhaWxzLnByb3ZpZGVycy5sZW5ndGggPiAwKSB7XHJcbiAgICAvLyAgICAgICAgIGRldGFpbHMucHJvdmlkZXJzLmZvckVhY2goXHJcbiAgICAvLyAgICAgICAgICAgICBwcm92aWRlck9iaiA9PiB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgaWYgKHByb3ZpZGVyT2JqLnByb3ZpZGVyICYmIHByb3ZpZGVyT2JqLnByb3ZpZGVyID09PSBQUk9WSURFUlMuU0FMRVNGT1JDRSkge1xyXG4gICAgLy8gICAgICAgICAgICAgICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5leHBvcnQgPSB0cnVlO1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgLy8gICAgICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgICAgIH1cclxuICAgIC8vICAgICAgICAgKTtcclxuICAgIC8vICAgICB9IGVsc2Uge1xyXG4gICAgLy8gICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5leHBvcnQgPSBmYWxzZTtcclxuICAgIC8vICAgICB9XHJcbiAgICAvLyAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogZXhwb3J0IG1hcHBpbmcgZW5kLi4uXCIpXHJcbiAgICAvLyAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICAvLyB9XHJcblxyXG4gICAgZ2V0RGVsaXZlcnlNZXRob2QoKSB7XHJcbiAgICAgICAgaWYodGhpcy5vcmRlckRldGFpbHMuc2hpcG1lbnRzICYmIHRoaXMub3JkZXJEZXRhaWxzLnNoaXBtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHNoaXBUb1N0b3JlU2hpcG1lbnQgPSB0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMuZmluZChzaGlwbWVudCA9PiBzaGlwbWVudC5jX2Zyb21TdG9yZUlkKTtcclxuICAgICAgICAgICAgaWYoc2hpcFRvU3RvcmVTaGlwbWVudCkgcmV0dXJuIERFTElWRVJZX01FVEhPRFMuU0hJUF9UT19TVE9SRTtcclxuICAgICAgICAgICAgZWxzZSByZXR1cm4gREVMSVZFUllfTUVUSE9EUy5ERUxJVkVSWTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICByZXR1cm4gJyc7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHByb2R1Y3QoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogcHJvZHVjdCBtYXBwaW5nIHN0YXJ0ZWQuLi5cIik7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuYmFza2V0Wydwcm9kdWN0cyddID0gW107XHJcbiAgICAgICAgaWYgKHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMgJiYgdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMuZm9yRWFjaChcclxuICAgICAgICAgICAgICAgIChwcm9kdWN0LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IHByb2R1Y3RPYmogPSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwcm9kdWN0Lml0ZW1fdGV4dCA/IHByb2R1Y3QuaXRlbV90ZXh0IDogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIFNLVTogcHJvZHVjdC5wcm9kdWN0X2lkID8gcHJvZHVjdC5wcm9kdWN0X2lkIDogJycsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHF1YW50aXR5OiBwcm9kdWN0LnF1YW50aXR5ID8gcHJvZHVjdC5xdWFudGl0eSA6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHJlZnVuZGVkUXVhbnRpdHk6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByaWNlOiBwcm9kdWN0LmJhc2VfcHJpY2UgPyBwcm9kdWN0LmJhc2VfcHJpY2UgOiAwLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpdGVtTGluZUlkOiAoaW5kZXggKyAxKS50b1N0cmluZygpLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICBkZWxpdmVyeU1ldGhvZDogdGhpcy5nZXREZWxpdmVyeU1ldGhvZCgpLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvdGFsTGluZVByaWNlOiBwcm9kdWN0LnByaWNlID8gcHJvZHVjdC5wcmljZSA6IDBcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2R1Y3QgJiYgcHJvZHVjdC5wcmljZSAhPSAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldFsncHJvZHVjdHMnXS5wdXNoKHByb2R1Y3RPYmopO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogcHJvZHVjdCBtYXBwaW5nIGVuZGVkLi4uXCIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGxpbmVQcm9tb3Rpb24oKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogbGluZVByb21vdGlvbiBtYXBwaW5nIHN0YXJ0ZWQuLi5cIik7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuYmFza2V0LmxpbmVQcm9tb3Rpb24gPSBbXSBhcyBMaW5lUHJvbW90aW9uc1tdO1xyXG4gICAgICAgIGxldCBsaW5lUHJvbW90aW9uQXJyYXkgPSBbXSBhcyBMaW5lUHJvbW90aW9uc1tdO1xyXG4gICAgICAgIGlmICh0aGlzLm9yZGVyRGV0YWlscy5wcm9kdWN0X2l0ZW1zICYmIHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLm9yZGVyRGV0YWlscy5wcm9kdWN0X2l0ZW1zLmZvckVhY2goXHJcbiAgICAgICAgICAgICAgICAocHJvZHVjdCwgaW5kZXgpID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBwcm9kdWN0Lml0ZW1faWQgPSAoaW5kZXggKyAxKS50b1N0cmluZygpO1xyXG4gICAgICAgICAgICAgICAgICAgIGlmIChwcm9kdWN0LnByaWNlX2FkanVzdG1lbnRzICYmIHByb2R1Y3QucHJpY2VfYWRqdXN0bWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0LnByaWNlX2FkanVzdG1lbnRzLmZvckVhY2goXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvbW90aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWYgKCFwcm9tb3Rpb24uY291cG9uX2NvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IGxpbmVQcm9tb3Rpb25PYmogPSB7fSBhcyBMaW5lUHJvbW90aW9ucztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGV0IHRyaWdnZXIgPSB7fSBhcyBUcmlnZ2VyO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLml0ZW1MaW5lSWQgPSBwcm9kdWN0Lml0ZW1faWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIucXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5ID8gcHJvZHVjdC5xdWFudGl0eSA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVQcm9tb3Rpb25PYmoudHJpZ2dlciA9IFtdIGFzIFRyaWdnZXJbXTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVByb21vdGlvbk9iai50cmlnZ2VyLnB1c2godHJpZ2dlcik7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLml0ZW1MaW5lSWQgPSBpbmRleCArIDE7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVQcm9tb3Rpb25PYmoucHJvbW90aW9uSWQgPSBwcm9tb3Rpb24ucHJvbW90aW9uX2lkID8gcHJvbW90aW9uLnByb21vdGlvbl9pZCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLmRpc3BsYXlUZXh0ID0gcHJvbW90aW9uLml0ZW1fdGV4dCA/IHByb21vdGlvbi5pdGVtX3RleHQgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVByb21vdGlvbk9iai5wcm9tb3Rpb25UeXBlID0gcHJvbW90aW9uLmFwcGxpZWRfZGlzY291bnQgJiYgcHJvbW90aW9uLmFwcGxpZWRfZGlzY291bnQudHlwZSA/IHByb21vdGlvbi5hcHBsaWVkX2Rpc2NvdW50LnR5cGUgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVByb21vdGlvbk9iai5wcm9tb3Rpb25BbW91bnQgPSBwcm9tb3Rpb24ucHJpY2UgPyBNYXRoLmFicyhwcm9tb3Rpb24ucHJpY2UpIDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVByb21vdGlvbk9iai5uYW1lID0gcHJvbW90aW9uLmNvdXBvbl9jb2RlICA/IHByb21vdGlvbi5jb3Vwb25fY29kZSA6IChwcm9tb3Rpb24uaXRlbV90ZXh0ID8gcHJvbW90aW9uLml0ZW1fdGV4dCA6JycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLnByb21vdGlvbkluZm8gPSBwcm9tb3Rpb24uaXRlbV90ZXh0ID8gcHJvbW90aW9uLml0ZW1fdGV4dCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLnByb21vdGlvbkxpbmVQcmljZSA9IHByb2R1Y3QucHJpY2UgLSBNYXRoLmFicyhwcm9tb3Rpb24ucHJpY2UpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uQXJyYXkucHVzaChsaW5lUHJvbW90aW9uT2JqKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQubGluZVByb21vdGlvbiA9IGxpbmVQcm9tb3Rpb25BcnJheTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBsaW5lUHJvbW90aW9uIG1hcHBpbmcgZW5kZWQuLi5cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24oKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogdHJhbnNhY3Rpb25Qcm9tb3Rpb24gbWFwcGluZyBzdGFydGVkLi4uXCIpO1xyXG5cclxuICAgICAgICBsZXQgdHJhbnNhY3Rpb25Qcm9tb3Rpb25BcnJheSA9IHRoaXMuZ2V0VHJhbnNhY3Rpb25Qcm9tb3Rpb25zKHRoaXMub3JkZXJEZXRhaWxzKTtcclxuXHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuYmFza2V0LnRyYW5zYWN0aW9uUHJvbW90aW9uID0gdHJhbnNhY3Rpb25Qcm9tb3Rpb25BcnJheTtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiB0cmFuc2FjdGlvblByb21vdGlvbiBtYXBwaW5nIGVuZGVkLi4uXCIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFRyYW5zYWN0aW9uUHJvbW90aW9ucyhiYXNrZXQpOiBUcmFuc2FjdGlvblByb21vdGlvbltdIHtcclxuICAgICAgICB0cnkge1xyXG4gICAgICAgICAgICBsZXQgdHJhbnNhY3Rpb25Qcm9tb3Rpb25BcnJheSA9IFtdIGFzIFRyYW5zYWN0aW9uUHJvbW90aW9uW107XHJcbiAgICAgICAgICAgIGlmIChiYXNrZXQub3JkZXJfcHJpY2VfYWRqdXN0bWVudHMgJiYgYmFza2V0Lm9yZGVyX3ByaWNlX2FkanVzdG1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIGJhc2tldC5vcmRlcl9wcmljZV9hZGp1c3RtZW50cy5mb3JFYWNoKFxyXG4gICAgICAgICAgICAgICAgICAgICh0cmFuc2FjdGlvblByb21vdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmogPSB7fSBhcyBUcmFuc2FjdGlvblByb21vdGlvbjtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uT2JqLmRpc3BsYXlUZXh0ID0gdHJhbnNhY3Rpb25Qcm9tb3Rpb24uaXRlbV90ZXh0ID8gdHJhbnNhY3Rpb25Qcm9tb3Rpb24uaXRlbV90ZXh0IDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uT2JqLm5hbWUgPSB0cmFuc2FjdGlvblByb21vdGlvbi5jb3Vwb25fY29kZSA/IHRyYW5zYWN0aW9uUHJvbW90aW9uLmNvdXBvbl9jb2RlIDogKHRyYW5zYWN0aW9uUHJvbW90aW9uIC5pdGVtX3RleHQ/dHJhbnNhY3Rpb25Qcm9tb3Rpb24uaXRlbV90ZXh0IDogJycpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbk9iai5wcm9tb3Rpb25BbW91bnQgPSB0cmFuc2FjdGlvblByb21vdGlvbi5wcmljZSA/IC1NYXRoLmFicyh0cmFuc2FjdGlvblByb21vdGlvbi5wcmljZSkgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbk9iai5wcm9tb3Rpb25JZCA9IHRyYW5zYWN0aW9uUHJvbW90aW9uLnByb21vdGlvbl9pZCA/IHRyYW5zYWN0aW9uUHJvbW90aW9uLnByb21vdGlvbl9pZCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbk9iai5wcm9tb3Rpb25JbmZvID0gdHJhbnNhY3Rpb25Qcm9tb3Rpb24uaXRlbV90ZXh0ID8gdHJhbnNhY3Rpb25Qcm9tb3Rpb24uaXRlbV90ZXh0IDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uT2JqLnByb21vdGlvblR5cGUgPSB0cmFuc2FjdGlvblByb21vdGlvbi5hcHBsaWVkX2Rpc2NvdW50ICYmIHRyYW5zYWN0aW9uUHJvbW90aW9uLmFwcGxpZWRfZGlzY291bnQudHlwZSA/IHRyYW5zYWN0aW9uUHJvbW90aW9uLmFwcGxpZWRfZGlzY291bnQudHlwZSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbk9iai5pdGVtTGluZUlkcyA9IHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMubWFwKChwcm9kdWN0LCBpbmRleCkgPT4gaW5kZXggKyAxKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uUHJvbW90aW9uLmNvdXBvbl9jb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbk9iai50eXBlID0gUFJPTU9USU9OX1RZUEUuQ09VUE9OO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmouY291cG9uQ29kZSA9IHRyYW5zYWN0aW9uUHJvbW90aW9uLmNvdXBvbl9jb2RlO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmouc3ViTGV2ZWxUeXBlID0gUFJPTU9USU9OX0xFVkVMLlRSQU5TQUNUSU9OO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uQXJyYXkucHVzaCh0cmFuc2FjdGlvblByb21vdGlvbk9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuXHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IGdldFRyYW5zYWN0aW9uUHJvbW90aW9ucyA6IFwiLCBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvblByb21vdGlvbkFycmF5KSk7XHJcbiAgICAgICAgICAgIHJldHVybiB0cmFuc2FjdGlvblByb21vdGlvbkFycmF5O1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6ICBmYWlsZWQ6XCIsIGVycm9yKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogIGZhaWxlZDpcIiwgSlNPTi5zdHJpbmdpZnkoZXJyb3IpKTtcclxuICAgICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGVycm9yKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlTGluZVByb21vdGlvbldpdGhDb3Vwb24oKSB7XHJcbiAgICAgICAgdHJ5IHtcclxuXHJcbiAgICAgICAgICAgIGxldCB0cmFuc2FjdGlvblByb21vdGlvbiA9IHt9IGFzIFRyYW5zYWN0aW9uUHJvbW90aW9uO1xyXG4gICAgICAgICAgICBsZXQgdHJpZ2dlclByb21vdGlvbiA9IFtdIGFzIFRyaWdnZXJbXTtcclxuICAgICAgICAgICAgaWYgKHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMgJiYgdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm9yZGVyRGV0YWlscy5wcm9kdWN0X2l0ZW1zLmZvckVhY2goXHJcbiAgICAgICAgICAgICAgICAgICAgKHByb2R1Y3QsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3QuaXRlbV9pZCA9IChpbmRleCArIDEpLnRvU3RyaW5nKCk7XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvZHVjdC5wcmljZV9hZGp1c3RtZW50cyAmJiBwcm9kdWN0LnByaWNlX2FkanVzdG1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3QucHJpY2VfYWRqdXN0bWVudHMuZm9yRWFjaChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAocHJvbW90aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChwcm9tb3Rpb24uY291cG9uX2NvZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0cmlnZ2VyID0ge30gYXMgVHJpZ2dlcjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIuaXRlbUxpbmVJZCA9IHByb2R1Y3QuaXRlbV9pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIucXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5ID8gcHJvZHVjdC5xdWFudGl0eSA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLnRvdGFsUXVhbnRpdHkgPSBwcm9kdWN0LnF1YW50aXR5ID8gcHJvZHVjdC5xdWFudGl0eSA6IDA7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLnByb21vdGlvbkFtb3VudCA9IHByb21vdGlvbi5wcmljZSA/IE1hdGguYWJzKHByb21vdGlvbi5wcmljZSkgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlci5yZWZ1bmRlZFJlYXNvbiA9IHByb21vdGlvbi5jb3Vwb25fY29kZSA/IHByb21vdGlvbi5jb3Vwb25fY29kZSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlci5yZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uID0gcHJvbW90aW9uLml0ZW1fdGV4dCA/IHByb21vdGlvbi5pdGVtX3RleHQgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIucHJvbW90aW9uSWQgPSBwcm9tb3Rpb24ucHJvbW90aW9uX2lkO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlclByb21vdGlvbi5wdXNoKHRyaWdnZXIpO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIGlmICh0cmlnZ2VyUHJvbW90aW9uLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uLmRpc3BsYXlUZXh0ID0gdHJpZ2dlclByb21vdGlvblswXS5yZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24ubmFtZSA9IHRyaWdnZXJQcm9tb3Rpb25bMF0ucmVmdW5kZWRSZWFzb247XHJcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbi5wcm9tb3Rpb25BbW91bnQgPSAtKHRyaWdnZXJQcm9tb3Rpb24ucmVkdWNlKChuLCB7IHByb21vdGlvbkFtb3VudCB9KSA9PiBuICsgcHJvbW90aW9uQW1vdW50LCAwKSk7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbi5wcm9tb3Rpb25JZCA9IHRyaWdnZXJQcm9tb3Rpb25bMF0ucHJvbW90aW9uSWQ7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbi5wcm9tb3Rpb25JbmZvID0gdHJpZ2dlclByb21vdGlvblswXS5yZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24uY291cG9uQ29kZSA9IHRyaWdnZXJQcm9tb3Rpb25bMF0ucmVmdW5kZWRSZWFzb247XHJcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbi5pdGVtTGluZUlkcyA9IFtdO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24udHlwZSA9IFBST01PVElPTl9UWVBFLkNPVVBPTjtcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uLnN1YkxldmVsVHlwZSA9IFBST01PVElPTl9MRVZFTC5MSU5FO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24udHJpZ2dlciA9IHRyaWdnZXJQcm9tb3Rpb247XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJsaW5lUHJvbW90aW9uIG1hcHBpbmcgZW5kZWQuLi5cIik7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiZS1iYXNrZXQ6IHVwZGF0ZUxpbmVQcm9tb3Rpb25XaXRoQ291cG9uXCIsIEpTT04uc3RyaW5naWZ5KHRyYW5zYWN0aW9uUHJvbW90aW9uKSk7XHJcblxyXG4gICAgICAgICAgICBpZiAoIXRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC50cmFuc2FjdGlvblByb21vdGlvbiApIHtcclxuICAgICAgICAgICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC50cmFuc2FjdGlvblByb21vdGlvbiA9IFtdO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHJhbnNhY3Rpb25Qcm9tb3Rpb24gJiYgdHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHJvbW90aW9uSWQgKSB7XHJcbiAgICAgICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC50cmFuc2FjdGlvblByb21vdGlvbi5wdXNoKHRyYW5zYWN0aW9uUHJvbW90aW9uKTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJFYmFza2V0OiBTYWxlc2ZvcmNlOiBsaW5lUHJvbW90aW9uIG1hcHBpbmc9PiBmYWlsZWQ6XCIsIGVycm9yKTtcclxuICAgICAgICAgICAgY29uc29sZS5sb2coXCJFYmFza2V0OiBTYWxlc2ZvcmNlOiBsaW5lUHJvbW90aW9uIG1hcHBpbmc9PiBmYWlsZWQ6XCIsIEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZVRyYW5zYWN0aW9uUHJvbW90aW9uUHJ0aW9uQ2FsYygpIHtcclxuICAgICAgICBsZXQgZG9jOiBhbnk7XHJcbiAgICAgICAgaWYgKHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC50cmFuc2FjdGlvblByb21vdGlvbikge1xyXG4gICAgICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQudHJhbnNhY3Rpb25Qcm9tb3Rpb24uZm9yRWFjaCh0ciA9PiB7XHJcbiAgICAgICAgICAgICAgICBkb2MgPVxyXG4gICAgICAgICAgICAgICAgICAgIHRoaXMudHJhbnNhY3Rpb25Qcm9tb3Rpb25Qcm9kdWN0UG9ydGlvbkNhbGModGhpcy53ZWJSZXR1cm5PYmplY3QgLCB0cilcclxuICAgICAgICAgICAgfSlcclxuICAgICAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QgPSBkb2M7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uUHJvZHVjdFBvcnRpb25DYWxjKFxyXG4gICAgICAgIHR4RG9jOiBUcmFuc2FjdGlvbkRvY3VtZW50LFxyXG4gICAgICAgIHByb21vdGlvbjogVHJhbnNhY3Rpb25Qcm9tb3Rpb25cclxuICAgICAgKSB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICBsZXQgcGVyY2VudGFnZSA9IDA7XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgIGBlYmFza2V0OiB0cmFuc2FjdGlvblByb21vdGlvblByb2R1Y3RQb3J0aW9uQ2FsYzogdHJuc2FjdGlvblByb21vdGlvbjogJHtKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgICBwcm9tb3Rpb25cclxuICAgICAgICAgICAgKX1gXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYocHJvbW90aW9uLnR5cGUgPT09IFBST01PVElPTl9UWVBFLkNPVVBPTiAmJiBwcm9tb3Rpb24uc3ViTGV2ZWxUeXBlID09PSBQUk9NT1RJT05fTEVWRUwuTElORSlcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHhEb2MuYmFza2V0LnByb2R1Y3RzLmZvckVhY2goKHByb2R1Y3QpID0+IHtcclxuICAgICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy52YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocHJvZHVjdCk7XHJcbiAgICAgIFxyXG4gICAgICAgICAgICAgIGlmIChwcm9tb3Rpb24udHJpZ2dlciAmJiBwcm9tb3Rpb24udHJpZ2dlci5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9tb3Rpb24udHJpZ2dlci5mb3JFYWNoKCh0KT0+e1xyXG4gICAgICAgICAgICAgICAgICBpZih0Lml0ZW1MaW5lSWQgPT09IHByb2R1Y3QuaXRlbUxpbmVJZC50b1N0cmluZygpKVxyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24gKz0gdC5wcm9tb3Rpb25BbW91bnQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHR4RG9jLmJhc2tldC5wcm9kdWN0cy5mb3JFYWNoKChwKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChwcm9tb3Rpb24uaXRlbUxpbmVJZHMgJiYgcHJvbW90aW9uLml0ZW1MaW5lSWRzLmluY2x1ZGVzKHAuaXRlbUxpbmVJZCkgJiYgIXAuZ2lmdENhcmQpIHtcclxuICAgICAgICAgICAgICBwID0gdGhpcy52YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9kdWN0Q29udHJpYnV0aW9uSW5Ub3RhbCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwLml0ZW1EaXNjb3VudHMudHJuRGlzY291bnRzUG9ydGlvbikgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJVdGlsU2VydmljZS50cmltVG8yRGVjaW1hbDIocC5pdGVtRGlzY291bnRzLnRyblByb21vdGlvbnNQb3J0aW9uKSAtXHJcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwLml0ZW1EaXNjb3VudHMucmVmdW5kUG9ydGlvbik7XHJcbiAgICAgICAgICAgICAgdG90YWwgKz0gKHAudG90YWwgLSB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Q29udHJpYnV0aW9uSW5Ub3RhbCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgICBgZWJhc2tldDogdHJuc2FjdGlvblByb21vdGlvbjogJHtKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgICBwcm9tb3Rpb25cclxuICAgICAgICAgICAgKX0sIHNlbGVjdGVkIHByb2R1Y3RzIHRvdGFsOiAke3RvdGFsfWBcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0eERvYy5iYXNrZXQucHJvZHVjdHMuZm9yRWFjaCgocHJvZHVjdCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy52YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocHJvZHVjdCk7XHJcbiAgICBcclxuICAgICAgICAgICAgY29uc3QgcHJvZHVjdENvbnRyaWJ1dGlvbkluVG90YWwgPVxyXG4gICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuRGlzY291bnRzUG9ydGlvbikgK1xyXG4gICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24pIC1cclxuICAgICAgICAgICAgdGhpcy5udW1iZXJVdGlsU2VydmljZS50cmltVG8yRGVjaW1hbDIocHJvZHVjdC5pdGVtRGlzY291bnRzLnJlZnVuZFBvcnRpb24pO1xyXG4gICAgXHJcbiAgICAgICAgICAgIGlmIChwcm9tb3Rpb24uaXRlbUxpbmVJZHMuaW5jbHVkZXMocHJvZHVjdC5pdGVtTGluZUlkKSkge1xyXG4gICAgICAgICAgICAgIHBlcmNlbnRhZ2UgPSAoKHByb2R1Y3QudG90YWwtIHRoaXMubnVtYmVyVXRpbFNlcnZpY2UudHJpbVRvMkRlY2ltYWwyKHByb2R1Y3RDb250cmlidXRpb25JblRvdGFsKSkgLyB0b3RhbCkgKiAxMDA7XHJcbiAgICAgICAgICAgICAgcHJvZHVjdC5pdGVtRGlzY291bnRzLnRyblByb21vdGlvbnNQb3J0aW9uICs9XHJcbiAgICAgICAgICAgICAgKHByb21vdGlvbi5wcm9tb3Rpb25BbW91bnQgKiBwZXJjZW50YWdlKSAvIDEwMDtcclxuICAgICAgICAgICAgICBwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24gPSB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0eERvYztcclxuICAgICAgfVxyXG5cclxuICAgICAgXHJcbiAgICAgIHB1YmxpYyB2YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocHJvZHVjdDogVFByb2R1Y3QpIHtcclxuICAgICAgICBpZiAoIXByb2R1Y3QuaXRlbURpc2NvdW50cykge1xyXG4gICAgICAgICAgcHJvZHVjdC5pdGVtRGlzY291bnRzID0ge1xyXG4gICAgICAgICAgICB0cm5EaXNjb3VudHNQb3J0aW9uOiAwLFxyXG4gICAgICAgICAgICB0cm5Qcm9tb3Rpb25zUG9ydGlvbjogMCxcclxuICAgICAgICAgICAgcmVmdW5kUG9ydGlvbjogMCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9kdWN0O1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgXHJcbiAgICBjdXN0b21lcigpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBjdXN0b21lciBtYXBwaW5nIHN0YXJ0ZWQuLi5cIik7XHJcbiAgICAgICAgbGV0IGN1c3RvbWVyT2JqID0ge30gYXMgQ3VzdG9tZXI7XHJcbiAgICAgICAgY3VzdG9tZXJPYmouZW1haWwgPSB0aGlzLm9yZGVyRGV0YWlscy5jdXN0b21lcl9pbmZvICYmIHRoaXMub3JkZXJEZXRhaWxzLmN1c3RvbWVyX2luZm8uZW1haWwgPyB0aGlzLm9yZGVyRGV0YWlscy5jdXN0b21lcl9pbmZvLmVtYWlsIDogJyc7XHJcbiAgICAgICAgY3VzdG9tZXJPYmouZmlyc3ROYW1lID0gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzICYmIHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcy5maXJzdF9uYW1lID8gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmZpcnN0X25hbWUgOiAnJztcclxuICAgICAgICBjdXN0b21lck9iai5sYXN0TmFtZSA9IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcyAmJiB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MubGFzdF9uYW1lID8gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmxhc3RfbmFtZSA6ICcnO1xyXG5cclxuICAgICAgICBsZXQgc2hpcHBpbmdBZGRyZXNzID0gW10gYXMgQWRkcmVzc1tdO1xyXG4gICAgICAgIHRoaXMub3JkZXJEZXRhaWxzLnNoaXBtZW50cy5mb3JFYWNoKFxyXG4gICAgICAgICAgICBzaGlwbWVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2hpcHBpbmdBZGRyZXNzT2JqID0ge30gYXMgQWRkcmVzcztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzc09iai5pZCA9IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MgJiYgc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5pZCA/IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MuaWQgOiAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzc09iai5jb3VudHJ5Q29kZSA9IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MgJiYgc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5jb3VudHJ5X2NvZGUgPyBzaGlwbWVudC5zaGlwcGluZ19hZGRyZXNzLmNvdW50cnlfY29kZSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdBZGRyZXNzT2JqLmFkZHJlc3MxID0gc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcyAmJiBzaGlwbWVudC5zaGlwcGluZ19hZGRyZXNzLmFkZHJlc3MxID8gc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5hZGRyZXNzMSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdBZGRyZXNzT2JqLmNpdHkgPSBzaGlwbWVudC5zaGlwcGluZ19hZGRyZXNzICYmIHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MuY2l0eSA/IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MuY2l0eSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdBZGRyZXNzT2JqLmNvdW50cnkgPSAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzc09iai5wb3N0Q29kZSA9IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MgJiYgc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5wb3N0YWxfY29kZSA/IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MucG9zdGFsX2NvZGUgOiAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzcy5wdXNoKHNoaXBwaW5nQWRkcmVzc09iaik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgICAgY3VzdG9tZXJPYmouc2hpcHBpbmdBZGRyZXNzID0gc2hpcHBpbmdBZGRyZXNzO1xyXG5cclxuICAgICAgICBsZXQgYmlsbGluZ0FkZHJlc3MgPSBbXSBhcyBBZGRyZXNzW107XHJcbiAgICAgICAgbGV0IGJpbGxpbmdBZGRyZXNzT2JqID0ge30gYXMgQWRkcmVzcztcclxuICAgICAgICBiaWxsaW5nQWRkcmVzc09iai5pZCA9IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcyAmJiB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuaWQgPyB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuaWQgOiAnJztcclxuICAgICAgICBiaWxsaW5nQWRkcmVzc09iai5jb3VudHJ5Q29kZSA9IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcyAmJiB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuY291bnRyeV9jb2RlID8gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmNvdW50cnlfY29kZSA6ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzT2JqLmFkZHJlc3MxID0gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzICYmIHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcy5hZGRyZXNzMSA/IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcy5hZGRyZXNzMSA6ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzT2JqLmNpdHkgPSB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MgJiYgdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmNpdHkgPyB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuY2l0eSA6ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzT2JqLmNvdW50cnkgPSAnJztcclxuICAgICAgICBiaWxsaW5nQWRkcmVzc09iai5wb3N0Q29kZSA9ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzLnB1c2goYmlsbGluZ0FkZHJlc3NPYmopO1xyXG4gICAgICAgIGN1c3RvbWVyT2JqLmJpbGxpbmdBZGRyZXNzID0gYmlsbGluZ0FkZHJlc3M7XHJcblxyXG4gICAgICAgIGxldCBzaGlwbWVudERldGFpbHMgPSBbXSBhcyBTaGlwbWVudERldGFpbHNbXTtcclxuICAgICAgICB0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMuZm9yRWFjaChcclxuICAgICAgICAgICAgc2hpcG1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHNoaXBtZW50RGV0YWlsc09iaiA9IHt9IGFzIFNoaXBtZW50RGV0YWlscztcclxuICAgICAgICAgICAgICAgIHNoaXBtZW50RGV0YWlsc09iai5pZCA9IHNoaXBtZW50LnNoaXBtZW50X2lkID8gc2hpcG1lbnQuc2hpcG1lbnRfaWQgOiAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBtZW50RGV0YWlsc09iai5kZWxpdmVyeUdyb3VwID0gc2hpcG1lbnQuc2hpcG1lbnRfaWQgPyBzaGlwbWVudC5zaGlwbWVudF9pZCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcG1lbnREZXRhaWxzLnB1c2goc2hpcG1lbnREZXRhaWxzT2JqKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY3VzdG9tZXJPYmouc2hpcG1lbnREZXRhaWxzID0gc2hpcG1lbnREZXRhaWxzO1xyXG5cclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5jdXN0b21lciA9IGN1c3RvbWVyT2JqO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IGN1c3RvbWVyIG1hcHBpbmcgZW5kZWQuLi5cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMgbWFwcGluZyBzdGFydGVkLi4uXCIpO1xyXG4gICAgICAgIGxldCBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscyA9IFtdIGFzIGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzW107XHJcbiAgICAgICAgaWYgKHRoaXMub3JkZXJEZXRhaWxzLnNoaXBtZW50cyAmJiB0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMuZm9yRWFjaChcclxuICAgICAgICAgICAgICAgIHNoaXBtZW50ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHNPYmogPSB7fSBhcyBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscztcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNhY3Rpb25JbmZvID0ge30gYXMgVHJhbnNhY3Rpb25JbmZvO1xyXG4gICAgICAgICAgICAgICAgICAgIGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzT2JqLnVuaXF1ZUlkID0gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfbm8gPyB0aGlzLm9yZGVyRGV0YWlscy5vcmRlcl9ubyA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzT2JqLnByb3ZpZGVyVHlwZSA9IFBST1ZJREVSUy5TQUxFU0ZPUkNFO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSW5mby5zaGlwcGluZ0lkID0gc2hpcG1lbnQuc2hpcHBpbmdfbWV0aG9kICYmIHNoaXBtZW50LnNoaXBwaW5nX21ldGhvZC5pZCA/IHNoaXBtZW50LnNoaXBwaW5nX21ldGhvZC5pZCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSW5mby5leHRlcm5hbFNoaXBwaW5nSWQgPSBzaGlwbWVudC5zaGlwbWVudF9pZCA/IHNoaXBtZW50LnNoaXBtZW50X2lkIDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHNPYmouZGV0YWlscyA9IHRyYW5zYWN0aW9uSW5mbztcclxuICAgICAgICAgICAgICAgICAgICBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscy5wdXNoKGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzT2JqKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMgPSBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscztcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscyBtYXBwaW5nIGVuZGVkLi4uXCIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGJhc2tldFN1bW1hcnkoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogYmFza2V0U3VtbWFyeSBtYXBwaW5nIHN0YXJ0ZWQuLi5cIik7XHJcbiAgICAgICAgbGV0IGJhc2tldFN1bW1hcnkgPSB7fSBhcyBCYXNrZXRTdW1tYXJ5O1xyXG4gICAgICAgIGxldCBiYXNrZXRTdW1tYXJ5V2ViT3JkZXIgPSB7fSBhcyBCYXNrZXRTdW1tYXJ5RGV0YWlscztcclxuICAgICAgICBjb25zdCBsaW5lUHJvbW90aW9uVG90YWwgPSB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQubGluZVByb21vdGlvbi5tYXAobGluZVByb21vdGlvbiA9PiBsaW5lUHJvbW90aW9uLnByb21vdGlvbkFtb3VudCkucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSA9PiBhY2N1bXVsYXRvciArIGN1cnJlbnRWYWx1ZSwgMCk7XHJcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25Qcm9tb3Rpb25Ub3RhbCA9IHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC50cmFuc2FjdGlvblByb21vdGlvbi5tYXAodHJhbnNhY3Rpb25Qcm9tb3Rpb24gPT4gdHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHJvbW90aW9uQW1vdW50KS5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpID0+IGFjY3VtdWxhdG9yICsgY3VycmVudFZhbHVlLCAwKTtcclxuICAgICAgICBiYXNrZXRTdW1tYXJ5LmRpc2NvdW50VG90YWwgPSBsaW5lUHJvbW90aW9uVG90YWwgKyB0cmFuc2FjdGlvblByb21vdGlvblRvdGFsO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuVkFUVG90YWwgPSB0aGlzLm9yZGVyRGV0YWlscy50YXhfdG90YWwgPyB0aGlzLm9yZGVyRGV0YWlscy50YXhfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuc2FsZVRvdGFsID0gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfdG90YWwgPyB0aGlzLm9yZGVyRGV0YWlscy5vcmRlcl90b3RhbCA6IDA7XHJcbiAgICAgICAgYmFza2V0U3VtbWFyeS5iYXNrZXRUb3RhbCA9IHRoaXMub3JkZXJEZXRhaWxzLm9yZGVyX3RvdGFsID8gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkudG90YWxJdGVtcyA9IHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMgJiYgdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5sZW5ndGggPiAwID8gdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5sZW5ndGggOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuc2hpcHBpbmdUb3RhbCA9IHRoaXMub3JkZXJEZXRhaWxzLnNoaXBwaW5nX3RvdGFsID8gdGhpcy5vcmRlckRldGFpbHMuc2hpcHBpbmdfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuYmFza2V0VG90YWxXaXRoU2hpcHBpbmdUb3RhbCA9IHRoaXMub3JkZXJEZXRhaWxzLm9yZGVyX3RvdGFsID8gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnlXZWJPcmRlci5zaGlwcGluZ1RvdGFsID0gdGhpcy5vcmRlckRldGFpbHMuc2hpcHBpbmdfdG90YWwgPyB0aGlzLm9yZGVyRGV0YWlscy5zaGlwcGluZ190b3RhbCA6IDA7XHJcbiAgICAgICAgYmFza2V0U3VtbWFyeVdlYk9yZGVyLmJhc2tldFRvdGFsV2l0aFNoaXBwaW5nVG90YWwgPSB0aGlzLm9yZGVyRGV0YWlscy5vcmRlcl90b3RhbCA/IHRoaXMub3JkZXJEZXRhaWxzLm9yZGVyX3RvdGFsIDogMDtcclxuICAgICAgICBiYXNrZXRTdW1tYXJ5LndlYk9yZGVyID0gYmFza2V0U3VtbWFyeVdlYk9yZGVyO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldFN1bW1hcnkgPSBiYXNrZXRTdW1tYXJ5O1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IGJhc2tldFN1bW1hcnkgbWFwcGluZyBlbmRlZC4uLlwiKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBkZXZpY2VJZChkZXZpY2VJZCkge1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmRldmljZUlkID0gZGV2aWNlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgdGVybWluYWxJZCh0ZXJtaW5hbElkKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QudGVybWluYWxJZCA9IHRlcm1pbmFsSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgb3JnQ29kZShvcmdDb2RlKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3Qub3JnQ29kZSA9IG9yZ0NvZGU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVJZChzdG9yZUlkKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3Quc3RvcmVJZCA9IHN0b3JlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVOb2RlSWQoc3RvcmVOb2RlSWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LnN0b3JlTm9kZUlkID0gc3RvcmVOb2RlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVOb2RlU3RydWN0dXJlKHN0b3JlTm9kZVN0cnVjdHVyZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3Quc3RvcmVOb2RlU3RydWN0dXJlID0gc3RvcmVOb2RlU3RydWN0dXJlO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGRvY0lkKGRvY0lkKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuaWQgPSBkb2NJZDtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVVc2VySUQodXNlcklEOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC51c2VySWQgPSB1c2VySUQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVXNlck5hbWUobmFtZSkge1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LnVzZXJOYW1lID0gbmFtZTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBidWlsZCgpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBtYXBwaW5nIGRvbmUuLi5cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud2ViUmV0dXJuT2JqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldFVUQ0RhdGVUaW1lKGRhdGUpIHtcclxuICAgICAgICBpZiAoZGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
688
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlci5jbGFzcy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL0BwbWNyZXRhaWwvbWFwcGVyLWxpYnJhcnkvIiwic291cmNlcyI6WyJsaWIvV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlci5jbGFzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7OztBQUNBLE9BQU8sRUFBcUYsZ0JBQWdCLEVBQUUsZUFBZSxFQUFFLGNBQWMsRUFBRSxpQkFBaUIsRUFBZ0MsU0FBUyxFQUFtQixnQkFBZ0IsRUFBa0ksTUFBTSx3QkFBd0IsQ0FBQztBQUM3WSxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSx1QkFBdUIsQ0FBQztBQUUxRCxNQUFNLE9BQU8scUNBQXFDOzs7OztJQWdDOUMsWUFBWSxZQUEwQixFQUMxQixZQUEyQjtRQUEzQixpQkFBWSxHQUFaLFlBQVksQ0FBZTtRQTlCL0Isb0JBQWUsR0FBd0I7WUFDM0MsRUFBRSxFQUFFLEVBQUU7WUFDTixPQUFPLEVBQUUsRUFBRTtZQUNYLE9BQU8sRUFBRSxFQUFFO1lBQ1gsV0FBVyxFQUFFLEVBQUU7WUFDZixrQkFBa0IsRUFBRSxFQUFFO1lBQ3RCLFFBQVEsRUFBRSxFQUFFO1lBQ1osVUFBVSxFQUFFLEVBQUU7WUFDZCxnQkFBZ0IsRUFBRSxFQUFFO1lBQ3BCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLEVBQUU7WUFDVixhQUFhLEVBQUUsRUFBRTtZQUNqQixZQUFZLEVBQUUsRUFBRTtZQUNoQixRQUFRLEVBQUU7Z0JBQ04sRUFBRSxFQUFFLEVBQUU7Z0JBQ04sS0FBSyxFQUFFLEVBQUU7Z0JBQ1QsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osY0FBYyxFQUFFLEVBQUU7Z0JBQ2xCLGVBQWUsRUFBRSxFQUFFO2dCQUNuQixlQUFlLEVBQUUsRUFBRTtnQkFDbkIsU0FBUyxFQUFFLEVBQUU7Z0JBQ2IsUUFBUSxFQUFFLEVBQUU7Z0JBQ1osa0JB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Q2hCLENBQUM7Ozs7SUFFRCxLQUFLO1FBQ0QsT0FBTyxDQUFDLEdBQUcsQ0FBQyx3RUFBd0UsQ0FBQyxDQUFDO1FBQ3RGLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQztJQUNoQyxDQUFDOzs7OztJQUVELGNBQWMsQ0FBQyxJQUFJO1FBQ2YsSUFBSSxJQUFJLEVBQUU7WUFDTixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1NBQ3ZDO0lBQ0wsQ0FBQztDQUNKOzs7Ozs7SUE3ZUcsNkRBQW1DOzs7OztJQUNuQyxnRUEwQkM7O0lBQ0Qsa0VBQXVCOzs7OztJQUduQiw2REFBbUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDdXJyZW5jeVBpcGUgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcbmltcG9ydCB7IEFkZHJlc3MsIEJhc2tldFN1bW1hcnksIEJhc2tldFN1bW1hcnlEZXRhaWxzLCBDdXJyZW50VHJhbnNhY3Rpb25EZXRhaWxzLCBDdXN0b21lciwgREVMSVZFUllfTUVUSE9EUywgUFJPTU9USU9OX0xFVkVMLCBQUk9NT1RJT05fVFlQRSwgSU5JVElBVElOR19NT0RVTEUsIExpbmVQcm9tb3Rpb25zLCBPcmRlckRldGFpbHMsIFBST1ZJREVSUywgU2hpcG1lbnREZXRhaWxzLCBUUkFOU0FDVElPTl9UWVBFLCBUcmFuc2FjdGlvbkRvY3VtZW50LCBUcmFuc2FjdGlvbkluZm8sIFRyYW5zYWN0aW9uUHJvbW90aW9uLCBUcmlnZ2VyLCBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscywgVFByb2R1Y3QsIFJlZnVuZFByb2R1Y3RDaGFuZ2UgfSBmcm9tIFwiLi9tYXBwZXItbGlicmFyeS5tb2RlbFwiO1xyXG5pbXBvcnQgeyBOdW1iZXJVdGlsU2VydmljZSB9IGZyb20gXCIuL251bWJlci11dGlsLnNlcnZpY2VcIjtcclxuXHJcbmV4cG9ydCBjbGFzcyBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzIHtcclxuXHJcbiAgICBwcml2YXRlIG9yZGVyRGV0YWlsczogT3JkZXJEZXRhaWxzO1xyXG4gICAgcHJpdmF0ZSB3ZWJSZXR1cm5PYmplY3Q6IFRyYW5zYWN0aW9uRG9jdW1lbnQgPSB7XHJcbiAgICAgICAgaWQ6ICcnLFxyXG4gICAgICAgIG9yZ0NvZGU6IFwiXCIsXHJcbiAgICAgICAgc3RvcmVJZDogXCJcIixcclxuICAgICAgICBzdG9yZU5vZGVJZDogXCJcIixcclxuICAgICAgICBzdG9yZU5vZGVTdHJ1Y3R1cmU6IFwiXCIsXHJcbiAgICAgICAgZGV2aWNlSWQ6IFwiXCIsXHJcbiAgICAgICAgdGVybWluYWxJZDogXCJcIixcclxuICAgICAgICBpbml0aWF0aW5nTW9kdWxlOiBcIlwiLFxyXG4gICAgICAgIGV4cG9ydDogZmFsc2UsXHJcbiAgICAgICAgYmFza2V0OiB7fSxcclxuICAgICAgICBiYXNrZXRTdW1tYXJ5OiB7fSxcclxuICAgICAgICBiYXNlQ3VycmVuY3k6IFwiXCIsXHJcbiAgICAgICAgY3VzdG9tZXI6IHtcclxuICAgICAgICAgICAgaWQ6ICcnLFxyXG4gICAgICAgICAgICBlbWFpbDogJycsXHJcbiAgICAgICAgICAgIGZpcnN0TmFtZTogJycsXHJcbiAgICAgICAgICAgIGxhc3ROYW1lOiAnJyxcclxuICAgICAgICAgICAgYmlsbGluZ0FkZHJlc3M6IFtdLFxyXG4gICAgICAgICAgICBzaGlwcGluZ0FkZHJlc3M6IFtdLFxyXG4gICAgICAgICAgICBzaGlwbWVudERldGFpbHM6IFtdLFxyXG4gICAgICAgICAgICB0ZWxlcGhvbmU6ICcnLFxyXG4gICAgICAgICAgICBwb3N0Q29kZTogJycsXHJcbiAgICAgICAgICAgIG5vQ3VzdG9tZXJTZWxlY3RlZDogZmFsc2VcclxuICAgICAgICB9LFxyXG4gICAgICAgIGN1cnJlbnRUcmFuc2FjdGlvbkRldGFpbHM6IHt9IGFzIEN1cnJlbnRUcmFuc2FjdGlvbkRldGFpbHNcclxuICAgIH1cclxuICAgIG51bWJlclV0aWxTZXJ2aWNlOiBhbnk7XHJcblxyXG4gICAgY29uc3RydWN0b3Iob3JkZXJEZXRhaWxzOiBPcmRlckRldGFpbHMsXHJcbiAgICAgICAgcHJpdmF0ZSBjdXJyZW5jeVBpcGU/OiBDdXJyZW5jeVBpcGVcclxuICAgICAgICApIHtcclxuICAgICAgICBpZiAob3JkZXJEZXRhaWxzKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3JkZXJEZXRhaWxzID0gb3JkZXJEZXRhaWxzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlID0gbmV3IE51bWJlclV0aWxTZXJ2aWNlKGN1cnJlbmN5UGlwZSk7XHJcbiAgICB9XHJcblxyXG4gICAgd2ViUmV0dXJuQ29tbW9uTWFwcGVyKCkge1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IHdlYlJldHVybkNvbW1vbk1hcHBlciBzdGFydGVkLi4uXCIpO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0Wyd0eXBlJ10gPSBUUkFOU0FDVElPTl9UWVBFLldFQl9SRVRVUk5TO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0WydkYXRldGltZSddID0gdGhpcy5nZXRVVENEYXRlVGltZSh0aGlzLm9yZGVyRGV0YWlscy5sYXN0X21vZGlmaWVkKTtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNlQ3VycmVuY3kgPSB0aGlzLm9yZGVyRGV0YWlscy5jdXJyZW5jeTtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5zdWJzaWRpYXJ5SWQgPSAnMSc7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuZXhwb3J0ID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5pbml0aWF0aW5nTW9kdWxlID0gSU5JVElBVElOR19NT0RVTEUuRUJBU0tFVDtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5jcmVhdGVkQXQgPSB0aGlzLmdldFVUQ0RhdGVUaW1lKHRoaXMub3JkZXJEZXRhaWxzLmNyZWF0aW9uX2RhdGUpO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LnVwZGF0ZWRBdCA9IHRoaXMuZ2V0VVRDRGF0ZVRpbWUodGhpcy5vcmRlckRldGFpbHMubGFzdF9tb2RpZmllZCk7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QudHJhbnNDb21wbGV0ZWRBdCA9IHRoaXMuZ2V0VVRDRGF0ZVRpbWUodGhpcy5vcmRlckRldGFpbHMubGFzdF9tb2RpZmllZCk7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3RbJ2V4dGVybmFsVHJhbnNhY3Rpb25JZCddID0gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfbm87XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogd2ViUmV0dXJuQ29tbW9uTWFwcGVyIGVuZGVkLi4uXCIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIC8vIGV4cG9ydChzdGF0dXMsIGRldGFpbHMpIHtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBleHBvcnQgbWFwcGluZyBzdGFydGVkLi4uXCIpO1xyXG4gICAgLy8gICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IHN0YXR1czpcIiwgc3RhdHVzKTtcclxuICAgIC8vICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBkZXRhaWxzOlwiLCBKU09OLnN0cmluZ2lmeShkZXRhaWxzKSk7XHJcbiAgICAvLyAgICAgaWYgKHN0YXR1cyAmJiBkZXRhaWxzICYmIGRldGFpbHMucHJvdmlkZXJzICYmIGRldGFpbHMucHJvdmlkZXJzLmxlbmd0aCA+IDApIHtcclxuICAgIC8vICAgICAgICAgZGV0YWlscy5wcm92aWRlcnMuZm9yRWFjaChcclxuICAgIC8vICAgICAgICAgICAgIHByb3ZpZGVyT2JqID0+IHtcclxuICAgIC8vICAgICAgICAgICAgICAgICBpZiAocHJvdmlkZXJPYmoucHJvdmlkZXIgJiYgcHJvdmlkZXJPYmoucHJvdmlkZXIgPT09IFBST1ZJREVSUy5TQUxFU0ZPUkNFKSB7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmV4cG9ydCA9IHRydWU7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgIC8vICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuZXhwb3J0ID0gZmFsc2U7XHJcbiAgICAvLyAgICAgICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICAgICAgfVxyXG4gICAgLy8gICAgICAgICApO1xyXG4gICAgLy8gICAgIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmV4cG9ydCA9IGZhbHNlO1xyXG4gICAgLy8gICAgIH1cclxuICAgIC8vICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBleHBvcnQgbWFwcGluZyBlbmQuLi5cIilcclxuICAgIC8vICAgICByZXR1cm4gdGhpcztcclxuICAgIC8vIH1cclxuXHJcbiAgICBnZXREZWxpdmVyeU1ldGhvZCgpIHtcclxuICAgICAgICBpZih0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMgJiYgdGhpcy5vcmRlckRldGFpbHMuc2hpcG1lbnRzLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgY29uc3Qgc2hpcFRvU3RvcmVTaGlwbWVudCA9IHRoaXMub3JkZXJEZXRhaWxzLnNoaXBtZW50cy5maW5kKHNoaXBtZW50ID0+IHNoaXBtZW50LmNfZnJvbVN0b3JlSWQpO1xyXG4gICAgICAgICAgICBpZihzaGlwVG9TdG9yZVNoaXBtZW50KSByZXR1cm4gREVMSVZFUllfTUVUSE9EUy5TSElQX1RPX1NUT1JFO1xyXG4gICAgICAgICAgICBlbHNlIHJldHVybiBERUxJVkVSWV9NRVRIT0RTLkRFTElWRVJZO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHJldHVybiAnJztcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJvZHVjdCgpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBwcm9kdWN0IG1hcHBpbmcgc3RhcnRlZC4uLlwiKTtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXRbJ3Byb2R1Y3RzJ10gPSBbXTtcclxuICAgICAgICBpZiAodGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcyAmJiB0aGlzLm9yZGVyRGV0YWlscy5wcm9kdWN0X2l0ZW1zLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5mb3JFYWNoKFxyXG4gICAgICAgICAgICAgICAgKHByb2R1Y3QsIGluZGV4KSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgcHJvZHVjdE9iaiA9IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHByb2R1Y3QuaXRlbV90ZXh0ID8gcHJvZHVjdC5pdGVtX3RleHQgOiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgU0tVOiBwcm9kdWN0LnByb2R1Y3RfaWQgPyBwcm9kdWN0LnByb2R1Y3RfaWQgOiAnJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcXVhbnRpdHk6IHByb2R1Y3QucXVhbnRpdHkgPyBwcm9kdWN0LnF1YW50aXR5IDogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcmVmdW5kZWRRdWFudGl0eTogMCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgcHJpY2U6IHByb2R1Y3QuYmFzZV9wcmljZSA/IHByb2R1Y3QuYmFzZV9wcmljZSA6IDAsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGl0ZW1MaW5lSWQ6IChpbmRleCArIDEpLnRvU3RyaW5nKCksXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRlbGl2ZXJ5TWV0aG9kOiB0aGlzLmdldERlbGl2ZXJ5TWV0aG9kKCkudG9TdHJpbmcoKSxcclxuICAgICAgICAgICAgICAgICAgICAgICAgdG90YWxMaW5lUHJpY2U6IHByb2R1Y3QucHJpY2UgPyBwcm9kdWN0LnByaWNlIDogMFxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICBpZiAocHJvZHVjdCAmJiBwcm9kdWN0LnByaWNlICE9IDApIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuYmFza2V0Wydwcm9kdWN0cyddLnB1c2gocHJvZHVjdE9iaik7XHJcbiAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgIH1cclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBwcm9kdWN0IG1hcHBpbmcgZW5kZWQuLi5cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgbGluZVByb21vdGlvbigpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBsaW5lUHJvbW90aW9uIG1hcHBpbmcgc3RhcnRlZC4uLlwiKTtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQubGluZVByb21vdGlvbiA9IFtdIGFzIExpbmVQcm9tb3Rpb25zW107XHJcbiAgICAgICAgbGV0IGxpbmVQcm9tb3Rpb25BcnJheSA9IFtdIGFzIExpbmVQcm9tb3Rpb25zW107XHJcbiAgICAgICAgaWYgKHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMgJiYgdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMuZm9yRWFjaChcclxuICAgICAgICAgICAgICAgIChwcm9kdWN0LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHByb2R1Y3QuaXRlbV9pZCA9IChpbmRleCArIDEpLnRvU3RyaW5nKCk7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKHByb2R1Y3QucHJpY2VfYWRqdXN0bWVudHMgJiYgcHJvZHVjdC5wcmljZV9hZGp1c3RtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHByb2R1Y3QucHJpY2VfYWRqdXN0bWVudHMuZm9yRWFjaChcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIChwcm9tb3Rpb24pID0+IHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoIXByb21vdGlvbi5jb3Vwb25fY29kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgbGluZVByb21vdGlvbk9iaiA9IHt9IGFzIExpbmVQcm9tb3Rpb25zO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJpZ2dlciA9IHt9IGFzIFRyaWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIuaXRlbUxpbmVJZCA9IHByb2R1Y3QuaXRlbV9pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlci5xdWFudGl0eSA9IHByb2R1Y3QucXVhbnRpdHkgPyBwcm9kdWN0LnF1YW50aXR5IDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVByb21vdGlvbk9iai50cmlnZ2VyID0gW10gYXMgVHJpZ2dlcltdO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLnRyaWdnZXIucHVzaCh0cmlnZ2VyKTtcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVQcm9tb3Rpb25PYmouaXRlbUxpbmVJZCA9IGluZGV4ICsgMTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgbGluZVByb21vdGlvbk9iai5wcm9tb3Rpb25JZCA9IHByb21vdGlvbi5wcm9tb3Rpb25faWQgPyBwcm9tb3Rpb24ucHJvbW90aW9uX2lkIDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVQcm9tb3Rpb25PYmouZGlzcGxheVRleHQgPSBwcm9tb3Rpb24uaXRlbV90ZXh0ID8gcHJvbW90aW9uLml0ZW1fdGV4dCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLnByb21vdGlvblR5cGUgPSBwcm9tb3Rpb24uYXBwbGllZF9kaXNjb3VudCAmJiBwcm9tb3Rpb24uYXBwbGllZF9kaXNjb3VudC50eXBlID8gcHJvbW90aW9uLmFwcGxpZWRfZGlzY291bnQudHlwZSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLnByb21vdGlvbkFtb3VudCA9IHByb21vdGlvbi5wcmljZSA/IE1hdGguYWJzKHByb21vdGlvbi5wcmljZSkgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsaW5lUHJvbW90aW9uT2JqLm5hbWUgPSBwcm9tb3Rpb24uY291cG9uX2NvZGUgID8gcHJvbW90aW9uLmNvdXBvbl9jb2RlIDogKHByb21vdGlvbi5pdGVtX3RleHQgPyBwcm9tb3Rpb24uaXRlbV90ZXh0IDonJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVQcm9tb3Rpb25PYmoucHJvbW90aW9uSW5mbyA9IHByb21vdGlvbi5pdGVtX3RleHQgPyBwcm9tb3Rpb24uaXRlbV90ZXh0IDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVQcm9tb3Rpb25PYmoucHJvbW90aW9uTGluZVByaWNlID0gcHJvZHVjdC5wcmljZSAtIE1hdGguYWJzKHByb21vdGlvbi5wcmljZSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbmVQcm9tb3Rpb25BcnJheS5wdXNoKGxpbmVQcm9tb3Rpb25PYmopO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgKTtcclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC5saW5lUHJvbW90aW9uID0gbGluZVByb21vdGlvbkFycmF5O1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IGxpbmVQcm9tb3Rpb24gbWFwcGluZyBlbmRlZC4uLlwiKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICB0cmFuc2FjdGlvblByb21vdGlvbigpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiB0cmFuc2FjdGlvblByb21vdGlvbiBtYXBwaW5nIHN0YXJ0ZWQuLi5cIik7XHJcblxyXG4gICAgICAgIGxldCB0cmFuc2FjdGlvblByb21vdGlvbkFycmF5ID0gdGhpcy5nZXRUcmFuc2FjdGlvblByb21vdGlvbnModGhpcy5vcmRlckRldGFpbHMpO1xyXG5cclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQudHJhbnNhY3Rpb25Qcm9tb3Rpb24gPSB0cmFuc2FjdGlvblByb21vdGlvbkFycmF5O1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IHRyYW5zYWN0aW9uUHJvbW90aW9uIG1hcHBpbmcgZW5kZWQuLi5cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0VHJhbnNhY3Rpb25Qcm9tb3Rpb25zKGJhc2tldCk6IFRyYW5zYWN0aW9uUHJvbW90aW9uW10ge1xyXG4gICAgICAgIHRyeSB7XHJcbiAgICAgICAgICAgIGxldCB0cmFuc2FjdGlvblByb21vdGlvbkFycmF5ID0gW10gYXMgVHJhbnNhY3Rpb25Qcm9tb3Rpb25bXTtcclxuICAgICAgICAgICAgaWYgKGJhc2tldC5vcmRlcl9wcmljZV9hZGp1c3RtZW50cyAmJiBiYXNrZXQub3JkZXJfcHJpY2VfYWRqdXN0bWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgYmFza2V0Lm9yZGVyX3ByaWNlX2FkanVzdG1lbnRzLmZvckVhY2goXHJcbiAgICAgICAgICAgICAgICAgICAgKHRyYW5zYWN0aW9uUHJvbW90aW9uKSA9PiB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGxldCB0cmFuc2FjdGlvblByb21vdGlvbk9iaiA9IHt9IGFzIFRyYW5zYWN0aW9uUHJvbW90aW9uO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmouZGlzcGxheVRleHQgPSB0cmFuc2FjdGlvblByb21vdGlvbi5pdGVtX3RleHQgPyB0cmFuc2FjdGlvblByb21vdGlvbi5pdGVtX3RleHQgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmoubmFtZSA9IHRyYW5zYWN0aW9uUHJvbW90aW9uLmNvdXBvbl9jb2RlID8gdHJhbnNhY3Rpb25Qcm9tb3Rpb24uY291cG9uX2NvZGUgOiAodHJhbnNhY3Rpb25Qcm9tb3Rpb24gLml0ZW1fdGV4dD90cmFuc2FjdGlvblByb21vdGlvbi5pdGVtX3RleHQgOiAnJyk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uT2JqLnByb21vdGlvbkFtb3VudCA9IHRyYW5zYWN0aW9uUHJvbW90aW9uLnByaWNlID8gTWF0aC5hYnModHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHJpY2UpIDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmoucHJvbW90aW9uSWQgPSB0cmFuc2FjdGlvblByb21vdGlvbi5wcm9tb3Rpb25faWQgPyB0cmFuc2FjdGlvblByb21vdGlvbi5wcm9tb3Rpb25faWQgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmoucHJvbW90aW9uSW5mbyA9IHRyYW5zYWN0aW9uUHJvbW90aW9uLml0ZW1fdGV4dCA/IHRyYW5zYWN0aW9uUHJvbW90aW9uLml0ZW1fdGV4dCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbk9iai5wcm9tb3Rpb25UeXBlID0gdHJhbnNhY3Rpb25Qcm9tb3Rpb24uYXBwbGllZF9kaXNjb3VudCAmJiB0cmFuc2FjdGlvblByb21vdGlvbi5hcHBsaWVkX2Rpc2NvdW50LnR5cGUgPyB0cmFuc2FjdGlvblByb21vdGlvbi5hcHBsaWVkX2Rpc2NvdW50LnR5cGUgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmouaXRlbUxpbmVJZHMgPSB0aGlzLm9yZGVyRGV0YWlscy5wcm9kdWN0X2l0ZW1zLm1hcCgocHJvZHVjdCwgaW5kZXgpID0+IGluZGV4ICsgMSk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlmICh0cmFuc2FjdGlvblByb21vdGlvbi5jb3Vwb25fY29kZSkge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmoudHlwZSA9IFBST01PVElPTl9UWVBFLkNPVVBPTjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uT2JqLmNvdXBvbkNvZGUgPSB0cmFuc2FjdGlvblByb21vdGlvbi5jb3Vwb25fY29kZTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uT2JqLnN1YkxldmVsVHlwZSA9IFBST01PVElPTl9MRVZFTC5UUkFOU0FDVElPTjtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbkFycmF5LnB1c2godHJhbnNhY3Rpb25Qcm9tb3Rpb25PYmopO1xyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuXHJcblxyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBnZXRUcmFuc2FjdGlvblByb21vdGlvbnMgOiBcIiwgSlNPTi5zdHJpbmdpZnkodHJhbnNhY3Rpb25Qcm9tb3Rpb25BcnJheSkpO1xyXG4gICAgICAgICAgICByZXR1cm4gdHJhbnNhY3Rpb25Qcm9tb3Rpb25BcnJheTtcclxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiAgZmFpbGVkOlwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6ICBmYWlsZWQ6XCIsIEpTT04uc3RyaW5naWZ5KGVycm9yKSk7XHJcbiAgICAgICAgICAgIHRocm93IG5ldyBFcnJvcihlcnJvcik7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZUxpbmVQcm9tb3Rpb25XaXRoQ291cG9uKCkge1xyXG4gICAgICAgIHRyeSB7XHJcblxyXG4gICAgICAgICAgICBsZXQgdHJhbnNhY3Rpb25Qcm9tb3Rpb24gPSB7fSBhcyBUcmFuc2FjdGlvblByb21vdGlvbjtcclxuICAgICAgICAgICAgbGV0IHRyaWdnZXJQcm9tb3Rpb24gPSBbXSBhcyBUcmlnZ2VyW107XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm9yZGVyRGV0YWlscy5wcm9kdWN0X2l0ZW1zICYmIHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5mb3JFYWNoKFxyXG4gICAgICAgICAgICAgICAgICAgIChwcm9kdWN0LCBpbmRleCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0Lml0ZW1faWQgPSAoaW5kZXggKyAxKS50b1N0cmluZygpO1xyXG5cclxuICAgICAgICAgICAgICAgICAgICAgICAgaWYgKHByb2R1Y3QucHJpY2VfYWRqdXN0bWVudHMgJiYgcHJvZHVjdC5wcmljZV9hZGp1c3RtZW50cy5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0LnByaWNlX2FkanVzdG1lbnRzLmZvckVhY2goXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgKHByb21vdGlvbikgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAocHJvbW90aW9uLmNvdXBvbl9jb2RlKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBsZXQgdHJpZ2dlciA9IHt9IGFzIFRyaWdnZXI7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLml0ZW1MaW5lSWQgPSBwcm9kdWN0Lml0ZW1faWQ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLnF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eSA/IHByb2R1Y3QucXVhbnRpdHkgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlci50b3RhbFF1YW50aXR5ID0gcHJvZHVjdC5xdWFudGl0eSA/IHByb2R1Y3QucXVhbnRpdHkgOiAwO1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJpZ2dlci5wcm9tb3Rpb25BbW91bnQgPSBwcm9tb3Rpb24ucHJpY2UgPyBNYXRoLmFicyhwcm9tb3Rpb24ucHJpY2UpIDogMDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIucmVmdW5kZWRSZWFzb24gPSBwcm9tb3Rpb24uY291cG9uX2NvZGUgPyBwcm9tb3Rpb24uY291cG9uX2NvZGUgOiAnJztcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXIucmVmdW5kZWRSZWFzb25EZXNjcmlwdGlvbiA9IHByb21vdGlvbi5pdGVtX3RleHQgPyBwcm9tb3Rpb24uaXRlbV90ZXh0IDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmlnZ2VyLnByb21vdGlvbklkID0gcHJvbW90aW9uLnByb21vdGlvbl9pZDtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyaWdnZXJQcm9tb3Rpb24ucHVzaCh0cmlnZ2VyKTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcblxyXG4gICAgICAgICAgICBpZiAodHJpZ2dlclByb21vdGlvbi5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbi5kaXNwbGF5VGV4dCA9IHRyaWdnZXJQcm9tb3Rpb25bMF0ucmVmdW5kZWRSZWFzb25EZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uLm5hbWUgPSB0cmlnZ2VyUHJvbW90aW9uWzBdLnJlZnVuZGVkUmVhc29uO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHJvbW90aW9uQW1vdW50ID0gLSh0cmlnZ2VyUHJvbW90aW9uLnJlZHVjZSgobiwgeyBwcm9tb3Rpb25BbW91bnQgfSkgPT4gbiArIHByb21vdGlvbkFtb3VudCwgMCkpO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHJvbW90aW9uSWQgPSB0cmlnZ2VyUHJvbW90aW9uWzBdLnByb21vdGlvbklkO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHJvbW90aW9uSW5mbyA9IHRyaWdnZXJQcm9tb3Rpb25bMF0ucmVmdW5kZWRSZWFzb25EZXNjcmlwdGlvbjtcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uLmNvdXBvbkNvZGUgPSB0cmlnZ2VyUHJvbW90aW9uWzBdLnJlZnVuZGVkUmVhc29uO1xyXG4gICAgICAgICAgICAgICAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24uaXRlbUxpbmVJZHMgPSBbXTtcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uLnR5cGUgPSBQUk9NT1RJT05fVFlQRS5DT1VQT047XHJcbiAgICAgICAgICAgICAgICB0cmFuc2FjdGlvblByb21vdGlvbi5zdWJMZXZlbFR5cGUgPSBQUk9NT1RJT05fTEVWRUwuTElORTtcclxuICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uLnRyaWdnZXIgPSB0cmlnZ2VyUHJvbW90aW9uO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwibGluZVByb21vdGlvbiBtYXBwaW5nIGVuZGVkLi4uXCIpO1xyXG4gICAgICAgICAgICBjb25zb2xlLmxvZyhcImUtYmFza2V0OiB1cGRhdGVMaW5lUHJvbW90aW9uV2l0aENvdXBvblwiLCBKU09OLnN0cmluZ2lmeSh0cmFuc2FjdGlvblByb21vdGlvbikpO1xyXG5cclxuICAgICAgICAgICAgaWYgKCF0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQudHJhbnNhY3Rpb25Qcm9tb3Rpb24gKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQudHJhbnNhY3Rpb25Qcm9tb3Rpb24gPSBbXTtcclxuICAgICAgICAgICAgfVxyXG5cclxuICAgICAgICAgICAgaWYgKHRyYW5zYWN0aW9uUHJvbW90aW9uICYmIHRyYW5zYWN0aW9uUHJvbW90aW9uLnByb21vdGlvbklkICkge1xyXG4gICAgICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQudHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHVzaCh0cmFuc2FjdGlvblByb21vdGlvbik7XHJcbiAgICAgICAgICAgIH1cclxuXHJcbiAgICAgICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRWJhc2tldDogU2FsZXNmb3JjZTogbGluZVByb21vdGlvbiBtYXBwaW5nPT4gZmFpbGVkOlwiLCBlcnJvcik7XHJcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiRWJhc2tldDogU2FsZXNmb3JjZTogbGluZVByb21vdGlvbiBtYXBwaW5nPT4gZmFpbGVkOlwiLCBKU09OLnN0cmluZ2lmeShlcnJvcikpO1xyXG4gICAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoZXJyb3IpO1xyXG4gICAgICAgIH1cclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVUcmFuc2FjdGlvblByb21vdGlvblBydGlvbkNhbGMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC50cmFuc2FjdGlvblByb21vdGlvbiAmJiB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQudHJhbnNhY3Rpb25Qcm9tb3Rpb24ubGVuZ3RoID4gMCkge1xyXG5cclxuICAgICAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuYmFza2V0LnRyYW5zYWN0aW9uUHJvbW90aW9uLmZvckVhY2godHIgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgICB0aGlzLnRyYW5zYWN0aW9uUHJvbW90aW9uUHJvZHVjdFBvcnRpb25DYWxjKHRoaXMud2ViUmV0dXJuT2JqZWN0ICwgdHIpXHJcbiAgICAgICAgICAgIH0pXHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIHRyYW5zYWN0aW9uUHJvbW90aW9uUHJvZHVjdFBvcnRpb25DYWxjKFxyXG4gICAgICAgIHR4RG9jOiBUcmFuc2FjdGlvbkRvY3VtZW50LFxyXG4gICAgICAgIHByb21vdGlvbjogVHJhbnNhY3Rpb25Qcm9tb3Rpb25cclxuICAgICAgKSB7XHJcbiAgICAgICAgbGV0IHRvdGFsID0gMDtcclxuICAgICAgICBsZXQgcGVyY2VudGFnZSA9IDA7XHJcbiAgICAgICAge1xyXG4gICAgICAgICAgY29uc29sZS5sb2coXHJcbiAgICAgICAgICAgIGBlYmFza2V0OiB0cmFuc2FjdGlvblByb21vdGlvblByb2R1Y3RQb3J0aW9uQ2FsYzogdHJuc2FjdGlvblByb21vdGlvbjogJHtKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgICBwcm9tb3Rpb25cclxuICAgICAgICAgICAgKX1gXHJcbiAgICAgICAgICApO1xyXG4gICAgICAgICAgaWYocHJvbW90aW9uLnR5cGUgPT09IFBST01PVElPTl9UWVBFLkNPVVBPTiAmJiBwcm9tb3Rpb24uc3ViTGV2ZWxUeXBlID09PSBQUk9NT1RJT05fTEVWRUwuTElORSlcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgdHhEb2MuYmFza2V0LnByb2R1Y3RzLmZvckVhY2goKHByb2R1Y3QpID0+IHtcclxuICAgICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy52YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocHJvZHVjdCk7XHJcbiAgICAgIFxyXG4gICAgICAgICAgICAgIGlmIChwcm9tb3Rpb24udHJpZ2dlciAmJiBwcm9tb3Rpb24udHJpZ2dlci5sZW5ndGggPiAwKSB7XHJcbiAgICAgICAgICAgICAgICBwcm9tb3Rpb24udHJpZ2dlci5mb3JFYWNoKCh0KT0+e1xyXG4gICAgICAgICAgICAgICAgICBpZih0Lml0ZW1MaW5lSWQgPT09IHByb2R1Y3QuaXRlbUxpbmVJZC50b1N0cmluZygpKVxyXG4gICAgICAgICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24gKz0gdC5wcm9tb3Rpb25BbW91bnQ7XHJcbiAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICBlbHNlXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIHR4RG9jLmJhc2tldC5wcm9kdWN0cy5mb3JFYWNoKChwKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChwcm9tb3Rpb24uaXRlbUxpbmVJZHMgJiYgcHJvbW90aW9uLml0ZW1MaW5lSWRzLmluY2x1ZGVzKHAuaXRlbUxpbmVJZCkgJiYgIXAuZ2lmdENhcmQpIHtcclxuICAgICAgICAgICAgICBwID0gdGhpcy52YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocCk7XHJcbiAgICAgICAgICAgICAgICBjb25zdCBwcm9kdWN0Q29udHJpYnV0aW9uSW5Ub3RhbCA9XHJcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwLml0ZW1EaXNjb3VudHMudHJuRGlzY291bnRzUG9ydGlvbikgK1xyXG4gICAgICAgICAgICAgICAgdGhpcy5udW1iZXJVdGlsU2VydmljZS50cmltVG8yRGVjaW1hbDIocC5pdGVtRGlzY291bnRzLnRyblByb21vdGlvbnNQb3J0aW9uKSAtXHJcbiAgICAgICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwLml0ZW1EaXNjb3VudHMucmVmdW5kUG9ydGlvbik7XHJcbiAgICAgICAgICAgICAgdG90YWwgKz0gKHAudG90YWwgLSB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Q29udHJpYnV0aW9uSW5Ub3RhbCkpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnNvbGUubG9nKFxyXG4gICAgICAgICAgICBgZWJhc2tldDogdHJuc2FjdGlvblByb21vdGlvbjogJHtKU09OLnN0cmluZ2lmeShcclxuICAgICAgICAgICAgICBwcm9tb3Rpb25cclxuICAgICAgICAgICAgKX0sIHNlbGVjdGVkIHByb2R1Y3RzIHRvdGFsOiAke3RvdGFsfWBcclxuICAgICAgICAgICk7XHJcbiAgICAgICAgICB0eERvYy5iYXNrZXQucHJvZHVjdHMuZm9yRWFjaCgocHJvZHVjdCkgPT4ge1xyXG4gICAgICAgICAgICBwcm9kdWN0ID0gdGhpcy52YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocHJvZHVjdCk7XHJcbiAgICBcclxuICAgICAgICAgICAgY29uc3QgcHJvZHVjdENvbnRyaWJ1dGlvbkluVG90YWwgPVxyXG4gICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuRGlzY291bnRzUG9ydGlvbikgK1xyXG4gICAgICAgICAgICB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24pIC1cclxuICAgICAgICAgICAgdGhpcy5udW1iZXJVdGlsU2VydmljZS50cmltVG8yRGVjaW1hbDIocHJvZHVjdC5pdGVtRGlzY291bnRzLnJlZnVuZFBvcnRpb24pO1xyXG4gICAgXHJcbiAgICAgICAgICAgIGlmIChwcm9tb3Rpb24uaXRlbUxpbmVJZHMuaW5jbHVkZXMocHJvZHVjdC5pdGVtTGluZUlkKSkge1xyXG4gICAgICAgICAgICAgIHBlcmNlbnRhZ2UgPSAoKHByb2R1Y3QudG90YWwtIHRoaXMubnVtYmVyVXRpbFNlcnZpY2UudHJpbVRvMkRlY2ltYWwyKHByb2R1Y3RDb250cmlidXRpb25JblRvdGFsKSkgLyB0b3RhbCkgKiAxMDA7XHJcbiAgICAgICAgICAgICAgcHJvZHVjdC5pdGVtRGlzY291bnRzLnRyblByb21vdGlvbnNQb3J0aW9uICs9XHJcbiAgICAgICAgICAgICAgKHByb21vdGlvbi5wcm9tb3Rpb25BbW91bnQgKiBwZXJjZW50YWdlKSAvIDEwMDtcclxuICAgICAgICAgICAgICBwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24gPSB0aGlzLm51bWJlclV0aWxTZXJ2aWNlLnRyaW1UbzJEZWNpbWFsMihwcm9kdWN0Lml0ZW1EaXNjb3VudHMudHJuUHJvbW90aW9uc1BvcnRpb24pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0eERvYztcclxuICAgICAgfVxyXG5cclxuICAgICAgXHJcbiAgICAgIHB1YmxpYyB2YWxpZGF0ZVByb2R1Y3RJdGVtRGlzY291bnQocHJvZHVjdDogVFByb2R1Y3QpIHtcclxuICAgICAgICBpZiAoIXByb2R1Y3QuaXRlbURpc2NvdW50cykge1xyXG4gICAgICAgICAgcHJvZHVjdC5pdGVtRGlzY291bnRzID0ge1xyXG4gICAgICAgICAgICB0cm5EaXNjb3VudHNQb3J0aW9uOiAwLFxyXG4gICAgICAgICAgICB0cm5Qcm9tb3Rpb25zUG9ydGlvbjogMCxcclxuICAgICAgICAgICAgcmVmdW5kUG9ydGlvbjogMCxcclxuICAgICAgICAgIH07XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiBwcm9kdWN0O1xyXG4gICAgICB9XHJcbiAgICBcclxuICAgICAgXHJcbiAgICBjdXN0b21lcigpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBjdXN0b21lciBtYXBwaW5nIHN0YXJ0ZWQuLi5cIik7XHJcbiAgICAgICAgbGV0IGN1c3RvbWVyT2JqID0ge30gYXMgQ3VzdG9tZXI7XHJcbiAgICAgICAgY3VzdG9tZXJPYmouZW1haWwgPSB0aGlzLm9yZGVyRGV0YWlscy5jdXN0b21lcl9pbmZvICYmIHRoaXMub3JkZXJEZXRhaWxzLmN1c3RvbWVyX2luZm8uZW1haWwgPyB0aGlzLm9yZGVyRGV0YWlscy5jdXN0b21lcl9pbmZvLmVtYWlsIDogJyc7XHJcbiAgICAgICAgY3VzdG9tZXJPYmouZmlyc3ROYW1lID0gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzICYmIHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcy5maXJzdF9uYW1lID8gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmZpcnN0X25hbWUgOiAnJztcclxuICAgICAgICBjdXN0b21lck9iai5sYXN0TmFtZSA9IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcyAmJiB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MubGFzdF9uYW1lID8gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmxhc3RfbmFtZSA6ICcnO1xyXG5cclxuICAgICAgICBsZXQgc2hpcHBpbmdBZGRyZXNzID0gW10gYXMgQWRkcmVzc1tdO1xyXG4gICAgICAgIHRoaXMub3JkZXJEZXRhaWxzLnNoaXBtZW50cy5mb3JFYWNoKFxyXG4gICAgICAgICAgICBzaGlwbWVudCA9PiB7XHJcbiAgICAgICAgICAgICAgICBsZXQgc2hpcHBpbmdBZGRyZXNzT2JqID0ge30gYXMgQWRkcmVzcztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzc09iai5pZCA9IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MgJiYgc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5pZCA/IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MuaWQgOiAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzc09iai5jb3VudHJ5Q29kZSA9IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MgJiYgc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5jb3VudHJ5X2NvZGUgPyBzaGlwbWVudC5zaGlwcGluZ19hZGRyZXNzLmNvdW50cnlfY29kZSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdBZGRyZXNzT2JqLmFkZHJlc3MxID0gc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcyAmJiBzaGlwbWVudC5zaGlwcGluZ19hZGRyZXNzLmFkZHJlc3MxID8gc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5hZGRyZXNzMSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdBZGRyZXNzT2JqLmNpdHkgPSBzaGlwbWVudC5zaGlwcGluZ19hZGRyZXNzICYmIHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MuY2l0eSA/IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MuY2l0eSA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcHBpbmdBZGRyZXNzT2JqLmNvdW50cnkgPSAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzc09iai5wb3N0Q29kZSA9IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MgJiYgc2hpcG1lbnQuc2hpcHBpbmdfYWRkcmVzcy5wb3N0YWxfY29kZSA/IHNoaXBtZW50LnNoaXBwaW5nX2FkZHJlc3MucG9zdGFsX2NvZGUgOiAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBwaW5nQWRkcmVzcy5wdXNoKHNoaXBwaW5nQWRkcmVzc09iaik7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICApXHJcbiAgICAgICAgY3VzdG9tZXJPYmouc2hpcHBpbmdBZGRyZXNzID0gc2hpcHBpbmdBZGRyZXNzO1xyXG5cclxuICAgICAgICBsZXQgYmlsbGluZ0FkZHJlc3MgPSBbXSBhcyBBZGRyZXNzW107XHJcbiAgICAgICAgbGV0IGJpbGxpbmdBZGRyZXNzT2JqID0ge30gYXMgQWRkcmVzcztcclxuICAgICAgICBiaWxsaW5nQWRkcmVzc09iai5pZCA9IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcyAmJiB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuaWQgPyB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuaWQgOiAnJztcclxuICAgICAgICBiaWxsaW5nQWRkcmVzc09iai5jb3VudHJ5Q29kZSA9IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcyAmJiB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuY291bnRyeV9jb2RlID8gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmNvdW50cnlfY29kZSA6ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzT2JqLmFkZHJlc3MxID0gdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzICYmIHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcy5hZGRyZXNzMSA/IHRoaXMub3JkZXJEZXRhaWxzLmJpbGxpbmdfYWRkcmVzcy5hZGRyZXNzMSA6ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzT2JqLmNpdHkgPSB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MgJiYgdGhpcy5vcmRlckRldGFpbHMuYmlsbGluZ19hZGRyZXNzLmNpdHkgPyB0aGlzLm9yZGVyRGV0YWlscy5iaWxsaW5nX2FkZHJlc3MuY2l0eSA6ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzT2JqLmNvdW50cnkgPSAnJztcclxuICAgICAgICBiaWxsaW5nQWRkcmVzc09iai5wb3N0Q29kZSA9ICcnO1xyXG4gICAgICAgIGJpbGxpbmdBZGRyZXNzLnB1c2goYmlsbGluZ0FkZHJlc3NPYmopO1xyXG4gICAgICAgIGN1c3RvbWVyT2JqLmJpbGxpbmdBZGRyZXNzID0gYmlsbGluZ0FkZHJlc3M7XHJcblxyXG4gICAgICAgIGxldCBzaGlwbWVudERldGFpbHMgPSBbXSBhcyBTaGlwbWVudERldGFpbHNbXTtcclxuICAgICAgICB0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMuZm9yRWFjaChcclxuICAgICAgICAgICAgc2hpcG1lbnQgPT4ge1xyXG4gICAgICAgICAgICAgICAgbGV0IHNoaXBtZW50RGV0YWlsc09iaiA9IHt9IGFzIFNoaXBtZW50RGV0YWlscztcclxuICAgICAgICAgICAgICAgIHNoaXBtZW50RGV0YWlsc09iai5pZCA9IHNoaXBtZW50LnNoaXBtZW50X2lkID8gc2hpcG1lbnQuc2hpcG1lbnRfaWQgOiAnJztcclxuICAgICAgICAgICAgICAgIHNoaXBtZW50RGV0YWlsc09iai5kZWxpdmVyeUdyb3VwID0gc2hpcG1lbnQuc2hpcG1lbnRfaWQgPyBzaGlwbWVudC5zaGlwbWVudF9pZCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgc2hpcG1lbnREZXRhaWxzLnB1c2goc2hpcG1lbnREZXRhaWxzT2JqKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgICAgICAgY3VzdG9tZXJPYmouc2hpcG1lbnREZXRhaWxzID0gc2hpcG1lbnREZXRhaWxzO1xyXG5cclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC5jdXN0b21lciA9IGN1c3RvbWVyT2JqO1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IGN1c3RvbWVyIG1hcHBpbmcgZW5kZWQuLi5cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMgbWFwcGluZyBzdGFydGVkLi4uXCIpO1xyXG4gICAgICAgIGxldCBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscyA9IFtdIGFzIGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzW107XHJcbiAgICAgICAgaWYgKHRoaXMub3JkZXJEZXRhaWxzLnNoaXBtZW50cyAmJiB0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLm9yZGVyRGV0YWlscy5zaGlwbWVudHMuZm9yRWFjaChcclxuICAgICAgICAgICAgICAgIHNoaXBtZW50ID0+IHtcclxuICAgICAgICAgICAgICAgICAgICBsZXQgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHNPYmogPSB7fSBhcyBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscztcclxuICAgICAgICAgICAgICAgICAgICBsZXQgdHJhbnNhY3Rpb25JbmZvID0ge30gYXMgVHJhbnNhY3Rpb25JbmZvO1xyXG4gICAgICAgICAgICAgICAgICAgIGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzT2JqLnVuaXF1ZUlkID0gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfbm8gPyB0aGlzLm9yZGVyRGV0YWlscy5vcmRlcl9ubyA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzT2JqLnByb3ZpZGVyVHlwZSA9IFBST1ZJREVSUy5TQUxFU0ZPUkNFO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSW5mby5zaGlwcGluZ0lkID0gc2hpcG1lbnQuc2hpcHBpbmdfbWV0aG9kICYmIHNoaXBtZW50LnNoaXBwaW5nX21ldGhvZC5pZCA/IHNoaXBtZW50LnNoaXBwaW5nX21ldGhvZC5pZCA6ICcnO1xyXG4gICAgICAgICAgICAgICAgICAgIHRyYW5zYWN0aW9uSW5mby5leHRlcm5hbFNoaXBwaW5nSWQgPSBzaGlwbWVudC5zaGlwbWVudF9pZCA/IHNoaXBtZW50LnNoaXBtZW50X2lkIDogJyc7XHJcbiAgICAgICAgICAgICAgICAgICAgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHNPYmouZGV0YWlscyA9IHRyYW5zYWN0aW9uSW5mbztcclxuICAgICAgICAgICAgICAgICAgICBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscy5wdXNoKGV4dGVybmFsVHJhbnNhY3Rpb25EZXRhaWxzT2JqKTtcclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMgPSBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscztcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscyBtYXBwaW5nIGVuZGVkLi4uXCIpO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGJhc2tldFN1bW1hcnkoKSB7XHJcbiAgICAgICAgY29uc29sZS5sb2coXCJNYXBwZXIgbGlicmFyeTogV2ViUmV0dXJuU2FsZXNmb3JjZU1hcHBlckJ1aWxkZXJDbGFzczogYmFza2V0U3VtbWFyeSBtYXBwaW5nIHN0YXJ0ZWQuLi5cIik7XHJcbiAgICAgICAgbGV0IGJhc2tldFN1bW1hcnkgPSB7fSBhcyBCYXNrZXRTdW1tYXJ5O1xyXG4gICAgICAgIGxldCBiYXNrZXRTdW1tYXJ5V2ViT3JkZXIgPSB7fSBhcyBCYXNrZXRTdW1tYXJ5RGV0YWlscztcclxuICAgICAgICBjb25zdCBsaW5lUHJvbW90aW9uVG90YWwgPSB0aGlzLndlYlJldHVybk9iamVjdC5iYXNrZXQubGluZVByb21vdGlvbi5tYXAobGluZVByb21vdGlvbiA9PiBsaW5lUHJvbW90aW9uLnByb21vdGlvbkFtb3VudCkucmVkdWNlKChhY2N1bXVsYXRvciwgY3VycmVudFZhbHVlKSA9PiBhY2N1bXVsYXRvciArIGN1cnJlbnRWYWx1ZSwgMCk7XHJcbiAgICAgICAgY29uc3QgdHJhbnNhY3Rpb25Qcm9tb3Rpb25Ub3RhbCA9IHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldC50cmFuc2FjdGlvblByb21vdGlvbi5tYXAodHJhbnNhY3Rpb25Qcm9tb3Rpb24gPT4gdHJhbnNhY3Rpb25Qcm9tb3Rpb24ucHJvbW90aW9uQW1vdW50KS5yZWR1Y2UoKGFjY3VtdWxhdG9yLCBjdXJyZW50VmFsdWUpID0+IGFjY3VtdWxhdG9yICsgY3VycmVudFZhbHVlLCAwKTtcclxuICAgICAgICBiYXNrZXRTdW1tYXJ5LmRpc2NvdW50VG90YWwgPSBsaW5lUHJvbW90aW9uVG90YWwgKyB0cmFuc2FjdGlvblByb21vdGlvblRvdGFsO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuVkFUVG90YWwgPSB0aGlzLm9yZGVyRGV0YWlscy50YXhfdG90YWwgPyB0aGlzLm9yZGVyRGV0YWlscy50YXhfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuc2FsZVRvdGFsID0gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfdG90YWwgPyB0aGlzLm9yZGVyRGV0YWlscy5vcmRlcl90b3RhbCA6IDA7XHJcbiAgICAgICAgYmFza2V0U3VtbWFyeS5iYXNrZXRUb3RhbCA9IHRoaXMub3JkZXJEZXRhaWxzLm9yZGVyX3RvdGFsID8gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkudG90YWxJdGVtcyA9IHRoaXMub3JkZXJEZXRhaWxzLnByb2R1Y3RfaXRlbXMgJiYgdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5sZW5ndGggPiAwID8gdGhpcy5vcmRlckRldGFpbHMucHJvZHVjdF9pdGVtcy5sZW5ndGggOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuc2hpcHBpbmdUb3RhbCA9IHRoaXMub3JkZXJEZXRhaWxzLnNoaXBwaW5nX3RvdGFsID8gdGhpcy5vcmRlckRldGFpbHMuc2hpcHBpbmdfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnkuYmFza2V0VG90YWxXaXRoU2hpcHBpbmdUb3RhbCA9IHRoaXMub3JkZXJEZXRhaWxzLm9yZGVyX3RvdGFsID8gdGhpcy5vcmRlckRldGFpbHMub3JkZXJfdG90YWwgOiAwO1xyXG4gICAgICAgIGJhc2tldFN1bW1hcnlXZWJPcmRlci5zaGlwcGluZ1RvdGFsID0gdGhpcy5vcmRlckRldGFpbHMuc2hpcHBpbmdfdG90YWwgPyB0aGlzLm9yZGVyRGV0YWlscy5zaGlwcGluZ190b3RhbCA6IDA7XHJcbiAgICAgICAgYmFza2V0U3VtbWFyeVdlYk9yZGVyLmJhc2tldFRvdGFsV2l0aFNoaXBwaW5nVG90YWwgPSB0aGlzLm9yZGVyRGV0YWlscy5vcmRlcl90b3RhbCA/IHRoaXMub3JkZXJEZXRhaWxzLm9yZGVyX3RvdGFsIDogMDtcclxuICAgICAgICBiYXNrZXRTdW1tYXJ5LndlYk9yZGVyID0gYmFza2V0U3VtbWFyeVdlYk9yZGVyO1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmJhc2tldFN1bW1hcnkgPSBiYXNrZXRTdW1tYXJ5O1xyXG4gICAgICAgIGNvbnNvbGUubG9nKFwiTWFwcGVyIGxpYnJhcnk6IFdlYlJldHVyblNhbGVzZm9yY2VNYXBwZXJCdWlsZGVyQ2xhc3M6IGJhc2tldFN1bW1hcnkgbWFwcGluZyBlbmRlZC4uLlwiKTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBkZXZpY2VJZChkZXZpY2VJZCkge1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LmRldmljZUlkID0gZGV2aWNlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgdGVybWluYWxJZCh0ZXJtaW5hbElkKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QudGVybWluYWxJZCA9IHRlcm1pbmFsSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgb3JnQ29kZShvcmdDb2RlKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3Qub3JnQ29kZSA9IG9yZ0NvZGU7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVJZChzdG9yZUlkKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3Quc3RvcmVJZCA9IHN0b3JlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVOb2RlSWQoc3RvcmVOb2RlSWQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LnN0b3JlTm9kZUlkID0gc3RvcmVOb2RlSWQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgc3RvcmVOb2RlU3RydWN0dXJlKHN0b3JlTm9kZVN0cnVjdHVyZTogc3RyaW5nKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3Quc3RvcmVOb2RlU3RydWN0dXJlID0gc3RvcmVOb2RlU3RydWN0dXJlO1xyXG4gICAgICAgIHJldHVybiB0aGlzO1xyXG4gICAgfVxyXG5cclxuICAgIGRvY0lkKGRvY0lkKSB7XHJcbiAgICAgICAgdGhpcy53ZWJSZXR1cm5PYmplY3QuaWQgPSBkb2NJZDtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICB1cGRhdGVVc2VySUQodXNlcklEOiBzdHJpbmcpIHtcclxuICAgICAgICB0aGlzLndlYlJldHVybk9iamVjdC51c2VySWQgPSB1c2VySUQ7XHJcbiAgICAgICAgcmV0dXJuIHRoaXM7XHJcbiAgICB9XHJcblxyXG4gICAgdXBkYXRlVXNlck5hbWUobmFtZSkge1xyXG4gICAgICAgIHRoaXMud2ViUmV0dXJuT2JqZWN0LnVzZXJOYW1lID0gbmFtZTtcclxuICAgICAgICByZXR1cm4gdGhpcztcclxuICAgIH1cclxuXHJcbiAgICBidWlsZCgpIHtcclxuICAgICAgICBjb25zb2xlLmxvZyhcIk1hcHBlciBsaWJyYXJ5OiBXZWJSZXR1cm5TYWxlc2ZvcmNlTWFwcGVyQnVpbGRlckNsYXNzOiBtYXBwaW5nIGRvbmUuLi5cIik7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMud2ViUmV0dXJuT2JqZWN0O1xyXG4gICAgfVxyXG5cclxuICAgIGdldFVUQ0RhdGVUaW1lKGRhdGUpIHtcclxuICAgICAgICBpZiAoZGF0ZSkge1xyXG4gICAgICAgICAgICByZXR1cm4gbmV3IERhdGUoZGF0ZSkudG9JU09TdHJpbmcoKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbn1cclxuIl19
@@ -15,13 +15,13 @@ export class MapperLibraryComponent {
15
15
  MapperLibraryComponent.decorators = [
16
16
  { type: Component, args: [{
17
17
  selector: 'lib-mapper-library',
18
- template: `
19
- <p>
20
- mapper-library works!
21
- </p>
18
+ template: `
19
+ <p>
20
+ mapper-library works!
21
+ </p>
22
22
  `
23
23
  }] }
24
24
  ];
25
25
  /** @nocollapse */
26
26
  MapperLibraryComponent.ctorParameters = () => [];
27
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLWxpYnJhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHBtY3JldGFpbC9tYXBwZXItbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9tYXBwZXItbGlicmFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBWWxELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7Ozs7SUFFakIsUUFBUTtJQUNSLENBQUM7OztZQWZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUU7Ozs7R0FJVDthQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiAnbGliLW1hcHBlci1saWJyYXJ5JyxcbiAgdGVtcGxhdGU6IGBcbiAgICA8cD5cbiAgICAgIG1hcHBlci1saWJyYXJ5IHdvcmtzIVxuICAgIDwvcD5cbiAgYCxcbiAgc3R5bGVzOiBbXG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFwcGVyTGlicmFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XG5cbiAgY29uc3RydWN0b3IoKSB7IH1cblxuICBuZ09uSW5pdCgpOiB2b2lkIHtcbiAgfVxuXG59XG4iXX0=
27
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLWxpYnJhcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHBtY3JldGFpbC9tYXBwZXItbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9tYXBwZXItbGlicmFyeS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBWWxELE1BQU0sT0FBTyxzQkFBc0I7SUFFakMsZ0JBQWdCLENBQUM7Ozs7SUFFakIsUUFBUTtJQUNSLENBQUM7OztZQWZGLFNBQVMsU0FBQztnQkFDVCxRQUFRLEVBQUUsb0JBQW9CO2dCQUM5QixRQUFRLEVBQUU7Ozs7R0FJVDthQUdGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLW1hcHBlci1saWJyYXJ5JyxcclxuICB0ZW1wbGF0ZTogYFxyXG4gICAgPHA+XHJcbiAgICAgIG1hcHBlci1saWJyYXJ5IHdvcmtzIVxyXG4gICAgPC9wPlxyXG4gIGAsXHJcbiAgc3R5bGVzOiBbXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwcGVyTGlicmFyeUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gIH1cclxuXHJcbn1cclxuIl19
@@ -1435,4 +1435,4 @@ const PROMOTION_TYPE = {
1435
1435
  COUPON: "COUPON",
1436
1436
  };
1437
1437
  export { PROMOTION_TYPE };
1438
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLWxpYnJhcnkubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcG1jcmV0YWlsL21hcHBlci1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL21hcHBlci1saWJyYXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQVksZ0JBQWdCO0lBQzFCLElBQUksUUFBUztJQUNiLE1BQU0sVUFBVztJQUNqQixXQUFXLGVBQWdCO0lBQzNCLGFBQWEsaUJBQWtCO0lBQy9CLElBQUksUUFBUztJQUNiLFdBQVcsZUFBZ0I7RUFDNUI7Ozs7O0FBRUQsa0NBS0M7OztJQUpDLDJDQUE0Qjs7SUFDNUIsNENBQTZCOztJQUM3QixxQ0FBc0I7O0lBQ3RCLDRDQUE4Qjs7O0FBR2hDLE1BQVksZ0JBQWdCO0lBQzFCLFFBQVEsR0FBSTtJQUNaLFNBQVMsR0FBSTtJQUNiLGtCQUFrQixHQUFJO0lBQ3RCLGFBQWEsR0FBSTtFQUNsQjs7Ozs7Ozs7O0FBRUQsbUNBaUJDOzs7SUFoQkMsbUNBQW9COztJQUNwQiw0QkFBWTs7SUFDWixpQ0FBaUI7O0lBQ2pCLHNDQUF1Qjs7SUFDdkIscUNBQTRCOztJQUM1Qix1Q0FBZ0M7O0lBQ2hDLGlDQUFvQjs7SUFDcEIseUNBQTBCOztJQUMxQixrREFBbUM7O0lBQ25DLGlDQUFtQjs7SUFDbkIsc0NBQXVCOztJQUN2Qix1Q0FBd0I7O0lBQ3hCLGtEQUFtQzs7SUFDbkMsa0NBQW9COztJQUNwQiwrQkFBaUI7O0lBQ2pCLHdDQUEwQjs7Ozs7O0FBTTVCLDZCQXlFQzs7O0lBeEVDLDZCQUFvQjs7SUFDcEIseUJBQWU7O0lBQ2YsMkJBQWlCOztJQUNqQix3QkFBYzs7SUFDZCwyQkFBaUI7O0lBQ2pCLDJCQUFpQjs7SUFDakIsa0NBQXdCOztJQUN4Qiw0QkFBa0I7O0lBQ2xCLDhCQUFvQjs7SUFDcEIsdUJBQWM7O0lBQ2QsNEJBQW9COztJQUNwQixvQ0FBNEI7O0lBQzVCLHVCQUFhOztJQUNiLHVCQUFhOztJQUNiLHlCQUFlOztJQUNmLCtCQUFxQjs7SUFDckIsNEJBQWtCOztJQUNsQixnQ0FBK0I7O0lBQy9CLDBCQUFnQjs7SUFDaEIsd0JBQWU7O0lBQ2YseUJBQWU7O0lBQ2YsOEJBQW9COztJQUNwQixpQ0FBdUI7O0lBQ3ZCLHdCQUFjOztJQUNkLGdDQUF3Qjs7SUFDeEIsOEJBQXFCOztJQUNyQixrQ0FBeUI7O0lBQ3pCLG1DQUEwQjs7SUFDMUIsK0JBQTRCOztJQUM1QiwyQkFBb0I7O0lBTXBCLDRDQUFtQzs7SUFDbkMsaUNBQXdCOztJQUN4QixtQ0FBMEI7O0lBQzFCLGdDQUE0Qjs7SUFFNUIsdUNBQThCOztJQUM5QixpQ0FBd0I7O0lBQ3hCLHlDQUFnQzs7SUFDaEMscUNBQTRCOztJQUM1Qix3Q0FBK0I7O0lBQy9CLDJCQUFtQjs7SUFFbkIsK0JBQXNCOztJQUV0QixtQ0FBMEI7O0lBQzFCLDZCQUF5Qjs7SUFDekIsK0JBQTZCOztJQUM3QiwyQkFBbUI7O0lBR25CLDZCQUFtQjs7SUFDbkIsOEJBQW9COztJQUNwQiw4QkFBb0I7O0lBQ3BCLDRCQUFrQjs7SUFDbEIsNEJBQWtCOztJQUNsQiw2QkFBNEI7O0lBQzVCLHFCQUFXOztJQUNYLG1DQUF5Qjs7SUFHekIsNkJBQXFCOztJQUNyQixnQ0FBc0I7O0lBQ3RCLDBDQUFpQzs7SUFDakMsaUNBQXdCOztJQUN4QixnQ0FBdUI7O0lBQ3ZCLG9DQUFrQzs7SUFDbEMsMkJBQW1COzs7OztBQUVyQiw4QkFHQzs7O0lBRkMsd0JBQWE7O0lBQ2IseUJBQWE7Ozs7O0FBR2YsOEJBTUM7OztJQUxDLDhCQUFtQjs7SUFDbkIsOEJBQW1COztJQUNuQiwwQkFBZTs7SUFDZiw0QkFBaUI7O0lBQ2pCLDRCQUFvQjs7Ozs7QUFHdEIsZ0NBTUM7OztJQUxDLHdCQUFXOztJQUNYLDhCQUFpQjs7SUFDakIsMEJBQWE7O0lBQ2IsZ0NBQW1COztJQUNuQiw0QkFBZ0I7Ozs7O0FBR2xCLGtDQUlDOzs7SUFIQyw0QkFBYTs7SUFDYixtQ0FBb0I7O0lBQ3BCLDZCQUFjOzs7OztBQUdoQixtQ0FLQzs7O0lBSkMsNkJBQWE7O0lBQ2IsOEJBQWM7O0lBQ2QsbUNBQW9COztJQUNwQixvQ0FBb0I7Ozs7OztBQU90Qiw0QkFpQkM7OztJQWhCQyw4QkFBc0I7O0lBQ3RCLDBCQUFvQjs7SUFDcEIscUNBQTJCOztJQUMzQiwwQkFBaUI7O0lBQ2pCLHVCQUFjOztJQUNkLDJCQUFrQjs7SUFDbEIsK0JBQXVCOztJQUN2QiwrQkFBdUI7O0lBQ3ZCLHNDQUE4Qjs7SUFDOUIsOEJBQXFCOztJQUNyQiw2QkFBcUI7O0lBQ3JCLDZCQUFxQjs7SUFDckIsc0NBQThDOztJQUM5QywwQkFBZTs7SUFDZiwwQkFBc0I7O0lBQ3RCLDZCQUFxQjs7Ozs7O0FBUXZCLDJCQU1DOzs7SUFMQyxvQkFBWTs7SUFDWix3QkFBZ0I7O0lBQ2hCLDJCQUFtQjs7SUFDbkIsNkJBQXFCOztJQUNyQix5QkFBaUI7Ozs7OztBQU1uQiw0QkFPQzs7O0lBTkMsK0JBQWdCOztJQUNoQiw2QkFBYTs7SUFDYixpQ0FBaUI7O0lBQ2pCLG1DQUFvQjs7SUFDcEIsK0JBQWU7O0lBQ2YsaUNBQWlCOzs7Ozs7QUFNbkIsa0NBZ0JDOzs7SUFmQyxrQ0FBbUI7O0lBQ25CLHNDQUF1Qjs7SUFDdkIsb0NBQXFCOztJQUVyQiw0QkFBYzs7SUFDZCxpQ0FBa0I7O0lBQ2xCLDJDQUE2Qjs7SUFDN0IsNENBQW9DOztJQUNwQywrQ0FBaUM7O0lBQ2pDLCtDQUFpQzs7SUFDakMsMkNBQTZCOztJQUM3Qix5REFBaUQ7O0lBQ2pELG9EQUFzQzs7SUFDdEMsb0RBQXNDOztJQUN0QywrQ0FBZ0M7Ozs7OztBQU1sQyxrQ0FJQzs7O0lBSEMsOEJBQWU7O0lBQ2Ysd0NBQXlCOztJQUN6QixzQ0FBc0I7Ozs7OztBQU14QixvQ0FZQzs7O0lBVkMsaUNBQW1COztJQUNuQixvQ0FBbUI7O0lBQ25CLHFDQUFvQjs7SUFDcEIscUNBQW9COztJQUNwQix1Q0FBc0I7O0lBQ3RCLHlDQUF3Qjs7SUFDeEIsOEJBQWE7O0lBQ2IsdUNBQXNCOztJQUN0Qiw0Q0FBMEI7O0lBQzFCLGtDQUFtQjs7Ozs7O0FBTXJCLDZCQVNDOzs7SUFSQyw2QkFBbUI7O0lBQ25CLDJCQUFrQjs7SUFDbEIsZ0NBQXVCOztJQUN2QixzQ0FBNEI7O0lBQzVCLGtDQUF3Qjs7SUFDeEIsaUNBQXdCOztJQUN4Qiw0Q0FBa0M7O0lBQ2xDLDhCQUFvQjs7Ozs7O0FBTXRCLDBDQVlDOzs7SUFYQywyQ0FBb0I7O0lBQ3BCLG9DQUFhOztJQUNiLCtDQUF3Qjs7SUFDeEIsMkNBQW9COztJQUNwQiw2Q0FBc0I7O0lBQ3RCLDZDQUFzQjs7SUFDdEIsMkNBQXNCOztJQUN0QixvQ0FBYTs7SUFDYiw0Q0FBNkI7O0lBQzdCLHVDQUFtQjs7SUFDbkIsMENBQW1COzs7OztBQUdyQix5Q0FTQzs7O0lBUkMseUNBQW9COztJQUNwQiwrQ0FBMEI7O0lBQzFCLDBEQUFxQzs7SUFDckMsMENBQXFCOztJQUNyQiw2Q0FBd0I7O0lBQ3hCLHdEQUFtQzs7SUFDbkMsa0RBQTZCOztJQUM3Qiw4Q0FBMEI7Ozs7O0FBRzVCLG1DQUtDOzs7SUFKQyxrQ0FBa0I7O0lBQ2xCLGdDQUFnQjs7SUFDaEIsMENBQTBCOztJQUMxQix5Q0FBd0I7Ozs7O0FBRzFCLDBDQUdDOzs7SUFGQyxpREFBMEI7O0lBQzFCLCtDQUFpQzs7Ozs7QUFHbkMsa0NBRUM7OztJQURDLDhCQUEyQjs7Ozs7QUFHN0IsdUNBSUM7OztJQUhDLHdDQUFvQjs7SUFDcEIsa0NBQWlCOztJQUNqQixxQ0FBb0I7Ozs7O0FBR3RCLDhCQUdDOzs7SUFGQyx3QkFBYTs7SUFDYix5QkFBYTs7Ozs7QUFHZix5Q0EyQ0M7OztJQTFDQyw0Q0FBdUI7O0lBQ3ZCLDJDQUFzQjs7SUFDdEIsbURBQTZCOztJQUM3Qiw2Q0FBd0I7O0lBQ3hCLHVDQUFrQjs7SUFDbEIsc0NBQWdCOztJQUNoQixzQ0FBZ0I7O0lBQ2hCLDBDQUFtQjs7SUFDbkIsaURBQTBCOztJQUMxQix1Q0FBaUI7O0lBQ2pCLHlDQUFrQjs7SUFDbEIsK0NBQXlCOztJQUN6QixxQ0FBZTs7SUFDZixxQ0FBZ0I7O0lBQ2hCLHVDQUFpQjs7SUFDakIsdUNBQW9COztJQUNwQixxQ0FBWTs7SUFDWiw0Q0FBNkI7O0lBRTdCLDJDQUFxQjs7SUFDckIsMkNBQXNCOztJQUN0QixpREFBNEI7O0lBQzVCLDZDQUFxQjs7SUFDckIsbUNBQWM7O0lBQ2QsOENBQXlCOztJQUN6Qix3Q0FBbUI7O0lBQ25CLHdDQUFtQjs7SUFDbkIsK0NBQTBCOztJQUMxQixpQ0FBWTs7SUFDWix3Q0FBbUI7O0lBQ25CLHlDQUFvQjs7SUFDcEIsZ0RBQTJCOztJQUMzQix1Q0FBd0I7O0lBQ3hCLDhDQUF3Qjs7SUFDeEIsaURBQTRCOztJQUM1QiwwQ0FBMEI7O0lBQzFCLGlEQUE0Qjs7SUFDNUIsNENBQXVCOztJQUN2Qix3REFBK0I7O0lBQy9CLHdDQUFtQjs7SUFDbkIseURBQTBEOztJQUMxRCw0Q0FBbUI7Ozs7O0FBR3JCLGlDQUlDOzs7SUFGQyxpQ0FBbUI7O0lBQ25CLDZCQUFjOzs7OztBQUdoQiwrQ0FTQzs7O0lBUkMsNkNBQW9COztJQUNwQixpREFBNkI7O0lBQzdCLGtEQUFnQzs7SUFDaEMseURBQTZDOztJQUM3Qyx3REFBMkM7O0lBQzNDLGtEQUE2Qjs7SUFDN0IsaURBQTJCOztJQUMzQixvREFBbUM7Ozs7O0FBRXJDLG1DQVlDOzs7SUFYQyxtQ0FBb0I7O0lBQ3BCLGtDQUFtQjs7SUFDbkIsaUNBQWtCOztJQUNsQixzQ0FBdUI7O0lBQ3ZCLG9DQUFxQjs7SUFDckIsb0NBQW9COztJQUNwQixzQ0FBdUI7O0lBQ3ZCLHFEQUFzQzs7SUFDdEMsZ0NBQStCOztJQUMvQixpQ0FBZ0M7O0lBQ2hDLDRCQUEyQjs7Ozs7QUFHN0IsMENBU0M7OztJQVJDLDBDQUFvQjs7SUFDcEIseUNBQW1COztJQUNuQix3Q0FBa0I7O0lBQ2xCLDZDQUF1Qjs7SUFDdkIsMkNBQXFCOztJQUNyQiwyQ0FBb0I7O0lBQ3BCLDZDQUF1Qjs7SUFDdkIsNERBQXNDOzs7OztBQUd4Qyx5Q0FNQzs7O0lBTEMsNkNBQXNCOztJQUN0QiwyQ0FBb0I7O0lBQ3BCLHlDQUFrQjs7SUFDbEIsdUNBQXdCOztJQUN4QiwwQ0FBc0I7Ozs7O0FBR3hCLDZCQVdDOzs7SUFWQywyQkFBcUI7O0lBQ3JCLCtCQUE0Qjs7SUFDNUIsMkJBQW9COztJQUNwQixnQ0FBK0I7O0lBQy9CLHVDQUE2Qzs7SUFDN0Msc0NBQTJDOztJQUMzQywrQkFBMkI7O0lBQzNCLGtDQUFtQzs7Ozs7QUFLckMsK0JBTUc7OztJQUxELCtCQUFtQjs7SUFDbkIsK0JBQW9COztJQUNwQiwyQkFBZ0I7O0lBQ2hCLDZCQUFrQjs7SUFDbEIsNkJBQXNCOzs7OztBQUd0QiwrQkFHQzs7O0lBRkQsK0JBQWtCOztJQUNqQiw2QkFBZTs7Ozs7QUFHbEIsOEJBOENDOzs7SUE3Q0MsOEJBQW1COztJQUNuQix1QkFBWTs7SUFDWiwrQkFBb0I7O0lBQ3BCLDZCQUFvQjs7SUFDcEIseUJBQWM7O0lBQ2QsMkJBQWlCOztJQUNqQiw4QkFBb0I7O0lBQ3BCLDRCQUFpQjs7SUFDakIsb0NBQTBCOztJQUMxQiwrQ0FBb0M7O0lBQ3BDLDRCQUFtQjs7SUFDbkIsaUNBQXVCOztJQUN2QixrQ0FBdUI7O0lBQ3ZCLDZDQUFrQzs7SUFDbEMsb0NBQTBCOztJQUMxQixrQ0FBdUI7O0lBQ3ZCLDJCQUFpQjs7SUFDakIsNEJBQW9COztJQUNwQiwyQkFBa0I7O0lBQ2xCLDRCQUFtQjs7SUFDbkIsb0NBQXlCOztJQUN6QixnQ0FBc0I7O0lBRXRCLGlDQUE2Qjs7SUFDN0IsbUNBQTBCOztJQUcxQixpQ0FBcUI7O0lBQ3JCLDJDQUErQjs7SUFDL0Isa0NBQXVCOztJQUN2QixpQ0FBc0I7O0lBQ3RCLHdDQUE4Qjs7SUFDOUIsa0NBQXdCOztJQUN4QiwwQ0FBZ0M7O0lBQ2hDLHNDQUE2Qjs7SUFDN0IseUNBQStCOztJQUMvQiw0QkFBa0I7O0lBQ2xCLDRCQUFpQjs7SUFDakIsOEJBQW9COztJQUNwQiw0QkFBbUI7O0lBR25CLGdDQUFpQjs7SUFFakIsOEJBQTRCOzs7OztBQUc5QixtQ0FJQzs7O0lBSEMsNENBQTJCOztJQUMzQiw2Q0FBNEI7O0lBQzVCLHNDQUFxQjs7Ozs7QUFLdkIsOEJBY0M7OztJQWJDLHNCQUFXOztJQUNYLHlCQUFlOztJQUNmLDZCQUFrQjs7SUFDbEIsNEJBQWlCOztJQUNqQix5QkFBYzs7SUFDZCw0QkFBaUI7O0lBQ2pCLDZCQUFtQjs7SUFDbkIsa0NBQXFDOztJQUNyQyxtQ0FBc0M7O0lBQ3RDLG1DQUFvQzs7SUFDcEMsaUNBQXVCOztJQUN2QixzQ0FBNkI7O0lBQzdCLDhCQUFvQjs7Ozs7QUFHdEIsNkJBV0U7OztJQVRBLHFCQUFZOztJQUNaLDhCQUFxQjs7SUFDckIsMkJBQWtCOztJQUNsQiwyQkFBa0I7O0lBQ2xCLDJCQUFrQjs7SUFDbEIsdUJBQWM7O0lBQ2QseUJBQWdCOztJQUNoQiwyQkFBa0I7O0lBQ2xCLDBCQUFpQjs7Ozs7QUFHbEIscUNBR0E7OztJQUZDLDZCQUFZOztJQUNaLHdDQUF1Qjs7Ozs7QUFHekIsb0NBdUJDOzs7SUF0QkMsb0NBQWlCOztJQUNqQiw4QkFBYTs7SUFDYixnQ0FBZ0I7O0lBQ2hCLGtDQUFpQjs7SUFDakIsZ0NBQWU7O0lBQ2Ysa0NBQWtCOztJQUNsQiw2QkFBYTs7SUFDYixrQ0FBa0I7O0lBQ2xCLHlDQUF5Qjs7SUFDekIsNkJBQWE7O0lBQ2IsNkJBQWE7O0lBQ2IsNkJBQWE7O0lBQ2IseUNBQXlCOztJQUN6Qiw2QkFBYTs7SUFDYixtQ0FBbUI7O0lBQ25CLG9DQUFvQjs7SUFDcEIsOENBQTZCOztJQUM3Qiw0Q0FBNEI7O0lBQzVCLHFDQUFvQjs7SUFDcEIseUNBQXVCOztJQUN2QixxQ0FBbUI7O0lBQ25CLHFDQUFvQjs7Ozs7QUFHdEIsa0NBSUM7OztJQUZDLGdDQUFxQjs7SUFDckIsMENBQTJCOzs7OztBQUc3QixxQ0FNQzs7O0lBTEMsa0NBQWU7O0lBQ2YsOEJBQWE7O0lBQ2Isb0NBQWtCOztJQUNsQixpQ0FBZTs7SUFDZixvQ0FBaUI7Ozs7O0FBR25CLDZCQVFDOzs7SUFORyw2QkFBbUI7O0lBQ25CLGdDQUFzQjs7SUFDdEIsK0JBQXFCOztJQUNyQixzQkFBWTs7SUFDWiwwQkFBaUI7O0lBQ2pCLHlCQUFjOzs7QUFHbEIsTUFBWSxZQUFZO0lBQ3RCLE9BQU8sV0FBWTtJQUNuQixNQUFNLFVBQVc7RUFDbEI7Ozs7O0FBRUQscUNBR0M7OztJQUZDLHFDQUFvQjs7SUFDcEIsNkNBQTJCOzs7OztBQUc3QixnREFJQzs7O0lBSEMsOENBQWtCOztJQUNsQixrREFBc0I7O0lBQ3RCLDZDQUF5Qjs7O0FBRzNCLE1BQVksaUJBQWlCO0lBQzNCLE9BQU8sV0FBWTtFQUNwQjs7Ozs7QUFFRCxtQ0FNQzs7O0lBTEMsOEJBQWU7O0lBQ2YsNkJBQWM7O0lBQ2QsZ0NBQWlCOztJQUNqQiw2QkFBYzs7SUFDZCxnQ0FBcUI7Ozs7O0FBR3ZCLGdDQUVDOzs7SUFEQyxnQ0FBb0I7Ozs7O0FBR3RCLHFDQWlCQzs7O0lBaEJDLGdDQUFlOztJQUNmLGdDQUFlOztJQUNmLG1DQUFrQjs7SUFDbEIsK0JBQWM7O0lBQ2QsdUNBQXNCOztJQUN0QixxQ0FBb0I7O0lBQ3BCLG9DQUFtQjs7SUFDbkIsNkJBQVk7O0lBQ1osb0NBQW1COztJQUNuQixnQ0FBZTs7SUFDZixxQ0FBb0I7O0lBQ3BCLGlDQUFnQjs7SUFDaEIsa0NBQWlCOztJQUNqQiwwQ0FBeUI7O0lBQ3pCLHFDQUFvQjs7SUFDcEIsc0NBQXFCOzs7OztBQUd2QixrQ0FJQzs7O0lBSEMsNkJBQWU7O0lBQ2YsbUNBQXFCOztJQUNyQiw2QkFBZTs7Ozs7QUFHakIsb0NBSUM7OztJQUhDLCtCQUFlOztJQUNmLGtDQUFrQjs7SUFDbEIsbUNBQW1COzs7OztBQUdyQixxQ0FHQzs7O0lBRkMsZ0NBQWU7O0lBQ2YsK0JBQWM7Ozs7O0FBR2hCLGlDQXFCQzs7O0lBcEJDLDRCQUFlOztJQUNmLG1DQUFzQjs7SUFDdEIsaUNBQW9COztJQUNwQiw4Q0FBa0M7O0lBQ2xDLDJCQUFlOztJQUNmLDhCQUFpQjs7SUFDakIsZ0NBQW1COztJQUNuQiw0QkFBZTs7SUFDZix3Q0FBc0M7O0lBQ3RDLGdEQUFtQzs7SUFDbkMsaURBQW9DOztJQUNwQyxpQ0FBb0I7O0lBQ3BCLG1DQUFzQjs7SUFDdEIsK0JBQWtCOztJQUNsQixrQ0FBcUI7O0lBQ3JCLDBCQUFhOztJQUNiLGdDQUFtQjs7SUFDbkIsbUNBQXNCOztJQUN0QiwrQkFBa0I7O0lBQ2xCLHNDQUF3Qjs7Ozs7QUFHMUIsb0NBV0M7OztJQVZDLCtCQUFlOztJQUNmLHFDQUFxQjs7SUFDckIsNEJBQVk7O0lBQ1osOEJBQWM7O0lBQ2QsK0JBQWU7O0lBQ2YsdURBQXVDOztJQUN2QyxnREFBZ0M7O0lBQ2hDLG1DQUFvQjs7SUFDcEIsOENBQStCOztJQUMvQiwwQ0FBMEI7Ozs7O0FBRzVCLDhCQWlCQzs7O0lBaEJDLHlCQUFlOztJQUNmLGtEQUF3Qzs7SUFDeEMsK0NBQXFDOztJQUNyQyx3QkFBZTs7SUFDZix5Q0FBK0I7O0lBQy9CLHFDQUEyQjs7SUFDM0IsaUNBQXVCOztJQUN2QiwrQkFBcUI7O0lBQ3JCLGtDQUF3Qjs7SUFDeEIsb0NBQW1DOztJQUNuQyxtQ0FBaUM7O0lBQ2pDLG1DQUF5Qjs7SUFDekIsa0NBQXdCOztJQUN4QixzQ0FBNEI7O0lBQzVCLDZCQUFtQjs7SUFDbkIsaUNBQXVCOzs7OztBQUd6QixrQ0FhQzs7O0lBWkMsNkJBQWU7O0lBQ2Ysb0NBQXNCOztJQUN0QixrQ0FBb0I7O0lBQ3BCLCtCQUFpQjs7SUFDakIsaUNBQW1COztJQUNuQiw2QkFBZTs7SUFDZixpREFBbUM7O0lBQ25DLG1DQUFxQjs7SUFDckIsMkJBQWE7O0lBQ2IsaUNBQW1COztJQUNuQixvQ0FBc0I7O0lBQ3RCLGdDQUFrQjs7Ozs7QUFHcEIscUNBS0M7OztJQUpDLGdDQUFlOztJQUNmLGlDQUFnQjs7SUFDaEIscUNBQW9COztJQUNwQiwrQkFBYTs7Ozs7QUFHZixxQ0FhQzs7O0lBWkMsZ0NBQWU7O0lBQ2YsMkNBQW1DOztJQUNuQyxzQ0FBcUI7O0lBQ3JCLHdDQUF1Qjs7SUFDdkIsaUNBQWlCOztJQUNqQixvQ0FBbUI7O0lBQ25CLHdDQUF1Qjs7SUFDdkIsaUNBQWlCOztJQUNqQixnQ0FBYzs7SUFDZCw4Q0FBNkI7O0lBQzdCLHVDQUFzQjs7SUFDdEIseUNBQXVCOzs7OztBQUd6QixrQ0ErQkM7OztJQTlCQywwQkFBWTs7SUFDWiw2QkFBZTs7SUFDZix1Q0FBeUI7O0lBQ3pCLDhCQUF5Qjs7SUFDekIsc0RBQXdDOztJQUN4QyxtREFBcUM7O0lBQ3JDLG9DQUF1Qjs7SUFDdkIsaUNBQW1COztJQUNuQix1Q0FBa0M7O0lBQ2xDLG9DQUFzQjs7SUFDdEIscUNBQXVCOztJQUN2QixnQ0FBa0I7O0lBQ2xCLHFDQUE2Qjs7SUFDN0IseUNBQXFDOztJQUNyQyxxQ0FBdUI7O0lBQ3ZCLDZDQUErQjs7SUFDL0IsNkJBQXdCOztJQUN4QiwrQ0FBNEM7O0lBQzVDLGdDQUFrQjs7SUFDbEIsbUNBQXFCOztJQUNyQixxQ0FBOEI7O0lBQzlCLHlDQUEyQjs7SUFDM0IscUNBQXVCOztJQUN2QixpQ0FBdUI7O0lBQ3ZCLHNDQUFnQzs7SUFDaEMsc0NBQXdCOztJQUN4QiwwQ0FBNEI7O0lBQzVCLGdDQUFrQjs7SUFDbEIsNENBQStCOztJQUMvQixpQ0FBbUI7OztBQUdyQixNQUFZLFNBQVM7SUFDbkIsVUFBVSxjQUFlO0VBQzFCOzs7QUFFRCxNQUFZLGVBQWU7SUFFekIsSUFBSSxRQUFPO0lBQ1gsV0FBVyxlQUFjO0VBQzFCOzs7QUFFRCxNQUFZLGNBQWM7SUFFeEIsTUFBTSxVQUFTO0VBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5leHBvcnQgZW51bSBUUkFOU0FDVElPTl9UWVBFIHtcclxuICBTQUxFID0gXCJTQUxFXCIsXHJcbiAgUkVGVU5EID0gXCJSRUZVTkRcIixcclxuICBTQUxFX1JFRlVORCA9IFwiU0FMRV9SRUZVTkRcIixcclxuICBTQUxFX0VYQ0hBTkdFID0gXCJTQUxFX0VYQ0hBTkdFXCIsXHJcbiAgVk9JRCA9IFwiVk9JRFwiLFxyXG4gIFdFQl9SRVRVUk5TID0gXCJXRUJfUkVUVVJOU1wiXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSXRlbURpc2NvdW50IHtcclxuICB0cm5EaXNjb3VudHNQb3J0aW9uOiBudW1iZXI7XHJcbiAgdHJuUHJvbW90aW9uc1BvcnRpb246IG51bWJlcjtcclxuICByZWZ1bmRQb3J0aW9uOiBudW1iZXI7XHJcbiAgY3VycmVudFJlZnVuZFBvcnRpb24/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIERFTElWRVJZX01FVEhPRFMge1xyXG4gIERFTElWRVJZID0gMSxcclxuICBEUk9QX1NISVAgPSAyLFxyXG4gIENPTExFQ1RfRlJPTV9TVE9SRSA9IDMsXHJcbiAgU0hJUF9UT19TVE9SRSA9IDRcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0Q2hhbmdlIHtcclxuICBpdGVtTGluZUlkPzogbnVtYmVyO1xyXG4gIFNLVTogc3RyaW5nO1xyXG4gIHF1YW50aXR5OiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRQcmljZT86IG51bWJlcjtcclxuICBsaW5lRGlzY291bnQ/OiBMaW5lRGlzY291bnQ7XHJcbiAgbGluZVByb21vdGlvbnM/OiBMaW5lUHJvbW90aW9ucztcclxuICBleGNoYW5nZT86IEV4Y2hhbmdlO1xyXG4gIHJlZnVuZGVkUXVhbnRpdHk/OiBudW1iZXI7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGFpbnMgcXVhbnRpdHkgb2YgYm90aCBmdWxsIHByaWNlZCBhbmQgcHJvbW90aW9uYWwgcXVhbnRpdGllc1xyXG4gIHJlZnVuZFByb21vdGlvbmFsUXVhbnRpdHk/OiBudW1iZXI7ICAgICAgICAgICAgICAgLy8gcHJvbW90aW9uYWwgcXVhbnRpdHlcclxuICByZWZ1bmRlZD86IGJvb2xlYW47XHJcbiAgcmVmdW5kZWRUb3RhbD86IG51bWJlcjtcclxuICByZWZ1bmRlZFJlYXNvbj86IHN0cmluZztcclxuICByZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gIGlzQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgc2VhbGVkPzogYm9vbGVhbjtcclxuICBpc0xhc3RFeGNoYW5nZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogUHJvZHVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0IGV4dGVuZHMgUHJvZHVjdENoYW5nZSB7XHJcbiAgaXRlbUxpbmVJZD86IG51bWJlcjtcclxuICBzdGF0dXM6IG51bWJlcjtcclxuICBzdWJHcm91cDogbnVtYmVyO1xyXG4gIGJyYW5kOiBzdHJpbmc7XHJcbiAgY3VycmVuY3k6IHN0cmluZztcclxuICBjYXRlZ29yeTogc3RyaW5nO1xyXG4gIGNvdW50cnlvZk9yaWdpbjogc3RyaW5nO1xyXG4gIHByb2R1Y3RJZDogc3RyaW5nO1xyXG4gIHByb2R1Y3RUeXBlOiBudW1iZXI7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBpbWFnZVVybHM6IFtzdHJpbmddO1xyXG4gIGlzSW1hZ2VGYWlsVG9Mb2FkPzogYm9vbGVhbjtcclxuICBzaXplOiBzdHJpbmc7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHNlYXNvbjogbnVtYmVyO1xyXG4gIHByb2R1Y3RHcm91cDogbnVtYmVyO1xyXG4gIHN0eWxlQ29kZTogc3RyaW5nO1xyXG4gIG5vZGVTdHJ1Y3R1cmU6IE5vZGVTdHJ1Y3R1cmVbXTtcclxuICBiYXJjb2RlOiBzdHJpbmc7XHJcbiAgcHJpY2U6IFByaWNlW107XHJcbiAgY29sb3VyOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICB0b3RhbExpbmVQcmljZTogbnVtYmVyO1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbiAgYWRkZWRJbkJhc2tldD86IGJvb2xlYW47XHJcbiAgc2VsZWN0ZWRWQVQ/OiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRWQVRDb2RlPzogc3RyaW5nO1xyXG4gIHNlbGVjdGVkUlJQUHJpY2U/OiBudW1iZXI7XHJcbiAgbGluZURpc2NvdW50PzogTGluZURpc2NvdW50O1xyXG4gIGV4Y2hhbmdlPzogRXhjaGFuZ2U7XHJcbiAgLy8gcmVmdW5kZWRRdWFudGl0eT86IG51bWJlcjtcclxuICAvLyByZWZ1bmRlZD86IGJvb2xlYW47XHJcbiAgLy8gcmVmdW5kZWRUb3RhbD86IG51bWJlcjtcclxuICAvLyByZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uPzpzdHJpbmc7XHJcbiAgLy8gaXNDaGVja2VkPzpib29sZWFuO1xyXG4gIHJlZnVuZFByb21vdGlvbmFsUXVhbnRpdHk/OiBudW1iZXI7ICAgICAgICAgICAgICAgLy8gcHJvbW90aW9uYWwgcXVhbnRpdHlcclxuICBleGNoYW5nZVJlYXNvbj86IHN0cmluZztcclxuICBleGNoYW5nZVF1YW50aXR5PzogbnVtYmVyO1xyXG4gIGl0ZW1EaXNjb3VudHM6IEl0ZW1EaXNjb3VudDtcclxuXHJcbiAgZ2lmdENhcmROdW1iZXJJc3N1ZWQ/OiBzdHJpbmc7XHJcbiAgZ2lmdENhcmRBbW91bnQ/OiBudW1iZXI7XHJcbiAgZ2lmdENhcmRSZWNpcGllbnRFbWFpbD86IHN0cmluZztcclxuICBnaWZ0Q2FyZEV4cGlyeURhdGU/OiBzdHJpbmc7XHJcbiAgZ2lmdENhcmRSZWNpcGllbnROYW1lPzogc3RyaW5nO1xyXG4gIGdpZnRDYXJkPzogYm9vbGVhbjtcclxuXHJcbiAgZGlzY291bnRhYmxlOiBib29sZWFuO1xyXG4gIC8vIHNlYWxlZD86Ym9vbGVhbjtcclxuICBleGNsdWRlUHJvbW90aW9uOiBib29sZWFuO1xyXG4gIGNhdGVnb3JpZXM6IENhdGVnb3JpZXNbXTtcclxuICBkZXNjcmlwdGlvbnM6IERlc2NyaXB0aW9uc1tdO1xyXG4gIGJhcmNvZGVzOiBzdHJpbmdbXTtcclxuXHJcbiAgLy9OZXcgRmVpbGRzXHJcbiAgZXh0ZXJuYWxJZDogc3RyaW5nO1xyXG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XHJcbiAgdXBkYXRlZERhdGU6IHN0cmluZztcclxuICBjcmVhdGVkQnk6IHN0cmluZztcclxuICB1cGRhdGVkQnk6IHN0cmluZztcclxuICBhdHRyaWJ1dGVzOiBDb3JlQXR0cmlidXRlW107XHJcbiAgaWQ6IHN0cmluZztcclxuICBsb25nX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gIC8vIE1peGVkIFNhbGVzIGZpZWxkc1xyXG4gIGlzV2ViT3JkZXI/OiBib29sZWFuLFxyXG4gIGZ1bGxmaWxtZW50SWQ6IHN0cmluZyxcclxuICBmdWxsZmlsbWVudExvY2F0aW9uTmFtZT86IHN0cmluZyxcclxuICBkZWxpdmVyeU1ldGhvZD86IHN0cmluZyxcclxuICBkZWxpdmVyeUdyb3VwPzogc3RyaW5nLFxyXG4gIHNlbGVjdGVkSW52ZW50b3J5PzogSW52ZW50b3J5SW5mbztcclxuICBsZWFkVGltZT86IGxlYWRUaW1lXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBsZWFkVGltZSB7XHJcbiAgdHlwZTogc3RyaW5nLFxyXG4gIHZhbHVlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFeGNoYW5nZSB7XHJcbiAgZXhjaGFuZ2VJZDogbnVtYmVyLFxyXG4gIGxpbmVJdGVtSWQ6IG51bWJlcixcclxuICByZWFzb246IHN0cmluZyxcclxuICBxdWFudGl0eTogbnVtYmVyLFxyXG4gIG5ld0l0ZW1zOiBQcm9kdWN0W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2F0ZWdvcmllcyB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwYXJlbnRJZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBjYXRlZ29yeUlkOiBzdHJpbmc7XHJcbiAgc3RhdHVzOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlc2NyaXB0aW9ucyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3JlQXR0cmlidXRlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXNrZXRcclxuICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhc2tldCB7XHJcbiAgc3Vic2lkaWFyeUlkPzogc3RyaW5nO1xyXG4gIHByb2R1Y3RzOiBQcm9kdWN0W107XHJcbiAgdHJhbnNhY3Rpb25EaXNjb3VudDogYW55W107XHJcbiAgcXVhbnRpdHk6IG51bWJlcjtcclxuICB0b3RhbDogbnVtYmVyO1xyXG4gIHNhbGVUb3RhbDogbnVtYmVyO1xyXG4gIGRpc2NvdW50VG90YWw/OiBudW1iZXI7XHJcbiAgdHJhbnNhY3Rpb25JZD86IHN0cmluZztcclxuICBvZmZsaW5lVHJhbnNhY3Rpb25JZD86IHN0cmluZztcclxuICBiYXNlQ3VycmVuY3k6IHN0cmluZztcclxuICBiYXNrZXRUb3RhbD86IG51bWJlcjtcclxuICByZWZ1bmRUb3RhbD86IG51bWJlcjtcclxuICB0cmFuc2FjdGlvblByb21vdGlvbj86IFRyYW5zYWN0aW9uUHJvbW90aW9uW107XHJcbiAgY3VzdG9tZXI/OiBhbnk7XHJcbiAgZXhjaGFuZ2U/OiBFeGNoYW5nZVtdO1xyXG4gIGluU3RvcmVGbGFnPzogYm9vbGVhblxyXG59XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBQcmljZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQcmljZSB7XHJcbiAgVkFUOiBudW1iZXI7XHJcbiAgVkFUQ29kZTogc3RyaW5nO1xyXG4gIHNhbGVzUHJpY2U6IG51bWJlcjtcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBSUlBQcmljZTogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogTm9kZSBzdHJ1Y3R1cmVcclxuICovXHJcbmludGVyZmFjZSBOb2RlU3RydWN0dXJlIHtcclxuICBzdGF0dXM6IGJvb2xlYW47XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG5vZGVUeXBlOiBzdHJpbmc7XHJcbiAgaXNPdmVycmlkZTogYm9vbGVhbjtcclxuICBub2RlSWQ6IHN0cmluZztcclxuICBwYXJlbnRJZDogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogTGluZSBEaXNjb3VudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBMaW5lRGlzY291bnQge1xyXG4gIGl0ZW1MaW5lSWQ6IHN0cmluZyxcclxuICBkaXNjb3VudEFtb3VudDogbnVtYmVyLFxyXG4gIGRpc2NvdW50VHlwZTogc3RyaW5nLFxyXG4gIC8vIHJlYXNvbkNvZGU6IHN0cmluZyxcclxuICBuYW1lPzogc3RyaW5nLFxyXG4gIHVuaXRQcmljZTogbnVtYmVyLFxyXG4gIGRpc2NvdW50ZWRMaW5lUHJpY2U/OiBudW1iZXIsXHJcbiAgcHJpY2VNYW5hZ2VyT3ZlcnJpZGU/OiBVc2VyT3ZlcnJpZGUsXHJcbiAgcHJpY2VPdmVycmlkZVJlYXNvbkNvZGU/OiBzdHJpbmcsXHJcbiAgcHJpY2VPdmVycmlkZVJlYXNvbk5hbWU/OiBzdHJpbmcsXHJcbiAgcHJpY2VPdmVycmlkZUFtb3VudD86IG51bWJlcixcclxuICBwZXJjZW50YWdlRGlzY291bnRNYW5hZ2VyT3ZlcnJpZGU/OiBVc2VyT3ZlcnJpZGUsXHJcbiAgcGVyY2VudGFnZURpc2NvdW50UmVhc29uQ29kZT86IHN0cmluZyxcclxuICBwZXJjZW50YWdlRGlzY291bnRSZWFzb25OYW1lPzogc3RyaW5nLFxyXG4gIHBlcmNlbnRhZ2VEaXNjb3VudFZhbHVlPzogbnVtYmVyXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBVc2VyIE92ZXJyaWRlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJPdmVycmlkZSB7XHJcbiAgdXNlcklkOiBzdHJpbmcsXHJcbiAgYXV0b21hdGljQXBwcm92ZTogc3RyaW5nLFxyXG4gIG9yaWdpbmFsVXNlcklkOiBzdHJpbmdcclxufVxyXG5cclxuLyoqXHJcbiogbGluZSBQcm9tb3Rpb25zXHJcbiovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGluZVByb21vdGlvbnMge1xyXG5cclxuICB0cmlnZ2VyOiBUcmlnZ2VyW10sXHJcbiAgaXRlbUxpbmVJZDogbnVtYmVyLFxyXG4gIHByb21vdGlvbklkOiBzdHJpbmcsXHJcbiAgZGlzcGxheVRleHQ6IHN0cmluZyxcclxuICBwcm9tb3Rpb25UeXBlOiBzdHJpbmcsXHJcbiAgcHJvbW90aW9uQW1vdW50OiBudW1iZXIsXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIHByb21vdGlvbkluZm86IHN0cmluZyxcclxuICBwcm9tb3Rpb25MaW5lUHJpY2U6IG51bWJlclxyXG4gIHJlZnVuZGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiogdHJpZ2dlclxyXG4qL1xyXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXIge1xyXG4gIGl0ZW1MaW5lSWQ6IHN0cmluZztcclxuICBxdWFudGl0eT86IG51bWJlcjtcclxuICB0b3RhbFF1YW50aXR5PzogbnVtYmVyO1xyXG4gIGxpbmVQcm9tb3Rpb25BbW91bnQ/Om51bWJlcjsgICAvLyBwcm9tb3Rpb24gYW1vdW50IGFwcGxpZWQgYWNjcm9zcyB0aGUgbGluZVxyXG4gIHByb21vdGlvbkFtb3VudD86bnVtYmVyOyAgIC8vIHByb21vdGlvbiBhbW91bnQgYXBwbGllZCBvbiAxIHVuaXRcclxuICByZWZ1bmRlZFJlYXNvbj86IHN0cmluZztcclxuICByZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uPzpzdHJpbmc7XHJcbiAgcHJvbW90aW9uSWQ/OnN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiogVHJhbnNhY3Rpb24gUHJvbW90aW9uXHJcbiovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25Qcm9tb3Rpb24ge1xyXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHByb21vdGlvbkFtb3VudDogbnVtYmVyO1xyXG4gIHByb21vdGlvbklkOiBzdHJpbmc7XHJcbiAgcHJvbW90aW9uSW5mbzogc3RyaW5nO1xyXG4gIHByb21vdGlvblR5cGU6IHN0cmluZztcclxuICBpdGVtTGluZUlkczogbnVtYmVyW107XHJcbiAgdHlwZT86c3RyaW5nO1xyXG4gIHN1YkxldmVsVHlwZT86UFJPTU9USU9OX0xFVkVMXHJcbiAgdHJpZ2dlcj86VHJpZ2dlcltdO1xyXG4gIGNvdXBvbkNvZGU/OnN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZWZ1bmRQcm9kdWN0Q2hhbmdlIHtcclxuICBpdGVtTGluZUlkPzogbnVtYmVyO1xyXG4gIHJlZnVuZGVkUXVhbnRpdHk/OiBudW1iZXI7XHJcbiAgcmVmdW5kZWRQcm9tb3Rpb25hbFF1YW50aXR5PzogbnVtYmVyO1xyXG4gIHJlZnVuZFRvdGFsPzogbnVtYmVyO1xyXG4gIHJlZnVuZGVkUmVhc29uPzogc3RyaW5nO1xyXG4gIHJlZnVuZGVkUmVhc29uRGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgcmVmdW5kV2l0aFByb21vdGlvbjogYm9vbGVhbjtcclxuICBpc0xhc3RFeGNoYW5nZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludmVudG9yeUluZm8ge1xyXG4gIHN0b3JlTmFtZTogc3RyaW5nLFxyXG4gIHN0b3JlSWQ6IHN0cmluZyxcclxuICBxdWFudGl0eUF2YWlsYWJsZTogbnVtYmVyLFxyXG4gIHF1YW50aXR5UmVxdWlyZWQ6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludmVudG9yeVJlcXVlc3RJbmZvIGV4dGVuZHMgSW52ZW50b3J5SW5mbyB7XHJcbiAgcmVxdWVzdGVkUXVhbnRpdHk6IG51bWJlcixcclxuICByZXF1ZXN0ZWRBY3Rpb246IERFTElWRVJZX01FVEhPRFNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZWxpdmVyeUluZm8ge1xyXG4gIGdyb3VwczogRGVsaXZlcnlHcm91cEluZm9bXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlbGl2ZXJ5R3JvdXBJbmZvIHtcclxuICBncm91cE51bWJlcjogbnVtYmVyO1xyXG4gIGl0ZW1zOiBQcm9kdWN0W107XHJcbiAgZXN0aW1hdGU/OiBFc3RpbWF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc3RpbWF0ZSB7XHJcbiAgdHlwZTogc3RyaW5nLFxyXG4gIHZhbHVlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkRvY3VtZW50IHtcclxuICB0cmFuc2FjdGlvbklkPzogc3RyaW5nO1xyXG4gIHN1YnNpZGlhcnlJZD86IHN0cmluZztcclxuICBvZmZsaW5lVHJhbnNhY3Rpb25JZD86c3RyaW5nO1xyXG4gIHRyYW5zYWN0aW9uUmVmPzogc3RyaW5nO1xyXG4gIGRhdGVUaW1lPzogc3RyaW5nO1xyXG4gIG9yZ0NvZGU6IHN0cmluZztcclxuICBzdG9yZUlkOiBzdHJpbmc7XHJcbiAgc3RvcmVOb2RlSWQ6c3RyaW5nO1xyXG4gIHN0b3JlTm9kZVN0cnVjdHVyZTpzdHJpbmc7XHJcbiAgZGV2aWNlSWQ6IHN0cmluZztcclxuICB0ZXJtaW5hbElkOnN0cmluZztcclxuICBpbml0aWF0aW5nTW9kdWxlIDpzdHJpbmc7XHJcbiAgZXhwb3J0OmJvb2xlYW47XHJcbiAgdXNlcklkPzogc3RyaW5nO1xyXG4gIHVzZXJOYW1lPzpzdHJpbmc7XHJcbiAgY3VzdG9tZXI/OiBDdXN0b21lcjtcclxuICBiYXNrZXQ6IGFueTtcclxuICBiYXNrZXRTdW1tYXJ5OiBCYXNrZXRTdW1tYXJ5O1xyXG4gIC8vIGxpbmVEaXNjb3VudDogTGluZURpc2NvdW50W107XHJcbiAgYmFzZUN1cnJlbmN5OiBzdHJpbmc7XHJcbiAgc3BsaXRQYXltZW50Pzpib29sZWFuO1xyXG4gIGlzUGF5bWVudENvbXBsZXRlZD86Ym9vbGVhbjtcclxuICBwYXltZW50RGV0YWlscz86IGFueTtcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIG9wZXJhdGlvblN0YXR1cz86IHN0cmluZztcclxuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XHJcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xyXG4gIHRyYW5zQ29tcGxldGVkQXQ/OiBzdHJpbmc7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgc2FsZVRvdGFsPzogbnVtYmVyO1xyXG4gIHJlYXNvbkNvZGU/OiBzdHJpbmc7XHJcbiAgcmVhc29uRGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgb3ZlcnJpZGU/OiBVc2VyT3ZlcnJpZGU7XHJcbiAgb3JpZ2luYWxUcmFuc0lkPzpzdHJpbmc7XHJcbiAgb3JpZ2luYWxFeHRlcm5hbElkPzogc3RyaW5nO1xyXG4gIGFwaVJlc3BvbnNlPzogQVBJUmVzcG9uc2U7ICAgIC8vIFRPRE8gYWRkIGhhbmRsZXIgYXMgcGVyIGV4cG9ydCBwcm92aWRlclxyXG4gIHVucmVmZXJlbmNlZFJlZnVuZD86Ym9vbGVhbjtcclxuICBnaWZ0ZWRSZWNlaXB0Pzpib29sZWFuO1xyXG4gIGN1cnJlbnRUcmFuc2FjdGlvbkRldGFpbHM/OmFueTtcclxuICBpc0NoZWNrZWQ/OmJvb2xlYW47XHJcbiAgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHM/OiBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlsc1tdO1xyXG4gIHJlZnVuZFJlcXVlc3Q/IDphbnlcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBUElSZXNwb25zZVxyXG57XHJcbiAgaW50ZXJuYWxJZD86bnVtYmVyO1xyXG4gIHRyYW5pZD86c3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VycmVudFRyYW5zYWN0aW9uRGV0YWlsc3tcclxuICBwcm9kdWN0czogUHJvZHVjdFtdO1xyXG4gIGxpbmVEaXNjb3VudD86TGluZURpc2NvdW50W107XHJcbiAgbGluZVByb21vdGlvbj86TGluZVByb21vdGlvbnNbXTtcclxuICB0cmFuc2FjdGlvblByb21vdGlvbj86VHJhbnNhY3Rpb25Qcm9tb3Rpb25bXTtcclxuICB0cmFuc2FjdGlvbkRpc2NvdW50PzpUcmFuc2FjdGlvbkRpc2NvdW50W107XHJcbiAgYmFza2V0U3VtbWFyeT86QmFza2V0U3VtbWFyeTsgIFxyXG4gIHRheEJyZWFrZG93bj86VGF4QnJlYWtkb3duOyAgXHJcbiAgdG90YWxUYXhTdW1tYXJ5PzpUb3RhbFRheFN1bW1hcnlbXTtcclxufVxyXG5leHBvcnQgaW50ZXJmYWNlIEJhc2tldFN1bW1hcnkge1xyXG4gIHRvdGFsSXRlbXM/OiBudW1iZXI7XHJcbiAgc2FsZVRvdGFsPzogbnVtYmVyO1xyXG4gIFZBVFRvdGFsPzogbnVtYmVyO1xyXG4gIGRpc2NvdW50VG90YWw/OiBudW1iZXI7XHJcbiAgYmFza2V0VG90YWw/OiBudW1iZXI7XHJcbiAgcmVmdW5kVG90YWw/Om51bWJlcjtcclxuICBzaGlwcGluZ1RvdGFsPzogbnVtYmVyO1xyXG4gIGJhc2tldFRvdGFsV2l0aFNoaXBwaW5nVG90YWw/OiBudW1iZXI7XHJcbiAgaW5TdG9yZT86IEJhc2tldFN1bW1hcnlEZXRhaWxzO1xyXG4gIHdlYk9yZGVyPzogQmFza2V0U3VtbWFyeURldGFpbHM7XHJcbiAgY25jPzogQmFza2V0U3VtbWFyeURldGFpbHM7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFza2V0U3VtbWFyeURldGFpbHMge1xyXG4gIHRvdGFsSXRlbXM/OiBudW1iZXI7XHJcbiAgc2FsZVRvdGFsPzogbnVtYmVyO1xyXG4gIFZBVFRvdGFsPzogbnVtYmVyO1xyXG4gIGRpc2NvdW50VG90YWw/OiBudW1iZXI7XHJcbiAgYmFza2V0VG90YWw/OiBudW1iZXI7XHJcbiAgcmVmdW5kVG90YWw/Om51bWJlcjtcclxuICBzaGlwcGluZ1RvdGFsPzogbnVtYmVyO1xyXG4gIGJhc2tldFRvdGFsV2l0aFNoaXBwaW5nVG90YWw/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25EaXNjb3VudHtcclxuICBkaXNjb3VudEFtb3VudDpudW1iZXI7XHJcbiAgZGlzY291bnRUeXBlOlN0cmluZztcclxuICByZWFzb25Db2RlOnN0cmluZztcclxuICBvdmVycmlkZT86IFVzZXJPdmVycmlkZTtcclxuICBpdGVtTGluZUlkcz86bnVtYmVyW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVEJhc2tldCB7XHJcbiAgcHJvZHVjdHM6IFRQcm9kdWN0W107XHJcbiAgbGluZURpc2NvdW50OkxpbmVEaXNjb3VudFtdO1xyXG4gIGV4Y2hhbmdlOkV4Y2hhbmdlW107XHJcbiAgbGluZVByb21vdGlvbjpMaW5lUHJvbW90aW9uc1tdO1xyXG4gIHRyYW5zYWN0aW9uUHJvbW90aW9uPzpUcmFuc2FjdGlvblByb21vdGlvbltdO1xyXG4gIHRyYW5zYWN0aW9uRGlzY291bnQ/OlRyYW5zYWN0aW9uRGlzY291bnRbXTtcclxuICB0YXhCcmVha2Rvd24/OlRheEJyZWFrZG93bjtcclxuICB0b3RhbFRheFN1bW1hcnk/OlRvdGFsVGF4U3VtbWFyeVtdO1xyXG5cclxuICBcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBURXhjaGFuZ2V7XHJcbiAgZXhjaGFuZ2VJZD86bnVtYmVyLFxyXG4gIGxpbmVJdGVtSWQ/OiBudW1iZXIsXHJcbiAgcmVhc29uPzogc3RyaW5nLFxyXG4gIHF1YW50aXR5PzogbnVtYmVyLFxyXG4gIG5ld0l0ZW1zPzpUTmV3SXRlbXNbXTtcclxuICB9XHJcbiAgXHJcbiAgZXhwb3J0IGludGVyZmFjZSBUTmV3SXRlbXN7XHJcbiAgbGluZUl0ZW1JZDpudW1iZXIsXHJcbiAgIFF1YW50aXR5Om51bWJlclxyXG4gIH1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVFByb2R1Y3Qge1xyXG4gIGl0ZW1MaW5lSWQ6IHN0cmluZztcclxuICBTS1U6IHN0cmluZztcclxuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xyXG4gIGltYWdlVXJsczogW3N0cmluZ107XHJcbiAgcHJpY2U6IG51bWJlcjtcclxuICB0YXhDb2RlPzogc3RyaW5nO1xyXG4gIHRheFBlcmNlbnQ/OiBzdHJpbmc7XHJcbiAgcXVhbnRpdHk6IG51bWJlcjtcclxuICByZWZ1bmRlZFF1YW50aXR5PzogbnVtYmVyO1xyXG4gIHJlZnVuZGVkUHJvbW90aW9uYWxRdWFudGl0eT86bnVtYmVyO1xyXG4gIHJlZnVuZGVkPzogYm9vbGVhbjtcclxuICByZWZ1bmRlZFRvdGFsPzogbnVtYmVyO1xyXG4gIHJlZnVuZGVkUmVhc29uPzpzdHJpbmc7XHJcbiAgcmVmdW5kZWRSZWFzb25EZXNjcmlwdGlvbj86c3RyaW5nO1xyXG4gIHNlbGVjdGVkUlJQUHJpY2U/OiBudW1iZXI7XHJcbiAgdG90YWxMaW5lUHJpY2U6IG51bWJlcjtcclxuICBiYXJDb2RlPzogc3RyaW5nO1xyXG4gIGJhcmNvZGVzPzogc3RyaW5nW107XHJcbiAgZmxhZ2dlZD86IGJvb2xlYW47XHJcbiAgZXhjaGFuZ2U/OkV4Y2hhbmdlO1xyXG4gIGV4Y2x1ZGVQcm9tb3Rpb246Ym9vbGVhbjtcclxuICBkaXNjb3VudGFibGU/OmJvb2xlYW47XHJcblxyXG4gIGl0ZW1EaXNjb3VudHM/Okl0ZW1EaXNjb3VudHM7XHJcbiAgaXNMYXN0RXhjaGFuZ2VkPzogYm9vbGVhbjtcclxuXHJcbiAgLy8gTWl4ZWQgU2FsZXMgZmllbGRzXHJcbiAgZnVsbGZpbG1lbnRJZDpzdHJpbmcsXHJcbiAgZnVsbGZpbG1lbnRMb2NhdGlvbk5hbWU6c3RyaW5nLFxyXG4gIGRlbGl2ZXJ5TWV0aG9kPzpzdHJpbmcsXHJcbiAgZGVsaXZlcnlHcm91cD86c3RyaW5nLFxyXG4gIGdpZnRDYXJkTnVtYmVySXNzdWVkPzogc3RyaW5nLFxyXG4gIGdpZnRDYXJkQW1vdW50PzogbnVtYmVyLFxyXG4gIGdpZnRDYXJkUmVjaXBpZW50RW1haWw/OiBzdHJpbmcsXHJcbiAgZ2lmdENhcmRFeHBpcnlEYXRlPzogc3RyaW5nICxcclxuICBnaWZ0Q2FyZFJlY2lwaWVudE5hbWU/OiBzdHJpbmcsXHJcbiAgZ2lmdENhcmQ/OmJvb2xlYW4sXHJcbiAgY3VycmVuY3k/OnN0cmluZyxcclxuICBpc1dlYk9yZGVyPzpib29sZWFuLFxyXG4gIGxlYWRUaW1lPzogbGVhZFRpbWVcclxuICBcclxuICAvLyBjdXJyZW50dHJhbnNhY3Rpb24gZG9jIGNoYW5nZXNcclxuICBsaW5lRGlzY291bnQ/OmFueVxyXG5cclxuICBhdHRyaWJ1dGVzPzpDb3JlQXR0cmlidXRlW107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSXRlbURpc2NvdW50c3tcclxuICB0cm5EaXNjb3VudHNQb3J0aW9uOm51bWJlcjtcclxuICB0cm5Qcm9tb3Rpb25zUG9ydGlvbjpudW1iZXI7XHJcbiAgcmVmdW5kUG9ydGlvbjpudW1iZXI7XHJcbn1cclxuXHJcblxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lciB7XHJcbiAgaWQ6IHN0cmluZztcclxuICB0aXRsZT86IHN0cmluZztcclxuICBmaXJzdE5hbWU6IHN0cmluZztcclxuICBsYXN0TmFtZTogc3RyaW5nO1xyXG4gIGVtYWlsOiBzdHJpbmc7XHJcbiAgcG9zdENvZGU6IHN0cmluZztcclxuICB0ZWxlcGhvbmU/OiBzdHJpbmc7XHJcbiAgYmlsbGluZ0FkZHJlc3M/OiBBZGRyZXNzIHwgQWRkcmVzc1tdO1xyXG4gIHNoaXBwaW5nQWRkcmVzcz86IEFkZHJlc3MgfCBBZGRyZXNzW107XHJcbiAgc2hpcG1lbnREZXRhaWxzPzogU2hpcG1lbnREZXRhaWxzW107XHJcbiAgYWRkcmVzc0RldGFpbD86IHN0cmluZztcclxuICBub0N1c3RvbWVyU2VsZWN0ZWQ/OiBib29sZWFuO1xyXG4gIGV4dGVybmFsSWQ/OiBzdHJpbmc7IFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFkZHJlc3MgXHJcbntcclxuICBpZD86IHN0cmluZztcclxuICBjb3VudHJ5Q29kZT86IHN0cmluZztcclxuICBhZGRyZXNzMT86IHN0cmluZztcclxuICBhZGRyZXNzMj86IHN0cmluZztcclxuICBhZGRyZXNzMz86IHN0cmluZztcclxuICBjaXR5Pzogc3RyaW5nO1xyXG4gIGNvdW50eT86IHN0cmluZztcclxuICBwb3N0Q29kZT86IHN0cmluZztcclxuICBjb3VudHJ5Pzogc3RyaW5nO1xyXG4gfVxyXG5cclxuIGV4cG9ydCBpbnRlcmZhY2UgU2hpcG1lbnREZXRhaWxzIHtcclxuICBpZD86IHN0cmluZyxcclxuICBkZWxpdmVyeUdyb3VwPzogc3RyaW5nLFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFBheW1lbnREZXRhaWxzIHtcclxuICBjYXJkTnVtYmVyPzogYW55O1xyXG4gIHNxTm8/Om51bWJlcjtcclxuICByZXN1bHQ/OiBzdHJpbmc7XHJcbiAgY3VycmVuY3k6IHN0cmluZztcclxuICBhbW91bnQ6IHN0cmluZztcclxuICBhdXRoY29kZT86IHN0cmluZztcclxuICBwYW4/OiBzdHJpbmc7XHJcbiAgY2FyZFR5cGU/OiBzdHJpbmc7XHJcbiAgdHJhbnNhY3Rpb25EYXRlPzogc3RyaW5nO1xyXG4gIG1pZD86IHN0cmluZztcclxuICB0aWQ/OiBzdHJpbmc7XHJcbiAgY3ZtPzogc3RyaW5nO1xyXG4gIGhvc3RSZWZlcmVuY2VJZD86IHN0cmluZztcclxuICBhaWQ/OiBzdHJpbmc7XHJcbiAgcmVjZWlwdE5vPzogc3RyaW5nO1xyXG4gIGV4cGlyeWRhdGU/OiBzdHJpbmc7XHJcbiAgdHJhbnNhY3Rpb25SZWZlcmVuY2U6IHN0cmluZztcclxuICBhcHBsaWNhdGlvblZlcnNpb24/OiBzdHJpbmc7XHJcbiAgZW50cnlNZXRob2Q/OnN0cmluZztcclxuICB0cmFuc2FjdGlvblR5cGU6c3RyaW5nO1xyXG4gIHRvdGFsYW1vdW50OnN0cmluZztcclxuICBwYXltZW50VHlwZT86c3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRheEJyZWFrZG93blxyXG57XHJcbiAgdGF4TGluZXMgOiBUYXhMaW5lW10sXHJcbiAgdG90YWxUYXhhYmxlQW1vdW50OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVG90YWxUYXhTdW1tYXJ5e1xyXG4gIFZBVENvZGU6c3RyaW5nLFxyXG4gIFZBVCA6IG51bWJlcjtcclxuICBQcmVUYXhTdW06ICBudW1iZXJcclxuICBUYXhTdW06ICBudW1iZXJcclxuICBUWHJhdGVTdW06IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRheExpbmVcclxue1xyXG4gICAgaXRlbUxpbmVJZDogbnVtYmVyLFxyXG4gICAgdGF4YWJsZUFtb3VudDogbnVtYmVyLFxyXG4gICAgdGF4TGluZVRvdGFsOiBudW1iZXIsXHJcbiAgICBWQVQ6IG51bWJlcixcclxuICAgIFZBVENvZGUgOiBzdHJpbmcsXHJcbiAgICBQcmVUYXg6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgZW51bSBESVNDT1VOVFRZUEUge1xyXG4gIFBFUkNFTlQgPSAnUGVyY2VudCcsXHJcbiAgQU1PVU5UID0gJ0FNT1VOVCdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkluZm8ge1xyXG4gIHNoaXBwaW5nSWQ/OiBzdHJpbmcsXHJcbiAgZXh0ZXJuYWxTaGlwcGluZ0lkPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHMge1xyXG4gIHVuaXF1ZUlkPzogc3RyaW5nLFxyXG4gIHByb3ZpZGVyVHlwZT86IHN0cmluZyxcclxuICBkZXRhaWxzPzogVHJhbnNhY3Rpb25JbmZvXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIElOSVRJQVRJTkdfTU9EVUxFIHtcclxuICBFQkFTS0VUID0gXCJlQmFza2V0XCJcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBwZW5kaW5nTWV0aG9kIHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIG1lc3NhZ2U/OiBzdHJpbmc7XHJcbiAgcGF0aD86IHN0cmluZztcclxuICBkZXRhaWxzPzogU2hpcG1lbnRJZDtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGlwbWVudElkIHtcclxuICBzaGlwbWVudElkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyQWRkcmVzcyB7XHJcbiAgX3R5cGU/OiBzdHJpbmc7XHJcbiAgZW1haWw/OiBzdHJpbmc7XHJcbiAgYWRkcmVzczE/OiBzdHJpbmc7XHJcbiAgY2l0eT86IHN0cmluZztcclxuICBjb3VudHJ5X2NvZGU/OiBzdHJpbmc7XHJcbiAgZmlyc3RfbmFtZT86IHN0cmluZztcclxuICBmdWxsX25hbWU/OiBzdHJpbmc7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgbGFzdF9uYW1lPzogc3RyaW5nO1xyXG4gIHBob25lPzogc3RyaW5nO1xyXG4gIHNhbHV0YXRpb24/OiBzdHJpbmc7XHJcbiAgY19hcmVhPzogc3RyaW5nO1xyXG4gIGNfZW1haWw/OiBzdHJpbmc7XHJcbiAgY19waG9uZVdoYXRzQXBwPzogc3RyaW5nO1xyXG4gIGNfc3RyVmFsdWU/OiBzdHJpbmc7XHJcbiAgcG9zdGFsX2NvZGU/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJJbmZvIHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICBjdXN0b21lcl9pZD86IHN0cmluZztcclxuICBlbWFpbD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBHcm91cGVkVGF4SXRlbSB7XHJcbiAgX3R5cGU/OiBzdHJpbmc7XHJcbiAgdGF4X3JhdGU/OiBudW1iZXI7XHJcbiAgdGF4X3ZhbHVlPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIGFkZGl0aW9uYWxOb3RlcyB7XHJcbiAgX3R5cGU/OiBzdHJpbmc7XHJcbiAgbGluaz86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0SXRlbSB7XHJcbiAgX3R5cGU/OiBzdHJpbmc7XHJcbiAgYWRqdXN0ZWRfdGF4PzogbnVtYmVyO1xyXG4gIGJhc2VfcHJpY2U/OiBudW1iZXI7XHJcbiAgYm9udXNfcHJvZHVjdF9saW5lX2l0ZW0/OiBib29sZWFuO1xyXG4gIGdpZnQ/OiBib29sZWFuO1xyXG4gIGl0ZW1faWQ/OiBzdHJpbmc7XHJcbiAgaXRlbV90ZXh0Pzogc3RyaW5nO1xyXG4gIHByaWNlPzogbnVtYmVyO1xyXG4gIHByaWNlX2FkanVzdG1lbnRzPzogUHJpY2VBZGp1c3RtZW50W107XHJcbiAgcHJpY2VfYWZ0ZXJfaXRlbV9kaXNjb3VudD86IG51bWJlcjtcclxuICBwcmljZV9hZnRlcl9vcmRlcl9kaXNjb3VudD86IG51bWJlcjtcclxuICBwcm9kdWN0X2lkPzogc3RyaW5nO1xyXG4gIHByb2R1Y3RfbmFtZT86IHN0cmluZztcclxuICBxdWFudGl0eT86IG51bWJlcjtcclxuICBzaGlwbWVudF9pZD86IHN0cmluZztcclxuICB0YXg/OiBudW1iZXI7XHJcbiAgdGF4X2Jhc2lzPzogbnVtYmVyO1xyXG4gIHRheF9jbGFzc19pZD86IHN0cmluZztcclxuICB0YXhfcmF0ZT86IG51bWJlcjtcclxuICBjX29zdU9iamVjdERhdGE/OnN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGlwcGluZ01ldGhvZCB7XHJcbiAgX3R5cGU/OiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBwcmljZT86IG51bWJlcjtcclxuICBjX2FwcHJvYWNoaW5nVGhyZXNob2xkTWVzc2FnZT86IHN0cmluZztcclxuICBjX2VzdGltYXRlZEFycml2YWxUaW1lPzogc3RyaW5nO1xyXG4gIGNfaXNFbWFpbD86IGJvb2xlYW47XHJcbiAgY19zdG9yZVBpY2t1cEVuYWJsZWQ/OiBib29sZWFuO1xyXG4gIGNfdGhyZXNob2xkVmFsdWU/OiBudW1iZXI7XHJcbn0gXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIHNoaXBtZW50IHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICBhZGp1c3RlZF9tZXJjaGFuZGl6ZV90b3RhbF90YXg/OiBudW1iZXI7XHJcbiAgYWRqdXN0ZWRfc2hpcHBpbmdfdG90YWxfdGF4PzogbnVtYmVyO1xyXG4gIGdpZnQ/OiBib29sZWFuO1xyXG4gIG1lcmNoYW5kaXplX3RvdGFsX3RheD86IG51bWJlcjtcclxuICBwcm9kdWN0X3N1Yl90b3RhbD86IG51bWJlcjtcclxuICBwcm9kdWN0X3RvdGFsPzogbnVtYmVyO1xyXG4gIHNoaXBtZW50X2lkPzogc3RyaW5nO1xyXG4gIHNoaXBtZW50X3RvdGFsPzogbnVtYmVyO1xyXG4gIHNoaXBwaW5nX2FkZHJlc3M/OiBDdXN0b21lckFkZHJlc3M7XHJcbiAgc2hpcHBpbmdfbWV0aG9kPzogU2hpcHBpbmdNZXRob2Q7XHJcbiAgc2hpcHBpbmdfc3RhdHVzPzogc3RyaW5nO1xyXG4gIHNoaXBwaW5nX3RvdGFsPzogbnVtYmVyO1xyXG4gIHNoaXBwaW5nX3RvdGFsX3RheD86IG51bWJlcjtcclxuICB0YXhfdG90YWw/OiBudW1iZXI7XHJcbiAgY19mcm9tU3RvcmVJZD86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBTaGlwcGluZ0l0ZW0ge1xyXG4gIF90eXBlPzogc3RyaW5nO1xyXG4gIGFkanVzdGVkX3RheD86IG51bWJlcjtcclxuICBiYXNlX3ByaWNlPzogbnVtYmVyO1xyXG4gIGl0ZW1faWQ/OiBzdHJpbmc7XHJcbiAgaXRlbV90ZXh0Pzogc3RyaW5nO1xyXG4gIHByaWNlPzogbnVtYmVyO1xyXG4gIHByaWNlX2FmdGVyX2l0ZW1fZGlzY291bnQ/OiBudW1iZXI7XHJcbiAgc2hpcG1lbnRfaWQ/OiBzdHJpbmc7XHJcbiAgdGF4PzogbnVtYmVyO1xyXG4gIHRheF9iYXNpcz86IG51bWJlcjtcclxuICB0YXhfY2xhc3NfaWQ/OiBzdHJpbmc7XHJcbiAgdGF4X3JhdGU/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQXBwbGllZERpc2NvdW50IHtcclxuICBfdHlwZT86IHN0cmluZyxcclxuICBhbW91bnQ/OiBudW1iZXIsXHJcbiAgcGVyY2VudGFnZT86IG51bWJlcixcclxuICB0eXBlPzogc3RyaW5nXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUHJpY2VBZGp1c3RtZW50IHtcclxuICBfdHlwZT86IHN0cmluZyxcclxuICBhcHBsaWVkX2Rpc2NvdW50PzogQXBwbGllZERpc2NvdW50LFxyXG4gIGNvdXBvbl9jb2RlPzogc3RyaW5nLFxyXG4gIGNyZWF0aW9uX2RhdGU/OiBzdHJpbmcsXHJcbiAgY3VzdG9tPzogYm9vbGVhbixcclxuICBpdGVtX3RleHQ/OiBzdHJpbmcsXHJcbiAgbGFzdF9tb2RpZmllZD86IHN0cmluZyxcclxuICBtYW51YWw/OiBib29sZWFuLFxyXG4gIHByaWNlPzogbnVtYmVyXHJcbiAgcHJpY2VfYWRqdXN0bWVudF9pZD86IHN0cmluZyxcclxuICBwcm9tb3Rpb25faWQ/OiBzdHJpbmcsXHJcbiAgcHJvbW90aW9uX2xpbms/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBPcmRlckRldGFpbHMge1xyXG4gIF92Pzogc3RyaW5nO1xyXG4gIF90eXBlPzogc3RyaW5nO1xyXG4gIF9yZXNvdXJjZV9zdGF0ZT86IHN0cmluZztcclxuICBfZmxhc2g/OiBwZW5kaW5nTWV0aG9kW107XHJcbiAgYWRqdXN0ZWRfbWVyY2hhbmRpemVfdG90YWxfdGF4PzogbnVtYmVyO1xyXG4gIGFkanVzdGVkX3NoaXBwaW5nX3RvdGFsX3RheD86IG51bWJlcjtcclxuICBhZ2VudF9iYXNrZXQ/OiBib29sZWFuO1xyXG4gIGJhc2tldF9pZD86IHN0cmluZztcclxuICBiaWxsaW5nX2FkZHJlc3M/OiBDdXN0b21lckFkZHJlc3M7XHJcbiAgY2hhbm5lbF90eXBlPzogc3RyaW5nO1xyXG4gIGNyZWF0aW9uX2RhdGU/OiBzdHJpbmc7XHJcbiAgY3VycmVuY3k/OiBzdHJpbmc7XHJcbiAgY3VzdG9tZXJfaW5mbz86IEN1c3RvbWVySW5mbztcclxuICBncm91cGVkX3RheF9pdGVtcz86IEdyb3VwZWRUYXhJdGVtW107XHJcbiAgbGFzdF9tb2RpZmllZD86IHN0cmluZztcclxuICBtZXJjaGFuZGl6ZV90b3RhbF90YXg/OiBudW1iZXI7XHJcbiAgbm90ZXM/OiBhZGRpdGlvbmFsTm90ZXM7XHJcbiAgb3JkZXJfcHJpY2VfYWRqdXN0bWVudHM/OiBQcmljZUFkanVzdG1lbnRbXSxcclxuICBvcmRlcl9ubz86IHN0cmluZztcclxuICBvcmRlcl90b3RhbD86IG51bWJlcjtcclxuICBwcm9kdWN0X2l0ZW1zPzogUHJvZHVjdEl0ZW1bXTtcclxuICBwcm9kdWN0X3N1Yl90b3RhbD86IG51bWJlcjtcclxuICBwcm9kdWN0X3RvdGFsPzogbnVtYmVyO1xyXG4gIHNoaXBtZW50cz86IHNoaXBtZW50W107XHJcbiAgc2hpcHBpbmdfaXRlbXM/OiBTaGlwcGluZ0l0ZW1bXTtcclxuICBzaGlwcGluZ190b3RhbD86IG51bWJlcjtcclxuICBzaGlwcGluZ190b3RhbF90YXg/OiBudW1iZXI7XHJcbiAgdGF4YXRpb24/OiBzdHJpbmc7XHJcbiAgdGF4X3JvdW5kZWRfYXRfZ3JvdXA/OiBib29sZWFuO1xyXG4gIHRheF90b3RhbD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUFJPVklERVJTIHtcclxuICBTQUxFU0ZPUkNFID0gXCJTYWxlc2ZvcmNlXCJcclxufVxyXG5cclxuZXhwb3J0IGVudW0gUFJPTU9USU9OX0xFVkVMXHJcbntcclxuICBMSU5FPVwiTElORVwiLFxyXG4gIFRSQU5TQUNUSU9OPVwiVFJBTlNBQ1RJT05cIlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQUk9NT1RJT05fVFlQRVxyXG57XHJcbiAgQ09VUE9OPVwiQ09VUE9OXCJcclxufVxyXG5cclxuIl19
1438
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLWxpYnJhcnkubW9kZWwuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9AcG1jcmV0YWlsL21hcHBlci1saWJyYXJ5LyIsInNvdXJjZXMiOlsibGliL21hcHBlci1saWJyYXJ5Lm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7OztBQUVBLE1BQVksZ0JBQWdCO0lBQzFCLElBQUksUUFBUztJQUNiLE1BQU0sVUFBVztJQUNqQixXQUFXLGVBQWdCO0lBQzNCLGFBQWEsaUJBQWtCO0lBQy9CLElBQUksUUFBUztJQUNiLFdBQVcsZUFBZ0I7RUFDNUI7Ozs7O0FBRUQsa0NBS0M7OztJQUpDLDJDQUE0Qjs7SUFDNUIsNENBQTZCOztJQUM3QixxQ0FBc0I7O0lBQ3RCLDRDQUE4Qjs7O0FBR2hDLE1BQVksZ0JBQWdCO0lBQzFCLFFBQVEsR0FBSTtJQUNaLFNBQVMsR0FBSTtJQUNiLGtCQUFrQixHQUFJO0lBQ3RCLGFBQWEsR0FBSTtFQUNsQjs7Ozs7Ozs7O0FBRUQsbUNBaUJDOzs7SUFoQkMsbUNBQW9COztJQUNwQiw0QkFBWTs7SUFDWixpQ0FBaUI7O0lBQ2pCLHNDQUF1Qjs7SUFDdkIscUNBQTRCOztJQUM1Qix1Q0FBZ0M7O0lBQ2hDLGlDQUFvQjs7SUFDcEIseUNBQTBCOztJQUMxQixrREFBbUM7O0lBQ25DLGlDQUFtQjs7SUFDbkIsc0NBQXVCOztJQUN2Qix1Q0FBd0I7O0lBQ3hCLGtEQUFtQzs7SUFDbkMsa0NBQW9COztJQUNwQiwrQkFBaUI7O0lBQ2pCLHdDQUEwQjs7Ozs7O0FBTTVCLDZCQXlFQzs7O0lBeEVDLDZCQUFvQjs7SUFDcEIseUJBQWU7O0lBQ2YsMkJBQWlCOztJQUNqQix3QkFBYzs7SUFDZCwyQkFBaUI7O0lBQ2pCLDJCQUFpQjs7SUFDakIsa0NBQXdCOztJQUN4Qiw0QkFBa0I7O0lBQ2xCLDhCQUFvQjs7SUFDcEIsdUJBQWM7O0lBQ2QsNEJBQW9COztJQUNwQixvQ0FBNEI7O0lBQzVCLHVCQUFhOztJQUNiLHVCQUFhOztJQUNi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OztJQTlCQywwQkFBWTs7SUFDWiw2QkFBZTs7SUFDZix1Q0FBeUI7O0lBQ3pCLDhCQUF5Qjs7SUFDekIsc0RBQXdDOztJQUN4QyxtREFBcUM7O0lBQ3JDLG9DQUF1Qjs7SUFDdkIsaUNBQW1COztJQUNuQix1Q0FBa0M7O0lBQ2xDLG9DQUFzQjs7SUFDdEIscUNBQXVCOztJQUN2QixnQ0FBa0I7O0lBQ2xCLHFDQUE2Qjs7SUFDN0IseUNBQXFDOztJQUNyQyxxQ0FBdUI7O0lBQ3ZCLDZDQUErQjs7SUFDL0IsNkJBQXdCOztJQUN4QiwrQ0FBNEM7O0lBQzVDLGdDQUFrQjs7SUFDbEIsbUNBQXFCOztJQUNyQixxQ0FBOEI7O0lBQzlCLHlDQUEyQjs7SUFDM0IscUNBQXVCOztJQUN2QixpQ0FBdUI7O0lBQ3ZCLHNDQUFnQzs7SUFDaEMsc0NBQXdCOztJQUN4QiwwQ0FBNEI7O0lBQzVCLGdDQUFrQjs7SUFDbEIsNENBQStCOztJQUMvQixpQ0FBbUI7OztBQUdyQixNQUFZLFNBQVM7SUFDbkIsVUFBVSxjQUFlO0VBQzFCOzs7QUFFRCxNQUFZLGVBQWU7SUFFekIsSUFBSSxRQUFPO0lBQ1gsV0FBVyxlQUFjO0VBQzFCOzs7QUFFRCxNQUFZLGNBQWM7SUFFeEIsTUFBTSxVQUFTO0VBQ2hCIiwic291cmNlc0NvbnRlbnQiOlsiXHJcblxyXG5leHBvcnQgZW51bSBUUkFOU0FDVElPTl9UWVBFIHtcclxuICBTQUxFID0gXCJTQUxFXCIsXHJcbiAgUkVGVU5EID0gXCJSRUZVTkRcIixcclxuICBTQUxFX1JFRlVORCA9IFwiU0FMRV9SRUZVTkRcIixcclxuICBTQUxFX0VYQ0hBTkdFID0gXCJTQUxFX0VYQ0hBTkdFXCIsXHJcbiAgVk9JRCA9IFwiVk9JRFwiLFxyXG4gIFdFQl9SRVRVUk5TID0gXCJXRUJfUkVUVVJOU1wiXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgSXRlbURpc2NvdW50IHtcclxuICB0cm5EaXNjb3VudHNQb3J0aW9uOiBudW1iZXI7XHJcbiAgdHJuUHJvbW90aW9uc1BvcnRpb246IG51bWJlcjtcclxuICByZWZ1bmRQb3J0aW9uOiBudW1iZXI7XHJcbiAgY3VycmVudFJlZnVuZFBvcnRpb24/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIERFTElWRVJZX01FVEhPRFMge1xyXG4gIERFTElWRVJZID0gMSxcclxuICBEUk9QX1NISVAgPSAyLFxyXG4gIENPTExFQ1RfRlJPTV9TVE9SRSA9IDMsXHJcbiAgU0hJUF9UT19TVE9SRSA9IDRcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0Q2hhbmdlIHtcclxuICBpdGVtTGluZUlkPzogbnVtYmVyO1xyXG4gIFNLVTogc3RyaW5nO1xyXG4gIHF1YW50aXR5OiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRQcmljZT86IG51bWJlcjtcclxuICBsaW5lRGlzY291bnQ/OiBMaW5lRGlzY291bnQ7XHJcbiAgbGluZVByb21vdGlvbnM/OiBMaW5lUHJvbW90aW9ucztcclxuICBleGNoYW5nZT86IEV4Y2hhbmdlO1xyXG4gIHJlZnVuZGVkUXVhbnRpdHk/OiBudW1iZXI7ICAgICAgICAgICAgICAgICAgICAgICAgLy8gY29udGFpbnMgcXVhbnRpdHkgb2YgYm90aCBmdWxsIHByaWNlZCBhbmQgcHJvbW90aW9uYWwgcXVhbnRpdGllc1xyXG4gIHJlZnVuZFByb21vdGlvbmFsUXVhbnRpdHk/OiBudW1iZXI7ICAgICAgICAgICAgICAgLy8gcHJvbW90aW9uYWwgcXVhbnRpdHlcclxuICByZWZ1bmRlZD86IGJvb2xlYW47XHJcbiAgcmVmdW5kZWRUb3RhbD86IG51bWJlcjtcclxuICByZWZ1bmRlZFJlYXNvbj86IHN0cmluZztcclxuICByZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uPzogc3RyaW5nO1xyXG4gIGlzQ2hlY2tlZD86IGJvb2xlYW47XHJcbiAgc2VhbGVkPzogYm9vbGVhbjtcclxuICBpc0xhc3RFeGNoYW5nZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKipcclxuICogUHJvZHVjdFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQcm9kdWN0IGV4dGVuZHMgUHJvZHVjdENoYW5nZSB7XHJcbiAgaXRlbUxpbmVJZD86IG51bWJlcjtcclxuICBzdGF0dXM6IG51bWJlcjtcclxuICBzdWJHcm91cDogbnVtYmVyO1xyXG4gIGJyYW5kOiBzdHJpbmc7XHJcbiAgY3VycmVuY3k6IHN0cmluZztcclxuICBjYXRlZ29yeTogc3RyaW5nO1xyXG4gIGNvdW50cnlvZk9yaWdpbjogc3RyaW5nO1xyXG4gIHByb2R1Y3RJZDogc3RyaW5nO1xyXG4gIHByb2R1Y3RUeXBlOiBudW1iZXI7XHJcbiAgbmFtZT86IHN0cmluZztcclxuICBpbWFnZVVybHM6IFtzdHJpbmddO1xyXG4gIGlzSW1hZ2VGYWlsVG9Mb2FkPzogYm9vbGVhbjtcclxuICBzaXplOiBzdHJpbmc7XHJcbiAgdHlwZTogc3RyaW5nO1xyXG4gIHNlYXNvbjogbnVtYmVyO1xyXG4gIHByb2R1Y3RHcm91cDogbnVtYmVyO1xyXG4gIHN0eWxlQ29kZTogc3RyaW5nO1xyXG4gIG5vZGVTdHJ1Y3R1cmU6IE5vZGVTdHJ1Y3R1cmVbXTtcclxuICBiYXJjb2RlOiBzdHJpbmc7XHJcbiAgcHJpY2U6IFByaWNlW107XHJcbiAgY29sb3VyOiBzdHJpbmc7XHJcbiAgZGVzY3JpcHRpb246IHN0cmluZztcclxuICB0b3RhbExpbmVQcmljZTogbnVtYmVyO1xyXG4gIHRvdGFsOiBudW1iZXI7XHJcbiAgYWRkZWRJbkJhc2tldD86IGJvb2xlYW47XHJcbiAgc2VsZWN0ZWRWQVQ/OiBudW1iZXI7XHJcbiAgc2VsZWN0ZWRWQVRDb2RlPzogc3RyaW5nO1xyXG4gIHNlbGVjdGVkUlJQUHJpY2U/OiBudW1iZXI7XHJcbiAgbGluZURpc2NvdW50PzogTGluZURpc2NvdW50O1xyXG4gIGV4Y2hhbmdlPzogRXhjaGFuZ2U7XHJcbiAgLy8gcmVmdW5kZWRRdWFudGl0eT86IG51bWJlcjtcclxuICAvLyByZWZ1bmRlZD86IGJvb2xlYW47XHJcbiAgLy8gcmVmdW5kZWRUb3RhbD86IG51bWJlcjtcclxuICAvLyByZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uPzpzdHJpbmc7XHJcbiAgLy8gaXNDaGVja2VkPzpib29sZWFuO1xyXG4gIHJlZnVuZFByb21vdGlvbmFsUXVhbnRpdHk/OiBudW1iZXI7ICAgICAgICAgICAgICAgLy8gcHJvbW90aW9uYWwgcXVhbnRpdHlcclxuICBleGNoYW5nZVJlYXNvbj86IHN0cmluZztcclxuICBleGNoYW5nZVF1YW50aXR5PzogbnVtYmVyO1xyXG4gIGl0ZW1EaXNjb3VudHM6IEl0ZW1EaXNjb3VudDtcclxuXHJcbiAgZ2lmdENhcmROdW1iZXJJc3N1ZWQ/OiBzdHJpbmc7XHJcbiAgZ2lmdENhcmRBbW91bnQ/OiBudW1iZXI7XHJcbiAgZ2lmdENhcmRSZWNpcGllbnRFbWFpbD86IHN0cmluZztcclxuICBnaWZ0Q2FyZEV4cGlyeURhdGU/OiBzdHJpbmc7XHJcbiAgZ2lmdENhcmRSZWNpcGllbnROYW1lPzogc3RyaW5nO1xyXG4gIGdpZnRDYXJkPzogYm9vbGVhbjtcclxuXHJcbiAgZGlzY291bnRhYmxlOiBib29sZWFuO1xyXG4gIC8vIHNlYWxlZD86Ym9vbGVhbjtcclxuICBleGNsdWRlUHJvbW90aW9uOiBib29sZWFuO1xyXG4gIGNhdGVnb3JpZXM6IENhdGVnb3JpZXNbXTtcclxuICBkZXNjcmlwdGlvbnM6IERlc2NyaXB0aW9uc1tdO1xyXG4gIGJhcmNvZGVzOiBzdHJpbmdbXTtcclxuXHJcbiAgLy9OZXcgRmVpbGRzXHJcbiAgZXh0ZXJuYWxJZDogc3RyaW5nO1xyXG4gIGNyZWF0ZWREYXRlOiBzdHJpbmc7XHJcbiAgdXBkYXRlZERhdGU6IHN0cmluZztcclxuICBjcmVhdGVkQnk6IHN0cmluZztcclxuICB1cGRhdGVkQnk6IHN0cmluZztcclxuICBhdHRyaWJ1dGVzOiBDb3JlQXR0cmlidXRlW107XHJcbiAgaWQ6IHN0cmluZztcclxuICBsb25nX2Rlc2NyaXB0aW9uOiBzdHJpbmc7XHJcblxyXG4gIC8vIE1peGVkIFNhbGVzIGZpZWxkc1xyXG4gIGlzV2ViT3JkZXI/OiBib29sZWFuLFxyXG4gIGZ1bGxmaWxtZW50SWQ6IHN0cmluZyxcclxuICBmdWxsZmlsbWVudExvY2F0aW9uTmFtZT86IHN0cmluZyxcclxuICBkZWxpdmVyeU1ldGhvZD86IHN0cmluZyxcclxuICBkZWxpdmVyeUdyb3VwPzogc3RyaW5nLFxyXG4gIHNlbGVjdGVkSW52ZW50b3J5PzogSW52ZW50b3J5SW5mbztcclxuICBsZWFkVGltZT86IGxlYWRUaW1lXHJcbn1cclxuZXhwb3J0IGludGVyZmFjZSBsZWFkVGltZSB7XHJcbiAgdHlwZTogc3RyaW5nLFxyXG4gIHZhbHVlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFeGNoYW5nZSB7XHJcbiAgZXhjaGFuZ2VJZDogbnVtYmVyLFxyXG4gIGxpbmVJdGVtSWQ6IG51bWJlcixcclxuICByZWFzb246IHN0cmluZyxcclxuICBxdWFudGl0eTogbnVtYmVyLFxyXG4gIG5ld0l0ZW1zOiBQcm9kdWN0W107XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ2F0ZWdvcmllcyB7XHJcbiAgaWQ6IHN0cmluZztcclxuICBwYXJlbnRJZDogc3RyaW5nO1xyXG4gIG5hbWU6IHN0cmluZztcclxuICBjYXRlZ29yeUlkOiBzdHJpbmc7XHJcbiAgc3RhdHVzOiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlc2NyaXB0aW9ucyB7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb3JlQXR0cmlidXRlIHtcclxuICBuYW1lOiBzdHJpbmc7XHJcbiAgdmFsdWU6IHN0cmluZztcclxuICBzZWFyY2hhYmxlOiBib29sZWFuO1xyXG4gIGNvdW50cnlDb2RlOiBzdHJpbmc7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBCYXNrZXRcclxuICovXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEJhc2tldCB7XHJcbiAgc3Vic2lkaWFyeUlkPzogc3RyaW5nO1xyXG4gIHByb2R1Y3RzOiBQcm9kdWN0W107XHJcbiAgdHJhbnNhY3Rpb25EaXNjb3VudDogYW55W107XHJcbiAgcXVhbnRpdHk6IG51bWJlcjtcclxuICB0b3RhbDogbnVtYmVyO1xyXG4gIHNhbGVUb3RhbDogbnVtYmVyO1xyXG4gIGRpc2NvdW50VG90YWw/OiBudW1iZXI7XHJcbiAgdHJhbnNhY3Rpb25JZD86IHN0cmluZztcclxuICBvZmZsaW5lVHJhbnNhY3Rpb25JZD86IHN0cmluZztcclxuICBiYXNlQ3VycmVuY3k6IHN0cmluZztcclxuICBiYXNrZXRUb3RhbD86IG51bWJlcjtcclxuICByZWZ1bmRUb3RhbD86IG51bWJlcjtcclxuICB0cmFuc2FjdGlvblByb21vdGlvbj86IFRyYW5zYWN0aW9uUHJvbW90aW9uW107XHJcbiAgY3VzdG9tZXI/OiBhbnk7XHJcbiAgZXhjaGFuZ2U/OiBFeGNoYW5nZVtdO1xyXG4gIGluU3RvcmVGbGFnPzogYm9vbGVhblxyXG59XHJcblxyXG5cclxuXHJcbi8qKlxyXG4gKiBQcmljZVxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBQcmljZSB7XHJcbiAgVkFUOiBudW1iZXI7XHJcbiAgVkFUQ29kZTogc3RyaW5nO1xyXG4gIHNhbGVzUHJpY2U6IG51bWJlcjtcclxuICBjdXJyZW5jeUNvZGU6IHN0cmluZztcclxuICBSUlBQcmljZTogbnVtYmVyO1xyXG59XHJcblxyXG4vKipcclxuICogTm9kZSBzdHJ1Y3R1cmVcclxuICovXHJcbmludGVyZmFjZSBOb2RlU3RydWN0dXJlIHtcclxuICBzdGF0dXM6IGJvb2xlYW47XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIG5vZGVUeXBlOiBzdHJpbmc7XHJcbiAgaXNPdmVycmlkZTogYm9vbGVhbjtcclxuICBub2RlSWQ6IHN0cmluZztcclxuICBwYXJlbnRJZDogc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuICogTGluZSBEaXNjb3VudFxyXG4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBMaW5lRGlzY291bnQge1xyXG4gIGl0ZW1MaW5lSWQ6IHN0cmluZyxcclxuICBkaXNjb3VudEFtb3VudDogbnVtYmVyLFxyXG4gIGRpc2NvdW50VHlwZTogc3RyaW5nLFxyXG4gIC8vIHJlYXNvbkNvZGU6IHN0cmluZyxcclxuICBuYW1lPzogc3RyaW5nLFxyXG4gIHVuaXRQcmljZTogbnVtYmVyLFxyXG4gIGRpc2NvdW50ZWRMaW5lUHJpY2U/OiBudW1iZXIsXHJcbiAgcHJpY2VNYW5hZ2VyT3ZlcnJpZGU/OiBVc2VyT3ZlcnJpZGUsXHJcbiAgcHJpY2VPdmVycmlkZVJlYXNvbkNvZGU/OiBzdHJpbmcsXHJcbiAgcHJpY2VPdmVycmlkZVJlYXNvbk5hbWU/OiBzdHJpbmcsXHJcbiAgcHJpY2VPdmVycmlkZUFtb3VudD86IG51bWJlcixcclxuICBwZXJjZW50YWdlRGlzY291bnRNYW5hZ2VyT3ZlcnJpZGU/OiBVc2VyT3ZlcnJpZGUsXHJcbiAgcGVyY2VudGFnZURpc2NvdW50UmVhc29uQ29kZT86IHN0cmluZyxcclxuICBwZXJjZW50YWdlRGlzY291bnRSZWFzb25OYW1lPzogc3RyaW5nLFxyXG4gIHBlcmNlbnRhZ2VEaXNjb3VudFZhbHVlPzogbnVtYmVyXHJcbn1cclxuXHJcbi8qKlxyXG4gKiBVc2VyIE92ZXJyaWRlXHJcbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIFVzZXJPdmVycmlkZSB7XHJcbiAgdXNlcklkOiBzdHJpbmcsXHJcbiAgYXV0b21hdGljQXBwcm92ZTogc3RyaW5nLFxyXG4gIG9yaWdpbmFsVXNlcklkOiBzdHJpbmdcclxufVxyXG5cclxuLyoqXHJcbiogbGluZSBQcm9tb3Rpb25zXHJcbiovXHJcbmV4cG9ydCBpbnRlcmZhY2UgTGluZVByb21vdGlvbnMge1xyXG5cclxuICB0cmlnZ2VyOiBUcmlnZ2VyW10sXHJcbiAgaXRlbUxpbmVJZDogbnVtYmVyLFxyXG4gIHByb21vdGlvbklkOiBzdHJpbmcsXHJcbiAgZGlzcGxheVRleHQ6IHN0cmluZyxcclxuICBwcm9tb3Rpb25UeXBlOiBzdHJpbmcsXHJcbiAgcHJvbW90aW9uQW1vdW50OiBudW1iZXIsXHJcbiAgbmFtZTogc3RyaW5nLFxyXG4gIHByb21vdGlvbkluZm86IHN0cmluZyxcclxuICBwcm9tb3Rpb25MaW5lUHJpY2U6IG51bWJlclxyXG4gIHJlZnVuZGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbiogdHJpZ2dlclxyXG4qL1xyXG5leHBvcnQgaW50ZXJmYWNlIFRyaWdnZXIge1xyXG4gIGl0ZW1MaW5lSWQ6IHN0cmluZztcclxuICBxdWFudGl0eT86IG51bWJlcjtcclxuICB0b3RhbFF1YW50aXR5PzogbnVtYmVyO1xyXG4gIGxpbmVQcm9tb3Rpb25BbW91bnQ/Om51bWJlcjsgICAvLyBwcm9tb3Rpb24gYW1vdW50IGFwcGxpZWQgYWNjcm9zcyB0aGUgbGluZVxyXG4gIHByb21vdGlvbkFtb3VudD86bnVtYmVyOyAgIC8vIHByb21vdGlvbiBhbW91bnQgYXBwbGllZCBvbiAxIHVuaXRcclxuICByZWZ1bmRlZFJlYXNvbj86IHN0cmluZztcclxuICByZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uPzpzdHJpbmc7XHJcbiAgcHJvbW90aW9uSWQ/OnN0cmluZztcclxufVxyXG5cclxuLyoqXHJcbiogVHJhbnNhY3Rpb24gUHJvbW90aW9uXHJcbiovXHJcbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNhY3Rpb25Qcm9tb3Rpb24ge1xyXG4gIGRpc3BsYXlUZXh0OiBzdHJpbmc7XHJcbiAgbmFtZTogc3RyaW5nO1xyXG4gIHByb21vdGlvbkFtb3VudDogbnVtYmVyO1xyXG4gIHByb21vdGlvbklkOiBzdHJpbmc7XHJcbiAgcHJvbW90aW9uSW5mbzogc3RyaW5nO1xyXG4gIHByb21vdGlvblR5cGU6IHN0cmluZztcclxuICBpdGVtTGluZUlkczogbnVtYmVyW107XHJcbiAgdHlwZT86c3RyaW5nO1xyXG4gIHN1YkxldmVsVHlwZT86UFJPTU9USU9OX0xFVkVMXHJcbiAgdHJpZ2dlcj86VHJpZ2dlcltdO1xyXG4gIGNvdXBvbkNvZGU/OnN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBSZWZ1bmRQcm9kdWN0Q2hhbmdlIHtcclxuICBpdGVtTGluZUlkPzogbnVtYmVyO1xyXG4gIHJlZnVuZGVkUXVhbnRpdHk/OiBudW1iZXI7XHJcbiAgcmVmdW5kZWRQcm9tb3Rpb25hbFF1YW50aXR5PzogbnVtYmVyO1xyXG4gIHJlZnVuZFRvdGFsPzogbnVtYmVyO1xyXG4gIHJlZnVuZGVkUmVhc29uPzogc3RyaW5nO1xyXG4gIHJlZnVuZGVkUmVhc29uRGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgcmVmdW5kV2l0aFByb21vdGlvbjogYm9vbGVhbjtcclxuICBpc0xhc3RFeGNoYW5nZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludmVudG9yeUluZm8ge1xyXG4gIHN0b3JlTmFtZTogc3RyaW5nLFxyXG4gIHN0b3JlSWQ6IHN0cmluZyxcclxuICBxdWFudGl0eUF2YWlsYWJsZTogbnVtYmVyLFxyXG4gIHF1YW50aXR5UmVxdWlyZWQ6IG51bWJlclxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEludmVudG9yeVJlcXVlc3RJbmZvIGV4dGVuZHMgSW52ZW50b3J5SW5mbyB7XHJcbiAgcmVxdWVzdGVkUXVhbnRpdHk6IG51bWJlcixcclxuICByZXF1ZXN0ZWRBY3Rpb246IERFTElWRVJZX01FVEhPRFNcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBEZWxpdmVyeUluZm8ge1xyXG4gIGdyb3VwczogRGVsaXZlcnlHcm91cEluZm9bXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIERlbGl2ZXJ5R3JvdXBJbmZvIHtcclxuICBncm91cE51bWJlcjogbnVtYmVyO1xyXG4gIGl0ZW1zOiBQcm9kdWN0W107XHJcbiAgZXN0aW1hdGU/OiBFc3RpbWF0ZTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBFc3RpbWF0ZSB7XHJcbiAgdHlwZTogc3RyaW5nLFxyXG4gIHZhbHVlOiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkRvY3VtZW50IHtcclxuICB0cmFuc2FjdGlvbklkPzogc3RyaW5nO1xyXG4gIHN1YnNpZGlhcnlJZD86IHN0cmluZztcclxuICBvZmZsaW5lVHJhbnNhY3Rpb25JZD86c3RyaW5nO1xyXG4gIHRyYW5zYWN0aW9uUmVmPzogc3RyaW5nO1xyXG4gIGRhdGVUaW1lPzogc3RyaW5nO1xyXG4gIG9yZ0NvZGU6IHN0cmluZztcclxuICBzdG9yZUlkOiBzdHJpbmc7XHJcbiAgc3RvcmVOb2RlSWQ6c3RyaW5nO1xyXG4gIHN0b3JlTm9kZVN0cnVjdHVyZTpzdHJpbmc7XHJcbiAgZGV2aWNlSWQ6IHN0cmluZztcclxuICB0ZXJtaW5hbElkOnN0cmluZztcclxuICBpbml0aWF0aW5nTW9kdWxlIDpzdHJpbmc7XHJcbiAgZXhwb3J0OmJvb2xlYW47XHJcbiAgdXNlcklkPzogc3RyaW5nO1xyXG4gIHVzZXJOYW1lPzpzdHJpbmc7XHJcbiAgY3VzdG9tZXI/OiBDdXN0b21lcjtcclxuICBiYXNrZXQ6IGFueTtcclxuICBiYXNrZXRTdW1tYXJ5OiBCYXNrZXRTdW1tYXJ5O1xyXG4gIC8vIGxpbmVEaXNjb3VudDogTGluZURpc2NvdW50W107XHJcbiAgYmFzZUN1cnJlbmN5OiBzdHJpbmc7XHJcbiAgc3BsaXRQYXltZW50Pzpib29sZWFuO1xyXG4gIGlzUGF5bWVudENvbXBsZXRlZD86Ym9vbGVhbjtcclxuICBwYXltZW50RGV0YWlscz86IGFueTtcclxuICB0eXBlPzogc3RyaW5nO1xyXG4gIG9wZXJhdGlvblN0YXR1cz86IHN0cmluZztcclxuICBjcmVhdGVkQXQ/OiBzdHJpbmc7XHJcbiAgdXBkYXRlZEF0Pzogc3RyaW5nO1xyXG4gIHRyYW5zQ29tcGxldGVkQXQ/OiBzdHJpbmc7XHJcbiAgaWQ/OiBzdHJpbmc7XHJcbiAgc2FsZVRvdGFsPzogbnVtYmVyO1xyXG4gIHJlYXNvbkNvZGU/OiBzdHJpbmc7XHJcbiAgcmVhc29uRGVzY3JpcHRpb24/OiBzdHJpbmc7XHJcbiAgb3ZlcnJpZGU/OiBVc2VyT3ZlcnJpZGU7XHJcbiAgb3JpZ2luYWxUcmFuc0lkPzpzdHJpbmc7XHJcbiAgb3JpZ2luYWxFeHRlcm5hbElkPzogc3RyaW5nO1xyXG4gIGFwaVJlc3BvbnNlPzogQVBJUmVzcG9uc2U7ICAgIC8vIFRPRE8gYWRkIGhhbmRsZXIgYXMgcGVyIGV4cG9ydCBwcm92aWRlclxyXG4gIHVucmVmZXJlbmNlZFJlZnVuZD86Ym9vbGVhbjtcclxuICBnaWZ0ZWRSZWNlaXB0Pzpib29sZWFuO1xyXG4gIGN1cnJlbnRUcmFuc2FjdGlvbkRldGFpbHM/OmFueTtcclxuICBpc0NoZWNrZWQ/OmJvb2xlYW47XHJcbiAgZXh0ZXJuYWxUcmFuc2FjdGlvbkRldGFpbHM/OiBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlsc1tdO1xyXG4gIHJlZnVuZFJlcXVlc3Q/IDphbnlbXVxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEFQSVJlc3BvbnNlXHJcbntcclxuICBpbnRlcm5hbElkPzpudW1iZXI7XHJcbiAgdHJhbmlkPzpzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdXJyZW50VHJhbnNhY3Rpb25EZXRhaWxze1xyXG4gIHByb2R1Y3RzOiBQcm9kdWN0W107XHJcbiAgbGluZURpc2NvdW50PzpMaW5lRGlzY291bnRbXTtcclxuICBsaW5lUHJvbW90aW9uPzpMaW5lUHJvbW90aW9uc1tdO1xyXG4gIHRyYW5zYWN0aW9uUHJvbW90aW9uPzpUcmFuc2FjdGlvblByb21vdGlvbltdO1xyXG4gIHRyYW5zYWN0aW9uRGlzY291bnQ/OlRyYW5zYWN0aW9uRGlzY291bnRbXTtcclxuICBiYXNrZXRTdW1tYXJ5PzpCYXNrZXRTdW1tYXJ5OyAgXHJcbiAgdGF4QnJlYWtkb3duPzpUYXhCcmVha2Rvd247ICBcclxuICB0b3RhbFRheFN1bW1hcnk/OlRvdGFsVGF4U3VtbWFyeVtdO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFza2V0U3VtbWFyeSB7XHJcbiAgdG90YWxJdGVtcz86IG51bWJlcjtcclxuICBzYWxlVG90YWw/OiBudW1iZXI7XHJcbiAgVkFUVG90YWw/OiBudW1iZXI7XHJcbiAgZGlzY291bnRUb3RhbD86IG51bWJlcjtcclxuICBiYXNrZXRUb3RhbD86IG51bWJlcjtcclxuICByZWZ1bmRUb3RhbD86bnVtYmVyO1xyXG4gIHNoaXBwaW5nVG90YWw/OiBudW1iZXI7XHJcbiAgYmFza2V0VG90YWxXaXRoU2hpcHBpbmdUb3RhbD86IG51bWJlcjtcclxuICBpblN0b3JlPzogQmFza2V0U3VtbWFyeURldGFpbHM7XHJcbiAgd2ViT3JkZXI/OiBCYXNrZXRTdW1tYXJ5RGV0YWlscztcclxuICBjbmM/OiBCYXNrZXRTdW1tYXJ5RGV0YWlscztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYXNrZXRTdW1tYXJ5RGV0YWlscyB7XHJcbiAgdG90YWxJdGVtcz86IG51bWJlcjtcclxuICBzYWxlVG90YWw/OiBudW1iZXI7XHJcbiAgVkFUVG90YWw/OiBudW1iZXI7XHJcbiAgZGlzY291bnRUb3RhbD86IG51bWJlcjtcclxuICBiYXNrZXRUb3RhbD86IG51bWJlcjtcclxuICByZWZ1bmRUb3RhbD86bnVtYmVyO1xyXG4gIHNoaXBwaW5nVG90YWw/OiBudW1iZXI7XHJcbiAgYmFza2V0VG90YWxXaXRoU2hpcHBpbmdUb3RhbD86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUcmFuc2FjdGlvbkRpc2NvdW50e1xyXG4gIGRpc2NvdW50QW1vdW50Om51bWJlcjtcclxuICBkaXNjb3VudFR5cGU6U3RyaW5nO1xyXG4gIHJlYXNvbkNvZGU6c3RyaW5nO1xyXG4gIG92ZXJyaWRlPzogVXNlck92ZXJyaWRlO1xyXG4gIGl0ZW1MaW5lSWRzPzpudW1iZXJbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUQmFza2V0IHtcclxuICBwcm9kdWN0czogVFByb2R1Y3RbXTtcclxuICBsaW5lRGlzY291bnQ6TGluZURpc2NvdW50W107XHJcbiAgZXhjaGFuZ2U6RXhjaGFuZ2VbXTtcclxuICBsaW5lUHJvbW90aW9uOkxpbmVQcm9tb3Rpb25zW107XHJcbiAgdHJhbnNhY3Rpb25Qcm9tb3Rpb24/OlRyYW5zYWN0aW9uUHJvbW90aW9uW107XHJcbiAgdHJhbnNhY3Rpb25EaXNjb3VudD86VHJhbnNhY3Rpb25EaXNjb3VudFtdO1xyXG4gIHRheEJyZWFrZG93bj86VGF4QnJlYWtkb3duO1xyXG4gIHRvdGFsVGF4U3VtbWFyeT86VG90YWxUYXhTdW1tYXJ5W107XHJcblxyXG4gIFxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRFeGNoYW5nZXtcclxuICBleGNoYW5nZUlkPzpudW1iZXIsXHJcbiAgbGluZUl0ZW1JZD86IG51bWJlcixcclxuICByZWFzb24/OiBzdHJpbmcsXHJcbiAgcXVhbnRpdHk/OiBudW1iZXIsXHJcbiAgbmV3SXRlbXM/OlROZXdJdGVtc1tdO1xyXG4gIH1cclxuICBcclxuICBleHBvcnQgaW50ZXJmYWNlIFROZXdJdGVtc3tcclxuICBsaW5lSXRlbUlkOm51bWJlcixcclxuICAgUXVhbnRpdHk6bnVtYmVyXHJcbiAgfVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUUHJvZHVjdCB7XHJcbiAgaXRlbUxpbmVJZDogc3RyaW5nO1xyXG4gIFNLVTogc3RyaW5nO1xyXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XHJcbiAgaW1hZ2VVcmxzOiBbc3RyaW5nXTtcclxuICBwcmljZTogbnVtYmVyO1xyXG4gIHRheENvZGU/OiBzdHJpbmc7XHJcbiAgdGF4UGVyY2VudD86IHN0cmluZztcclxuICBxdWFudGl0eTogbnVtYmVyO1xyXG4gIHJlZnVuZGVkUXVhbnRpdHk/OiBudW1iZXI7XHJcbiAgcmVmdW5kZWRQcm9tb3Rpb25hbFF1YW50aXR5PzpudW1iZXI7XHJcbiAgcmVmdW5kZWQ/OiBib29sZWFuO1xyXG4gIHJlZnVuZGVkVG90YWw/OiBudW1iZXI7XHJcbiAgcmVmdW5kZWRSZWFzb24/OnN0cmluZztcclxuICByZWZ1bmRlZFJlYXNvbkRlc2NyaXB0aW9uPzpzdHJpbmc7XHJcbiAgc2VsZWN0ZWRSUlBQcmljZT86IG51bWJlcjtcclxuICB0b3RhbExpbmVQcmljZTogbnVtYmVyO1xyXG4gIGJhckNvZGU/OiBzdHJpbmc7XHJcbiAgYmFyY29kZXM/OiBzdHJpbmdbXTtcclxuICBmbGFnZ2VkPzogYm9vbGVhbjtcclxuICBleGNoYW5nZT86RXhjaGFuZ2U7XHJcbiAgZXhjbHVkZVByb21vdGlvbjpib29sZWFuO1xyXG4gIGRpc2NvdW50YWJsZT86Ym9vbGVhbjtcclxuXHJcbiAgaXRlbURpc2NvdW50cz86SXRlbURpc2NvdW50cztcclxuICBpc0xhc3RFeGNoYW5nZWQ/OiBib29sZWFuO1xyXG5cclxuICAvLyBNaXhlZCBTYWxlcyBmaWVsZHNcclxuICBmdWxsZmlsbWVudElkOnN0cmluZyxcclxuICBmdWxsZmlsbWVudExvY2F0aW9uTmFtZTpzdHJpbmcsXHJcbiAgZGVsaXZlcnlNZXRob2Q/OnN0cmluZyxcclxuICBkZWxpdmVyeUdyb3VwPzpzdHJpbmcsXHJcbiAgZ2lmdENhcmROdW1iZXJJc3N1ZWQ/OiBzdHJpbmcsXHJcbiAgZ2lmdENhcmRBbW91bnQ/OiBudW1iZXIsXHJcbiAgZ2lmdENhcmRSZWNpcGllbnRFbWFpbD86IHN0cmluZyxcclxuICBnaWZ0Q2FyZEV4cGlyeURhdGU/OiBzdHJpbmcgLFxyXG4gIGdpZnRDYXJkUmVjaXBpZW50TmFtZT86IHN0cmluZyxcclxuICBnaWZ0Q2FyZD86Ym9vbGVhbixcclxuICBjdXJyZW5jeT86c3RyaW5nLFxyXG4gIGlzV2ViT3JkZXI/OmJvb2xlYW4sXHJcbiAgbGVhZFRpbWU/OiBsZWFkVGltZVxyXG4gIFxyXG4gIC8vIGN1cnJlbnR0cmFuc2FjdGlvbiBkb2MgY2hhbmdlc1xyXG4gIGxpbmVEaXNjb3VudD86YW55XHJcblxyXG4gIGF0dHJpYnV0ZXM/OkNvcmVBdHRyaWJ1dGVbXTtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBJdGVtRGlzY291bnRze1xyXG4gIHRybkRpc2NvdW50c1BvcnRpb246bnVtYmVyO1xyXG4gIHRyblByb21vdGlvbnNQb3J0aW9uOm51bWJlcjtcclxuICByZWZ1bmRQb3J0aW9uOm51bWJlcjtcclxufVxyXG5cclxuXHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEN1c3RvbWVyIHtcclxuICBpZDogc3RyaW5nO1xyXG4gIHRpdGxlPzogc3RyaW5nO1xyXG4gIGZpcnN0TmFtZTogc3RyaW5nO1xyXG4gIGxhc3ROYW1lOiBzdHJpbmc7XHJcbiAgZW1haWw6IHN0cmluZztcclxuICBwb3N0Q29kZTogc3RyaW5nO1xyXG4gIHRlbGVwaG9uZT86IHN0cmluZztcclxuICBiaWxsaW5nQWRkcmVzcz86IEFkZHJlc3MgfCBBZGRyZXNzW107XHJcbiAgc2hpcHBpbmdBZGRyZXNzPzogQWRkcmVzcyB8IEFkZHJlc3NbXTtcclxuICBzaGlwbWVudERldGFpbHM/OiBTaGlwbWVudERldGFpbHNbXTtcclxuICBhZGRyZXNzRGV0YWlsPzogc3RyaW5nO1xyXG4gIG5vQ3VzdG9tZXJTZWxlY3RlZD86IGJvb2xlYW47XHJcbiAgZXh0ZXJuYWxJZD86IHN0cmluZzsgXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQWRkcmVzcyBcclxue1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGNvdW50cnlDb2RlPzogc3RyaW5nO1xyXG4gIGFkZHJlc3MxPzogc3RyaW5nO1xyXG4gIGFkZHJlc3MyPzogc3RyaW5nO1xyXG4gIGFkZHJlc3MzPzogc3RyaW5nO1xyXG4gIGNpdHk/OiBzdHJpbmc7XHJcbiAgY291bnR5Pzogc3RyaW5nO1xyXG4gIHBvc3RDb2RlPzogc3RyaW5nO1xyXG4gIGNvdW50cnk/OiBzdHJpbmc7XHJcbiB9XHJcblxyXG4gZXhwb3J0IGludGVyZmFjZSBTaGlwbWVudERldGFpbHMge1xyXG4gIGlkPzogc3RyaW5nLFxyXG4gIGRlbGl2ZXJ5R3JvdXA/OiBzdHJpbmcsXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgUGF5bWVudERldGFpbHMge1xyXG4gIGNhcmROdW1iZXI/OiBhbnk7XHJcbiAgc3FObz86bnVtYmVyO1xyXG4gIHJlc3VsdD86IHN0cmluZztcclxuICBjdXJyZW5jeTogc3RyaW5nO1xyXG4gIGFtb3VudDogc3RyaW5nO1xyXG4gIGF1dGhjb2RlPzogc3RyaW5nO1xyXG4gIHBhbj86IHN0cmluZztcclxuICBjYXJkVHlwZT86IHN0cmluZztcclxuICB0cmFuc2FjdGlvbkRhdGU/OiBzdHJpbmc7XHJcbiAgbWlkPzogc3RyaW5nO1xyXG4gIHRpZD86IHN0cmluZztcclxuICBjdm0/OiBzdHJpbmc7XHJcbiAgaG9zdFJlZmVyZW5jZUlkPzogc3RyaW5nO1xyXG4gIGFpZD86IHN0cmluZztcclxuICByZWNlaXB0Tm8/OiBzdHJpbmc7XHJcbiAgZXhwaXJ5ZGF0ZT86IHN0cmluZztcclxuICB0cmFuc2FjdGlvblJlZmVyZW5jZTogc3RyaW5nO1xyXG4gIGFwcGxpY2F0aW9uVmVyc2lvbj86IHN0cmluZztcclxuICBlbnRyeU1ldGhvZD86c3RyaW5nO1xyXG4gIHRyYW5zYWN0aW9uVHlwZTpzdHJpbmc7XHJcbiAgdG90YWxhbW91bnQ6c3RyaW5nO1xyXG4gIHBheW1lbnRUeXBlPzpzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGF4QnJlYWtkb3duXHJcbntcclxuICB0YXhMaW5lcyA6IFRheExpbmVbXSxcclxuICB0b3RhbFRheGFibGVBbW91bnQ6IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBUb3RhbFRheFN1bW1hcnl7XHJcbiAgVkFUQ29kZTpzdHJpbmcsXHJcbiAgVkFUIDogbnVtYmVyO1xyXG4gIFByZVRheFN1bTogIG51bWJlclxyXG4gIFRheFN1bTogIG51bWJlclxyXG4gIFRYcmF0ZVN1bTogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgVGF4TGluZVxyXG57XHJcbiAgICBpdGVtTGluZUlkOiBudW1iZXIsXHJcbiAgICB0YXhhYmxlQW1vdW50OiBudW1iZXIsXHJcbiAgICB0YXhMaW5lVG90YWw6IG51bWJlcixcclxuICAgIFZBVDogbnVtYmVyLFxyXG4gICAgVkFUQ29kZSA6IHN0cmluZyxcclxuICAgIFByZVRheDogbnVtYmVyXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIERJU0NPVU5UVFlQRSB7XHJcbiAgUEVSQ0VOVCA9ICdQZXJjZW50JyxcclxuICBBTU9VTlQgPSAnQU1PVU5UJ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFRyYW5zYWN0aW9uSW5mbyB7XHJcbiAgc2hpcHBpbmdJZD86IHN0cmluZyxcclxuICBleHRlcm5hbFNoaXBwaW5nSWQ/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBleHRlcm5hbFRyYW5zYWN0aW9uRGV0YWlscyB7XHJcbiAgdW5pcXVlSWQ/OiBzdHJpbmcsXHJcbiAgcHJvdmlkZXJUeXBlPzogc3RyaW5nLFxyXG4gIGRldGFpbHM/OiBUcmFuc2FjdGlvbkluZm9cclxufVxyXG5cclxuZXhwb3J0IGVudW0gSU5JVElBVElOR19NT0RVTEUge1xyXG4gIEVCQVNLRVQgPSBcImVCYXNrZXRcIlxyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIHBlbmRpbmdNZXRob2Qge1xyXG4gIF90eXBlPzogc3RyaW5nO1xyXG4gIHR5cGU/OiBzdHJpbmc7XHJcbiAgbWVzc2FnZT86IHN0cmluZztcclxuICBwYXRoPzogc3RyaW5nO1xyXG4gIGRldGFpbHM/OiBTaGlwbWVudElkO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBtZW50SWQge1xyXG4gIHNoaXBtZW50SWQ/OiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ3VzdG9tZXJBZGRyZXNzIHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICBlbWFpbD86IHN0cmluZztcclxuICBhZGRyZXNzMT86IHN0cmluZztcclxuICBjaXR5Pzogc3RyaW5nO1xyXG4gIGNvdW50cnlfY29kZT86IHN0cmluZztcclxuICBmaXJzdF9uYW1lPzogc3RyaW5nO1xyXG4gIGZ1bGxfbmFtZT86IHN0cmluZztcclxuICBpZD86IHN0cmluZztcclxuICBsYXN0X25hbWU/OiBzdHJpbmc7XHJcbiAgcGhvbmU/OiBzdHJpbmc7XHJcbiAgc2FsdXRhdGlvbj86IHN0cmluZztcclxuICBjX2FyZWE/OiBzdHJpbmc7XHJcbiAgY19lbWFpbD86IHN0cmluZztcclxuICBjX3Bob25lV2hhdHNBcHA/OiBzdHJpbmc7XHJcbiAgY19zdHJWYWx1ZT86IHN0cmluZztcclxuICBwb3N0YWxfY29kZT86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDdXN0b21lckluZm8ge1xyXG4gIF90eXBlPzogc3RyaW5nO1xyXG4gIGN1c3RvbWVyX2lkPzogc3RyaW5nO1xyXG4gIGVtYWlsPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIEdyb3VwZWRUYXhJdGVtIHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICB0YXhfcmF0ZT86IG51bWJlcjtcclxuICB0YXhfdmFsdWU/OiBudW1iZXI7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgYWRkaXRpb25hbE5vdGVzIHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICBsaW5rPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFByb2R1Y3RJdGVtIHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICBhZGp1c3RlZF90YXg/OiBudW1iZXI7XHJcbiAgYmFzZV9wcmljZT86IG51bWJlcjtcclxuICBib251c19wcm9kdWN0X2xpbmVfaXRlbT86IGJvb2xlYW47XHJcbiAgZ2lmdD86IGJvb2xlYW47XHJcbiAgaXRlbV9pZD86IHN0cmluZztcclxuICBpdGVtX3RleHQ/OiBzdHJpbmc7XHJcbiAgcHJpY2U/OiBudW1iZXI7XHJcbiAgcHJpY2VfYWRqdXN0bWVudHM/OiBQcmljZUFkanVzdG1lbnRbXTtcclxuICBwcmljZV9hZnRlcl9pdGVtX2Rpc2NvdW50PzogbnVtYmVyO1xyXG4gIHByaWNlX2FmdGVyX29yZGVyX2Rpc2NvdW50PzogbnVtYmVyO1xyXG4gIHByb2R1Y3RfaWQ/OiBzdHJpbmc7XHJcbiAgcHJvZHVjdF9uYW1lPzogc3RyaW5nO1xyXG4gIHF1YW50aXR5PzogbnVtYmVyO1xyXG4gIHNoaXBtZW50X2lkPzogc3RyaW5nO1xyXG4gIHRheD86IG51bWJlcjtcclxuICB0YXhfYmFzaXM/OiBudW1iZXI7XHJcbiAgdGF4X2NsYXNzX2lkPzogc3RyaW5nO1xyXG4gIHRheF9yYXRlPzogbnVtYmVyO1xyXG4gIGNfb3N1T2JqZWN0RGF0YT86c3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBwaW5nTWV0aG9kIHtcclxuICBfdHlwZT86IHN0cmluZztcclxuICBkZXNjcmlwdGlvbj86IHN0cmluZztcclxuICBpZD86IHN0cmluZztcclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIHByaWNlPzogbnVtYmVyO1xyXG4gIGNfYXBwcm9hY2hpbmdUaHJlc2hvbGRNZXNzYWdlPzogc3RyaW5nO1xyXG4gIGNfZXN0aW1hdGVkQXJyaXZhbFRpbWU/OiBzdHJpbmc7XHJcbiAgY19pc0VtYWlsPzogYm9vbGVhbjtcclxuICBjX3N0b3JlUGlja3VwRW5hYmxlZD86IGJvb2xlYW47XHJcbiAgY190aHJlc2hvbGRWYWx1ZT86IG51bWJlcjtcclxufSBcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2Ugc2hpcG1lbnQge1xyXG4gIF90eXBlPzogc3RyaW5nO1xyXG4gIGFkanVzdGVkX21lcmNoYW5kaXplX3RvdGFsX3RheD86IG51bWJlcjtcclxuICBhZGp1c3RlZF9zaGlwcGluZ190b3RhbF90YXg/OiBudW1iZXI7XHJcbiAgZ2lmdD86IGJvb2xlYW47XHJcbiAgbWVyY2hhbmRpemVfdG90YWxfdGF4PzogbnVtYmVyO1xyXG4gIHByb2R1Y3Rfc3ViX3RvdGFsPzogbnVtYmVyO1xyXG4gIHByb2R1Y3RfdG90YWw/OiBudW1iZXI7XHJcbiAgc2hpcG1lbnRfaWQ/OiBzdHJpbmc7XHJcbiAgc2hpcG1lbnRfdG90YWw/OiBudW1iZXI7XHJcbiAgc2hpcHBpbmdfYWRkcmVzcz86IEN1c3RvbWVyQWRkcmVzcztcclxuICBzaGlwcGluZ19tZXRob2Q/OiBTaGlwcGluZ01ldGhvZDtcclxuICBzaGlwcGluZ19zdGF0dXM/OiBzdHJpbmc7XHJcbiAgc2hpcHBpbmdfdG90YWw/OiBudW1iZXI7XHJcbiAgc2hpcHBpbmdfdG90YWxfdGF4PzogbnVtYmVyO1xyXG4gIHRheF90b3RhbD86IG51bWJlcjtcclxuICBjX2Zyb21TdG9yZUlkPzogc3RyaW5nO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIFNoaXBwaW5nSXRlbSB7XHJcbiAgX3R5cGU/OiBzdHJpbmc7XHJcbiAgYWRqdXN0ZWRfdGF4PzogbnVtYmVyO1xyXG4gIGJhc2VfcHJpY2U/OiBudW1iZXI7XHJcbiAgaXRlbV9pZD86IHN0cmluZztcclxuICBpdGVtX3RleHQ/OiBzdHJpbmc7XHJcbiAgcHJpY2U/OiBudW1iZXI7XHJcbiAgcHJpY2VfYWZ0ZXJfaXRlbV9kaXNjb3VudD86IG51bWJlcjtcclxuICBzaGlwbWVudF9pZD86IHN0cmluZztcclxuICB0YXg/OiBudW1iZXI7XHJcbiAgdGF4X2Jhc2lzPzogbnVtYmVyO1xyXG4gIHRheF9jbGFzc19pZD86IHN0cmluZztcclxuICB0YXhfcmF0ZT86IG51bWJlcjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBBcHBsaWVkRGlzY291bnQge1xyXG4gIF90eXBlPzogc3RyaW5nLFxyXG4gIGFtb3VudD86IG51bWJlcixcclxuICBwZXJjZW50YWdlPzogbnVtYmVyLFxyXG4gIHR5cGU/OiBzdHJpbmdcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBQcmljZUFkanVzdG1lbnQge1xyXG4gIF90eXBlPzogc3RyaW5nLFxyXG4gIGFwcGxpZWRfZGlzY291bnQ/OiBBcHBsaWVkRGlzY291bnQsXHJcbiAgY291cG9uX2NvZGU/OiBzdHJpbmcsXHJcbiAgY3JlYXRpb25fZGF0ZT86IHN0cmluZyxcclxuICBjdXN0b20/OiBib29sZWFuLFxyXG4gIGl0ZW1fdGV4dD86IHN0cmluZyxcclxuICBsYXN0X21vZGlmaWVkPzogc3RyaW5nLFxyXG4gIG1hbnVhbD86IGJvb2xlYW4sXHJcbiAgcHJpY2U/OiBudW1iZXJcclxuICBwcmljZV9hZGp1c3RtZW50X2lkPzogc3RyaW5nLFxyXG4gIHByb21vdGlvbl9pZD86IHN0cmluZyxcclxuICBwcm9tb3Rpb25fbGluaz86IHN0cmluZ1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE9yZGVyRGV0YWlscyB7XHJcbiAgX3Y/OiBzdHJpbmc7XHJcbiAgX3R5cGU/OiBzdHJpbmc7XHJcbiAgX3Jlc291cmNlX3N0YXRlPzogc3RyaW5nO1xyXG4gIF9mbGFzaD86IHBlbmRpbmdNZXRob2RbXTtcclxuICBhZGp1c3RlZF9tZXJjaGFuZGl6ZV90b3RhbF90YXg/OiBudW1iZXI7XHJcbiAgYWRqdXN0ZWRfc2hpcHBpbmdfdG90YWxfdGF4PzogbnVtYmVyO1xyXG4gIGFnZW50X2Jhc2tldD86IGJvb2xlYW47XHJcbiAgYmFza2V0X2lkPzogc3RyaW5nO1xyXG4gIGJpbGxpbmdfYWRkcmVzcz86IEN1c3RvbWVyQWRkcmVzcztcclxuICBjaGFubmVsX3R5cGU/OiBzdHJpbmc7XHJcbiAgY3JlYXRpb25fZGF0ZT86IHN0cmluZztcclxuICBjdXJyZW5jeT86IHN0cmluZztcclxuICBjdXN0b21lcl9pbmZvPzogQ3VzdG9tZXJJbmZvO1xyXG4gIGdyb3VwZWRfdGF4X2l0ZW1zPzogR3JvdXBlZFRheEl0ZW1bXTtcclxuICBsYXN0X21vZGlmaWVkPzogc3RyaW5nO1xyXG4gIG1lcmNoYW5kaXplX3RvdGFsX3RheD86IG51bWJlcjtcclxuICBub3Rlcz86IGFkZGl0aW9uYWxOb3RlcztcclxuICBvcmRlcl9wcmljZV9hZGp1c3RtZW50cz86IFByaWNlQWRqdXN0bWVudFtdLFxyXG4gIG9yZGVyX25vPzogc3RyaW5nO1xyXG4gIG9yZGVyX3RvdGFsPzogbnVtYmVyO1xyXG4gIHByb2R1Y3RfaXRlbXM/OiBQcm9kdWN0SXRlbVtdO1xyXG4gIHByb2R1Y3Rfc3ViX3RvdGFsPzogbnVtYmVyO1xyXG4gIHByb2R1Y3RfdG90YWw/OiBudW1iZXI7XHJcbiAgc2hpcG1lbnRzPzogc2hpcG1lbnRbXTtcclxuICBzaGlwcGluZ19pdGVtcz86IFNoaXBwaW5nSXRlbVtdO1xyXG4gIHNoaXBwaW5nX3RvdGFsPzogbnVtYmVyO1xyXG4gIHNoaXBwaW5nX3RvdGFsX3RheD86IG51bWJlcjtcclxuICB0YXhhdGlvbj86IHN0cmluZztcclxuICB0YXhfcm91bmRlZF9hdF9ncm91cD86IGJvb2xlYW47XHJcbiAgdGF4X3RvdGFsPzogbnVtYmVyO1xyXG59XHJcblxyXG5leHBvcnQgZW51bSBQUk9WSURFUlMge1xyXG4gIFNBTEVTRk9SQ0UgPSBcIlNhbGVzZm9yY2VcIlxyXG59XHJcblxyXG5leHBvcnQgZW51bSBQUk9NT1RJT05fTEVWRUxcclxue1xyXG4gIExJTkU9XCJMSU5FXCIsXHJcbiAgVFJBTlNBQ1RJT049XCJUUkFOU0FDVElPTlwiXHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIFBST01PVElPTl9UWVBFXHJcbntcclxuICBDT1VQT049XCJDT1VQT05cIlxyXG59XHJcblxyXG4iXX0=
@@ -18,4 +18,4 @@ MapperLibraryModule.decorators = [
18
18
  ]
19
19
  },] }
20
20
  ];
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHBtY3JldGFpbC9tYXBwZXItbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9tYXBwZXItbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBY3BFLE1BQU0sT0FBTyxtQkFBbUI7OztZQVYvQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFLEVBQ1I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHNCQUFzQjtpQkFDdkI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBNYXBwZXJMaWJyYXJ5Q29tcG9uZW50IH0gZnJvbSAnLi9tYXBwZXItbGlicmFyeS5jb21wb25lbnQnO1xuXG5cblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTWFwcGVyTGlicmFyeUNvbXBvbmVudFxuICBdLFxuICBpbXBvcnRzOiBbXG4gIF0sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXBwZXJMaWJyYXJ5Q29tcG9uZW50XG4gIF1cbn0pXG5leHBvcnQgY2xhc3MgTWFwcGVyTGlicmFyeU1vZHVsZSB7IH1cbiJdfQ==
21
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGVyLWxpYnJhcnkubW9kdWxlLmpzIiwic291cmNlUm9vdCI6Im5nOi8vQHBtY3JldGFpbC9tYXBwZXItbGlicmFyeS8iLCJzb3VyY2VzIjpbImxpYi9tYXBwZXItbGlicmFyeS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBY3BFLE1BQU0sT0FBTyxtQkFBbUI7OztZQVYvQixRQUFRLFNBQUM7Z0JBQ1IsWUFBWSxFQUFFO29CQUNaLHNCQUFzQjtpQkFDdkI7Z0JBQ0QsT0FBTyxFQUFFLEVBQ1I7Z0JBQ0QsT0FBTyxFQUFFO29CQUNQLHNCQUFzQjtpQkFDdkI7YUFDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE1hcHBlckxpYnJhcnlDb21wb25lbnQgfSBmcm9tICcuL21hcHBlci1saWJyYXJ5LmNvbXBvbmVudCc7XHJcblxyXG5cclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBNYXBwZXJMaWJyYXJ5Q29tcG9uZW50XHJcbiAgXSxcclxuICBpbXBvcnRzOiBbXHJcbiAgXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBNYXBwZXJMaWJyYXJ5Q29tcG9uZW50XHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWFwcGVyTGlicmFyeU1vZHVsZSB7IH1cclxuIl19