@vendasta/social-posts 5.32.0 → 5.32.1
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.
- package/esm2020/lib/_internal/enums/social-posts.enum.mjs +2 -1
- package/esm2020/lib/_internal/interfaces/index.mjs +1 -1
- package/esm2020/lib/_internal/interfaces/social-posts.interface.mjs +1 -1
- package/esm2020/lib/_internal/objects/index.mjs +2 -2
- package/esm2020/lib/_internal/objects/social-posts.mjs +97 -1
- package/fesm2015/vendasta-social-posts.mjs +98 -1
- package/fesm2015/vendasta-social-posts.mjs.map +1 -1
- package/fesm2020/vendasta-social-posts.mjs +98 -1
- package/fesm2020/vendasta-social-posts.mjs.map +1 -1
- package/lib/_internal/enums/social-posts.enum.d.ts +2 -1
- package/lib/_internal/interfaces/index.d.ts +1 -1
- package/lib/_internal/interfaces/social-posts.interface.d.ts +16 -0
- package/lib/_internal/objects/index.d.ts +1 -1
- package/lib/_internal/objects/social-posts.d.ts +25 -0
- package/package.json +1 -1
|
@@ -61,6 +61,7 @@ export var SocialPostService;
|
|
|
61
61
|
SocialPostService[SocialPostService["CURATED_CONTENT"] = 7] = "CURATED_CONTENT";
|
|
62
62
|
SocialPostService[SocialPostService["YOUTUBE"] = 8] = "YOUTUBE";
|
|
63
63
|
SocialPostService[SocialPostService["TIKTOK"] = 9] = "TIKTOK";
|
|
64
|
+
SocialPostService[SocialPostService["WORDPRESS"] = 10] = "WORDPRESS";
|
|
64
65
|
})(SocialPostService || (SocialPostService = {}));
|
|
65
66
|
export var TemplateType;
|
|
66
67
|
(function (TemplateType) {
|
|
@@ -68,4 +69,4 @@ export var TemplateType;
|
|
|
68
69
|
TemplateType[TemplateType["TEMPLATE_CUSTOM"] = 1] = "TEMPLATE_CUSTOM";
|
|
69
70
|
TemplateType[TemplateType["TEMPLATE_SOCIAL_POST"] = 2] = "TEMPLATE_SOCIAL_POST";
|
|
70
71
|
})(TemplateType || (TemplateType = {}));
|
|
71
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
72
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3RzLmVudW0uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zb2NpYWxfcG9zdHNfc2RrL3NyYy9saWIvX2ludGVybmFsL2VudW1zL3NvY2lhbC1wb3N0cy5lbnVtLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixTQUFTO0FBQ1Qsb0NBQW9DO0FBRXBDLE1BQU0sQ0FBTixJQUFZLDRCQVFYO0FBUkQsV0FBWSw0QkFBNEI7SUFDcEMsMkZBQWMsQ0FBQTtJQUNkLCtFQUFRLENBQUE7SUFDUixpRkFBUyxDQUFBO0lBQ1QsK0VBQVEsQ0FBQTtJQUNSLHFGQUFXLENBQUE7SUFDWCx5RkFBYSxDQUFBO0lBQ2IsK0VBQVEsQ0FBQTtBQUNaLENBQUMsRUFSVyw0QkFBNEIsS0FBNUIsNEJBQTRCLFFBUXZDO0FBRUQsTUFBTSxDQUFOLElBQVksd0JBSVg7QUFKRCxXQUFZLHdCQUF3QjtJQUNoQyx1RUFBUSxDQUFBO0lBQ1IsMkVBQVUsQ0FBQTtJQUNWLHFGQUFlLENBQUE7QUFDbkIsQ0FBQyxFQUpXLHdCQUF3QixLQUF4Qix3QkFBd0IsUUFJbkM7QUFFRCxNQUFNLENBQU4sSUFBWSxhQUdYO0FBSEQsV0FBWSxhQUFhO0lBQ3JCLDZEQUFjLENBQUE7SUFDZCwyREFBYSxDQUFBO0FBQ2pCLENBQUMsRUFIVyxhQUFhLEtBQWIsYUFBYSxRQUd4QjtBQUVELE1BQU0sQ0FBTixJQUFZLFFBU1g7QUFURCxXQUFZLFFBQVE7SUFDaEIsaUVBQXFCLENBQUE7SUFDckIsNkRBQW1CLENBQUE7SUFDbkIsNkRBQW1CLENBQUE7SUFDbkIseURBQWlCLENBQUE7SUFDakIsMkRBQWtCLENBQUE7SUFDbEIsbUVBQXNCLENBQUE7SUFDdEIsaUVBQXFCLENBQUE7SUFDckIsMkRBQWtCLENBQUE7QUFDdEIsQ0FBQyxFQVRXLFFBQVEsS0FBUixRQUFRLFFBU25CO0FBRUQsTUFBTSxDQUFOLElBQVksYUFJWDtBQUpELFdBQVksYUFBYTtJQUNyQiwrRUFBdUIsQ0FBQTtJQUN2QixxRUFBa0IsQ0FBQTtJQUNsQiwyRUFBcUIsQ0FBQTtBQUN6QixDQUFDLEVBSlcsYUFBYSxLQUFiLGFBQWEsUUFJeEI7QUFFRCxNQUFNLENBQU4sSUFBWSxpQ0FLWDtBQUxELFdBQVksaUNBQWlDO0lBQ3pDLDZJQUFrQyxDQUFBO0lBQ2xDLDJJQUFpQyxDQUFBO0lBQ2pDLDZJQUFrQyxDQUFBO0lBQ2xDLCtJQUFtQyxDQUFBO0FBQ3ZDLENBQUMsRUFMVyxpQ0FBaUMsS0FBakMsaUNBQWlDLFFBSzVDO0FBRUQsTUFBTSxDQUFOLElBQVksaUJBWVg7QUFaRCxXQUFZLGlCQUFpQjtJQUN6QiwrREFBVyxDQUFBO0lBQ1gsaUVBQVksQ0FBQTtJQUNaLG1FQUFhLENBQUE7SUFDYix1RUFBZSxDQUFBO0lBQ2YscUZBQXNCLENBQUE7SUFDdEIsK0RBQVcsQ0FBQTtJQUNYLG1FQUFhLENBQUE7SUFDYiwrRUFBbUIsQ0FBQTtJQUNuQiwrREFBVyxDQUFBO0lBQ1gsNkRBQVUsQ0FBQTtJQUNWLG9FQUFjLENBQUE7QUFDbEIsQ0FBQyxFQVpXLGlCQUFpQixLQUFqQixpQkFBaUIsUUFZNUI7QUFFRCxNQUFNLENBQU4sSUFBWSxZQUlYO0FBSkQsV0FBWSxZQUFZO0lBQ3BCLG1FQUFrQixDQUFBO0lBQ2xCLHFFQUFtQixDQUFBO0lBQ25CLCtFQUF3QixDQUFBO0FBQzVCLENBQUMsRUFKVyxZQUFZLEtBQVosWUFBWSxRQUl2QiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gRW51bXMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcblxuZXhwb3J0IGVudW0gQ2FsbFRvQWN0aW9uQ2FsbFRvQWN0aW9uVHlwZSB7XG4gICAgTEVBUk5fTU9SRSA9IDAsXG4gICAgQk9PSyA9IDEsXG4gICAgT1JERVIgPSAyLFxuICAgIFNIT1AgPSAzLFxuICAgIFNJR05fVVAgPSA0LFxuICAgIEdFVF9PRkZFUiA9IDUsXG4gICAgQ0FMTCA9IDYsXG59XG5cbmV4cG9ydCBlbnVtIFNvY2lhbFBvc3REZWxldGlvblN0YXR1cyB7XG4gICAgTk9ORSA9IDAsXG4gICAgRkFJTEVEID0gMSxcbiAgICBJTl9QUk9HUkVTUyA9IDIsXG59XG5cbmV4cG9ydCBlbnVtIE1lc3NhZ2VMZW5ndGgge1xuICAgIFNIT1JUX0ZPUk0gPSAwLFxuICAgIExPTkdfRk9STSA9IDEsXG59XG5cbmV4cG9ydCBlbnVtIFBvc3RUeXBlIHtcbiAgICBQT1NUX1RZUEVfSU5WQUxJRCA9IDAsXG4gICAgUE9TVF9UWVBFX0lNQUdFID0gMSxcbiAgICBQT1NUX1RZUEVfVklERU8gPSAyLFxuICAgIFBPU1RfVFlQRV9HSUYgPSAzLFxuICAgIFBPU1RfVFlQRV9SRUVMID0gNCxcbiAgICBQT1NUX1RZUEVfQ0FST1VTRUwgPSA1LFxuICAgIFBPU1RfVFlQRV9TVE9SSUVTID0gNixcbiAgICBQT1NUX1RZUEVfVEVYVCA9IDcsXG59XG5cbmV4cG9ydCBlbnVtIFBvc3RpbmdTdGF0dXMge1xuICAgIFBPU1RJTkdfSU5fUFJPR1JFU1MgPSAwLFxuICAgIFBPU1RJTkdfRkFJTEVEID0gMSxcbiAgICBQT1NUSU5HX0NPTVBMRVRFRCA9IDIsXG59XG5cbmV4cG9ydCBlbnVtIFlvdXR1YmVDdXN0b21pemF0aW9uUHJpdmFjeVN0YXR1cyB7XG4gICAgWU9VVFVCRV9QUklWQUNZX1NUQVRVU19JTlZBTElEID0gMCxcbiAgICBZT1VUVUJFX1BSSVZBQ1lfU1RBVFVTX1BVQkxJQyA9IDEsXG4gICAgWU9VVFVCRV9QUklWQUNZX1NUQVRVU19QUklWQVRFID0gMixcbiAgICBZT1VUVUJFX1BSSVZBQ1lfU1RBVFVTX1VOTElTVEVEID0gMyxcbn1cblxuZXhwb3J0IGVudW0gU29jaWFsUG9zdFNlcnZpY2Uge1xuICAgIFRXSVRURVIgPSAwLFxuICAgIEZBQ0VCT09LID0gMSxcbiAgICBMSU5LRURfSU4gPSAyLFxuICAgIEdPT0dMRV9QTFVTID0gMyxcbiAgICBHT09HTEVfTVlfQlVTSU5FU1MgPSA0LFxuICAgIFVOS05PV04gPSA1LFxuICAgIElOU1RBR1JBTSA9IDYsXG4gICAgQ1VSQVRFRF9DT05URU5UID0gNyxcbiAgICBZT1VUVUJFID0gOCxcbiAgICBUSUtUT0sgPSA5LFxuICAgIFdPUkRQUkVTUyA9IDEwLFxufVxuXG5leHBvcnQgZW51bSBUZW1wbGF0ZVR5cGUge1xuICAgIFRFTVBMQVRFX1VOU0VUID0gMCxcbiAgICBURU1QTEFURV9DVVNUT00gPSAxLFxuICAgIFRFTVBMQVRFX1NPQ0lBTF9QT1NUID0gMixcbn1cbiJdfQ==
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zb2NpYWxfcG9zdHNfc2RrL3NyYy9saWIvX2ludGVybmFsL2ludGVyZmFjZXMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbIi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuLy8gQ29kZSBnZW5lcmF0ZWQgYnkgc2RrZ2VuXG4vLyBETyBOT1QgRURJVCEuXG4vL1xuLy8gSW50ZXJmYWNlcyBJbmRleC5cbi8vICoqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKlxuZXhwb3J0IHtcbiAgICBGaWVsZE1hc2tJbnRlcmZhY2UsXG59IGZyb20gJy4vZmllbGQtbWFzay5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEhhc2h0YWdJbnRlcmZhY2UsXG59IGZyb20gJy4vaGFzaHRhZy5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEJsb2dQb3N0Q3VzdG9taXphdGlvbkludGVyZmFjZSxcbiAgICBDYWxsVG9BY3Rpb25JbnRlcmZhY2UsXG4gICAgRXJyb3JJbnRlcmZhY2UsXG4gICAgRXZlbnRJbnRlcmZhY2UsXG4gICAgTWVkaWFFbnRyeUludGVyZmFjZSxcbiAgICBNZXRhRGF0YUludGVyZmFjZSxcbiAgICBQb3N0VGVtcGxhdGVJbnRlcmZhY2UsXG4gICAgU1NJRFBvc3RUeXBlSW50ZXJmYWNlLFxuICAgIFNjaGVkdWxlUG9zdFN0YXR1c0ludGVyZmFjZSxcbiAgICBTb2NpYWxQb3N0SW50ZXJmYWNlLFxuICAgIFNvY2lhbFBvc3REYXRhSW50ZXJmYWNlLFxuICAgIFRpa1Rva0N1c3RvbWl6YXRpb25JbnRlcmZhY2UsXG4gICAgWW91dHViZUN1c3RvbWl6YXRpb25JbnRlcmZhY2UsXG59IGZyb20gJy4vc29jaWFsLXBvc3RzLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgTG9jYXRpb25JbnRlcmZhY2UsXG4gICAgTXVsdGlsb2NhdGlvblBvc3RJbnRlcmZhY2UsXG4gICAgTXVsdGlsb2NhdGlvblBvc3RFcnJvckludGVyZmFjZSxcbiAgICBQb3N0QWN0aW9uSW50ZXJmYWNlLFxuICAgIFBvc3RDdXN0b21pemF0aW9uSW50ZXJmYWNlLFxuICAgIFBvc3RFdmVudEludGVyZmFjZSxcbn0gZnJvbSAnLi9tdWx0aWxvY2F0aW9uLXBvc3QuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBQaXhhYmF5SW1hZ2VJbnRlcmZhY2UsXG59IGZyb20gJy4vcGl4YWJheS1pbWFnZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEZhY2Vib29rUG9zdFN0YXRzSW50ZXJmYWNlLFxuICAgIFNvY2lhbFBvc3RTdGF0c0ludGVyZmFjZSxcbiAgICBUd2l0dGVyUG9zdFN0YXRzSW50ZXJmYWNlLFxufSBmcm9tICcuL3NvY2lhbC1wb3N0LXN0YXRzLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgVGVub3JHaWZNZWRpYU1hcEVudHJ5SW50ZXJmYWNlLFxuICAgIFRlbm9yR2lmSW50ZXJmYWNlLFxuICAgIFRlbm9yTWVkaWFPYmplY3RJbnRlcmZhY2UsXG59IGZyb20gJy4vdGVub3ItZ2lmLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ3JlYXRlTXVsdGlsb2NhdGlvblBvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZU11bHRpbG9jYXRpb25Qb3N0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQ3JlYXRlUG9zdFRlbXBsYXRlUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVQb3N0VGVtcGxhdGVSZXNwb25zZUludGVyZmFjZSxcbiAgICBEYXRlUmFuZ2VGaWx0ZXJJbnRlcmZhY2UsXG4gICAgRGVsZXRlSGFzaHRhZ3NSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZU11bHRpbG9jYXRpb25Qb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICBEZWxldGVQb3N0VGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIERlbGV0ZVNvY2lhbFBvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEVkaXRNdWx0aWxvY2F0aW9uUG9zdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgRWRpdE11bHRpbG9jYXRpb25Qb3N0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGFydG5lckxpc3RTY2hlZHVsZWRTb2NpYWxQb3N0c1JlcXVlc3RGaWx0ZXJzSW50ZXJmYWNlLFxuICAgIEdlbmVyYXRlQ1NWRm9yUGVyZm9ybWFuY2VTdGF0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVDU1ZGb3JQZXJmb3JtYW5jZVN0YXRzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0R2VuZXJhdGVkQ1NWRm9yUGVyZm9ybWFuY2VTdGF0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0R2VuZXJhdGVkQ1NWRm9yUGVyZm9ybWFuY2VTdGF0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldE11bHRpU29jaWFsUG9zdFN0YXRzUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRNdWx0aVNvY2lhbFBvc3RTdGF0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldE11bHRpU29jaWFsUG9zdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldE11bHRpU29jaWFsUG9zdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aWxvY2F0aW9uUG9zdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlsb2NhdGlvblBvc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRQb3N0VGVtcGxhdGVSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldFBvc3RUZW1wbGF0ZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldFNjaGVkdWxlZFBvc3RDb3VudFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0U2NoZWR1bGVkUG9zdENvdW50UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2V0VGVub3JBbm9ueW1vdXNJZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0VGVub3JBbm9ueW1vdXNJZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RNdWx0aWxvY2F0aW9uUG9zdHNGb3JCcmFuZFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdE11bHRpbG9jYXRpb25Qb3N0c0ZvckJyYW5kUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFBpeGFiYXlJbWFnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RQaXhhYmF5SW1hZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFBvc3RUZW1wbGF0ZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RQb3N0VGVtcGxhdGVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgTGlzdFNvY2lhbFBvc3RzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0U29jaWFsUG9zdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0VGVub3JHaWZzUmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0VGVub3JHaWZzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgUGFydG5lckxpc3RTY2hlZHVsZWRQb3N0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFBhcnRuZXJMaXN0U2NoZWR1bGVkU29jaWFsUG9zdHNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFBvc3REYXRhSW50ZXJmYWNlLFxuICAgIFJlbW92ZUZyb21NdWx0aWxvY2F0aW9uUG9zdFJlcXVlc3RJbnRlcmZhY2UsXG4gICAgUmVwbGFjZUhhc2h0YWdzUmVxdWVzdEludGVyZmFjZSxcbiAgICBTY2hlZHVsZVBvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNjaGVkdWxlUG9zdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFNjaGVkdWxlVG9BbGxQYWdlc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2NoZWR1bGVUb0FsbFBhZ2VzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgU2VhcmNoSGFzaHRhZ1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VhcmNoSGFzaHRhZ1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFN1Z2dlc3RNZXNzYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICBTdWdnZXN0TWVzc2FnZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFVwZGF0ZVBvc3RUZW1wbGF0ZVJlcXVlc3RJbnRlcmZhY2UsXG59IGZyb20gJy4vYXBpLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzSW50ZXJmYWNlLFxufSBmcm9tICcuL2Fubm90YXRpb25zLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgTGlua1YySW50ZXJmYWNlLFxuICAgIE1ldGFkYXRhVjJJbnRlcmZhY2UsXG4gICAgUG9zdEFjdGlvblYySW50ZXJmYWNlLFxuICAgIFBvc3RDb250ZW50VjJJbnRlcmZhY2UsXG4gICAgUG9zdEN1c3RvbWl6YXRpb25WMkludGVyZmFjZSxcbiAgICBQb3N0RXZlbnRWMkludGVyZmFjZSxcbiAgICBQb3N0TWVkaWFWMkludGVyZmFjZSxcbiAgICBTb2NpYWxQb3N0VjJJbnRlcmZhY2UsXG4gICAgVGlrVG9rQ3VzdG9taXphdGlvblYySW50ZXJmYWNlLFxuICAgIFlvdXR1YmVDdXN0b21pemF0aW9uVjJJbnRlcmZhY2UsXG59IGZyb20gJy4vc29jaWFsLXBvc3QtdjIuaW50ZXJmYWNlJztcblxuZXhwb3J0IHtcbiAgICBNZWRpYUludGVyZmFjZSxcbn0gZnJvbSAnLi9saW5rZWRpbi12Mi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFuY2VzdHJ5SW50ZXJmYWNlLFxuICAgIENvbGxlY3Rpb25JbnRlcmZhY2UsXG4gICAgSW1hZ2VJbnRlcmZhY2UsXG4gICAgTGlua3NJbnRlcmZhY2UsXG4gICAgUGhvdG9JbnRlcmZhY2UsXG4gICAgU29jaWFsSW50ZXJmYWNlLFxuICAgIFNvdXJjZUludGVyZmFjZSxcbiAgICBTdWJBbmNlc3RyeUludGVyZmFjZSxcbiAgICBUYWdzSW50ZXJmYWNlLFxuICAgIFVybHNJbnRlcmZhY2UsXG4gICAgVXNlckludGVyZmFjZSxcbiAgICBVc2VyTGlua0ludGVyZmFjZSxcbn0gZnJvbSAnLi91bnNwbGFzaC1pbWFnZS5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFpSW5zdHJ1Y3Rpb25zSW50ZXJmYWNlLFxuICAgIENyZWF0ZUNvbW1vbkFpSW5zdHJ1Y3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVDb21tb25BaUluc3RydWN0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIENyZWF0ZUltYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICBDcmVhdGVJbWFnZVJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEN1cmF0ZWRDb250ZW50UG9zdEludGVyZmFjZSxcbiAgICBEZWxldGVQb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICBHZW5lcmF0ZUFpUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZW5lcmF0ZUFpUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVQb3N0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVQb3N0c1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEdldENvbW1vbkFpSW5zdHJ1Y3Rpb25zUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRDb21tb25BaUluc3RydWN0aW9uc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIEltYWdlQmxvYkludGVyZmFjZSxcbiAgICBJbWFnZUNyZWF0ZWRJbnRlcmZhY2UsXG4gICAgSW1hZ2VVcmxJbnRlcmZhY2UsXG4gICAgTGlzdEN1cmF0ZWRDb250ZW50UmVxdWVzdEludGVyZmFjZSxcbiAgICBMaXN0Q3VyYXRlZENvbnRlbnRSZXNwb25zZUludGVyZmFjZSxcbiAgICBMaXN0VW5zcGxhc2hJbWFnZXNSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIExpc3RVbnNwbGFzaEltYWdlc1Jlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE1lZGlhVXBsb2FkUmVxdWVzdEludGVyZmFjZSxcbiAgICBNZWRpYVVwbG9hZFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIE11bHRpUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgR2VuZXJhdGVQb3N0c1Jlc3BvbnNlUG9zdEludGVyZmFjZSxcbiAgICBSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICBSZXNwb25zZUludGVyZmFjZSxcbiAgICBTb2NpYWxQb3N0T3V0cHV0SW50ZXJmYWNlLFxuICAgIFNvY2lhbFBvc3RSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFNvY2lhbFBvc3RSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVDb21tb25BaUluc3RydWN0aW9uc1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgVXBkYXRlQ29tbW9uQWlJbnN0cnVjdGlvbnNSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGRhdGVTb2NpYWxQb3N0UmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBsb2FkVG9TdG9yYWdlUmVxdWVzdEludGVyZmFjZSxcbiAgICBVcGxvYWRUb1N0b3JhZ2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBVcGxvYWRlZE1lZGlhSW50ZXJmYWNlLFxufSBmcm9tICcuL2FwaS12Mi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEFjdGlvbkludGVyZmFjZSxcbiAgICBFbmRDaGF0UmVxdWVzdEludGVyZmFjZSxcbiAgICBTZW5kTWVzc2FnZVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VuZE1lc3NhZ2VSZXNwb25zZUludGVyZmFjZSxcbiAgICBTdGFydENoYXRSZXF1ZXN0SW50ZXJmYWNlLFxuICAgIFN0YXJ0Q2hhdFJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2NoYXQtYm90LmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQ2hhdE1lc3NhZ2VJbnRlcmZhY2UsXG4gICAgU2VuZE1lc3NhZ2VWMlJlcXVlc3RJbnRlcmZhY2UsXG4gICAgU2VuZE1lc3NhZ2VWMlJlc3BvbnNlSW50ZXJmYWNlLFxufSBmcm9tICcuL2NoYXQtYm90LXYyLmludGVyZmFjZSc7XG5cbmV4cG9ydCB7XG4gICAgQmxvZ0Nvbm5lY3Rpb25JbnRlcmZhY2UsXG4gICAgQ3JlYXRlQmxvZ0Nvbm5lY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIENyZWF0ZUJsb2dDb25uZWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgRGVsZXRlQmxvZ0Nvbm5lY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxuICAgIEdldEJsb2dDb25uZWN0aW9uUmVxdWVzdEludGVyZmFjZSxcbiAgICBHZXRCbG9nQ29ubmVjdGlvblJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIExpc3RCbG9nQ29ubmVjdGlvblJlcXVlc3RJbnRlcmZhY2UsXG4gICAgTGlzdEJsb2dDb25uZWN0aW9uUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBkYXRlQmxvZ0Nvbm5lY3Rpb25SZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL2Jsb2ctY29ubmVjdGlvbi5pbnRlcmZhY2UnO1xuXG5leHBvcnQge1xuICAgIEF1dGhvckludGVyZmFjZSxcbiAgICBBdXRob3JzUmVxdWVzdEludGVyZmFjZSxcbiAgICBBdXRob3JzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgQmxvZ0ltYWdlSW50ZXJmYWNlLFxuICAgIEJsb2dQb3N0SW50ZXJmYWNlLFxuICAgIEJsb2dWaWRlb0ludGVyZmFjZSxcbiAgICBDYXRlZ29yeUludGVyZmFjZSxcbiAgICBDYXRlZ29yeVJlcXVlc3RJbnRlcmZhY2UsXG4gICAgQ2F0ZWdvcnlSZXNwb25zZUludGVyZmFjZSxcbiAgICBHZXRNdWx0aUJsb2dQb3N0c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgR2V0TXVsdGlCbG9nUG9zdHNSZXNwb25zZUludGVyZmFjZSxcbiAgICBNZWRpYVByb3BlcnR5SW50ZXJmYWNlLFxuICAgIFB1Ymxpc2hQb3N0UmVxdWVzdEludGVyZmFjZSxcbiAgICBQdWJsaXNoUG9zdFJlc3BvbnNlSW50ZXJmYWNlLFxuICAgIFN0YXR1c1JlcXVlc3RJbnRlcmZhY2UsXG4gICAgU3RhdHVzUmVzcG9uc2VJbnRlcmZhY2UsXG4gICAgVXBkYXRlQmxvZ1Bvc3RSZXF1ZXN0SW50ZXJmYWNlLFxufSBmcm9tICcuL3dvcmRwcmVzcy1wbHVnaW4uaW50ZXJmYWNlJztcblxuIl19
|
|
@@ -5,4 +5,4 @@
|
|
|
5
5
|
// Interfaces.
|
|
6
6
|
// *********************************
|
|
7
7
|
export {};
|
|
8
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
8
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3RzLmludGVyZmFjZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3NvY2lhbF9wb3N0c19zZGsvc3JjL2xpYi9faW50ZXJuYWwvaW50ZXJmYWNlcy9zb2NpYWwtcG9zdHMuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLG9DQUFvQztBQUNwQywyQkFBMkI7QUFDM0IsZ0JBQWdCO0FBQ2hCLEVBQUU7QUFDRixjQUFjO0FBQ2Qsb0NBQW9DIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBJbnRlcmZhY2VzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhvckludGVyZmFjZSB7XG4gICAgbmFtZT86IHN0cmluZztcbiAgICBpZD86IG51bWJlcjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCbG9nUG9zdEN1c3RvbWl6YXRpb25JbnRlcmZhY2Uge1xuICAgIHNpdGVUeXBlPzogc3RyaW5nO1xuICAgIGF1dGhvcj86IEF1dGhvckludGVyZmFjZTtcbiAgICBjYXRlZ29yaWVzPzogQ2F0ZWdvcnlJbnRlcmZhY2VbXTtcbiAgICB0YWdzPzogc3RyaW5nW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2FsbFRvQWN0aW9uSW50ZXJmYWNlIHtcbiAgICB1cmw/OiBzdHJpbmc7XG4gICAgYWN0aW9uVHlwZT86IGUuQ2FsbFRvQWN0aW9uQ2FsbFRvQWN0aW9uVHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDYXRlZ29yeUludGVyZmFjZSB7XG4gICAgaWQ/OiBudW1iZXI7XG4gICAgbmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFcnJvckludGVyZmFjZSB7XG4gICAgcmVhc29uPzogc3RyaW5nO1xuICAgIGNhdGVnb3J5Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEV2ZW50SW50ZXJmYWNlIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBzdGFydERhdGV0aW1lPzogRGF0ZTtcbiAgICBlbmREYXRldGltZT86IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVkaWFFbnRyeUludGVyZmFjZSB7XG4gICAgbWVkaWFFbnRyeUlkPzogc3RyaW5nO1xuICAgIG1lZGlhVXJsPzogc3RyaW5nO1xuICAgIG1lZGlhVHlwZT86IHN0cmluZztcbiAgICBjb250YWluZXJJZD86IHN0cmluZztcbiAgICBtZXRhRGF0YT86IE1ldGFEYXRhSW50ZXJmYWNlW107XG4gICAgbWVkaWFQYXRoPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE1ldGFEYXRhSW50ZXJmYWNlIHtcbiAgICBwcm9wZXJ0eU5hbWU/OiBzdHJpbmc7XG4gICAgcHJvcGVydHlWYWx1ZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQb3N0VGVtcGxhdGVJbnRlcmZhY2Uge1xuICAgIGFjY291bnRHcm91cElkPzogc3RyaW5nO1xuICAgIHRlbXBsYXRlSWQ/OiBzdHJpbmc7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgY3JlYXRlZD86IERhdGU7XG4gICAgdXBkYXRlZD86IERhdGU7XG4gICAgcG9zdFRleHQ/OiBzdHJpbmc7XG4gICAgcG9zdERhdGVUaW1lPzogRGF0ZTtcbiAgICBnbWJQb3N0Q3VzdG9taXphdGlvbj86IHN0cmluZztcbiAgICBpbWFnZVVybD86IHN0cmluZztcbiAgICBpbWFnZVBhdGg/OiBzdHJpbmc7XG4gICAgaW1hZ2VTaXplPzogc3RyaW5nO1xuICAgIHByZXZpZXdzPzogc3RyaW5nO1xuICAgIG9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgICB2aWRlb1VybD86IHN0cmluZztcbiAgICBtZWRpYUVudHJpZXM/OiBNZWRpYUVudHJ5SW50ZXJmYWNlW107XG4gICAgbWV0YURhdGE/OiBNZXRhRGF0YUludGVyZmFjZVtdO1xuICAgIHBvc3RUeXBlPzogZS5Qb3N0VHlwZTtcbiAgICB5b3V0dWJlQ3VzdG9taXphdGlvbj86IFlvdXR1YmVDdXN0b21pemF0aW9uSW50ZXJmYWNlO1xuICAgIHRpa3Rva0N1c3RvbWl6YXRpb24/OiBUaWtUb2tDdXN0b21pemF0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNTSURQb3N0VHlwZUludGVyZmFjZSB7XG4gICAgc29jaWFsU2VydmljZUlkPzogc3RyaW5nO1xuICAgIHBvc3RUeXBlPzogZS5Qb3N0VHlwZTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTY2hlZHVsZVBvc3RTdGF0dXNJbnRlcmZhY2Uge1xuICAgIHNvY2lhbFBvc3RJZD86IHN0cmluZztcbiAgICBzb2NpYWxTZXJ2aWNlSWQ/OiBzdHJpbmc7XG4gICAgc29jaWFsU2VydmljZUxhYmVsPzogc3RyaW5nO1xuICAgIGVycm9yPzogRXJyb3JJbnRlcmZhY2U7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU29jaWFsUG9zdEludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NJZD86IHN0cmluZztcbiAgICBzb2NpYWxQb3N0SWQ/OiBzdHJpbmc7XG4gICAgcG9zdFRleHQ/OiBzdHJpbmc7XG4gICAgcG9zdGVkPzogRGF0ZTtcbiAgICBpc0Vycm9yPzogYm9vbGVhbjtcbiAgICBkZWxldGlvblN0YXR1cz86IGUuU29jaWFsUG9zdERlbGV0aW9uU3RhdHVzO1xuICAgIHNlcnZpY2U/OiBlLlNvY2lhbFBvc3RTZXJ2aWNlO1xuICAgIHBlcm1hbGluaz86IHN0cmluZztcbiAgICBjcmVhdGVkPzogRGF0ZTtcbiAgICBwcm9maWxlVXJsPzogc3RyaW5nO1xuICAgIHByb2ZpbGVJbWFnZVVybD86IHN0cmluZztcbiAgICBzY2hlZHVsZWQ/OiBEYXRlO1xuICAgIHN0YXR1cz86IGUuUG9zdGluZ1N0YXR1cztcbiAgICBpbWFnZVVybD86IHN0cmluZztcbiAgICBuYW1lPzogc3RyaW5nO1xuICAgIHVzZXJuYW1lPzogc3RyaW5nO1xuICAgIHBhcmVudElkPzogc3RyaW5nO1xuICAgIHNvY2lhbFNlcnZpY2VJZD86IHN0cmluZztcbiAgICBldmVudD86IEV2ZW50SW50ZXJmYWNlO1xuICAgIGNhbGxUb0FjdGlvbj86IENhbGxUb0FjdGlvbkludGVyZmFjZTtcbiAgICB2aWRlb1VybD86IHN0cmluZztcbiAgICBlcnJvcj86IEVycm9ySW50ZXJmYWNlO1xuICAgIGltYWdlVXJscz86IHN0cmluZ1tdO1xuICAgIGxpbmtQcmV2aWV3SW1hZ2VVcmw/OiBzdHJpbmc7XG4gICAgYnJhbmRJZD86IHN0cmluZztcbiAgICBtdWx0aWxvY2F0aW9uUG9zdElkPzogc3RyaW5nO1xuICAgIHBvc3RUeXBlPzogZS5Qb3N0VHlwZTtcbiAgICBtZWRpYUVudHJpZXM/OiBNZWRpYUVudHJ5SW50ZXJmYWNlW107XG4gICAgbWV0YURhdGE/OiBNZXRhRGF0YUludGVyZmFjZVtdO1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHlvdXR1YmVDdXN0b21pemF0aW9uPzogWW91dHViZUN1c3RvbWl6YXRpb25JbnRlcmZhY2U7XG4gICAgdGlrdG9rQ3VzdG9taXphdGlvbj86IFRpa1Rva0N1c3RvbWl6YXRpb25JbnRlcmZhY2U7XG4gICAgYmxvZ1Bvc3RDdXN0b21pemF0aW9uPzogQmxvZ1Bvc3RDdXN0b21pemF0aW9uSW50ZXJmYWNlO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNvY2lhbFBvc3REYXRhSW50ZXJmYWNlIHtcbiAgICBwb3N0VGV4dD86IHN0cmluZztcbiAgICBpbWFnZVVybD86IHN0cmluZztcbiAgICBzY2hlZHVsZUZvcj86IERhdGU7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVGlrVG9rQ3VzdG9taXphdGlvbkludGVyZmFjZSB7XG4gICAgYWxsb3dDb21tZW50PzogYm9vbGVhbjtcbiAgICBhbGxvd0R1ZXQ/OiBib29sZWFuO1xuICAgIGFsbG93U3RpdGNoPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBZb3V0dWJlQ3VzdG9taXphdGlvbkludGVyZmFjZSB7XG4gICAgdGl0bGU/OiBzdHJpbmc7XG4gICAgcHJpdmFjeVN0YXR1cz86IGUuWW91dHViZUN1c3RvbWl6YXRpb25Qcml2YWN5U3RhdHVzO1xufVxuXG4iXX0=
|
|
@@ -6,7 +6,7 @@
|
|
|
6
6
|
// *********************************
|
|
7
7
|
export { FieldMask, } from './field-mask';
|
|
8
8
|
export { Hashtag, } from './hashtag';
|
|
9
|
-
export { CallToAction, Error, Event, MediaEntry, MetaData, PostTemplate, SSIDPostType, SchedulePostStatus, SocialPost, SocialPostData, TikTokCustomization, YoutubeCustomization, } from './social-posts';
|
|
9
|
+
export { BlogPostCustomization, CallToAction, Error, Event, MediaEntry, MetaData, PostTemplate, SSIDPostType, SchedulePostStatus, SocialPost, SocialPostData, TikTokCustomization, YoutubeCustomization, } from './social-posts';
|
|
10
10
|
export { Location, MultilocationPost, MultilocationPostError, PostAction, PostCustomization, PostEvent, } from './multilocation-post';
|
|
11
11
|
export { PixabayImage, } from './pixabay-image';
|
|
12
12
|
export { FacebookPostStats, SocialPostStats, TwitterPostStats, } from './social-post-stats';
|
|
@@ -21,4 +21,4 @@ export { Action, EndChatRequest, SendMessageRequest, SendMessageResponse, StartC
|
|
|
21
21
|
export { ChatMessage, SendMessageV2Request, SendMessageV2Response, } from './chat-bot-v2';
|
|
22
22
|
export { BlogConnection, CreateBlogConnectionRequest, CreateBlogConnectionResponse, DeleteBlogConnectionRequest, GetBlogConnectionRequest, GetBlogConnectionResponse, ListBlogConnectionRequest, ListBlogConnectionResponse, UpdateBlogConnectionRequest, } from './blog-connection';
|
|
23
23
|
export { Author, AuthorsRequest, AuthorsResponse, BlogImage, BlogPost, BlogVideo, Category, CategoryRequest, CategoryResponse, GetMultiBlogPostsRequest, GetMultiBlogPostsResponse, MediaProperty, PublishPostRequest, PublishPostResponse, StatusRequest, StatusResponse, UpdateBlogPostRequest, } from './wordpress-plugin';
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zb2NpYWxfcG9zdHNfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGlCQUFpQjtBQUNqQixvQ0FBb0M7QUFDcEMsT0FBTyxFQUNILFNBQVMsR0FDWixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0gsT0FBTyxHQUNWLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFDSCxZQUFZLEVBQ1osS0FBSyxFQUNMLEtBQUssRUFDTCxVQUFVLEVBQ1YsUUFBUSxFQUNSLFlBQVksRUFDWixZQUFZLEVBQ1osa0JBQWtCLEVBQ2xCLFVBQVUsRUFDVixjQUFjLEVBQ2QsbUJBQW1CLEVBQ25CLG9CQUFvQixHQUN2QixNQUFNLGdCQUFnQixDQUFDO0FBRXhCLE9BQU8sRUFDSCxRQUFRLEVBQ1IsaUJBQWlCLEVBQ2pCLHNCQUFzQixFQUN0QixVQUFVLEVBQ1YsaUJBQWlCLEVBQ2pCLFNBQVMsR0FDWixNQUFNLHNCQUFzQixDQUFDO0FBRTlCLE9BQU8sRUFDSCxZQUFZLEdBQ2YsTUFBTSxpQkFBaUIsQ0FBQztBQUV6QixPQUFPLEVBQ0gsaUJBQWlCLEVBQ2pCLGVBQWUsRUFDZixnQkFBZ0IsR0FDbkIsTUFBTSxxQkFBcUIsQ0FBQztBQUU3QixPQUFPLEVBQ0gscUJBQXFCLEVBQ3JCLFFBQVEsRUFDUixnQkFBZ0IsR0FDbkIsTUFBTSxhQUFhLENBQUM7QUFFckIsT0FBTyxFQUNILDhCQUE4QixFQUM5QiwrQkFBK0IsRUFDL0IseUJBQXlCLEVBQ3pCLDBCQUEwQixFQUMxQixlQUFlLEVBQ2YscUJBQXFCLEVBQ3JCLDhCQUE4QixFQUM5Qix5QkFBeUIsRUFDekIsdUJBQXVCLEVBQ3ZCLDRCQUE0QixFQUM1Qiw2QkFB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VCxRQUFRLEVBQ1IsZUFBZSxFQUNmLGdCQUFnQixFQUNoQix3QkFBd0IsRUFDeEIseUJBQXlCLEVBQ3pCLGFBQWEsRUFDYixrQkFBa0IsRUFDbEIsbUJBQW1CLEVBQ25CLGFBQWEsRUFDYixjQUFjLEVBQ2QscUJBQXFCLEdBQ3hCLE1BQU0sb0JBQW9CLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMgSW5kZXguXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmV4cG9ydCB7XG4gICAgRmllbGRNYXNrLFxufSBmcm9tICcuL2ZpZWxkLW1hc2snO1xuXG5leHBvcnQge1xuICAgIEhhc2h0YWcsXG59IGZyb20gJy4vaGFzaHRhZyc7XG5cbmV4cG9ydCB7XG4gICAgQ2FsbFRvQWN0aW9uLFxuICAgIEVycm9yLFxuICAgIEV2ZW50LFxuICAgIE1lZGlhRW50cnksXG4gICAgTWV0YURhdGEsXG4gICAgUG9zdFRlbXBsYXRlLFxuICAgIFNTSURQb3N0VHlwZSxcbiAgICBTY2hlZHVsZVBvc3RTdGF0dXMsXG4gICAgU29jaWFsUG9zdCxcbiAgICBTb2NpYWxQb3N0RGF0YSxcbiAgICBUaWtUb2tDdXN0b21pemF0aW9uLFxuICAgIFlvdXR1YmVDdXN0b21pemF0aW9uLFxufSBmcm9tICcuL3NvY2lhbC1wb3N0cyc7XG5cbmV4cG9ydCB7XG4gICAgTG9jYXRpb24sXG4gICAgTXVsdGlsb2NhdGlvblBvc3QsXG4gICAgTXVsdGlsb2NhdGlvblBvc3RFcnJvcixcbiAgICBQb3N0QWN0aW9uLFxuICAgIFBvc3RDdXN0b21pemF0aW9uLFxuICAgIFBvc3RFdmVudCxcbn0gZnJvbSAnLi9tdWx0aWxvY2F0aW9uLXBvc3QnO1xuXG5leHBvcnQge1xuICAgIFBpeGFiYXlJbWFnZSxcbn0gZnJvbSAnLi9waXhhYmF5LWltYWdlJztcblxuZXhwb3J0IHtcbiAgICBGYWNlYm9va1Bvc3RTdGF0cyxcbiAgICBTb2NpYWxQb3N0U3RhdHMsXG4gICAgVHdpdHRlclBvc3RTdGF0cyxcbn0gZnJvbSAnLi9zb2NpYWwtcG9zdC1zdGF0cyc7XG5cbmV4cG9ydCB7XG4gICAgVGVub3JHaWZNZWRpYU1hcEVudHJ5LFxuICAgIFRlbm9yR2lmLFxuICAgIFRlbm9yTWVkaWFPYmplY3QsXG59IGZyb20gJy4vdGVub3ItZ2lmJztcblxuZXhwb3J0IHtcbiAgICBDcmVhdGVNdWx0aWxvY2F0aW9uUG9zdFJlcXVlc3QsXG4gICAgQ3JlYXRlTXVsdGlsb2NhdGlvblBvc3RSZXNwb25zZSxcbiAgICBDcmVhdGVQb3N0VGVtcGxhdGVSZXF1ZXN0LFxuICAgIENyZWF0ZVBvc3RUZW1wbGF0ZVJlc3BvbnNlLFxuICAgIERhdGVSYW5nZUZpbHRlcixcbiAgICBEZWxldGVIYXNodGFnc1JlcXVlc3QsXG4gICAgRGVsZXRlTXVsdGlsb2NhdGlvblBvc3RSZXF1ZXN0LFxuICAgIERlbGV0ZVBvc3RUZW1wbGF0ZVJlcXVlc3QsXG4gICAgRGVsZXRlU29jaWFsUG9zdFJlcXVlc3QsXG4gICAgRWRpdE11bHRpbG9jYXRpb25Qb3N0UmVxdWVzdCxcbiAgICBFZGl0TXVsdGlsb2NhdGlvblBvc3RSZXNwb25zZSxcbiAgICBQYXJ0bmVyTGlzdFNjaGVkdWxlZFNvY2lhbFBvc3RzUmVxdWVzdEZpbHRlcnMsXG4gICAgR2VuZXJhdGVDU1ZGb3JQZXJmb3JtYW5jZVN0YXRzUmVxdWVzdCxcbiAgICBHZW5lcmF0ZUNTVkZvclBlcmZvcm1hbmNlU3RhdHNSZXNwb25zZSxcbiAgICBHZXRHZW5lcmF0ZWRDU1ZGb3JQZXJmb3JtYW5jZVN0YXRzUmVxdWVzdCxcbiAgICBHZXRHZW5lcmF0ZWRDU1ZGb3JQZXJmb3JtYW5jZVN0YXRzUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlTb2NpYWxQb3N0U3RhdHNSZXF1ZXN0LFxuICAgIEdldE11bHRpU29jaWFsUG9zdFN0YXRzUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlTb2NpYWxQb3N0c1JlcXVlc3QsXG4gICAgR2V0TXVsdGlTb2NpYWxQb3N0c1Jlc3BvbnNlLFxuICAgIEdldE11bHRpbG9jYXRpb25Qb3N0UmVxdWVzdCxcbiAgICBHZXRNdWx0aWxvY2F0aW9uUG9zdFJlc3BvbnNlLFxuICAgIEdldFBvc3RUZW1wbGF0ZVJlcXVlc3QsXG4gICAgR2V0UG9zdFRlbXBsYXRlUmVzcG9uc2UsXG4gICAgR2V0U2NoZWR1bGVkUG9zdENvdW50UmVxdWVzdCxcbiAgICBHZXRTY2hlZHVsZWRQb3N0Q291bnRSZXNwb25zZSxcbiAgICBHZXRUZW5vckFub255bW91c0lkUmVxdWVzdCxcbiAgICBHZXRUZW5vckFub255bW91c0lkUmVzcG9uc2UsXG4gICAgTGlzdE11bHRpbG9jYXRpb25Qb3N0c0ZvckJyYW5kUmVxdWVzdCxcbiAgICBMaXN0TXVsdGlsb2NhdGlvblBvc3RzRm9yQnJhbmRSZXNwb25zZSxcbiAgICBMaXN0UGl4YWJheUltYWdlc1JlcXVlc3QsXG4gICAgTGlzdFBpeGFiYXlJbWFnZXNSZXNwb25zZSxcbiAgICBMaXN0UG9zdFRlbXBsYXRlc1JlcXVlc3QsXG4gICAgTGlzdFBvc3RUZW1wbGF0ZXNSZXNwb25zZSxcbiAgICBMaXN0U29jaWFsUG9zdHNSZXF1ZXN0LFxuICAgIExpc3RTb2NpYWxQb3N0c1Jlc3BvbnNlLFxuICAgIExpc3RUZW5vckdpZnNSZXF1ZXN0LFxuICAgIExpc3RUZW5vckdpZnNSZXNwb25zZSxcbiAgICBQYXJ0bmVyTGlzdFNjaGVkdWxlZFBvc3RzUmVzcG9uc2UsXG4gICAgUGFydG5lckxpc3RTY2hlZHVsZWRTb2NpYWxQb3N0c1JlcXVlc3QsXG4gICAgUG9zdERhdGEsXG4gICAgUmVtb3ZlRnJvbU11bHRpbG9jYXRpb25Qb3N0UmVxdWVzdCxcbiAgICBSZXBsYWNlSGFzaHRhZ3NSZXF1ZXN0LFxuICAgIFNjaGVkdWxlUG9zdFJlcXVlc3QsXG4gICAgU2NoZWR1bGVQb3N0UmVzcG9uc2UsXG4gICAgU2NoZWR1bGVUb0FsbFBhZ2VzUmVxdWVzdCxcbiAgICBTY2hlZHVsZVRvQWxsUGFnZXNSZXNwb25zZSxcbiAgICBTZWFyY2hIYXNodGFnUmVxdWVzdCxcbiAgICBTZWFyY2hIYXNodGFnUmVzcG9uc2UsXG4gICAgU3VnZ2VzdE1lc3NhZ2VSZXF1ZXN0LFxuICAgIFN1Z2dlc3RNZXNzYWdlUmVzcG9uc2UsXG4gICAgVXBkYXRlUG9zdFRlbXBsYXRlUmVxdWVzdCxcbn0gZnJvbSAnLi9hcGknO1xuXG5leHBvcnQge1xuICAgIEFjY2Vzcyxcbn0gZnJvbSAnLi9hbm5vdGF0aW9ucyc7XG5cbmV4cG9ydCB7XG4gICAgTGlua1YyLFxuICAgIE1ldGFkYXRhVjIsXG4gICAgUG9zdEFjdGlvblYyLFxuICAgIFBvc3RDb250ZW50VjIsXG4gICAgUG9zdEN1c3RvbWl6YXRpb25WMixcbiAgICBQb3N0RXZlbnRWMixcbiAgICBQb3N0TWVkaWFWMixcbiAgICBTb2NpYWxQb3N0VjIsXG4gICAgVGlrVG9rQ3VzdG9taXphdGlvblYyLFxuICAgIFlvdXR1YmVDdXN0b21pemF0aW9uVjIsXG59IGZyb20gJy4vc29jaWFsLXBvc3QtdjInO1xuXG5leHBvcnQge1xuICAgIE1lZGlhLFxufSBmcm9tICcuL2xpbmtlZGluLXYyJztcblxuZXhwb3J0IHtcbiAgICBBbmNlc3RyeSxcbiAgICBDb2xsZWN0aW9uLFxuICAgIEltYWdlLFxuICAgIExpbmtzLFxuICAgIFBob3RvLFxuICAgIFNvY2lhbCxcbiAgICBTb3VyY2UsXG4gICAgU3ViQW5jZXN0cnksXG4gICAgVGFncyxcbiAgICBVcmxzLFxuICAgIFVzZXIsXG4gICAgVXNlckxpbmssXG59IGZyb20gJy4vdW5zcGxhc2gtaW1hZ2UnO1xuXG5leHBvcnQge1xuICAgIEFpSW5zdHJ1Y3Rpb25zLFxuICAgIENyZWF0ZUNvbW1vbkFpSW5zdHJ1Y3Rpb25zUmVxdWVzdCxcbiAgICBDcmVhdGVDb21tb25BaUluc3RydWN0aW9uc1Jlc3BvbnNlLFxuICAgIENyZWF0ZUltYWdlUmVxdWVzdCxcbiAgICBDcmVhdGVJbWFnZVJlc3BvbnNlLFxuICAgIEN1cmF0ZWRDb250ZW50UG9zdCxcbiAgICBEZWxldGVQb3N0UmVxdWVzdCxcbiAgICBHZW5lcmF0ZUFpUmVxdWVzdCxcbiAgICBHZW5lcmF0ZUFpUmVzcG9uc2UsXG4gICAgR2VuZXJhdGVQb3N0c1JlcXVlc3QsXG4gICAgR2VuZXJhdGVQb3N0c1Jlc3BvbnNlLFxuICAgIEdldENvbW1vbkFpSW5zdHJ1Y3Rpb25zUmVxdWVzdCxcbiAgICBHZXRDb21tb25BaUluc3RydWN0aW9uc1Jlc3BvbnNlLFxuICAgIEltYWdlQmxvYixcbiAgICBJbWFnZUNyZWF0ZWQsXG4gICAgSW1hZ2VVcmwsXG4gICAgTGlzdEN1cmF0ZWRDb250ZW50UmVxdWVzdCxcbiAgICBMaXN0Q3VyYXRlZENvbnRlbnRSZXNwb25zZSxcbiAgICBMaXN0VW5zcGxhc2hJbWFnZXNSZXF1ZXN0LFxuICAgIExpc3RVbnNwbGFzaEltYWdlc1Jlc3BvbnNlLFxuICAgIE1lZGlhVXBsb2FkUmVxdWVzdCxcbiAgICBNZWRpYVVwbG9hZFJlc3BvbnNlLFxuICAgIE11bHRpUmVzcG9uc2UsXG4gICAgR2VuZXJhdGVQb3N0c1Jlc3BvbnNlUG9zdCxcbiAgICBSZXBvc3RTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICBSZXNwb25zZSxcbiAgICBTb2NpYWxQb3N0T3V0cHV0LFxuICAgIFNvY2lhbFBvc3RSZXF1ZXN0LFxuICAgIFNvY2lhbFBvc3RSZXNwb25zZSxcbiAgICBVcGRhdGVDb21tb25BaUluc3RydWN0aW9uc1JlcXVlc3QsXG4gICAgVXBkYXRlQ29tbW9uQWlJbnN0cnVjdGlvbnNSZXNwb25zZSxcbiAgICBVcGRhdGVTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICBVcGRhdGVTb2NpYWxQb3N0UmVzcG9uc2UsXG4gICAgVXBsb2FkVG9TdG9yYWdlUmVxdWVzdCxcbiAgICBVcGxvYWRUb1N0b3JhZ2VSZXNwb25zZSxcbiAgICBVcGxvYWRlZE1lZGlhLFxufSBmcm9tICcuL2FwaS12Mic7XG5cbmV4cG9ydCB7XG4gICAgQWN0aW9uLFxuICAgIEVuZENoYXRSZXF1ZXN0LFxuICAgIFNlbmRNZXNzYWdlUmVxdWVzdCxcbiAgICBTZW5kTWVzc2FnZVJlc3BvbnNlLFxuICAgIFN0YXJ0Q2hhdFJlcXVlc3QsXG4gICAgU3RhcnRDaGF0UmVzcG9uc2UsXG59IGZyb20gJy4vY2hhdC1ib3QnO1xuXG5leHBvcnQge1xuICAgIENoYXRNZXNzYWdlLFxuICAgIFNlbmRNZXNzYWdlVjJSZXF1ZXN0LFxuICAgIFNlbmRNZXNzYWdlVjJSZXNwb25zZSxcbn0gZnJvbSAnLi9jaGF0LWJvdC12Mic7XG5cbmV4cG9ydCB7XG4gICAgQmxvZ0Nvbm5lY3Rpb24sXG4gICAgQ3JlYXRlQmxvZ0Nvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIENyZWF0ZUJsb2dDb25uZWN0aW9uUmVzcG9uc2UsXG4gICAgRGVsZXRlQmxvZ0Nvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIEdldEJsb2dDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBHZXRCbG9nQ29ubmVjdGlvblJlc3BvbnNlLFxuICAgIExpc3RCbG9nQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgTGlzdEJsb2dDb25uZWN0aW9uUmVzcG9uc2UsXG4gICAgVXBkYXRlQmxvZ0Nvbm5lY3Rpb25SZXF1ZXN0LFxufSBmcm9tICcuL2Jsb2ctY29ubmVjdGlvbic7XG5cbmV4cG9ydCB7XG4gICAgQXV0aG9yLFxuICAgIEF1dGhvcnNSZXF1ZXN0LFxuICAgIEF1dGhvcnNSZXNwb25zZSxcbiAgICBCbG9nSW1hZ2UsXG4gICAgQmxvZ1Bvc3QsXG4gICAgQmxvZ1ZpZGVvLFxuICAgIENhdGVnb3J5LFxuICAgIENhdGVnb3J5UmVxdWVzdCxcbiAgICBDYXRlZ29yeVJlc3BvbnNlLFxuICAgIEdldE11bHRpQmxvZ1Bvc3RzUmVxdWVzdCxcbiAgICBHZXRNdWx0aUJsb2dQb3N0c1Jlc3BvbnNlLFxuICAgIE1lZGlhUHJvcGVydHksXG4gICAgUHVibGlzaFBvc3RSZXF1ZXN0LFxuICAgIFB1Ymxpc2hQb3N0UmVzcG9uc2UsXG4gICAgU3RhdHVzUmVxdWVzdCxcbiAgICBTdGF0dXNSZXNwb25zZSxcbiAgICBVcGRhdGVCbG9nUG9zdFJlcXVlc3QsXG59IGZyb20gJy4vd29yZHByZXNzLXBsdWdpbic7XG5cbiJdfQ==
|
|
24
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zb2NpYWxfcG9zdHNfc2RrL3NyYy9saWIvX2ludGVybmFsL29iamVjdHMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsb0NBQW9DO0FBQ3BDLDJCQUEyQjtBQUMzQixnQkFBZ0I7QUFDaEIsRUFBRTtBQUNGLGlCQUFpQjtBQUNqQixvQ0FBb0M7QUFDcEMsT0FBTyxFQUNILFNBQVMsR0FDWixNQUFNLGNBQWMsQ0FBQztBQUV0QixPQUFPLEVBQ0gsT0FBTyxHQUNWLE1BQU0sV0FBVyxDQUFDO0FBRW5CLE9BQU8sRUFDSCxxQkFBcUIsRUFDckIsWUFBWSxFQUNaLEtBQUssRUFDTCxLQUFLLEVBQ0wsVUFBVSxFQUNWLFFBQVEsRUFDUixZQUFZLEVBQ1osWUFBWSxFQUNaLGtCQUFrQixFQUNsQixVQUFVLEVBQ1YsY0FBYyxFQUNkLG1CQUFtQixFQUNuQixvQkFBb0IsR0FDdkIsTUFBTSxnQkFBZ0IsQ0FBQztBQUV4QixPQUFPLEVBQ0gsUUFBUSxFQUNSLGlCQUFpQixFQUNqQixzQkFBc0IsRUFDdEIsVUFBVSxFQUNWLGlCQUFpQixFQUNqQixTQUFTLEdBQ1osTUFBTSxzQkFBc0IsQ0FBQztBQUU5QixPQUFPLEVBQ0gsWUFBWSxHQUNmLE1BQU0saUJBQWlCLENBQUM7QUFFekIsT0FBTyxFQUNILGlCQUFpQixFQUNqQixlQUFlLEVBQ2YsZ0JBQWdCLEdBQ25CLE1BQU0scUJBQXFCLENBQUM7QUFFN0IsT0FBTyxFQUNILHFCQUFxQixFQUNyQixRQUFRLEVBQ1IsZ0JBQWdCLEdBQ25CLE1BQU0sYUFBYSxDQUFDO0FBRXJCLE9BQU8sRUFDSCw4QkFBOEIsRUFDOUIsK0JBQStCLEVBQy9CLHlCQUF5QixFQUN6QiwwQkFBMEIsRUFDMUIsZUFBZSxFQUNmLHFCQUFxQixFQUNyQiw4QkFBOEIsRUFDOUIseUJBQXlCLEVBQ3pCLHVCQUF1QixFQUN2Qiw0QkFB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RUFDUixTQUFTLEVBQ1QsUUFBUSxFQUNSLGVBQWUsRUFDZixnQkFBZ0IsRUFDaEIsd0JBQXdCLEVBQ3hCLHlCQUF5QixFQUN6QixhQUFhLEVBQ2Isa0JBQWtCLEVBQ2xCLG1CQUFtQixFQUNuQixhQUFhLEVBQ2IsY0FBYyxFQUNkLHFCQUFxQixHQUN4QixNQUFNLG9CQUFvQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG4vLyBDb2RlIGdlbmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzIEluZGV4LlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5leHBvcnQge1xuICAgIEZpZWxkTWFzayxcbn0gZnJvbSAnLi9maWVsZC1tYXNrJztcblxuZXhwb3J0IHtcbiAgICBIYXNodGFnLFxufSBmcm9tICcuL2hhc2h0YWcnO1xuXG5leHBvcnQge1xuICAgIEJsb2dQb3N0Q3VzdG9taXphdGlvbixcbiAgICBDYWxsVG9BY3Rpb24sXG4gICAgRXJyb3IsXG4gICAgRXZlbnQsXG4gICAgTWVkaWFFbnRyeSxcbiAgICBNZXRhRGF0YSxcbiAgICBQb3N0VGVtcGxhdGUsXG4gICAgU1NJRFBvc3RUeXBlLFxuICAgIFNjaGVkdWxlUG9zdFN0YXR1cyxcbiAgICBTb2NpYWxQb3N0LFxuICAgIFNvY2lhbFBvc3REYXRhLFxuICAgIFRpa1Rva0N1c3RvbWl6YXRpb24sXG4gICAgWW91dHViZUN1c3RvbWl6YXRpb24sXG59IGZyb20gJy4vc29jaWFsLXBvc3RzJztcblxuZXhwb3J0IHtcbiAgICBMb2NhdGlvbixcbiAgICBNdWx0aWxvY2F0aW9uUG9zdCxcbiAgICBNdWx0aWxvY2F0aW9uUG9zdEVycm9yLFxuICAgIFBvc3RBY3Rpb24sXG4gICAgUG9zdEN1c3RvbWl6YXRpb24sXG4gICAgUG9zdEV2ZW50LFxufSBmcm9tICcuL211bHRpbG9jYXRpb24tcG9zdCc7XG5cbmV4cG9ydCB7XG4gICAgUGl4YWJheUltYWdlLFxufSBmcm9tICcuL3BpeGFiYXktaW1hZ2UnO1xuXG5leHBvcnQge1xuICAgIEZhY2Vib29rUG9zdFN0YXRzLFxuICAgIFNvY2lhbFBvc3RTdGF0cyxcbiAgICBUd2l0dGVyUG9zdFN0YXRzLFxufSBmcm9tICcuL3NvY2lhbC1wb3N0LXN0YXRzJztcblxuZXhwb3J0IHtcbiAgICBUZW5vckdpZk1lZGlhTWFwRW50cnksXG4gICAgVGVub3JHaWYsXG4gICAgVGVub3JNZWRpYU9iamVjdCxcbn0gZnJvbSAnLi90ZW5vci1naWYnO1xuXG5leHBvcnQge1xuICAgIENyZWF0ZU11bHRpbG9jYXRpb25Qb3N0UmVxdWVzdCxcbiAgICBDcmVhdGVNdWx0aWxvY2F0aW9uUG9zdFJlc3BvbnNlLFxuICAgIENyZWF0ZVBvc3RUZW1wbGF0ZVJlcXVlc3QsXG4gICAgQ3JlYXRlUG9zdFRlbXBsYXRlUmVzcG9uc2UsXG4gICAgRGF0ZVJhbmdlRmlsdGVyLFxuICAgIERlbGV0ZUhhc2h0YWdzUmVxdWVzdCxcbiAgICBEZWxldGVNdWx0aWxvY2F0aW9uUG9zdFJlcXVlc3QsXG4gICAgRGVsZXRlUG9zdFRlbXBsYXRlUmVxdWVzdCxcbiAgICBEZWxldGVTb2NpYWxQb3N0UmVxdWVzdCxcbiAgICBFZGl0TXVsdGlsb2NhdGlvblBvc3RSZXF1ZXN0LFxuICAgIEVkaXRNdWx0aWxvY2F0aW9uUG9zdFJlc3BvbnNlLFxuICAgIFBhcnRuZXJMaXN0U2NoZWR1bGVkU29jaWFsUG9zdHNSZXF1ZXN0RmlsdGVycyxcbiAgICBHZW5lcmF0ZUNTVkZvclBlcmZvcm1hbmNlU3RhdHNSZXF1ZXN0LFxuICAgIEdlbmVyYXRlQ1NWRm9yUGVyZm9ybWFuY2VTdGF0c1Jlc3BvbnNlLFxuICAgIEdldEdlbmVyYXRlZENTVkZvclBlcmZvcm1hbmNlU3RhdHNSZXF1ZXN0LFxuICAgIEdldEdlbmVyYXRlZENTVkZvclBlcmZvcm1hbmNlU3RhdHNSZXNwb25zZSxcbiAgICBHZXRNdWx0aVNvY2lhbFBvc3RTdGF0c1JlcXVlc3QsXG4gICAgR2V0TXVsdGlTb2NpYWxQb3N0U3RhdHNSZXNwb25zZSxcbiAgICBHZXRNdWx0aVNvY2lhbFBvc3RzUmVxdWVzdCxcbiAgICBHZXRNdWx0aVNvY2lhbFBvc3RzUmVzcG9uc2UsXG4gICAgR2V0TXVsdGlsb2NhdGlvblBvc3RSZXF1ZXN0LFxuICAgIEdldE11bHRpbG9jYXRpb25Qb3N0UmVzcG9uc2UsXG4gICAgR2V0UG9zdFRlbXBsYXRlUmVxdWVzdCxcbiAgICBHZXRQb3N0VGVtcGxhdGVSZXNwb25zZSxcbiAgICBHZXRTY2hlZHVsZWRQb3N0Q291bnRSZXF1ZXN0LFxuICAgIEdldFNjaGVkdWxlZFBvc3RDb3VudFJlc3BvbnNlLFxuICAgIEdldFRlbm9yQW5vbnltb3VzSWRSZXF1ZXN0LFxuICAgIEdldFRlbm9yQW5vbnltb3VzSWRSZXNwb25zZSxcbiAgICBMaXN0TXVsdGlsb2NhdGlvblBvc3RzRm9yQnJhbmRSZXF1ZXN0LFxuICAgIExpc3RNdWx0aWxvY2F0aW9uUG9zdHNGb3JCcmFuZFJlc3BvbnNlLFxuICAgIExpc3RQaXhhYmF5SW1hZ2VzUmVxdWVzdCxcbiAgICBMaXN0UGl4YWJheUltYWdlc1Jlc3BvbnNlLFxuICAgIExpc3RQb3N0VGVtcGxhdGVzUmVxdWVzdCxcbiAgICBMaXN0UG9zdFRlbXBsYXRlc1Jlc3BvbnNlLFxuICAgIExpc3RTb2NpYWxQb3N0c1JlcXVlc3QsXG4gICAgTGlzdFNvY2lhbFBvc3RzUmVzcG9uc2UsXG4gICAgTGlzdFRlbm9yR2lmc1JlcXVlc3QsXG4gICAgTGlzdFRlbm9yR2lmc1Jlc3BvbnNlLFxuICAgIFBhcnRuZXJMaXN0U2NoZWR1bGVkUG9zdHNSZXNwb25zZSxcbiAgICBQYXJ0bmVyTGlzdFNjaGVkdWxlZFNvY2lhbFBvc3RzUmVxdWVzdCxcbiAgICBQb3N0RGF0YSxcbiAgICBSZW1vdmVGcm9tTXVsdGlsb2NhdGlvblBvc3RSZXF1ZXN0LFxuICAgIFJlcGxhY2VIYXNodGFnc1JlcXVlc3QsXG4gICAgU2NoZWR1bGVQb3N0UmVxdWVzdCxcbiAgICBTY2hlZHVsZVBvc3RSZXNwb25zZSxcbiAgICBTY2hlZHVsZVRvQWxsUGFnZXNSZXF1ZXN0LFxuICAgIFNjaGVkdWxlVG9BbGxQYWdlc1Jlc3BvbnNlLFxuICAgIFNlYXJjaEhhc2h0YWdSZXF1ZXN0LFxuICAgIFNlYXJjaEhhc2h0YWdSZXNwb25zZSxcbiAgICBTdWdnZXN0TWVzc2FnZVJlcXVlc3QsXG4gICAgU3VnZ2VzdE1lc3NhZ2VSZXNwb25zZSxcbiAgICBVcGRhdGVQb3N0VGVtcGxhdGVSZXF1ZXN0LFxufSBmcm9tICcuL2FwaSc7XG5cbmV4cG9ydCB7XG4gICAgQWNjZXNzLFxufSBmcm9tICcuL2Fubm90YXRpb25zJztcblxuZXhwb3J0IHtcbiAgICBMaW5rVjIsXG4gICAgTWV0YWRhdGFWMixcbiAgICBQb3N0QWN0aW9uVjIsXG4gICAgUG9zdENvbnRlbnRWMixcbiAgICBQb3N0Q3VzdG9taXphdGlvblYyLFxuICAgIFBvc3RFdmVudFYyLFxuICAgIFBvc3RNZWRpYVYyLFxuICAgIFNvY2lhbFBvc3RWMixcbiAgICBUaWtUb2tDdXN0b21pemF0aW9uVjIsXG4gICAgWW91dHViZUN1c3RvbWl6YXRpb25WMixcbn0gZnJvbSAnLi9zb2NpYWwtcG9zdC12Mic7XG5cbmV4cG9ydCB7XG4gICAgTWVkaWEsXG59IGZyb20gJy4vbGlua2VkaW4tdjInO1xuXG5leHBvcnQge1xuICAgIEFuY2VzdHJ5LFxuICAgIENvbGxlY3Rpb24sXG4gICAgSW1hZ2UsXG4gICAgTGlua3MsXG4gICAgUGhvdG8sXG4gICAgU29jaWFsLFxuICAgIFNvdXJjZSxcbiAgICBTdWJBbmNlc3RyeSxcbiAgICBUYWdzLFxuICAgIFVybHMsXG4gICAgVXNlcixcbiAgICBVc2VyTGluayxcbn0gZnJvbSAnLi91bnNwbGFzaC1pbWFnZSc7XG5cbmV4cG9ydCB7XG4gICAgQWlJbnN0cnVjdGlvbnMsXG4gICAgQ3JlYXRlQ29tbW9uQWlJbnN0cnVjdGlvbnNSZXF1ZXN0LFxuICAgIENyZWF0ZUNvbW1vbkFpSW5zdHJ1Y3Rpb25zUmVzcG9uc2UsXG4gICAgQ3JlYXRlSW1hZ2VSZXF1ZXN0LFxuICAgIENyZWF0ZUltYWdlUmVzcG9uc2UsXG4gICAgQ3VyYXRlZENvbnRlbnRQb3N0LFxuICAgIERlbGV0ZVBvc3RSZXF1ZXN0LFxuICAgIEdlbmVyYXRlQWlSZXF1ZXN0LFxuICAgIEdlbmVyYXRlQWlSZXNwb25zZSxcbiAgICBHZW5lcmF0ZVBvc3RzUmVxdWVzdCxcbiAgICBHZW5lcmF0ZVBvc3RzUmVzcG9uc2UsXG4gICAgR2V0Q29tbW9uQWlJbnN0cnVjdGlvbnNSZXF1ZXN0LFxuICAgIEdldENvbW1vbkFpSW5zdHJ1Y3Rpb25zUmVzcG9uc2UsXG4gICAgSW1hZ2VCbG9iLFxuICAgIEltYWdlQ3JlYXRlZCxcbiAgICBJbWFnZVVybCxcbiAgICBMaXN0Q3VyYXRlZENvbnRlbnRSZXF1ZXN0LFxuICAgIExpc3RDdXJhdGVkQ29udGVudFJlc3BvbnNlLFxuICAgIExpc3RVbnNwbGFzaEltYWdlc1JlcXVlc3QsXG4gICAgTGlzdFVuc3BsYXNoSW1hZ2VzUmVzcG9uc2UsXG4gICAgTWVkaWFVcGxvYWRSZXF1ZXN0LFxuICAgIE1lZGlhVXBsb2FkUmVzcG9uc2UsXG4gICAgTXVsdGlSZXNwb25zZSxcbiAgICBHZW5lcmF0ZVBvc3RzUmVzcG9uc2VQb3N0LFxuICAgIFJlcG9zdFNvY2lhbFBvc3RSZXF1ZXN0LFxuICAgIFJlc3BvbnNlLFxuICAgIFNvY2lhbFBvc3RPdXRwdXQsXG4gICAgU29jaWFsUG9zdFJlcXVlc3QsXG4gICAgU29jaWFsUG9zdFJlc3BvbnNlLFxuICAgIFVwZGF0ZUNvbW1vbkFpSW5zdHJ1Y3Rpb25zUmVxdWVzdCxcbiAgICBVcGRhdGVDb21tb25BaUluc3RydWN0aW9uc1Jlc3BvbnNlLFxuICAgIFVwZGF0ZVNvY2lhbFBvc3RSZXF1ZXN0LFxuICAgIFVwZGF0ZVNvY2lhbFBvc3RSZXNwb25zZSxcbiAgICBVcGxvYWRUb1N0b3JhZ2VSZXF1ZXN0LFxuICAgIFVwbG9hZFRvU3RvcmFnZVJlc3BvbnNlLFxuICAgIFVwbG9hZGVkTWVkaWEsXG59IGZyb20gJy4vYXBpLXYyJztcblxuZXhwb3J0IHtcbiAgICBBY3Rpb24sXG4gICAgRW5kQ2hhdFJlcXVlc3QsXG4gICAgU2VuZE1lc3NhZ2VSZXF1ZXN0LFxuICAgIFNlbmRNZXNzYWdlUmVzcG9uc2UsXG4gICAgU3RhcnRDaGF0UmVxdWVzdCxcbiAgICBTdGFydENoYXRSZXNwb25zZSxcbn0gZnJvbSAnLi9jaGF0LWJvdCc7XG5cbmV4cG9ydCB7XG4gICAgQ2hhdE1lc3NhZ2UsXG4gICAgU2VuZE1lc3NhZ2VWMlJlcXVlc3QsXG4gICAgU2VuZE1lc3NhZ2VWMlJlc3BvbnNlLFxufSBmcm9tICcuL2NoYXQtYm90LXYyJztcblxuZXhwb3J0IHtcbiAgICBCbG9nQ29ubmVjdGlvbixcbiAgICBDcmVhdGVCbG9nQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgQ3JlYXRlQmxvZ0Nvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBEZWxldGVCbG9nQ29ubmVjdGlvblJlcXVlc3QsXG4gICAgR2V0QmxvZ0Nvbm5lY3Rpb25SZXF1ZXN0LFxuICAgIEdldEJsb2dDb25uZWN0aW9uUmVzcG9uc2UsXG4gICAgTGlzdEJsb2dDb25uZWN0aW9uUmVxdWVzdCxcbiAgICBMaXN0QmxvZ0Nvbm5lY3Rpb25SZXNwb25zZSxcbiAgICBVcGRhdGVCbG9nQ29ubmVjdGlvblJlcXVlc3QsXG59IGZyb20gJy4vYmxvZy1jb25uZWN0aW9uJztcblxuZXhwb3J0IHtcbiAgICBBdXRob3IsXG4gICAgQXV0aG9yc1JlcXVlc3QsXG4gICAgQXV0aG9yc1Jlc3BvbnNlLFxuICAgIEJsb2dJbWFnZSxcbiAgICBCbG9nUG9zdCxcbiAgICBCbG9nVmlkZW8sXG4gICAgQ2F0ZWdvcnksXG4gICAgQ2F0ZWdvcnlSZXF1ZXN0LFxuICAgIENhdGVnb3J5UmVzcG9uc2UsXG4gICAgR2V0TXVsdGlCbG9nUG9zdHNSZXF1ZXN0LFxuICAgIEdldE11bHRpQmxvZ1Bvc3RzUmVzcG9uc2UsXG4gICAgTWVkaWFQcm9wZXJ0eSxcbiAgICBQdWJsaXNoUG9zdFJlcXVlc3QsXG4gICAgUHVibGlzaFBvc3RSZXNwb25zZSxcbiAgICBTdGF0dXNSZXF1ZXN0LFxuICAgIFN0YXR1c1Jlc3BvbnNlLFxuICAgIFVwZGF0ZUJsb2dQb3N0UmVxdWVzdCxcbn0gZnJvbSAnLi93b3JkcHJlc3MtcGx1Z2luJztcblxuIl19
|
|
@@ -5,6 +5,67 @@ export function enumStringToValue(enumRef, value) {
|
|
|
5
5
|
}
|
|
6
6
|
return enumRef[value];
|
|
7
7
|
}
|
|
8
|
+
export class Author {
|
|
9
|
+
static fromProto(proto) {
|
|
10
|
+
let m = new Author();
|
|
11
|
+
m = Object.assign(m, proto);
|
|
12
|
+
if (proto.id) {
|
|
13
|
+
m.id = parseInt(proto.id, 10);
|
|
14
|
+
}
|
|
15
|
+
return m;
|
|
16
|
+
}
|
|
17
|
+
constructor(kwargs) {
|
|
18
|
+
if (!kwargs) {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
Object.assign(this, kwargs);
|
|
22
|
+
}
|
|
23
|
+
toApiJson() {
|
|
24
|
+
const toReturn = {};
|
|
25
|
+
if (typeof this.name !== 'undefined') {
|
|
26
|
+
toReturn['name'] = this.name;
|
|
27
|
+
}
|
|
28
|
+
if (typeof this.id !== 'undefined') {
|
|
29
|
+
toReturn['id'] = this.id;
|
|
30
|
+
}
|
|
31
|
+
return toReturn;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export class BlogPostCustomization {
|
|
35
|
+
static fromProto(proto) {
|
|
36
|
+
let m = new BlogPostCustomization();
|
|
37
|
+
m = Object.assign(m, proto);
|
|
38
|
+
if (proto.author) {
|
|
39
|
+
m.author = Author.fromProto(proto.author);
|
|
40
|
+
}
|
|
41
|
+
if (proto.categories) {
|
|
42
|
+
m.categories = proto.categories.map(Category.fromProto);
|
|
43
|
+
}
|
|
44
|
+
return m;
|
|
45
|
+
}
|
|
46
|
+
constructor(kwargs) {
|
|
47
|
+
if (!kwargs) {
|
|
48
|
+
return;
|
|
49
|
+
}
|
|
50
|
+
Object.assign(this, kwargs);
|
|
51
|
+
}
|
|
52
|
+
toApiJson() {
|
|
53
|
+
const toReturn = {};
|
|
54
|
+
if (typeof this.siteType !== 'undefined') {
|
|
55
|
+
toReturn['siteType'] = this.siteType;
|
|
56
|
+
}
|
|
57
|
+
if (typeof this.author !== 'undefined' && this.author !== null) {
|
|
58
|
+
toReturn['author'] = 'toApiJson' in this.author ? this.author.toApiJson() : this.author;
|
|
59
|
+
}
|
|
60
|
+
if (typeof this.categories !== 'undefined' && this.categories !== null) {
|
|
61
|
+
toReturn['categories'] = 'toApiJson' in this.categories ? this.categories.toApiJson() : this.categories;
|
|
62
|
+
}
|
|
63
|
+
if (typeof this.tags !== 'undefined') {
|
|
64
|
+
toReturn['tags'] = this.tags;
|
|
65
|
+
}
|
|
66
|
+
return toReturn;
|
|
67
|
+
}
|
|
68
|
+
}
|
|
8
69
|
export class CallToAction {
|
|
9
70
|
static fromProto(proto) {
|
|
10
71
|
let m = new CallToAction();
|
|
@@ -31,6 +92,32 @@ export class CallToAction {
|
|
|
31
92
|
return toReturn;
|
|
32
93
|
}
|
|
33
94
|
}
|
|
95
|
+
export class Category {
|
|
96
|
+
static fromProto(proto) {
|
|
97
|
+
let m = new Category();
|
|
98
|
+
m = Object.assign(m, proto);
|
|
99
|
+
if (proto.id) {
|
|
100
|
+
m.id = parseInt(proto.id, 10);
|
|
101
|
+
}
|
|
102
|
+
return m;
|
|
103
|
+
}
|
|
104
|
+
constructor(kwargs) {
|
|
105
|
+
if (!kwargs) {
|
|
106
|
+
return;
|
|
107
|
+
}
|
|
108
|
+
Object.assign(this, kwargs);
|
|
109
|
+
}
|
|
110
|
+
toApiJson() {
|
|
111
|
+
const toReturn = {};
|
|
112
|
+
if (typeof this.id !== 'undefined') {
|
|
113
|
+
toReturn['id'] = this.id;
|
|
114
|
+
}
|
|
115
|
+
if (typeof this.name !== 'undefined') {
|
|
116
|
+
toReturn['name'] = this.name;
|
|
117
|
+
}
|
|
118
|
+
return toReturn;
|
|
119
|
+
}
|
|
120
|
+
}
|
|
34
121
|
export class Error {
|
|
35
122
|
static fromProto(proto) {
|
|
36
123
|
let m = new Error();
|
|
@@ -118,6 +205,9 @@ export class MediaEntry {
|
|
|
118
205
|
if (typeof this.metaData !== 'undefined' && this.metaData !== null) {
|
|
119
206
|
toReturn['metaData'] = 'toApiJson' in this.metaData ? this.metaData.toApiJson() : this.metaData;
|
|
120
207
|
}
|
|
208
|
+
if (typeof this.mediaPath !== 'undefined') {
|
|
209
|
+
toReturn['mediaPath'] = this.mediaPath;
|
|
210
|
+
}
|
|
121
211
|
return toReturn;
|
|
122
212
|
}
|
|
123
213
|
}
|
|
@@ -346,6 +436,9 @@ export class SocialPost {
|
|
|
346
436
|
if (proto.tiktokCustomization) {
|
|
347
437
|
m.tiktokCustomization = TikTokCustomization.fromProto(proto.tiktokCustomization);
|
|
348
438
|
}
|
|
439
|
+
if (proto.blogPostCustomization) {
|
|
440
|
+
m.blogPostCustomization = BlogPostCustomization.fromProto(proto.blogPostCustomization);
|
|
441
|
+
}
|
|
349
442
|
return m;
|
|
350
443
|
}
|
|
351
444
|
constructor(kwargs) {
|
|
@@ -452,6 +545,9 @@ export class SocialPost {
|
|
|
452
545
|
if (typeof this.tiktokCustomization !== 'undefined' && this.tiktokCustomization !== null) {
|
|
453
546
|
toReturn['tiktokCustomization'] = 'toApiJson' in this.tiktokCustomization ? this.tiktokCustomization.toApiJson() : this.tiktokCustomization;
|
|
454
547
|
}
|
|
548
|
+
if (typeof this.blogPostCustomization !== 'undefined' && this.blogPostCustomization !== null) {
|
|
549
|
+
toReturn['blogPostCustomization'] = 'toApiJson' in this.blogPostCustomization ? this.blogPostCustomization.toApiJson() : this.blogPostCustomization;
|
|
550
|
+
}
|
|
455
551
|
return toReturn;
|
|
456
552
|
}
|
|
457
553
|
}
|
|
@@ -536,4 +632,4 @@ export class YoutubeCustomization {
|
|
|
536
632
|
return toReturn;
|
|
537
633
|
}
|
|
538
634
|
}
|
|
539
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc29jaWFsX3Bvc3RzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3NvY2lhbC1wb3N0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sWUFBWTtJQUlyQixNQUFNLENBQUMsU0FBUyxDQUFDLEtBQVU7UUFDdkIsSUFBSSxDQUFDLEdBQUcsSUFBSSxZQUFZLEVBQUUsQ0FBQztRQUMzQixDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLENBQUM7UUFDNUIsSUFBSSxLQUFLLENBQUMsVUFBVSxFQUFFO1lBQUMsQ0FBQyxDQUFDLFVBQVUsR0FBRyxpQkFBaUIsQ0FBaUMsQ0FBQyxDQUFDLDRCQUE0QixFQUFFLEtBQUssQ0FBQyxVQUFVLENBQUMsQ0FBQztTQUFDO1FBQzNJLE9BQU8sQ0FBQyxDQUFDO0lBQ2IsQ0FBQztJQUVELFlBQVksTUFBZ0M7UUFDeEMsSUFBSSxDQUFDLE1BQU0sRUFBRTtZQUNULE9BQU87U0FDVjtRQUNELE1BQU0sQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFFRCxTQUFTO1FBQ0wsTUFBTSxRQUFRLEdBRVYsRUFBRSxDQUFDO1FBRVAsSUFBSSxPQUFPLElBQUksQ0FBQyxHQUFHLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxHQUFHLElBQUksQ0FB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bmVyYXRlZCBieSBzZGtnZW5cbi8vIERPIE5PVCBFRElUIS5cbi8vXG4vLyBPYmplY3RzLlxuLy8gKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqXG5pbXBvcnQgKiBhcyBpIGZyb20gJy4uL2ludGVyZmFjZXMnO1xuXG5pbXBvcnQgKiBhcyBlIGZyb20gJy4uL2VudW1zJztcblxuZXhwb3J0IGZ1bmN0aW9uIGVudW1TdHJpbmdUb1ZhbHVlPEU+KGVudW1SZWY6IGFueSwgdmFsdWU6IHN0cmluZyk6IEUge1xuICBpZiAodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIHJldHVybiB2YWx1ZTtcbiAgfVxuICByZXR1cm4gZW51bVJlZlt2YWx1ZV07XG59XG5cbmV4cG9ydCBjbGFzcyBDYWxsVG9BY3Rpb24gaW1wbGVtZW50cyBpLkNhbGxUb0FjdGlvbkludGVyZmFjZSB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgYWN0aW9uVHlwZTogZS5DYWxsVG9BY3Rpb25DYWxsVG9BY3Rpb25UeXBlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ2FsbFRvQWN0aW9uIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgQ2FsbFRvQWN0aW9uKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmFjdGlvblR5cGUpIHttLmFjdGlvblR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLkNhbGxUb0FjdGlvbkNhbGxUb0FjdGlvblR5cGU+KGUuQ2FsbFRvQWN0aW9uQ2FsbFRvQWN0aW9uVHlwZSwgcHJvdG8uYWN0aW9uVHlwZSk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkNhbGxUb0FjdGlvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXJsJ10gPSB0aGlzLnVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hY3Rpb25UeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhY3Rpb25UeXBlJ10gPSB0aGlzLmFjdGlvblR5cGU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXJyb3IgaW1wbGVtZW50cyBpLkVycm9ySW50ZXJmYWNlIHtcbiAgICByZWFzb246IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRXJyb3Ige1xuICAgICAgICBsZXQgbSA9IG5ldyBFcnJvcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRXJyb3JJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWFzb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlYXNvbiddID0gdGhpcy5yZWFzb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2F0ZWdvcnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NhdGVnb3J5J10gPSB0aGlzLmNhdGVnb3J5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEV2ZW50IGltcGxlbWVudHMgaS5FdmVudEludGVyZmFjZSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGFydERhdGV0aW1lOiBEYXRlO1xuICAgIGVuZERhdGV0aW1lOiBEYXRlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRXZlbnQge1xuICAgICAgICBsZXQgbSA9IG5ldyBFdmVudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5zdGFydERhdGV0aW1lKSB7bS5zdGFydERhdGV0aW1lID0gbmV3IERhdGUocHJvdG8uc3RhcnREYXRldGltZSk7fVxuICAgICAgICBpZiAocHJvdG8uZW5kRGF0ZXRpbWUpIHttLmVuZERhdGV0aW1lID0gbmV3IERhdGUocHJvdG8uZW5kRGF0ZXRpbWUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5FdmVudEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGFydERhdGV0aW1lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnN0YXJ0RGF0ZXRpbWUgIT09IG51bGwpIHt0b1JldHVyblsnc3RhcnREYXRldGltZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5zdGFydERhdGV0aW1lID8gKHRoaXMuc3RhcnREYXRldGltZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5zdGFydERhdGV0aW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuZERhdGV0aW1lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmVuZERhdGV0aW1lICE9PSBudWxsKSB7dG9SZXR1cm5bJ2VuZERhdGV0aW1lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmVuZERhdGV0aW1lID8gKHRoaXMuZW5kRGF0ZXRpbWUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZW5kRGF0ZXRpbWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVkaWFFbnRyeSBpbXBsZW1lbnRzIGkuTWVkaWFFbnRyeUludGVyZmFjZSB7XG4gICAgbWVkaWFFbnRyeUlkOiBzdHJpbmc7XG4gICAgbWVkaWFVcmw6IHN0cmluZztcbiAgICBtZWRpYVR5cGU6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIG1ldGFEYXRhOiBNZXRhRGF0YVtdO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTWVkaWFFbnRyeSB7XG4gICAgICAgIGxldCBtID0gbmV3IE1lZGlhRW50cnkoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubWV0YURhdGEpIHttLm1ldGFEYXRhID0gcHJvdG8ubWV0YURhdGEubWFwKE1ldGFEYXRhLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk1lZGlhRW50cnlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWRpYUVudHJ5SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZGlhRW50cnlJZCddID0gdGhpcy5tZWRpYUVudHJ5SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVkaWFVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZGlhVXJsJ10gPSB0aGlzLm1lZGlhVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lZGlhVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVkaWFUeXBlJ10gPSB0aGlzLm1lZGlhVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250YWluZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGFpbmVySWQnXSA9IHRoaXMuY29udGFpbmVySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWV0YURhdGEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubWV0YURhdGEgIT09IG51bGwpIHt0b1JldHVyblsnbWV0YURhdGEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubWV0YURhdGEgPyAodGhpcy5tZXRhRGF0YSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5tZXRhRGF0YTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBNZXRhRGF0YSBpbXBsZW1lbnRzIGkuTWV0YURhdGFJbnRlcmZhY2Uge1xuICAgIHByb3BlcnR5TmFtZTogc3RyaW5nO1xuICAgIHByb3BlcnR5VmFsdWU6IHN0cmluZztcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IE1ldGFEYXRhIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgTWV0YURhdGEoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk1ldGFEYXRhSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvcGVydHlOYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwcm9wZXJ0eU5hbWUnXSA9IHRoaXMucHJvcGVydHlOYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5VmFsdWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Byb3BlcnR5VmFsdWUnXSA9IHRoaXMucHJvcGVydHlWYWx1ZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBQb3N0VGVtcGxhdGUgaW1wbGVtZW50cyBpLlBvc3RUZW1wbGF0ZUludGVyZmFjZSB7XG4gICAgYWNjb3VudEdyb3VwSWQ6IHN0cmluZztcbiAgICB0ZW1wbGF0ZUlkOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBjcmVhdGVkOiBEYXRlO1xuICAgIHVwZGF0ZWQ6IERhdGU7XG4gICAgcG9zdFRleHQ6IHN0cmluZztcbiAgICBwb3N0RGF0ZVRpbWU6IERhdGU7XG4gICAgZ21iUG9zdEN1c3RvbWl6YXRpb246IHN0cmluZztcbiAgICBpbWFnZVVybDogc3RyaW5nO1xuICAgIGltYWdlUGF0aDogc3RyaW5nO1xuICAgIGltYWdlU2l6ZTogc3RyaW5nO1xuICAgIHByZXZpZXdzOiBzdHJpbmc7XG4gICAgb3B0aW9uczogc3RyaW5nW107XG4gICAgdmlkZW9Vcmw6IHN0cmluZztcbiAgICBtZWRpYUVudHJpZXM6IE1lZGlhRW50cnlbXTtcbiAgICBtZXRhRGF0YTogTWV0YURhdGFbXTtcbiAgICBwb3N0VHlwZTogZS5Qb3N0VHlwZTtcbiAgICB5b3V0dWJlQ3VzdG9taXphdGlvbjogWW91dHViZUN1c3RvbWl6YXRpb247XG4gICAgdGlrdG9rQ3VzdG9taXphdGlvbjogVGlrVG9rQ3VzdG9taXphdGlvbjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFBvc3RUZW1wbGF0ZSB7XG4gICAgICAgIGxldCBtID0gbmV3IFBvc3RUZW1wbGF0ZSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8udXBkYXRlZCkge20udXBkYXRlZCA9IG5ldyBEYXRlKHByb3RvLnVwZGF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnBvc3REYXRlVGltZSkge20ucG9zdERhdGVUaW1lID0gbmV3IERhdGUocHJvdG8ucG9zdERhdGVUaW1lKTt9XG4gICAgICAgIGlmIChwcm90by5tZWRpYUVudHJpZXMpIHttLm1lZGlhRW50cmllcyA9IHByb3RvLm1lZGlhRW50cmllcy5tYXAoTWVkaWFFbnRyeS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLm1ldGFEYXRhKSB7bS5tZXRhRGF0YSA9IHByb3RvLm1ldGFEYXRhLm1hcChNZXRhRGF0YS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnBvc3RUeXBlKSB7bS5wb3N0VHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuUG9zdFR5cGU+KGUuUG9zdFR5cGUsIHByb3RvLnBvc3RUeXBlKTt9XG4gICAgICAgIGlmIChwcm90by55b3V0dWJlQ3VzdG9taXphdGlvbikge20ueW91dHViZUN1c3RvbWl6YXRpb24gPSBZb3V0dWJlQ3VzdG9taXphdGlvbi5mcm9tUHJvdG8ocHJvdG8ueW91dHViZUN1c3RvbWl6YXRpb24pO31cbiAgICAgICAgaWYgKHByb3RvLnRpa3Rva0N1c3RvbWl6YXRpb24pIHttLnRpa3Rva0N1c3RvbWl6YXRpb24gPSBUaWtUb2tDdXN0b21pemF0aW9uLmZyb21Qcm90byhwcm90by50aWt0b2tDdXN0b21pemF0aW9uKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuUG9zdFRlbXBsYXRlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWNjb3VudEdyb3VwSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FjY291bnRHcm91cElkJ10gPSB0aGlzLmFjY291bnRHcm91cElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRlbXBsYXRlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RlbXBsYXRlSWQnXSA9IHRoaXMudGVtcGxhdGVJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50aXRsZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGl0bGUnXSA9IHRoaXMudGl0bGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlYXRlZCA/ICh0aGlzLmNyZWF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51cGRhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnVwZGF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsndXBkYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy51cGRhdGVkID8gKHRoaXMudXBkYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy51cGRhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUZXh0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VGV4dCddID0gdGhpcy5wb3N0VGV4dDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3N0RGF0ZVRpbWUgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucG9zdERhdGVUaW1lICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Bvc3REYXRlVGltZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wb3N0RGF0ZVRpbWUgPyAodGhpcy5wb3N0RGF0ZVRpbWUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucG9zdERhdGVUaW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmdtYlBvc3RDdXN0b21pemF0aW9uICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydnbWJQb3N0Q3VzdG9taXphdGlvbiddID0gdGhpcy5nbWJQb3N0Q3VzdG9taXphdGlvbjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbWFnZVVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW1hZ2VVcmwnXSA9IHRoaXMuaW1hZ2VVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW1hZ2VQYXRoICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbWFnZVBhdGgnXSA9IHRoaXMuaW1hZ2VQYXRoO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlU2l6ZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW1hZ2VTaXplJ10gPSB0aGlzLmltYWdlU2l6ZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcmV2aWV3cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncHJldmlld3MnXSA9IHRoaXMucHJldmlld3M7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMub3B0aW9ucyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnb3B0aW9ucyddID0gdGhpcy5vcHRpb25zO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZpZGVvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2aWRlb1VybCddID0gdGhpcy52aWRlb1VybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWRpYUVudHJpZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubWVkaWFFbnRyaWVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ21lZGlhRW50cmllcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tZWRpYUVudHJpZXMgPyAodGhpcy5tZWRpYUVudHJpZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubWVkaWFFbnRyaWVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1ldGFEYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm1ldGFEYXRhICE9PSBudWxsKSB7dG9SZXR1cm5bJ21ldGFEYXRhJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm1ldGFEYXRhID8gKHRoaXMubWV0YURhdGEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubWV0YURhdGE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zdFR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Bvc3RUeXBlJ10gPSB0aGlzLnBvc3RUeXBlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ3lvdXR1YmVDdXN0b21pemF0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uID8gKHRoaXMueW91dHViZUN1c3RvbWl6YXRpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMueW91dHViZUN1c3RvbWl6YXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50aWt0b2tDdXN0b21pemF0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Rpa3Rva0N1c3RvbWl6YXRpb24nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbiA/ICh0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTU0lEUG9zdFR5cGUgaW1wbGVtZW50cyBpLlNTSURQb3N0VHlwZUludGVyZmFjZSB7XG4gICAgc29jaWFsU2VydmljZUlkOiBzdHJpbmc7XG4gICAgcG9zdFR5cGU6IGUuUG9zdFR5cGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTU0lEUG9zdFR5cGUge1xuICAgICAgICBsZXQgbSA9IG5ldyBTU0lEUG9zdFR5cGUoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucG9zdFR5cGUpIHttLnBvc3RUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Qb3N0VHlwZT4oZS5Qb3N0VHlwZSwgcHJvdG8ucG9zdFR5cGUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5TU0lEUG9zdFR5cGVJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NpYWxTZXJ2aWNlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvY2lhbFNlcnZpY2VJZCddID0gdGhpcy5zb2NpYWxTZXJ2aWNlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zdFR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Bvc3RUeXBlJ10gPSB0aGlzLnBvc3RUeXBlO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIFNjaGVkdWxlUG9zdFN0YXR1cyBpbXBsZW1lbnRzIGkuU2NoZWR1bGVQb3N0U3RhdHVzSW50ZXJmYWNlIHtcbiAgICBzb2NpYWxQb3N0SWQ6IHN0cmluZztcbiAgICBzb2NpYWxTZXJ2aWNlSWQ6IHN0cmluZztcbiAgICBzb2NpYWxTZXJ2aWNlTGFiZWw6IHN0cmluZztcbiAgICBlcnJvcjogRXJyb3I7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTY2hlZHVsZVBvc3RTdGF0dXMge1xuICAgICAgICBsZXQgbSA9IG5ldyBTY2hlZHVsZVBvc3RTdGF0dXMoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uZXJyb3IpIHttLmVycm9yID0gRXJyb3IuZnJvbVByb3RvKHByb3RvLmVycm9yKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuU2NoZWR1bGVQb3N0U3RhdHVzSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsUG9zdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxQb3N0SWQnXSA9IHRoaXMuc29jaWFsUG9zdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvY2lhbFNlcnZpY2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc29jaWFsU2VydmljZUlkJ10gPSB0aGlzLnNvY2lhbFNlcnZpY2VJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NpYWxTZXJ2aWNlTGFiZWwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvY2lhbFNlcnZpY2VMYWJlbCddID0gdGhpcy5zb2NpYWxTZXJ2aWNlTGFiZWw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZXJyb3IgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZXJyb3IgIT09IG51bGwpIHt0b1JldHVyblsnZXJyb3InXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZXJyb3IgPyAodGhpcy5lcnJvciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5lcnJvcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTb2NpYWxQb3N0IGltcGxlbWVudHMgaS5Tb2NpYWxQb3N0SW50ZXJmYWNlIHtcbiAgICBidXNpbmVzc0lkOiBzdHJpbmc7XG4gICAgc29jaWFsUG9zdElkOiBzdHJpbmc7XG4gICAgcG9zdFRleHQ6IHN0cmluZztcbiAgICBwb3N0ZWQ6IERhdGU7XG4gICAgaXNFcnJvcjogYm9vbGVhbjtcbiAgICBkZWxldGlvblN0YXR1czogZS5Tb2NpYWxQb3N0RGVsZXRpb25TdGF0dXM7XG4gICAgc2VydmljZTogZS5Tb2NpYWxQb3N0U2VydmljZTtcbiAgICBwZXJtYWxpbms6IHN0cmluZztcbiAgICBjcmVhdGVkOiBEYXRlO1xuICAgIHByb2ZpbGVVcmw6IHN0cmluZztcbiAgICBwcm9maWxlSW1hZ2VVcmw6IHN0cmluZztcbiAgICBzY2hlZHVsZWQ6IERhdGU7XG4gICAgc3RhdHVzOiBlLlBvc3RpbmdTdGF0dXM7XG4gICAgaW1hZ2VVcmw6IHN0cmluZztcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdXNlcm5hbWU6IHN0cmluZztcbiAgICBwYXJlbnRJZDogc3RyaW5nO1xuICAgIHNvY2lhbFNlcnZpY2VJZDogc3RyaW5nO1xuICAgIGV2ZW50OiBFdmVudDtcbiAgICBjYWxsVG9BY3Rpb246IENhbGxUb0FjdGlvbjtcbiAgICB2aWRlb1VybDogc3RyaW5nO1xuICAgIGVycm9yOiBFcnJvcjtcbiAgICBpbWFnZVVybHM6IHN0cmluZ1tdO1xuICAgIGxpbmtQcmV2aWV3SW1hZ2VVcmw6IHN0cmluZztcbiAgICBicmFuZElkOiBzdHJpbmc7XG4gICAgbXVsdGlsb2NhdGlvblBvc3RJZDogc3RyaW5nO1xuICAgIHBvc3RUeXBlOiBlLlBvc3RUeXBlO1xuICAgIG1lZGlhRW50cmllczogTWVkaWFFbnRyeVtdO1xuICAgIG1ldGFEYXRhOiBNZXRhRGF0YVtdO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgeW91dHViZUN1c3RvbWl6YXRpb246IFlvdXR1YmVDdXN0b21pemF0aW9uO1xuICAgIHRpa3Rva0N1c3RvbWl6YXRpb246IFRpa1Rva0N1c3RvbWl6YXRpb247XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBTb2NpYWxQb3N0IHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU29jaWFsUG9zdCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5wb3N0ZWQpIHttLnBvc3RlZCA9IG5ldyBEYXRlKHByb3RvLnBvc3RlZCk7fVxuICAgICAgICBpZiAocHJvdG8uZGVsZXRpb25TdGF0dXMpIHttLmRlbGV0aW9uU3RhdHVzID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Tb2NpYWxQb3N0RGVsZXRpb25TdGF0dXM+KGUuU29jaWFsUG9zdERlbGV0aW9uU3RhdHVzLCBwcm90by5kZWxldGlvblN0YXR1cyk7fVxuICAgICAgICBpZiAocHJvdG8uc2VydmljZSkge20uc2VydmljZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuU29jaWFsUG9zdFNlcnZpY2U+KGUuU29jaWFsUG9zdFNlcnZpY2UsIHByb3RvLnNlcnZpY2UpO31cbiAgICAgICAgaWYgKHByb3RvLmNyZWF0ZWQpIHttLmNyZWF0ZWQgPSBuZXcgRGF0ZShwcm90by5jcmVhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by5zY2hlZHVsZWQpIHttLnNjaGVkdWxlZCA9IG5ldyBEYXRlKHByb3RvLnNjaGVkdWxlZCk7fVxuICAgICAgICBpZiAocHJvdG8uc3RhdHVzKSB7bS5zdGF0dXMgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlBvc3RpbmdTdGF0dXM+KGUuUG9zdGluZ1N0YXR1cywgcHJvdG8uc3RhdHVzKTt9XG4gICAgICAgIGlmIChwcm90by5ldmVudCkge20uZXZlbnQgPSBFdmVudC5mcm9tUHJvdG8ocHJvdG8uZXZlbnQpO31cbiAgICAgICAgaWYgKHByb3RvLmNhbGxUb0FjdGlvbikge20uY2FsbFRvQWN0aW9uID0gQ2FsbFRvQWN0aW9uLmZyb21Qcm90byhwcm90by5jYWxsVG9BY3Rpb24pO31cbiAgICAgICAgaWYgKHByb3RvLmVycm9yKSB7bS5lcnJvciA9IEVycm9yLmZyb21Qcm90byhwcm90by5lcnJvcik7fVxuICAgICAgICBpZiAocHJvdG8ucG9zdFR5cGUpIHttLnBvc3RUeXBlID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Qb3N0VHlwZT4oZS5Qb3N0VHlwZSwgcHJvdG8ucG9zdFR5cGUpO31cbiAgICAgICAgaWYgKHByb3RvLm1lZGlhRW50cmllcykge20ubWVkaWFFbnRyaWVzID0gcHJvdG8ubWVkaWFFbnRyaWVzLm1hcChNZWRpYUVudHJ5LmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ubWV0YURhdGEpIHttLm1ldGFEYXRhID0gcHJvdG8ubWV0YURhdGEubWFwKE1ldGFEYXRhLmZyb21Qcm90byk7fVxuICAgICAgICBpZiAocHJvdG8ueW91dHViZUN1c3RvbWl6YXRpb24pIHttLnlvdXR1YmVDdXN0b21pemF0aW9uID0gWW91dHViZUN1c3RvbWl6YXRpb24uZnJvbVByb3RvKHByb3RvLnlvdXR1YmVDdXN0b21pemF0aW9uKTt9XG4gICAgICAgIGlmIChwcm90by50aWt0b2tDdXN0b21pemF0aW9uKSB7bS50aWt0b2tDdXN0b21pemF0aW9uID0gVGlrVG9rQ3VzdG9taXphdGlvbi5mcm9tUHJvdG8ocHJvdG8udGlrdG9rQ3VzdG9taXphdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlNvY2lhbFBvc3RJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5idXNpbmVzc0lkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydidXNpbmVzc0lkJ10gPSB0aGlzLmJ1c2luZXNzSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsUG9zdElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxQb3N0SWQnXSA9IHRoaXMuc29jaWFsUG9zdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUZXh0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VGV4dCddID0gdGhpcy5wb3N0VGV4dDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3N0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMucG9zdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Bvc3RlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5wb3N0ZWQgPyAodGhpcy5wb3N0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMucG9zdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlzRXJyb3IgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lzRXJyb3InXSA9IHRoaXMuaXNFcnJvcjt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5kZWxldGlvblN0YXR1cyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZGVsZXRpb25TdGF0dXMnXSA9IHRoaXMuZGVsZXRpb25TdGF0dXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2VydmljZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc2VydmljZSddID0gdGhpcy5zZXJ2aWNlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBlcm1hbGluayAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncGVybWFsaW5rJ10gPSB0aGlzLnBlcm1hbGluazt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jcmVhdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmNyZWF0ZWQgIT09IG51bGwpIHt0b1JldHVyblsnY3JlYXRlZCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jcmVhdGVkID8gKHRoaXMuY3JlYXRlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jcmVhdGVkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb2ZpbGVVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Byb2ZpbGVVcmwnXSA9IHRoaXMucHJvZmlsZVVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9maWxlSW1hZ2VVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Byb2ZpbGVJbWFnZVVybCddID0gdGhpcy5wcm9maWxlSW1hZ2VVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2NoZWR1bGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnNjaGVkdWxlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydzY2hlZHVsZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuc2NoZWR1bGVkID8gKHRoaXMuc2NoZWR1bGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnNjaGVkdWxlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGF0dXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3N0YXR1cyddID0gdGhpcy5zdGF0dXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW1hZ2VVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ltYWdlVXJsJ10gPSB0aGlzLmltYWdlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ25hbWUnXSA9IHRoaXMubmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy51c2VybmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndXNlcm5hbWUnXSA9IHRoaXMudXNlcm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucGFyZW50SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3BhcmVudElkJ10gPSB0aGlzLnBhcmVudElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvY2lhbFNlcnZpY2VJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc29jaWFsU2VydmljZUlkJ10gPSB0aGlzLnNvY2lhbFNlcnZpY2VJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5ldmVudCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5ldmVudCAhPT0gbnVsbCkge3RvUmV0dXJuWydldmVudCddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5ldmVudCA/ICh0aGlzLmV2ZW50IGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmV2ZW50O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhbGxUb0FjdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jYWxsVG9BY3Rpb24gIT09IG51bGwpIHt0b1JldHVyblsnY2FsbFRvQWN0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNhbGxUb0FjdGlvbiA/ICh0aGlzLmNhbGxUb0FjdGlvbiBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5jYWxsVG9BY3Rpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudmlkZW9VcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ZpZGVvVXJsJ10gPSB0aGlzLnZpZGVvVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVycm9yICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmVycm9yICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Vycm9yJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmVycm9yID8gKHRoaXMuZXJyb3IgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZXJyb3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW1hZ2VVcmxzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbWFnZVVybHMnXSA9IHRoaXMuaW1hZ2VVcmxzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmxpbmtQcmV2aWV3SW1hZ2VVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2xpbmtQcmV2aWV3SW1hZ2VVcmwnXSA9IHRoaXMubGlua1ByZXZpZXdJbWFnZVVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5icmFuZElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydicmFuZElkJ10gPSB0aGlzLmJyYW5kSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubXVsdGlsb2NhdGlvblBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbXVsdGlsb2NhdGlvblBvc3RJZCddID0gdGhpcy5tdWx0aWxvY2F0aW9uUG9zdElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VHlwZSddID0gdGhpcy5wb3N0VHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWRpYUVudHJpZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubWVkaWFFbnRyaWVzICE9PSBudWxsKSB7dG9SZXR1cm5bJ21lZGlhRW50cmllcyddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tZWRpYUVudHJpZXMgPyAodGhpcy5tZWRpYUVudHJpZXMgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubWVkaWFFbnRyaWVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1ldGFEYXRhICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm1ldGFEYXRhICE9PSBudWxsKSB7dG9SZXR1cm5bJ21ldGFEYXRhJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLm1ldGFEYXRhID8gKHRoaXMubWV0YURhdGEgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMubWV0YURhdGE7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGl0bGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpdGxlJ10gPSB0aGlzLnRpdGxlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ3lvdXR1YmVDdXN0b21pemF0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uID8gKHRoaXMueW91dHViZUN1c3RvbWl6YXRpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMueW91dHViZUN1c3RvbWl6YXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy50aWt0b2tDdXN0b21pemF0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ3Rpa3Rva0N1c3RvbWl6YXRpb24nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbiA/ICh0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTb2NpYWxQb3N0RGF0YSBpbXBsZW1lbnRzIGkuU29jaWFsUG9zdERhdGFJbnRlcmZhY2Uge1xuICAgIHBvc3RUZXh0OiBzdHJpbmc7XG4gICAgaW1hZ2VVcmw6IHN0cmluZztcbiAgICBzY2hlZHVsZUZvcjogRGF0ZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFNvY2lhbFBvc3REYXRhIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU29jaWFsUG9zdERhdGEoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uc2NoZWR1bGVGb3IpIHttLnNjaGVkdWxlRm9yID0gbmV3IERhdGUocHJvdG8uc2NoZWR1bGVGb3IpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Tb2NpYWxQb3N0RGF0YUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUZXh0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VGV4dCddID0gdGhpcy5wb3N0VGV4dDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbWFnZVVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW1hZ2VVcmwnXSA9IHRoaXMuaW1hZ2VVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2NoZWR1bGVGb3IgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuc2NoZWR1bGVGb3IgIT09IG51bGwpIHt0b1JldHVyblsnc2NoZWR1bGVGb3InXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuc2NoZWR1bGVGb3IgPyAodGhpcy5zY2hlZHVsZUZvciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5zY2hlZHVsZUZvcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUaWtUb2tDdXN0b21pemF0aW9uIGltcGxlbWVudHMgaS5UaWtUb2tDdXN0b21pemF0aW9uSW50ZXJmYWNlIHtcbiAgICBhbGxvd0NvbW1lbnQ6IGJvb2xlYW47XG4gICAgYWxsb3dEdWV0OiBib29sZWFuO1xuICAgIGFsbG93U3RpdGNoOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVGlrVG9rQ3VzdG9taXphdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IFRpa1Rva0N1c3RvbWl6YXRpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRpa1Rva0N1c3RvbWl6YXRpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hbGxvd0NvbW1lbnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FsbG93Q29tbWVudCddID0gdGhpcy5hbGxvd0NvbW1lbnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWxsb3dEdWV0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbGxvd0R1ZXQnXSA9IHRoaXMuYWxsb3dEdWV0O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFsbG93U3RpdGNoICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbGxvd1N0aXRjaCddID0gdGhpcy5hbGxvd1N0aXRjaDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBZb3V0dWJlQ3VzdG9taXphdGlvbiBpbXBsZW1lbnRzIGkuWW91dHViZUN1c3RvbWl6YXRpb25JbnRlcmZhY2Uge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgcHJpdmFjeVN0YXR1czogZS5Zb3V0dWJlQ3VzdG9taXphdGlvblByaXZhY3lTdGF0dXM7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBZb3V0dWJlQ3VzdG9taXphdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IFlvdXR1YmVDdXN0b21pemF0aW9uKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnByaXZhY3lTdGF0dXMpIHttLnByaXZhY3lTdGF0dXMgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLllvdXR1YmVDdXN0b21pemF0aW9uUHJpdmFjeVN0YXR1cz4oZS5Zb3V0dWJlQ3VzdG9taXphdGlvblByaXZhY3lTdGF0dXMsIHByb3RvLnByaXZhY3lTdGF0dXMpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Zb3V0dWJlQ3VzdG9taXphdGlvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcml2YWN5U3RhdHVzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwcml2YWN5U3RhdHVzJ10gPSB0aGlzLnByaXZhY3lTdGF0dXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
|
|
635
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic29jaWFsLXBvc3RzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc29jaWFsX3Bvc3RzX3Nkay9zcmMvbGliL19pbnRlcm5hbC9vYmplY3RzL3NvY2lhbC1wb3N0cy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFRQSxPQUFPLEtBQUssQ0FBQyxNQUFNLFVBQVUsQ0FBQztBQUU5QixNQUFNLFVBQVUsaUJBQWlCLENBQUksT0FBWSxFQUFFLEtBQWE7SUFDOUQsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7UUFDN0IsT0FBTyxLQUFLLENBQUM7S0FDZDtJQUNELE9BQU8sT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFDO0FBQ3hCLENBQUM7QUFFRCxNQUFNLE9BQU8sTUFBTTtJQUlmLE1BQU0sQ0FBQyxTQUFTLENBQUMsS0FBVTtRQUN2QixJQUFJLENBQUMsR0FBRyxJQUFJLE1BQU0sRUFBRSxDQUFDO1FBQ3JCLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsRUFBRSxLQUFLLENBQUMsQ0FBQztRQUM1QixJQUFJLEtBQUssQ0FBQyxFQUFFLEVBQUU7WUFBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFFBQVEsQ0FBQyxLQUFLLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQUM7UUFDOUMsT0FBTyxDQUFDLENBQUM7SUFDYixDQUFDO0lBRUQsWUFBWSxNQUEwQjtRQUNsQyxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ1QsT0FBTztTQUNWO1FBQ0QsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELFNBQVM7UUFDTCxNQUFNLFFBQVEsR0FFVixFQUFFLENBQUM7UUFFUCxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksS0FBSyxXQUFXLEVBQUU7WUFBQyxRQUFRLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQztTQUFD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QyxDQUFDO0lBRUQsU0FBUztRQUNMLE1BQU0sUUFBUSxHQUVWLEVBQUUsQ0FBQztRQUVQLElBQUksT0FBTyxJQUFJLENBQUMsS0FBSyxLQUFLLFdBQVcsRUFBRTtZQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1NBQUM7UUFDeEUsSUFBSSxPQUFPLElBQUksQ0FBQyxhQUFhLEtBQUssV0FBVyxFQUFFO1lBQUMsUUFBUSxDQUFDLGVBQWUsQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FBQztRQUNoRyxPQUFPLFFBQVEsQ0FBQztJQUNwQixDQUFDO0NBQ0oiLCJzb3VyY2VzQ29udGVudCI6WyIvLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbi8vIENvZGUgZ2VuZXJhdGVkIGJ5IHNka2dlblxuLy8gRE8gTk9UIEVESVQhLlxuLy9cbi8vIE9iamVjdHMuXG4vLyAqKioqKioqKioqKioqKioqKioqKioqKioqKioqKioqKipcbmltcG9ydCAqIGFzIGkgZnJvbSAnLi4vaW50ZXJmYWNlcyc7XG5cbmltcG9ydCAqIGFzIGUgZnJvbSAnLi4vZW51bXMnO1xuXG5leHBvcnQgZnVuY3Rpb24gZW51bVN0cmluZ1RvVmFsdWU8RT4oZW51bVJlZjogYW55LCB2YWx1ZTogc3RyaW5nKTogRSB7XG4gIGlmICh0eXBlb2YgdmFsdWUgPT09ICdudW1iZXInKSB7XG4gICAgcmV0dXJuIHZhbHVlO1xuICB9XG4gIHJldHVybiBlbnVtUmVmW3ZhbHVlXTtcbn1cblxuZXhwb3J0IGNsYXNzIEF1dGhvciBpbXBsZW1lbnRzIGkuQXV0aG9ySW50ZXJmYWNlIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaWQ6IG51bWJlcjtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IEF1dGhvciB7XG4gICAgICAgIGxldCBtID0gbmV3IEF1dGhvcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pZCkge20uaWQgPSBwYXJzZUludChwcm90by5pZCwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5BdXRob3JJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2lkJ10gPSB0aGlzLmlkO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEJsb2dQb3N0Q3VzdG9taXphdGlvbiBpbXBsZW1lbnRzIGkuQmxvZ1Bvc3RDdXN0b21pemF0aW9uSW50ZXJmYWNlIHtcbiAgICBzaXRlVHlwZTogc3RyaW5nO1xuICAgIGF1dGhvcjogQXV0aG9yO1xuICAgIGNhdGVnb3JpZXM6IENhdGVnb3J5W107XG4gICAgdGFnczogc3RyaW5nW107XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBCbG9nUG9zdEN1c3RvbWl6YXRpb24ge1xuICAgICAgICBsZXQgbSA9IG5ldyBCbG9nUG9zdEN1c3RvbWl6YXRpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYXV0aG9yKSB7bS5hdXRob3IgPSBBdXRob3IuZnJvbVByb3RvKHByb3RvLmF1dGhvcik7fVxuICAgICAgICBpZiAocHJvdG8uY2F0ZWdvcmllcykge20uY2F0ZWdvcmllcyA9IHByb3RvLmNhdGVnb3JpZXMubWFwKENhdGVnb3J5LmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLkJsb2dQb3N0Q3VzdG9taXphdGlvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNpdGVUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzaXRlVHlwZSddID0gdGhpcy5zaXRlVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hdXRob3IgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuYXV0aG9yICE9PSBudWxsKSB7dG9SZXR1cm5bJ2F1dGhvciddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5hdXRob3IgPyAodGhpcy5hdXRob3IgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuYXV0aG9yO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNhdGVnb3JpZXMgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY2F0ZWdvcmllcyAhPT0gbnVsbCkge3RvUmV0dXJuWydjYXRlZ29yaWVzJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNhdGVnb3JpZXMgPyAodGhpcy5jYXRlZ29yaWVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNhdGVnb3JpZXM7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGFncyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndGFncyddID0gdGhpcy50YWdzO31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIENhbGxUb0FjdGlvbiBpbXBsZW1lbnRzIGkuQ2FsbFRvQWN0aW9uSW50ZXJmYWNlIHtcbiAgICB1cmw6IHN0cmluZztcbiAgICBhY3Rpb25UeXBlOiBlLkNhbGxUb0FjdGlvbkNhbGxUb0FjdGlvblR5cGU7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBDYWxsVG9BY3Rpb24ge1xuICAgICAgICBsZXQgbSA9IG5ldyBDYWxsVG9BY3Rpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uYWN0aW9uVHlwZSkge20uYWN0aW9uVHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuQ2FsbFRvQWN0aW9uQ2FsbFRvQWN0aW9uVHlwZT4oZS5DYWxsVG9BY3Rpb25DYWxsVG9BY3Rpb25UeXBlLCBwcm90by5hY3Rpb25UeXBlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuQ2FsbFRvQWN0aW9uSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd1cmwnXSA9IHRoaXMudXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFjdGlvblR5cGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FjdGlvblR5cGUnXSA9IHRoaXMuYWN0aW9uVHlwZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBDYXRlZ29yeSBpbXBsZW1lbnRzIGkuQ2F0ZWdvcnlJbnRlcmZhY2Uge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbmFtZTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogQ2F0ZWdvcnkge1xuICAgICAgICBsZXQgbSA9IG5ldyBDYXRlZ29yeSgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5pZCkge20uaWQgPSBwYXJzZUludChwcm90by5pZCwgMTApO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5DYXRlZ29yeUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpZCddID0gdGhpcy5pZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgRXJyb3IgaW1wbGVtZW50cyBpLkVycm9ySW50ZXJmYWNlIHtcbiAgICByZWFzb246IHN0cmluZztcbiAgICBjYXRlZ29yeTogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRXJyb3Ige1xuICAgICAgICBsZXQgbSA9IG5ldyBFcnJvcigpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuRXJyb3JJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5yZWFzb24gIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3JlYXNvbiddID0gdGhpcy5yZWFzb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY2F0ZWdvcnkgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2NhdGVnb3J5J10gPSB0aGlzLmNhdGVnb3J5O31cbiAgICAgICAgcmV0dXJuIHRvUmV0dXJuO1xuICAgIH1cbn1cblxuZXhwb3J0IGNsYXNzIEV2ZW50IGltcGxlbWVudHMgaS5FdmVudEludGVyZmFjZSB7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdGFydERhdGV0aW1lOiBEYXRlO1xuICAgIGVuZERhdGV0aW1lOiBEYXRlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogRXZlbnQge1xuICAgICAgICBsZXQgbSA9IG5ldyBFdmVudCgpO1xuICAgICAgICBtID0gT2JqZWN0LmFzc2lnbihtLCBwcm90byk7XG4gICAgICAgIGlmIChwcm90by5zdGFydERhdGV0aW1lKSB7bS5zdGFydERhdGV0aW1lID0gbmV3IERhdGUocHJvdG8uc3RhcnREYXRldGltZSk7fVxuICAgICAgICBpZiAocHJvdG8uZW5kRGF0ZXRpbWUpIHttLmVuZERhdGV0aW1lID0gbmV3IERhdGUocHJvdG8uZW5kRGF0ZXRpbWUpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5FdmVudEludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zdGFydERhdGV0aW1lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnN0YXJ0RGF0ZXRpbWUgIT09IG51bGwpIHt0b1JldHVyblsnc3RhcnREYXRldGltZSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5zdGFydERhdGV0aW1lID8gKHRoaXMuc3RhcnREYXRldGltZSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5zdGFydERhdGV0aW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVuZERhdGV0aW1lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmVuZERhdGV0aW1lICE9PSBudWxsKSB7dG9SZXR1cm5bJ2VuZERhdGV0aW1lJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmVuZERhdGV0aW1lID8gKHRoaXMuZW5kRGF0ZXRpbWUgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZW5kRGF0ZXRpbWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWVkaWFFbnRyeSBpbXBsZW1lbnRzIGkuTWVkaWFFbnRyeUludGVyZmFjZSB7XG4gICAgbWVkaWFFbnRyeUlkOiBzdHJpbmc7XG4gICAgbWVkaWFVcmw6IHN0cmluZztcbiAgICBtZWRpYVR5cGU6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIG1ldGFEYXRhOiBNZXRhRGF0YVtdO1xuICAgIG1lZGlhUGF0aDogc3RyaW5nO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogTWVkaWFFbnRyeSB7XG4gICAgICAgIGxldCBtID0gbmV3IE1lZGlhRW50cnkoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ubWV0YURhdGEpIHttLm1ldGFEYXRhID0gcHJvdG8ubWV0YURhdGEubWFwKE1ldGFEYXRhLmZyb21Qcm90byk7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLk1lZGlhRW50cnlJbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWRpYUVudHJ5SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZGlhRW50cnlJZCddID0gdGhpcy5tZWRpYUVudHJ5SWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVkaWFVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZGlhVXJsJ10gPSB0aGlzLm1lZGlhVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm1lZGlhVHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnbWVkaWFUeXBlJ10gPSB0aGlzLm1lZGlhVHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jb250YWluZXJJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnY29udGFpbmVySWQnXSA9IHRoaXMuY29udGFpbmVySWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWV0YURhdGEgIT09ICd1bmRlZmluZWQnICYmIHRoaXMubWV0YURhdGEgIT09IG51bGwpIHt0b1JldHVyblsnbWV0YURhdGEnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubWV0YURhdGEgPyAodGhpcy5tZXRhRGF0YSBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5tZXRhRGF0YTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZWRpYVBhdGggIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ21lZGlhUGF0aCddID0gdGhpcy5tZWRpYVBhdGg7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgTWV0YURhdGEgaW1wbGVtZW50cyBpLk1ldGFEYXRhSW50ZXJmYWNlIHtcbiAgICBwcm9wZXJ0eU5hbWU6IHN0cmluZztcbiAgICBwcm9wZXJ0eVZhbHVlOiBzdHJpbmc7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBNZXRhRGF0YSB7XG4gICAgICAgIGxldCBtID0gbmV3IE1ldGFEYXRhKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5NZXRhRGF0YUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnByb3BlcnR5TmFtZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncHJvcGVydHlOYW1lJ10gPSB0aGlzLnByb3BlcnR5TmFtZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9wZXJ0eVZhbHVlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwcm9wZXJ0eVZhbHVlJ10gPSB0aGlzLnByb3BlcnR5VmFsdWU7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgUG9zdFRlbXBsYXRlIGltcGxlbWVudHMgaS5Qb3N0VGVtcGxhdGVJbnRlcmZhY2Uge1xuICAgIGFjY291bnRHcm91cElkOiBzdHJpbmc7XG4gICAgdGVtcGxhdGVJZDogc3RyaW5nO1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgY3JlYXRlZDogRGF0ZTtcbiAgICB1cGRhdGVkOiBEYXRlO1xuICAgIHBvc3RUZXh0OiBzdHJpbmc7XG4gICAgcG9zdERhdGVUaW1lOiBEYXRlO1xuICAgIGdtYlBvc3RDdXN0b21pemF0aW9uOiBzdHJpbmc7XG4gICAgaW1hZ2VVcmw6IHN0cmluZztcbiAgICBpbWFnZVBhdGg6IHN0cmluZztcbiAgICBpbWFnZVNpemU6IHN0cmluZztcbiAgICBwcmV2aWV3czogc3RyaW5nO1xuICAgIG9wdGlvbnM6IHN0cmluZ1tdO1xuICAgIHZpZGVvVXJsOiBzdHJpbmc7XG4gICAgbWVkaWFFbnRyaWVzOiBNZWRpYUVudHJ5W107XG4gICAgbWV0YURhdGE6IE1ldGFEYXRhW107XG4gICAgcG9zdFR5cGU6IGUuUG9zdFR5cGU7XG4gICAgeW91dHViZUN1c3RvbWl6YXRpb246IFlvdXR1YmVDdXN0b21pemF0aW9uO1xuICAgIHRpa3Rva0N1c3RvbWl6YXRpb246IFRpa1Rva0N1c3RvbWl6YXRpb247XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBQb3N0VGVtcGxhdGUge1xuICAgICAgICBsZXQgbSA9IG5ldyBQb3N0VGVtcGxhdGUoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uY3JlYXRlZCkge20uY3JlYXRlZCA9IG5ldyBEYXRlKHByb3RvLmNyZWF0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnVwZGF0ZWQpIHttLnVwZGF0ZWQgPSBuZXcgRGF0ZShwcm90by51cGRhdGVkKTt9XG4gICAgICAgIGlmIChwcm90by5wb3N0RGF0ZVRpbWUpIHttLnBvc3REYXRlVGltZSA9IG5ldyBEYXRlKHByb3RvLnBvc3REYXRlVGltZSk7fVxuICAgICAgICBpZiAocHJvdG8ubWVkaWFFbnRyaWVzKSB7bS5tZWRpYUVudHJpZXMgPSBwcm90by5tZWRpYUVudHJpZXMubWFwKE1lZGlhRW50cnkuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5tZXRhRGF0YSkge20ubWV0YURhdGEgPSBwcm90by5tZXRhRGF0YS5tYXAoTWV0YURhdGEuZnJvbVByb3RvKTt9XG4gICAgICAgIGlmIChwcm90by5wb3N0VHlwZSkge20ucG9zdFR5cGUgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlBvc3RUeXBlPihlLlBvc3RUeXBlLCBwcm90by5wb3N0VHlwZSk7fVxuICAgICAgICBpZiAocHJvdG8ueW91dHViZUN1c3RvbWl6YXRpb24pIHttLnlvdXR1YmVDdXN0b21pemF0aW9uID0gWW91dHViZUN1c3RvbWl6YXRpb24uZnJvbVByb3RvKHByb3RvLnlvdXR1YmVDdXN0b21pemF0aW9uKTt9XG4gICAgICAgIGlmIChwcm90by50aWt0b2tDdXN0b21pemF0aW9uKSB7bS50aWt0b2tDdXN0b21pemF0aW9uID0gVGlrVG9rQ3VzdG9taXphdGlvbi5mcm9tUHJvdG8ocHJvdG8udGlrdG9rQ3VzdG9taXphdGlvbik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlBvc3RUZW1wbGF0ZUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFjY291bnRHcm91cElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhY2NvdW50R3JvdXBJZCddID0gdGhpcy5hY2NvdW50R3JvdXBJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy50ZW1wbGF0ZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0ZW1wbGF0ZUlkJ10gPSB0aGlzLnRlbXBsYXRlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudGl0bGUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3RpdGxlJ10gPSB0aGlzLnRpdGxlO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmNyZWF0ZWQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY3JlYXRlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydjcmVhdGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmNyZWF0ZWQgPyAodGhpcy5jcmVhdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmNyZWF0ZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXBkYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy51cGRhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ3VwZGF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMudXBkYXRlZCA/ICh0aGlzLnVwZGF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMudXBkYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3N0VGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncG9zdFRleHQnXSA9IHRoaXMucG9zdFRleHQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zdERhdGVUaW1lICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBvc3REYXRlVGltZSAhPT0gbnVsbCkge3RvUmV0dXJuWydwb3N0RGF0ZVRpbWUnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucG9zdERhdGVUaW1lID8gKHRoaXMucG9zdERhdGVUaW1lIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnBvc3REYXRlVGltZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5nbWJQb3N0Q3VzdG9taXphdGlvbiAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnZ21iUG9zdEN1c3RvbWl6YXRpb24nXSA9IHRoaXMuZ21iUG9zdEN1c3RvbWl6YXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuaW1hZ2VVcmwgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ltYWdlVXJsJ10gPSB0aGlzLmltYWdlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlUGF0aCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW1hZ2VQYXRoJ10gPSB0aGlzLmltYWdlUGF0aDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbWFnZVNpemUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2ltYWdlU2l6ZSddID0gdGhpcy5pbWFnZVNpemU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJldmlld3MgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3ByZXZpZXdzJ10gPSB0aGlzLnByZXZpZXdzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm9wdGlvbnMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ29wdGlvbnMnXSA9IHRoaXMub3B0aW9uczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy52aWRlb1VybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsndmlkZW9VcmwnXSA9IHRoaXMudmlkZW9Vcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVkaWFFbnRyaWVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm1lZGlhRW50cmllcyAhPT0gbnVsbCkge3RvUmV0dXJuWydtZWRpYUVudHJpZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubWVkaWFFbnRyaWVzID8gKHRoaXMubWVkaWFFbnRyaWVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1lZGlhRW50cmllczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXRhRGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tZXRhRGF0YSAhPT0gbnVsbCkge3RvUmV0dXJuWydtZXRhRGF0YSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tZXRhRGF0YSA/ICh0aGlzLm1ldGFEYXRhIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1ldGFEYXRhO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VHlwZSddID0gdGhpcy5wb3N0VHlwZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy55b3V0dWJlQ3VzdG9taXphdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy55b3V0dWJlQ3VzdG9taXphdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd5b3V0dWJlQ3VzdG9taXphdGlvbiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy55b3V0dWJlQ3VzdG9taXphdGlvbiA/ICh0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd0aWt0b2tDdXN0b21pemF0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb24gPyAodGhpcy50aWt0b2tDdXN0b21pemF0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb247fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU1NJRFBvc3RUeXBlIGltcGxlbWVudHMgaS5TU0lEUG9zdFR5cGVJbnRlcmZhY2Uge1xuICAgIHNvY2lhbFNlcnZpY2VJZDogc3RyaW5nO1xuICAgIHBvc3RUeXBlOiBlLlBvc3RUeXBlO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU1NJRFBvc3RUeXBlIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU1NJRFBvc3RUeXBlKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnBvc3RUeXBlKSB7bS5wb3N0VHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuUG9zdFR5cGU+KGUuUG9zdFR5cGUsIHByb3RvLnBvc3RUeXBlKTt9XG4gICAgICAgIHJldHVybiBtO1xuICAgIH1cblxuICAgIGNvbnN0cnVjdG9yKGt3YXJncz86IGkuU1NJRFBvc3RUeXBlSW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsU2VydmljZUlkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxTZXJ2aWNlSWQnXSA9IHRoaXMuc29jaWFsU2VydmljZUlkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUeXBlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VHlwZSddID0gdGhpcy5wb3N0VHlwZTt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTY2hlZHVsZVBvc3RTdGF0dXMgaW1wbGVtZW50cyBpLlNjaGVkdWxlUG9zdFN0YXR1c0ludGVyZmFjZSB7XG4gICAgc29jaWFsUG9zdElkOiBzdHJpbmc7XG4gICAgc29jaWFsU2VydmljZUlkOiBzdHJpbmc7XG4gICAgc29jaWFsU2VydmljZUxhYmVsOiBzdHJpbmc7XG4gICAgZXJyb3I6IEVycm9yO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU2NoZWR1bGVQb3N0U3RhdHVzIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU2NoZWR1bGVQb3N0U3RhdHVzKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLmVycm9yKSB7bS5lcnJvciA9IEVycm9yLmZyb21Qcm90byhwcm90by5lcnJvcik7fVxuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlNjaGVkdWxlUG9zdFN0YXR1c0ludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvY2lhbFBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc29jaWFsUG9zdElkJ10gPSB0aGlzLnNvY2lhbFBvc3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NpYWxTZXJ2aWNlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvY2lhbFNlcnZpY2VJZCddID0gdGhpcy5zb2NpYWxTZXJ2aWNlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc29jaWFsU2VydmljZUxhYmVsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzb2NpYWxTZXJ2aWNlTGFiZWwnXSA9IHRoaXMuc29jaWFsU2VydmljZUxhYmVsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmVycm9yICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmVycm9yICE9PSBudWxsKSB7dG9SZXR1cm5bJ2Vycm9yJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLmVycm9yID8gKHRoaXMuZXJyb3IgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuZXJyb3I7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG5leHBvcnQgY2xhc3MgU29jaWFsUG9zdCBpbXBsZW1lbnRzIGkuU29jaWFsUG9zdEludGVyZmFjZSB7XG4gICAgYnVzaW5lc3NJZDogc3RyaW5nO1xuICAgIHNvY2lhbFBvc3RJZDogc3RyaW5nO1xuICAgIHBvc3RUZXh0OiBzdHJpbmc7XG4gICAgcG9zdGVkOiBEYXRlO1xuICAgIGlzRXJyb3I6IGJvb2xlYW47XG4gICAgZGVsZXRpb25TdGF0dXM6IGUuU29jaWFsUG9zdERlbGV0aW9uU3RhdHVzO1xuICAgIHNlcnZpY2U6IGUuU29jaWFsUG9zdFNlcnZpY2U7XG4gICAgcGVybWFsaW5rOiBzdHJpbmc7XG4gICAgY3JlYXRlZDogRGF0ZTtcbiAgICBwcm9maWxlVXJsOiBzdHJpbmc7XG4gICAgcHJvZmlsZUltYWdlVXJsOiBzdHJpbmc7XG4gICAgc2NoZWR1bGVkOiBEYXRlO1xuICAgIHN0YXR1czogZS5Qb3N0aW5nU3RhdHVzO1xuICAgIGltYWdlVXJsOiBzdHJpbmc7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHVzZXJuYW1lOiBzdHJpbmc7XG4gICAgcGFyZW50SWQ6IHN0cmluZztcbiAgICBzb2NpYWxTZXJ2aWNlSWQ6IHN0cmluZztcbiAgICBldmVudDogRXZlbnQ7XG4gICAgY2FsbFRvQWN0aW9uOiBDYWxsVG9BY3Rpb247XG4gICAgdmlkZW9Vcmw6IHN0cmluZztcbiAgICBlcnJvcjogRXJyb3I7XG4gICAgaW1hZ2VVcmxzOiBzdHJpbmdbXTtcbiAgICBsaW5rUHJldmlld0ltYWdlVXJsOiBzdHJpbmc7XG4gICAgYnJhbmRJZDogc3RyaW5nO1xuICAgIG11bHRpbG9jYXRpb25Qb3N0SWQ6IHN0cmluZztcbiAgICBwb3N0VHlwZTogZS5Qb3N0VHlwZTtcbiAgICBtZWRpYUVudHJpZXM6IE1lZGlhRW50cnlbXTtcbiAgICBtZXRhRGF0YTogTWV0YURhdGFbXTtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHlvdXR1YmVDdXN0b21pemF0aW9uOiBZb3V0dWJlQ3VzdG9taXphdGlvbjtcbiAgICB0aWt0b2tDdXN0b21pemF0aW9uOiBUaWtUb2tDdXN0b21pemF0aW9uO1xuICAgIGJsb2dQb3N0Q3VzdG9taXphdGlvbjogQmxvZ1Bvc3RDdXN0b21pemF0aW9uO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogU29jaWFsUG9zdCB7XG4gICAgICAgIGxldCBtID0gbmV3IFNvY2lhbFBvc3QoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8ucG9zdGVkKSB7bS5wb3N0ZWQgPSBuZXcgRGF0ZShwcm90by5wb3N0ZWQpO31cbiAgICAgICAgaWYgKHByb3RvLmRlbGV0aW9uU3RhdHVzKSB7bS5kZWxldGlvblN0YXR1cyA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuU29jaWFsUG9zdERlbGV0aW9uU3RhdHVzPihlLlNvY2lhbFBvc3REZWxldGlvblN0YXR1cywgcHJvdG8uZGVsZXRpb25TdGF0dXMpO31cbiAgICAgICAgaWYgKHByb3RvLnNlcnZpY2UpIHttLnNlcnZpY2UgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLlNvY2lhbFBvc3RTZXJ2aWNlPihlLlNvY2lhbFBvc3RTZXJ2aWNlLCBwcm90by5zZXJ2aWNlKTt9XG4gICAgICAgIGlmIChwcm90by5jcmVhdGVkKSB7bS5jcmVhdGVkID0gbmV3IERhdGUocHJvdG8uY3JlYXRlZCk7fVxuICAgICAgICBpZiAocHJvdG8uc2NoZWR1bGVkKSB7bS5zY2hlZHVsZWQgPSBuZXcgRGF0ZShwcm90by5zY2hlZHVsZWQpO31cbiAgICAgICAgaWYgKHByb3RvLnN0YXR1cykge20uc3RhdHVzID0gZW51bVN0cmluZ1RvVmFsdWU8ZS5Qb3N0aW5nU3RhdHVzPihlLlBvc3RpbmdTdGF0dXMsIHByb3RvLnN0YXR1cyk7fVxuICAgICAgICBpZiAocHJvdG8uZXZlbnQpIHttLmV2ZW50ID0gRXZlbnQuZnJvbVByb3RvKHByb3RvLmV2ZW50KTt9XG4gICAgICAgIGlmIChwcm90by5jYWxsVG9BY3Rpb24pIHttLmNhbGxUb0FjdGlvbiA9IENhbGxUb0FjdGlvbi5mcm9tUHJvdG8ocHJvdG8uY2FsbFRvQWN0aW9uKTt9XG4gICAgICAgIGlmIChwcm90by5lcnJvcikge20uZXJyb3IgPSBFcnJvci5mcm9tUHJvdG8ocHJvdG8uZXJyb3IpO31cbiAgICAgICAgaWYgKHByb3RvLnBvc3RUeXBlKSB7bS5wb3N0VHlwZSA9IGVudW1TdHJpbmdUb1ZhbHVlPGUuUG9zdFR5cGU+KGUuUG9zdFR5cGUsIHByb3RvLnBvc3RUeXBlKTt9XG4gICAgICAgIGlmIChwcm90by5tZWRpYUVudHJpZXMpIHttLm1lZGlhRW50cmllcyA9IHByb3RvLm1lZGlhRW50cmllcy5tYXAoTWVkaWFFbnRyeS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLm1ldGFEYXRhKSB7bS5tZXRhRGF0YSA9IHByb3RvLm1ldGFEYXRhLm1hcChNZXRhRGF0YS5mcm9tUHJvdG8pO31cbiAgICAgICAgaWYgKHByb3RvLnlvdXR1YmVDdXN0b21pemF0aW9uKSB7bS55b3V0dWJlQ3VzdG9taXphdGlvbiA9IFlvdXR1YmVDdXN0b21pemF0aW9uLmZyb21Qcm90byhwcm90by55b3V0dWJlQ3VzdG9taXphdGlvbik7fVxuICAgICAgICBpZiAocHJvdG8udGlrdG9rQ3VzdG9taXphdGlvbikge20udGlrdG9rQ3VzdG9taXphdGlvbiA9IFRpa1Rva0N1c3RvbWl6YXRpb24uZnJvbVByb3RvKHByb3RvLnRpa3Rva0N1c3RvbWl6YXRpb24pO31cbiAgICAgICAgaWYgKHByb3RvLmJsb2dQb3N0Q3VzdG9taXphdGlvbikge20uYmxvZ1Bvc3RDdXN0b21pemF0aW9uID0gQmxvZ1Bvc3RDdXN0b21pemF0aW9uLmZyb21Qcm90byhwcm90by5ibG9nUG9zdEN1c3RvbWl6YXRpb24pO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Tb2NpYWxQb3N0SW50ZXJmYWNlKSB7XG4gICAgICAgIGlmICgha3dhcmdzKSB7XG4gICAgICAgICAgICByZXR1cm47XG4gICAgICAgIH1cbiAgICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLCBrd2FyZ3MpO1xuICAgIH1cblxuICAgIHRvQXBpSnNvbigpOiBvYmplY3Qge1xuICAgICAgICBjb25zdCB0b1JldHVybjoge1xuICAgICAgICAgICAgW2tleTogc3RyaW5nXTogYW55O1xuICAgICAgICB9ID0ge307XG4gICAgICAgIFxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYnVzaW5lc3NJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYnVzaW5lc3NJZCddID0gdGhpcy5idXNpbmVzc0lkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNvY2lhbFBvc3RJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnc29jaWFsUG9zdElkJ10gPSB0aGlzLnNvY2lhbFBvc3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3N0VGV4dCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncG9zdFRleHQnXSA9IHRoaXMucG9zdFRleHQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucG9zdGVkICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLnBvc3RlZCAhPT0gbnVsbCkge3RvUmV0dXJuWydwb3N0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMucG9zdGVkID8gKHRoaXMucG9zdGVkIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnBvc3RlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pc0Vycm9yICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpc0Vycm9yJ10gPSB0aGlzLmlzRXJyb3I7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZGVsZXRpb25TdGF0dXMgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2RlbGV0aW9uU3RhdHVzJ10gPSB0aGlzLmRlbGV0aW9uU3RhdHVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNlcnZpY2UgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NlcnZpY2UnXSA9IHRoaXMuc2VydmljZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wZXJtYWxpbmsgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3Blcm1hbGluayddID0gdGhpcy5wZXJtYWxpbms7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuY3JlYXRlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5jcmVhdGVkICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NyZWF0ZWQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuY3JlYXRlZCA/ICh0aGlzLmNyZWF0ZWQgYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY3JlYXRlZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcm9maWxlVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwcm9maWxlVXJsJ10gPSB0aGlzLnByb2ZpbGVVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMucHJvZmlsZUltYWdlVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwcm9maWxlSW1hZ2VVcmwnXSA9IHRoaXMucHJvZmlsZUltYWdlVXJsO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnNjaGVkdWxlZCAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5zY2hlZHVsZWQgIT09IG51bGwpIHt0b1JldHVyblsnc2NoZWR1bGVkJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnNjaGVkdWxlZCA/ICh0aGlzLnNjaGVkdWxlZCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5zY2hlZHVsZWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc3RhdHVzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydzdGF0dXMnXSA9IHRoaXMuc3RhdHVzO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydpbWFnZVVybCddID0gdGhpcy5pbWFnZVVybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5uYW1lICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyduYW1lJ10gPSB0aGlzLm5hbWU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMudXNlcm5hbWUgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3VzZXJuYW1lJ10gPSB0aGlzLnVzZXJuYW1lO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBhcmVudElkICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwYXJlbnRJZCddID0gdGhpcy5wYXJlbnRJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5zb2NpYWxTZXJ2aWNlSWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ3NvY2lhbFNlcnZpY2VJZCddID0gdGhpcy5zb2NpYWxTZXJ2aWNlSWQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuZXZlbnQgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuZXZlbnQgIT09IG51bGwpIHt0b1JldHVyblsnZXZlbnQnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuZXZlbnQgPyAodGhpcy5ldmVudCBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5ldmVudDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5jYWxsVG9BY3Rpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMuY2FsbFRvQWN0aW9uICE9PSBudWxsKSB7dG9SZXR1cm5bJ2NhbGxUb0FjdGlvbiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5jYWxsVG9BY3Rpb24gPyAodGhpcy5jYWxsVG9BY3Rpb24gYXMgYW55KS50b0FwaUpzb24oKSA6IHRoaXMuY2FsbFRvQWN0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnZpZGVvVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd2aWRlb1VybCddID0gdGhpcy52aWRlb1VybDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5lcnJvciAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5lcnJvciAhPT0gbnVsbCkge3RvUmV0dXJuWydlcnJvciddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5lcnJvciA/ICh0aGlzLmVycm9yIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmVycm9yO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmltYWdlVXJscyAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW1hZ2VVcmxzJ10gPSB0aGlzLmltYWdlVXJsczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5saW5rUHJldmlld0ltYWdlVXJsICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydsaW5rUHJldmlld0ltYWdlVXJsJ10gPSB0aGlzLmxpbmtQcmV2aWV3SW1hZ2VVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYnJhbmRJZCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnYnJhbmRJZCddID0gdGhpcy5icmFuZElkO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLm11bHRpbG9jYXRpb25Qb3N0SWQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ211bHRpbG9jYXRpb25Qb3N0SWQnXSA9IHRoaXMubXVsdGlsb2NhdGlvblBvc3RJZDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wb3N0VHlwZSAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsncG9zdFR5cGUnXSA9IHRoaXMucG9zdFR5cGU7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubWVkaWFFbnRyaWVzICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLm1lZGlhRW50cmllcyAhPT0gbnVsbCkge3RvUmV0dXJuWydtZWRpYUVudHJpZXMnXSA9ICd0b0FwaUpzb24nIGluIHRoaXMubWVkaWFFbnRyaWVzID8gKHRoaXMubWVkaWFFbnRyaWVzIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1lZGlhRW50cmllczt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5tZXRhRGF0YSAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy5tZXRhRGF0YSAhPT0gbnVsbCkge3RvUmV0dXJuWydtZXRhRGF0YSddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy5tZXRhRGF0YSA/ICh0aGlzLm1ldGFEYXRhIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLm1ldGFEYXRhO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy55b3V0dWJlQ3VzdG9taXphdGlvbiAhPT0gJ3VuZGVmaW5lZCcgJiYgdGhpcy55b3V0dWJlQ3VzdG9taXphdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd5b3V0dWJlQ3VzdG9taXphdGlvbiddID0gJ3RvQXBpSnNvbicgaW4gdGhpcy55b3V0dWJlQ3VzdG9taXphdGlvbiA/ICh0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnlvdXR1YmVDdXN0b21pemF0aW9uO31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb24gIT09ICd1bmRlZmluZWQnICYmIHRoaXMudGlrdG9rQ3VzdG9taXphdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWyd0aWt0b2tDdXN0b21pemF0aW9uJ10gPSAndG9BcGlKc29uJyBpbiB0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb24gPyAodGhpcy50aWt0b2tDdXN0b21pemF0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLnRpa3Rva0N1c3RvbWl6YXRpb247fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYmxvZ1Bvc3RDdXN0b21pemF0aW9uICE9PSAndW5kZWZpbmVkJyAmJiB0aGlzLmJsb2dQb3N0Q3VzdG9taXphdGlvbiAhPT0gbnVsbCkge3RvUmV0dXJuWydibG9nUG9zdEN1c3RvbWl6YXRpb24nXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuYmxvZ1Bvc3RDdXN0b21pemF0aW9uID8gKHRoaXMuYmxvZ1Bvc3RDdXN0b21pemF0aW9uIGFzIGFueSkudG9BcGlKc29uKCkgOiB0aGlzLmJsb2dQb3N0Q3VzdG9taXphdGlvbjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBTb2NpYWxQb3N0RGF0YSBpbXBsZW1lbnRzIGkuU29jaWFsUG9zdERhdGFJbnRlcmZhY2Uge1xuICAgIHBvc3RUZXh0OiBzdHJpbmc7XG4gICAgaW1hZ2VVcmw6IHN0cmluZztcbiAgICBzY2hlZHVsZUZvcjogRGF0ZTtcblxuICAgIHN0YXRpYyBmcm9tUHJvdG8ocHJvdG86IGFueSk6IFNvY2lhbFBvc3REYXRhIHtcbiAgICAgICAgbGV0IG0gPSBuZXcgU29jaWFsUG9zdERhdGEoKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICBpZiAocHJvdG8uc2NoZWR1bGVGb3IpIHttLnNjaGVkdWxlRm9yID0gbmV3IERhdGUocHJvdG8uc2NoZWR1bGVGb3IpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Tb2NpYWxQb3N0RGF0YUludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnBvc3RUZXh0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwb3N0VGV4dCddID0gdGhpcy5wb3N0VGV4dDt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5pbWFnZVVybCAhPT0gJ3VuZGVmaW5lZCcpIHt0b1JldHVyblsnaW1hZ2VVcmwnXSA9IHRoaXMuaW1hZ2VVcmw7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuc2NoZWR1bGVGb3IgIT09ICd1bmRlZmluZWQnICYmIHRoaXMuc2NoZWR1bGVGb3IgIT09IG51bGwpIHt0b1JldHVyblsnc2NoZWR1bGVGb3InXSA9ICd0b0FwaUpzb24nIGluIHRoaXMuc2NoZWR1bGVGb3IgPyAodGhpcy5zY2hlZHVsZUZvciBhcyBhbnkpLnRvQXBpSnNvbigpIDogdGhpcy5zY2hlZHVsZUZvcjt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBUaWtUb2tDdXN0b21pemF0aW9uIGltcGxlbWVudHMgaS5UaWtUb2tDdXN0b21pemF0aW9uSW50ZXJmYWNlIHtcbiAgICBhbGxvd0NvbW1lbnQ6IGJvb2xlYW47XG4gICAgYWxsb3dEdWV0OiBib29sZWFuO1xuICAgIGFsbG93U3RpdGNoOiBib29sZWFuO1xuXG4gICAgc3RhdGljIGZyb21Qcm90byhwcm90bzogYW55KTogVGlrVG9rQ3VzdG9taXphdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IFRpa1Rva0N1c3RvbWl6YXRpb24oKTtcbiAgICAgICAgbSA9IE9iamVjdC5hc3NpZ24obSwgcHJvdG8pO1xuICAgICAgICByZXR1cm4gbTtcbiAgICB9XG5cbiAgICBjb25zdHJ1Y3Rvcihrd2FyZ3M/OiBpLlRpa1Rva0N1c3RvbWl6YXRpb25JbnRlcmZhY2UpIHtcbiAgICAgICAgaWYgKCFrd2FyZ3MpIHtcbiAgICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBPYmplY3QuYXNzaWduKHRoaXMsIGt3YXJncyk7XG4gICAgfVxuXG4gICAgdG9BcGlKc29uKCk6IG9iamVjdCB7XG4gICAgICAgIGNvbnN0IHRvUmV0dXJuOiB7XG4gICAgICAgICAgICBba2V5OiBzdHJpbmddOiBhbnk7XG4gICAgICAgIH0gPSB7fTtcbiAgICAgICAgXG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5hbGxvd0NvbW1lbnQgIT09ICd1bmRlZmluZWQnKSB7dG9SZXR1cm5bJ2FsbG93Q29tbWVudCddID0gdGhpcy5hbGxvd0NvbW1lbnQ7fVxuICAgICAgICBpZiAodHlwZW9mIHRoaXMuYWxsb3dEdWV0ICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbGxvd0R1ZXQnXSA9IHRoaXMuYWxsb3dEdWV0O31cbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLmFsbG93U3RpdGNoICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydhbGxvd1N0aXRjaCddID0gdGhpcy5hbGxvd1N0aXRjaDt9XG4gICAgICAgIHJldHVybiB0b1JldHVybjtcbiAgICB9XG59XG5cbmV4cG9ydCBjbGFzcyBZb3V0dWJlQ3VzdG9taXphdGlvbiBpbXBsZW1lbnRzIGkuWW91dHViZUN1c3RvbWl6YXRpb25JbnRlcmZhY2Uge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgcHJpdmFjeVN0YXR1czogZS5Zb3V0dWJlQ3VzdG9taXphdGlvblByaXZhY3lTdGF0dXM7XG5cbiAgICBzdGF0aWMgZnJvbVByb3RvKHByb3RvOiBhbnkpOiBZb3V0dWJlQ3VzdG9taXphdGlvbiB7XG4gICAgICAgIGxldCBtID0gbmV3IFlvdXR1YmVDdXN0b21pemF0aW9uKCk7XG4gICAgICAgIG0gPSBPYmplY3QuYXNzaWduKG0sIHByb3RvKTtcbiAgICAgICAgaWYgKHByb3RvLnByaXZhY3lTdGF0dXMpIHttLnByaXZhY3lTdGF0dXMgPSBlbnVtU3RyaW5nVG9WYWx1ZTxlLllvdXR1YmVDdXN0b21pemF0aW9uUHJpdmFjeVN0YXR1cz4oZS5Zb3V0dWJlQ3VzdG9taXphdGlvblByaXZhY3lTdGF0dXMsIHByb3RvLnByaXZhY3lTdGF0dXMpO31cbiAgICAgICAgcmV0dXJuIG07XG4gICAgfVxuXG4gICAgY29uc3RydWN0b3Ioa3dhcmdzPzogaS5Zb3V0dWJlQ3VzdG9taXphdGlvbkludGVyZmFjZSkge1xuICAgICAgICBpZiAoIWt3YXJncykge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICB9XG4gICAgICAgIE9iamVjdC5hc3NpZ24odGhpcywga3dhcmdzKTtcbiAgICB9XG5cbiAgICB0b0FwaUpzb24oKTogb2JqZWN0IHtcbiAgICAgICAgY29uc3QgdG9SZXR1cm46IHtcbiAgICAgICAgICAgIFtrZXk6IHN0cmluZ106IGFueTtcbiAgICAgICAgfSA9IHt9O1xuICAgICAgICBcbiAgICAgICAgaWYgKHR5cGVvZiB0aGlzLnRpdGxlICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWyd0aXRsZSddID0gdGhpcy50aXRsZTt9XG4gICAgICAgIGlmICh0eXBlb2YgdGhpcy5wcml2YWN5U3RhdHVzICE9PSAndW5kZWZpbmVkJykge3RvUmV0dXJuWydwcml2YWN5U3RhdHVzJ10gPSB0aGlzLnByaXZhY3lTdGF0dXM7fVxuICAgICAgICByZXR1cm4gdG9SZXR1cm47XG4gICAgfVxufVxuXG4iXX0=
|