tnp-core 18.0.9 → 18.0.15
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/README.md +20 -20
- package/assets/shared/shared_folder_info.txt +1 -1
- package/browser/README.md +24 -24
- package/browser/esm2022/lib/core-models.mjs +9 -1
- package/browser/esm2022/lib/utils.mjs +8 -1
- package/browser/fesm2022/tnp-core.mjs +15 -0
- package/browser/fesm2022/tnp-core.mjs.map +1 -1
- package/browser/lib/core-models.d.ts +2 -1
- package/browser/lib/utils.d.ts +5 -0
- package/browser/package.json +25 -0
- package/cli.backend.js +2 -2
- package/client/README.md +24 -24
- package/client/esm2022/lib/core-models.mjs +9 -1
- package/client/esm2022/lib/utils.mjs +8 -1
- package/client/fesm2022/tnp-core.mjs +15 -0
- package/client/fesm2022/tnp-core.mjs.map +1 -1
- package/client/lib/core-models.d.ts +2 -1
- package/client/lib/utils.d.ts +5 -0
- package/firedev.jsonc +64 -64
- package/lib/core-models.d.ts +2 -1
- package/lib/core-models.js +8 -0
- package/lib/core-models.js.map +1 -1
- package/lib/node-chalk-mock.js +2 -2
- package/lib/node-path-mock.js +2 -2
- package/lib/utils.d.ts +5 -0
- package/lib/utils.js +12 -0
- package/lib/utils.js.map +1 -1
- package/package.json +4 -4
- package/tmp-environment.json +29 -28
- package/websql/README.md +24 -24
- package/websql/esm2022/lib/core-models.mjs +9 -1
- package/websql/esm2022/lib/utils.mjs +8 -1
- package/websql/fesm2022/tnp-core.mjs +15 -0
- package/websql/fesm2022/tnp-core.mjs.map +1 -1
- package/websql/lib/core-models.d.ts +2 -1
- package/websql/lib/utils.d.ts +5 -0
- package/websql/package.json +25 -0
@@ -7,6 +7,14 @@ export var CoreModels;
|
|
7
7
|
'peerDependencies',
|
8
8
|
'resolutions',
|
9
9
|
];
|
10
|
+
CoreModels.NpmSpecialVersions = [
|
11
|
+
'latest',
|
12
|
+
'next',
|
13
|
+
'beta',
|
14
|
+
'alpha',
|
15
|
+
'rc',
|
16
|
+
'lts',
|
17
|
+
];
|
10
18
|
CoreModels.BaseProjectTypeArr = [
|
11
19
|
'typescript',
|
12
20
|
'angular',
|
@@ -107,4 +115,4 @@ export var CoreModels;
|
|
107
115
|
})(CoreModels || (CoreModels = {}));
|
108
116
|
;
|
109
117
|
({}); // @--end-of-file-for-module=tnp-core lib/core-models.ts
|
110
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9jb3JlLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLEtBQVcsVUFBVSxDQXdnQjFCO0FBeGdCRCxXQUFpQixVQUFVO0lBMEJaLDZCQUFrQixHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQVVwRCxzQ0FBMkIsR0FBRztRQUN6QyxjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixhQUFhO0tBQ2dCLENBQUM7SUFxSG5CLDZCQUFrQixHQUFHO1FBQ2hDLFlBQVk7UUFDWixTQUFTO1FBQ1QsYUFBYTtRQUNiLFFBQVE7UUFDUixvQkFBb0I7S0FDckIsQ0FBQztJQWtJVyxvQkFBUyxHQUFHO1FBQ3ZCLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSx1QkFBdUI7UUFDL0IsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSw4QkFBOEI7UUFDdEMsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxNQUFNLEVBQUUsV0FBVztRQUNuQixLQUFLLEVBQUUsb0JBQW9CO1FBQzNCLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsb0JBQW9CO1FBQzVCLE9BQU8sRUFDTCx5RUFBeUU7UUFDM0UsTUFBTSxFQUFFLCtCQUErQjtRQUN2QyxPQUFPLEVBQUUsc0JBQXNCO1FBQy9CLEtBQUssRUFBRSxrQkFBa0I7UUFDekIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsT0FBTyxFQUFFLFdBQVc7UUFDcEIsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxNQUFNLEVBQUUsZUFBZTtRQUN2QixNQUFNLEVBQUUsMEJBQTBCO1FBQ2xDLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLEtBQUssRUFBRSxpQkFBaUI7UUFDeEIsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixTQUFTLEVBQUUscUJBQXFCO1FBQ2hDLE1BQU0sRUFBRSxrQkFBa0I7UUFDMUIsT0FBTyxFQUFFLGtCQUFrQjtRQUMzQixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLE9BQU8sRUFBRSxxQ0FBcUM7UUFDOUMsTUFBTSxFQUFFLGlEQUFpRDtRQUN6RCxNQUFNLEVBQUUsZ0RBQWdEO1FBQ3hELE1BQU0sRUFBRSx5Q0FBeUM7UUFDakQsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixPQUFPLEVBQUUsWUFBWTtRQUNyQixNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsV0FBVztRQUNuQixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsTUFBTSxFQUFFLCtCQUErQjtRQUN2QyxPQUFPLEVBQ0wsMkVBQTJFO1FBQzdFLE1BQU0sRUFBRSxxQkFBcUI7UUFDN0IsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE1BQU0sRUFBRSxlQUFlO1FBQ3ZCLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsTUFBTSxFQUFFLG1CQUFtQjtRQUMzQixNQUFNLEVBQUUsWUFBWTtRQUNwQixPQUFPLEVBQUUsWUFBWTtRQUNyQixLQUFLLEVBQUUsWUFBWTtRQUNuQixNQUFNLEVBQUUsVUFBVTtRQUNsQixNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsdUJBQXVCO1FBQy9CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLE9BQU8sRUFBRSxZQUFZO1FBQ3JCLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLFFBQVEsRUFBRSxZQUFZO1FBQ3RCLFFBQVEsRUFBRSx1QkFBdUI7UUFDakMsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxPQUFPLEVBQ0wsbUVBQW1FO1FBQ3JFLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsTUFBTSxFQUFFLGlDQUFpQztRQUN6QyxNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSxZQUFZO1FBQ3BCLE1BQU0sRUFBRSxhQUFhO1FBQ3JCLEtBQUssRUFBRSw2QkFBNkI7S0FDNUIsQ0FBQztJQXNCRSwwQkFBZSxHQUFHO1FBQzdCLE1BQU07UUFDTixPQUFPO1FBQ1AsT0FBTztRQUNQLE9BQU87UUFDUCxNQUFNO1FBQ04sYUFBYTtRQUNiLFdBQVc7UUFDWCxTQUFTO1FBQ1QsT0FBTztLQUNPLENBQUM7SUFHSix1QkFBWSxHQUFHLFdBQUEsU0FBUyxDQUFDO0FBK0d4QyxDQUFDLEVBeGdCZ0IsVUFBVSxLQUFWLFVBQVUsUUF3Z0IxQjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsd0RBQXdEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmV4cG9ydCBuYW1lc3BhY2UgQ29yZU1vZGVscyB7XG5cbiAgZXhwb3J0IHR5cGUgUGFja2FnZSA9IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgICBpbnN0YWxsVHlwZT86IEluc3RhbGF0aW9uVHlwZTtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IHR5cGUgTnBtSW5zdGFsbE9wdGlvbnMgPSB7XG4gICAgcGtnPzogQ29yZU1vZGVscy5QYWNrYWdlO1xuICAgIHNpbGVudD86IGJvb2xlYW47XG4gICAgcmVtb3ZlPzogYm9vbGVhbjtcbiAgICB1c2VZYXJuPzogYm9vbGVhbjtcbiAgICBmb3JjZT86IGJvb2xlYW47XG4gICAgcmVhc29uPzogc3RyaW5nO1xuICAgIHJlbW92ZVlhcm5PclBhY2thZ2VKc29uTG9jaz86IGJvb2xlYW47XG4gICAgZ2VuZXJhdGVZYXJuT3JQYWNrYWdlSnNvbkxvY2s/OiBib29sZWFuO1xuICAgIGlnbm9yZU9wdGlvbmFsPzogYm9vbGVhbjtcbiAgfTtcblxuXG5cbiAgZXhwb3J0IHR5cGUgSW5zdGFsYXRpb25UeXBlID0gJy1nJyB8ICctLXNhdmUnIHwgJy0tc2F2ZS1kZXYnO1xuXG4gIGV4cG9ydCBjb25zdCBJbnN0YWxhdGlvblR5cGVBcnIgPSBbJy1nJywgJy0tc2F2ZScsICctLXNhdmUtZGV2J107XG5cblxuXG4gIGV4cG9ydCB0eXBlIFBhY2thZ2VKc29uRGVwZW5kZW5jeU9iaiA9XG4gICAgfCAnZGVwZW5kZW5jaWVzJ1xuICAgIHwgJ2RldkRlcGVuZGVuY2llcydcbiAgICB8ICdwZWVyRGVwZW5kZW5jaWVzJ1xuICAgIHwgJ3Jlc29sdXRpb25zJztcblxuICBleHBvcnQgY29uc3QgUGFja2FnZUpzb25EZXBlbmRlbmN5T2JqQXJyID0gW1xuICAgICdkZXBlbmRlbmNpZXMnLFxuICAgICdkZXZEZXBlbmRlbmNpZXMnLFxuICAgICdwZWVyRGVwZW5kZW5jaWVzJyxcbiAgICAncmVzb2x1dGlvbnMnLFxuICBdIGFzIFBhY2thZ2VKc29uRGVwZW5kZW5jeU9ialtdO1xuXG5cblxuICBleHBvcnQgdHlwZSBMaWJyYXJ5VHlwZSA9ICdhbmd1bGFyJyB8ICd0eXBlc2NyaXB0JztcblxuXG5cbiAgZXhwb3J0IHR5cGUgUmVsZWFzZVR5cGUgPSAnbWFqb3InIHwgJ21pbm9yJyB8ICdwYXRjaCc7XG4gIGV4cG9ydCB0eXBlIFByZVJlbGVhc2VUeXBlID0gJ2FscGhhJyB8ICdiZXRhJyB8ICdyYyc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIFBST0dSRVNTX0RBVEFfVFlQRSA9ICdpbmZvJyB8ICdlcnJvcicgfCAnd2FybmluZycgfCAnZXZlbnQnO1xuXG5cblxuICBleHBvcnQgdHlwZSBFbnZpcm9ubWVudE5hbWUgPVxuICAgIHwgJ2xvY2FsJ1xuICAgIHwgJ3N0YXRpYydcbiAgICB8ICdkZXYnXG4gICAgfCAnc3RhZ2UnXG4gICAgfCAncHJvZCdcbiAgICB8ICdvbmxpbmUnXG4gICAgfCAndGVzdCdcbiAgICB8ICdxYSdcbiAgICB8ICdjdXN0b20nO1xuXG5cblxuICBleHBvcnQgdHlwZSBQVVNIVFlQRSA9XG4gICAgfCAnZmVhdCdcbiAgICB8ICdjaG9yZSdcbiAgICB8ICdmZWF0dXJlJ1xuICAgIHwgJ3JlZmFjdG9yJ1xuICAgIHwgJ3BlcmYnXG4gICAgfCAnc3R5bGVzJ1xuICAgIHwgJ2NpJ1xuICAgIHwgJ2J1aWxkJ1xuICAgIHwgJ2ZpeCdcbiAgICB8ICdidWdmaXgnXG4gICAgfCAncmVsZWFzZSdcbiAgICB8ICdkb2NzJztcblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgdHlwZSBVSUZyYW1ld29yayA9ICdib290c3RyYXAnIHwgJ21hdGVyaWFsJyB8ICdpb25pYyc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEZyYW1ld29ya1ZlcnNpb24gPVxuICAgIHwgJ3YxJ1xuICAgIHwgJ3YyJ1xuICAgIHwgJ3YzJ1xuICAgIHwgJ3Y0J1xuICAgIHwgJ3YxNidcbiAgICB8ICd2MTgnXG4gICAgfCAndjIwJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgQ3V0YWJsZUZpbGVFeHQgPVxuICAgIHwgJ3Njc3MnXG4gICAgfCAnY3NzJ1xuICAgIHwgJ2xlc3MnXG4gICAgfCAnc2FzcydcbiAgICB8ICdodG1sJ1xuICAgIHwgJ3RzJ1xuICAgIHwgJ3RzeCdcbiAgICB8ICdqcyc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEltYWdlRmlsZUV4dGVuc2lvbiA9ICdqcGcnIHwgJ2pwZWcnIHwgJ3BuZycgfCAnc3ZnJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgRmlsZUV4dGVuc2lvbiA9XG4gICAgfCAnanNvbidcbiAgICB8ICdodG1sJ1xuICAgIHwgSW1hZ2VGaWxlRXh0ZW5zaW9uXG4gICAgfCAndHh0J1xuICAgIHwgQ3V0YWJsZUZpbGVFeHQ7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEh0dHBNZXRob2QgPVxuICAgIHwgJ2dldCdcbiAgICB8ICdwb3N0J1xuICAgIHwgJ3B1dCdcbiAgICB8ICdkZWxldGUnXG4gICAgfCAncGF0Y2gnXG4gICAgfCAnaGVhZCdcbiAgICB8ICdqc29ucCc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIFBhcmFtVHlwZSA9ICdQYXRoJyB8ICdRdWVyeScgfCAnQ29va2llJyB8ICdIZWFkZXInIHwgJ0JvZHknO1xuXG5cblxuICBleHBvcnQgdHlwZSBUc1VzYWdlID0gJ2ltcG9ydCcgfCAnZXhwb3J0JztcblxuXG5cbiAgZXhwb3J0IHR5cGUgQmFzZVByb2plY3RUeXBlID1cbiAgICB8ICd0eXBlc2NyaXB0J1xuICAgIHwgJ2FuZ3VsYXInXG4gICAgfCAnYW5ndWxhci1saWInXG4gICAgfCAndW5rbm93J1xuICAgIHwgJ3Vua25vdy1ucG0tcHJvamVjdCc7XG5cblxuXG4gIGV4cG9ydCBjb25zdCBCYXNlUHJvamVjdFR5cGVBcnIgPSBbXG4gICAgJ3R5cGVzY3JpcHQnLFxuICAgICdhbmd1bGFyJyxcbiAgICAnYW5ndWxhci1saWInLFxuICAgICd1bmtub3cnLFxuICAgICd1bmtub3ctbnBtLXByb2plY3QnLFxuICBdO1xuXG5cblxuICBleHBvcnQgdHlwZSBMaWJUeXBlID1cbiAgICB8IEJhc2VQcm9qZWN0VHlwZVxuICAgIHwgJ2lzb21vcnBoaWMtbGliJyAvLyArIGh0dHBzOi8vZ2l0aHViLmNvbS9tYXhpbWVncmlzL2FuZ3VsYXItZWxlY3Ryb25cbiAgICB8ICdjb250YWluZXInXG4gICAgfCAnZG9ja2VyJ1xuICAgIHwgJ3ZzY29kZS1leHQnXG4gICAgfCAnY2hyb21lLWV4dCdcbiAgICB8ICd1bmtub3ctbnBtLXByb2plY3QnO1xuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCB0eXBlIE5ld0ZhY3RvcnlUeXBlID0gTGliVHlwZSB8ICdtb2RlbCcgfCAnc2luZ2xlLWZpbGUtcHJvamVjdCc7XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgQ29yZUxpYkNhdGVnb3J5ID0gTGliVHlwZSB8ICdjb21tb24nO1xuXG5cblxuICBleHBvcnQgdHlwZSBGaWxlRXZlbnQgPSAnY3JlYXRlZCcgfCAnY2hhbmdlZCcgfCAncmVtb3ZlZCcgfCAncmVuYW1lJztcblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgdHlwZSBPdXRGb2xkZXIgPSAnZGlzdCcgfCAnYnJvd3Nlcic7XG5cblxuXG4gIGV4cG9ydCB0eXBlIERhdGFiYXNlVHlwZSA9ICc6aW5tZW1vcnknIHwgJ215c3FsJyB8ICdzcWxqcyc7XG5cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVXBsb2FkZWRCYWNrZW5kRmlsZSB7XG4gICAgZGF0YTpcbiAgICAgIHwgYW55XG4vKiAqL1xuLyogKi9cbiAgXG4gICAgZW5jb2Rpbmc6IHN0cmluZztcbiAgICBtZDU6IHN0cmluZztcbiAgICB0ZW1wRmlsZVBhdGg6IHN0cmluZztcbiAgICBtaW1ldHlwZTogQ29udGVudFR5cGU7XG4gICAgbXY6IChwYXRoLCBjYWxsYmFjaykgPT4gYW55O1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB0cnVuY2F0ZWQ6IGJvb2xlYW47XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVPcHRpb25zIHtcbiAgICAvKiogRXh0cmFjdCBzdHJpbmcgZnJvbSBsaW5lICovXG4gICAgZXh0cmFjdEZyb21MaW5lPzogKHN0cmluZyB8IEZ1bmN0aW9uKVtdO1xuICAgIC8qKlxuICAgICAqIE1vZGlmeSBvdXRwdXQgbGluZSBieSBsaW5lXG4gICAgICovXG4gICAgb3V0cHV0TGluZVJlcGxhY2U/OiAob3V0cHV0TGluZTogc3RyaW5nKSA9PiBzdHJpbmc7XG4gICAgcmVzb2x2ZVByb21pc2VNc2c/OiB7XG4gICAgICBzdGRvdXQ/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICAgIHN0ZGVycj86IHN0cmluZyB8IHN0cmluZ1tdO1xuICAgIH07XG4gICAgcHJlZml4Pzogc3RyaW5nO1xuICAgIGRldGFjaD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVHJ5IGNvbW1hbmQgYWdhaW4gYWZ0ZXIgZmFpbCBhZnRlciBuIG1pbGlzZWNvbmRzXG4gICAgICovXG4gICAgdHJ5QWdhaW5XaGVuRmFpbEFmdGVyPzogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqICBUT0RPIEBMQVNUIGltcGxlbWVudCB0aGlzXG4gICAgICpcbiAgICAgKiBPdXRwdXQgZnJvbSBwcm9jZXNzZSB3aXRoIHRoaXMga2V5XG4gICAgICogd2lsbCBub3QgYmUgZGlzcGxheWVkIHR3aWNlIHdoZW5cbiAgICAgKiAyIHByb2Nlc3NlcyBhcmUgcnVubmluZyBhdCB0aGUgc2FtZSB0aW1lXG4gICAgICovXG4gICAgc2ltaWxhclByb2Nlc3NLZXk/OiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBVc2UgYmlnIGJ1ZmZlciBmb3IgYmlnIHdlYnBhY2sgbG9nc1xuICAgICAqL1xuICAgIGJpZ2dlckJ1ZmZlcj86IGJvb2xlYW47XG4gICAgYXNrVG9UcnlBZ2Fpbk9uRXJyb3I/OiBib29sZWFuO1xuICAgIGV4aXRPbkVycm9yQ2FsbGJhY2s/OiAoY29kZTogbnVtYmVyKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIEZyb20gZGlzcGxheWluZyBpbiBjb25zb2xlXG4gICAgICovXG4gICAgaGlkZU91dHB1dD86IHtcbiAgICAgIHN0ZG91dD86IGJvb2xlYW47XG4gICAgICBzdGRlcnI/OiBib29sZWFuO1xuICAgICAgYWNjZXB0QWxsRXhpdENvZGVBc1N1Y2Nlc3M/OiBib29sZWFuO1xuICAgIH07XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIFJ1bk9wdGlvbnMgZXh0ZW5kcyBFeGVjdXRlT3B0aW9ucyB7XG4gICAgc2hvd0NvbW1hbmQ/OiBib29sZWFuO1xuXG4gICAgLyoqXG4gICAgICogU2hvdyBwcm9jZXNzIG91dHB1dFxuICAgICAqL1xuICAgIG91dHB1dD86IGJvb2xlYW47XG5cbiAgICBzaWxlbmNlPzogYm9vbGVhbjtcbiAgICBzdGRpbz86IGFueTtcblxuXG4gICAgY3dkPzogc3RyaW5nO1xuICB9XG5cblxuXG5cblxuICBleHBvcnQgY29uc3QgbWltZVR5cGVzID0ge1xuICAgICcuYWFjJzogJ2F1ZGlvL2FhYycsXG4gICAgJy5hYncnOiAnYXBwbGljYXRpb24veC1hYml3b3JkJyxcbiAgICAnLmFyYyc6ICdhcHBsaWNhdGlvbi94LWZyZWVhcmMnLFxuICAgICcuYXZpJzogJ3ZpZGVvL3gtbXN2aWRlbycsXG4gICAgJy5hencnOiAnYXBwbGljYXRpb24vdm5kLmFtYXpvbi5lYm9vaycsXG4gICAgJy5iaW4nOiAnYXBwbGljYXRpb24vb2N0ZXQtc3RyZWFtJyxcbiAgICAnLmJtcCc6ICdpbWFnZS9ibXAnLFxuICAgICcuYnonOiAnYXBwbGljYXRpb24veC1iemlwJyxcbiAgICAnLmJ6Mic6ICdhcHBsaWNhdGlvbi94LWJ6aXAyJyxcbiAgICAnLmNzaCc6ICdhcHBsaWNhdGlvbi94LWNzaCcsXG4gICAgJy5jc3MnOiAndGV4dC9jc3MnLFxuICAgICcuY3N2JzogJ3RleHQvY3N2JyxcbiAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICcuZG9jeCc6XG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICcuZW90JzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1mb250b2JqZWN0JyxcbiAgICAnLmVwdWInOiAnYXBwbGljYXRpb24vZXB1Yit6aXAnLFxuICAgICcuZ3onOiAnYXBwbGljYXRpb24vZ3ppcCcsXG4gICAgJy5naWYnOiAnaW1hZ2UvZ2lmJyxcbiAgICAnLmh0bSc6ICd0ZXh0L2h0bWwnLFxuICAgICcuaHRtbCc6ICd0ZXh0L2h0bWwnLFxuICAgICcuaWNvJzogJ2ltYWdlL3ZuZC5taWNyb3NvZnQuaWNvbicsXG4gICAgJy5pY3MnOiAndGV4dC9jYWxlbmRhcicsXG4gICAgJy5qYXInOiAnYXBwbGljYXRpb24vamF2YS1hcmNoaXZlJyxcbiAgICAnLmpwZWcnOiAnaW1hZ2UvanBlZycsXG4gICAgJy5qcGcnOiAnaW1hZ2UvanBlZycsXG4gICAgJy5qcyc6ICd0ZXh0L2phdmFzY3JpcHQnLFxuICAgICcuanNvbic6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAnLmpzb25sZCc6ICdhcHBsaWNhdGlvbi9sZCtqc29uJyxcbiAgICAnLm1pZCc6ICdhcHBsaWNhdGlvbi9taWRpJyxcbiAgICAnLm1pZGknOiAnYXBwbGljYXRpb24vbWlkaScsXG4gICAgJy5tanMnOiAndGV4dC9qYXZhc2NyaXB0JyxcbiAgICAnLm1wMyc6ICdhdWRpby9tcGVnJyxcbiAgICAnLm1wNCc6ICd2aWRlby9tcDQnLFxuICAgICcubXBlZyc6ICd2aWRlby9tcGVnJyxcbiAgICAnLm1wa2cnOiAnYXBwbGljYXRpb24vdm5kLmFwcGxlLmluc3RhbGxlcit4bWwnLFxuICAgICcub2RwJzogJ2FwcGxpY2F0aW9uL3ZuZC5vYXNpcy5vcGVuZG9jdW1lbnQucHJlc2VudGF0aW9uJyxcbiAgICAnLm9kcyc6ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnNwcmVhZHNoZWV0JyxcbiAgICAnLm9kdCc6ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnRleHQnLFxuICAgICcub2dhJzogJ2F1ZGlvL29nZycsXG4gICAgJy5vZ2cnOiAnYXVkaW8vb2dnJyxcbiAgICAnLm9ndic6ICd2aWRlby9vZ2cnLFxuICAgICcub2d4JzogJ2FwcGxpY2F0aW9uL29nZycsXG4gICAgJy5vcHVzJzogJ2F1ZGlvL29wdXMnLFxuICAgICcub3RmJzogJ2ZvbnQvb3RmJyxcbiAgICAnLnBuZyc6ICdpbWFnZS9wbmcnLFxuICAgICcucGRmJzogJ2FwcGxpY2F0aW9uL3BkZicsXG4gICAgJy5waHAnOiAnYXBwbGljYXRpb24vcGhwJyxcbiAgICAnLnBwdCc6ICdhcHBsaWNhdGlvbi92bmQubXMtcG93ZXJwb2ludCcsXG4gICAgJy5wcHR4JzpcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQucHJlc2VudGF0aW9ubWwucHJlc2VudGF0aW9uJyxcbiAgICAnLnJhcic6ICdhcHBsaWNhdGlvbi92bmQucmFyJyxcbiAgICAnLnJ0Zic6ICdhcHBsaWNhdGlvbi9ydGYnLFxuICAgICcuc2gnOiAnYXBwbGljYXRpb24veC1zaCcsXG4gICAgJy5zdmcnOiAnaW1hZ2Uvc3ZnK3htbCcsXG4gICAgJy5zd2YnOiAnYXBwbGljYXRpb24veC1zaG9ja3dhdmUtZmxhc2gnLFxuICAgICcudGFyJzogJ2FwcGxpY2F0aW9uL3gtdGFyJyxcbiAgICAnLnRpZic6ICdpbWFnZS90aWZmJyxcbiAgICAnLnRpZmYnOiAnaW1hZ2UvdGlmZicsXG4gICAgJy50cyc6ICd2aWRlby9tcDJ0JyxcbiAgICAnLnR0Zic6ICdmb250L3R0ZicsXG4gICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgJy52c2QnOiAnYXBwbGljYXRpb24vdm5kLnZpc2lvJyxcbiAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICcud2ViYSc6ICdhdWRpby93ZWJtJyxcbiAgICAnLndlYm0nOiAndmlkZW8vd2VibScsXG4gICAgJy53ZWJwJzogJ2ltYWdlL3dlYnAnLFxuICAgICcud29mZic6ICdmb250L3dvZmYnLFxuICAgICcud29mZjInOiAnZm9udC93b2ZmMicsXG4gICAgJy54aHRtbCc6ICdhcHBsaWNhdGlvbi94aHRtbCt4bWwnLFxuICAgICcueGxzJzogJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCcsXG4gICAgJy54bHN4JzpcbiAgICAgICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQuc3ByZWFkc2hlZXRtbC5zaGVldCcsXG4gICAgJy54bWwnOiAnYXBwbGljYXRpb24veG1sJyxcbiAgICAnLnh1bCc6ICdhcHBsaWNhdGlvbi92bmQubW96aWxsYS54dWwreG1sJyxcbiAgICAnLnppcCc6ICdhcHBsaWNhdGlvbi96aXAnLFxuICAgICcuM2dwJzogJ3ZpZGVvLzNncHAnLFxuICAgICcuM2cyJzogJ3ZpZGVvLzNncHAyJyxcbiAgICAnLjd6JzogJ2FwcGxpY2F0aW9uL3gtN3otY29tcHJlc3NlZCcsXG4gIH0gYXMgY29uc3Q7XG5cbiAgZXhwb3J0IHR5cGUgQ29udGVudFR5cGVLZXlzID0ga2V5b2YgdHlwZW9mIG1pbWVUeXBlcztcbiAgZXhwb3J0IHR5cGUgQ29udGVudFR5cGUgPVxuICAgIHwgKHR5cGVvZiBtaW1lVHlwZXMpW0NvbnRlbnRUeXBlS2V5c11cbiAgICB8ICdtdWx0aXBhcnQvZm9ybS1kYXRhJztcbiAgdHlwZSBDb250ZW50VHlwZV8gPSBDb250ZW50VHlwZTtcblxuICAvKipcbiAgICogaHR0cHM6Ly9kZXZlbG9wZXIubW96aWxsYS5vcmcvZW4tVVMvZG9jcy9XZWIvSFRUUC9CYXNpY3Nfb2ZfSFRUUC9NSU1FX3R5cGVzXG4gICAqL1xuICBleHBvcnQgdHlwZSBNZWRpYVR5cGUgPVxuICAgIHwgJ3RleHQnXG4gICAgfCAnaW1hZ2UnXG4gICAgfCAnYXVkaW8nXG4gICAgfCAnZm9udCdcbiAgICB8ICd2aWRlbydcbiAgICB8ICdhcHBsaWNhdGlvbidcbiAgICB8ICdtdWx0aXBhcnQnXG4gICAgfCAnbWVzc2FnZSdcbiAgICB8ICdtb2RlbCc7XG5cbiAgZXhwb3J0IGNvbnN0IE1lZGlhVHlwZUFsbEFyciA9IFtcbiAgICAndGV4dCcsXG4gICAgJ2ltYWdlJyxcbiAgICAnYXVkaW8nLFxuICAgICd2aWRlbycsXG4gICAgJ2ZvbnQnLFxuICAgICdhcHBsaWNhdGlvbicsXG4gICAgJ211bHRpcGFydCcsXG4gICAgJ21lc3NhZ2UnLFxuICAgICdtb2RlbCcsXG4gIF0gYXMgTWVkaWFUeXBlW107XG5cbiAgZXhwb3J0IHR5cGUgTWltZVR5cGUgPSBrZXlvZiB0eXBlb2YgbWltZVR5cGVzO1xuICBleHBvcnQgY29uc3QgTWltZVR5cGVzT2JqID0gbWltZVR5cGVzO1xuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIE1hbmlmZXN0SWNvbiB7XG4gICAgc3JjOiBzdHJpbmc7IC8vIFwiYXNzZXRzL2ljb25zL2ljb24tOTZ4OTYucG5nXCIsXG4gICAgc2l6ZXM6IHN0cmluZzsgLy8gXCI5Nng5NlwiLFxuICAgIHR5cGU6IHN0cmluZzsgLy8gXCJpbWFnZS9wbmdcIixcbiAgICBwdXJwb3NlOiBzdHJpbmc7IC8vIFwibWFza2FibGUgYW55XCJcbiAgfVxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgUHdhTWFuaWZlc3Qge1xuICAgIG5hbWU6IHN0cmluZzsgLy8gIFwiYXBwXCIsXG4gICAgc2hvcnRfbmFtZTogc3RyaW5nOyAvLyAgXCJhcHBcIixcbiAgICB0aGVtZV9jb2xvcjogc3RyaW5nOyAvLyBcIiMxOTc2ZDJcIixcbiAgICBiYWNrZ3JvdW5kX2NvbG9yOiBzdHJpbmc7IC8vICBcIiNmYWZhZmFcIixcbiAgICBkaXNwbGF5OiAnc3RhbmRhbG9uZSc7XG4gICAgc2NvcGU6IHN0cmluZzsgLy8gXCIuL1wiLFxuICAgIHN0YXJ0X3VybDogc3RyaW5nOyAvLyAgXCJzdGFydF91cmxcIjogXCIuL1wiLCA9PiBcInN0YXJ0X3VybFwiIFwiaHR0cHM6Ly9kYXJla2Y3Ny5naXRodWIuaW8vYnM0LWJyZWFrcG9pbnQvXCJcbiAgICBpY29uczogTWFuaWZlc3RJY29uW107XG4gIH1cblxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBWU0NvZGVTZXR0aW5ncyB7XG4gICAgJ2ZpbGVzLmV4Y2x1ZGUnOiB7IFtmaWxlczogc3RyaW5nXTogYm9vbGVhbiB9O1xuICAgICd3b3JrYmVuY2guY29sb3JUaGVtZSc6ICdEZWZhdWx0IExpZ2h0KycgfCAnS2ltYmllIERhcmsnO1xuICAgICd3b3JrYmVuY2guY29sb3JDdXN0b21pemF0aW9ucyc6IHtcbiAgICAgICdhY3Rpdml0eUJhci5iYWNrZ3JvdW5kJz86IHN0cmluZztcbiAgICAgICdhY3Rpdml0eUJhci5mb3JlZ3JvdW5kJz86IHN0cmluZztcbiAgICAgICdzdGF0dXNCYXIuYmFja2dyb3VuZCc/OiBzdHJpbmc7XG4gICAgfTtcbiAgfVxuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCBpbnRlcmZhY2UgUG9zaXRpb24ge1xuICAgIHg6IG51bWJlcjtcbiAgICB5OiBudW1iZXI7XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIFNpemUge1xuICAgIHc6IG51bWJlcjtcbiAgICBoOiBudW1iZXI7XG4gIH1cblxuXG5cbiAgaW50ZXJmYWNlIEdsb2JhbE5wbURlcGVuZGVuY3kge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICBpbnN0YWxsTmFtZT86IHN0cmluZztcbiAgICB2ZXJzaW9uPzogc3RyaW5nIHwgbnVtYmVyO1xuICB9XG5cbiAgaW50ZXJmYWNlIEdsb2JhbENvbW1hbmRMaW5lUHJvZ3JhbURlcGVuZGVuY3kge1xuICAgIG5hbWU6IHN0cmluZztcbiAgICB3ZWJzaXRlOiBzdHJpbmc7XG4gICAgdmVyc2lvbj86IHN0cmluZztcbiAgfVxuICBleHBvcnQgaW50ZXJmYWNlIEdsb2JhbERlcGVuZGVuY2llcyB7XG4gICAgbnBtPzogR2xvYmFsTnBtRGVwZW5kZW5jeVtdO1xuICAgIHByb2dyYW1zPzogR2xvYmFsQ29tbWFuZExpbmVQcm9ncmFtRGVwZW5kZW5jeVtdO1xuICB9XG5cblxuXG4gIGludGVyZmFjZSBBbmd1bGFyQ29tcGlsZXJPcHRpb25zIHtcbiAgICBmdWxsVGVtcGxhdGVUeXBlQ2hlY2s6IGJvb2xlYW47XG4gICAgc3RyaWN0SW5qZWN0aW9uUGFyYW1ldGVyczogYm9vbGVhbjtcbiAgICBjb21waWxhdGlvbk1vZGU6IHN0cmluZztcbiAgICBwcmVzZXJ2ZVN5bWxpbmtzOiBib29sZWFuO1xuICAgIGVuYWJsZUl2eTogYm9vbGVhbjtcbiAgfVxuXG4gIGludGVyZmFjZSBDb21waWxlck9wdGlvbnMge1xuICAgIGJhc2VVcmw6IHN0cmluZztcbiAgICBvdXREaXI6IHN0cmluZztcbiAgICBzb3VyY2VNYXA6IGJvb2xlYW47XG4gICAgZGVjbGFyYXRpb246IGJvb2xlYW47XG4gICAgc3RyaWN0TnVsbENoZWNrczogYm9vbGVhbjtcbiAgICBkb3dubGV2ZWxJdGVyYXRpb246IGJvb2xlYW47XG4gICAgZXhwZXJpbWVudGFsRGVjb3JhdG9yczogYm9vbGVhbjtcbiAgICBlbWl0RGVjb3JhdG9yTWV0YWRhdGE6IGJvb2xlYW47XG4gICAgZXNNb2R1bGVJbnRlcm9wOiBib29sZWFuO1xuICAgIG1vZHVsZTogc3RyaW5nO1xuICAgIG1vZHVsZVJlc29sdXRpb246IHN0cmluZztcbiAgICBpbXBvcnRIZWxwZXJzOiBib29sZWFuO1xuICAgIHNraXBMaWJDaGVjazogYm9vbGVhbjtcbiAgICB0YXJnZXQ6IHN0cmluZztcbiAgICB0eXBlUm9vdHM6IHN0cmluZ1tdO1xuICAgIHR5cGVzOiBzdHJpbmdbXTtcbiAgICBsaWI6IHN0cmluZ1tdO1xuICAgIHBhdGhzOiB7IFtmdWxsUGFja2FnZU5hbWU6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gICAgdXNlRGVmaW5lRm9yQ2xhc3NGaWVsZHM6IGJvb2xlYW47XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBUc0NvbmZpZ0pzb24ge1xuICAgIGV4dGVuZHM6IHN0cmluZztcbiAgICBleGNsdWRlOiBzdHJpbmdbXTtcbiAgICBjb21waWxlT25TYXZlOiBib29sZWFuO1xuICAgIGNvbXBpbGVyT3B0aW9uczogQ29tcGlsZXJPcHRpb25zO1xuICAgIGFuZ3VsYXJDb21waWxlck9wdGlvbnM6IEFuZ3VsYXJDb21waWxlck9wdGlvbnM7XG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL2NvcmUtbW9kZWxzLnRzIl19
|
118
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29yZS1tb2RlbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi9jb3JlLW1vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxNQUFNLEtBQVcsVUFBVSxDQWdoQjFCO0FBaGhCRCxXQUFpQixVQUFVO0lBMEJaLDZCQUFrQixHQUFHLENBQUMsSUFBSSxFQUFFLFFBQVEsRUFBRSxZQUFZLENBQUMsQ0FBQztJQVVwRCxzQ0FBMkIsR0FBRztRQUN6QyxjQUFjO1FBQ2QsaUJBQWlCO1FBQ2pCLGtCQUFrQjtRQUNsQixhQUFhO0tBQ2dCLENBQUM7SUFVbkIsNkJBQWtCLEdBQUc7UUFDaEMsUUFBUTtRQUNSLE1BQU07UUFDTixNQUFNO1FBQ04sT0FBTztRQUNQLElBQUk7UUFDSixLQUFLO0tBQ04sQ0FBQztJQTRHVyw2QkFBa0IsR0FBRztRQUNoQyxZQUFZO1FBQ1osU0FBUztRQUNULGFBQWE7UUFDYixRQUFRO1FBQ1Isb0JBQW9CO0tBQ3JCLENBQUM7SUFrSVcsb0JBQVMsR0FBRztRQUN2QixNQUFNLEVBQUUsV0FBVztRQUNuQixNQUFNLEVBQUUsdUJBQXVCO1FBQy9CLE1BQU0sRUFBRSx1QkFBdUI7UUFDL0IsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsOEJBQThCO1FBQ3RDLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsTUFBTSxFQUFFLFdBQVc7UUFDbkIsS0FBSyxFQUFFLG9CQUFvQjtRQUMzQixNQUFNLEVBQUUscUJBQXFCO1FBQzdCLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLG9CQUFvQjtRQUM1QixPQUFPLEVBQ0wseUVBQXlFO1FBQzNFLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsT0FBTyxFQUFFLHNCQUFzQjtRQUMvQixLQUFLLEVBQUUsa0JBQWtCO1FBQ3pCLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE9BQU8sRUFBRSxXQUFXO1FBQ3BCLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsTUFBTSxFQUFFLGVBQWU7UUFDdkIsTUFBTSxFQUFFLDBCQUEwQjtRQUNsQyxPQUFPLEVBQUUsWUFBWTtRQUNyQixNQUFNLEVBQUUsWUFBWTtRQUNwQixLQUFLLEVBQUUsaUJBQWlCO1FBQ3hCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsU0FBUyxFQUFFLHFCQUFxQjtRQUNoQyxNQUFNLEVBQUUsa0JBQWtCO1FBQzFCLE9BQU8sRUFBRSxrQkFBa0I7UUFDM0IsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsV0FBVztRQUNuQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUscUNBQXFDO1FBQzlDLE1BQU0sRUFBRSxpREFBaUQ7UUFDekQsTUFBTSxFQUFFLGdEQUFnRDtRQUN4RCxNQUFNLEVBQUUseUNBQXlDO1FBQ2pELE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxXQUFXO1FBQ25CLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsT0FBTyxFQUFFLFlBQVk7UUFDckIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFdBQVc7UUFDbkIsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSwrQkFBK0I7UUFDdkMsT0FBTyxFQUNMLDJFQUEyRTtRQUM3RSxNQUFNLEVBQUUscUJBQXFCO1FBQzdCLE1BQU0sRUFBRSxpQkFBaUI7UUFDekIsS0FBSyxFQUFFLGtCQUFrQjtRQUN6QixNQUFNLEVBQUUsZUFBZTtRQUN2QixNQUFNLEVBQUUsK0JBQStCO1FBQ3ZDLE1BQU0sRUFBRSxtQkFBbUI7UUFDM0IsTUFBTSxFQUFFLFlBQVk7UUFDcEIsT0FBTyxFQUFFLFlBQVk7UUFDckIsS0FBSyxFQUFFLFlBQVk7UUFDbkIsTUFBTSxFQUFFLFVBQVU7UUFDbEIsTUFBTSxFQUFFLFlBQVk7UUFDcEIsTUFBTSxFQUFFLHVCQUF1QjtRQUMvQixNQUFNLEVBQUUsV0FBVztRQUNuQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsWUFBWTtRQUNyQixPQUFPLEVBQUUsV0FBVztRQUNwQixRQUFRLEVBQUUsWUFBWTtRQUN0QixRQUFRLEVBQUUsdUJBQXVCO1FBQ2pDLE1BQU0sRUFBRSwwQkFBMEI7UUFDbEMsT0FBTyxFQUNMLG1FQUFtRTtRQUNyRSxNQUFNLEVBQUUsaUJBQWlCO1FBQ3pCLE1BQU0sRUFBRSxpQ0FBaUM7UUFDekMsTUFBTSxFQUFFLGlCQUFpQjtRQUN6QixNQUFNLEVBQUUsWUFBWTtRQUNwQixNQUFNLEVBQUUsYUFBYTtRQUNyQixLQUFLLEVBQUUsNkJBQTZCO0tBQzVCLENBQUM7SUFzQkUsMEJBQWUsR0FBRztRQUM3QixNQUFNO1FBQ04sT0FBTztRQUNQLE9BQU87UUFDUCxPQUFPO1FBQ1AsTUFBTTtRQUNOLGFBQWE7UUFDYixXQUFXO1FBQ1gsU0FBUztRQUNULE9BQU87S0FDTyxDQUFDO0lBR0osdUJBQVksR0FBRyxXQUFBLFNBQVMsQ0FBQztBQStHeEMsQ0FBQyxFQWhoQmdCLFVBQVUsS0FBVixVQUFVLFFBZ2hCMUI7QUFFQSxDQUFDO0FBQUEsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLHdEQUF3RCIsInNvdXJjZXNDb250ZW50IjpbIlxuXG5leHBvcnQgbmFtZXNwYWNlIENvcmVNb2RlbHMge1xuXG4gIGV4cG9ydCB0eXBlIFBhY2thZ2UgPSB7XG4gICAgbmFtZTogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gICAgaW5zdGFsbFR5cGU/OiBJbnN0YWxhdGlvblR5cGU7XG4gIH07XG5cblxuXG4gIGV4cG9ydCB0eXBlIE5wbUluc3RhbGxPcHRpb25zID0ge1xuICAgIHBrZz86IENvcmVNb2RlbHMuUGFja2FnZTtcbiAgICBzaWxlbnQ/OiBib29sZWFuO1xuICAgIHJlbW92ZT86IGJvb2xlYW47XG4gICAgdXNlWWFybj86IGJvb2xlYW47XG4gICAgZm9yY2U/OiBib29sZWFuO1xuICAgIHJlYXNvbj86IHN0cmluZztcbiAgICByZW1vdmVZYXJuT3JQYWNrYWdlSnNvbkxvY2s/OiBib29sZWFuO1xuICAgIGdlbmVyYXRlWWFybk9yUGFja2FnZUpzb25Mb2NrPzogYm9vbGVhbjtcbiAgICBpZ25vcmVPcHRpb25hbD86IGJvb2xlYW47XG4gIH07XG5cblxuXG4gIGV4cG9ydCB0eXBlIEluc3RhbGF0aW9uVHlwZSA9ICctZycgfCAnLS1zYXZlJyB8ICctLXNhdmUtZGV2JztcblxuICBleHBvcnQgY29uc3QgSW5zdGFsYXRpb25UeXBlQXJyID0gWyctZycsICctLXNhdmUnLCAnLS1zYXZlLWRldiddO1xuXG5cblxuICBleHBvcnQgdHlwZSBQYWNrYWdlSnNvbkRlcGVuZGVuY3lPYmogPVxuICAgIHwgJ2RlcGVuZGVuY2llcydcbiAgICB8ICdkZXZEZXBlbmRlbmNpZXMnXG4gICAgfCAncGVlckRlcGVuZGVuY2llcydcbiAgICB8ICdyZXNvbHV0aW9ucyc7XG5cbiAgZXhwb3J0IGNvbnN0IFBhY2thZ2VKc29uRGVwZW5kZW5jeU9iakFyciA9IFtcbiAgICAnZGVwZW5kZW5jaWVzJyxcbiAgICAnZGV2RGVwZW5kZW5jaWVzJyxcbiAgICAncGVlckRlcGVuZGVuY2llcycsXG4gICAgJ3Jlc29sdXRpb25zJyxcbiAgXSBhcyBQYWNrYWdlSnNvbkRlcGVuZGVuY3lPYmpbXTtcblxuXG5cbiAgZXhwb3J0IHR5cGUgTGlicmFyeVR5cGUgPSAnYW5ndWxhcicgfCAndHlwZXNjcmlwdCc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIFJlbGVhc2VUeXBlID0gJ21ham9yJyB8ICdtaW5vcicgfCAncGF0Y2gnO1xuICBleHBvcnQgdHlwZSBQcmVSZWxlYXNlVHlwZSA9ICdhbHBoYScgfCAnYmV0YScgfCAncmMnIHwgJ25leHQnO1xuICBleHBvcnQgY29uc3QgTnBtU3BlY2lhbFZlcnNpb25zID0gW1xuICAgICdsYXRlc3QnLFxuICAgICduZXh0JyxcbiAgICAnYmV0YScsXG4gICAgJ2FscGhhJyxcbiAgICAncmMnLFxuICAgICdsdHMnLFxuICBdO1xuXG5cblxuICBleHBvcnQgdHlwZSBQUk9HUkVTU19EQVRBX1RZUEUgPSAnaW5mbycgfCAnZXJyb3InIHwgJ3dhcm5pbmcnIHwgJ2V2ZW50JztcblxuXG5cbiAgZXhwb3J0IHR5cGUgRW52aXJvbm1lbnROYW1lID1cbiAgICB8ICdsb2NhbCdcbiAgICB8ICdzdGF0aWMnXG4gICAgfCAnZGV2J1xuICAgIHwgJ3N0YWdlJ1xuICAgIHwgJ3Byb2QnXG4gICAgfCAnb25saW5lJ1xuICAgIHwgJ3Rlc3QnXG4gICAgfCAncWEnXG4gICAgfCAnY3VzdG9tJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgUFVTSFRZUEUgPVxuICAgIHwgJ2ZlYXQnXG4gICAgfCAnY2hvcmUnXG4gICAgfCAnZmVhdHVyZSdcbiAgICB8ICdyZWZhY3RvcidcbiAgICB8ICdwZXJmJ1xuICAgIHwgJ3N0eWxlcydcbiAgICB8ICdjaSdcbiAgICB8ICdidWlsZCdcbiAgICB8ICdmaXgnXG4gICAgfCAnYnVnZml4J1xuICAgIHwgJ3JlbGVhc2UnXG4gICAgfCAnZG9jcyc7XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgVUlGcmFtZXdvcmsgPSAnYm9vdHN0cmFwJyB8ICdtYXRlcmlhbCcgfCAnaW9uaWMnO1xuXG5cblxuICBleHBvcnQgdHlwZSBGcmFtZXdvcmtWZXJzaW9uID1cbiAgICB8ICd2MSdcbiAgICB8ICd2MidcbiAgICB8ICd2MydcbiAgICB8ICd2NCdcbiAgICB8ICd2MTYnXG4gICAgfCAndjE4J1xuICAgIHwgJ3YyMCc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEN1dGFibGVGaWxlRXh0ID1cbiAgICB8ICdzY3NzJ1xuICAgIHwgJ2NzcydcbiAgICB8ICdsZXNzJ1xuICAgIHwgJ3Nhc3MnXG4gICAgfCAnaHRtbCdcbiAgICB8ICd0cydcbiAgICB8ICd0c3gnXG4gICAgfCAnanMnO1xuXG5cblxuICBleHBvcnQgdHlwZSBJbWFnZUZpbGVFeHRlbnNpb24gPSAnanBnJyB8ICdqcGVnJyB8ICdwbmcnIHwgJ3N2Zyc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEZpbGVFeHRlbnNpb24gPVxuICAgIHwgJ2pzb24nXG4gICAgfCAnaHRtbCdcbiAgICB8IEltYWdlRmlsZUV4dGVuc2lvblxuICAgIHwgJ3R4dCdcbiAgICB8IEN1dGFibGVGaWxlRXh0O1xuXG5cblxuICBleHBvcnQgdHlwZSBIdHRwTWV0aG9kID1cbiAgICB8ICdnZXQnXG4gICAgfCAncG9zdCdcbiAgICB8ICdwdXQnXG4gICAgfCAnZGVsZXRlJ1xuICAgIHwgJ3BhdGNoJ1xuICAgIHwgJ2hlYWQnXG4gICAgfCAnanNvbnAnO1xuXG5cblxuICBleHBvcnQgdHlwZSBQYXJhbVR5cGUgPSAnUGF0aCcgfCAnUXVlcnknIHwgJ0Nvb2tpZScgfCAnSGVhZGVyJyB8ICdCb2R5JztcblxuXG5cbiAgZXhwb3J0IHR5cGUgVHNVc2FnZSA9ICdpbXBvcnQnIHwgJ2V4cG9ydCc7XG5cblxuXG4gIGV4cG9ydCB0eXBlIEJhc2VQcm9qZWN0VHlwZSA9XG4gICAgfCAndHlwZXNjcmlwdCdcbiAgICB8ICdhbmd1bGFyJ1xuICAgIHwgJ2FuZ3VsYXItbGliJ1xuICAgIHwgJ3Vua25vdydcbiAgICB8ICd1bmtub3ctbnBtLXByb2plY3QnO1xuXG5cblxuICBleHBvcnQgY29uc3QgQmFzZVByb2plY3RUeXBlQXJyID0gW1xuICAgICd0eXBlc2NyaXB0JyxcbiAgICAnYW5ndWxhcicsXG4gICAgJ2FuZ3VsYXItbGliJyxcbiAgICAndW5rbm93JyxcbiAgICAndW5rbm93LW5wbS1wcm9qZWN0JyxcbiAgXTtcblxuXG5cbiAgZXhwb3J0IHR5cGUgTGliVHlwZSA9XG4gICAgfCBCYXNlUHJvamVjdFR5cGVcbiAgICB8ICdpc29tb3JwaGljLWxpYicgLy8gKyBodHRwczovL2dpdGh1Yi5jb20vbWF4aW1lZ3Jpcy9hbmd1bGFyLWVsZWN0cm9uXG4gICAgfCAnY29udGFpbmVyJ1xuICAgIHwgJ2RvY2tlcidcbiAgICB8ICd2c2NvZGUtZXh0J1xuICAgIHwgJ2Nocm9tZS1leHQnXG4gICAgfCAndW5rbm93LW5wbS1wcm9qZWN0JztcblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgdHlwZSBOZXdGYWN0b3J5VHlwZSA9IExpYlR5cGUgfCAnbW9kZWwnIHwgJ3NpbmdsZS1maWxlLXByb2plY3QnO1xuXG5cblxuICAvKipcbiAgICogQGRlcHJlY2F0ZWRcbiAgICovXG4gIGV4cG9ydCB0eXBlIENvcmVMaWJDYXRlZ29yeSA9IExpYlR5cGUgfCAnY29tbW9uJztcblxuXG5cbiAgZXhwb3J0IHR5cGUgRmlsZUV2ZW50ID0gJ2NyZWF0ZWQnIHwgJ2NoYW5nZWQnIHwgJ3JlbW92ZWQnIHwgJ3JlbmFtZSc7XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IHR5cGUgT3V0Rm9sZGVyID0gJ2Rpc3QnIHwgJ2Jyb3dzZXInO1xuXG5cblxuICBleHBvcnQgdHlwZSBEYXRhYmFzZVR5cGUgPSAnOmlubWVtb3J5JyB8ICdteXNxbCcgfCAnc3FsanMnO1xuXG5cblxuICBleHBvcnQgaW50ZXJmYWNlIFVwbG9hZGVkQmFja2VuZEZpbGUge1xuICAgIGRhdGE6XG4gICAgICB8IGFueVxuLyogKi9cbi8qICovXG4gIFxuICAgIGVuY29kaW5nOiBzdHJpbmc7XG4gICAgbWQ1OiBzdHJpbmc7XG4gICAgdGVtcEZpbGVQYXRoOiBzdHJpbmc7XG4gICAgbWltZXR5cGU6IENvbnRlbnRUeXBlO1xuICAgIG12OiAocGF0aCwgY2FsbGJhY2spID0+IGFueTtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdHJ1bmNhdGVkOiBib29sZWFuO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBFeGVjdXRlT3B0aW9ucyB7XG4gICAgLyoqIEV4dHJhY3Qgc3RyaW5nIGZyb20gbGluZSAqL1xuICAgIGV4dHJhY3RGcm9tTGluZT86IChzdHJpbmcgfCBGdW5jdGlvbilbXTtcbiAgICAvKipcbiAgICAgKiBNb2RpZnkgb3V0cHV0IGxpbmUgYnkgbGluZVxuICAgICAqL1xuICAgIG91dHB1dExpbmVSZXBsYWNlPzogKG91dHB1dExpbmU6IHN0cmluZykgPT4gc3RyaW5nO1xuICAgIHJlc29sdmVQcm9taXNlTXNnPzoge1xuICAgICAgc3Rkb3V0Pzogc3RyaW5nIHwgc3RyaW5nW107XG4gICAgICBzdGRlcnI/OiBzdHJpbmcgfCBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHByZWZpeD86IHN0cmluZztcbiAgICBkZXRhY2g/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRyeSBjb21tYW5kIGFnYWluIGFmdGVyIGZhaWwgYWZ0ZXIgbiBtaWxpc2Vjb25kc1xuICAgICAqL1xuICAgIHRyeUFnYWluV2hlbkZhaWxBZnRlcj86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiAgVE9ETyBATEFTVCBpbXBsZW1lbnQgdGhpc1xuICAgICAqXG4gICAgICogT3V0cHV0IGZyb20gcHJvY2Vzc2Ugd2l0aCB0aGlzIGtleVxuICAgICAqIHdpbGwgbm90IGJlIGRpc3BsYXllZCB0d2ljZSB3aGVuXG4gICAgICogMiBwcm9jZXNzZXMgYXJlIHJ1bm5pbmcgYXQgdGhlIHNhbWUgdGltZVxuICAgICAqL1xuICAgIHNpbWlsYXJQcm9jZXNzS2V5Pzogc3RyaW5nO1xuXG4gICAgLyoqXG4gICAgICogVXNlIGJpZyBidWZmZXIgZm9yIGJpZyB3ZWJwYWNrIGxvZ3NcbiAgICAgKi9cbiAgICBiaWdnZXJCdWZmZXI/OiBib29sZWFuO1xuICAgIGFza1RvVHJ5QWdhaW5PbkVycm9yPzogYm9vbGVhbjtcbiAgICBleGl0T25FcnJvckNhbGxiYWNrPzogKGNvZGU6IG51bWJlcikgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBGcm9tIGRpc3BsYXlpbmcgaW4gY29uc29sZVxuICAgICAqL1xuICAgIGhpZGVPdXRwdXQ/OiB7XG4gICAgICBzdGRvdXQ/OiBib29sZWFuO1xuICAgICAgc3RkZXJyPzogYm9vbGVhbjtcbiAgICAgIGFjY2VwdEFsbEV4aXRDb2RlQXNTdWNjZXNzPzogYm9vbGVhbjtcbiAgICB9O1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBSdW5PcHRpb25zIGV4dGVuZHMgRXhlY3V0ZU9wdGlvbnMge1xuICAgIHNob3dDb21tYW5kPzogYm9vbGVhbjtcblxuICAgIC8qKlxuICAgICAqIFNob3cgcHJvY2VzcyBvdXRwdXRcbiAgICAgKi9cbiAgICBvdXRwdXQ/OiBib29sZWFuO1xuXG4gICAgc2lsZW5jZT86IGJvb2xlYW47XG4gICAgc3RkaW8/OiBhbnk7XG5cblxuICAgIGN3ZD86IHN0cmluZztcbiAgfVxuXG5cblxuXG5cbiAgZXhwb3J0IGNvbnN0IG1pbWVUeXBlcyA9IHtcbiAgICAnLmFhYyc6ICdhdWRpby9hYWMnLFxuICAgICcuYWJ3JzogJ2FwcGxpY2F0aW9uL3gtYWJpd29yZCcsXG4gICAgJy5hcmMnOiAnYXBwbGljYXRpb24veC1mcmVlYXJjJyxcbiAgICAnLmF2aSc6ICd2aWRlby94LW1zdmlkZW8nLFxuICAgICcuYXp3JzogJ2FwcGxpY2F0aW9uL3ZuZC5hbWF6b24uZWJvb2snLFxuICAgICcuYmluJzogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScsXG4gICAgJy5ibXAnOiAnaW1hZ2UvYm1wJyxcbiAgICAnLmJ6JzogJ2FwcGxpY2F0aW9uL3gtYnppcCcsXG4gICAgJy5iejInOiAnYXBwbGljYXRpb24veC1iemlwMicsXG4gICAgJy5jc2gnOiAnYXBwbGljYXRpb24veC1jc2gnLFxuICAgICcuY3NzJzogJ3RleHQvY3NzJyxcbiAgICAnLmNzdic6ICd0ZXh0L2NzdicsXG4gICAgJy5kb2MnOiAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgICAnLmRvY3gnOlxuICAgICAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgICAnLmVvdCc6ICdhcHBsaWNhdGlvbi92bmQubXMtZm9udG9iamVjdCcsXG4gICAgJy5lcHViJzogJ2FwcGxpY2F0aW9uL2VwdWIremlwJyxcbiAgICAnLmd6JzogJ2FwcGxpY2F0aW9uL2d6aXAnLFxuICAgICcuZ2lmJzogJ2ltYWdlL2dpZicsXG4gICAgJy5odG0nOiAndGV4dC9odG1sJyxcbiAgICAnLmh0bWwnOiAndGV4dC9odG1sJyxcbiAgICAnLmljbyc6ICdpbWFnZS92bmQubWljcm9zb2Z0Lmljb24nLFxuICAgICcuaWNzJzogJ3RleHQvY2FsZW5kYXInLFxuICAgICcuamFyJzogJ2FwcGxpY2F0aW9uL2phdmEtYXJjaGl2ZScsXG4gICAgJy5qcGVnJzogJ2ltYWdlL2pwZWcnLFxuICAgICcuanBnJzogJ2ltYWdlL2pwZWcnLFxuICAgICcuanMnOiAndGV4dC9qYXZhc2NyaXB0JyxcbiAgICAnLmpzb24nOiAnYXBwbGljYXRpb24vanNvbicsXG4gICAgJy5qc29ubGQnOiAnYXBwbGljYXRpb24vbGQranNvbicsXG4gICAgJy5taWQnOiAnYXBwbGljYXRpb24vbWlkaScsXG4gICAgJy5taWRpJzogJ2FwcGxpY2F0aW9uL21pZGknLFxuICAgICcubWpzJzogJ3RleHQvamF2YXNjcmlwdCcsXG4gICAgJy5tcDMnOiAnYXVkaW8vbXBlZycsXG4gICAgJy5tcDQnOiAndmlkZW8vbXA0JyxcbiAgICAnLm1wZWcnOiAndmlkZW8vbXBlZycsXG4gICAgJy5tcGtnJzogJ2FwcGxpY2F0aW9uL3ZuZC5hcHBsZS5pbnN0YWxsZXIreG1sJyxcbiAgICAnLm9kcCc6ICdhcHBsaWNhdGlvbi92bmQub2FzaXMub3BlbmRvY3VtZW50LnByZXNlbnRhdGlvbicsXG4gICAgJy5vZHMnOiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC5zcHJlYWRzaGVldCcsXG4gICAgJy5vZHQnOiAnYXBwbGljYXRpb24vdm5kLm9hc2lzLm9wZW5kb2N1bWVudC50ZXh0JyxcbiAgICAnLm9nYSc6ICdhdWRpby9vZ2cnLFxuICAgICcub2dnJzogJ2F1ZGlvL29nZycsXG4gICAgJy5vZ3YnOiAndmlkZW8vb2dnJyxcbiAgICAnLm9neCc6ICdhcHBsaWNhdGlvbi9vZ2cnLFxuICAgICcub3B1cyc6ICdhdWRpby9vcHVzJyxcbiAgICAnLm90Zic6ICdmb250L290ZicsXG4gICAgJy5wbmcnOiAnaW1hZ2UvcG5nJyxcbiAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICcucGhwJzogJ2FwcGxpY2F0aW9uL3BocCcsXG4gICAgJy5wcHQnOiAnYXBwbGljYXRpb24vdm5kLm1zLXBvd2VycG9pbnQnLFxuICAgICcucHB0eCc6XG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnByZXNlbnRhdGlvbm1sLnByZXNlbnRhdGlvbicsXG4gICAgJy5yYXInOiAnYXBwbGljYXRpb24vdm5kLnJhcicsXG4gICAgJy5ydGYnOiAnYXBwbGljYXRpb24vcnRmJyxcbiAgICAnLnNoJzogJ2FwcGxpY2F0aW9uL3gtc2gnLFxuICAgICcuc3ZnJzogJ2ltYWdlL3N2Zyt4bWwnLFxuICAgICcuc3dmJzogJ2FwcGxpY2F0aW9uL3gtc2hvY2t3YXZlLWZsYXNoJyxcbiAgICAnLnRhcic6ICdhcHBsaWNhdGlvbi94LXRhcicsXG4gICAgJy50aWYnOiAnaW1hZ2UvdGlmZicsXG4gICAgJy50aWZmJzogJ2ltYWdlL3RpZmYnLFxuICAgICcudHMnOiAndmlkZW8vbXAydCcsXG4gICAgJy50dGYnOiAnZm9udC90dGYnLFxuICAgICcudHh0JzogJ3RleHQvcGxhaW4nLFxuICAgICcudnNkJzogJ2FwcGxpY2F0aW9uL3ZuZC52aXNpbycsXG4gICAgJy53YXYnOiAnYXVkaW8vd2F2JyxcbiAgICAnLndlYmEnOiAnYXVkaW8vd2VibScsXG4gICAgJy53ZWJtJzogJ3ZpZGVvL3dlYm0nLFxuICAgICcud2VicCc6ICdpbWFnZS93ZWJwJyxcbiAgICAnLndvZmYnOiAnZm9udC93b2ZmJyxcbiAgICAnLndvZmYyJzogJ2ZvbnQvd29mZjInLFxuICAgICcueGh0bWwnOiAnYXBwbGljYXRpb24veGh0bWwreG1sJyxcbiAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICcueGxzeCc6XG4gICAgICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICcueG1sJzogJ2FwcGxpY2F0aW9uL3htbCcsXG4gICAgJy54dWwnOiAnYXBwbGljYXRpb24vdm5kLm1vemlsbGEueHVsK3htbCcsXG4gICAgJy56aXAnOiAnYXBwbGljYXRpb24vemlwJyxcbiAgICAnLjNncCc6ICd2aWRlby8zZ3BwJyxcbiAgICAnLjNnMic6ICd2aWRlby8zZ3BwMicsXG4gICAgJy43eic6ICdhcHBsaWNhdGlvbi94LTd6LWNvbXByZXNzZWQnLFxuICB9IGFzIGNvbnN0O1xuXG4gIGV4cG9ydCB0eXBlIENvbnRlbnRUeXBlS2V5cyA9IGtleW9mIHR5cGVvZiBtaW1lVHlwZXM7XG4gIGV4cG9ydCB0eXBlIENvbnRlbnRUeXBlID1cbiAgICB8ICh0eXBlb2YgbWltZVR5cGVzKVtDb250ZW50VHlwZUtleXNdXG4gICAgfCAnbXVsdGlwYXJ0L2Zvcm0tZGF0YSc7XG4gIHR5cGUgQ29udGVudFR5cGVfID0gQ29udGVudFR5cGU7XG5cbiAgLyoqXG4gICAqIGh0dHBzOi8vZGV2ZWxvcGVyLm1vemlsbGEub3JnL2VuLVVTL2RvY3MvV2ViL0hUVFAvQmFzaWNzX29mX0hUVFAvTUlNRV90eXBlc1xuICAgKi9cbiAgZXhwb3J0IHR5cGUgTWVkaWFUeXBlID1cbiAgICB8ICd0ZXh0J1xuICAgIHwgJ2ltYWdlJ1xuICAgIHwgJ2F1ZGlvJ1xuICAgIHwgJ2ZvbnQnXG4gICAgfCAndmlkZW8nXG4gICAgfCAnYXBwbGljYXRpb24nXG4gICAgfCAnbXVsdGlwYXJ0J1xuICAgIHwgJ21lc3NhZ2UnXG4gICAgfCAnbW9kZWwnO1xuXG4gIGV4cG9ydCBjb25zdCBNZWRpYVR5cGVBbGxBcnIgPSBbXG4gICAgJ3RleHQnLFxuICAgICdpbWFnZScsXG4gICAgJ2F1ZGlvJyxcbiAgICAndmlkZW8nLFxuICAgICdmb250JyxcbiAgICAnYXBwbGljYXRpb24nLFxuICAgICdtdWx0aXBhcnQnLFxuICAgICdtZXNzYWdlJyxcbiAgICAnbW9kZWwnLFxuICBdIGFzIE1lZGlhVHlwZVtdO1xuXG4gIGV4cG9ydCB0eXBlIE1pbWVUeXBlID0ga2V5b2YgdHlwZW9mIG1pbWVUeXBlcztcbiAgZXhwb3J0IGNvbnN0IE1pbWVUeXBlc09iaiA9IG1pbWVUeXBlcztcblxuXG5cbiAgZXhwb3J0IGludGVyZmFjZSBNYW5pZmVzdEljb24ge1xuICAgIHNyYzogc3RyaW5nOyAvLyBcImFzc2V0cy9pY29ucy9pY29uLTk2eDk2LnBuZ1wiLFxuICAgIHNpemVzOiBzdHJpbmc7IC8vIFwiOTZ4OTZcIixcbiAgICB0eXBlOiBzdHJpbmc7IC8vIFwiaW1hZ2UvcG5nXCIsXG4gICAgcHVycG9zZTogc3RyaW5nOyAvLyBcIm1hc2thYmxlIGFueVwiXG4gIH1cblxuICBleHBvcnQgaW50ZXJmYWNlIFB3YU1hbmlmZXN0IHtcbiAgICBuYW1lOiBzdHJpbmc7IC8vICBcImFwcFwiLFxuICAgIHNob3J0X25hbWU6IHN0cmluZzsgLy8gIFwiYXBwXCIsXG4gICAgdGhlbWVfY29sb3I6IHN0cmluZzsgLy8gXCIjMTk3NmQyXCIsXG4gICAgYmFja2dyb3VuZF9jb2xvcjogc3RyaW5nOyAvLyAgXCIjZmFmYWZhXCIsXG4gICAgZGlzcGxheTogJ3N0YW5kYWxvbmUnO1xuICAgIHNjb3BlOiBzdHJpbmc7IC8vIFwiLi9cIixcbiAgICBzdGFydF91cmw6IHN0cmluZzsgLy8gIFwic3RhcnRfdXJsXCI6IFwiLi9cIiwgPT4gXCJzdGFydF91cmxcIiBcImh0dHBzOi8vZGFyZWtmNzcuZ2l0aHViLmlvL2JzNC1icmVha3BvaW50L1wiXG4gICAgaWNvbnM6IE1hbmlmZXN0SWNvbltdO1xuICB9XG5cblxuXG4gIGV4cG9ydCBpbnRlcmZhY2UgVlNDb2RlU2V0dGluZ3Mge1xuICAgICdmaWxlcy5leGNsdWRlJzogeyBbZmlsZXM6IHN0cmluZ106IGJvb2xlYW4gfTtcbiAgICAnd29ya2JlbmNoLmNvbG9yVGhlbWUnOiAnRGVmYXVsdCBMaWdodCsnIHwgJ0tpbWJpZSBEYXJrJztcbiAgICAnd29ya2JlbmNoLmNvbG9yQ3VzdG9taXphdGlvbnMnOiB7XG4gICAgICAnYWN0aXZpdHlCYXIuYmFja2dyb3VuZCc/OiBzdHJpbmc7XG4gICAgICAnYWN0aXZpdHlCYXIuZm9yZWdyb3VuZCc/OiBzdHJpbmc7XG4gICAgICAnc3RhdHVzQmFyLmJhY2tncm91bmQnPzogc3RyaW5nO1xuICAgIH07XG4gIH1cblxuXG5cbiAgLyoqXG4gICAqIEBkZXByZWNhdGVkXG4gICAqL1xuICBleHBvcnQgaW50ZXJmYWNlIFBvc2l0aW9uIHtcbiAgICB4OiBudW1iZXI7XG4gICAgeTogbnVtYmVyO1xuICB9XG5cblxuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZFxuICAgKi9cbiAgZXhwb3J0IGludGVyZmFjZSBTaXplIHtcbiAgICB3OiBudW1iZXI7XG4gICAgaDogbnVtYmVyO1xuICB9XG5cblxuXG4gIGludGVyZmFjZSBHbG9iYWxOcG1EZXBlbmRlbmN5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgaW5zdGFsbE5hbWU/OiBzdHJpbmc7XG4gICAgdmVyc2lvbj86IHN0cmluZyB8IG51bWJlcjtcbiAgfVxuXG4gIGludGVyZmFjZSBHbG9iYWxDb21tYW5kTGluZVByb2dyYW1EZXBlbmRlbmN5IHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgd2Vic2l0ZTogc3RyaW5nO1xuICAgIHZlcnNpb24/OiBzdHJpbmc7XG4gIH1cbiAgZXhwb3J0IGludGVyZmFjZSBHbG9iYWxEZXBlbmRlbmNpZXMge1xuICAgIG5wbT86IEdsb2JhbE5wbURlcGVuZGVuY3lbXTtcbiAgICBwcm9ncmFtcz86IEdsb2JhbENvbW1hbmRMaW5lUHJvZ3JhbURlcGVuZGVuY3lbXTtcbiAgfVxuXG5cblxuICBpbnRlcmZhY2UgQW5ndWxhckNvbXBpbGVyT3B0aW9ucyB7XG4gICAgZnVsbFRlbXBsYXRlVHlwZUNoZWNrOiBib29sZWFuO1xuICAgIHN0cmljdEluamVjdGlvblBhcmFtZXRlcnM6IGJvb2xlYW47XG4gICAgY29tcGlsYXRpb25Nb2RlOiBzdHJpbmc7XG4gICAgcHJlc2VydmVTeW1saW5rczogYm9vbGVhbjtcbiAgICBlbmFibGVJdnk6IGJvb2xlYW47XG4gIH1cblxuICBpbnRlcmZhY2UgQ29tcGlsZXJPcHRpb25zIHtcbiAgICBiYXNlVXJsOiBzdHJpbmc7XG4gICAgb3V0RGlyOiBzdHJpbmc7XG4gICAgc291cmNlTWFwOiBib29sZWFuO1xuICAgIGRlY2xhcmF0aW9uOiBib29sZWFuO1xuICAgIHN0cmljdE51bGxDaGVja3M6IGJvb2xlYW47XG4gICAgZG93bmxldmVsSXRlcmF0aW9uOiBib29sZWFuO1xuICAgIGV4cGVyaW1lbnRhbERlY29yYXRvcnM6IGJvb2xlYW47XG4gICAgZW1pdERlY29yYXRvck1ldGFkYXRhOiBib29sZWFuO1xuICAgIGVzTW9kdWxlSW50ZXJvcDogYm9vbGVhbjtcbiAgICBtb2R1bGU6IHN0cmluZztcbiAgICBtb2R1bGVSZXNvbHV0aW9uOiBzdHJpbmc7XG4gICAgaW1wb3J0SGVscGVyczogYm9vbGVhbjtcbiAgICBza2lwTGliQ2hlY2s6IGJvb2xlYW47XG4gICAgdGFyZ2V0OiBzdHJpbmc7XG4gICAgdHlwZVJvb3RzOiBzdHJpbmdbXTtcbiAgICB0eXBlczogc3RyaW5nW107XG4gICAgbGliOiBzdHJpbmdbXTtcbiAgICBwYXRoczogeyBbZnVsbFBhY2thZ2VOYW1lOiBzdHJpbmddOiBzdHJpbmdbXSB9O1xuICAgIHVzZURlZmluZUZvckNsYXNzRmllbGRzOiBib29sZWFuO1xuICB9XG4gIGV4cG9ydCBpbnRlcmZhY2UgVHNDb25maWdKc29uIHtcbiAgICBleHRlbmRzOiBzdHJpbmc7XG4gICAgZXhjbHVkZTogc3RyaW5nW107XG4gICAgY29tcGlsZU9uU2F2ZTogYm9vbGVhbjtcbiAgICBjb21waWxlck9wdGlvbnM6IENvbXBpbGVyT3B0aW9ucztcbiAgICBhbmd1bGFyQ29tcGlsZXJPcHRpb25zOiBBbmd1bGFyQ29tcGlsZXJPcHRpb25zO1xuICB9XG5cbn1cblxuIDsoe30pOyAvLyBALS1lbmQtb2YtZmlsZS1mb3ItbW9kdWxlPXRucC1jb3JlIGxpYi9jb3JlLW1vZGVscy50cyJdfQ==
|
@@ -7,6 +7,13 @@ import { path } from './core-imports';
|
|
7
7
|
const BLOB_SUPPORTED_IN_SQLJS = false;
|
8
8
|
export var Utils;
|
9
9
|
(function (Utils) {
|
10
|
+
/**
|
11
|
+
* Example:
|
12
|
+
* new RegExp(escapeStringForRegEx('a.b.c'),'g') => /a\.b\.c/g
|
13
|
+
*/
|
14
|
+
Utils.escapeStringForRegEx = (stringForRegExp) => {
|
15
|
+
return stringForRegExp.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
16
|
+
};
|
10
17
|
let json;
|
11
18
|
(function (json) {
|
12
19
|
json.getAtrributies = (jsonDeepPath, // lodash path to property in json ex. deep.path.to.prop
|
@@ -360,4 +367,4 @@ export var Utils;
|
|
360
367
|
})(Utils || (Utils = {}));
|
361
368
|
;
|
362
369
|
({}); // @--end-of-file-for-module=tnp-core lib/utils.ts
|
363
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBd0IsTUFBTSxPQUFPLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBSyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUdMLE1BQU0sdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0FBRXRDLE1BQU0sS0FBVyxLQUFLLENBNGdCckI7QUE1Z0JELFdBQWlCLEtBQUs7SUFLcEIsSUFBaUIsSUFBSSxDQWdIcEI7SUFoSEQsV0FBaUIsSUFBSTtRQUNOLG1CQUFjLEdBQUcsQ0FDNUIsWUFBb0IsRUFBRSx3REFBd0Q7UUFDOUUsV0FBbUIsRUFDRixFQUFFO1lBQ25CLE1BQU0sS0FBSyxHQUFHLFdBQVcsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUM7WUFFdEMsTUFBTSxTQUFTLEdBQUcsWUFBWSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxFQUFFLEVBQUU7Z0JBQ3hELElBQUksQ0FBQyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztvQkFDbkIsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDO2dCQUNiLENBQUM7Z0JBQ0QsTUFBTSxJQUFJLEdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUM7Z0JBQ3JDLElBQ0UsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7b0JBQzNDLENBQUMs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QUFRLENBQUMsU0FBMEI7WUFFakQsT0FBTyxRQUFRLENBQ2IsU0FBUyxFQUFFLFFBQVEsRUFBRSxFQUFFLE9BQU8sQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLENBR3pDLENBQUM7UUFDSixDQUFDO1FBUGUsWUFBUSxXQU92QixDQUFBO0lBRUgsQ0FBQyxFQWhCZ0IsR0FBRyxHQUFILFNBQUcsS0FBSCxTQUFHLFFBZ0JuQjtBQUNILENBQUMsRUE1Z0JnQixLQUFLLEtBQUwsS0FBSyxRQTRnQnJCO0FBRUEsQ0FBQztBQUFBLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxrREFBa0QiLCJzb3VyY2VzQ29udGVudCI6WyJcblxuaW1wb3J0IHsgQ29yZU1vZGVscyB9IGZyb20gJy4vY29yZS1tb2RlbHMnO1xuaW1wb3J0IGF4aW9zLCB7IEF4aW9zUmVzcG9uc2UgfSBmcm9tICdheGlvcyc7XG5pbXBvcnQgeyBwYXRoLCBfIH0gZnJvbSAnLi9jb3JlLWltcG9ydHMnO1xuaW1wb3J0IHsgSGVscGVycyB9IGZyb20gJy4vaW5kZXgnO1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuY29uc3QgQkxPQl9TVVBQT1JURURfSU5fU1FMSlMgPSBmYWxzZTtcblxuZXhwb3J0IG5hbWVzcGFjZSBVdGlscyB7XG4gIGludGVyZmFjZSBBdHRySnNvbmNQcm9wIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU/OiBhbnk7XG4gIH1cbiAgZXhwb3J0IG5hbWVzcGFjZSBqc29uIHtcbiAgICBleHBvcnQgY29uc3QgZ2V0QXRycmlidXRpZXMgPSAoXG4gICAgICBqc29uRGVlcFBhdGg6IHN0cmluZywgLy8gbG9kYXNoIHBhdGggdG8gcHJvcGVydHkgaW4ganNvbiBleC4gZGVlcC5wYXRoLnRvLnByb3BcbiAgICAgIGZpbGVDb250ZW50OiBzdHJpbmcsIC8vIGpzb25jIG9yIGpzb241IC0ganNvbiB3aXRoIGNvbW1lbnRzXG4gICAgKTogQXR0ckpzb25jUHJvcFtdID0+IHtcbiAgICAgIGNvbnN0IGxpbmVzID0gZmlsZUNvbnRlbnQuc3BsaXQoJ1xcbicpO1xuXG4gICAgICBjb25zdCBwYXRoUGFydHMgPSBqc29uRGVlcFBhdGguc3BsaXQoJy4nKS5yZWR1Y2UoKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKGEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIFtiXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsYXN0OiBzdHJpbmcgPSBhW2EubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmIChcbiAgICAgICAgICAobGFzdC5zdGFydHNXaXRoKGBbJ2ApICYmIGIuZW5kc1dpdGgoYCddYCkpIHx8XG4gICAgICAgICAgKGxhc3Quc3RhcnRzV2l0aChgW1wiYCkgJiYgYi5lbmRzV2l0aChgXCJdYCkpXG4gICAgICAgICkge1xuICAgICAgICAgIGFbYS5sZW5ndGggLSAxXSA9IFtsYXN0LCBiXS5qb2luKCcuJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYS5wdXNoKGIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfSwgW10pO1xuXG5cbiAgICAgIGNvbnN0IGtleU5hbWUgPSBwYXRoUGFydHMucG9wKCkhLnJlcGxhY2UoL15cXFtcIiguKylcIlxcXSQvLCAnJDEnKTtcbiAgICAgIGxldCBjdXJyZW50UGF0aCA9ICcnO1xuICAgICAgbGV0IGF0dHJpYnV0ZXM6IEF0dHJKc29uY1Byb3BbXSA9IFtdO1xuICAgICAgbGV0IGNvbGxlY3RlZENvbW1lbnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZExpbmUgPSBsaW5lLnRyaW0oKTtcblxuICAgICAgICBpZiAodHJpbW1lZExpbmUuc3RhcnRzV2l0aCgnLy8nKSkge1xuXG4gICAgICAgICAgY29sbGVjdGVkQ29tbWVudHMucHVzaCh0cmltbWVkTGluZSk7XG5cblxuICAgICAgICB9IGVsc2UgaWYgKHRyaW1tZWRMaW5lLnN0YXJ0c1dpdGgoJ1wiJykgfHwgdHJpbW1lZExpbmUuc3RhcnRzV2l0aChcIidcIikpIHtcblxuICAgICAgICAgIGNvbnN0IG1hdGNoID0gdHJpbW1lZExpbmUubWF0Y2goL1tcIiddKFteXCInXSspW1wiJ11cXHMqOi8pO1xuXG4gICAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBtYXRjaFsxXTtcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoID0gY3VycmVudFBhdGhcbiAgICAgICAgICAgICAgPyBgJHtjdXJyZW50UGF0aH0uJHtrZXkuaW5jbHVkZXMoJy4nKSA/IGBbJyR7a2V5fSddYCA6IGtleX1gXG4gICAgICAgICAgICAgIDoga2V5O1xuXG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgKGN1cnJlbnRQYXRoLmVuZHNXaXRoKGtleU5hbWUpICYmXG4gICAgICAgICAgICAgICAgIWN1cnJlbnRQYXRoLmVuZHNXaXRoKCcvJyArIGtleU5hbWUpKSB8fFxuICAgICAgICAgICAgICBjdXJyZW50UGF0aC5lbmRzV2l0aChgWycke2tleU5hbWV9J11gKVxuICAgICAgICAgICAgKSB7XG5cblxuXG5cblxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzID0gZXh0cmFjdEF0dHJpYnV0ZXNGcm9tQ29tbWVudHMoY29sbGVjdGVkQ29tbWVudHMpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBjb2xsZWN0ZWRDb21tZW50cyA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXR0cmlidXRlcztcbiAgICB9O1xuXG4gICAgY29uc3QgZXh0cmFjdEF0dHJpYnV0ZXNGcm9tQ29tbWVudHMgPSAoXG4gICAgICBjb21tZW50czogc3RyaW5nW10sXG4gICAgKTogQXR0ckpzb25jUHJvcFtdID0+IHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXM6IEF0dHJKc29uY1Byb3BbXSA9IFtdO1xuICAgICAgY29uc3QgYXR0clJlZ2V4ID0gL0AoXFx3KykoPzpcXHMqPVxccyooW15cXHNAXSspKT8vZztcblxuICAgICAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgICAgIGxldCBtYXRjaDtcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IGF0dHJSZWdleC5leGVjKGNvbW1lbnQpKSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IFssIG5hbWUsIHZhbHVlXSA9IG1hdGNoO1xuXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdBdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzLmZpbmQoXG4gICAgICAgICAgICBhdHRyID0+IGF0dHIubmFtZSA9PT0gYEAke25hbWV9YCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGV4aXN0aW5nQXR0cmlidXRlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUgPSBbZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUsIHZhbHVlXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhdHRyaWJ1dGVzLnB1c2goe1xuICAgICAgICAgICAgICBuYW1lOiBgQCR7bmFtZX1gLFxuICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUgPyB2YWx1ZSA6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICBhdHRyaWJ1dGVzLmZvckVhY2goYXR0ciA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGF0dHIudmFsdWUpICYmIGF0dHIudmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgYXR0ci52YWx1ZSA9IGF0dHIudmFsdWVbMF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYXR0cmlidXRlcztcbiAgICB9O1xuICB9XG5cblxuICBleHBvcnQgZW51bSBEYkJpbmFyeUZvcm1hdEVudW0ge1xuICAgIEJsb2IgPSAnQmxvYicsXG4gICAgRmlsZSA9ICdGaWxlJyxcbiAgICBzdHJpbmcgPSAnc3RyaW5nJyxcbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIERiQmluYXJ5Rm9ybWF0Rm9yQnJvd3NlciA9IEJsb2IgfCBGaWxlIHwgc3RyaW5nO1xuLyogKi9cbi8qICovXG4gIFxuXG4gIC8qKlxuICAgKiBCaW5hcnkgZm9ybWF0IHRoYXQgY2FuIGJlIHN0b3JlZCBpbiBkYXRhYmFzZVxuICAgKlxuICAgKiBmb3Igbm9kZWpzID0+IEJ1ZmZlclxuICAgKiBmb3Igc3FsLmpzID0+IHN0cmluZyAoc2hvdWxiIGJlIGJsb2IgLSBidXQgbm90IHN1cHBvcnRlZClcbiAgICpcbiAgICovXG4gIGV4cG9ydCB0eXBlIERiQmluYXJ5Rm9ybWF0ID1cbiAgICB8IERiQmluYXJ5Rm9ybWF0Rm9yQnJvd3NlclxuLyogKi9cbi8qICovXG4gIFxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgYmluYXJ5IHtcblxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBmb3IgQlJPV1NFUiBPTkxZXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYnVmZmVyXG4gICAgICogQHBhcmFtIGNvbnRlbnRUeXBlXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gYXJyYXlCdWZmZXJUb0Jsb2IoXG4gICAgICBidWZmZXI6IEFycmF5QnVmZmVyLFxuICAgICAgY29udGVudFR5cGU6IENvcmVNb2RlbHMuQ29udGVudFR5cGUsXG4gICAgKTogUHJvbWlzZTxCbG9iPiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogY29udGVudFR5cGUgfSk7XG4gICAgfVxuXG5cblxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBmb3IgQlJPV1NFUiBPTkxZXG4gICAgICogQHBhcmFtIGJsb2JcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9BcnJheUJ1ZmZlcihibG9iOiBCbG9iKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIGFueSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZWplY3QpOyAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihibG9iKTtcbiAgICAgIH0pO1xuICAgIH1cblxuXG5cbiAgICAvKipcbiAgICAgKiBpdCBpcyByZXZlcnMgdG8gYmFzZTY0dG9CbG9iXG4gICAgICogQHBhcmFtIGJsb2JcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBibG9iVG9CYXNlNjQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgXykgPT4ge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZWFkZXIub25sb2FkZW5kID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0KTsgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcbiAgICAgIH0pO1xuICAgIH1cblxuXG5cbiAgICAvKipcbiAgICAgKiBpdCBpcyByZXZlcnMgdG8gYmxvYlRvQmFzZTY0KClcbiAgICAgKiBAcGFyYW0gYmFzZTY0RGF0YVxuICAgICAqIEByZXR1cm5zXG4gICAgICovXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJhc2U2NHRvQmxvYihcbiAgICAgIGJhc2U2NERhdGE6IHN0cmluZyxcbiAgICAgIGNvbnRlbnRUeXBlT3ZlcnJpZGU/OiBDb3JlTW9kZWxzLkNvbnRlbnRUeXBlLFxuICAgICk6IFByb21pc2U8QmxvYj4ge1xuICAgICAgbGV0IGNvbnRlbnRfdHlwZTogQ29yZU1vZGVscy5Db250ZW50VHlwZSA9IHZvaWQgMCBhcyBhbnk7XG4gICAgICBsZXQgZmlsZV9iYXNlNjQ6IHN0cmluZyA9IHZvaWQgMCBhcyBhbnk7XG4gICAgICBpZiAoIWNvbnRlbnRUeXBlT3ZlcnJpZGUpIHtcbiAgICAgICAgY29uc3QgbSA9IC9eZGF0YTooLis/KTtiYXNlNjQsKC4rKSQvLmV4ZWMoYmFzZTY0RGF0YSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBbZmlyZWRldi1mcmFtZXdvcmtdW2Jhc2U2NHRvQmxvYl0gTm90IGEgYmFzZTY0IGJsb2IgWyR7YmFzZTY0RGF0YX1dYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIFtfXywgY29udGVudHR5cGUsIGZpbGViYXNlNjRdID0gbTtcbiAgICAgICAgY29udGVudF90eXBlID0gY29udGVudHR5cGUgYXMgYW55O1xuICAgICAgICBmaWxlX2Jhc2U2NCA9IGZpbGViYXNlNjQ7XG4gICAgICB9XG4gICAgICBjb250ZW50X3R5cGUgPSAoXG4gICAgICAgIGNvbnRlbnRUeXBlT3ZlcnJpZGUgPyBjb250ZW50VHlwZU92ZXJyaWRlIDogY29udGVudF90eXBlIHx8ICcnXG4gICAgICApIGFzIGFueTtcbiAgICAgIGJhc2U2NERhdGEgPSBjb250ZW50VHlwZU92ZXJyaWRlID8gYmFzZTY0RGF0YSA6IGZpbGVfYmFzZTY0O1xuICAgICAgY29uc3Qgc2xpY2VTaXplID0gMTAyNDtcbiAgICAgIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiYXNlNjREYXRhKTtcbiAgICAgIGNvbnN0IGJ5dGVzTGVuZ3RoID0gYnl0ZUNoYXJhY3RlcnMubGVuZ3RoO1xuICAgICAgY29uc3Qgc2xpY2VzQ291bnQgPSBNYXRoLmNlaWwoYnl0ZXNMZW5ndGggLyBzbGljZVNpemUpO1xuICAgICAgY29uc3QgYnl0ZUFycmF5cyA9IG5ldyBBcnJheShzbGljZXNDb3VudCk7XG5cbiAgICAgIGZvciAobGV0IHNsaWNlSW5kZXggPSAwOyBzbGljZUluZGV4IDwgc2xpY2VzQ291bnQ7ICsrc2xpY2VJbmRleCkge1xuICAgICAgICBjb25zdCBiZWdpbiA9IHNsaWNlSW5kZXggKiBzbGljZVNpemU7XG4gICAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKGJlZ2luICsgc2xpY2VTaXplLCBieXRlc0xlbmd0aCk7XG5cbiAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgQXJyYXkoZW5kIC0gYmVnaW4pO1xuXG4gICAgICAgIGZvciAobGV0IG9mZnNldCA9IGJlZ2luLCBpID0gMDsgb2Zmc2V0IDwgZW5kOyArK2ksICsrb2Zmc2V0KSB7XG4gICAgICAgICAgYnl0ZXNbaV0gPSBieXRlQ2hhcmFjdGVyc1tvZmZzZXRdLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgIH1cbiAgICAgICAgYnl0ZUFycmF5c1tzbGljZUluZGV4XSA9IG5ldyBVaW50OEFycmF5KGJ5dGVzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgQmxvYihieXRlQXJyYXlzLCB7IHR5cGU6IGNvbnRlbnRfdHlwZSB9KTtcbiAgICB9XG5cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gYmFzZTY0dG9EYkJpbmFyeUZvcm1hdChcbiAgICAgIHRleHQ6IHN0cmluZyxcbiAgICApOiBQcm9taXNlPERiQmluYXJ5Rm9ybWF0PiB7XG4gICAgICBsZXQgcmVzdWx0OiBEYkJpbmFyeUZvcm1hdDtcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKEJMT0JfU1VQUE9SVEVEX0lOX1NRTEpTKSB7XG4gICAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IGJhc2U2NHRvQmxvYih0ZXh0KTtcbiAgICAgICAgICByZXR1cm4gYmxvYjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGV4dCBhcyBhbnk7XG4gICAgICB9KSgpO1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gZGJCaW5hcnlGb3JtYXRUb0Jhc2U2NChcbiAgICAgIGJpbmFyeUZvcm1hdDogRGJCaW5hcnlGb3JtYXQsXG4gICAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIGxldCByZXN1bHQ6IHN0cmluZztcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKEJMT0JfU1VQUE9SVEVEX0lOX1NRTEpTKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGJsb2JUb0Jhc2U2NChiaW5hcnlGb3JtYXQgYXMgYW55KTtcbiAgICAgICAgICByZXR1cm4gdGV4dDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmluYXJ5Rm9ybWF0IGFzIGFueTtcbiAgICAgIH0pKCk7XG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gdGV4dFRvRGJCaW5hcnlGb3JtYXQoXG4gICAgICB0ZXh0OiBzdHJpbmcsXG4gICAgKTogUHJvbWlzZTxEYkJpbmFyeUZvcm1hdD4ge1xuICAgICAgbGV0IHJlc3VsdDogRGJCaW5hcnlGb3JtYXQ7XG5cbiAgICAgIHJlc3VsdCA9IGF3YWl0IChhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmIChCTE9CX1NVUFBPUlRFRF9JTl9TUUxKUykge1xuICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCB0ZXh0VG9CbG9iKHRleHQpO1xuICAgICAgICAgIHJldHVybiBibG9iO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0ZXh0IGFzIGFueTtcbiAgICAgIH0pKCk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG5cblxuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBkYkJpbmFyeUZvcm1hdFRvVGV4dChcbiAgICAgIGJpbmFyeUZvcm1hdDogRGJCaW5hcnlGb3JtYXQsXG4gICAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIGxldCByZXN1bHQ6IHN0cmluZztcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKEJMT0JfU1VQUE9SVEVEX0lOX1NRTEpTKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGJsb2JUb1RleHQoYmluYXJ5Rm9ybWF0IGFzIGFueSk7XG4gICAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJpbmFyeUZvcm1hdCBhcyBhbnk7XG4gICAgICB9KSgpO1xuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbGVUb0Jsb2IoZmlsZTogRmlsZSkge1xuICAgICAgcmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShhd2FpdCBmaWxlLmFycmF5QnVmZmVyKCkpXSwge1xuICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICB9KTtcbiAgICB9XG5cblxuXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0ZpbGUoXG4gICAgICBibG9iOiBCbG9iLFxuICAgICAgbmFtZUZvckZpbGU6IHN0cmluZyA9ICdteS1maWxlLW5hbWUnLFxuICAgICk6IFByb21pc2U8RmlsZT4ge1xuICAgICAgaWYgKCFuYW1lRm9yRmlsZSkge1xuICAgICAgICBuYW1lRm9yRmlsZSA9ICdub25hbWVmaWxlJyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIG5ldyBGaWxlKFtibG9iXSwgbmFtZUZvckZpbGUpO1xuICAgIH1cblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gdGV4dFRvQmxvYihcbiAgICAgIHRleHQ6IHN0cmluZyxcbiAgICAgIHR5cGU6IENvcmVNb2RlbHMuQ29udGVudFR5cGUgPSAndGV4dC9wbGFpbicsXG4gICAgKTogUHJvbWlzZTxCbG9iPiB7XG4gICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3RleHRdLCB7IHR5cGUgfSk7XG4gICAgICByZXR1cm4gYmxvYjtcbiAgICB9XG5cblxuXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb1RleHQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gYXdhaXQgYmxvYi50ZXh0KCk7XG4gICAgfVxuXG5cblxuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXh0VG9GaWxlKFxuICAgICAgdGV4dDogc3RyaW5nLFxuICAgICAgZmlsZVJlbGF0aXZlUGF0aE9yTmFtZTogc3RyaW5nLFxuICAgICk6IFByb21pc2U8RmlsZT4ge1xuXG4gICAgICBjb25zdCBleHQgPSBwYXRoLmV4dG5hbWUoZmlsZVJlbGF0aXZlUGF0aE9yTmFtZSk7XG5cbiAgICAgIGNvbnN0IHR5cGUgPSBDb3JlTW9kZWxzLm1pbWVUeXBlc1tleHRdO1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt0ZXh0XSwgeyB0eXBlIH0pO1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGJsb2JUb0ZpbGUoYmxvYiwgZmlsZVJlbGF0aXZlUGF0aE9yTmFtZSk7XG5cblxuXG5cblxuICAgICAgcmV0dXJuIGZpbGU7XG4gICAgfVxuXG5cblxuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaWxlVG9UZXh0KGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGZpbGUudGV4dCgpO1xuICAgIH1cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24ganNvblRvQmxvYihqc29uT2JqOiBvYmplY3QpOiBQcm9taXNlPEJsb2I+IHtcbiAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoanNvbk9iaiwgbnVsbCwgMildLCB7XG4gICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGJsb2I7XG4gICAgfVxuXG5cblxuICAgIC8qKlxuICAgICAqIFRPRE8gTk9UIFRFU1RFRFxuICAgICAqL1xuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9Kc29uKGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgYmxvYi50ZXh0KCkpO1xuICAgIH1cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmxvYkZyb20odXJsOiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPEJsb2I+ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICB1cmwsXG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgfVxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgY3NzIHtcblxuICAgIC8qKlxuICAgICAqXG4gICAgICogQHBhcmFtIHBpeGVsc0NzcyBwaXhlbHMgZXguIDEwMHB4XG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBleHBvcnQgZnVuY3Rpb24gbnVtVmFsdWUocGl4ZWxzQ3NzOiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXIge1xuXG4gICAgICByZXR1cm4gcGFyc2VJbnQoXG4gICAgICAgIHBpeGVsc0Nzcz8udG9TdHJpbmcoKT8ucmVwbGFjZSgncHgnLCAnJyksXG5cblxuICAgICAgKTtcbiAgICB9XG5cbiAgfVxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL3V0aWxzLnRzIl19
|
370
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi90bXAtbGlicy1mb3ItZGlzdC13ZWJzcWwvdG5wLWNvcmUvcHJvamVjdHMvdG5wLWNvcmUvc3JjL2xpYi91dGlscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sS0FBd0IsTUFBTSxPQUFPLENBQUM7QUFDN0MsT0FBTyxFQUFFLElBQUksRUFBSyxNQUFNLGdCQUFnQixDQUFDO0FBRXpDLEtBQUs7QUFDTCxLQUFLO0FBQ0wsS0FBSztBQUdMLE1BQU0sdUJBQXVCLEdBQUcsS0FBSyxDQUFDO0FBRXRDLE1BQU0sS0FBVyxLQUFLLENBMmhCckI7QUEzaEJELFdBQWlCLEtBQUs7SUFDcEI7OztPQUdHO0lBQ1UsMEJBQW9CLEdBQUcsQ0FBQyxlQUF1QixFQUFFLEVBQUU7UUFDOUQsT0FBTyxlQUFlLENBQUMsT0FBTyxDQUFDLHdCQUF3QixFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQ25FLENBQUMsQ0FBQztJQU9GLElBQWlCLElBQUksQ0FnSHBCO0lBaEhELFdBQWlCLElBQUk7UUFDTixtQkFBYyxHQUFHLENBQzVCLFlBQW9CLEVBQUUsd0RBQXdEO1FBQzlFLFdBQW1CLEVBQ0YsRUFBRTtZQUNuQixNQUFNLEtBQUssR0FBRyxXQUFXLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxDQUFDO1lBRXRDLE1BQU0sU0FBUyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsRUFBRSxFQUFFO2dCQUN4RCxJQUFJLENBQUMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7b0JBQ25CLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQztnQkFDYixDQUFDO2dCQUNELE1BQU0sSUFBSSxHQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMs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T2hDLENBQUE7SUFFSCxDQUFDLEVBdFdnQixNQUFNLEdBQU4sWUFBTSxLQUFOLFlBQU0sUUFzV3RCO0lBSUQsSUFBaUIsR0FBRyxDQWdCbkI7SUFoQkQsV0FBaUIsR0FBRztRQUVsQjs7OztXQUlHO1FBQ0gsU0FBZ0IsUUFBUSxDQUFDLFNBQTBCO1lBRWpELE9BQU8sUUFBUSxDQUNiLFNBQVMsRUFBRSxRQUFRLEVBQUUsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUd6QyxDQUFDO1FBQ0osQ0FBQztRQVBlLFlBQVEsV0FPdkIsQ0FBQTtJQUVILENBQUMsRUFoQmdCLEdBQUcsR0FBSCxTQUFHLEtBQUgsU0FBRyxRQWdCbkI7QUFFSCxDQUFDLEVBM2hCZ0IsS0FBSyxLQUFMLEtBQUssUUEyaEJyQjtBQUVBLENBQUM7QUFBQSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsa0RBQWtEIiwic291cmNlc0NvbnRlbnQiOlsiXG5cbmltcG9ydCB7IENvcmVNb2RlbHMgfSBmcm9tICcuL2NvcmUtbW9kZWxzJztcbmltcG9ydCBheGlvcywgeyBBeGlvc1Jlc3BvbnNlIH0gZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHsgcGF0aCwgXyB9IGZyb20gJy4vY29yZS1pbXBvcnRzJztcbmltcG9ydCB7IEhlbHBlcnMgfSBmcm9tICcuL2luZGV4Jztcbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cbmNvbnN0IEJMT0JfU1VQUE9SVEVEX0lOX1NRTEpTID0gZmFsc2U7XG5cbmV4cG9ydCBuYW1lc3BhY2UgVXRpbHMge1xuICAvKipcbiAgICogRXhhbXBsZTpcbiAgICogbmV3IFJlZ0V4cChlc2NhcGVTdHJpbmdGb3JSZWdFeCgnYS5iLmMnKSwnZycpID0+IC9hXFwuYlxcLmMvZ1xuICAgKi9cbiAgZXhwb3J0IGNvbnN0IGVzY2FwZVN0cmluZ0ZvclJlZ0V4ID0gKHN0cmluZ0ZvclJlZ0V4cDogc3RyaW5nKSA9PiB7XG4gICAgcmV0dXJuIHN0cmluZ0ZvclJlZ0V4cC5yZXBsYWNlKC9bLVxcL1xcXFxeJCorPy4oKXxbXFxde31dL2csICdcXFxcJCYnKTtcbiAgfTtcblxuXG4gIGludGVyZmFjZSBBdHRySnNvbmNQcm9wIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU/OiBhbnk7XG4gIH1cbiAgZXhwb3J0IG5hbWVzcGFjZSBqc29uIHtcbiAgICBleHBvcnQgY29uc3QgZ2V0QXRycmlidXRpZXMgPSAoXG4gICAgICBqc29uRGVlcFBhdGg6IHN0cmluZywgLy8gbG9kYXNoIHBhdGggdG8gcHJvcGVydHkgaW4ganNvbiBleC4gZGVlcC5wYXRoLnRvLnByb3BcbiAgICAgIGZpbGVDb250ZW50OiBzdHJpbmcsIC8vIGpzb25jIG9yIGpzb241IC0ganNvbiB3aXRoIGNvbW1lbnRzXG4gICAgKTogQXR0ckpzb25jUHJvcFtdID0+IHtcbiAgICAgIGNvbnN0IGxpbmVzID0gZmlsZUNvbnRlbnQuc3BsaXQoJ1xcbicpO1xuXG4gICAgICBjb25zdCBwYXRoUGFydHMgPSBqc29uRGVlcFBhdGguc3BsaXQoJy4nKS5yZWR1Y2UoKGEsIGIpID0+IHtcbiAgICAgICAgaWYgKGEubGVuZ3RoID09PSAwKSB7XG4gICAgICAgICAgcmV0dXJuIFtiXTtcbiAgICAgICAgfVxuICAgICAgICBjb25zdCBsYXN0OiBzdHJpbmcgPSBhW2EubGVuZ3RoIC0gMV07XG4gICAgICAgIGlmIChcbiAgICAgICAgICAobGFzdC5zdGFydHNXaXRoKGBbJ2ApICYmIGIuZW5kc1dpdGgoYCddYCkpIHx8XG4gICAgICAgICAgKGxhc3Quc3RhcnRzV2l0aChgW1wiYCkgJiYgYi5lbmRzV2l0aChgXCJdYCkpXG4gICAgICAgICkge1xuICAgICAgICAgIGFbYS5sZW5ndGggLSAxXSA9IFtsYXN0LCBiXS5qb2luKCcuJyk7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYS5wdXNoKGIpO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhO1xuICAgICAgfSwgW10pO1xuXG5cbiAgICAgIGNvbnN0IGtleU5hbWUgPSBwYXRoUGFydHMucG9wKCkhLnJlcGxhY2UoL15cXFtcIiguKylcIlxcXSQvLCAnJDEnKTtcbiAgICAgIGxldCBjdXJyZW50UGF0aCA9ICcnO1xuICAgICAgbGV0IGF0dHJpYnV0ZXM6IEF0dHJKc29uY1Byb3BbXSA9IFtdO1xuICAgICAgbGV0IGNvbGxlY3RlZENvbW1lbnRzOiBzdHJpbmdbXSA9IFtdO1xuXG4gICAgICBmb3IgKGNvbnN0IGxpbmUgb2YgbGluZXMpIHtcbiAgICAgICAgY29uc3QgdHJpbW1lZExpbmUgPSBsaW5lLnRyaW0oKTtcblxuICAgICAgICBpZiAodHJpbW1lZExpbmUuc3RhcnRzV2l0aCgnLy8nKSkge1xuXG4gICAgICAgICAgY29sbGVjdGVkQ29tbWVudHMucHVzaCh0cmltbWVkTGluZSk7XG5cblxuICAgICAgICB9IGVsc2UgaWYgKHRyaW1tZWRMaW5lLnN0YXJ0c1dpdGgoJ1wiJykgfHwgdHJpbW1lZExpbmUuc3RhcnRzV2l0aChcIidcIikpIHtcblxuICAgICAgICAgIGNvbnN0IG1hdGNoID0gdHJpbW1lZExpbmUubWF0Y2goL1tcIiddKFteXCInXSspW1wiJ11cXHMqOi8pO1xuXG4gICAgICAgICAgaWYgKG1hdGNoKSB7XG4gICAgICAgICAgICBjb25zdCBrZXkgPSBtYXRjaFsxXTtcbiAgICAgICAgICAgIGN1cnJlbnRQYXRoID0gY3VycmVudFBhdGhcbiAgICAgICAgICAgICAgPyBgJHtjdXJyZW50UGF0aH0uJHtrZXkuaW5jbHVkZXMoJy4nKSA/IGBbJyR7a2V5fSddYCA6IGtleX1gXG4gICAgICAgICAgICAgIDoga2V5O1xuXG5cbiAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgKGN1cnJlbnRQYXRoLmVuZHNXaXRoKGtleU5hbWUpICYmXG4gICAgICAgICAgICAgICAgIWN1cnJlbnRQYXRoLmVuZHNXaXRoKCcvJyArIGtleU5hbWUpKSB8fFxuICAgICAgICAgICAgICBjdXJyZW50UGF0aC5lbmRzV2l0aChgWycke2tleU5hbWV9J11gKVxuICAgICAgICAgICAgKSB7XG5cblxuXG5cblxuICAgICAgICAgICAgICBhdHRyaWJ1dGVzID0gZXh0cmFjdEF0dHJpYnV0ZXNGcm9tQ29tbWVudHMoY29sbGVjdGVkQ29tbWVudHMpO1xuICAgICAgICAgICAgICBicmVhaztcbiAgICAgICAgICAgIH1cblxuXG4gICAgICAgICAgICBjb2xsZWN0ZWRDb21tZW50cyA9IFtdO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICByZXR1cm4gYXR0cmlidXRlcztcbiAgICB9O1xuXG4gICAgY29uc3QgZXh0cmFjdEF0dHJpYnV0ZXNGcm9tQ29tbWVudHMgPSAoXG4gICAgICBjb21tZW50czogc3RyaW5nW10sXG4gICAgKTogQXR0ckpzb25jUHJvcFtdID0+IHtcbiAgICAgIGNvbnN0IGF0dHJpYnV0ZXM6IEF0dHJKc29uY1Byb3BbXSA9IFtdO1xuICAgICAgY29uc3QgYXR0clJlZ2V4ID0gL0AoXFx3KykoPzpcXHMqPVxccyooW15cXHNAXSspKT8vZztcblxuICAgICAgZm9yIChjb25zdCBjb21tZW50IG9mIGNvbW1lbnRzKSB7XG4gICAgICAgIGxldCBtYXRjaDtcbiAgICAgICAgd2hpbGUgKChtYXRjaCA9IGF0dHJSZWdleC5leGVjKGNvbW1lbnQpKSAhPT0gbnVsbCkge1xuICAgICAgICAgIGNvbnN0IFssIG5hbWUsIHZhbHVlXSA9IG1hdGNoO1xuXG4gICAgICAgICAgY29uc3QgZXhpc3RpbmdBdHRyaWJ1dGUgPSBhdHRyaWJ1dGVzLmZpbmQoXG4gICAgICAgICAgICBhdHRyID0+IGF0dHIubmFtZSA9PT0gYEAke25hbWV9YCxcbiAgICAgICAgICApO1xuXG4gICAgICAgICAgaWYgKGV4aXN0aW5nQXR0cmlidXRlKSB7XG4gICAgICAgICAgICBpZiAodmFsdWUpIHtcbiAgICAgICAgICAgICAgaWYgKEFycmF5LmlzQXJyYXkoZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUpKSB7XG4gICAgICAgICAgICAgICAgZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUucHVzaCh2YWx1ZSk7XG4gICAgICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAgICAgZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUgPSBbZXhpc3RpbmdBdHRyaWJ1dGUudmFsdWUsIHZhbHVlXTtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBhdHRyaWJ1dGVzLnB1c2goe1xuICAgICAgICAgICAgICBuYW1lOiBgQCR7bmFtZX1gLFxuICAgICAgICAgICAgICB2YWx1ZTogdmFsdWUgPyB2YWx1ZSA6IHRydWUsXG4gICAgICAgICAgICB9KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuXG4gICAgICBhdHRyaWJ1dGVzLmZvckVhY2goYXR0ciA9PiB7XG4gICAgICAgIGlmIChBcnJheS5pc0FycmF5KGF0dHIudmFsdWUpICYmIGF0dHIudmFsdWUubGVuZ3RoID09PSAxKSB7XG4gICAgICAgICAgYXR0ci52YWx1ZSA9IGF0dHIudmFsdWVbMF07XG4gICAgICAgIH1cbiAgICAgIH0pO1xuXG4gICAgICByZXR1cm4gYXR0cmlidXRlcztcbiAgICB9O1xuICB9XG5cblxuXG5cblxuICBleHBvcnQgZW51bSBEYkJpbmFyeUZvcm1hdEVudW0ge1xuICAgIEJsb2IgPSAnQmxvYicsXG4gICAgRmlsZSA9ICdGaWxlJyxcbiAgICBzdHJpbmcgPSAnc3RyaW5nJyxcbi8qICovXG4vKiAqL1xuICBcbiAgfVxuXG4gIGV4cG9ydCB0eXBlIERiQmluYXJ5Rm9ybWF0Rm9yQnJvd3NlciA9IEJsb2IgfCBGaWxlIHwgc3RyaW5nO1xuLyogKi9cbi8qICovXG4gIFxuXG4gIC8qKlxuICAgKiBCaW5hcnkgZm9ybWF0IHRoYXQgY2FuIGJlIHN0b3JlZCBpbiBkYXRhYmFzZVxuICAgKlxuICAgKiBmb3Igbm9kZWpzID0+IEJ1ZmZlclxuICAgKiBmb3Igc3FsLmpzID0+IHN0cmluZyAoc2hvdWxiIGJlIGJsb2IgLSBidXQgbm90IHN1cHBvcnRlZClcbiAgICpcbiAgICovXG4gIGV4cG9ydCB0eXBlIERiQmluYXJ5Rm9ybWF0ID1cbiAgICB8IERiQmluYXJ5Rm9ybWF0Rm9yQnJvd3NlclxuLyogKi9cbi8qICovXG4gIFxuXG4gIGV4cG9ydCBuYW1lc3BhY2UgYmluYXJ5IHtcblxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBmb3IgQlJPV1NFUiBPTkxZXG4gICAgICpcbiAgICAgKiBAcGFyYW0gYnVmZmVyXG4gICAgICogQHBhcmFtIGNvbnRlbnRUeXBlXG4gICAgICogQHJldHVybnNcbiAgICAgKi9cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gYXJyYXlCdWZmZXJUb0Jsb2IoXG4gICAgICBidWZmZXI6IEFycmF5QnVmZmVyLFxuICAgICAgY29udGVudFR5cGU6IENvcmVNb2RlbHMuQ29udGVudFR5cGUsXG4gICAgKTogUHJvbWlzZTxCbG9iPiB7XG4gICAgICAvLyBAdHMtaWdub3JlXG4gICAgICByZXR1cm4gbmV3IEJsb2IoW2J1ZmZlcl0sIHsgdHlwZTogY29udGVudFR5cGUgfSk7XG4gICAgfVxuXG5cblxuXG4gICAgLyoqXG4gICAgICogVGhpcyBpcyBmb3IgQlJPV1NFUiBPTkxZXG4gICAgICogQHBhcmFtIGJsb2JcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9BcnJheUJ1ZmZlcihibG9iOiBCbG9iKTogUHJvbWlzZTxBcnJheUJ1ZmZlcj4ge1xuICAgICAgcmV0dXJuIGF3YWl0IG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgICAgY29uc3QgcmVhZGVyID0gbmV3IEZpbGVSZWFkZXIoKTtcbiAgICAgICAgcmVhZGVyLmFkZEV2ZW50TGlzdGVuZXIoJ2xvYWRlbmQnLCAoKSA9PiB7XG4gICAgICAgICAgcmVzb2x2ZShyZWFkZXIucmVzdWx0IGFzIGFueSk7XG4gICAgICAgIH0pO1xuICAgICAgICByZWFkZXIuYWRkRXZlbnRMaXN0ZW5lcignZXJyb3InLCByZWplY3QpOyAvLyBAdHMtaWdub3JlXG4gICAgICAgIHJlYWRlci5yZWFkQXNBcnJheUJ1ZmZlcihibG9iKTtcbiAgICAgIH0pO1xuICAgIH1cblxuXG5cbiAgICAvKipcbiAgICAgKiBpdCBpcyByZXZlcnMgdG8gYmFzZTY0dG9CbG9iXG4gICAgICogQHBhcmFtIGJsb2JcbiAgICAgKiBAcmV0dXJuc1xuICAgICAqL1xuICAgIGV4cG9ydCBmdW5jdGlvbiBibG9iVG9CYXNlNjQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gbmV3IFByb21pc2U8YW55PigocmVzb2x2ZSwgXykgPT4ge1xuICAgICAgICBjb25zdCByZWFkZXIgPSBuZXcgRmlsZVJlYWRlcigpO1xuICAgICAgICByZWFkZXIub25sb2FkZW5kID0gKCkgPT4gcmVzb2x2ZShyZWFkZXIucmVzdWx0KTsgLy8gQHRzLWlnbm9yZVxuICAgICAgICByZWFkZXIucmVhZEFzRGF0YVVSTChibG9iKTtcbiAgICAgIH0pO1xuICAgIH1cblxuXG5cbiAgICAvKipcbiAgICAgKiBpdCBpcyByZXZlcnMgdG8gYmxvYlRvQmFzZTY0KClcbiAgICAgKiBAcGFyYW0gYmFzZTY0RGF0YVxuICAgICAqIEByZXR1cm5zXG4gICAgICovXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJhc2U2NHRvQmxvYihcbiAgICAgIGJhc2U2NERhdGE6IHN0cmluZyxcbiAgICAgIGNvbnRlbnRUeXBlT3ZlcnJpZGU/OiBDb3JlTW9kZWxzLkNvbnRlbnRUeXBlLFxuICAgICk6IFByb21pc2U8QmxvYj4ge1xuICAgICAgbGV0IGNvbnRlbnRfdHlwZTogQ29yZU1vZGVscy5Db250ZW50VHlwZSA9IHZvaWQgMCBhcyBhbnk7XG4gICAgICBsZXQgZmlsZV9iYXNlNjQ6IHN0cmluZyA9IHZvaWQgMCBhcyBhbnk7XG4gICAgICBpZiAoIWNvbnRlbnRUeXBlT3ZlcnJpZGUpIHtcbiAgICAgICAgY29uc3QgbSA9IC9eZGF0YTooLis/KTtiYXNlNjQsKC4rKSQvLmV4ZWMoYmFzZTY0RGF0YSk7XG4gICAgICAgIGlmICghbSkge1xuICAgICAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgICAgIGBbZmlyZWRldi1mcmFtZXdvcmtdW2Jhc2U2NHRvQmxvYl0gTm90IGEgYmFzZTY0IGJsb2IgWyR7YmFzZTY0RGF0YX1dYCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgdmFyIFtfXywgY29udGVudHR5cGUsIGZpbGViYXNlNjRdID0gbTtcbiAgICAgICAgY29udGVudF90eXBlID0gY29udGVudHR5cGUgYXMgYW55O1xuICAgICAgICBmaWxlX2Jhc2U2NCA9IGZpbGViYXNlNjQ7XG4gICAgICB9XG4gICAgICBjb250ZW50X3R5cGUgPSAoXG4gICAgICAgIGNvbnRlbnRUeXBlT3ZlcnJpZGUgPyBjb250ZW50VHlwZU92ZXJyaWRlIDogY29udGVudF90eXBlIHx8ICcnXG4gICAgICApIGFzIGFueTtcbiAgICAgIGJhc2U2NERhdGEgPSBjb250ZW50VHlwZU92ZXJyaWRlID8gYmFzZTY0RGF0YSA6IGZpbGVfYmFzZTY0O1xuICAgICAgY29uc3Qgc2xpY2VTaXplID0gMTAyNDtcbiAgICAgIGNvbnN0IGJ5dGVDaGFyYWN0ZXJzID0gYXRvYihiYXNlNjREYXRhKTtcbiAgICAgIGNvbnN0IGJ5dGVzTGVuZ3RoID0gYnl0ZUNoYXJhY3RlcnMubGVuZ3RoO1xuICAgICAgY29uc3Qgc2xpY2VzQ291bnQgPSBNYXRoLmNlaWwoYnl0ZXNMZW5ndGggLyBzbGljZVNpemUpO1xuICAgICAgY29uc3QgYnl0ZUFycmF5cyA9IG5ldyBBcnJheShzbGljZXNDb3VudCk7XG5cbiAgICAgIGZvciAobGV0IHNsaWNlSW5kZXggPSAwOyBzbGljZUluZGV4IDwgc2xpY2VzQ291bnQ7ICsrc2xpY2VJbmRleCkge1xuICAgICAgICBjb25zdCBiZWdpbiA9IHNsaWNlSW5kZXggKiBzbGljZVNpemU7XG4gICAgICAgIGNvbnN0IGVuZCA9IE1hdGgubWluKGJlZ2luICsgc2xpY2VTaXplLCBieXRlc0xlbmd0aCk7XG5cbiAgICAgICAgY29uc3QgYnl0ZXMgPSBuZXcgQXJyYXkoZW5kIC0gYmVnaW4pO1xuXG4gICAgICAgIGZvciAobGV0IG9mZnNldCA9IGJlZ2luLCBpID0gMDsgb2Zmc2V0IDwgZW5kOyArK2ksICsrb2Zmc2V0KSB7XG4gICAgICAgICAgYnl0ZXNbaV0gPSBieXRlQ2hhcmFjdGVyc1tvZmZzZXRdLmNoYXJDb2RlQXQoMCk7XG4gICAgICAgIH1cbiAgICAgICAgYnl0ZUFycmF5c1tzbGljZUluZGV4XSA9IG5ldyBVaW50OEFycmF5KGJ5dGVzKTtcbiAgICAgIH1cbiAgICAgIHJldHVybiBuZXcgQmxvYihieXRlQXJyYXlzLCB7IHR5cGU6IGNvbnRlbnRfdHlwZSB9KTtcbiAgICB9XG5cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gYmFzZTY0dG9EYkJpbmFyeUZvcm1hdChcbiAgICAgIHRleHQ6IHN0cmluZyxcbiAgICApOiBQcm9taXNlPERiQmluYXJ5Rm9ybWF0PiB7XG4gICAgICBsZXQgcmVzdWx0OiBEYkJpbmFyeUZvcm1hdDtcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKEJMT0JfU1VQUE9SVEVEX0lOX1NRTEpTKSB7XG4gICAgICAgICAgY29uc3QgYmxvYiA9IGF3YWl0IGJhc2U2NHRvQmxvYih0ZXh0KTtcbiAgICAgICAgICByZXR1cm4gYmxvYjtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gdGV4dCBhcyBhbnk7XG4gICAgICB9KSgpO1xuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG4gICAgICByZXR1cm4gcmVzdWx0O1xuICAgIH1cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gZGJCaW5hcnlGb3JtYXRUb0Jhc2U2NChcbiAgICAgIGJpbmFyeUZvcm1hdDogRGJCaW5hcnlGb3JtYXQsXG4gICAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIGxldCByZXN1bHQ6IHN0cmluZztcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKEJMT0JfU1VQUE9SVEVEX0lOX1NRTEpTKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGJsb2JUb0Jhc2U2NChiaW5hcnlGb3JtYXQgYXMgYW55KTtcbiAgICAgICAgICByZXR1cm4gdGV4dDtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYmluYXJ5Rm9ybWF0IGFzIGFueTtcbiAgICAgIH0pKCk7XG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuICAgICAgcmV0dXJuIHJlc3VsdDtcbiAgICB9XG5cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gdGV4dFRvRGJCaW5hcnlGb3JtYXQoXG4gICAgICB0ZXh0OiBzdHJpbmcsXG4gICAgKTogUHJvbWlzZTxEYkJpbmFyeUZvcm1hdD4ge1xuICAgICAgbGV0IHJlc3VsdDogRGJCaW5hcnlGb3JtYXQ7XG5cbiAgICAgIHJlc3VsdCA9IGF3YWl0IChhc3luYyAoKSA9PiB7XG4gICAgICAgIGlmIChCTE9CX1NVUFBPUlRFRF9JTl9TUUxKUykge1xuICAgICAgICAgIGNvbnN0IGJsb2IgPSBhd2FpdCB0ZXh0VG9CbG9iKHRleHQpO1xuICAgICAgICAgIHJldHVybiBibG9iO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiB0ZXh0IGFzIGFueTtcbiAgICAgIH0pKCk7XG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG5cblxuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBkYkJpbmFyeUZvcm1hdFRvVGV4dChcbiAgICAgIGJpbmFyeUZvcm1hdDogRGJCaW5hcnlGb3JtYXQsXG4gICAgKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICAgIGxldCByZXN1bHQ6IHN0cmluZztcblxuICAgICAgcmVzdWx0ID0gYXdhaXQgKGFzeW5jICgpID0+IHtcbiAgICAgICAgaWYgKEJMT0JfU1VQUE9SVEVEX0lOX1NRTEpTKSB7XG4gICAgICAgICAgY29uc3QgdGV4dCA9IGF3YWl0IGJsb2JUb1RleHQoYmluYXJ5Rm9ybWF0IGFzIGFueSk7XG4gICAgICAgICAgcmV0dXJuIHRleHQ7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGJpbmFyeUZvcm1hdCBhcyBhbnk7XG4gICAgICB9KSgpO1xuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcbiAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgfVxuXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGZpbGVUb0Jsb2IoZmlsZTogRmlsZSkge1xuICAgICAgcmV0dXJuIG5ldyBCbG9iKFtuZXcgVWludDhBcnJheShhd2FpdCBmaWxlLmFycmF5QnVmZmVyKCkpXSwge1xuICAgICAgICB0eXBlOiBmaWxlLnR5cGUsXG4gICAgICB9KTtcbiAgICB9XG5cblxuXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb0ZpbGUoXG4gICAgICBibG9iOiBCbG9iLFxuICAgICAgbmFtZUZvckZpbGU6IHN0cmluZyA9ICdteS1maWxlLW5hbWUnLFxuICAgICk6IFByb21pc2U8RmlsZT4ge1xuICAgICAgaWYgKCFuYW1lRm9yRmlsZSkge1xuICAgICAgICBuYW1lRm9yRmlsZSA9ICdub25hbWVmaWxlJyArIG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgICAgfVxuICAgICAgLy8gQHRzLWlnbm9yZVxuICAgICAgcmV0dXJuIG5ldyBGaWxlKFtibG9iXSwgbmFtZUZvckZpbGUpO1xuICAgIH1cblxuXG5cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbiAgXG5cblxuXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4gIFxuXG5cblxuLyogKi9cbi8qICovXG4vKiAqL1xuLyogKi9cbi8qICovXG4vKiAqL1xuICBcblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gdGV4dFRvQmxvYihcbiAgICAgIHRleHQ6IHN0cmluZyxcbiAgICAgIHR5cGU6IENvcmVNb2RlbHMuQ29udGVudFR5cGUgPSAndGV4dC9wbGFpbicsXG4gICAgKTogUHJvbWlzZTxCbG9iPiB7XG4gICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3RleHRdLCB7IHR5cGUgfSk7XG4gICAgICByZXR1cm4gYmxvYjtcbiAgICB9XG5cblxuXG4gICAgZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGJsb2JUb1RleHQoYmxvYjogQmxvYik6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgICByZXR1cm4gYXdhaXQgYmxvYi50ZXh0KCk7XG4gICAgfVxuXG5cblxuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiB0ZXh0VG9GaWxlKFxuICAgICAgdGV4dDogc3RyaW5nLFxuICAgICAgZmlsZVJlbGF0aXZlUGF0aE9yTmFtZTogc3RyaW5nLFxuICAgICk6IFByb21pc2U8RmlsZT4ge1xuXG4gICAgICBjb25zdCBleHQgPSBwYXRoLmV4dG5hbWUoZmlsZVJlbGF0aXZlUGF0aE9yTmFtZSk7XG5cbiAgICAgIGNvbnN0IHR5cGUgPSBDb3JlTW9kZWxzLm1pbWVUeXBlc1tleHRdO1xuICAgICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFt0ZXh0XSwgeyB0eXBlIH0pO1xuICAgICAgY29uc3QgZmlsZSA9IGF3YWl0IGJsb2JUb0ZpbGUoYmxvYiwgZmlsZVJlbGF0aXZlUGF0aE9yTmFtZSk7XG5cblxuXG5cblxuICAgICAgcmV0dXJuIGZpbGU7XG4gICAgfVxuXG5cblxuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBmaWxlVG9UZXh0KGZpbGU6IEZpbGUpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgcmV0dXJuIGF3YWl0IGZpbGUudGV4dCgpO1xuICAgIH1cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24ganNvblRvQmxvYihqc29uT2JqOiBvYmplY3QpOiBQcm9taXNlPEJsb2I+IHtcbiAgICAgIGNvbnN0IGJsb2IgPSBuZXcgQmxvYihbSlNPTi5zdHJpbmdpZnkoanNvbk9iaiwgbnVsbCwgMildLCB7XG4gICAgICAgIHR5cGU6ICdhcHBsaWNhdGlvbi9qc29uJyxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIGJsb2I7XG4gICAgfVxuXG5cblxuICAgIC8qKlxuICAgICAqIFRPRE8gTk9UIFRFU1RFRFxuICAgICAqL1xuICAgIGV4cG9ydCBhc3luYyBmdW5jdGlvbiBibG9iVG9Kc29uKGJsb2I6IEJsb2IpOiBQcm9taXNlPHN0cmluZz4ge1xuICAgICAgcmV0dXJuIEpTT04ucGFyc2UoYXdhaXQgYmxvYi50ZXh0KCkpO1xuICAgIH1cblxuXG5cbiAgICBleHBvcnQgYXN5bmMgZnVuY3Rpb24gZ2V0QmxvYkZyb20odXJsOiBzdHJpbmcpOiBQcm9taXNlPEJsb2I+IHtcbiAgICAgIGNvbnN0IHJlc3BvbnNlOiBBeGlvc1Jlc3BvbnNlPEJsb2I+ID0gYXdhaXQgYXhpb3Moe1xuICAgICAgICB1cmwsXG4gICAgICAgIG1ldGhvZDogJ2dldCcsXG4gICAgICAgIHJlc3BvbnNlVHlwZTogJ2Jsb2InLFxuICAgICAgfSk7XG4gICAgICByZXR1cm4gcmVzcG9uc2UuZGF0YTtcbiAgICB9XG5cbiAgfVxuXG5cblxuICBleHBvcnQgbmFtZXNwYWNlIGNzcyB7XG5cbiAgICAvKipcbiAgICAgKlxuICAgICAqIEBwYXJhbSBwaXhlbHNDc3MgcGl4ZWxzIGV4LiAxMDBweFxuICAgICAqIEByZXR1cm5zXG4gICAgICovXG4gICAgZXhwb3J0IGZ1bmN0aW9uIG51bVZhbHVlKHBpeGVsc0Nzczogc3RyaW5nIHwgbnVtYmVyKTogbnVtYmVyIHtcblxuICAgICAgcmV0dXJuIHBhcnNlSW50KFxuICAgICAgICBwaXhlbHNDc3M/LnRvU3RyaW5nKCk/LnJlcGxhY2UoJ3B4JywgJycpLFxuXG5cbiAgICAgICk7XG4gICAgfVxuXG4gIH1cblxufVxuXG4gOyh7fSk7IC8vIEAtLWVuZC1vZi1maWxlLWZvci1tb2R1bGU9dG5wLWNvcmUgbGliL3V0aWxzLnRzIl19
|
@@ -605,6 +605,14 @@ var CoreModels;
|
|
605
605
|
'peerDependencies',
|
606
606
|
'resolutions',
|
607
607
|
];
|
608
|
+
CoreModels.NpmSpecialVersions = [
|
609
|
+
'latest',
|
610
|
+
'next',
|
611
|
+
'beta',
|
612
|
+
'alpha',
|
613
|
+
'rc',
|
614
|
+
'lts',
|
615
|
+
];
|
608
616
|
CoreModels.BaseProjectTypeArr = [
|
609
617
|
'typescript',
|
610
618
|
'angular',
|
@@ -3760,6 +3768,13 @@ class PROGRESS_DATA {
|
|
3760
3768
|
const BLOB_SUPPORTED_IN_SQLJS = false;
|
3761
3769
|
var Utils;
|
3762
3770
|
(function (Utils) {
|
3771
|
+
/**
|
3772
|
+
* Example:
|
3773
|
+
* new RegExp(escapeStringForRegEx('a.b.c'),'g') => /a\.b\.c/g
|
3774
|
+
*/
|
3775
|
+
Utils.escapeStringForRegEx = (stringForRegExp) => {
|
3776
|
+
return stringForRegExp.replace(/[-\/\\^$*+?.()|[\]{}]/g, '\\$&');
|
3777
|
+
};
|
3763
3778
|
let json;
|
3764
3779
|
(function (json) {
|
3765
3780
|
json.getAtrributies = (jsonDeepPath, // lodash path to property in json ex. deep.path.to.prop
|