igniteui-angular 17.2.6 → 17.2.7
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/esm2022/lib/calendar/month-picker/month-picker.component.mjs +9 -1
- package/esm2022/lib/core/density.mjs +2 -1
- package/esm2022/lib/directives/for-of/for_of.directive.mjs +2 -2
- package/esm2022/lib/directives/for-of/for_of.sync.service.mjs +6 -1
- package/esm2022/lib/grids/common/events.mjs +1 -1
- package/esm2022/lib/grids/common/grid.interface.mjs +1 -1
- package/esm2022/lib/grids/common/strategy.mjs +2 -2
- package/esm2022/lib/grids/common/types.mjs +1 -1
- package/esm2022/lib/grids/grid-base.directive.mjs +41 -38
- package/esm2022/lib/grids/hierarchical-grid/hierarchical-grid.component.mjs +2 -2
- package/fesm2022/igniteui-angular.mjs +57 -40
- package/fesm2022/igniteui-angular.mjs.map +1 -1
- package/lib/core/density.d.ts +1 -0
- package/lib/grids/common/events.d.ts +30 -30
- package/lib/grids/common/grid.interface.d.ts +48 -48
- package/lib/grids/common/strategy.d.ts +1 -1
- package/lib/grids/common/types.d.ts +2 -2
- package/lib/grids/grid-base.directive.d.ts +2 -1
- package/package.json +1 -1
|
@@ -15,6 +15,11 @@ export class IgxForOfSyncService {
|
|
|
15
15
|
*/
|
|
16
16
|
setMaster(directive, forced = false) {
|
|
17
17
|
const orientation = directive.igxForScrollOrientation;
|
|
18
|
+
// in case master is not in dom, set a new master
|
|
19
|
+
const isMasterInDom = this._master.get(orientation)?.dc?.instance?._viewContainer.element.nativeElement.isConnected;
|
|
20
|
+
if (!isMasterInDom) {
|
|
21
|
+
forced = true;
|
|
22
|
+
}
|
|
18
23
|
if (orientation && (forced || !this._master.has(orientation))) {
|
|
19
24
|
this._master.set(orientation, directive);
|
|
20
25
|
}
|
|
@@ -65,4 +70,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.2.4", ngImpor
|
|
|
65
70
|
providedIn: 'root',
|
|
66
71
|
}]
|
|
67
72
|
}] });
|
|
68
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
73
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yX29mLnN5bmMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2lnbml0ZXVpLWFuZ3VsYXIvc3JjL2xpYi9kaXJlY3RpdmVzL2Zvci1vZi9mb3Jfb2Yuc3luYy5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBTzNDLE1BQU0sT0FBTyxtQkFBbUI7SUFIaEM7UUFLWSxZQUFPLEdBQW1ELElBQUksR0FBRyxFQUE2QyxDQUFDO0tBNEMxSDtJQTFDRzs7T0FFRztJQUNJLFFBQVEsQ0FBQyxTQUE0QztRQUN4RCxPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxLQUFLLFNBQVMsQ0FBQztJQUM3RSxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsU0FBNEMsRUFBRSxNQUFNLEdBQUcsS0FBSztRQUN6RSxNQUFNLFdBQVcsR0FBRyxTQUFTLENBQUMsdUJBQXVCLENBQUM7UUFDdEQsaURBQWlEO1FBQ2pELE1BQU0sYUFBYSxHQUFHLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxFQUFFLEVBQUUsRUFBRSxRQUFRLEVBQUUsY0FBYyxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDO1FBQ3BILElBQUksQ0FBQyxhQUFhLEVBQUU7WUFDaEIsTUFBTSxHQUFHLElBQUksQ0FBQztTQUNqQjtRQUNELElBQUksV0FBVyxJQUFJLENBQUMsTUFBTSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUMsRUFBRTtZQUMzRCxJQUFJLENBQUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLENBQUM7U0FDNUM7SUFDTCxDQUFDO0lBRUQ7O09BRUc7SUFDSSxXQUFXO1FBQ2QsSUFBSSxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQ7O09BRUc7SUFDSSxVQUFVLENBQUMsR0FBVztRQUN6QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLFVBQVUsQ0FBQztJQUM1QyxDQUFDO0lBRUQ7O09BRUc7SUFDSSxTQUFTLENBQUMsR0FBVztRQUN4QixPQUFPLElBQUksQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEtBQUssQ0FBQyxTQUFTLENBQUM7SUFDakQsQ0FBQzs4R0E3Q1EsbUJBQW1CO2tIQUFuQixtQkFBbUIsY0FGaEIsTUFBTTs7MkZBRVQsbUJBQW1CO2tCQUgvQixVQUFVO21CQUFDO29CQUNSLFVBQVUsRUFBRSxNQUFNO2lCQUNyQjs7QUFvREQsTUFBTSxPQUFPLHlCQUF5QjtJQUh0QztRQUlZLGtCQUFhLEdBQTRDLElBQUksR0FBRyxFQUFlLENBQUM7S0FRM0Y7SUFQVSxlQUFlLENBQUMsR0FBVyxFQUFFLE1BQWtDO1FBQ2xFLElBQUksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxNQUFNLENBQUMsQ0FBQztJQUN4QyxDQUFDO0lBRU0sZUFBZSxDQUFDLEdBQVc7UUFDOUIsT0FBTyxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUN2QyxDQUFDOzhHQVJRLHlCQUF5QjtrSEFBekIseUJBQXlCLGNBRnRCLE1BQU07OzJGQUVULHlCQUF5QjtrQkFIckMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBJZ3hHcmlkRm9yT2ZEaXJlY3RpdmUgfSBmcm9tICcuL2Zvcl9vZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgVmlydHVhbEhlbHBlckJhc2VEaXJlY3RpdmUgfSBmcm9tICcuL2Jhc2UuaGVscGVyLmNvbXBvbmVudCc7XG5cbkBJbmplY3RhYmxlKHtcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIElneEZvck9mU3luY1NlcnZpY2Uge1xuXG4gICAgcHJpdmF0ZSBfbWFzdGVyOiBNYXA8c3RyaW5nLCBJZ3hHcmlkRm9yT2ZEaXJlY3RpdmU8YW55LCBhbnlbXT4+ID0gbmV3IE1hcDxzdHJpbmcsIElneEdyaWRGb3JPZkRpcmVjdGl2ZTxhbnksIGFueVtdPj4oKTtcblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgaXNNYXN0ZXIoZGlyZWN0aXZlOiBJZ3hHcmlkRm9yT2ZEaXJlY3RpdmU8YW55LCBhbnlbXT4pOiBib29sZWFuIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hc3Rlci5nZXQoZGlyZWN0aXZlLmlneEZvclNjcm9sbE9yaWVudGF0aW9uKSA9PT0gZGlyZWN0aXZlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2V0TWFzdGVyKGRpcmVjdGl2ZTogSWd4R3JpZEZvck9mRGlyZWN0aXZlPGFueSwgYW55W10+LCBmb3JjZWQgPSBmYWxzZSkge1xuICAgICAgICBjb25zdCBvcmllbnRhdGlvbiA9IGRpcmVjdGl2ZS5pZ3hGb3JTY3JvbGxPcmllbnRhdGlvbjtcbiAgICAgICAgLy8gaW4gY2FzZSBtYXN0ZXIgaXMgbm90IGluIGRvbSwgc2V0IGEgbmV3IG1hc3RlclxuICAgICAgICBjb25zdCBpc01hc3RlckluRG9tID0gdGhpcy5fbWFzdGVyLmdldChvcmllbnRhdGlvbik/LmRjPy5pbnN0YW5jZT8uX3ZpZXdDb250YWluZXIuZWxlbWVudC5uYXRpdmVFbGVtZW50LmlzQ29ubmVjdGVkO1xuICAgICAgICBpZiAoIWlzTWFzdGVySW5Eb20pIHtcbiAgICAgICAgICAgIGZvcmNlZCA9IHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKG9yaWVudGF0aW9uICYmIChmb3JjZWQgfHwgIXRoaXMuX21hc3Rlci5oYXMob3JpZW50YXRpb24pKSkge1xuICAgICAgICAgICAgdGhpcy5fbWFzdGVyLnNldChvcmllbnRhdGlvbiwgZGlyZWN0aXZlKTtcbiAgICAgICAgfVxuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgcmVzZXRNYXN0ZXIoKSB7XG4gICAgICAgIHRoaXMuX21hc3Rlci5jbGVhcigpO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgc2l6ZXNDYWNoZShkaXI6IHN0cmluZyk6IG51bWJlcltdIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hc3Rlci5nZXQoZGlyKS5zaXplc0NhY2hlO1xuICAgIH1cblxuICAgIC8qKlxuICAgICAqIEBoaWRkZW5cbiAgICAgKi9cbiAgICBwdWJsaWMgY2h1bmtTaXplKGRpcjogc3RyaW5nKTogbnVtYmVyIHtcbiAgICAgICAgcmV0dXJuIHRoaXMuX21hc3Rlci5nZXQoZGlyKS5zdGF0ZS5jaHVua1NpemU7XG4gICAgfVxufVxuXG5ASW5qZWN0YWJsZSh7XG4gICAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBJZ3hGb3JPZlNjcm9sbFN5bmNTZXJ2aWNlIHtcbiAgICBwcml2YXRlIF9tYXN0ZXJTY3JvbGw6IE1hcDxzdHJpbmcsIFZpcnR1YWxIZWxwZXJCYXNlRGlyZWN0aXZlPiA9IG5ldyBNYXA8c3RyaW5nLCBhbnk+KCk7XG4gICAgcHVibGljIHNldFNjcm9sbE1hc3RlcihkaXI6IHN0cmluZywgc2Nyb2xsOiBWaXJ0dWFsSGVscGVyQmFzZURpcmVjdGl2ZSkge1xuICAgICAgICB0aGlzLl9tYXN0ZXJTY3JvbGwuc2V0KGRpciwgc2Nyb2xsKTtcbiAgICB9XG5cbiAgICBwdWJsaWMgZ2V0U2Nyb2xsTWFzdGVyKGRpcjogc3RyaW5nKSB7XG4gICAgICAgIHJldHVybiB0aGlzLl9tYXN0ZXJTY3JvbGwuZ2V0KGRpcik7XG4gICAgfVxufVxuIl19
|
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
export {};
|
|
2
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2NvbW1vbi9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElCYXNlRXZlbnRBcmdzLCBDYW5jZWxhYmxlRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBHcmlkS2V5ZG93blRhcmdldFR5cGUgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IENlbGxUeXBlLCBDb2x1bW5UeXBlLCBHcmlkVHlwZSwgUm93VHlwZSB9IGZyb20gJy4vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZSc7XG5pbXBvcnQgeyBJR3JvdXBpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IElneEJhc2VFeHBvcnRlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4cG9ydGVyLWNvbW1vbi9iYXNlLWV4cG9ydC1zZXJ2aWNlJztcbmltcG9ydCB7IElneEV4cG9ydGVyT3B0aW9uc0Jhc2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHBvcnRlci1jb21tb24vZXhwb3J0ZXItb3B0aW9ucy1iYXNlJztcbmltcG9ydCB7IElTb3J0aW5nRXhwcmVzc2lvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IElCYXNlU2VhcmNoSW5mbyB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdGV4dC1oaWdobGlnaHQvdGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlJztcblxuLyoqIFRoZSBldmVudCBhcmd1bWVudHMgd2hlbiBkYXRhIGZyb20gYSBncmlkIGlzIGJlaW5nIGNvcGllZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRDbGlwYm9hcmRFdmVudCB7XG4gICAgLyoqIGBkYXRhYCBjYW4gYmUgb2YgYW55IHR5cGUgYW5kIHJlZmVyZXMgdG8gdGhlIGRhdGEgdGhhdCBpcyBiZWluZyBjb3BpZWQvc3RvcmVkIHRvIHRoZSBjbGlwYm9hcmQgKi9cbiAgICBkYXRhOiBhbnlbXTtcbiAgICAvKipcbiAgICAgKiBgY2FuY2VsYCByZXR1cm5zIHdoZXRoZXIgYW4gZXh0ZXJuYWwgZXZlbnQgaGFzIGludGVyZXB0ZWQgdGhlIGNvcHlpbmdcbiAgICAgKiBJZiB0aGUgdmFsdWUgYmVjb21lcyBcInRydWVcIiwgaXQgcmV0dXJucy9leGl0cyBmcm9tIHRoZSBtZXRob2QsIGluc3RhbmNpYXRpbmcgdGhlIGludGVyZmFjZVxuICAgICAqL1xuICAgIGNhbmNlbDogYm9vbGVhbjtcbn1cblxuLyoqIFJlcHJlc2VudHMgYW4gZXZlbnQgYXJndW1lbnQgcmVsYXRlZCB0byBncmlkIGNlbGwgaW50ZXJhY3Rpb25zLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JpZENlbGxFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgY2VsbCB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnQuICovXG4gICAgY2VsbDogQ2VsbFR5cGU7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgZXZlbnQgdGhhdCBvY3VycmVkXG4gICAgICogRXhhbXBsZXMgb2Ygc3VjaCBldmVudHMgaW5jbHVkZTogc2VsZWN0aW5nLCBjbGlja2luZywgZG91YmxlIGNsaWNraW5nLCBldGMuXG4gICAgICovXG4gICAgZXZlbnQ6IEV2ZW50O1xufVxuXG4vKiogUmVwcmVzZW50cyBhbiBldmVudCBhcmd1bWVudCByZWxhdGVkIHRvIGdyaWQgcm93IGludGVyYWN0aW9ucy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRSb3dFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgcm93IHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudC4gKi9cbiAgICByb3c6IFJvd1R5cGU7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgZXZlbnQgdGhhdCBvY3VycmVkXG4gICAgICogRXhhbXBsZXMgb2Ygc3VjaCBldmVudHMgaW5jbHVkZTogc2VsZWN0aW5nLCBjbGlja2luZywgZG91YmxlIGNsaWNraW5nLCBldGMuXG4gICAgICovXG4gICAgZXZlbnQ6IEV2ZW50O1xufVxuXG4vKiogUmVwcmVzZW50cyBldmVudCBhcmd1bWVudHMgcmVsYXRlZCB0byBncmlkIGVkaXRpbmcgY29tcGxldGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRFZGl0RG9uZUV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE3LjEuMC4gVXNlIHRoZSBgcm93S2V5YCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJvd0lEOiBhbnk7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAxNy4xLjAuIFVzZSB0aGUgYHJvd0tleWAgcHJvcGVydHkgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwcmltYXJ5S2V5OiBhbnk7XG4gICAgcm93S2V5OiBhbnk7XG4gICAgY2VsbElEPzoge1xuICAgICAgICByb3dJRDogYW55O1xuICAgICAgICBjb2x1bW5JRDogYW55O1xuICAgICAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogYHJvd0RhdGFgIHJlcHJlc2VudHMgdGhlIHVwZGF0ZWQvY29tbWl0dGVkIGRhdGEgb2YgdGhlIHJvdyBhZnRlciB0aGUgZWRpdCAobmV3VmFsdWUpXG4gICAgICogVGhlIG9ubHkgY2FzZSByb3dEYXRhIChvZiB0aGUgY3VycmVudCBvYmplY3QpIGlzIHVzZWQgZGlyZWN0bHksIGlzIHdoZW4gdGhlcmUgaXMgbm8gcm93RWRpdGluZyBvciB0cmFuc2FjdGlvbnMgZW5hYmxlZFxuICAgICAqL1xuICAgIHJvd0RhdGE6IGFueTtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBwcmV2aW91cyAoYmVmb3JlIGVkaXRpbmcpIHZhbHVlIG9mIHRoZSBlZGl0ZWQgY2VsbC5cbiAgICAgKiBJdCdzIHVzZWQgd2hlbiB0aGUgZXZlbnQgaGFzIGJlZW4gc3RvcGVkL2V4aXRlZC5cbiAgICAgKi9cbiAgICBvbGRWYWx1ZTogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgdmFsdWUsIHRoYXQgaXMgYmVpbmcgZW50ZXJlZCBpbiB0aGUgZWRpdGVkIGNlbGxcbiAgICAgKiBXaGVuIHRoZXJlIGlzIG5vIGBuZXdWYWx1ZWAgYW5kIHRoZSBldmVudCBoYXMgZW5kZWQsIHRoZSB2YWx1ZSBvZiB0aGUgY2VsbCByZXR1cm5zIHRvIHRoZSBgb2xkVmFsdWVgXG4gICAgICovXG4gICAgbmV3VmFsdWU/OiBhbnk7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBvcmlnaW5hbCBldmVudCwgdGhhdCBoYXMgdHJpZ2dlcmVkIHRoZSBlZGl0XG4gICAgICovXG4gICAgZXZlbnQ/OiBFdmVudDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIGNvbHVtbiBpbmZvcm1hdGlvbiBvZiB0aGUgZWRpdGVkIGNlbGxcbiAgICAgKi9cbiAgICBjb2x1bW4/OiBDb2x1bW5UeXBlO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgZ3JpZCBpbnN0YW5jZSB0aGF0IG93bnMgdGhlIGVkaXQgZXZlbnQuXG4gICAgICovXG4gICAgb3duZXI/OiBHcmlkVHlwZTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyBpZiB0aGUgZWRpdGluZyBjb3Npc3RzIG9mIGFkZGluZyBhIG5ldyByb3dcbiAgICAgKi9cbiAgICBpc0FkZFJvdz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIG5ldyB2YWx1ZSB3b3VsZCBiZSB2YWxpZC5cbiAgICAgKiBJdCBjYW4gYmUgc2V0IHRvIHJldHVybiB0aGUgcmVzdWx0IG9mIHRoZSBtZXRob2RzIGZvciB2YWxpZGF0aW9uIG9mIHRoZSBncmlkXG4gICAgICovXG4gICAgdmFsaWQ/OiBib29sZWFuO1xufVxuXG5cbi8qKlxuICogUmVwcmVzZW50cyBldmVudCBhcmd1bWVudHMgcmVsYXRlZCB0byBncmlkIGVkaXRpbmcuXG4gKiBUaGUgZXZlbnQgaXMgY2FuY2VsYWJsZVxuICogSXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIHJvdyBhbmQgdGhlIGNvbHVtbiwgYXMgd2VsbCBhcyB0aGUgb2xkIGFuZCBud2UgdmFsdWUgb2YgdGhlIGVsZW1lbnQvY2VsbFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkRWRpdEV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3MsIElHcmlkRWRpdERvbmVFdmVudEFyZ3Mge1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElSb3dEYXRhQ2FuY2VsYWJsZUV2ZW50QXJncyBleHRlbmRzIElSb3dEYXRhRXZlbnRBcmdzLCBJR3JpZEVkaXRFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgY2VsbElEPzoge1xuICAgICAgICByb3dJRDogYW55O1xuICAgICAgICBjb2x1bW5JRDogYW55O1xuICAgICAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBvbGRWYWx1ZTogYW55O1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkXG4gICAgICovXG4gICAgbmV3VmFsdWU/OiBhbnk7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBpc0FkZFJvdz86IGJvb2xlYW47XG4gICAgb3duZXI6IEdyaWRUeXBlO1xufVxuXG4vKipcbiAqIFRoZSBldmVudCBhcmd1bWVudHMgYWZ0ZXIgYSBjb2x1bW4ncyBwaW4gc3RhdGUgaXMgY2hhbmdlZC5cbiAqIGBpbnNlcnRBdEluZGV4YHNwZWNpZmllcyBhdCB3aGljaCBpbmRleCBpbiB0aGUgcGlubmVkL3VucGlubmVkIGFyZWEgdGhlIGNvbHVtbiB3YXMgaW5zZXJ0ZWQuXG4gKiBgaXNQaW5uZWRgIHJldHVybnMgdGhlIGFjdHVhbCBwaW4gc3RhdGUgb2YgdGhlIGNvbHVtbiBhZnRlciB0aGUgb3BlcmF0aW9uIGNvbXBsZXRlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGluQ29sdW1uRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIGNvbHVtbjogQ29sdW1uVHlwZTtcbiAgICAvKipcbiAgICAgKiBJZiBwaW5uZWQsIHNwZWNpZmllcyBhdCB3aGljaCBpbmRleCBpbiB0aGUgcGlubmVkIGFyZWEgdGhlIGNvbHVtbiBpcyBpbnNlcnRlZC5cbiAgICAgKiBJZiB1bnBpbm5lZCwgc3BlY2lmaWVzIGF0IHdoaWNoIGluZGV4IGluIHRoZSB1bnBpbm5lZCBhcmVhIHRoZSBjb2x1bW4gaXMgaW5zZXJ0ZWQuXG4gICAgICovXG4gICAgaW5zZXJ0QXRJbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIFJldHVybnMgdGhlIGFjdHVhbCBwaW4gc3RhdGUgb2YgdGhlIGNvbHVtbi5cbiAgICAgKiBJZiBwaW5uaW5nL3VucGlubmluZyBpcyBzdWNjZXNmdWxsLCB2YWx1ZSBvZiBgaXNQaW5uZWRgIHdpbGwgY2hhbmdlIGFjY29yZGluZ2x5IHdoZW4gcmVhZCBpbiB0aGUgXCItaW5nXCIgYW5kIFwiLWVkXCIgZXZlbnQuXG4gICAgICovXG4gICAgaXNQaW5uZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIGV2ZW50IGFyZ3VtZW50cyBiZWZvcmUgYSBjb2x1bW4ncyBwaW4gc3RhdGUgaXMgY2hhbmdlZC5cbiAqIGBpbnNlcnRBdEluZGV4YHNwZWNpZmllcyBhdCB3aGljaCBpbmRleCBpbiB0aGUgcGlubmVkL3VucGlubmVkIGFyZWEgdGhlIGNvbHVtbiBpcyBpbnNlcnRlZC5cbiAqIENhbiBiZSBjaGFuZ2VkIGluIHRoZSBgY29sdW1uUGluYCBldmVudC5cbiAqIGBpc1Bpbm5lZGAgcmV0dXJucyB0aGUgYWN0dWFsIHBpbiBzdGF0ZSBvZiB0aGUgY29sdW1uLiBXaGVuIHBpbm5pbmcvdW5waW5uaW5nIGlzIHN1Y2Nlc2Z1bGwsXG4gKiB0aGUgdmFsdWUgb2YgYGlzUGlubmVkYCB3aWxsIGNoYW5nZSBhY2NvcmRpbmdseSB3aGVuIHJlYWQgaW4gdGhlIFwiLWluZ1wiIGFuZCBcIi1lZFwiIGV2ZW50LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQaW5Db2x1bW5DYW5jZWxsYWJsZUV2ZW50QXJncyBleHRlbmRzIElQaW5Db2x1bW5FdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgZXZlbnQgYXJndW1lbnRzIHJlbGF0ZWQgdG8gZXZlbnRzLCB0aGF0IGNhbiBvY2N1ciBmb3Igcm93cyBpbiBhIGdyaWRcbiAqIEV4YW1wbGUgZm9yIGV2ZW50czogYWRkaW5nLCBkZWxldGluZywgc2VsZWN0aW9uLCB0cmFuc2FjdGlvbiwgZXRjLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSb3dEYXRhRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMTcuMS4wLiBVc2UgdGhlIGByb3dEYXRhYCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIGRhdGE6IGFueTtcbiAgICByb3dEYXRhOiBhbnlcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSB1bmlxdWUga2V5LCB0aGUgcm93IGNhbiBiZSBhc3NvY2lhdGVkIHdpdGguXG4gICAgICogQXZhaWxhYmxlIGlmIGBwcmltYXJ5S2V5YCBleGlzdHNcbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE3LjEuMC4gVXNlIHRoZSBgcm93S2V5YCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHByaW1hcnlLZXk6IGFueTtcbiAgICByb3dLZXk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgZ3JpZCBpbnN0YW5jZSB0aGF0IG93bnMgdGhlIGVkaXQgZXZlbnQuICovXG4gICAgb3duZXI6IEdyaWRUeXBlO1xufVxuXG5cbi8qKiBUaGUgZXZlbnQgYXJndW1lbnRzIHdoZW4gYSBjb2x1bW4gaXMgYmVpbmcgcmVzaXplZCAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29sdW1uUmVzaXplRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBpbmZvcm1hbnRpb24gb2YgdGhlIGNvbHVtbiB0aGF0IGlzIGJlaW5nIHJlc2l6ZWQgKi9cbiAgICBjb2x1bW46IENvbHVtblR5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG9sZCB3aWR0aCBvZiB0aGUgY29sdW1uIGJlZm9yZSB0aGUgcmVzaXppbmcgKi9cbiAgICBwcmV2V2lkdGg6IHN0cmluZztcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbmV3IHdpZHRoLCB0aGUgY29sdW1uIGlzIGJlaW5nIHJlc2l6ZWQgdG8gKi9cbiAgICBuZXdXaWR0aDogc3RyaW5nO1xufVxuXG4vKipcbiAqIFRoZSBldmVudCBhcmd1bWVudHMgd2hlbiBhIGNvbHVtbiBpcyBiZWluZyByZXNpemVkXG4gKiBJdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgY29sdW1uLCBpdCdzIG9sZCBhbmQgbmV3IHdpZHRoXG4gKiBUaGUgZXZlbnQgY2FuIGJlIGNhbmNlbGVkXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtblJlc2l6aW5nRXZlbnRBcmdzIGV4dGVuZHMgSUNvbHVtblJlc2l6ZUV2ZW50QXJncywgQ2FuY2VsYWJsZUV2ZW50QXJncyB7XG59XG5cbi8qKlxuICogVGhlIGV2ZW50IGFyZ3VtZW50cyB3aGVuIHRoZSBzZWxlY3Rpb24gc3RhdGUgb2YgYSByb3cgaXMgYmVpbmcgY2hhbmdlZFxuICogVGhlIGV2ZW50IGlzIGNhbmNlbGFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUm93U2VsZWN0aW9uRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBSZXByZXNlbnRzIGFuIGFycmF5IG9mIHJvd3MsIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gc2VsZWN0ZWQgKi9cbiAgICByZWFkb25seSBvbGRTZWxlY3Rpb246IGFueVtdO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBuZXdseSBzZWxlY3RlZCByb3dzICovXG4gICAgbmV3U2VsZWN0aW9uOiBhbnlbXTtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGFuIGFycmF5IG9mIGFsbCBhZGRlZCByb3dzXG4gICAgICogV2hlbmV2ZXIgYSByb3cgaGFzIGJlZW4gc2VsZWN0ZWQsIHRoZSBhcnJheSBpcyBcInJlZnJlc2hlZFwiIHdpdGggdGhlIHNlbGVjdGVkIHJvd3NcbiAgICAgKi9cbiAgICByZWFkb25seSBhZGRlZDogYW55W107XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhbiBhcnJheSBvZiBhbGwgcm93cywgcmVtb3ZlZCBmcm9tIHRoZSBzZWxlY3Rpb25cbiAgICAgKiBXaGVuZXZlciBhIHJvdyBoYXMgYmVlbiBkZXNlbGVjdGVkLCB0aGUgYXJyYXkgaXMgXCJyZWZyZXNoZWRcIiB3aXRoIHRoZSByb3dzLFxuICAgICAqIHRoYXQgaGF2ZSBiZWVuIHByZXZpb3VzbHkgc2VsZWN0ZWQsIGJ1dCBhcmUgbm8gbG9uZ2VyXG4gICAgICovXG4gICAgcmVhZG9ubHkgcmVtb3ZlZDogYW55W107XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgZXZlbnQsIHRoYXQgaGFzIHRyaWdnZXJlZCB0aGUgc2VsZWN0aW9uIGNoYW5nZVxuICAgICAqIHNlbGVjdGluZywgZGVzZWxlY3RpbmdcbiAgICAgKi9cbiAgICByZWFkb25seSBldmVudD86IEV2ZW50O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBvciBub3QgYWxsIHJvd3Mgb2YgdGhlIGdyaWQgaGF2ZSBiZWVuIHNlbGVjdGVkICovXG4gICAgcmVhZG9ubHkgYWxsUm93c1NlbGVjdGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgZXZlbnQgYXJndW1lbnRzIHdoZW4gdGhlIHNlbGVjdGlvbiBzdGF0ZSBvZiBhIGNvbHVtbiBpcyBiZWluZyBjaGFnZWRcbiAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtblNlbGVjdGlvbkV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogUmVwcmVzZW50cyBhbiBhcnJheSBvZiBjb2x1bW5zLCB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHNlbGVjdGVkICovXG4gICAgcmVhZG9ubHkgb2xkU2VsZWN0aW9uOiBzdHJpbmdbXTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbmV3bHkgc2VsZWN0ZWQgY29sdW1ucyAqL1xuICAgIG5ld1NlbGVjdGlvbjogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhbiBhcnJheSBvZiBhbGwgYWRkZWQgY29sdW1uc1xuICAgICAqIFdoZW5ldmVyIGEgY29sdW1uIGhhcyBiZWVuIHNlbGVjdGVkLCB0aGUgYXJyYXkgaXMgXCJyZWZyZXNoZWRcIiB3aXRoIHRoZSBzZWxlY3RlZCBjb2x1bW5zXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWRkZWQ6IHN0cmluZ1tdO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYW4gYXJyYXkgb2YgYWxsIGNvbHVtbnMsIHJlbW92ZWQgZnJvbSB0aGUgc2VsZWN0aW9uXG4gICAgICogV2hlbmV2ZXIgYSBjb2x1bW4gaGFzIGJlZW4gZGVzZWxlY3RlZCwgdGhlIGFycmF5IGlzIFwicmVmcmVzaGVkXCIgd2l0aCB0aGUgY29sdW1ucywgdGhhdCBoYXZlIGJlZW4gcHJldmlvdXNseSBzZWxlY3RlZCwgYnV0IGFyZSBubyBsb25nZXJcbiAgICAgKi9cbiAgICByZWFkb25seSByZW1vdmVkOiBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBvcmlnaW5hbCBldmVudCwgdGhhdCBoYXMgdHJpZ2dlcmVkIHRoZSBzZWxlY3Rpb24gY2hhbmdlXG4gICAgICogc2VsZWN0aW5nLCBkZXNlbGVjdGluZ1xuICAgICAqL1xuICAgIHJlYWRvbmx5IGV2ZW50PzogRXZlbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVNlYXJjaEluZm8gZXh0ZW5kcyBJQmFzZVNlYXJjaEluZm8ge1xuICAgIG1hdGNoSW5mb0NhY2hlOiBhbnlbXTtcbiAgICBhY3RpdmVNYXRjaEluZGV4OiBudW1iZXI7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgYXJndW1lbnRzIGZvciB0aGUgZ3JpZCB0b29sYmFyIGV4cG9ydCBldmVudC5cbiAqIEl0IHByb3ZpZGVzIGluZm9ybWF0aW9uIGFib3V0IHRoZSBncmlkIGluc3RhbmNlLCBleHBvcnRlciBzZXJ2aWNlLCBleHBvcnQgb3B0aW9ucyxcbiAqIGFuZCBhbGxvd3MgdGhlIGV2ZW50IHRvIGJlIGNhbmNlbGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkVG9vbGJhckV4cG9ydEV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogYGdyaWRgIHJlcHJlc2VudHMgYSByZWZlcmVuY2UgdG8gdGhlIGluc3RhbmNlIG9mIHRoZSBncmlkIHRlIGV2ZW50IG9yaWdpbmF0ZWQgZnJvbSAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKlxuICAgICAqIFRoZSBgZXhwb3J0ZXJgIGlzIGEgYmFzZSBzZXJ2aWNlLlxuICAgICAqIFRoZSB0eXBlIChhbiBhYnN0cmFjdCBjbGFzcyBgSWd4QmFzZUV4cG9ydGVyYCkgaGFzIGl0J3Mgb3duIHByb3BlcnRpZXMgYW5kIG1ldGhvZHNcbiAgICAgKiBJdCBpcyB1c2VkIHRvIGRlZmluZSB0aGUgZm9ybWF0IGFuZCBvcHRpb25zIG9mIHRoZSBleHBvcnQsIHRoZSBleHBvcnRlZCBlbGVtZW50XG4gICAgICogYW5kIG1ldGhvZHMgZm9yIHByZXBhcmluZyB0aGUgZGF0YSBmcm9tIHRoZSBlbGVtZW50cyBmb3IgZXhwb3J0aW5nXG4gICAgICovXG4gICAgZXhwb3J0ZXI6IElneEJhc2VFeHBvcnRlcjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBkaWZmZXJlbnQgc2V0dGluZ3MsIHRoYXQgY2FuIGJlIGdpdmVuIHRvIGFuIGV4cG9ydFxuICAgICAqIFRoZSB0eXBlIChhbiBhYnN0cmFjdCBjbGFzcyBgSWd4RXhwb3J0ZXJPcHRpb25zQmFzZWApIGhhcyBwcm9wZXJ0aWVzIGZvciBjb2x1bW4gc2V0dGluZ3NcbiAgICAgKiAod2hldGhlciB0aGV5IHNob3VsZCBiZSBpZ25vcmVkKSBhcyB3ZWxsIGFzIG1ldGhvZCBmb3IgZ2VuZXJhdGluZyBhIGZpbGUgbmFtZVxuICAgICAqL1xuICAgIG9wdGlvbnM6IElneEV4cG9ydGVyT3B0aW9uc0Jhc2U7XG4gICAgLyoqXG4gICAgICogYGNhbmNlbGAgcmV0dXJucyB3aGV0aGVyIHRoZSBldmVudCBoYXMgYmVlbiBpbnRlcmVwdGVkIGFuZCBzdG9wcGVkXG4gICAgICogSWYgdGhlIHZhbHVlIGJlY29tZXMgXCJ0cnVlXCIsIGl0IHJldHVybnMvZXhpdHMgZnJvbSB0aGUgbWV0aG9kLCBpbnN0YW5jaWF0aW5nIHRoZSBpbnRlcmZhY2VcbiAgICAgKi9cbiAgICBjYW5jZWw6IGJvb2xlYW47XG59XG5cbi8qKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIHRoZSBzdGFydCBvZiBhIGNvbHVtbiBtb3Zpbmcgb3BlcmF0aW9uIGluIGEgZ3JpZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIGNvbHVtbiB0aGF0IGlzIGJlaW5nIG1vdmVkLlxuICAgICAqIFRoZSBgQ29sdW1uVHlwZWAgY29udGFpbnMgdGhlIGluZm9ybWF0b2luICh0aGUgZ3JpZCBpdCBiZWxvbmdzIHRvLCBjc3MgZGF0YSwgc2V0dGluZ3MsIGV0Yy4pIG9mIHRoZSBjb2x1bW4gaW4gaXRzIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBzb3VyY2U6IENvbHVtblR5cGU7XG59XG5cbi8qKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIGEgY29sdW1uIG1vdmluZyBvcGVyYXRpb24gaW4gYSBncmlkICovXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW5Nb3ZpbmdFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgY29sdW1uIHRoYXQgaXMgYmVpbmcgbW92ZWQuXG4gICAgICogVGhlIGBDb2x1bW5UeXBlYCBjb250YWlucyB0aGUgaW5mb3JtYXRvaW4gKHRoZSBncmlkIGl0IGJlbG9uZ3MgdG8sIGNzcyBkYXRhLCBzZXR0aW5ncywgZXRjLikgb2YgdGhlIGNvbHVtbiBpbiBpdHMgcHJvcGVydGllc1xuICAgICAqL1xuICAgIHNvdXJjZTogQ29sdW1uVHlwZTtcbiAgICAvKipcbiAgICAgKiBgY2FuY2VsYCByZXR1cm5zIHdoZXRoZXIgdGhlIGV2ZW50IGhhcyBiZWVuIGludGVyZXB0ZWQgYW5kIHN0b3BwZWRcbiAgICAgKiBJZiB0aGUgdmFsdWUgYmVjb21lcyBcInRydWVcIiwgaXQgcmV0dXJucy9leGl0cyBmcm9tIHRoZSBtZXRob2QsIGluc3RhbmNpYXRpbmcgdGhlIGludGVyZmFjZVxuICAgICAqL1xuICAgIGNhbmNlbDogYm9vbGVhbjtcbn1cblxuLyoqIFJlcHJlc2VudHMgZXZlbnQgYXJndW1lbnRzIHJlbGF0ZWQgdG8gdGhlIGVuZCBvZiBhIGNvbHVtbiBtb3Zpbmcgb3BlcmF0aW9uIGluIGEgZ3JpZCAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29sdW1uTW92aW5nRW5kRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIFRoZSBzb3VyY2Ugb2YgdGhlIGV2ZW50IHJlcHJlc2VudHMgdGhlIGNvbHVtbiB0aGF0IGlzIGJlaW5nIG1vdmVkLlxuICAgICAqIFRoZSBgQ29sdW1uVHlwZWAgY29udGFpbnMgdGhlIGluZm9ybWF0b2luICh0aGUgZ3JpZCBpdCBiZWxvbmdzIHRvLCBjc3MgZGF0YSwgc2V0dGluZ3MsIGV0Yy4pIG9mIHRoZSBjb2x1bW4gaW4gaXRzIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBzb3VyY2U6IENvbHVtblR5cGU7XG4gICAgLyoqXG4gICAgICogVGhlIHRhcmdldCBvZiB0aGUgZXZlbnQgcmVwcmVzZW50cyB0aGUgY29sdW1uLCB0aGUgc291cmNlIGlzIGJlaW5nIG1vdmVkIHRvLlxuICAgICAqIFRoZSBgQ29sdW1uVHlwZWAgY29udGFpbnMgdGhlIGluZm9ybWF0b2luICh0aGUgZ3JpZCBpdCBiZWxvbmdzIHRvLCBjc3MgZGF0YSwgc2V0dGluZ3MsIGV0Yy4pIG9mIHRoZSBjb2x1bW4gaW4gaXRzIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICB0YXJnZXQ6IENvbHVtblR5cGU7XG4gICAgLyoqXG4gICAgICogYGNhbmNlbGAgcmV0dXJucyB3aGV0aGVyIHRoZSBldmVudCBoYXMgYmVlbiBpbnRlcmVwdGVkIGFuZCBzdG9wcGVkXG4gICAgICogSWYgdGhlIHZhbHVlIGJlY29tZXMgXCJ0cnVlXCIsIGl0IHJldHVybnMvZXhpdHMgZnJvbSB0aGUgbWV0aG9kLCBpbnN0YW5jaWF0aW5nIHRoZSBpbnRlcmZhY2VcbiAgICAgKi9cbiAgICBjYW5jZWw6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBhbiBldmVudCwgZW1pdHRlZCB3aGVuIGtleWRvd24gaXMgdHJpZ2dlcmVkIG92ZXIgZWxlbWVudCBpbnNpZGUgZ3JpZCdzIGJvZHlcbiAqIFRoaXMgZXZlbnQgaXMgZmlyZWQgb25seSBpZiB0aGUga2V5IGNvbWJpbmF0aW9uIGlzIHN1cHBvcnRlZCBpbiB0aGUgZ3JpZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JpZEtleWRvd25FdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFRoZSBgdGFyZ2V0VHlwZWAgcmVwcmVzZW50cyB0aGUgdHlwZSBvZiB0aGUgdGFyZ2V0ZWQgb2JqZWN0LiBGb3IgZXhhbXBsZSBhIGNlbGwgb3IgYSByb3cgKi9cbiAgICB0YXJnZXRUeXBlOiBHcmlkS2V5ZG93blRhcmdldFR5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIGFuZCBkZXRhaWxzIG9mIHRoZSBvYmplY3QgaXRzZWxmICovXG4gICAgdGFyZ2V0OiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG9yaWdpbmFsIGV2ZW50LCB0aGF0IG9jY3VyZWQuICovXG4gICAgZXZlbnQ6IEV2ZW50O1xuICAgIC8qKlxuICAgICAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gICAgICogYGNhbmNlbGAgcmV0dXJucyB3aGV0aGVyIHRoZSBldmVudCBoYXMgYmVlbiBpbnRlcmVwdGVkIGFuZCBzdG9wcGVkXG4gICAgICogSWYgdGhlIHZhbHVlIGJlY29tZXMgXCJ0cnVlXCIsIGl0IHJldHVybnMvZXhpdHMgZnJvbSB0aGUgbWV0aG9kLCBpbnN0YW5jaWF0aW5nIHRoZSBpbnRlcmZhY2VcbiAgICAgKi9cbiAgICBjYW5jZWw6IGJvb2xlYW47XG59XG5cbi8qKiBUaGUgZXZlbnQgaXMgdHJpZ2dlcmVkIHdoZW4gZ2V0dGluZyB0aGUgY3VycmVudCBwb3NpdGlvbiBvZiBhIGNlcnRhaW4gY2VsbCAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2VsbFBvc2l0aW9uIHtcbiAgICAvKiogSXQgcmV0dXJucyB0aGUgcG9zaXRpb24gKGluZGV4KSBvZiB0aGUgcm93LCB0aGUgY2VsbCBpcyBpbiAqL1xuICAgIHJvd0luZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogSXQgcmV0dXJucyB0aGUgcG9zaXRpb24gKGluZGV4KSBvZiB0aGUgY29sdW5tLCB0aGUgY2VsbCBpcyBpblxuICAgICAqIENvdW50cyBvbmx5IHRoZSB2aXNpYmxlIChub24gaGlkZGVuKSBjb2x1bW5zXG4gICAgICovXG4gICAgdmlzaWJsZUNvbHVtbkluZGV4OiBudW1iZXI7XG59XG5cbi8qKiBFbWl0dGVkIHdoZW4gYSBkcmFnZ2luZyBvcGVyYXRpb24gaXMgZmluaXNoZWQgKHdoZW4gdGhlIHJvdyBpcyBkcm9wcGVkKSAqL1xuZXhwb3J0IGludGVyZmFjZSBJUm93RHJhZ0VuZEV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgZHJhZyBkaXJlY3RpdmUgb3IgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBkcmFnIG9wZXJhdGlvbiAqL1xuICAgIGRyYWdEaXJlY3RpdmU6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gb2YgdGhlIHJvdyB0aGF0IGlzIGJlaW5nIGRyYWdnZWQuICovXG4gICAgZHJhZ0RhdGE6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIEhUTUwgZWxlbWVudCBpdHNlbGYgKi9cbiAgICBkcmFnRWxlbWVudDogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIGBhbmltYXRpb25gIHJldHVybnMgd2hldGhlciB0aGUgZXZlbnQgaXMgYW5pbWF0ZWQgKi9cbiAgICBhbmltYXRpb246IGJvb2xlYW47XG59XG5cbi8qKlxuICogRW1pdHRlZCB3aGVuIGEgZHJhZ2dpbmcgb3BlcmF0aW9uIGlzIHN0YXJ0aW5nICh3aGVuIHRoZSByb3cgaXMgXCJwaWNrZWRcIilcbiAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJvd0RyYWdTdGFydEV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgZHJhZyBkaXJlY3RpdmUgb3IgaW5mb3JtYXRpb24gYXNzb2NpYXRlZCB3aXRoIHRoZSBkcmFnIG9wZXJhdGlvbiAqL1xuICAgIGRyYWdEaXJlY3RpdmU6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gb2YgdGhlIHJvdyB0aGF0IGlzIGJlaW5nIGRyYWdnZWQuICovXG4gICAgZHJhZ0RhdGE6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIEhUTUwgZWxlbWVudCBpdHNlbGYgKi9cbiAgICBkcmFnRWxlbWVudDogSFRNTEVsZW1lbnQ7XG59XG5cbi8qKiDQoGVwcmVzZW50cyBldmVudCBhcmd1bWVudHMgcmVsYXRlZCB0byB0aGUgcm93J3MgZXhwYW5zaW9uIHN0YXRlIGJlaW5nIGNoYW5nZWQgaW4gYSBncmlkICovXG5leHBvcnQgaW50ZXJmYWNlIElSb3dUb2dnbGVFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgSUQgb2YgdGhlIHJvdyB0aGF0IGVtaXR0ZWQgdGhlIGV2ZW50ICh3aGljaCBzdGF0ZSBpcyBjaGFuZ2VkKVxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMTcuMS4wLiBVc2UgdGhlIGByb3dLZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcm93SUQ6IGFueTtcbiAgICByb3dLZXk6IGFueTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgcm93IGFmdGVyIHRoZSBvcGVyYXRpb24gaGFzIGVuZGVkXG4gICAgICogSW5kaWNhdGluZyB3aGV0aGVyIHRoZSByb3cgaXMgYmVpbmcgZXhwYW5kZWQgKHRydWUpIG9yIGNvbGxhcHNlZCAoZmFsc2UpXG4gICAgICovXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBvcmlnaW5hbCBldmVudCwgdGhhdCBoYXMgdHJpZ2dlcmVkIHRoZSBleHBhbnRpb24vY29sbGFwc2VcbiAgICAgKi9cbiAgICBldmVudD86IEV2ZW50O1xuICAgIC8qKlxuICAgICAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gICAgICogYGNhbmNlbGAgcmV0dXJucyB3aGV0aGVyIHRoZSBldmVudCBoYXMgYmVlbiBpbnRlcmVwdGVkIGFuZCBzdG9wcGVkXG4gICAgICogSWYgdGhlIHZhbHVlIGJlY29tZXMgXCJ0cnVlXCIsIGl0IHJldHVybnMvZXhpdHMgZnJvbSB0aGUgbWV0aG9kLCBpbnN0YW5jaWF0aW5nIHRoZSBpbnRlcmZhY2VcbiAgICAgKi9cbiAgICBjYW5jZWw6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgcm93J3MgcGluIHN0YXRlIGNoYW5nZXMuXG4gKiBUaGUgZXZlbnQgaXMgY2FuY2VsYWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQaW5Sb3dFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncywgQ2FuY2VsYWJsZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogVGhlIElEIG9mIHRoZSByb3csIHRoYXQgd2FzIHBpbm5lZC91bnBpbm5lZC5cbiAgICAgKiBJRCBpcyBlaXRoZXIgdGhlIHByaW1hcnlLZXkgdmFsdWUgb3IgdGhlIGRhdGEgcmVjb3JkIGluc3RhbmNlLlxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMTcuMS4wLiBVc2UgdGhlIGByb3dLZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcmVhZG9ubHkgcm93SUQ6IGFueTtcbiAgICByZWFkb25seSByb3dLZXk6IGFueTtcbiAgICByb3c/OiBSb3dUeXBlO1xuICAgIC8qKiBUaGUgaW5kZXggYXQgd2hpY2ggdG8gcGluIHRoZSByb3cgaW4gdGhlIHBpbm5lZCByb3dzIGNvbGxlY3Rpb24uICovXG4gICAgaW5zZXJ0QXRJbmRleD86IG51bWJlcjtcbiAgICAvKiogV2hldGhlciBvciBub3QgdGhlIHJvdyBpcyBwaW5uZWQgb3IgdW5waW5uZWQuICovXG4gICAgcmVhZG9ubHkgaXNQaW5uZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgZ3JpZCBpcyBzY3JvbGxlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JpZFNjcm9sbEV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogVGhlIHNjcm9sbCBkaXJlY3Rpb24gLSB2ZXJ0aWNhbCBvciBob3Jpem9udGFsLiAqL1xuICAgIGRpcmVjdGlvbjogc3RyaW5nO1xuICAgIC8qKiBUaGUgb3JpZ2luYWwgYnJvd3NlciBzY3JvbGwgZXZlbnQuICovXG4gICAgZXZlbnQ6IEV2ZW50O1xuICAgIC8qKiBUaGUgbmV3IHNjcm9sbCBwb3NpdGlvbiAqL1xuICAgIHNjcm9sbFBvc2l0aW9uOiBudW1iZXI7XG59XG5cbi8qKlxuICogRXZlbnQgZW1pdHRlZCB3aGVuIGEgY2hlY2tib3ggaW4gdGhlIGNoZWNrYm94XG4gKiBsaXN0IG9mIGFuIElneENvbHVtbkFjdGlvbnMgY29tcG9uZW50IGlzIGNsaWNrZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtblRvZ2dsZWRFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFRoZSBjb2x1bW4gdGhhdCBpcyB0b2dnbGVkLiAqL1xuICAgIGNvbHVtbjogQ29sdW1uVHlwZTtcbiAgICAvKiogVGhlIGNoZWNrZWQgc3RhdGUgYWZ0ZXIgdGhlIGFjdGlvbi4gKi9cbiAgICBjaGVja2VkOiBib29sZWFuO1xufVxuXG4vKiogRW1taXRlZCB3aGVuIHRoZSBhY3RpdmUgbm9kZSBpcyBjaGFuZ2VkICovXG5leHBvcnQgaW50ZXJmYWNlIElBY3RpdmVOb2RlQ2hhbmdlRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSByb3cgaW5kZXggb2YgdGhlIGFjdGl2ZSBub2RlICovXG4gICAgcm93OiBudW1iZXI7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGNvbHVtbiBpbmRleCBvZiB0aGUgYWN0aXZlIG5vZGUgKi9cbiAgICBjb2x1bW46IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIGhpZXJhcmNoaWNhbCBsZXZlbCBvZiB0aGUgYWN0aXZlIG5vZGVcbiAgICAgKi9cbiAgICBsZXZlbD86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSB0eXBlIG9mIHRoZSBhY3RpdmUgbm9kZS5cbiAgICAgKiBUaGUgR3JpZEtleWRvd25UYXJnZXRUeXBlIGlzIGFuIGVudW0gb3IgdGhhdCBzcGVjaWZpZXMgdGhlIHBvc3NpYmxlIHRhcmdldCB0eXBlc1xuICAgICAqL1xuICAgIHRhZzogR3JpZEtleWRvd25UYXJnZXRUeXBlO1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgZXZlbnQgYXJndW1lbnRzIHJlbGF0ZWQgdG8gc29ydGluZyBhbmQgZ3JvdXBpbmcgb3BlcmF0aW9uc1xuICogVGhlIGV2ZW50IGlzIGNhbmNlbGFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU29ydGluZ0V2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzLCBDYW5jZWxhYmxlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIHNvcnRpbmcgZXhwcmVzc2lvbnMgYXBwbGllZCB0byB0aGUgZ3JpZC5cbiAgICAgKiBJdCBjYW4gYmUgYSBzaW5nbGUgc29ydGluZyBleHByZXNzaW9uIG9yIGFuIGFycmF5IG9mIHRoZW1cbiAgICAgKiBUaGUgZXhwcmVzc2lvbiBjb250YWlucyBpbmZvcm1hdGlvbiBsaWtlIGZpbGUgbmFtZSwgd2hldGhlciB0aGUgbGV0dGVyIGNhc2Ugc2hvdWxkIGJlIHRha2VuIGludG8gYWNjb3VudCwgZXRjLlxuICAgICAqL1xuICAgIHNvcnRpbmdFeHByZXNzaW9ucz86IElTb3J0aW5nRXhwcmVzc2lvbiB8IEFycmF5PElTb3J0aW5nRXhwcmVzc2lvbj47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBnb3VwaW5nIGV4cHJlc3Npb25zIGFwcGxpZWQgdG8gdGhlIGdyaWQuXG4gICAgICogSXQgY2FuIGJlIGEgc2luZ2xlIGdyb3VwaW5nIGV4cHJlc3Npb24gb3IgYW4gYXJyYXkgb2YgdGhlbVxuICAgICAqIFRoZSBleHByZXNzaW9uIGNvbnRhaW5zIGluZm9ybWF0aW9uIGxpa2UgdGhlIHNvcnRpbmcgZXhwcmVzc2lvbiBhbmQgY3JpdGVyaWEgYnkgd2hpY2ggdGhlIGVsZW1lbnRzIHdpbGwgYmUgZ3JvdXBlZFxuICAgICAqL1xuICAgIGdyb3VwaW5nRXhwcmVzc2lvbnM/OiBJR3JvdXBpbmdFeHByZXNzaW9uIHwgQXJyYXk8SUdyb3VwaW5nRXhwcmVzc2lvbj47XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBldmVudCBhcmd1bWVudHMgcmVsYXRlZCB0byBmaWx0ZXJpbmcgb3BlcmF0aW9uc1xuICogVGhlIGV2ZW50IGlzIGNhbmNlbGFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmlsdGVyaW5nRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIGZpbHRlcmluZyBleHByZXNzaW9ucyBhcHBsaWVkIHRvIHRoZSBncmlkLlxuICAgICAqIFRoZSBleHByZXNzaW9uIGNvbnRhaW5zIGluZm9ybWF0aW9uIGxpa2UgZmlsdGVyaW5nIG9wZXJhbmRzIGFuZCBvcGVyYXRvciwgYW4gZXhwcmVzc2lvbiBvciBjb25kaXRpb24sIGV0Yy5cbiAgICAgKi9cbiAgICBmaWx0ZXJpbmdFeHByZXNzaW9uczogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZTtcbn1cblxuLyoqIFRoZSBldmVudCBhcmd1bWVudHMgYWZ0ZXIgYSBjb2x1bW4ncyB2aXNpYmlsaXR5IGlzIGNoYW5nZWQuICovXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdlZEV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY29sdW1uIHRoZSBldmVudCBvcmlnaW5hdGVkIGZyb20gKi9cbiAgICBjb2x1bW46IGFueTtcbiAgICAvKipcbiAgICAgKiBUaGUgbmV3IGhpZGRlbiBzdGF0ZSB0aGF0IHRoZSBjb2x1bW4gd2lsbCBoYXZlLCBpZiBvcGVyYXRpb24gaXMgc3VjY2VzZnVsbC5cbiAgICAgKiBXaWxsIGJlIGB0cnVlYCB3aGVuIGhpZGluZyBhbmQgYGZhbHNlYCB3aGVuIHNob3dpbmcuXG4gICAgICovXG4gICAgbmV3VmFsdWU6IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIGV2ZW50IGFyZ3VtZW50cyB3aGVuIGEgY29sdW1uJ3MgdmlzaWJpbGl0eSBpcyBjaGFuZ2VkLlxuICogVGhlIGV2ZW50IGlzIGNhbmNlbGFibGVcbiAqIEl0IGNvbnRhaW5zIGluZm9ybWF0aW9uIGFib3V0IHRoZSBjb2x1bW4gYW5kIHRoZSBpdCdzIHZpc2liaWxpdHkgYWZ0ZXIgdGhlIG9wZXJhdGlvbiAod2lsbCBiZSBgdHJ1ZWAgd2hlbiBoaWRpbmcgYW5kIGBmYWxzZWAgd2hlbiBzaG93aW5nKVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdpbmdFdmVudEFyZ3MgZXh0ZW5kcyBJQ29sdW1uVmlzaWJpbGl0eUNoYW5nZWRFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xufVxuXG4iXX0=
|
|
2
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZXZlbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvaWduaXRldWktYW5ndWxhci9zcmMvbGliL2dyaWRzL2NvbW1vbi9ldmVudHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IElCYXNlRXZlbnRBcmdzLCBDYW5jZWxhYmxlRXZlbnRBcmdzIH0gZnJvbSAnLi4vLi4vY29yZS91dGlscyc7XG5pbXBvcnQgeyBHcmlkS2V5ZG93blRhcmdldFR5cGUgfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7IENlbGxUeXBlLCBDb2x1bW5UeXBlLCBHcmlkVHlwZSwgUm93VHlwZSB9IGZyb20gJy4vZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9maWx0ZXJpbmctZXhwcmVzc2lvbnMtdHJlZSc7XG5pbXBvcnQgeyBJR3JvdXBpbmdFeHByZXNzaW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2dyb3VwaW5nLWV4cHJlc3Npb24uaW50ZXJmYWNlJztcbmltcG9ydCB7IElneEJhc2VFeHBvcnRlciB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V4cG9ydGVyLWNvbW1vbi9iYXNlLWV4cG9ydC1zZXJ2aWNlJztcbmltcG9ydCB7IElneEV4cG9ydGVyT3B0aW9uc0Jhc2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9leHBvcnRlci1jb21tb24vZXhwb3J0ZXItb3B0aW9ucy1iYXNlJztcbmltcG9ydCB7IElTb3J0aW5nRXhwcmVzc2lvbiB9IGZyb20gJy4uLy4uL2RhdGEtb3BlcmF0aW9ucy9zb3J0aW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IElCYXNlU2VhcmNoSW5mbyB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvdGV4dC1oaWdobGlnaHQvdGV4dC1oaWdobGlnaHQuZGlyZWN0aXZlJztcblxuLyoqIFRoZSBldmVudCBhcmd1bWVudHMgd2hlbiBkYXRhIGZyb20gYSBncmlkIGlzIGJlaW5nIGNvcGllZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRDbGlwYm9hcmRFdmVudCB7XG4gICAgLyoqIGBkYXRhYCBjYW4gYmUgb2YgYW55IHR5cGUgYW5kIHJlZmVycyB0byB0aGUgZGF0YSB0aGF0IGlzIGJlaW5nIGNvcGllZC9zdG9yZWQgdG8gdGhlIGNsaXBib2FyZCAqL1xuICAgIGRhdGE6IGFueVtdO1xuICAgIC8qKlxuICAgICAqIGBjYW5jZWxgIHJldHVybnMgd2hldGhlciBhbiBleHRlcm5hbCBldmVudCBoYXMgaW50ZXJjZXB0ZWQgdGhlIGNvcHlpbmdcbiAgICAgKiBJZiB0aGUgdmFsdWUgYmVjb21lcyBcInRydWVcIiwgaXQgcmV0dXJucy9leGl0cyBmcm9tIHRoZSBtZXRob2QsIGluc3RhbnRpYXRpbmcgdGhlIGludGVyZmFjZVxuICAgICAqL1xuICAgIGNhbmNlbDogYm9vbGVhbjtcbn1cblxuLyoqIFJlcHJlc2VudHMgYW4gZXZlbnQgYXJndW1lbnQgcmVsYXRlZCB0byBncmlkIGNlbGwgaW50ZXJhY3Rpb25zLiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JpZENlbGxFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgY2VsbCB0aGF0IHRyaWdnZXJlZCB0aGUgZXZlbnQuICovXG4gICAgY2VsbDogQ2VsbFR5cGU7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgZXZlbnQgdGhhdCBvY3VycmVkXG4gICAgICogRXhhbXBsZXMgb2Ygc3VjaCBldmVudHMgaW5jbHVkZTogc2VsZWN0aW5nLCBjbGlja2luZywgZG91YmxlIGNsaWNraW5nLCBldGMuXG4gICAgICovXG4gICAgZXZlbnQ6IEV2ZW50O1xufVxuXG4vKiogUmVwcmVzZW50cyBhbiBldmVudCBhcmd1bWVudCByZWxhdGVkIHRvIGdyaWQgcm93IGludGVyYWN0aW9ucy4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRSb3dFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgcm93IHRoYXQgdHJpZ2dlcmVkIHRoZSBldmVudC4gKi9cbiAgICByb3c6IFJvd1R5cGU7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgZXZlbnQgdGhhdCBvY3VycmVkXG4gICAgICogRXhhbXBsZXMgb2Ygc3VjaCBldmVudHMgaW5jbHVkZTogc2VsZWN0aW5nLCBjbGlja2luZywgZG91YmxlIGNsaWNraW5nLCBldGMuXG4gICAgICovXG4gICAgZXZlbnQ6IEV2ZW50O1xufVxuXG4vKiogUmVwcmVzZW50cyBldmVudCBhcmd1bWVudHMgcmVsYXRlZCB0byBncmlkIGVkaXRpbmcgY29tcGxldGlvbi4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRFZGl0RG9uZUV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE3LjEuMC4gVXNlIHRoZSBgcm93S2V5YCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJvd0lEOiBhbnk7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAxNy4xLjAuIFVzZSB0aGUgYHJvd0tleWAgcHJvcGVydHkgaW5zdGVhZC5cbiAgICAgKi9cbiAgICBwcmltYXJ5S2V5OiBhbnk7XG4gICAgcm93S2V5OiBhbnk7XG4gICAgY2VsbElEPzoge1xuICAgICAgICByb3dJRDogYW55O1xuICAgICAgICBjb2x1bW5JRDogYW55O1xuICAgICAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIH07XG4gICAgLyoqXG4gICAgICogYHJvd0RhdGFgIHJlcHJlc2VudHMgdGhlIHVwZGF0ZWQvY29tbWl0dGVkIGRhdGEgb2YgdGhlIHJvdyBhZnRlciB0aGUgZWRpdCAobmV3VmFsdWUpXG4gICAgICogVGhlIG9ubHkgY2FzZSByb3dEYXRhIChvZiB0aGUgY3VycmVudCBvYmplY3QpIGlzIHVzZWQgZGlyZWN0bHksIGlzIHdoZW4gdGhlcmUgaXMgbm8gcm93RWRpdGluZyBvciB0cmFuc2FjdGlvbnMgZW5hYmxlZFxuICAgICAqL1xuICAgIHJvd0RhdGE6IGFueTtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBwcmV2aW91cyAoYmVmb3JlIGVkaXRpbmcpIHZhbHVlIG9mIHRoZSBlZGl0ZWQgY2VsbC5cbiAgICAgKiBJdCdzIHVzZWQgd2hlbiB0aGUgZXZlbnQgaGFzIGJlZW4gc3RvcHBlZC9leGl0ZWQuXG4gICAgICovXG4gICAgb2xkVmFsdWU6IGFueTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIHZhbHVlLCB0aGF0IGlzIGJlaW5nIGVudGVyZWQgaW4gdGhlIGVkaXRlZCBjZWxsXG4gICAgICogV2hlbiB0aGVyZSBpcyBubyBgbmV3VmFsdWVgIGFuZCB0aGUgZXZlbnQgaGFzIGVuZGVkLCB0aGUgdmFsdWUgb2YgdGhlIGNlbGwgcmV0dXJucyB0byB0aGUgYG9sZFZhbHVlYFxuICAgICAqL1xuICAgIG5ld1ZhbHVlPzogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgZXZlbnQsIHRoYXQgaGFzIHRyaWdnZXJlZCB0aGUgZWRpdFxuICAgICAqL1xuICAgIGV2ZW50PzogRXZlbnQ7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBjb2x1bW4gaW5mb3JtYXRpb24gb2YgdGhlIGVkaXRlZCBjZWxsXG4gICAgICovXG4gICAgY29sdW1uPzogQ29sdW1uVHlwZTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIGdyaWQgaW5zdGFuY2UgdGhhdCBvd25zIHRoZSBlZGl0IGV2ZW50LlxuICAgICAqL1xuICAgIG93bmVyPzogR3JpZFR5cGU7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgaWYgdGhlIGVkaXRpbmcgY29uc2lzdHMgb2YgYWRkaW5nIGEgbmV3IHJvd1xuICAgICAqL1xuICAgIGlzQWRkUm93PzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyBpZiB0aGUgbmV3IHZhbHVlIHdvdWxkIGJlIHZhbGlkLlxuICAgICAqIEl0IGNhbiBiZSBzZXQgdG8gcmV0dXJuIHRoZSByZXN1bHQgb2YgdGhlIG1ldGhvZHMgZm9yIHZhbGlkYXRpb24gb2YgdGhlIGdyaWRcbiAgICAgKi9cbiAgICB2YWxpZD86IGJvb2xlYW47XG59XG5cblxuLyoqXG4gKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIGdyaWQgZWRpdGluZy5cbiAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gKiBJdCBjb250YWlucyBpbmZvcm1hdGlvbiBhYm91dCB0aGUgcm93IGFuZCB0aGUgY29sdW1uLCBhcyB3ZWxsIGFzIHRoZSBvbGQgYW5kIG53ZSB2YWx1ZSBvZiB0aGUgZWxlbWVudC9jZWxsXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRFZGl0RXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUdyaWRFZGl0RG9uZUV2ZW50QXJncyB7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzIGV4dGVuZHMgSVJvd0RhdGFFdmVudEFyZ3MsIElHcmlkRWRpdEV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBjZWxsSUQ/OiB7XG4gICAgICAgIHJvd0lEOiBhbnk7XG4gICAgICAgIGNvbHVtbklEOiBhbnk7XG4gICAgICAgIHJvd0luZGV4OiBudW1iZXI7XG4gICAgfTtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIG9sZFZhbHVlOiBhbnk7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWRcbiAgICAgKi9cbiAgICBuZXdWYWx1ZT86IGFueTtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZFxuICAgICAqL1xuICAgIGlzQWRkUm93PzogYm9vbGVhbjtcbiAgICBvd25lcjogR3JpZFR5cGU7XG59XG5cbi8qKlxuICogVGhlIGV2ZW50IGFyZ3VtZW50cyBhZnRlciBhIGNvbHVtbidzIHBpbiBzdGF0ZSBpcyBjaGFuZ2VkLlxuICogYGluc2VydEF0SW5kZXhgc3BlY2lmaWVzIGF0IHdoaWNoIGluZGV4IGluIHRoZSBwaW5uZWQvdW5waW5uZWQgYXJlYSB0aGUgY29sdW1uIHdhcyBpbnNlcnRlZC5cbiAqIGBpc1Bpbm5lZGAgcmV0dXJucyB0aGUgYWN0dWFsIHBpbiBzdGF0ZSBvZiB0aGUgY29sdW1uIGFmdGVyIHRoZSBvcGVyYXRpb24gY29tcGxldGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQaW5Db2x1bW5FdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgY29sdW1uOiBDb2x1bW5UeXBlO1xuICAgIC8qKlxuICAgICAqIElmIHBpbm5lZCwgc3BlY2lmaWVzIGF0IHdoaWNoIGluZGV4IGluIHRoZSBwaW5uZWQgYXJlYSB0aGUgY29sdW1uIGlzIGluc2VydGVkLlxuICAgICAqIElmIHVucGlubmVkLCBzcGVjaWZpZXMgYXQgd2hpY2ggaW5kZXggaW4gdGhlIHVucGlubmVkIGFyZWEgdGhlIGNvbHVtbiBpcyBpbnNlcnRlZC5cbiAgICAgKi9cbiAgICBpbnNlcnRBdEluZGV4OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogUmV0dXJucyB0aGUgYWN0dWFsIHBpbiBzdGF0ZSBvZiB0aGUgY29sdW1uLlxuICAgICAqIElmIHBpbm5pbmcvdW5waW5uaW5nIGlzIHN1Y2Nlc3NmdWwsIHZhbHVlIG9mIGBpc1Bpbm5lZGAgd2lsbCBjaGFuZ2UgYWNjb3JkaW5nbHkgd2hlbiByZWFkIGluIHRoZSBcIi1pbmdcIiBhbmQgXCItZWRcIiBldmVudC5cbiAgICAgKi9cbiAgICBpc1Bpbm5lZDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgZXZlbnQgYXJndW1lbnRzIGJlZm9yZSBhIGNvbHVtbidzIHBpbiBzdGF0ZSBpcyBjaGFuZ2VkLlxuICogYGluc2VydEF0SW5kZXhgc3BlY2lmaWVzIGF0IHdoaWNoIGluZGV4IGluIHRoZSBwaW5uZWQvdW5waW5uZWQgYXJlYSB0aGUgY29sdW1uIGlzIGluc2VydGVkLlxuICogQ2FuIGJlIGNoYW5nZWQgaW4gdGhlIGBjb2x1bW5QaW5gIGV2ZW50LlxuICogYGlzUGlubmVkYCByZXR1cm5zIHRoZSBhY3R1YWwgcGluIHN0YXRlIG9mIHRoZSBjb2x1bW4uIFdoZW4gcGlubmluZy91bnBpbm5pbmcgaXMgc3VjY2Vzc2Z1bCxcbiAqIHRoZSB2YWx1ZSBvZiBgaXNQaW5uZWRgIHdpbGwgY2hhbmdlIGFjY29yZGluZ2x5IHdoZW4gcmVhZCBpbiB0aGUgXCItaW5nXCIgYW5kIFwiLWVkXCIgZXZlbnQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVBpbkNvbHVtbkNhbmNlbGxhYmxlRXZlbnRBcmdzIGV4dGVuZHMgSVBpbkNvbHVtbkV2ZW50QXJncywgQ2FuY2VsYWJsZUV2ZW50QXJncyB7XG59XG5cbi8qKlxuICogUmVwcmVzZW50cyBldmVudCBhcmd1bWVudHMgcmVsYXRlZCB0byBldmVudHMsIHRoYXQgY2FuIG9jY3VyIGZvciByb3dzIGluIGEgZ3JpZFxuICogRXhhbXBsZSBmb3IgZXZlbnRzOiBhZGRpbmcsIGRlbGV0aW5nLCBzZWxlY3Rpb24sIHRyYW5zYWN0aW9uLCBldGMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJvd0RhdGFFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgc2luY2UgdmVyc2lvbiAxNy4xLjAuIFVzZSB0aGUgYHJvd0RhdGFgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgZGF0YTogYW55O1xuICAgIHJvd0RhdGE6IGFueVxuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHVuaXF1ZSBrZXksIHRoZSByb3cgY2FuIGJlIGFzc29jaWF0ZWQgd2l0aC5cbiAgICAgKiBBdmFpbGFibGUgaWYgYHByaW1hcnlLZXlgIGV4aXN0c1xuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMTcuMS4wLiBVc2UgdGhlIGByb3dLZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcHJpbWFyeUtleTogYW55O1xuICAgIHJvd0tleTogYW55O1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBncmlkIGluc3RhbmNlIHRoYXQgb3ducyB0aGUgZWRpdCBldmVudC4gKi9cbiAgICBvd25lcjogR3JpZFR5cGU7XG59XG5cblxuLyoqIFRoZSBldmVudCBhcmd1bWVudHMgd2hlbiBhIGNvbHVtbiBpcyBiZWluZyByZXNpemVkICovXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW5SZXNpemVFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mIHRoZSBjb2x1bW4gdGhhdCBpcyBiZWluZyByZXNpemVkICovXG4gICAgY29sdW1uOiBDb2x1bW5UeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBvbGQgd2lkdGggb2YgdGhlIGNvbHVtbiBiZWZvcmUgdGhlIHJlc2l6aW5nICovXG4gICAgcHJldldpZHRoOiBzdHJpbmc7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5ldyB3aWR0aCwgdGhlIGNvbHVtbiBpcyBiZWluZyByZXNpemVkIHRvICovXG4gICAgbmV3V2lkdGg6IHN0cmluZztcbn1cblxuLyoqXG4gKiBUaGUgZXZlbnQgYXJndW1lbnRzIHdoZW4gYSBjb2x1bW4gaXMgYmVpbmcgcmVzaXplZFxuICogSXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbHVtbiwgaXQncyBvbGQgYW5kIG5ldyB3aWR0aFxuICogVGhlIGV2ZW50IGNhbiBiZSBjYW5jZWxlZFxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW5SZXNpemluZ0V2ZW50QXJncyBleHRlbmRzIElDb2x1bW5SZXNpemVFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xufVxuXG4vKipcbiAqIFRoZSBldmVudCBhcmd1bWVudHMgd2hlbiB0aGUgc2VsZWN0aW9uIHN0YXRlIG9mIGEgcm93IGlzIGJlaW5nIGNoYW5nZWRcbiAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJvd1NlbGVjdGlvbkV2ZW50QXJncyBleHRlbmRzIENhbmNlbGFibGVFdmVudEFyZ3MsIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogUmVwcmVzZW50cyBhbiBhcnJheSBvZiByb3dzLCB0aGF0IGhhdmUgYWxyZWFkeSBiZWVuIHNlbGVjdGVkICovXG4gICAgcmVhZG9ubHkgb2xkU2VsZWN0aW9uOiBhbnlbXTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbmV3bHkgc2VsZWN0ZWQgcm93cyAqL1xuICAgIG5ld1NlbGVjdGlvbjogYW55W107XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhbiBhcnJheSBvZiBhbGwgYWRkZWQgcm93c1xuICAgICAqIFdoZW5ldmVyIGEgcm93IGhhcyBiZWVuIHNlbGVjdGVkLCB0aGUgYXJyYXkgaXMgXCJyZWZyZXNoZWRcIiB3aXRoIHRoZSBzZWxlY3RlZCByb3dzXG4gICAgICovXG4gICAgcmVhZG9ubHkgYWRkZWQ6IGFueVtdO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYW4gYXJyYXkgb2YgYWxsIHJvd3MsIHJlbW92ZWQgZnJvbSB0aGUgc2VsZWN0aW9uXG4gICAgICogV2hlbmV2ZXIgYSByb3cgaGFzIGJlZW4gZGVzZWxlY3RlZCwgdGhlIGFycmF5IGlzIFwicmVmcmVzaGVkXCIgd2l0aCB0aGUgcm93cyxcbiAgICAgKiB0aGF0IGhhdmUgYmVlbiBwcmV2aW91c2x5IHNlbGVjdGVkLCBidXQgYXJlIG5vIGxvbmdlclxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlbW92ZWQ6IGFueVtdO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIG9yaWdpbmFsIGV2ZW50LCB0aGF0IGhhcyB0cmlnZ2VyZWQgdGhlIHNlbGVjdGlvbiBjaGFuZ2VcbiAgICAgKiBzZWxlY3RpbmcsIGRlc2VsZWN0aW5nXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXZlbnQ/OiBFdmVudDtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgb3Igbm90IGFsbCByb3dzIG9mIHRoZSBncmlkIGhhdmUgYmVlbiBzZWxlY3RlZCAqL1xuICAgIHJlYWRvbmx5IGFsbFJvd3NTZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbi8qKlxuICogVGhlIGV2ZW50IGFyZ3VtZW50cyB3aGVuIHRoZSBzZWxlY3Rpb24gc3RhdGUgb2YgYSBjb2x1bW4gaXMgYmVpbmcgY2hhbmdlZFxuICogVGhlIGV2ZW50IGlzIGNhbmNlbGFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ29sdW1uU2VsZWN0aW9uRXZlbnRBcmdzIGV4dGVuZHMgQ2FuY2VsYWJsZUV2ZW50QXJncywgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBSZXByZXNlbnRzIGFuIGFycmF5IG9mIGNvbHVtbnMsIHRoYXQgaGF2ZSBhbHJlYWR5IGJlZW4gc2VsZWN0ZWQgKi9cbiAgICByZWFkb25seSBvbGRTZWxlY3Rpb246IHN0cmluZ1tdO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBuZXdseSBzZWxlY3RlZCBjb2x1bW5zICovXG4gICAgbmV3U2VsZWN0aW9uOiBzdHJpbmdbXTtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGFuIGFycmF5IG9mIGFsbCBhZGRlZCBjb2x1bW5zXG4gICAgICogV2hlbmV2ZXIgYSBjb2x1bW4gaGFzIGJlZW4gc2VsZWN0ZWQsIHRoZSBhcnJheSBpcyBcInJlZnJlc2hlZFwiIHdpdGggdGhlIHNlbGVjdGVkIGNvbHVtbnNcbiAgICAgKi9cbiAgICByZWFkb25seSBhZGRlZDogc3RyaW5nW107XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhbiBhcnJheSBvZiBhbGwgY29sdW1ucywgcmVtb3ZlZCBmcm9tIHRoZSBzZWxlY3Rpb25cbiAgICAgKiBXaGVuZXZlciBhIGNvbHVtbiBoYXMgYmVlbiBkZXNlbGVjdGVkLCB0aGUgYXJyYXkgaXMgXCJyZWZyZXNoZWRcIiB3aXRoIHRoZSBjb2x1bW5zLCB0aGF0IGhhdmUgYmVlbiBwcmV2aW91c2x5IHNlbGVjdGVkLCBidXQgYXJlIG5vIGxvbmdlclxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJlbW92ZWQ6IHN0cmluZ1tdO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIG9yaWdpbmFsIGV2ZW50LCB0aGF0IGhhcyB0cmlnZ2VyZWQgdGhlIHNlbGVjdGlvbiBjaGFuZ2VcbiAgICAgKiBzZWxlY3RpbmcsIGRlc2VsZWN0aW5nXG4gICAgICovXG4gICAgcmVhZG9ubHkgZXZlbnQ/OiBFdmVudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2VhcmNoSW5mbyBleHRlbmRzIElCYXNlU2VhcmNoSW5mbyB7XG4gICAgbWF0Y2hJbmZvQ2FjaGU6IGFueVtdO1xuICAgIGFjdGl2ZU1hdGNoSW5kZXg6IG51bWJlcjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBhcmd1bWVudHMgZm9yIHRoZSBncmlkIHRvb2xiYXIgZXhwb3J0IGV2ZW50LlxuICogSXQgcHJvdmlkZXMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGdyaWQgaW5zdGFuY2UsIGV4cG9ydGVyIHNlcnZpY2UsIGV4cG9ydCBvcHRpb25zLFxuICogYW5kIGFsbG93cyB0aGUgZXZlbnQgdG8gYmUgY2FuY2VsZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRUb29sYmFyRXhwb3J0RXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBgZ3JpZGAgcmVwcmVzZW50cyBhIHJlZmVyZW5jZSB0byB0aGUgaW5zdGFuY2Ugb2YgdGhlIGdyaWQgdGUgZXZlbnQgb3JpZ2luYXRlZCBmcm9tICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgLyoqXG4gICAgICogVGhlIGBleHBvcnRlcmAgaXMgYSBiYXNlIHNlcnZpY2UuXG4gICAgICogVGhlIHR5cGUgKGFuIGFic3RyYWN0IGNsYXNzIGBJZ3hCYXNlRXhwb3J0ZXJgKSBoYXMgaXQncyBvd24gcHJvcGVydGllcyBhbmQgbWV0aG9kc1xuICAgICAqIEl0IGlzIHVzZWQgdG8gZGVmaW5lIHRoZSBmb3JtYXQgYW5kIG9wdGlvbnMgb2YgdGhlIGV4cG9ydCwgdGhlIGV4cG9ydGVkIGVsZW1lbnRcbiAgICAgKiBhbmQgbWV0aG9kcyBmb3IgcHJlcGFyaW5nIHRoZSBkYXRhIGZyb20gdGhlIGVsZW1lbnRzIGZvciBleHBvcnRpbmdcbiAgICAgKi9cbiAgICBleHBvcnRlcjogSWd4QmFzZUV4cG9ydGVyO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIGRpZmZlcmVudCBzZXR0aW5ncywgdGhhdCBjYW4gYmUgZ2l2ZW4gdG8gYW4gZXhwb3J0XG4gICAgICogVGhlIHR5cGUgKGFuIGFic3RyYWN0IGNsYXNzIGBJZ3hFeHBvcnRlck9wdGlvbnNCYXNlYCkgaGFzIHByb3BlcnRpZXMgZm9yIGNvbHVtbiBzZXR0aW5nc1xuICAgICAqICh3aGV0aGVyIHRoZXkgc2hvdWxkIGJlIGlnbm9yZWQpIGFzIHdlbGwgYXMgbWV0aG9kIGZvciBnZW5lcmF0aW5nIGEgZmlsZSBuYW1lXG4gICAgICovXG4gICAgb3B0aW9uczogSWd4RXhwb3J0ZXJPcHRpb25zQmFzZTtcbiAgICAvKipcbiAgICAgKiBgY2FuY2VsYCByZXR1cm5zIHdoZXRoZXIgdGhlIGV2ZW50IGhhcyBiZWVuIGludGVyY2VwdGVkIGFuZCBzdG9wcGVkXG4gICAgICogSWYgdGhlIHZhbHVlIGJlY29tZXMgXCJ0cnVlXCIsIGl0IHJldHVybnMvZXhpdHMgZnJvbSB0aGUgbWV0aG9kLCBpbnN0YW50aWF0aW5nIHRoZSBpbnRlcmZhY2VcbiAgICAgKi9cbiAgICBjYW5jZWw6IGJvb2xlYW47XG59XG5cbi8qKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIHRoZSBzdGFydCBvZiBhIGNvbHVtbiBtb3Zpbmcgb3BlcmF0aW9uIGluIGEgZ3JpZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIGNvbHVtbiB0aGF0IGlzIGJlaW5nIG1vdmVkLlxuICAgICAqIFRoZSBgQ29sdW1uVHlwZWAgY29udGFpbnMgdGhlIGluZm9ybWF0aW9uICh0aGUgZ3JpZCBpdCBiZWxvbmdzIHRvLCBjc3MgZGF0YSwgc2V0dGluZ3MsIGV0Yy4pIG9mIHRoZSBjb2x1bW4gaW4gaXRzIHByb3BlcnRpZXNcbiAgICAgKi9cbiAgICBzb3VyY2U6IENvbHVtblR5cGU7XG59XG5cbi8qKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIGEgY29sdW1uIG1vdmluZyBvcGVyYXRpb24gaW4gYSBncmlkICovXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW5Nb3ZpbmdFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgY29sdW1uIHRoYXQgaXMgYmVpbmcgbW92ZWQuXG4gICAgICogVGhlIGBDb2x1bW5UeXBlYCBjb250YWlucyB0aGUgaW5mb3JtYXRpb24gKHRoZSBncmlkIGl0IGJlbG9uZ3MgdG8sIGNzcyBkYXRhLCBzZXR0aW5ncywgZXRjLikgb2YgdGhlIGNvbHVtbiBpbiBpdHMgcHJvcGVydGllc1xuICAgICAqL1xuICAgIHNvdXJjZTogQ29sdW1uVHlwZTtcbiAgICAvKipcbiAgICAgKiBgY2FuY2VsYCByZXR1cm5zIHdoZXRoZXIgdGhlIGV2ZW50IGhhcyBiZWVuIGludGVyY2VwdGVkIGFuZCBzdG9wcGVkXG4gICAgICogSWYgdGhlIHZhbHVlIGJlY29tZXMgXCJ0cnVlXCIsIGl0IHJldHVybnMvZXhpdHMgZnJvbSB0aGUgbWV0aG9kLCBpbnN0YW50aWF0aW5nIHRoZSBpbnRlcmZhY2VcbiAgICAgKi9cbiAgICBjYW5jZWw6IGJvb2xlYW47XG59XG5cbi8qKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIHRoZSBlbmQgb2YgYSBjb2x1bW4gbW92aW5nIG9wZXJhdGlvbiBpbiBhIGdyaWQgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtbk1vdmluZ0VuZEV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKipcbiAgICAgKiBUaGUgc291cmNlIG9mIHRoZSBldmVudCByZXByZXNlbnRzIHRoZSBjb2x1bW4gdGhhdCBpcyBiZWluZyBtb3ZlZC5cbiAgICAgKiBUaGUgYENvbHVtblR5cGVgIGNvbnRhaW5zIHRoZSBpbmZvcm1hdGlvbiAodGhlIGdyaWQgaXQgYmVsb25ncyB0bywgY3NzIGRhdGEsIHNldHRpbmdzLCBldGMuKSBvZiB0aGUgY29sdW1uIGluIGl0cyBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgc291cmNlOiBDb2x1bW5UeXBlO1xuICAgIC8qKlxuICAgICAqIFRoZSB0YXJnZXQgb2YgdGhlIGV2ZW50IHJlcHJlc2VudHMgdGhlIGNvbHVtbiwgdGhlIHNvdXJjZSBpcyBiZWluZyBtb3ZlZCB0by5cbiAgICAgKiBUaGUgYENvbHVtblR5cGVgIGNvbnRhaW5zIHRoZSBpbmZvcm1hdGlvbiAodGhlIGdyaWQgaXQgYmVsb25ncyB0bywgY3NzIGRhdGEsIHNldHRpbmdzLCBldGMuKSBvZiB0aGUgY29sdW1uIGluIGl0cyBwcm9wZXJ0aWVzXG4gICAgICovXG4gICAgdGFyZ2V0OiBDb2x1bW5UeXBlO1xuICAgIC8qKlxuICAgICAqIGBjYW5jZWxgIHJldHVybnMgd2hldGhlciB0aGUgZXZlbnQgaGFzIGJlZW4gaW50ZXJjZXB0ZWQgYW5kIHN0b3BwZWRcbiAgICAgKiBJZiB0aGUgdmFsdWUgYmVjb21lcyBcInRydWVcIiwgaXQgcmV0dXJucy9leGl0cyBmcm9tIHRoZSBtZXRob2QsIGluc3RhbnRpYXRpbmcgdGhlIGludGVyZmFjZVxuICAgICAqL1xuICAgIGNhbmNlbDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGFuIGV2ZW50LCBlbWl0dGVkIHdoZW4ga2V5ZG93biBpcyB0cmlnZ2VyZWQgb3ZlciBlbGVtZW50IGluc2lkZSBncmlkJ3MgYm9keVxuICogVGhpcyBldmVudCBpcyBmaXJlZCBvbmx5IGlmIHRoZSBrZXkgY29tYmluYXRpb24gaXMgc3VwcG9ydGVkIGluIHRoZSBncmlkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkS2V5ZG93bkV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogVGhlIGB0YXJnZXRUeXBlYCByZXByZXNlbnRzIHRoZSB0eXBlIG9mIHRoZSB0YXJnZXRlZCBvYmplY3QuIEZvciBleGFtcGxlIGEgY2VsbCBvciBhIHJvdyAqL1xuICAgIHRhcmdldFR5cGU6IEdyaWRLZXlkb3duVGFyZ2V0VHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaW5mb3JtYXRpb24gYW5kIGRldGFpbHMgb2YgdGhlIG9iamVjdCBpdHNlbGYgKi9cbiAgICB0YXJnZXQ6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgb3JpZ2luYWwgZXZlbnQsIHRoYXQgb2NjdXJyZWQuICovXG4gICAgZXZlbnQ6IEV2ZW50O1xuICAgIC8qKlxuICAgICAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gICAgICogYGNhbmNlbGAgcmV0dXJucyB3aGV0aGVyIHRoZSBldmVudCBoYXMgYmVlbiBpbnRlcmNlcHRlZCBhbmQgc3RvcHBlZFxuICAgICAqIElmIHRoZSB2YWx1ZSBiZWNvbWVzIFwidHJ1ZVwiLCBpdCByZXR1cm5zL2V4aXRzIGZyb20gdGhlIG1ldGhvZCwgaW5zdGFudGlhdGluZyB0aGUgaW50ZXJmYWNlXG4gICAgICovXG4gICAgY2FuY2VsOiBib29sZWFuO1xufVxuXG4vKiogVGhlIGV2ZW50IGlzIHRyaWdnZXJlZCB3aGVuIGdldHRpbmcgdGhlIGN1cnJlbnQgcG9zaXRpb24gb2YgYSBjZXJ0YWluIGNlbGwgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNlbGxQb3NpdGlvbiB7XG4gICAgLyoqIEl0IHJldHVybnMgdGhlIHBvc2l0aW9uIChpbmRleCkgb2YgdGhlIHJvdywgdGhlIGNlbGwgaXMgaW4gKi9cbiAgICByb3dJbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEl0IHJldHVybnMgdGhlIHBvc2l0aW9uIChpbmRleCkgb2YgdGhlIGNvbHVtbiwgdGhlIGNlbGwgaXMgaW5cbiAgICAgKiBDb3VudHMgb25seSB0aGUgdmlzaWJsZSAobm9uIGhpZGRlbikgY29sdW1uc1xuICAgICAqL1xuICAgIHZpc2libGVDb2x1bW5JbmRleDogbnVtYmVyO1xufVxuXG4vKiogRW1pdHRlZCB3aGVuIGEgZHJhZ2dpbmcgb3BlcmF0aW9uIGlzIGZpbmlzaGVkICh3aGVuIHRoZSByb3cgaXMgZHJvcHBlZCkgKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJvd0RyYWdFbmRFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGRyYWcgZGlyZWN0aXZlIG9yIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgZHJhZyBvcGVyYXRpb24gKi9cbiAgICBkcmFnRGlyZWN0aXZlOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mIHRoZSByb3cgdGhhdCBpcyBiZWluZyBkcmFnZ2VkLiAqL1xuICAgIGRyYWdEYXRhOiBSb3dUeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBIVE1MIGVsZW1lbnQgaXRzZWxmICovXG4gICAgZHJhZ0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIC8qKiBgYW5pbWF0aW9uYCByZXR1cm5zIHdoZXRoZXIgdGhlIGV2ZW50IGlzIGFuaW1hdGVkICovXG4gICAgYW5pbWF0aW9uOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVtaXR0ZWQgd2hlbiBhIGRyYWdnaW5nIG9wZXJhdGlvbiBpcyBzdGFydGluZyAod2hlbiB0aGUgcm93IGlzIFwicGlja2VkXCIpXG4gKiBUaGUgZXZlbnQgaXMgY2FuY2VsYWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSb3dEcmFnU3RhcnRFdmVudEFyZ3MgZXh0ZW5kcyBDYW5jZWxhYmxlRXZlbnRBcmdzLCBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGRyYWcgZGlyZWN0aXZlIG9yIGluZm9ybWF0aW9uIGFzc29jaWF0ZWQgd2l0aCB0aGUgZHJhZyBvcGVyYXRpb24gKi9cbiAgICBkcmFnRGlyZWN0aXZlOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGluZm9ybWF0aW9uIG9mIHRoZSByb3cgdGhhdCBpcyBiZWluZyBkcmFnZ2VkLiAqL1xuICAgIGRyYWdEYXRhOiBSb3dUeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBIVE1MIGVsZW1lbnQgaXRzZWxmICovXG4gICAgZHJhZ0VsZW1lbnQ6IEhUTUxFbGVtZW50O1xufVxuXG4vKiogUmVwcmVzZW50cyBldmVudCBhcmd1bWVudHMgcmVsYXRlZCB0byB0aGUgcm93J3MgZXhwYW5zaW9uIHN0YXRlIGJlaW5nIGNoYW5nZWQgaW4gYSBncmlkICovXG5leHBvcnQgaW50ZXJmYWNlIElSb3dUb2dnbGVFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgSUQgb2YgdGhlIHJvdyB0aGF0IGVtaXR0ZWQgdGhlIGV2ZW50ICh3aGljaCBzdGF0ZSBpcyBjaGFuZ2VkKVxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMTcuMS4wLiBVc2UgdGhlIGByb3dLZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcm93SUQ6IGFueTtcbiAgICByb3dLZXk6IGFueTtcbiAgICAvKipcbiAgICAgKiBSZXR1cm5zIHRoZSBzdGF0ZSBvZiB0aGUgcm93IGFmdGVyIHRoZSBvcGVyYXRpb24gaGFzIGVuZGVkXG4gICAgICogSW5kaWNhdGluZyB3aGV0aGVyIHRoZSByb3cgaXMgYmVpbmcgZXhwYW5kZWQgKHRydWUpIG9yIGNvbGxhcHNlZCAoZmFsc2UpXG4gICAgICovXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBvcmlnaW5hbCBldmVudCwgdGhhdCBoYXMgdHJpZ2dlcmVkIHRoZSBleHBhbnNpb24vY29sbGFwc2VcbiAgICAgKi9cbiAgICBldmVudD86IEV2ZW50O1xuICAgIC8qKlxuICAgICAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gICAgICogYGNhbmNlbGAgcmV0dXJucyB3aGV0aGVyIHRoZSBldmVudCBoYXMgYmVlbiBpbnRlcmNlcHRlZCBhbmQgc3RvcHBlZFxuICAgICAqIElmIHRoZSB2YWx1ZSBiZWNvbWVzIFwidHJ1ZVwiLCBpdCByZXR1cm5zL2V4aXRzIGZyb20gdGhlIG1ldGhvZCwgaW5zdGFudGlhdGluZyB0aGUgaW50ZXJmYWNlXG4gICAgICovXG4gICAgY2FuY2VsOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIHJvdydzIHBpbiBzdGF0ZSBjaGFuZ2VzLlxuICogVGhlIGV2ZW50IGlzIGNhbmNlbGFibGVcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGluUm93RXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3MsIENhbmNlbGFibGVFdmVudEFyZ3Mge1xuICAgIC8qKlxuICAgICAqIFRoZSBJRCBvZiB0aGUgcm93LCB0aGF0IHdhcyBwaW5uZWQvdW5waW5uZWQuXG4gICAgICogSUQgaXMgZWl0aGVyIHRoZSBwcmltYXJ5S2V5IHZhbHVlIG9yIHRoZSBkYXRhIHJlY29yZCBpbnN0YW5jZS5cbiAgICAgKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE3LjEuMC4gVXNlIHRoZSBgcm93S2V5YCBwcm9wZXJ0eSBpbnN0ZWFkLlxuICAgICAqL1xuICAgIHJlYWRvbmx5IHJvd0lEOiBhbnk7XG4gICAgcmVhZG9ubHkgcm93S2V5OiBhbnk7XG4gICAgcm93PzogUm93VHlwZTtcbiAgICAvKiogVGhlIGluZGV4IGF0IHdoaWNoIHRvIHBpbiB0aGUgcm93IGluIHRoZSBwaW5uZWQgcm93cyBjb2xsZWN0aW9uLiAqL1xuICAgIGluc2VydEF0SW5kZXg/OiBudW1iZXI7XG4gICAgLyoqIFdoZXRoZXIgb3Igbm90IHRoZSByb3cgaXMgcGlubmVkIG9yIHVucGlubmVkLiAqL1xuICAgIHJlYWRvbmx5IGlzUGlubmVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGdyaWQgaXMgc2Nyb2xsZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRTY3JvbGxFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncyB7XG4gICAgLyoqIFRoZSBzY3JvbGwgZGlyZWN0aW9uIC0gdmVydGljYWwgb3IgaG9yaXpvbnRhbC4gKi9cbiAgICBkaXJlY3Rpb246IHN0cmluZztcbiAgICAvKiogVGhlIG9yaWdpbmFsIGJyb3dzZXIgc2Nyb2xsIGV2ZW50LiAqL1xuICAgIGV2ZW50OiBFdmVudDtcbiAgICAvKiogVGhlIG5ldyBzY3JvbGwgcG9zaXRpb24gKi9cbiAgICBzY3JvbGxQb3NpdGlvbjogbnVtYmVyO1xufVxuXG4vKipcbiAqIEV2ZW50IGVtaXR0ZWQgd2hlbiBhIGNoZWNrYm94IGluIHRoZSBjaGVja2JveFxuICogbGlzdCBvZiBhbiBJZ3hDb2x1bW5BY3Rpb25zIGNvbXBvbmVudCBpcyBjbGlja2VkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDb2x1bW5Ub2dnbGVkRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBUaGUgY29sdW1uIHRoYXQgaXMgdG9nZ2xlZC4gKi9cbiAgICBjb2x1bW46IENvbHVtblR5cGU7XG4gICAgLyoqIFRoZSBjaGVja2VkIHN0YXRlIGFmdGVyIHRoZSBhY3Rpb24uICovXG4gICAgY2hlY2tlZDogYm9vbGVhbjtcbn1cblxuLyoqIEVtaXR0ZWQgd2hlbiB0aGUgYWN0aXZlIG5vZGUgaXMgY2hhbmdlZCAqL1xuZXhwb3J0IGludGVyZmFjZSBJQWN0aXZlTm9kZUNoYW5nZUV2ZW50QXJncyBleHRlbmRzIElCYXNlRXZlbnRBcmdzIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgcm93IGluZGV4IG9mIHRoZSBhY3RpdmUgbm9kZSAqL1xuICAgIHJvdzogbnVtYmVyO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjb2x1bW4gaW5kZXggb2YgdGhlIGFjdGl2ZSBub2RlICovXG4gICAgY29sdW1uOiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBoaWVyYXJjaGljYWwgbGV2ZWwgb2YgdGhlIGFjdGl2ZSBub2RlXG4gICAgICovXG4gICAgbGV2ZWw/OiBudW1iZXI7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgdHlwZSBvZiB0aGUgYWN0aXZlIG5vZGUuXG4gICAgICogVGhlIEdyaWRLZXlkb3duVGFyZ2V0VHlwZSBpcyBhbiBlbnVtIG9yIHRoYXQgc3BlY2lmaWVzIHRoZSBwb3NzaWJsZSB0YXJnZXQgdHlwZXNcbiAgICAgKi9cbiAgICB0YWc6IEdyaWRLZXlkb3duVGFyZ2V0VHlwZTtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIHNvcnRpbmcgYW5kIGdyb3VwaW5nIG9wZXJhdGlvbnNcbiAqIFRoZSBldmVudCBpcyBjYW5jZWxhYmxlXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNvcnRpbmdFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncywgQ2FuY2VsYWJsZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBzb3J0aW5nIGV4cHJlc3Npb25zIGFwcGxpZWQgdG8gdGhlIGdyaWQuXG4gICAgICogSXQgY2FuIGJlIGEgc2luZ2xlIHNvcnRpbmcgZXhwcmVzc2lvbiBvciBhbiBhcnJheSBvZiB0aGVtXG4gICAgICogVGhlIGV4cHJlc3Npb24gY29udGFpbnMgaW5mb3JtYXRpb24gbGlrZSBmaWxlIG5hbWUsIHdoZXRoZXIgdGhlIGxldHRlciBjYXNlIHNob3VsZCBiZSB0YWtlbiBpbnRvIGFjY291bnQsIGV0Yy5cbiAgICAgKi9cbiAgICBzb3J0aW5nRXhwcmVzc2lvbnM/OiBJU29ydGluZ0V4cHJlc3Npb24gfCBBcnJheTxJU29ydGluZ0V4cHJlc3Npb24+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgZ3JvdXBpbmcgZXhwcmVzc2lvbnMgYXBwbGllZCB0byB0aGUgZ3JpZC5cbiAgICAgKiBJdCBjYW4gYmUgYSBzaW5nbGUgZ3JvdXBpbmcgZXhwcmVzc2lvbiBvciBhbiBhcnJheSBvZiB0aGVtXG4gICAgICogVGhlIGV4cHJlc3Npb24gY29udGFpbnMgaW5mb3JtYXRpb24gbGlrZSB0aGUgc29ydGluZyBleHByZXNzaW9uIGFuZCBjcml0ZXJpYSBieSB3aGljaCB0aGUgZWxlbWVudHMgd2lsbCBiZSBncm91cGVkXG4gICAgICovXG4gICAgZ3JvdXBpbmdFeHByZXNzaW9ucz86IElHcm91cGluZ0V4cHJlc3Npb24gfCBBcnJheTxJR3JvdXBpbmdFeHByZXNzaW9uPjtcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIGV2ZW50IGFyZ3VtZW50cyByZWxhdGVkIHRvIGZpbHRlcmluZyBvcGVyYXRpb25zXG4gKiBUaGUgZXZlbnQgaXMgY2FuY2VsYWJsZVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWx0ZXJpbmdFdmVudEFyZ3MgZXh0ZW5kcyBJQmFzZUV2ZW50QXJncywgQ2FuY2VsYWJsZUV2ZW50QXJncyB7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyB0aGUgZmlsdGVyaW5nIGV4cHJlc3Npb25zIGFwcGxpZWQgdG8gdGhlIGdyaWQuXG4gICAgICogVGhlIGV4cHJlc3Npb24gY29udGFpbnMgaW5mb3JtYXRpb24gbGlrZSBmaWx0ZXJpbmcgb3BlcmFuZHMgYW5kIG9wZXJhdG9yLCBhbiBleHByZXNzaW9uIG9yIGNvbmRpdGlvbiwgZXRjLlxuICAgICAqL1xuICAgIGZpbHRlcmluZ0V4cHJlc3Npb25zOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlO1xufVxuXG4vKiogVGhlIGV2ZW50IGFyZ3VtZW50cyBhZnRlciBhIGNvbHVtbidzIHZpc2liaWxpdHkgaXMgY2hhbmdlZC4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtblZpc2liaWxpdHlDaGFuZ2VkRXZlbnRBcmdzIGV4dGVuZHMgSUJhc2VFdmVudEFyZ3Mge1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjb2x1bW4gdGhlIGV2ZW50IG9yaWdpbmF0ZWQgZnJvbSAqL1xuICAgIGNvbHVtbjogYW55O1xuICAgIC8qKlxuICAgICAqIFRoZSBuZXcgaGlkZGVuIHN0YXRlIHRoYXQgdGhlIGNvbHVtbiB3aWxsIGhhdmUsIGlmIG9wZXJhdGlvbiBpcyBzdWNjZXNzZnVsLlxuICAgICAqIFdpbGwgYmUgYHRydWVgIHdoZW4gaGlkaW5nIGFuZCBgZmFsc2VgIHdoZW4gc2hvd2luZy5cbiAgICAgKi9cbiAgICBuZXdWYWx1ZTogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBUaGUgZXZlbnQgYXJndW1lbnRzIHdoZW4gYSBjb2x1bW4ncyB2aXNpYmlsaXR5IGlzIGNoYW5nZWQuXG4gKiBUaGUgZXZlbnQgaXMgY2FuY2VsYWJsZVxuICogSXQgY29udGFpbnMgaW5mb3JtYXRpb24gYWJvdXQgdGhlIGNvbHVtbiBhbmQgdGhlIGl0J3MgdmlzaWJpbGl0eSBhZnRlciB0aGUgb3BlcmF0aW9uICh3aWxsIGJlIGB0cnVlYCB3aGVuIGhpZGluZyBhbmQgYGZhbHNlYCB3aGVuIHNob3dpbmcpXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUNvbHVtblZpc2liaWxpdHlDaGFuZ2luZ0V2ZW50QXJncyBleHRlbmRzIElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdlZEV2ZW50QXJncywgQ2FuY2VsYWJsZUV2ZW50QXJncyB7XG59XG5cbiJdfQ==
|
|
@@ -1,4 +1,4 @@
|
|
|
1
1
|
import { InjectionToken } from '@angular/core';
|
|
2
2
|
export const IGX_GRID_BASE = /*@__PURE__*/ new InjectionToken('IgxGridBaseToken');
|
|
3
3
|
export const IGX_GRID_SERVICE_BASE = /*@__PURE__*/ new InjectionToken('IgxGridServiceBaseToken');
|
|
4
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvY29tbW9uL2dyaWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBK0MsY0FBYyxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQTZCdEksTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBa0IseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtblBpbm5pbmdQb3NpdGlvbiwgRmlsdGVyTW9kZSwgR3JpZFBhZ2luZ01vZGUsIEdyaWRTZWxlY3Rpb25Nb2RlLCBHcmlkU3VtbWFyeUNhbGN1bGF0aW9uTW9kZSwgR3JpZFN1bW1hcnlQb3NpdGlvbiwgR3JpZFZhbGlkYXRpb25UcmlnZ2VyLCBSb3dQaW5uaW5nUG9zaXRpb24gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7XG4gICAgSVNlYXJjaEluZm8sIElHcmlkQ2VsbEV2ZW50QXJncywgSVJvd1NlbGVjdGlvbkV2ZW50QXJncywgSUNvbHVtblNlbGVjdGlvbkV2ZW50QXJncyxcbiAgICBJUGluQ29sdW1uQ2FuY2VsbGFibGVFdmVudEFyZ3MsIElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdlZEV2ZW50QXJncywgSUNvbHVtblZpc2liaWxpdHlDaGFuZ2luZ0V2ZW50QXJncyxcbiAgICBJUm93RHJhZ0VuZEV2ZW50QXJncywgSUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzLCBJQ29sdW1uTW92aW5nRW5kRXZlbnRBcmdzLFxuICAgIElSb3dEYXRhRXZlbnRBcmdzLCBJR3JpZEtleWRvd25FdmVudEFyZ3MsIElSb3dEcmFnU3RhcnRFdmVudEFyZ3MsXG4gICAgSUNvbHVtbk1vdmluZ0V2ZW50QXJncywgSVBpbkNvbHVtbkV2ZW50QXJncyxcbiAgICBJQWN0aXZlTm9kZUNoYW5nZUV2ZW50QXJncyxcbiAgICBJQ2VsbFBvc2l0aW9uLCBJRmlsdGVyaW5nRXZlbnRBcmdzLCBJQ29sdW1uUmVzaXplRXZlbnRBcmdzLCBJUm93VG9nZ2xlRXZlbnRBcmdzLCBJR3JpZFRvb2xiYXJFeHBvcnRFdmVudEFyZ3MsIElQaW5Sb3dFdmVudEFyZ3MsXG4gICAgSUdyaWRSb3dFdmVudEFyZ3MsIElHcmlkRWRpdEV2ZW50QXJncywgSVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzLCBJR3JpZEVkaXREb25lRXZlbnRBcmdzXG59IGZyb20gJy4uL2NvbW1vbi9ldmVudHMnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHksIElEZW5zaXR5Q2hhbmdlZEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2NvcmUvZGVuc2l0eSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IElHcmlkUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuL2dyaWQtcmVzb3VyY2VzJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5RXhwYW5kU3RhdGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1leHBhbmQtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IElneENlbGwsIElneEVkaXRSb3cgfSBmcm9tICcuL2NydWQuc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkU2VsZWN0aW9uUmFuZ2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZpbHRlcmluZ0xvZ2ljIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IERyb3BQb3NpdGlvbiwgSWd4Q29sdW1uTW92aW5nU2VydmljZSB9IGZyb20gJy4uL21vdmluZy9tb3Zpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hPdmVybGF5T3V0bGV0RGlyZWN0aXZlLCBJZ3hUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElUcmVlR3JpZFJlY29yZCB9IGZyb20gJy4uL3RyZWUtZ3JpZC90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdGF0ZSwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERhdGFUeXBlLCBHcmlkQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElneEZpbHRlcmluZ09wZXJhbmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBJQ29sdW1uUGlwZUFyZ3MsIElGaWVsZFBpcGVBcmdzLCBJU29ydGluZ09wdGlvbnMsIE1STFJlc2l6ZUNvbHVtbkluZm8gfSBmcm9tICcuLi9jb2x1bW5zL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSWd4U3VtbWFyeVJlc3VsdCB9IGZyb20gJy4uL3N1bW1hcmllcy9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgSVNvcnRpbmdFeHByZXNzaW9uLCBJU29ydGluZ1N0cmF0ZWd5LCBTb3J0aW5nRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSUdyaWRHcm91cGluZ1N0cmF0ZWd5LCBJR3JpZFNvcnRpbmdTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xuaW1wb3J0IHsgSUZvck9mU3RhdGUsIElneEdyaWRGb3JPZkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZm9yLW9mL2Zvcl9vZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmxheVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3ZlcmxheS91dGlsaXRpZXMnO1xuaW1wb3J0IHsgSURpbWVuc2lvbnNDaGFuZ2UsIElQaXZvdENvbmZpZ3VyYXRpb24sIElQaXZvdERpbWVuc2lvbiwgSVBpdm90S2V5cywgSVBpdm90VmFsdWUsIElWYWx1ZXNDaGFuZ2UsIFBpdm90RGltZW5zaW9uVHlwZSB9IGZyb20gJy4uL3Bpdm90LWdyaWQvcGl2b3QtZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSURhdGFDbG9uZVN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtY2xvbmUtc3RyYXRlZ3knO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElneEdyaWRWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uL2dyaWQvZ3JpZC12YWxpZGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgSUdYX0dSSURfQkFTRSA9IC8qQF9fUFVSRV9fKi9uZXcgSW5qZWN0aW9uVG9rZW48R3JpZFR5cGU+KCdJZ3hHcmlkQmFzZVRva2VuJyk7XG5leHBvcnQgY29uc3QgSUdYX0dSSURfU0VSVklDRV9CQVNFID0gLypAX19QVVJFX18qL25ldyBJbmplY3Rpb25Ub2tlbjxHcmlkU2VydmljZVR5cGU+KCdJZ3hHcmlkU2VydmljZUJhc2VUb2tlbicpO1xuXG4vKiogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIHNlZ21lbnQgb2YgYSBwYXRoIGluIGEgaGllcmFyY2hpY2FsIGdyaWQuICovXG5leHBvcnQgaW50ZXJmYWNlIElQYXRoU2VnbWVudCB7XG4gICAgLyoqXG4gICAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByb3cgd2l0aGluIHRoZSBzZWdtZW50LlxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMTcuMS4wLiBVc2UgdGhlIGByb3dLZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcm93SUQ6IGFueTtcbiAgICByb3dLZXk6IGFueTtcbiAgICAvKiogVGhlIGtleSByZXByZXNlbnRpbmcgdGhlIHJvdydzICdoaWVyYXJjaGljYWwgbGV2ZWwuICovXG4gICAgcm93SXNsYW5kS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWREYXRhQmluZGFibGUge1xuICAgIGRhdGE6IGFueVtdIHwgbnVsbDtcbiAgICBnZXQgZmlsdGVyZWREYXRhKCk6IGFueVtdO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgY2VsbCBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGNlbGxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZWxsVHlwZSB7XG4gICAgLyoqIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHZhbHVlOiBhbnk7XG4gICAgLyoqIFRoZSB2YWx1ZSB0byBkaXNwbGF5IHdoZW4gdGhlIGNlbGwgaXMgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRWYWx1ZTogYW55O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuIEl0IGlzIGZhbHNlLCBpZiB0aGUgc2VsbCBpcyBub3Qgc2VsZWN0ZWQsIGFuZCB0cnVlLCBpZiBpdCBpcy4gKi9cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNlbGwgaXMgY3VycmVudGx5IGFjdGl2ZSAoZm9jdXNlZCkuICovXG4gICAgYWN0aXZlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBjYW4gYmUgZWRpdGVkLiAqL1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRNb2RlOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBuYXRpdmUgSFRNTCBlbGVtZW50IG9mIHRoZSBjZWxsIGl0c2VsZiAqL1xuICAgIG5hdGl2ZUVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY29sdW1uIHRoYXQgdGhlIGNlbGwgYmVsb25ncyB0by4gKi9cbiAgICBjb2x1bW46IENvbHVtblR5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHJvdyB0aGF0IHRoZSBjZWxsIGJlbG9uZ3MgdG8gKi9cbiAgICByb3c6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgY2VsbCAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKiBPcHRpb25hbDsgQW4gb2JqZWN0IGlkZW50aWZ5aW5nIHRoZSBjZWxsLiBJdCBjb250YWlucyByb3dJRCwgY29sdW1uSUQsIGFuZCByb3dJbmRleCBvZiB0aGUgY2VsbC4gKi9cbiAgICBpZD86IHsgcm93SUQ6IGFueTsgY29sdW1uSUQ6IG51bWJlcjsgcm93SW5kZXg6IG51bWJlciB9O1xuICAgIC8qKiBPcHRpb25hbDsgVGhlIGBjZWxsSURgIGlzIHRoZSB1bmlxdWUga2V5LCB1c2VkIHRvIGlkZW50aWZ5IHRoZSBjZWxsICovXG4gICAgY2VsbElEPzogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOyBBbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIHRoZSBjZWxsLlxuICAgICAqIFdoZXRoZXIgaXQncyB2YWxpZCBvciBpbnZhbGlkLCBhbmQgaWYgaXQgaGFzIGVycm9yc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBJR3JpZFZhbGlkYXRpb25TdGF0ZTtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgLyoqIEFuIG9wdGlvbmFsIHRpdGxlIHRvIGRpc3BsYXkgZm9yIHRoZSBjZWxsICovXG4gICAgdGl0bGU/OiBhbnk7XG4gICAgLyoqIFRoZSBDU1Mgd2lkdGggb2YgdGhlIGNlbGwgYXMgYSBzdHJpbmcuICovXG4gICAgd2lkdGg6IHN0cmluZztcbiAgICAvKiogVGhlIGluZGV4IG9mIHRoZSBjb2x1bW4gdGhhdCB0aGUgY2VsbCBiZWxvbmdzIHRvLiBJdCBjb3VudHMgb25seSB0aGUgdmlzaWJsZSAobm90IGhpZGRlbikgY29sdW1ucyAqL1xuICAgIHZpc2libGVDb2x1bW5JbmRleD86IG51bWJlcjtcbiAgICAvKiogQSBtZXRob2QgZGVmaW5pdGlvbiB0byB1cGRhdGUgdGhlIHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHVwZGF0ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gc3RhcnQgb3IgZW5kIHRoZSBlZGl0IG1vZGUgb2YgdGhlIGNlbGwuIEl0IHRha2VzIGEgYm9vbGVhbiB2YWx1ZSBhcyBhbiBhcmd1bWVudCovXG4gICAgc2V0RWRpdE1vZGU/KHZhbHVlOiBib29sZWFuKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDtcbiAgICAgKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB0byBmaXQgdGhlIGNvbnRlbnRcbiAgICAgKiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB3aXRoIHRoZSBsb25nZXN0IGNvbnRlbnQgYW5kIHJlc2l6ZSBhbGwgY2VsbHMgdG8gdGhhdCBzaXplXG4gICAgICovXG4gICAgY2FsY3VsYXRlU2l6ZVRvRml0PyhyYW5nZTogYW55KTogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gYWN0aXZhdGUgdGhlIGNlbGwuXG4gICAgICogSXQgdGFrZXMgYSBmb2N1cyBvciBrZXlib2FyZCBldmVudCBhcyBhbiBhcmd1bWVudFxuICAgICAqL1xuICAgIGFjdGl2YXRlPyhldmVudDogRm9jdXNFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGRvdWJsZS1jbGljayBldmVudHMgb24gdGhlIGNlbGxcbiAgICAgKiBJdCB0YWtlcyBhIG1vdXNlIGV2ZW50IGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgb25Eb3VibGVDbGljaz8oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGNsaWNrIGV2ZW50cyBvbiB0aGUgY2VsbFxuICAgICAqIEl0IHRha2VzIGEgbW91c2UgZXZlbnQgYXMgYW4gYXJndW1lbnRcbiAgICAgKi9cbiAgICBvbkNsaWNrPyhldmVudDogTW91c2VFdmVudCk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIGhlYWRlciBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgaGVhZGVyIGNlbGwgb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcywgcmVsZXZhbnQgdG8gdGhlIGhlYWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclR5cGUge1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBuYXRpdmUgSFRNTCBlbGVtZW50IG9mIHRoZSBjZWxsIGl0c2VsZiAqL1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIC8qKiBUaGUgY29sdW1uIHRoYXQgdGhlIGhlYWRlciBjZWxsIHJlcHJlc2VudHMuICovXG4gICAgY29sdW1uOiBDb2x1bW5UeXBlO1xuICAgIGRlbnNpdHk6IERpc3BsYXlEZW5zaXR5O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29sdW1uIGlzIGN1cnJlbnRseSBzb3J0ZWQuICovXG4gICAgc29ydGVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBjYW4gYmUgc2VsZWN0ZWQgKi9cbiAgICBzZWxlY3RhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQgKi9cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbHVtbiBoZWFkZXIgaXMgYSB0aXRsZSBjZWxsLiAqL1xuICAgIHRpdGxlOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBzb3J0aW5nIGRpcmVjdGlvbiBvZiB0aGUgY29sdW1uIChhc2NlbmRpbmcsIGRlc2NlbmRpbmcgb3Igbm9uZSkuICovXG4gICAgc29ydERpcmVjdGlvbjogU29ydGluZ0RpcmVjdGlvbjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIGEgcm93IGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgcm93IG9iamVjdC5cbiAqIENvbnRhaW5zIGRlZmluaXRpb25zIG9mIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMsIHJlbGV2YW50IHRvIGEgcm93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm93VHlwZSB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIHJvdyBpdHNlbGYgKi9cbiAgICBuYXRpdmVFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIFRoZSBpbmRleCBvZiB0aGUgcm93IHdpdGhpbiB0aGUgZ3JpZCAqL1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgdmlld0luZGV4OiBudW1iZXI7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb3cgaXMgZ3JvdXBlZC4gKi9cbiAgICBpc0dyb3VwQnlSb3c/OiBib29sZWFuO1xuICAgIGlzU3VtbWFyeVJvdz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1hcCBvZiBjb2x1bW4gZmllbGQgbmFtZXMgdG8gdGhlIHN1bW1hcnkgcmVzdWx0cyBmb3IgdGhlIHJvdy5cbiAgICAgKi9cbiAgICBzdW1tYXJpZXM/OiBNYXA8c3RyaW5nLCBJZ3hTdW1tYXJ5UmVzdWx0W10+O1xuICAgIGdyb3VwUm93PzogSUdyb3VwQnlSZWNvcmQ7XG4gICAga2V5PzogYW55O1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBJR3JpZFZhbGlkYXRpb25TdGF0ZTtcbiAgICBkYXRhPzogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBsaXN0IG9yIGFuIGFycmF5IG9mIGNlbGxzLCB0aGF0IGJlbG9uZyB0byB0aGUgcm93XG4gICAgICovXG4gICAgY2VsbHM/OiBRdWVyeUxpc3Q8Q2VsbFR5cGU+IHwgQ2VsbFR5cGVbXTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW50IHJvdyBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFZpcnR1YWxpemF0aW9uIHN0YXRlIG9mIGRhdGEgcmVjb3JkIGFkZGVkIGZyb20gY2FjaGVcbiAgICAgKi9cbiAgICB2aXJ0RGlyUm93PzogSWd4R3JpZEZvck9mRGlyZWN0aXZlPENvbHVtblR5cGUsIENvbHVtblR5cGVbXT47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaXMgcGlubmVkLlxuICAgICAqL1xuICAgIHBpbm5lZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaXMgc2VsZWN0ZWRcbiAgICAgKi9cbiAgICBzZWxlY3RlZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaXMgZXhwYW5kZWQuXG4gICAgICogVGhlIHZhbHVlIGlzIHRydWUsIGlmIHRoZSByb3cgaXMgZXhwYW5kZWQgYW5kIGZhbHNlLCBpZiBpdCBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBleHBhbmRlZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2FkZXMgd2hldGhlciB0aGUgcm93IGlzIG1hcmtlZCBmb3IgZGVsZXRpb24uXG4gICAgICovXG4gICAgZGVsZXRlZD86IGJvb2xlYW47XG4gICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhZGVzIHdoZXRoZXIgdGhlIHJvdyBpcyBjdXJyZW50bHkgYmVpbmcgZWRpdGVkLlxuICAgICAqL1xuICAgIGluRWRpdE1vZGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQ29udGFpbnMgdGhlIGNoaWxkIHJvd3Mgb2YgdGhlIGN1cnJlbnQgcm93LCBpZiB0aGVyZSBhcmUgYW55LlxuICAgICAqL1xuICAgIGNoaWxkcmVuPzogUm93VHlwZVtdO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQ29udGFpbnMgdGhlIHBhcmVudCByb3cgb2YgdGhlIGN1cnJlbnQgcm93LCBpZiBpdCBoYXMgb25lLlxuICAgICAqIElmIHRoZSBwYXJlbnQgcm93IGV4aXN0LCBpdCBtZWFucyB0aGF0IHRoZSBjdXJyZW50IHJvdyBpcyBhIGNoaWxkIHJvd1xuICAgICAqL1xuICAgIHBhcmVudD86IFJvd1R5cGU7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2FkZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaGFzIGFueSBjaGlsZCByb3dzXG4gICAgICovXG4gICAgaGFzQ2hpbGRyZW4/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgaGllcmFyY2hpY2FsIHJlY29yZCBhc3NvY2lhdGVkIHdpdGggdGhlIHJvdyAoZm9yIHRyZWUgZ3JpZHMpLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgSVRyZWVHcmlkUmVjb3JkLCB3aGljaCBjb250YWlucyB0aGUgZGF0YSwgY2hpbGRyZW4sIHRoZSBoaWVyYXJjaGljYWwgbGV2ZWwsIGV0Yy5cbiAgICAgKi9cbiAgICB0cmVlUm93PzogSVRyZWVHcmlkUmVjb3JkO1xuICAgIGFkZFJvd1VJPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYWRlcyB3aGV0aGVyIHRoZSByb3cgaXMgY3VycmVudGx5IGZvY3VzZWQuXG4gICAgICovXG4gICAgZm9jdXNlZD86IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudCB0aGUgZ3JpZCBpbnN0YW5jZSwgdGhlIHJvdyBiZWxvbmdzIHRvICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgb25Sb3dTZWxlY3RvckNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGNsaWNrIGV2ZW50IG9uIHRoZSByb3dcbiAgICAgKiBJdCB0YWtlcyBhIGBNb3VzZUV2ZW50YCBhcyBhbiBhcmd1bWVudFxuICAgICAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgYWRkaW5nIGEgbmV3IHJvd1xuICAgICAqL1xuICAgIGJlZ2luQWRkUm93PzogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgZWxlbWVudHMgb2YgdGhlIHJvd1xuICAgICAqIEl0IHRha2VzIHRoZSBuZXcgdmFsdWUgYXMgYW4gYXJndW1lbnRcbiAgICAgKi9cbiAgICB1cGRhdGU/OiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBkZWxldGluZyByb3dzXG4gICAgICovXG4gICAgZGVsZXRlPzogKCkgPT4gYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIHBpbm5pbmcgYSByb3dcbiAgICAgKi9cbiAgICBwaW4/OiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIHVucGlubmluZyBhIHJvdywgdGhhdCBoYXMgYmVlbiBwaW5uZWRcbiAgICAgKi9cbiAgICB1bnBpbj86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRUeXBlIHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGhlYWRlcj86IHN0cmluZztcbiAgICBkYXRhVHlwZTogRGF0YVR5cGU7XG4gICAgZmlsdGVyczogSWd4RmlsdGVyaW5nT3BlcmFuZDtcbiAgICBwaXBlQXJnczogSUZpZWxkUGlwZUFyZ3M7XG4gICAgZGVmYXVsdFRpbWVGb3JtYXQ6IHN0cmluZztcbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6IHN0cmluZztcblxuICAgIGZvcm1hdHRlcih2YWx1ZTogYW55LCByb3dEYXRhPzogYW55KTogYW55O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb2x1bW4gaW4gdGhlIGBHcmlkVHlwZWAuIEl0IGlzIGVzc2VudGlhbGx5IHRoZSBibHVlcHJpbnQgdG8gYSBjb2x1bW4gb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBjb2x1bW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5UeXBlIGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaW5jdGFuY2Ugb2YgdGhlIHBhcmVudCBgR3JpZFR5cGVgIHRoYXQgY29udGFpbnMgdGhpcyBjb2x1bW4uICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgLyoqIEEgbGlzdCwgY29udGFpbmluZyBhbGwgdGhlIGNoaWxkIGNvbHVtbnMgdW5kZXIgdGhpcyBjb2x1bW4gKGlmIGFueSkuICovXG4gICAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxDb2x1bW5UeXBlPjtcbiAgICAvKiogQW4gYXJyYXksIGNvbnRhaW5pbmcgYWxsIHRoZSBjaGlsZCBjb2x1bW5zLCBpbmNsdWRpbmcgbmVzdGVkIGNoaWxkcmVuLiAqL1xuICAgIGFsbENoaWxkcmVuOiBDb2x1bW5UeXBlW107XG4gICAgLyoqXG4gICAgICogVGhlIGhlYWRlciBncm91cCBjb21wb25lbnQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY29sdW1uLlxuICAgICAqIENvdWxkIGJlIG9mIGFueSB0eXBlXG4gICAgKi9cbiAgICAvLyBUWVBFXG4gICAgaGVhZGVyR3JvdXA6IGFueTtcbiAgICAvKipcbiAgICAgKiBUaGUgaGVhZGVyIGNlbGwgY29tcG9uZW50IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNvbHVtbi5cbiAgICAgKiBDb3VsZCBiZSBvZiBhbnkgdHlwZVxuICAgICAqL1xuICAgIC8vIFRZUEVcbiAgICBoZWFkZXJDZWxsOiBhbnk7XG4gICAgdmFsaWRhdG9yczogYW55W107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciB0aGUgY3VzdG9tIGhlYWRlciBvZiB0aGUgY29sdW1uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW5jaWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSBjb2xsYXBzaWJsZSBpbmRpY2F0b3Igb2YgdGhlIGNvbHVtbi5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgY29sbGFwc2libGVJbmRpY2F0b3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBjbGFzc2VzIGFwcGxpZWQgdG8gdGhlIGhlYWRlciBlbGVtZW50LiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJDbGFzc2VzOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGVsZW1lbnQuIFdoZW4gYWRkZWQsIHRoZXkgdGFrZSBkaWZmZXJlbnQgc3R5bGluZyAqL1xuICAgIGhlYWRlclN0eWxlczogYW55O1xuICAgICAvKiogUmVwcmVzZW50cyBjdXN0b20gQ1NTIGNsYXNzZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cENsYXNzZXM6IGFueTtcbiAgICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cFN0eWxlczogYW55O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIENTUyBzdHlsaW5nLCBhcHBwbGllZCB0byBldmVyeSBjb2x1bW5cbiAgICAgKiBjYWxjV2lkdGgsIG1pbldpZHRoUHgsIG1heFdpZHRoUHgsIG1pbldpZHRoLCBtYXhXaWR0aCwgbWluV2lkdGhQZXJjZW50LCBtYXhXaWR0aFBlcmNlbnQsIHJlc29sdmVkV2lkdGhcbiAgICAgKi9cbiAgICBjYWxjV2lkdGg6IGFueTtcbiAgICBtaW5XaWR0aFB4OiBudW1iZXI7XG4gICAgbWF4V2lkdGhQeDogbnVtYmVyO1xuICAgIG1pbldpZHRoOiBzdHJpbmc7XG4gICAgbWF4V2lkdGg6IHN0cmluZztcbiAgICBtaW5XaWR0aFBlcmNlbnQ6IG51bWJlcjtcbiAgICBtYXhXaWR0aFBlcmNlbnQ6IG51bWJlcjtcbiAgICByZXNvbHZlZFdpZHRoOiBzdHJpbmc7XG5cbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFJlcHJlc2VudHMgdGhlIGhlYWRlciB0ZXh0IG9mIHRoZSBjb2x1bW5cbiAgICAgKi9cbiAgICBoZWFkZXI/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogVGhlIGluZGV4IG9mIHRoZSBjb2x1bW4gd2l0aGluIHRoZSBncmlkLlxuICAgICAqIEluY2x1ZGVzIHRoZSBoaWRkZW4gY29sdW1ucyB3aGVuIGNvdW50aW5nXG4gICAgICovXG4gICAgaW5kZXg6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSB0eXBlIG9mIGRhdGEgZm9yIHRoZSBjb2x1bW46XG4gICAgICogc3RyaW5nLCBudW1iZXIsIGJ1dWxlYW4sIGN1cnJlbmN5LCBkYXRlLCB0aW1lLCBldGMuXG4gICAgICovXG4gICAgZGF0YVR5cGU6IEdyaWRDb2x1bW5EYXRhVHlwZTtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciB0aGUgY3VzdG9tIGlubGluZSBlZGl0b3Igb2YgdGhlIGNvbHVtblxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFuY2lhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBpbmxpbmVFZGl0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNvbHVtbiB3aXRoaW4gdGhlIGdyaWQuXG4gICAgICogRG9lcyBub3QgaW5jbHVkZSB0aGUgaGlkZGVuIGNvbHVtbnMgd2hlbiBjb3VudGluZ1xuICAgICAqL1xuICAgIHZpc2libGVJbmRleDogbnVtYmVyO1xuICAgIC8qKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlZCB3aGV0aGVyIHRoZSBjb2x1bW4gY2FuIGJlIGNvbGxhcHNlZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIGNvbGxhcHNlZFxuICAgICAqIEl0IGlzIHVzZWQgaW4gdHJlZSBncmlkIGFuZCBmb3IgbmF2aWdhdGlvblxuICAgICAqL1xuICAgIGNvbGxhcHNpYmxlPzogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVkIHdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgZWRpdGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgZWRpdGVkICovXG4gICAgZWRpdGFibGU6IGJvb2xlYW47XG4gICAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSByZXNpemVkICovXG4gICAgcmVzaXphYmxlOiBib29sZWFuO1xuICAgIC8qKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgZGF0YSBvZiB0aGUgY29sdW1uIGNhbiBiZSBzZWFyY2hlZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gZGF0YSBjYW4gYmUgc2VhcmNoZWQgKi9cbiAgICBzZWFyY2hhYmxlOiBib29sZWFuO1xuICAgIC8qKiBTcGVjaWZpZXMgd2hldGhlciB0aGUgY29sdW1uIGJlbG9uZ3MgdG8gYSBncm91cCBvZiBjb2x1bW5zLiAqL1xuICAgIGNvbHVtbkdyb3VwOiBib29sZWFuO1xuICAgIC8qKiBAZGVwcmVjYXRlZCBpbiB2ZXJzaW9uIDEzLjEuMC4gVXNlIHRoZSBHcmlkJ3MgYG1vdmluZ2AgcHJvcGVydHkgaW5zdGVhZC4gKi9cbiAgICBtb3ZhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2FkZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgcHV0IGluIGEgZ3JvdXAuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBwdXQgaW4gYSBncm91cCAqL1xuICAgIGdyb3VwYWJsZTogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhZGVzIHdoZXRoZXIgYSBjb2x1bW4gY2FuIGJlIHNvcnRlZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIHNvcnRlZC4gKi9cbiAgICBzb3J0YWJsZTogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhZGVzIHdoZXRoZXIgYSBjb2x1bW4gY2FuIGJlIGZpbHRlcmVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgZmlsdGVyZWQgKi9cbiAgICBmaWx0ZXJhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2FkZXMgd2hldGhlciBhIGNvbHVtbiBpcyBjdXJyZW50bHkgaGlkZGVuIChub3QgdmlzaWJsZSkuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGlzIG5vdCB2aXNpYmxlICovXG4gICAgaGlkZGVuOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2FkZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgcGlubmVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW5ub3QgYmUgcGlubmVkICovXG4gICAgZGlzYWJsZVBpbm5pbmc6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYWRlcyB3aGV0aGVyIGEgY29sdW1uIGNhbiBiZSBoaWRkZW4uIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbm5vdCBiZSBoaWRkZW4gKi9cbiAgICBkaXNhYmxlSGlkaW5nOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBzb3J0aW5nIHN0cmF0ZWd5IHVzZWQgZm9yIHNvcnRpbmcgdGhpcyBjb2x1bW4uXG4gICAgICogVGhlIGludGVyZmFjZSBjb250YWlucyBhIG1ldGhvZCBzb3J0IHRoYXQgc29ydHMgdGhlIHByb3ZpZGVkIGRhdGEgYmFzZWQgb24gdGhlIGdpdmVuIHNvcnRpbmcgZXhwcmVzc2lvbnNcbiAgICAgKi9cbiAgICBzb3J0U3RyYXRlZ3k6IElTb3J0aW5nU3RyYXRlZ3k7XG4gICAgIC8qKlxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBzZWFyY2ggc2hvdWxkIG1hdGNoIHJlc3VsdHMsIG5vIG1hdHRlciB0aGUgY2FzZSBvZiB0aGUgbGV0dGVycyAodXBwZXIgYW5kIGxvd2VyKVxuICAgICAqIElmIHRoZSB2YWx1ZSBpcyBmYWxzZSwgdGhlIHJlc3VsdCB3aWxsIGRlcGVuZCBvbiB0aGUgY2FzZSAoZXhhbXBsZTogYEVgIHdpbGwgbm90IG1hdGNoIGBlYClcbiAgICAgKiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIHJlc3VsdCB3aWxsIG5vdCBkZXBlbmQgb24gdGhlIGNhc2UgKGV4YW1wbGU6IGBFYCB3aWxsIG1hdGNoIGBlYClcbiAgICAgKi9cbiAgICBzb3J0aW5nSWdub3JlQ2FzZTogYm9vbGVhbjtcbiAgICBmaWx0ZXJDZWxsOiBhbnk7XG4gICAgZmlsdGVyaW5nSWdub3JlQ2FzZTogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgZmlsdGVyaW5nIGV4cHJlc3Npb25zIGZvciB0aGUgY29sdW1uLlxuICAgICAqIFRoZSB0eXBlIGNvbnRhaW5zIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgZm9yIGZpbHRlcmluZzogZmlsdGVyaW5nT3BlcmFuZHMsIG9wZXJhdG9yIChsb2dpYyksIGZpZWxkTmFtZSwgZXRjLlxuICAgICAqL1xuICAgIGZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZTogRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlO1xuICAgIGhhc1N1bW1hcnk6IGJvb2xlYW47XG4gICAgc3VtbWFyaWVzOiBhbnk7XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIHJlZmVyZW5jZSBmb3IgYSBzdW1tYXJ5IG9mIHRoZSBjb2x1bW5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgc3VtbWFyeVRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbHVtbiBpcyBjdXJyZW50bHkgcGlubmVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBpcyBwaW5uZWQgKi9cbiAgICBwaW5uZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgY29sdW1uIGlzIGN1cnJlbnRseSBleHBhbmRlZCBvciBjb2xsYXBzZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGlzIGV4cGFuZGVkICovXG4gICAgZXhwYW5kZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgY29sdW1uIGlzIGN1cnJlbnRseSBzZWxlY3RlZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gaXMgc2VsZWN0ZWQgKi9cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gY2FuIGJlIHNlbGVjdGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgc2VsZWN0ZWQgKi9cbiAgICBzZWxlY3RhYmxlOiBib29sZWFuO1xuICAgIGNvbHVtbkxheW91dDogYm9vbGVhbjtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaGllcmFyY2hpY2FsIGxldmVsIG9mIHRoZSBjb2x1bW4gaW4gdGhlIGNvbHVtbiBsYXlvdXQgKi9cbiAgICBsZXZlbDogbnVtYmVyO1xuICAgIHJvd1N0YXJ0OiBudW1iZXI7XG4gICAgcm93RW5kOiBudW1iZXI7XG4gICAgY29sU3RhcnQ6IG51bWJlcjtcbiAgICBjb2xFbmQ6IG51bWJlcjtcbiAgICBncmlkUm93U3BhbjogbnVtYmVyO1xuICAgIGdyaWRDb2x1bW5TcGFuOiBudW1iZXI7XG4gICAgY29sdW1uTGF5b3V0Q2hpbGQ6IGJvb2xlYW47XG4gICAgd2lkdGg6IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFRoZSByb290IHBhcmVudCBvZiB0aGlzIGNvbHVtbiAoaWYgYW55KS5cbiAgICAgKiBJZiB0aGVyZSBpcyBubyByb290IHBhcmVudCwgdGhhdCBtZWFucyB0aGUgY3VycmVudCBzb2x1bm0gaXMgdGhlIHJvb3QgcGFyZW50XG4gICAgICovXG4gICAgdG9wTGV2ZWxQYXJlbnQ/OiBDb2x1bW5UeXBlO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIGltbWVkaWF0ZSBwYXJlbnQgKHJpZ2h0IGFib3ZlKSBjb2x1bW4gb2YgdGhpcyBjb2x1bW4gKGlmIGFueSkuXG4gICAgICogSWYgdGhlcmUgaXMgbm8gcGFyZW50LCB0aGF0IG1lYW5zIHRoZSBjdXJyZW50IHNvbHVubSBpcyB0aGUgcm9vdCBwYXJlbnRcbiAgICAgKi9cbiAgICBwYXJlbnQ/OiBDb2x1bW5UeXBlO1xuICAgIHBpcGVBcmdzOiBJQ29sdW1uUGlwZUFyZ3M7XG4gICAgaGFzTmVzdGVkUGF0aDogYm9vbGVhbjtcbiAgICBhZGRpdGlvbmFsVGVtcGxhdGVDb250ZXh0OiBhbnk7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW50IGNvbHVtbiBpcyB0aGUgbGFzdCB0byBiZSBwaW5uZWQuXG4gICAgICogSWYgdGhlIHZhbHVlIGlzIGZhbHNlLCB0aGVyZSBhcmUgY29sdW1ucywgdGhhdCBoYXZlIGJlZW4gcGlubmVkIGFmdGVyIHRoZSBjdXJyZW50ICovXG4gICAgaXNMYXN0UGlubmVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCBjb2x1bW4gaXMgdGhlIGZpcnN0IGZvciB0aGUgZ3JpZCB0byBiZSBwaW5uZWQuXG4gICAgICogSWYgdGhlIHZhbHVlIGlzIGZhbHNlLCB0aGVyZSBhcmUgY29sdW1ucywgdGhhdCBoYXZlIGJlZW4gcGlubmVkIGJlZm9yZSB0aGUgY3VycmVudCAqL1xuICAgIGlzRmlyc3RQaW5uZWQ6IGJvb2xlYW47XG4gICAgYXBwbHlTZWxlY3RhYmxlQ2xhc3M6IGJvb2xlYW47XG4gICAgLyoqIFRoZSB0aXRsZSBvZiB0aGUgY29sdW1uLCB1c2VkIGZvciBhY2Nlc3NpYmlsaXR5IHB1cnBvc2VzICovXG4gICAgdGl0bGU6IHN0cmluZztcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCB3aXRoIGN1c3RvbSBncm91cGluZyBjb21wYXJhdG9yIHRvIGRldGVybWluZSB0aGUgbWVtYmVycyBvZiB0aGUgZ3JvdXAuICovXG4gICAgZ3JvdXBpbmdDb21wYXJlcjogKGE6IGFueSwgYjogYW55KSA9PiBudW1iZXI7XG5cbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgY3VzdG9tIHRlbXBsYXRlIGZvciBmaWx0ZXJpbmdcbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgZmlsdGVyQ2VsbFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuXG4gICAgLyoqXG4gICAgICogQSBtZXRob2QgZGVmaW5pdGlvbiB0byBtb3ZlIHRoZSBjb2x1bW4gdG8gdGhlIHNwZWNpZmllZCBpbmRleC5cbiAgICAgKiBJdCB0YWtlcyB0aGUgaW5kZXggb2YgdHlwZSBudW1iZXIgYXMgYSBwYXJhbWV0ZXJcbiAgICAqL1xuICAgIG1vdmUoaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gcmV0cmlldmUgdGhlIHNldCBDU1Mgc2l6ZSAqL1xuICAgIGdldEF1dG9TaXplKCk6IHN0cmluZztcbiAgICBnZXRSZXNpemFibGVDb2xVbmRlckVuZCgpOiBNUkxSZXNpemVDb2x1bW5JbmZvW107XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gcmV0cmlldmUgdGhlIHNldCBDU1Mgd2lkdGggb2YgdGhlIGNlbGxzIHVuZGVyIHRoZSBjb2x1bW4gKi9cbiAgICBnZXRDZWxsV2lkdGgoKTogc3RyaW5nO1xuICAgIGdldEdyaWRUZW1wbGF0ZShpc1JvdzogYm9vbGVhbik6IHN0cmluZztcbiAgICAvKiogQSBtZXRob2QgZGVmaW5pdGlvbiB0byB0b2dnbGUgY29sdW1uIHZpYmlzaWxpdHkgKGhpZGRlbiBvciB2aXNpYmxlKSAqL1xuICAgIHRvZ2dsZVZpc2liaWxpdHkodmFsdWU/OiBib29sZWFuKTogdm9pZDtcbiAgICBwb3B1bGF0ZVZpc2libGVJbmRleGVzPygpOiB2b2lkO1xuICAgIC8qKiBQaW5zIHRoZSBjb2x1bW4gYXQgdGhlIHNwZWNpZmllZCBpbmRleCAoaWYgbm90IGFscmVhZHkgcGlubmVkKS4gKi9cbiAgICBwaW4oaW5kZXg/OiBudW1iZXIpOiBib29sZWFuO1xuICAgIC8qKiBVbnBpbnMgdGhlIGNvbHVtbiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4IChpZiBub3QgYWxyZWFkeSB1bnBpbm5lZCkuICovXG4gICAgdW5waW4oaW5kZXg/OiBudW1iZXIpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIGV2ZW50IGFyZ3VtZW50cyB3aGVuIGEgZm9ybSBncm91cCBpcyBjcmVhdGVkIGluIHRoZSBncmlkLlxuICogLSBmb3JtR3JvdXA6IFRoZSBmb3JtIGdyb3VwIHRoYXQgaXMgY3JlYXRlZC5cbiAqIC0gb3duZXI6IFRoZSBncmlkIGluc3RhbmNlIHRoYXQgb3ducyB0aGUgZm9ybSBncm91cC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJR3JpZEZvcm1Hcm91cENyZWF0ZWRFdmVudEFyZ3Mge1xuICAgIGZvcm1Hcm91cDogRm9ybUdyb3VwLFxuICAgIG93bmVyOiBHcmlkVHlwZVxufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIGV2ZW50IGFyZ3VtZW50cyBmb3IgdGhlIGdyaWQgdmFsaWRhdGlvbiBzdGF0dXMgY2hhbmdlIGV2ZW50LlxuICogLSBzdGF0dXM6IFRoZSB2YWxpZGF0aW9uIHN0YXR1cyAoJ1ZBTElEJyBvciAnSU5WQUxJRCcpLlxuICogLSBvd25lcjogVGhlIGdyaWQgaW5zdGFuY2UgdGhhdCBvd25zIHRoZSB2YWxpZGF0aW9uIHN0YXRlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkVmFsaWRhdGlvblN0YXR1c0V2ZW50QXJncyB7XG4gICAgc3RhdHVzOiBWYWxpZGF0aW9uU3RhdHVzLFxuICAgIG93bmVyOiBHcmlkVHlwZVxufVxuXG4vKipcbiAqIFR5cGUgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXR1cy5cbiAqIC0gJ1ZBTElEJzogVGhlIHZhbGlkYXRpb24gc3RhdHVzIGlzIHZhbGlkLlxuICogLSAnSU5WQUxJRCc6IFRoZSB2YWxpZGF0aW9uIHN0YXR1cyBpcyBpbnZhbGlkLlxuICovXG5leHBvcnQgdHlwZSBWYWxpZGF0aW9uU3RhdHVzID0gJ1ZBTElEJyB8ICdJTlZBTElEJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgZ3JpZC5cbiAqIC0gc3RhdHVzOiBUaGUgdmFsaWRhdGlvbiBzdGF0dXMgKCdWQUxJRCcgb3IgJ0lOVkFMSUQnKS5cbiAqIC0gZXJyb3JzOiBUaGUgdmFsaWRhdGlvbiBlcnJvcnMgaWYgYW55LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkVmFsaWRhdGlvblN0YXRlIHtcbiAgICByZWFkb25seSBzdGF0dXM6IFZhbGlkYXRpb25TdGF0dXM7XG4gICAgcmVhZG9ubHkgZXJyb3JzPzogVmFsaWRhdGlvbkVycm9ycztcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgcmVjb3JkIGluIHRoZSBncmlkLlxuICogLSBga2V5YDogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByZWNvcmQuXG4gKiAtIGBmaWVsZHNgOiBBbiBhcnJheSBvZiB0aGUgdmFsaWRhdGlvbiBzdGF0ZSBvZiBpbmRpdmlkdWFsIGZpZWxkcyBpbiB0aGUgcmVjb3JkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElSZWNvcmRWYWxpZGF0aW9uU3RhdGUgZXh0ZW5kcyBJR3JpZFZhbGlkYXRpb25TdGF0ZSB7XG4gICAga2V5OiBhbnk7XG4gICAgZmllbGRzOiBJRmllbGRWYWxpZGF0aW9uU3RhdGVbXTtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGEgZmllbGQgaW4gdGhlIGdyaWQuXG4gKiAtYGZpZWxkYDogVGhlIG5hbWUgb2YgdGhlIGZpZWxkIChwcm9wZXJ0eSkgYmVpbmcgdmFsaWRhdGVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElGaWVsZFZhbGlkYXRpb25TdGF0ZSBleHRlbmRzIElHcmlkVmFsaWRhdGlvblN0YXRlIHtcbiAgICBmaWVsZDogc3RyaW5nXG59XG5cbi8qKlxuICogUmVwcmVzZW50cyB0aGUgc2VydmljZSBpbnRlcmZhY2UgZm9yIGludGVyYWN0aW5nIHdpdGggdGhlIGdyaWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR3JpZFNlcnZpY2VUeXBlIHtcblxuICAgIC8qKiBUaGUgcmVmZXJlbmNlIHRvIHRoZSBwYXJlbnQgYEdyaWRUeXBlYCB0aGF0IGNvbnRhaW5zIHRoZSBzZXJ2aWNlLiAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSB0eXBlIG9mIHRoZSBDUlVEIHNlcnZpY2UgKENyZWF0ZSwgUmVhZCwgVXBkYXRlLCBEZWxldGUpIG9wZXJhdGlvbnMgb24gdGhlIGdyaWQgZGF0YS4gKi9cbiAgICBjcnVkU2VydmljZTogYW55O1xuICAgIC8qKiBBIHNlcnZpY2UgcmVzcG9uc2libGUgZm9yIGhhbmRsaW5nIGNvbHVtbiBtb3Zpbmcgd2l0aGluIHRoZSBncmlkLiBJdCBjb250YWlucyBhIHJlZmVyZW5jZSB0byB0aGUgY29sdW1uLCBpdHMgaWNvbiwgYW5kIGluZGljYXRvciBmb3IgY2FuY2VsYXRpb24uICovXG4gICAgY21zOiBJZ3hDb2x1bW5Nb3ZpbmdTZXJ2aWNlO1xuXG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIGRhdGEgdXNlZCBpbiB0aGUgZ3JpZC4gVGhlIHJldHVybmVkIHZhbHVlcyBjb3VsZCBiZSBvZiBhbnkgdHlwZSAqL1xuICAgIGdldF9kYXRhKCk6IGFueVtdO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgYWxsIHRoZSBkYXRhIGF2YWlsYWJsZSBpbiB0aGUgZ3JpZCwgaW5jbHVkaW5nIGFueSB0cmFuc2FjdGlvbmFsIGRhdGEuXG4gICAgICogYGluY2x1ZGVUcmFuc2FjdGlvbnNgOiBPcHRpb25hbCBwYXJhbWV0ZXIuIFNwZWNpZmllcyB3aGV0aGVyIHRvIGluY2x1ZGUgdHJhbnNhY3Rpb25hbCBkYXRhIGlmIHByZXNlbnQuXG4gICAgICogUmV0dXJucyBhbiBhcnJheSBjb250YWluaW5nIGFsbCB0aGUgZGF0YSBhdmFpbGFibGUgaW4gdGhlIGdyaWQuXG4gICAgICovXG4gICAgZ2V0X2FsbF9kYXRhKGluY2x1ZGVUcmFuc2FjdGlvbnM/OiBib29sZWFuKTogYW55W107XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgYSBjb2x1bW4gb2JqZWN0IGJ5IGl0cyBuYW1lLCB0YWtlbiBhcyBhIHBhcmFtZXRlci4gKi9cbiAgICBnZXRfY29sdW1uX2J5X25hbWUobmFtZTogc3RyaW5nKTogQ29sdW1uVHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByb3cgYnkgaXRzIHVuaXF1ZSBpZGVudGlmaWVyIChvZiBhbnkgdHlwZSwgdGFrZW4gYXMgYSBwYXJhbWV0ZXIpLiAqL1xuICAgIGdldFJvd0RhdGEoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgZGF0YSBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByZWNvcmQgYnkgaXRzIHVuaXF1ZSBpZGVudGlmaWVyIChvZiBhbnkgdHlwZSwgdGFrZW4gYXMgYSBwYXJhbWV0ZXIpLiAqL1xuICAgIGdldF9yZWNfYnlfaWQoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgYSBzcGVjaWZpYyByb3cgYnkgaXRzIGRhdGEuICovXG4gICAgZ2V0X3Jvd19pZChyb3dEYXRhOiBhbnkpOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIHJvdyBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgaW5kZXggKHRha2VuIGFzIGEgcGFyYW1ldGVyKSBpbiB0aGUgZ3JpZCAqL1xuICAgIGdldF9yb3dfYnlfaW5kZXgocm93U2VsZWN0b3I6IGFueSk6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHJldHJpZXZpbmcgdGhlIHJvdyBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMga2V5ICh0YWtlbiBhcyBhIHBhcmFtZXRlcikgaW4gdGhlIGdyaWQgKi9cbiAgICBnZXRfcm93X2J5X2tleShyb3dTZWxlY3RvcjogYW55KTogUm93VHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgaW5kZXggb2YgYSByZWNvcmQgaW4gdGhlIGdyaWQncyBkYXRhIGNvbGxlY3Rpb24gdXNpbmcgaXRzIHVuaXF1ZSBpZGVudGlmaWVyLiAqL1xuICAgIGdldF9yZWNfaW5kZXhfYnlfaWQocGs6IHN0cmluZyB8IG51bWJlciwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgaW5kZXggb2YgYSByZWNvcmQgaW4gdGhlIGdyaWQncyBkYXRhIGNvbGxlY3Rpb24gdXNpbmcgaXRzIGluZGV4LiAqL1xuICAgIGdldF9yZWNfaWRfYnlfaW5kZXgoaW5kZXg6IG51bWJlciwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IGFueTtcbiAgICBnZXRfcm93X2luZGV4X2luX2RhdGEocm93SUQ6IGFueSwgZGF0YUNvbGxlY3Rpb24/OiBhbnlbXSk6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gaW4gdGhlIGdyaWQuICovXG4gICAgZ2V0X2NlbGxfYnlfa2V5KHJvd1NlbGVjdG9yOiBhbnksIGZpZWxkOiBzdHJpbmcpOiBDZWxsVHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gdXNpbmcgdGhlaXIgaW5kZXhlcy4gKi9cbiAgICBnZXRfY2VsbF9ieV9pbmRleChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JRDogbnVtYmVyIHwgc3RyaW5nKTogQ2VsbFR5cGU7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgY2VsbCBvYmplY3QgYXNzb2NpYXRlZCB3aXRoIGEgc3BlY2lmaWMgcm93IGFuZCBjb2x1bW4gdXNpbmcgdGhlaXIgaW5kZXhlcy5cbiAgICAgKiBJdCBjb3VudHMgb25seSB0aGUgaW5kZXhlcyBvZiB0aGUgdmlzaWJsZSBjb2x1bW5zIGFuZCByb3dzXG4gICAgICovXG4gICAgZ2V0X2NlbGxfYnlfdmlzaWJsZV9pbmRleChyb3dJbmRleDogbnVtYmVyLCBjb2x1bW5JbmRleDogbnVtYmVyKTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiB0aGF0IHNldHMgdGhlIGV4cGFuc2lvbiBzdGF0ZSBvZiBhIGdyb3VwIHJvdyAodXNlZCBmb3IgdHJlZSBncmlkcylcbiAgICAgKiBJdCB0YWtlcyB0aGUgdmFsdWUgZm9yIHRoZSBleHBhbnRpb24gYXMgYSBwYXJhbWV0ZXIgKGV4cGFuZGVkIG9yIGNvbGxhcHNlZClcbiAgICAgKi9cbiAgICBzZXRfZ3JvdXByb3dfZXhwYW5zaW9uX3N0YXRlPyhncm91cFJvdzogSUdyb3VwQnlSZWNvcmQsIHZhbHVlOiBib29sZWFuKTogdm9pZDtcbiAgICByb3dfZGVsZXRlZF90cmFuc2FjdGlvbihpZDogYW55KTogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBhZGRpbmcgYSBuZXcgcm93IHRvIHRoZSBncmlkLlxuICAgICAqIEl0IHRha2VzIHRoZSByb3cncyBkYXRhIGFuZCB0aGUgaWRlbnRpZmllciBvZiB0aGUgcGFyZW50IHJvdyBpZiBhcHBsaWNhYmxlICh1c2VkIGZvciB0cmVlIGdyaWRzKVxuICAgICAqL1xuICAgIGFkZFJvd1RvRGF0YShyb3dEYXRhOiBhbnksIHBhcmVudElEPzogYW55KTogdm9pZDtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgZGVsZXRpbmcgYSByb3csIHNwZWNpZmllZCBieSBpdCdzIGlkZW50aWRpZXIgKHRha2VuIGFzIGEgcGFyYW1ldGVyKSAqL1xuICAgIGRlbGV0ZVJvd0J5SWQoaWQ6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgcm93J3MgY3VycmVudCBzdGF0ZSBvZiBleHBhbnRpb24gKHVzZWQgZm9yIHRyZWUgZ3JpZHMpKi9cbiAgICBnZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShpZDogYW55KTogYm9vbGVhbjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3Igc2V0dGluZyBhIG5ldyBleHBhbnRpb24gc3RhdGUuIEl0IGNhbiBiZSB0cmlnZ2VyZWQgYnkgYW4gZXZlbnQgKi9cbiAgICBzZXRfcm93X2V4cGFuc2lvbl9zdGF0ZShpZDogYW55LCBleHBhbmRlZDogYm9vbGVhbiwgZXZlbnQ/OiBFdmVudCk6IHZvaWQ7XG4gICAgZ2V0X3N1bW1hcnlfZGF0YSgpOiBhbnlbXTtcblxuICAgIHByZXBhcmVfc29ydGluZ19leHByZXNzaW9uKHN0YXRlQ29sbGVjdGlvbnM6IEFycmF5PEFycmF5PGFueT4+LCBleHByZXNzaW9uOiBJU29ydGluZ0V4cHJlc3Npb24pOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHNvcnRpbmcgYnkgb25seSBvbmUgZXhwcmVzc2lvblxuICAgICAqIFRoZSBleHByZXNzaW9uIGNvbnRhaW5zIGZpZWxkTmFtZSwgc29ydGluZyBkaXJlY3RvcnksIHdoZXRoZXIgY2FzZSBzaG91bGQgYmUgaWdub3JlZCBhbmQgb3B0aW9uYWwgc29ydGluZyBzdHJhdGVneVxuICAgICAqL1xuICAgIHNvcnQoZXhwcmVzc2lvbjogSVNvcnRpbmdFeHByZXNzaW9uKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBzb3J0aW5nIGJ5IG11bHRpcGxlIGV4cHJlc3Npb25zXG4gICAgICogVGhlIGV4cHJlc3Npb25zIGNvbnRhaW5zIGZpZWxkTmFtZSwgc29ydGluZyBkaXJlY3RvcnksIHdoZXRoZXIgY2FzZSBzaG91bGQgYmUgaWdub3JlZCBhbmQgb3B0aW9uYWwgc29ydGluZyBzdHJhdGVneVxuICAgICAqL1xuICAgIHNvcnRfbXVsdGlwbGUoZXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdKTogdm9pZDtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmVzZXRpbmcgdGhlIHNvcnRpbmcgKi9cbiAgICBjbGVhcl9zb3J0KGZpZWxkTmFtZTogc3RyaW5nKTogdm9pZDtcblxuICAgIC8qKiBSZXByZXNlbnRzIGFuIGV2ZW50LCB0cmlnZ2VyZWQgd2hlbiB0aGUgcGluIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgICBnZXRfcGluX3Jvd19ldmVudF9hcmdzKHJvd0lEOiBhbnksIGluZGV4PzogbnVtYmVyLCByb3c/OiBSb3dUeXBlLCBwaW5uZWQ/OiBib29sZWFuKTogSVBpblJvd0V2ZW50QXJncztcblxuICAgIGZpbHRlckRhdGFCeUV4cHJlc3Npb25zKGV4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSk6IGFueVtdO1xuICAgIHNvcnREYXRhQnlFeHByZXNzaW9ucyhkYXRhOiBhbnlbXSwgZXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdKTogYW55W107XG5cbiAgICB1cGRhdGVfY2VsbChjZWxsOiBJZ3hDZWxsKTogSUdyaWRFZGl0RXZlbnRBcmdzO1xuICAgIHVwZGF0ZV9yb3cocm93OiBJZ3hFZGl0Um93LCB2YWx1ZTogYW55LCBldmVudD86IEV2ZW50KTogSUdyaWRFZGl0RXZlbnRBcmdzO1xuXG4gICAgZXhwYW5kX3BhdGhfdG9fcmVjb3JkPyhyZWNvcmQ6IElUcmVlR3JpZFJlY29yZCk6IHZvaWQ7XG4gICAgZ2V0X3NlbGVjdGVkX2NoaWxkcmVuPyhyZWNvcmQ6IElUcmVlR3JpZFJlY29yZCwgc2VsZWN0ZWRSb3dJRHM6IGFueVtdKTogdm9pZDtcbiAgICBnZXRfZ3JvdXBCeV9yZWNvcmRfaWQ/KGdSb3c6IElHcm91cEJ5UmVjb3JkKTogc3RyaW5nO1xuICAgIHJlbW92ZV9ncm91cGluZ19leHByZXNzaW9uPyhmaWVsZE5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gICAgY2xlYXJfZ3JvdXBieT8oZmllbGQ6IHN0cmluZyB8IGFueSk6IHZvaWQ7XG4gICAgZ2V0UGFyZW50Um93SWQ/KGNoaWxkOiBHcmlkVHlwZSk6IGFueTtcbiAgICBnZXRDaGlsZEdyaWRzPyhpbkRlcHRoPzogYm9vbGVhbik6IEdyaWRUeXBlW107XG4gICAgZ2V0Q2hpbGRHcmlkPyhwYXRoOiBJUGF0aFNlZ21lbnRbXSk6IEdyaWRUeXBlO1xuXG4gICAgdW5zZXRDaGlsZFJvd0lzbGFuZD8ocm93SXNsYW5kOiBHcmlkVHlwZSk6IHZvaWQ7XG4gICAgcmVnaXN0ZXJDaGlsZFJvd0lzbGFuZD8ocm93SXNsYW5kOiBHcmlkVHlwZSk6IHZvaWQ7XG59XG5cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIGEgZ3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWRcbiAqIEV4dGVuZHMgYElHcmlkRGF0YUJpbmRhYmxlYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRUeXBlIGV4dGVuZHMgSUdyaWREYXRhQmluZGFibGUge1xuICAgIC8qKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE2LjEuMC4gUGxlYXNlIHVzZSB0aGUgYC0taWctc2l6ZWAgQ1NTIGN1c3RvbSBwcm9wZXJ0eS4gKi9cbiAgICBkaXNwbGF5RGVuc2l0eTogRGlzcGxheURlbnNpdHk7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGxvY2FsZSBvZiB0aGUgR3JpZDogYFVTRGAsIGBFVVJgLCBgR0JQYCwgYENOWWAsIGBKUFlgLCBldGMuICovXG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgcmVzb3VyY2VTdHJpbmdzOiBJR3JpZFJlc291cmNlU3RyaW5ncztcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbmF0aXZlIEhUTUwgZWxlbWVudCBpdHNlbGYgKi9cbiAgICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgcm93cyBpbiB0aGUgZ3JpZCBhcmUgZWRpdGFibGUuIElmIHRlIHZhbHVlIGlzIHRydWUsIHRoZSByb3dzIGNhbiBiZSBlZGl0ZWQgKi9cbiAgICByb3dFZGl0YWJsZTogYm9vbGVhbjtcbiAgICByb290U3VtbWFyaWVzRW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgZmlsdGVyaW5nIGluIHRoZSBncmlkIGlzIGVuYWJsZWQuIElmIHRlIHZhbHVlIGlzIHRydWUsIHRoZSBncmlkIGNhbiBiZSBmaWx0ZXJlZCAqL1xuICAgIGFsbG93RmlsdGVyaW5nOiBib29sZWFuO1xuICAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgcm93cyBpbiB0aGUgZ3JpZCBjYW4gYmUgZHJhZ2dlZC4gSWYgdGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIHJvd3MgY2FuIGJlIGRyYWdnZWQgKi9cbiAgICByb3dEcmFnZ2FibGU6IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHVuaXF1ZSBwcmltYXJ5IGtleSB1c2VkIGZvciBpZGVudGlmeWluZyByb3dzIGluIHRoZSBncmlkICovXG4gICAgcHJpbWFyeUtleTogYW55O1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZ3JpZC4gKi9cbiAgICBpZDogc3RyaW5nO1xuICAgIC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSB2aXNpYmxlIHJvd3MgaW4gdGhlIGdyaWQuICovXG4gICAgcmVuZGVyZWRSb3dIZWlnaHQ6IG51bWJlcjtcbiAgICBwaXBlVHJpZ2dlcjogbnVtYmVyO1xuICAgIHN1bW1hcnlQaXBlVHJpZ2dlcjogbnVtYmVyO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGdyb3VwYWJsZVBpcGVUcmlnZ2VyOiBudW1iZXI7XG4gICAgZmlsdGVyaW5nUGlwZVRyaWdnZXI6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNDb2x1bW5MYXlvdXRzOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZ3JpZCBpcyBjdXJyZW50bHkgaW4gYSBtb3Zpbmcgc3RhdGUuICovXG4gICAgbW92aW5nOiBib29sZWFuO1xuICAgIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIC8qKiBTdHJhdGVneSwgdXNlZCBmb3IgY2xvbmluZyB0aGUgcHJvdmlkZWQgZGF0YS4gVGhlIHR5cGUgaGFzIG9uZSBtZXRob2QsIHRoYXQgdGFrZXMgYW55IHR5cGUgb2YgZGF0YSAqL1xuICAgIGRhdGFDbG9uZVN0cmF0ZWd5OiBJRGF0YUNsb25lU3RyYXRlZ3k7XG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgZ3JpZCBzZXJ2aWNlIHR5cGUgcHJvdmlkaW5nIEFQSSBtZXRob2RzIGZvciB0aGUgZ3JpZCAqL1xuICAgIHJlYWRvbmx5IGdyaWRBUEk6IEdyaWRTZXJ2aWNlVHlwZTtcblxuICAgIC8qKiBUaGUgZmlsdGVyIG1vZGUgZm9yIHRoZSBncmlkLiBJdCBjYW4gYmUgcXVpY2sgZmlsdGVyIG9mIGV4Y2VsLXN0eWxlIGZpbHRlciAqL1xuICAgIGZpbHRlck1vZGU6IEZpbHRlck1vZGU7XG5cbiAgICAvLyBUWVBFXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdGhlYWRSb3c6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBncm91cEFyZWE6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBmaWx0ZXJDZWxsTGlzdDogYW55W107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZmlsdGVyaW5nUm93OiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgYWN0aW9uU3RyaXA6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICByZXNpemVMaW5lOiBhbnk7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICB0Zm9vdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnaW5hdG9yOiBJZ3hQYWdpbmF0b3JDb21wb25lbnQ7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnaW5hdG9yTGlzdD86IFF1ZXJ5TGlzdDxJZ3hQYWdpbmF0b3JDb21wb25lbnQ+O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGNydWRTZXJ2aWNlOiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgc3VtbWFyeVNlcnZpY2U6IGFueTtcblxuXG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgc3RhdGUgb2YgdmlydHVhbGl6YXRpb24gZm9yIHRoZSBncmlkLiBJdCBoYXMgYW4gb3duZXIsIHN0YXJ0IGluZGV4IGFuZCBjaHVuayBzaXplICovXG4gICAgdmlydHVhbGl6YXRpb25TdGF0ZTogSUZvck9mU3RhdGU7XG4gICAgLy8gVFlQRVxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIC8qKiBUaGUgc2VydmljZSBoYW5kbGluZyBzZWxlY3Rpb24gaW4gdGhlIGdyaWQuIFNlbGVjdGluZywgZGVzZWxlY3RpbmcgZWxlbWVudHMgKi9cbiAgICBzZWxlY3Rpb25TZXJ2aWNlOiBhbnk7XG4gICAgbmF2aWdhdGlvbjogYW55O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlcmluZ1NlcnZpY2U6IGFueTtcbiAgICBvdXRsZXQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQgaGFzIGNvbHVtbnMgdGhhdCBjYW4gYmUgbW92ZWQgKi9cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNNb3ZhYmxlQ29sdW1uczogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQncyByb3dzIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIGlzUm93U2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlbGVjdG9ycyBvZiB0aGUgcm93cyBhcmUgdmlzaWJsZSAqL1xuICAgIHNob3dSb3dTZWxlY3RvcnM6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkJ3MgZWxlbWVudCBpcyBwaW5uZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBncmlkICovXG4gICAgaXNQaW5uaW5nVG9TdGFydDogYm9vbGVhbjtcbiAgICAvKiogSWRpY2F0ZXMgaWYgdGhlIGNvbHVtbiBvZiB0aGUgZ3JpZCBpcyBpbiBkcmFnIG1vZGUgKi9cbiAgICBjb2x1bW5JbkRyYWc6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICAvKiogVGhlIHdpZHRoIG9mIHBpbm5lZCBlbGVtZW50ICovXG4gICAgcGlubmVkV2lkdGg6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICAvKiogVGhlIHdpZHRoIG9mIHVucGlubmVkIGVsZW1lbnQgKi9cbiAgICB1bnBpbm5lZFdpZHRoOiBudW1iZXI7XG4gICAgLyoqIFRoZSBDU1MgbWFyZ2luIG9mIHRoZSBzdW1tYXJpZXMgKi9cbiAgICBzdW1tYXJpZXNNYXJnaW46IG51bWJlcjtcbiAgICBoZWFkU2VsZWN0b3JCYXNlQXJpYUxhYmVsOiBzdHJpbmc7XG5cbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQgaGFzIGNvbHVtbnMgdGhhdCBhcmUgc2hvd24gKi9cbiAgICBoYXNWaXNpYmxlQ29sdW1uczogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkIGhhcyBleHBhbmRhYmxlIGNoaWxkcmVuIChoaWVyYXJjaGljYWwgYW5kIHRyZWUgZ3JpZClcbiAgICAgKi9cbiAgICBoYXNFeHBhbmRhYmxlQ2hpbGRyZW4/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgY29sbGFwc2VkIGdyaWQgZWxlbWVudHMgc2hvdWxkIGJlIGV4cGFuZGVkXG4gICAgICovXG4gICAgc2hvd0V4cGFuZEFsbD86IGJvb2xlYW47XG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY291bnQgb2Ygb25seSB0aGUgaGlkZGVuIChub3QgdmlzaWJsZSkgY29sdW1ucyAqL1xuICAgIGhpZGRlbkNvbHVtbnNDb3VudDogbnVtYmVyO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBjb3VudCBvZiBvbmx5IHRoZSBwaW5uZWQgY29sdW1ucyAqL1xuICAgIHBpbm5lZENvbHVtbnNDb3VudDogbnVtYmVyO1xuXG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGdyaWQgaWNvbnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW5jaWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGljb25UZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGdyb3VwLWJ5IHJvd3MuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW5jaWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGdyb3VwUm93VGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxJZ3hHcm91cEJ5Um93VGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGdyb3VwIHJvdyBzZWxlY3Rvci5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgZ3JvdXBCeVJvd1NlbGVjdG9yVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciByb3cgbG9hZGluZyBpbmRpY2F0b3JzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFuY2lhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICByb3dMb2FkaW5nSW5kaWNhdG9yVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgdGhlIGhlYWRlciBzZWxlY3Rvci5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgaGVhZFNlbGVjdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEhlYWRTZWxlY3RvclRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciByb3cgc2VsZWN0b3JzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFuY2lhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICByb3dTZWxlY3RvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hSb3dTZWxlY3RvclRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBzb3J0IGhlYWRlciBpY29ucy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgc29ydEhlYWRlckljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBhc2NlbmRpbmcgc29ydCBoZWFkZXIgaWNvbnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW5jaWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHNvcnRBc2NlbmRpbmdIZWFkZXJJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgZGVzY2VuZGluZyBzb3J0IGhlYWRlciBpY29ucy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgc29ydERlc2NlbmRpbmdIZWFkZXJJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgaGVhZGVyIGNvbGxhcHNlZCBpbmRpY2F0b3JzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFuY2lhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBoZWFkZXJDb2xsYXBzZWRJbmRpY2F0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZFRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBoZWFkZXIgZXhwYW5kZWQgaW5kaWNhdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgaGVhZGVyRXhwYW5kZWRJbmRpY2F0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZFRlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqIFRoZSB0ZW1wbGF0ZSBmb3IgZHJhZyBpbmRpY2F0b3IgaWNvbnMuIENvdWxkIGJlIG9mIGFueSB0eXBlICovXG4gICAgZHJhZ0luZGljYXRvckljb25UZW1wbGF0ZTogYW55O1xuICAgIC8qKiBUaGUgYmFzZSBkcmFnIGluZGljYXRvciBpY29uLiBDb3VsZCBiZSBvZiBhbnkgdHlwZSAqL1xuICAgIGRyYWdJbmRpY2F0b3JJY29uQmFzZTogYW55O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0cmFuc2l0aW9ucyBhcmUgZGlzYWJsZWQgZm9yIHRoZSBncmlkLiAqL1xuICAgIGRpc2FibGVUcmFuc2l0aW9uczogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbmN5IHN5bWJvbCBpcyBwb3NpdGlvbmVkIHRvIHRoZSBsZWZ0IG9mIHZhbHVlcy4gKi9cbiAgICBjdXJyZW5jeVBvc2l0aW9uTGVmdDogYm9vbGVhbjtcblxuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgd2lkdGggb2YgdGhlIGNvbHVtbiBpcyBzZXQgYnkgdGhlIHVzZXIsIG9yIGlzIGNvbmZpZ3VyZWQgYXV0b21hdGljYWxseS4gKi9cbiAgICBjb2x1bW5XaWR0aFNldEJ5VXNlcjogYm9vbGVhbjtcbiAgICBoZWFkZXJGZWF0dXJlc1dpZHRoOiBudW1iZXI7XG4gICAgLyoqIENTUyBzdHlsaW5nIGNhbGN1bGF0ZWQgZm9yIGFuIGVsZW1lbnQ6IGNhbGNIZWlnaHQsIGNhbGNXaWR0aCwgb3V0ZXJXaWR0aCAqL1xuICAgIGNhbGNIZWlnaHQ6IG51bWJlcjtcbiAgICBjYWxjV2lkdGg6IG51bWJlcjtcbiAgICBvdXRlcldpZHRoOiBudW1iZXI7XG4gICAgLyoqIFRoZSBoZWlnaHQgb2YgZWFjaCByb3cgaW4gdGhlIGdyaWQuIFNldHRpbmcgYSBjb25zdGFudCBoZWlnaHQgY2FuIHNvbHZlIHByb2JsZW1zIHdpdGggbm90IHNob3dpbmcgYWxsIGFsZW1lbnRzIHdoZW4gc2Nyb2xsaW5nICovXG4gICAgcm93SGVpZ2h0OiBudW1iZXI7XG4gICAgbXVsdGlSb3dMYXlvdXRSb3dTaXplOiBudW1iZXI7XG4gICAgLyoqIE1pbmltYWwgd2lkdGggZm9yIGhlYWRlcnMgKi9cbiAgICBkZWZhdWx0SGVhZGVyR3JvdXBNaW5XaWR0aDogYW55O1xuICAgIG1heExldmVsSGVhZGVyRGVwdGg6IG51bWJlcjtcbiAgICBkZWZhdWx0Um93SGVpZ2h0OiBudW1iZXI7XG4gICAgLyoqIFRoZSBkZWZhdWx0IGZvbnQgc2l6ZSwgY2FsY3VsYXRlZCBmb3IgZWFjaCBlbGVtZW50ICovXG4gICAgX2Jhc2VGb250U2l6ZT86IG51bWJlcjtcbiAgICBzY3JvbGxTaXplOiBudW1iZXI7XG5cbiAgICAvKiogVGhlIHRyaWdnZXIgZm9yIGdyaWQgdmFsaWRhdGlvbi4gSXQncyB2YWx1ZSBjYW4gZWlnaHRlciBiZSBgY2hhbmdlYCBvciBgYmx1cmAgKi9cbiAgICB2YWxpZGF0aW9uVHJpZ2dlcjogR3JpZFZhbGlkYXRpb25UcmlnZ2VyO1xuICAgIC8qKlxuICAgICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciBjb2x1bW5zIGFuZCByb3dzIHBpbm5pbmcgaW4gdGhlIGdyaWRcbiAgICAgKiBJdCdzIG9mIHR5cGUgSVBpbm5pbmdDb25maWcsIHdoaWNoIGNhbiBoYXZlIHZhbHVlIGZvciBjb2x1bW5zIChzdGFydCwgZW5kKSBhbmQgZm9yIHJvd3MgKHRvcCwgYm90dG9tKVxuICAgICovXG4gICAgcGlubmluZzogSVBpbm5pbmdDb25maWc7XG4gICAgZXhwYW5zaW9uU3RhdGVzOiBNYXA8YW55LCBib29sZWFuPjtcbiAgICBwYXJlbnRWaXJ0RGlyOiBhbnk7XG4gICAgdGJvZHk6IGFueTtcbiAgICB2ZXJ0aWNhbFNjcm9sbENvbnRhaW5lcjogYW55O1xuICAgIGRhdGFSb3dMaXN0OiBhbnk7XG4gICAgcm93TGlzdDogYW55O1xuICAgIC8qKiBBbiB1bm1vZGlmaWFibGUgbGlzdCwgY29udGFpbmluZyBhbGwgdGhlIGNvbHVtbnMgb2YgdGhlIGdyaWQuICovXG4gICAgY29sdW1uTGlzdDogUXVlcnlMaXN0PENvbHVtblR5cGU+O1xuICAgIGNvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHZpc2libGUgKG5vdCBoaWRkZW4pIGluIHRoZSB2aWV3ICovXG4gICAgdmlzaWJsZUNvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHRoYXQgYXJlIG5vdCBwaW5uZWQgKi9cbiAgICB1bnBpbm5lZENvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHRoYXQgYXJlIHBpbm5lZCAqL1xuICAgIHBpbm5lZENvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogcmVwcmVzZW50cyBhbiBhcnJheSBvZiB0aGUgaGVhZGVycyBvZiB0aGUgY29sdW1ucyAqL1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckNlbGxMaXN0OiBhbnlbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJHcm91cHM6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckdyb3Vwc0xpc3Q6IGFueVtdO1xuICAgIHN1bW1hcmllc1Jvd0xpc3Q6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJDb250YWluZXI6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgY2VsbHMgYXJlIHNlbGVjdGFibGUgaW4gdGhlIGdyaWQgKi9cbiAgICBpc0NlbGxTZWxlY3RhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBpdCBpcyBhbGxvd2VkIHRvIHNlbGVjdCBtb3JlIHRoYW4gb25lIHJvdyBpbiB0aGUgZ3JpZCAqL1xuICAgIGlzTXVsdGlSb3dTZWxlY3Rpb25FbmFibGVkOiBib29sZWFuO1xuICAgIGhhc1Bpbm5lZFJlY29yZHM6IGJvb2xlYW47XG4gICAgcGlubmVkUmVjb3Jkc0NvdW50OiBudW1iZXI7XG4gICAgcGlubmVkUmVjb3JkczogYW55W107XG4gICAgdW5waW5uZWRSZWNvcmRzOiBhbnlbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwaW5uZWREYXRhVmlldzogYW55W107XG4gICAgcGlubmVkUm93czogYW55W107XG4gICAgZGF0YVZpZXc6IGFueVtdO1xuICAgIF9maWx0ZXJlZFVucGlubmVkRGF0YTogYW55W107XG4gICAgX2ZpbHRlcmVkU29ydGVkVW5waW5uZWREYXRhOiBhbnlbXTtcbiAgICBmaWx0ZXJlZFNvcnRlZERhdGE6IGFueVtdO1xuICAgIGRhdGFXaXRoQWRkZWRJblRyYW5zYWN0aW9uUm93czogYW55W107XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHRyYW5zYWN0aW9uIHNlcnZpY2UgZm9yIHRoZSBncmlkLiAqL1xuICAgIHJlYWRvbmx5IHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25TZXJ2aWNlPFRyYW5zYWN0aW9uLCBTdGF0ZT47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHZhbGlkYXRpb24gc2VydmljZSBmb3IgdGhlIGdyaWQuIFRoZSB0eXBlIGNvbnRhaW5zIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgKGxvZ2ljKSBmb3IgdmFsaWRhdGluZyByZWNvcmRzICovXG4gICAgcmVhZG9ubHkgdmFsaWRhdGlvbjogSWd4R3JpZFZhbGlkYXRpb25TZXJ2aWNlO1xuICAgIGRlZmF1bHRTdW1tYXJ5SGVpZ2h0OiBudW1iZXI7XG4gICAgc3VtbWFyeVJvd0hlaWdodDogbnVtYmVyO1xuICAgIHJvd0VkaXRpbmdPdmVybGF5OiBJZ3hUb2dnbGVEaXJlY3RpdmU7XG4gICAgdG90YWxSb3dzQ291bnRBZnRlckZpbHRlcjogbnVtYmVyO1xuICAgIF90b3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBwYWdpbmcgb2YgdGhlIGdyaWQuIEl0IGNhbiBiZSBlaWdodGVyICdMb2NhbCcgb3IgJ1JlbW90ZSdcbiAgICAgKiAtIExvY2FsOiBEZWZhdWx0IHZhbHVlOyBUaGUgZ3JpZCB3aWxsIHBhZ2luYXRlIHRoZSBkYXRhIHNvdXJjZSBiYXNlZCBvbiB0aGUgcGFnZVxuICAgICAqL1xuICAgIHBhZ2luZ01vZGU6IEdyaWRQYWdpbmdNb2RlO1xuICAgIC8qKiBUaGUgcGFnaW5nIHN0YXRlIGZvciB0aGUgZ3JpZDsgVXNlZCB0byBjb25maWd1cmUgaG93IHBhZ2luZyBzaG91bGQgYmUgYXBwbGllZCAtIHdoaWNoIGlzIHRoZSBjdXJyZW50IHBhZ2UsIHJlY29yZHMgcGVyIHBhZ2UgKi9cbiAgICAvKiogQGhpZGRlbiAqL1xuICAgIHBhZ2luZ1N0YXRlOiBhbnk7XG5cbiAgICByb3dFZGl0VGFiczogYW55O1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBsYXN0IHNlYXJjaCBpbiB0aGUgZ3JpZFxuICAgICAqIEl0IGNvbnRhaW5zIHRoZSBzZWFyY2ggdGV4dCAodGhlIHVzZXIgaGFzIGVudGVyZWQpLCB0aGUgbWF0Y2ggYW5kIHNvbWUgc2V0dGluZ3MgZm9yIHRoZSBzZWFyY2hcbiAgICAgKi9cbiAgICBsYXN0U2VhcmNoSW5mbzogSVNlYXJjaEluZm87XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnZTogbnVtYmVyO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBlclBhZ2U6IG51bWJlcjtcbiAgICAvKiogVGhlIElEIG9mIHRoZSByb3cgY3VycmVudGx5IGJlaW5nIGRyYWdnZWQgaW4gdGhlIGdyaWQuICovXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZHJhZ1Jvd0lEOiBhbnk7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgcm93IGlzIGN1cnJlbnRseSBiZWluZyBkcmFnZ2VkICovXG4gICAgcm93RHJhZ2dpbmc6IGJvb2xlYW47XG5cbiAgICBmaXJzdEVkaXRhYmxlQ29sdW1uSW5kZXg6IG51bWJlcjtcbiAgICBsYXN0RWRpdGFibGVDb2x1bW5JbmRleDogbnVtYmVyO1xuICAgIGlzUm93UGlubmluZ1RvVG9wOiBib29sZWFuO1xuICAgIGhhc0RldGFpbHM6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGFzU3VtbWFyaXplZENvbHVtbnM6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGFzQ29sdW1uR3JvdXBzOiBib29sZWFuO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhhc0VkaXRhYmxlQ29sdW1uczogYm9vbGVhbjtcbiAgICAvKiogUHJvcGVydHksIHRoYXQgcHJvdmlkZXMgYSBjYWxsYmFjayBmb3IgbG9hZGluZyB1bmlxdWUgY29sdW1uIHZhbHVlcyBvbiBkZW1hbmQuXG4gICAgICogSWYgdGhpcyBwcm9wZXJ0eSBpcyBwcm92aWRlZCwgdGhlIHVuaXF1ZSB2YWx1ZXMgaXQgZ2VuZXJhdGVzIHdpbGwgYmUgdXNlZCBieSB0aGUgRXhjZWwgU3R5bGUgRmlsdGVyaW5nICAqL1xuICAgIHVuaXF1ZUNvbHVtblZhbHVlc1N0cmF0ZWd5OiAoY29sdW1uOiBDb2x1bW5UeXBlLCB0cmVlOiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWUsIGRvbmU6ICh2YWx1ZXM6IGFueVtdKSA9PiB2b2lkKSA9PiB2b2lkO1xuICAgIC8qKiBQcm9wZXJ0eSwgdGhhdCBnZXRzIHRoZSBoZWFkZXIgY2VsbCBpbm5lciB3aWR0aCBmb3IgYXV0by1zaXppbmcuICovXG4gICAgZ2V0SGVhZGVyQ2VsbFdpZHRoOiAoZWxlbWVudDogSFRNTEVsZW1lbnQpID0+IElTaXplSW5mbztcblxuICAgIC8qKlxuICAgICAqIFByb3ZpZGVzIGNoYW5nZSBkZXRlY3Rpb24gZnVuY3Rpb25hbGl0eS5cbiAgICAgKiBBIGNoYW5nZS1kZXRlY3Rpb24gdHJlZSBjb2xsZWN0cyBhbGwgdmlld3MgdGhhdCBhcmUgdG8gYmUgY2hlY2tlZCBmb3IgY2hhbmdlcy5cbiAgICAgKiBUaGUgcHJvcGVydHkgY2Fubm90IGJlIGNoYW5nZWQgKHJlYWRvbmx5KSAqL1xuICAgIHJlYWRvbmx5IGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWY7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZG9jdW1lbnQ6IERvY3VtZW50O1xuICAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGV4cGFuZGVkIHJvdyBpbmRpY2F0b3JzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFuY2lhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICByb3dFeHBhbmRlZEluZGljYXRvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkUm93VGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGNvbGxhcHNlZCByb3cgaW5kaWNhdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgcm93Q29sbGFwc2VkSW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRSb3dUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgaGVhZGVyIGljb25cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbmNpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgZXhjZWxTdHlsZUhlYWRlckljb25UZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZEhlYWRlclRlbXBsYXRlQ29udGV4dD47XG5cbiAgICBzZWxlY3RSb3dPbkNsaWNrOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBzZWxlY3Rpb24gbW9kZSBmb3IgY2VsbHM6ICdub25lJywnc2luZ2xlJywgJ211bHRpcGxlJywgJ211bHRpcGxlQ2FzY2FkZScgKi9cbiAgICBjZWxsU2VsZWN0aW9uOiBHcmlkU2VsZWN0aW9uTW9kZTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgc2VsZWN0aW9uIG1vZGUgZm9yIHJvd3M6ICdub25lJywnc2luZ2xlJywgJ211bHRpcGxlJywgJ211bHRpcGxlQ2FzY2FkZScgKi9cbiAgICByb3dTZWxlY3Rpb246IEdyaWRTZWxlY3Rpb25Nb2RlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBzZWxlY3Rpb24gbW9kZSBmb3IgY29sdW1uczogJ25vbmUnLCdzaW5nbGUnLCAnbXVsdGlwbGUnLCAnbXVsdGlwbGVDYXNjYWRlJyAqL1xuICAgIGNvbHVtblNlbGVjdGlvbjogR3JpZFNlbGVjdGlvbk1vZGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGNhbGN1bGF0aW9uIG1vZGUgZm9yIHN1bW1hcmllczogJ3Jvb3RMZXZlbE9ubHknLCAnY2hpbGRMZXZlbHNPbmx5JywgJ3Jvb3RBbmRDaGlsZExldmVscycgKi9cbiAgICBzdW1tYXJ5Q2FsY3VsYXRpb25Nb2RlOiBHcmlkU3VtbWFyeUNhbGN1bGF0aW9uTW9kZTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgcG9zaXRpb24gb2Ygc3VtbWFyaWVzOiAndG9wJywgJ2JvdHRvbScgKi9cbiAgICBzdW1tYXJ5UG9zaXRpb246IEdyaWRTdW1tYXJ5UG9zaXRpb247XG5cbiAgICAvLyBYWFg6IFdvcmsgYXJvdW5kIHRpbGwgd2UgZml4ZWQgdGhlIGluamVjdGlvbiB0b2tlbnNcbiAgICBsYXN0Q2hpbGRHcmlkPzogR3JpZFR5cGU7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdG9vbGJhck91dGxldD86IFZpZXdDb250YWluZXJSZWY7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnaW5hdG9yT3V0bGV0PzogVmlld0NvbnRhaW5lclJlZjtcbiAgICBmbGF0RGF0YT86IGFueVtdIHwgbnVsbDtcbiAgICBjaGlsZFJvdz86IGFueTtcbiAgICBleHBhbnNpb25EZXB0aD86IG51bWJlcjtcbiAgICBjaGlsZERhdGFLZXk/OiBhbnk7XG4gICAgZm9yZWlnbktleT86IGFueTtcbiAgICBjYXNjYWRlT25EZWxldGU/OiBib29sZWFuO1xuICAgIGxvYWRDaGlsZHJlbk9uRGVtYW5kPzogKHBhcmVudElEOiBhbnksIGRvbmU6IChjaGlsZHJlbjogYW55W10pID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgaGFzQ2hpbGRyZW5LZXk/OiBhbnk7XG4gICAgbG9hZGluZ1Jvd3M/OiBTZXQ8YW55PjtcbiAgICBwYXJlbnQ/OiBHcmlkVHlwZTtcbiAgICBoaWdobGlnaHRlZFJvd0lEPzogYW55O1xuICAgIHVwZGF0ZU9uUmVuZGVyPzogYm9vbGVhbjtcbiAgICBjaGlsZExheW91dEtleXM/OiBhbnlbXTtcbiAgICBjaGlsZExheW91dExpc3Q/OiBRdWVyeUxpc3Q8YW55PjtcbiAgICByb290R3JpZD86IEdyaWRUeXBlO1xuICAgIHByb2Nlc3NlZFJvb3RSZWNvcmRzPzogSVRyZWVHcmlkUmVjb3JkW107XG4gICAgcm9vdFJlY29yZHM/OiBJVHJlZUdyaWRSZWNvcmRbXTtcbiAgICByZWNvcmRzPzogTWFwPGFueSwgSVRyZWVHcmlkUmVjb3JkPjtcbiAgICBwcm9jZXNzZWRFeHBhbmRlZEZsYXREYXRhPzogYW55W10gfCBudWxsO1xuICAgIHByb2Nlc3NlZFJlY29yZHM/OiBNYXA8YW55LCBJVHJlZUdyaWRSZWNvcmQ+O1xuICAgIHRyZWVHcm91cEFyZWE/OiBhbnk7XG5cbiAgICBhY3RpdmVOb2RlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUFjdGl2ZU5vZGVDaGFuZ2VFdmVudEFyZ3M+O1xuICAgIGdyaWRLZXlkb3duOiBFdmVudEVtaXR0ZXI8SUdyaWRLZXlkb3duRXZlbnRBcmdzPjtcbiAgICBjZWxsQ2xpY2s6IEV2ZW50RW1pdHRlcjxJR3JpZENlbGxFdmVudEFyZ3M+O1xuICAgIHJvd0NsaWNrOiBFdmVudEVtaXR0ZXI8SUdyaWRSb3dFdmVudEFyZ3M+O1xuICAgIGRvdWJsZUNsaWNrOiBFdmVudEVtaXR0ZXI8SUdyaWRDZWxsRXZlbnRBcmdzPjtcbiAgICBjb250ZXh0TWVudTogRXZlbnRFbWl0dGVyPElHcmlkQ2VsbEV2ZW50QXJncz47XG4gICAgc2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxJR3JpZENlbGxFdmVudEFyZ3M+O1xuICAgIHJhbmdlU2VsZWN0ZWQ6IEV2ZW50RW1pdHRlcjxHcmlkU2VsZWN0aW9uUmFuZ2U+O1xuICAgIHJvd1NlbGVjdGlvbkNoYW5naW5nOiBFdmVudEVtaXR0ZXI8SVJvd1NlbGVjdGlvbkV2ZW50QXJncz47XG4gICAgbG9jYWxlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG4gICAgZmlsdGVyaW5nOiBFdmVudEVtaXR0ZXI8SUZpbHRlcmluZ0V2ZW50QXJncz47XG4gICAgZmlsdGVyaW5nRG9uZTogRXZlbnRFbWl0dGVyPElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU+O1xuICAgIGNvbHVtblBpbm5lZDogRXZlbnRFbWl0dGVyPElQaW5Db2x1bW5FdmVudEFyZ3M+O1xuICAgIGNvbHVtblJlc2l6ZWQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uUmVzaXplRXZlbnRBcmdzPjtcbiAgICBjb2x1bW5Nb3ZpbmdFbmQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uTW92aW5nRW5kRXZlbnRBcmdzPjtcbiAgICBjb2x1bW5TZWxlY3Rpb25DaGFuZ2luZzogRXZlbnRFbWl0dGVyPElDb2x1bW5TZWxlY3Rpb25FdmVudEFyZ3M+O1xuICAgIGNvbHVtbk1vdmluZzogRXZlbnRFbWl0dGVyPElDb2x1bW5Nb3ZpbmdFdmVudEFyZ3M+O1xuICAgIGNvbHVtbk1vdmluZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8SUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzPjtcbiAgICBjb2x1bW5QaW46IEV2ZW50RW1pdHRlcjxJUGluQ29sdW1uQ2FuY2VsbGFibGVFdmVudEFyZ3M+O1xuICAgIGNvbHVtblZpc2liaWxpdHlDaGFuZ2luZzogRXZlbnRFbWl0dGVyPElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdpbmdFdmVudEFyZ3M+O1xuICAgIGNvbHVtblZpc2liaWxpdHlDaGFuZ2VkOiBFdmVudEVtaXR0ZXI8SUNvbHVtblZpc2liaWxpdHlDaGFuZ2VkRXZlbnRBcmdzPjtcbiAgICBiYXRjaEVkaXRpbmdDaGFuZ2U/OiBFdmVudEVtaXR0ZXI8Ym9vbGVhbj47XG4gICAgZGVuc2l0eUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxJRGVuc2l0eUNoYW5nZWRFdmVudEFyZ3M+O1xuICAgIHJvd0FkZDogRXZlbnRFbWl0dGVyPElSb3dEYXRhQ2FuY2VsYWJsZUV2ZW50QXJncz47XG4gICAgcm93QWRkZWQ6IEV2ZW50RW1pdHRlcjxJUm93RGF0YUV2ZW50QXJncz47XG4gICAgcm93QWRkZWROb3RpZmllcjogU3ViamVjdDxJUm93RGF0YUV2ZW50QXJncz47XG4gICAgcm93RGVsZXRlOiBFdmVudEVtaXR0ZXI8SVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzPjtcbiAgICByb3dEZWxldGVkOiBFdmVudEVtaXR0ZXI8SVJvd0RhdGFFdmVudEFyZ3M+O1xuICAgIHJvd0RlbGV0ZWROb3RpZmllcjogU3ViamVjdDxJUm93RGF0YUV2ZW50QXJncz47XG4gICAgY2VsbEVkaXRFbnRlcjogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgY2VsbEVkaXQ6IEV2ZW50RW1pdHRlcjxJR3JpZEVkaXRFdmVudEFyZ3M+O1xuICAgIGNlbGxFZGl0RG9uZTogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIGNlbGxFZGl0RXhpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIHJvd0VkaXRFbnRlcjogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgcm93RWRpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgcm93RWRpdERvbmU6IEV2ZW50RW1pdHRlcjxJR3JpZEVkaXREb25lRXZlbnRBcmdzPjtcbiAgICByb3dFZGl0RXhpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIHJvd0RyYWdTdGFydDogRXZlbnRFbWl0dGVyPElSb3dEcmFnU3RhcnRFdmVudEFyZ3M+O1xuICAgIHJvd0RyYWdFbmQ6IEV2ZW50RW1pdHRlcjxJUm93RHJhZ0VuZEV2ZW50QXJncz47XG4gICAgcm93VG9nZ2xlOiBFdmVudEVtaXR0ZXI8SVJvd1RvZ2dsZUV2ZW50QXJncz47XG4gICAgZm9ybUdyb3VwQ3JlYXRlZDogRXZlbnRFbWl0dGVyPElHcmlkRm9ybUdyb3VwQ3JlYXRlZEV2ZW50QXJncz47XG4gICAgdmFsaWRhdGlvblN0YXR1c0NoYW5nZTogRXZlbnRFbWl0dGVyPElHcmlkVmFsaWRhdGlvblN0YXR1c0V2ZW50QXJncz47XG5cbiAgICB0b29sYmFyRXhwb3J0aW5nOiBFdmVudEVtaXR0ZXI8SUdyaWRUb29sYmFyRXhwb3J0RXZlbnRBcmdzPjtcbiAgICByZW5kZXJlZCQ6IE9ic2VydmFibGU8Ym9vbGVhbj47XG4gICAgcmVzaXplTm90aWZ5OiBTdWJqZWN0PHZvaWQ+O1xuXG4gICAgc29ydFN0cmF0ZWd5OiBJR3JpZFNvcnRpbmdTdHJhdGVneTtcbiAgICBncm91cFN0cmF0ZWd5PzogSUdyaWRHcm91cGluZ1N0cmF0ZWd5O1xuICAgIGZpbHRlcmluZ0xvZ2ljOiBGaWx0ZXJpbmdMb2dpYztcbiAgICBmaWx0ZXJTdHJhdGVneTogSUZpbHRlcmluZ1N0cmF0ZWd5O1xuICAgIGFsbG93QWR2YW5jZWRGaWx0ZXJpbmc6IGJvb2xlYW47XG4gICAgc29ydGluZ0V4cHJlc3Npb25zOiBJU29ydGluZ0V4cHJlc3Npb25bXTtcbiAgICBzb3J0aW5nRXhwcmVzc2lvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJU29ydGluZ0V4cHJlc3Npb25bXT47XG4gICAgZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlO1xuICAgIGZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZUNoYW5nZTogRXZlbnRFbWl0dGVyPElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU+O1xuICAgIGFkdmFuY2VkRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlOiBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlO1xuICAgIGFkdmFuY2VkRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZT47XG4gICAgc29ydGluZ09wdGlvbnM6IElTb3J0aW5nT3B0aW9ucztcblxuICAgIGJhdGNoRWRpdGluZzogYm9vbGVhbjtcbiAgICBncm91cGluZ0V4cGFuc2lvblN0YXRlPzogSUdyb3VwQnlFeHBhbmRTdGF0ZVtdO1xuICAgIGdyb3VwaW5nRXhwcmVzc2lvbnM/OiBJR3JvdXBpbmdFeHByZXNzaW9uW107XG4gICAgZ3JvdXBpbmdFeHByZXNzaW9uc0NoYW5nZT86IEV2ZW50RW1pdHRlcjxJR3JvdXBpbmdFeHByZXNzaW9uW10+O1xuICAgIGdyb3Vwc0V4cGFuZGVkPzogYm9vbGVhbjtcbiAgICByZWFkb25seSBncm91cHNSZWNvcmRzPzogSUdyb3VwQnlSZWNvcmRbXTtcbiAgICBncm91cGluZ0ZsYXRSZXN1bHQ/OiBhbnlbXTtcbiAgICBncm91cGluZ1Jlc3VsdD86IGFueVtdO1xuICAgIGdyb3VwaW5nTWV0YWRhdGE/OiBhbnlbXTtcbiAgICBzZWxlY3RlZENlbGxzPzogQ2VsbFR5cGVbXTtcbiAgICBzZWxlY3RlZFJvd3M6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGFjdGl2ZURlc2NlbmRhbnQ/OiBzdHJpbmc7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaXNQaXZvdD86IGJvb2xlYW47XG5cbiAgICB0b2dnbGVHcm91cD8oZ3JvdXBSb3c6IElHcm91cEJ5UmVjb3JkKTogdm9pZDtcbiAgICBjbGVhckdyb3VwaW5nPyhmaWVsZDogc3RyaW5nKTogdm9pZDtcbiAgICBncm91cEJ5PyhleHByZXNzaW9uOiBJR3JvdXBpbmdFeHByZXNzaW9uIHwgQXJyYXk8SUdyb3VwaW5nRXhwcmVzc2lvbj4pOiB2b2lkO1xuICAgIHJlc29sdmVPdXRsZXQ/KCk6IElneE92ZXJsYXlPdXRsZXREaXJlY3RpdmU7XG4gICAgdXBkYXRlQ29sdW1ucyhjb2x1bW5zOiBDb2x1bW5UeXBlW10pOiB2b2lkO1xuICAgIGdldFNlbGVjdGVkUmFuZ2VzKCk6IEdyaWRTZWxlY3Rpb25SYW5nZVtdO1xuICAgIGRlc2VsZWN0QWxsQ29sdW1ucygpOiB2b2lkO1xuICAgIGRlc2VsZWN0Q29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSB8IENvbHVtblR5cGVbXSk6IHZvaWQ7XG4gICAgc2VsZWN0Q29sdW1ucyhjb2x1bW5zOiBzdHJpbmdbXSB8IENvbHVtblR5cGVbXSk6IHZvaWQ7XG4gICAgc2VsZWN0ZWRDb2x1bW5zKCk6IENvbHVtblR5cGVbXTtcbiAgICByZWZyZXNoU2VhcmNoKCk6IHZvaWQ7XG4gICAgZ2V0RGVmYXVsdEV4cGFuZFN0YXRlKHJlY29yZDogYW55KTogYm9vbGVhbjtcbiAgICB0cmFja0NvbHVtbkNoYW5nZXMoaW5kZXg6IG51bWJlciwgY29sdW1uOiBhbnkpOiBhbnk7XG4gICAgZ2V0UG9zc2libGVDb2x1bW5XaWR0aCgpOiBzdHJpbmc7XG4gICAgcmVzZXRIb3Jpem9udGFsVmlydHVhbGl6YXRpb24oKTogdm9pZDtcbiAgICBoYXNWZXJ0aWNhbFNjcm9sbCgpOiBib29sZWFuO1xuICAgIGdldFZpc2libGVDb250ZW50SGVpZ2h0KCk6IG51bWJlcjtcbiAgICBnZXREcmFnR2hvc3RDdXN0b21UZW1wbGF0ZSgpOiBUZW1wbGF0ZVJlZjxhbnk+IHwgbnVsbDtcbiAgICBvcGVuUm93T3ZlcmxheShpZDogYW55KTogdm9pZDtcbiAgICBvcGVuQWR2YW5jZWRGaWx0ZXJpbmdEaWFsb2cob3ZlcmxheVNldHRpbmdzPzogT3ZlcmxheVNldHRpbmdzKTogdm9pZDtcbiAgICBzaG93U25hY2tiYXJGb3IoaW5kZXg6IG51bWJlcik6IHZvaWQ7XG4gICAgZ2V0Q29sdW1uQnlOYW1lKG5hbWU6IHN0cmluZyk6IGFueTtcbiAgICBnZXRDb2x1bW5CeVZpc2libGVJbmRleChpbmRleDogbnVtYmVyKTogQ29sdW1uVHlwZTtcbiAgICBnZXRIZWFkZXJHcm91cFdpZHRoKGNvbHVtbjogQ29sdW1uVHlwZSk6IHN0cmluZztcbiAgICBnZXRSb3dCeUtleT8oa2V5OiBhbnkpOiBSb3dUeXBlO1xuICAgIGdldFJvd0J5SW5kZXg/KGluZGV4OiBudW1iZXIpOiBSb3dUeXBlO1xuICAgIHNldEZpbHRlcmVkRGF0YShkYXRhOiBhbnksIHBpbm5lZDogYm9vbGVhbik6IHZvaWQ7XG4gICAgc2V0RmlsdGVyZWRTb3J0ZWREYXRhKGRhdGE6IGFueSwgcGlubmVkOiBib29sZWFuKTogdm9pZDtcbiAgICBzb3J0KGV4cHJlc3Npb246IElTb3J0aW5nRXhwcmVzc2lvbiB8IElTb3J0aW5nRXhwcmVzc2lvbltdKTogdm9pZDtcbiAgICBjbGVhclNvcnQobmFtZT86IHN0cmluZyk6IHZvaWQ7XG4gICAgcGluUm93KGlkOiBhbnksIGluZGV4PzogbnVtYmVyLCByb3c/OiBSb3dUeXBlKTogYm9vbGVhbjtcbiAgICB1bnBpblJvdyhpZDogYW55LCByb3c/OiBSb3dUeXBlKTogYm9vbGVhbjtcbiAgICBnZXRVbnBpbm5lZEluZGV4QnlJZChpZDogYW55KTogbnVtYmVyO1xuICAgIGdldEVtcHR5UmVjb3JkT2JqZWN0Rm9yKGluUm93OiBSb3dUeXBlKTogYW55O1xuICAgIGlzU3VtbWFyeVJvdyhyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNSZWNvcmRQaW5uZWQocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGdldEluaXRpYWxQaW5uZWRJbmRleChyZWM6IGFueSk6IG51bWJlcjtcbiAgICBpc1JlY29yZFBpbm5lZEJ5Vmlld0luZGV4KHJvd0luZGV4OiBudW1iZXIpOiBib29sZWFuO1xuICAgIGlzQ29sdW1uR3JvdXBlZChmaWVsZE5hbWU6IHN0cmluZyk6IGJvb2xlYW47XG4gICAgaXNEZXRhaWxSZWNvcmQocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGlzR3JvdXBCeVJlY29yZChyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNHaG9zdFJlY29yZChyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNUcmVlUm93PyhyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNDaGlsZEdyaWRSZWNvcmQ/KHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBnZXRDaGlsZEdyaWRzPyhpbkRlcHRoPzogYm9vbGVhbik6IGFueVtdO1xuICAgIGlzSGllcmFyY2hpY2FsUmVjb3JkPyhyZWNvcmQ6IGFueSk6IGJvb2xlYW47XG4gICAgY29sdW1uVG9WaXNpYmxlSW5kZXgoa2V5OiBzdHJpbmcgfCBudW1iZXIpOiBudW1iZXI7XG4gICAgbW92ZUNvbHVtbihjb2x1bW46IENvbHVtblR5cGUsIHRhcmdldDogQ29sdW1uVHlwZSwgcG9zOiBEcm9wUG9zaXRpb24pOiB2b2lkO1xuICAgIG5hdmlnYXRlVG8ocm93SW5kZXg6IG51bWJlciwgdmlzaWJsZUNvbHVtbkluZGV4OiBudW1iZXIsIGNhbGxiYWNrPzogKGU6IGFueSkgPT4gYW55KTogdm9pZDtcbiAgICBnZXRQcmV2aW91c0NlbGwoY3VyclJvd0luZGV4OiBudW1iZXIsIGN1clZpc2libGVDb2xJbmRleDogbnVtYmVyLCBjYWxsYmFjazogKGM6IENvbHVtblR5cGUpID0+IGJvb2xlYW4pOiBJQ2VsbFBvc2l0aW9uO1xuICAgIGdldE5leHRDZWxsKGN1cnJSb3dJbmRleDogbnVtYmVyLCBjdXJWaXNpYmxlQ29sSW5kZXg6IG51bWJlciwgY2FsbGJhY2s6IChjOiBDb2x1bW5UeXBlKSA9PiBib29sZWFuKTogSUNlbGxQb3NpdGlvbjtcbiAgICBjbGVhckNlbGxTZWxlY3Rpb24oKTogdm9pZDtcbiAgICBzZWxlY3RSYW5nZShyYW5nZTogR3JpZFNlbGVjdGlvblJhbmdlIHwgR3JpZFNlbGVjdGlvblJhbmdlW10pOiB2b2lkO1xuICAgIHNlbGVjdFJvd3Mocm93SURzOiBhbnlbXSwgY2xlYXJDdXJyZW50U2VsZWN0aW9uPzogYm9vbGVhbik6IHZvaWQ7XG4gICAgZGVzZWxlY3RSb3dzKHJvd0lEczogYW55W10pOiB2b2lkO1xuICAgIHNlbGVjdEFsbFJvd3Mob25seUZpbHRlckRhdGE/OiBib29sZWFuKTogdm9pZDtcbiAgICBkZXNlbGVjdEFsbFJvd3Mob25seUZpbHRlckRhdGE/OiBib29sZWFuKTogdm9pZDtcbiAgICBzZXRVcFBhZ2luYXRvcigpOiB2b2lkO1xuICAgIGNyZWF0ZUZpbHRlckRyb3Bkb3duKGNvbHVtbjogQ29sdW1uVHlwZSwgb3B0aW9uczogT3ZlcmxheVNldHRpbmdzKTogYW55O1xuICAgIHVwZGF0ZUNlbGwodmFsdWU6IGFueSwgcm93U2VsZWN0b3I6IGFueSwgY29sdW1uOiBzdHJpbmcpOiB2b2lkO1xuICAgIC8vIFR5cGUgdG8gUm93VHlwZVxuICAgIGNyZWF0ZVJvdz8oaW5kZXg6IG51bWJlciwgZGF0YT86IGFueSk6IFJvd1R5cGU7XG4gICAgZGVsZXRlUm93KGlkOiBhbnkpOiBhbnk7XG4gICAgZGVsZXRlUm93QnlJZChpZDogYW55KTogYW55O1xuICAgIHVwZGF0ZVJvdyh2YWx1ZTogYW55LCByb3dTZWxlY3RvcjogYW55KTogdm9pZDtcbiAgICBjb2xsYXBzZVJvdyhpZDogYW55KTogdm9pZDtcbiAgICBub3RpZnlDaGFuZ2VzKHJlcGFpbnQ/OiBib29sZWFuKTogdm9pZDtcbiAgICByZXNldENvbHVtbkNvbGxlY3Rpb25zKCk6IHZvaWQ7XG4gICAgdHJpZ2dlclBpcGVzKCk6IHZvaWQ7XG4gICAgcmVwb3NpdGlvblJvd0VkaXRpbmdPdmVybGF5KHJvdzogUm93VHlwZSk6IHZvaWQ7XG4gICAgY2xvc2VSb3dFZGl0aW5nT3ZlcmxheSgpOiB2b2lkO1xuICAgIHJlZmxvdygpOiB2b2lkO1xuXG4gICAgLy8gVE9ETzogTWF5YmUgbW92ZSB0aGVtIHRvIEZsYXRHcmlkVHlwZSwgYnV0IHRoZW4gd2lsbCB3ZSBuZWVkIGFub3RoZXIgdG9rZW4/XG4gICAgaXNFeHBhbmRlZEdyb3VwKGdyb3VwOiBJR3JvdXBCeVJlY29yZCk6IGJvb2xlYW47XG4gICAgY3JlYXRlQ29sdW1uc0xpc3Q/KGNvbHM6IENvbHVtblR5cGVbXSk6IHZvaWQ7XG4gICAgdG9nZ2xlQWxsR3JvdXBSb3dzPygpOiB2b2lkO1xuICAgIHRvZ2dsZUFsbD8oKTogdm9pZDtcbiAgICBnZW5lcmF0ZVJvd1BhdGg/KHJvd0lkOiBhbnkpOiBhbnlbXTtcbiAgICBwcmV2ZW50SGVhZGVyU2Nyb2xsPyhhcmdzOiBhbnkpOiB2b2lkO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIGEgRmxhdCBHcmlkIHR5cGUuIEl0IGlzIGVzc2VudGlhbGx5IHRoZSBibHVlcHJpbnQgdG8gYSBncmlkIGtpbmRcbiAqIENvbnRhaW5zIGRlZmluaXRpb25zIG9mIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMsIHJlbGV2YW50IHRvIGEgZ3JpZCBraW5kXG4gKiBFeHRlbmRzIGZyb20gYEdyaWRUeXBlYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEZsYXRHcmlkVHlwZSBleHRlbmRzIEdyaWRUeXBlIHtcbiAgICBncm91cGluZ0V4cGFuc2lvblN0YXRlOiBJR3JvdXBCeUV4cGFuZFN0YXRlW107XG4gICAgZ3JvdXBpbmdFeHByZXNzaW9uczogSUdyb3VwaW5nRXhwcmVzc2lvbltdO1xuICAgIGdyb3VwaW5nRXhwcmVzc2lvbnNDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJR3JvdXBpbmdFeHByZXNzaW9uW10+O1xuXG4gICAgdG9nZ2xlR3JvdXAoZ3JvdXBSb3c6IElHcm91cEJ5UmVjb3JkKTogdm9pZDtcbiAgICBjbGVhckdyb3VwaW5nKGZpZWxkOiBzdHJpbmcpOiB2b2lkO1xuICAgIGdyb3VwQnkoZXhwcmVzc2lvbjogSUdyb3VwaW5nRXhwcmVzc2lvbiB8IEFycmF5PElHcm91cGluZ0V4cHJlc3Npb24+KTogdm9pZDtcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyBhIFRyZWUgR3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBraW5kXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWQga2luZFxuICogRXh0ZW5kcyBmcm9tIGBHcmlkVHlwZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUcmVlR3JpZFR5cGUgZXh0ZW5kcyBHcmlkVHlwZSB7XG4gICAgcmVjb3JkczogTWFwPGFueSwgSVRyZWVHcmlkUmVjb3JkPjtcbiAgICBpc1RyZWVSb3cocmVjOiBhbnkpOiBib29sZWFuO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIGEgSGllcmFyY2hpY2FsIEdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQga2luZFxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkIGtpbmRcbiAqIEV4dGVuZHMgZnJvbSBgR3JpZFR5cGVgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGllcmFyY2hpY2FsR3JpZFR5cGUgZXh0ZW5kcyBHcmlkVHlwZSB7XG4gICAgY2hpbGRMYXlvdXRLZXlzOiBhbnlbXTtcbn1cblxuLyoqXG4gKiBBbiBpbnRlcmZhY2UgZGVzY3JpYmluZyBhIFBpdm90IEdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQga2luZFxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkIGtpbmRcbiAqIEV4dGVuZHMgZnJvbSBgR3JpZFR5cGVgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGl2b3RHcmlkVHlwZSBleHRlbmRzIEdyaWRUeXBlIHtcbiAgICAvKipcbiAgICAgKiBUaGUgY29uZmlndXJhdGlvbiBzZXR0aW5ncyBmb3IgdGhlIHBpdm90IGdyaWQuXG4gICAgICogaXQgaW5jbHVkZXMgZGltZW50aW9uIHN0cmF0ZWd5IGZvciByb3dzIGFuZCBjb2x1bW5zLCBmaWx0ZXJzIGFuZCBkYXRhIGtleXNcbiAgICAgKi9cbiAgICBwaXZvdENvbmZpZ3VyYXRpb246IElQaXZvdENvbmZpZ3VyYXRpb247XG4gICAgLyoqXG4gICAgICogQW4gYXJyYXkgb2YgYWxsIGRpbWVuc2lvbnMgKHJvd3MgYW5kIGNvbHVtbnMpIGluIHRoZSBwaXZvdCBncmlkLlxuICAgICAqIGl0IGluY2x1ZGVzIGhpZXJhcmNoaWNhbCBsZXZlbCwgZmlsdGVycyBhbmQgc29ydGluZywgZGltZW50aW9uYWwgbGV2ZWwsIGV0Yy5cbiAgICAgKi9cbiAgICBhbGxEaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXSxcbiAgICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgdG8gc2hvdyB0aGUgcGl2b3QgY29uZmlndXJhdGlvbiBVSSBpbiB0aGUgZ3JpZC4gKi9cbiAgICBzaG93UGl2b3RDb25maWd1cmF0aW9uVUk6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgY29sdW1uRGltZW5zaW9uczogSVBpdm90RGltZW5zaW9uW107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcm93RGltZW5zaW9uczogSVBpdm90RGltZW5zaW9uW107XG4gICAgcm93RGltZW5zaW9uUmVzaXppbmc6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdmFsdWVzOiBJUGl2b3RWYWx1ZVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlckRpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGRpbWVuc2lvbkRhdGFDb2x1bW5zOiBDb2x1bW5UeXBlW107XG4gICAgcGl2b3RSb3dXaWR0aHM6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3Igc2V0aW5nIHVwIHRoZSBjb2x1bW5zIGZvciB0aGUgcGl2b3QgZ3JpZCBiYXNlZCBvbiB0aGUgcGl2b3QgY29uZmlndXJhdGlvbiAqL1xuICAgIHNldHVwQ29sdW1ucygpOiB2b2lkO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIHRoYXQgYWxsb3dzIHRvZ2dsZSBvZiBleHBhbnNpb24gc3RhdGUgb2YgYSByb3cgKHRha2VuIGFzIGEgcGFyYW1ldGVyKSBpbiB0aGUgcGl2b3QgZ3JpZCAqL1xuICAgIHRvZ2dsZVJvdyhyb3dJRDogYW55KTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXNvbHZpbmcgdGhlIGRhdGEgdHlwZSBmb3IgYSBzcGVjaWZpYyBmaWVsZCAoY29sdW1uKS5cbiAgICAgKiBJdCB0YWtlcyB0aGUgZmllbGQgYXMgYSBwYXJhbWV0ZXIgYW5kIHJldHVybnMgaXQncyB0eXBlXG4gICAgICovXG4gICAgcmVzb2x2ZURhdGFUeXBlcyhmaWVsZDogYW55KTogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIG1vdmluZyBkaW1lbnNpb24gZnJvbSBpdHMgY3VycmVudGx5IGNvbGxlY3Rpb24gdG8gdGhlIHNwZWNpZmllZCB0YXJnZXQgY29sbGVjdGlvblxuICAgICAqIGJ5IHR5cGUgKFJvdywgQ29sdW1uIG9yIEZpbHRlcikgYXQgc3BlY2lmaWVkIGluZGV4IG9yIGF0IHRoZSBjb2xsZWN0aW9uJ3MgZW5kXG4gICAgICovXG4gICAgbW92ZURpbWVuc2lvbihkaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiwgdGFyZ2V0Q29sbGVjdGlvblR5cGU6IFBpdm90RGltZW5zaW9uVHlwZSwgaW5kZXg/OiBudW1iZXIpO1xuICAgIGdldERpbWVuc2lvbnNCeVR5cGUoZGltZW5zaW9uOiBQaXZvdERpbWVuc2lvblR5cGUpO1xuICAgIC8qKiBUb2dnbGVzIHRoZSBkaW1lbnNpb24ncyBlbmFibGVkIHN0YXRlIG9uIG9yIG9mZi4gVGhlIGRpbWVuc2lvbiByZW1haW5zIGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24gKi9cbiAgICB0b2dnbGVEaW1lbnNpb24oZGltZW5zaW9uOiBJUGl2b3REaW1lbnNpb24pO1xuICAgIC8qKiBTb3J0IHRoZSBkaW1lbnNpb24gYW5kIGl0cyBjaGlsZHJlbiBpbiB0aGUgcHJvdmlkZWQgZGlyZWN0aW9uIChhc2NlbmRpbmcsIGRlc2NlbmRpbmcgb3Igbm9uZSkuICovXG4gICAgc29ydERpbWVuc2lvbihkaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiwgc29ydERpcmVjdGlvbjogU29ydGluZ0RpcmVjdGlvbik7XG4gICAgLyoqIFRvZ2dsZXMgdGhlIHZhbHVlJ3MgZW5hYmxlZCBzdGF0ZSBvbiBvciBvZmYuIFRoZSB2YWx1ZSByZW1haW5zIGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24uICovXG4gICAgdG9nZ2xlVmFsdWUodmFsdWU6IElQaXZvdFZhbHVlKTtcbiAgICAvKiogTW92ZSB2YWx1ZSBmcm9tIGl0cyBjdXJyZW50bHkgYXQgc3BlY2lmaWVkIGluZGV4IG9yIGF0IHRoZSBlbmQuXG4gICAgICogSWYgdGhlIHBhcmFtZXRlciBpcyBub3Qgc2V0LCBpdCB3aWxsIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIG1vdmVWYWx1ZSh2YWx1ZTogSVBpdm90VmFsdWUsIGluZGV4PzogbnVtYmVyKTtcbiAgICByb3dEaW1lbnNpb25XaWR0aFRvUGl4ZWxzKGRpbTogSVBpdm90RGltZW5zaW9uKTogbnVtYmVyO1xuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBkaW1lbnNpb25zIGluIHRoZSBwaXZvdCBncmlkIGNoYW5nZS4gKi9cbiAgICBkaW1lbnNpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SURpbWVuc2lvbnNDaGFuZ2U+O1xuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSB2YWx1ZXMgaW4gdGhlIHBpdm90IGdyaWQgY2hhbmdlLiAqL1xuICAgIHZhbHVlc0NoYW5nZTogRXZlbnRFbWl0dGVyPElWYWx1ZXNDaGFuZ2U+O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBpdm90S2V5czogSVBpdm90S2V5cztcbiAgICBoYXNNdWx0aXBsZVZhbHVlczogYm9vbGVhbjtcbiAgICBleGNlbFN0eWxlRmlsdGVyTWF4SGVpZ2h0OiBzdHJpbmc7XG4gICAgZXhjZWxTdHlsZUZpbHRlck1pbkhlaWdodDogc3RyaW5nO1xuICAgIHZhbHVlQ2hpcFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRTVkdJY29uIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2l6ZUluZm8ge1xuICAgIHdpZHRoOiBudW1iZXIsXG4gICAgcGFkZGluZzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZE1hc3RlckRldGFpbENvbnRleHQge1xuICAgICRpbXBsaWNpdDogYW55O1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JvdXBCeVJvd1RlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJR3JvdXBCeVJlY29yZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IEdyaWRUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBSb3dUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0RyYWdHaG9zdENvbnRleHQge1xuICAgICRpbXBsaWNpdDogYW55LCAvLyB0aGlzIGlzIHRoZSByb3cgZGF0YVxuICAgIGRhdGE6IGFueSwgLy8gdGhpcyBpcyBhbHNvIHRoZSByb3cgZGF0YSBmb3Igc29tZSByZWFzb24uXG4gICAgZ3JpZDogR3JpZFR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkRW1wdHlUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0VkaXRUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkLFxuICAgIHJvd0NoYW5nZXNDb3VudDogbnVtYmVyLFxuICAgIGVuZEVkaXQ6IChjb21taXQ6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkUm93RWRpdFRleHRUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0VkaXRBY3Rpb25zVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IChjb21taXQ6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IEhlYWRlclR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hDb2x1bW5UZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogQ29sdW1uVHlwZSxcbiAgICBjb2x1bW46IENvbHVtblR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hDZWxsVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IGFueSxcbiAgICBhZGRpdGlvbmFsVGVtcGxhdGVDb250ZXh0OiBhbnksXG4gICAgZm9ybUNvbnRyb2w/OiBGb3JtQ29udHJvbDxhbnk+LFxuICAgIGRlZmF1bHRFcnJvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PixcbiAgICBjZWxsOiBDZWxsVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneFJvd1NlbGVjdG9yVGVtcGxhdGVEZXRhaWxzIHtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGluIHZlcnNpb24gMTUuMS4wLiBVc2UgdGhlIGBrZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcm93SUQ6IGFueTtcbiAgICBrZXk6IGFueTtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBzZWxlY3Q/OiAoKSA9PiB2b2lkO1xuICAgIGRlc2VsZWN0PzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hSb3dTZWxlY3RvclRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJZ3hSb3dTZWxlY3RvclRlbXBsYXRlRGV0YWlscztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZURldGFpbHMge1xuICAgIHNlbGVjdGVkQ291bnQ6IG51bWJlcjtcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XG4gICAgZ3JvdXBSb3c6IElHcm91cEJ5UmVjb3JkO1xufVxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogSWd4R3JvdXBCeVJvd1NlbGVjdG9yVGVtcGxhdGVEZXRhaWxzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEhlYWRTZWxlY3RvclRlbXBsYXRlRGV0YWlscyB7XG4gICAgc2VsZWN0ZWRDb3VudDogbnVtYmVyO1xuICAgIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgICBzZWxlY3RBbGw/OiAoKSA9PiB2b2lkO1xuICAgIGRlc2VsZWN0QWxsPzogKCkgPT4gdm9pZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWd4SGVhZFNlbGVjdG9yVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElneEhlYWRTZWxlY3RvclRlbXBsYXRlRGV0YWlscztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hTdW1tYXJ5VGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElneFN1bW1hcnlSZXN1bHRbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRQYWdpbmF0b3JUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogR3JpZFR5cGU7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgc2V0dGluZ3MgZm9yIHJvdy9jb2x1bW4gcGlubmluZyBwb3NpdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGlubmluZ0NvbmZpZyB7XG4gICAgY29sdW1ucz86IENvbHVtblBpbm5pbmdQb3NpdGlvbjtcbiAgICByb3dzPzogUm93UGlubmluZ1Bvc2l0aW9uO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIHNldHRpbmdzIGZvciBjbGlwYm9hcmQgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlwYm9hcmRPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBjb3B5IGJlaGF2aW9yXG4gICAgICovXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRoZSBjb2x1bW5zIGhlYWRlcnMgaW4gdGhlIGNsaXBib2FyZCBvdXRwdXQuXG4gICAgICovXG4gICAgY29weUhlYWRlcnM6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQXBwbHkgdGhlIGNvbHVtbnMgZm9ybWF0dGVycyAoaWYgYW55KSBvbiB0aGUgZGF0YSBpbiB0aGUgY2xpcGJvYXJkIG91dHB1dC5cbiAgICAgKi9cbiAgICBjb3B5Rm9ybWF0dGVyczogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgc2VwYXJhdG9yIHVzZWQgZm9yIGZvcm1hdHRpbmcgdGhlIGNvcHkgb3V0cHV0LiBEZWZhdWx0cyB0byBgXFx0YC5cbiAgICAgKi9cbiAgICBzZXBhcmF0b3I6IHN0cmluZztcbn1cbiJdfQ==
|
|
4
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ3JpZC5pbnRlcmZhY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9pZ25pdGV1aS1hbmd1bGFyL3NyYy9saWIvZ3JpZHMvY29tbW9uL2dyaWQuaW50ZXJmYWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVlBLE9BQU8sRUFBK0MsY0FBYyxFQUE0QyxNQUFNLGVBQWUsQ0FBQztBQTZCdEksTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBVyxrQkFBa0IsQ0FBQyxDQUFDO0FBQzNGLE1BQU0sQ0FBQyxNQUFNLHFCQUFxQixHQUFHLGFBQWEsQ0FBQSxJQUFJLGNBQWMsQ0FBa0IseUJBQXlCLENBQUMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbHVtblBpbm5pbmdQb3NpdGlvbiwgRmlsdGVyTW9kZSwgR3JpZFBhZ2luZ01vZGUsIEdyaWRTZWxlY3Rpb25Nb2RlLCBHcmlkU3VtbWFyeUNhbGN1bGF0aW9uTW9kZSwgR3JpZFN1bW1hcnlQb3NpdGlvbiwgR3JpZFZhbGlkYXRpb25UcmlnZ2VyLCBSb3dQaW5uaW5nUG9zaXRpb24gfSBmcm9tICcuL2VudW1zJztcbmltcG9ydCB7XG4gICAgSVNlYXJjaEluZm8sIElHcmlkQ2VsbEV2ZW50QXJncywgSVJvd1NlbGVjdGlvbkV2ZW50QXJncywgSUNvbHVtblNlbGVjdGlvbkV2ZW50QXJncyxcbiAgICBJUGluQ29sdW1uQ2FuY2VsbGFibGVFdmVudEFyZ3MsIElDb2x1bW5WaXNpYmlsaXR5Q2hhbmdlZEV2ZW50QXJncywgSUNvbHVtblZpc2liaWxpdHlDaGFuZ2luZ0V2ZW50QXJncyxcbiAgICBJUm93RHJhZ0VuZEV2ZW50QXJncywgSUNvbHVtbk1vdmluZ1N0YXJ0RXZlbnRBcmdzLCBJQ29sdW1uTW92aW5nRW5kRXZlbnRBcmdzLFxuICAgIElSb3dEYXRhRXZlbnRBcmdzLCBJR3JpZEtleWRvd25FdmVudEFyZ3MsIElSb3dEcmFnU3RhcnRFdmVudEFyZ3MsXG4gICAgSUNvbHVtbk1vdmluZ0V2ZW50QXJncywgSVBpbkNvbHVtbkV2ZW50QXJncyxcbiAgICBJQWN0aXZlTm9kZUNoYW5nZUV2ZW50QXJncyxcbiAgICBJQ2VsbFBvc2l0aW9uLCBJRmlsdGVyaW5nRXZlbnRBcmdzLCBJQ29sdW1uUmVzaXplRXZlbnRBcmdzLCBJUm93VG9nZ2xlRXZlbnRBcmdzLCBJR3JpZFRvb2xiYXJFeHBvcnRFdmVudEFyZ3MsIElQaW5Sb3dFdmVudEFyZ3MsXG4gICAgSUdyaWRSb3dFdmVudEFyZ3MsIElHcmlkRWRpdEV2ZW50QXJncywgSVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzLCBJR3JpZEVkaXREb25lRXZlbnRBcmdzXG59IGZyb20gJy4uL2NvbW1vbi9ldmVudHMnO1xuaW1wb3J0IHsgRGlzcGxheURlbnNpdHksIElEZW5zaXR5Q2hhbmdlZEV2ZW50QXJncyB9IGZyb20gJy4uLy4uL2NvcmUvZGVuc2l0eSc7XG5pbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgRWxlbWVudFJlZiwgRXZlbnRFbWl0dGVyLCBJbmplY3Rpb25Ub2tlbiwgUXVlcnlMaXN0LCBUZW1wbGF0ZVJlZiwgVmlld0NvbnRhaW5lclJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlLCBJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9ucy10cmVlJztcbmltcG9ydCB7IElHcmlkUmVzb3VyY2VTdHJpbmdzIH0gZnJvbSAnLi4vLi4vY29yZS9pMThuL2dyaWQtcmVzb3VyY2VzJztcbmltcG9ydCB7IElHcm91cGluZ0V4cHJlc3Npb24gfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBpbmctZXhwcmVzc2lvbi5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSUdyb3VwQnlSZWNvcmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1yZWNvcmQuaW50ZXJmYWNlJztcbmltcG9ydCB7IElHcm91cEJ5RXhwYW5kU3RhdGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZ3JvdXBieS1leHBhbmQtc3RhdGUuaW50ZXJmYWNlJztcbmltcG9ydCB7IElneFBhZ2luYXRvckNvbXBvbmVudCB9IGZyb20gJy4uLy4uL3BhZ2luYXRvci9wYWdpbmF0b3IuY29tcG9uZW50JztcbmltcG9ydCB7IElneENlbGwsIElneEVkaXRSb3cgfSBmcm9tICcuL2NydWQuc2VydmljZSc7XG5pbXBvcnQgeyBHcmlkU2VsZWN0aW9uUmFuZ2UgfSBmcm9tICcuL3R5cGVzJztcbmltcG9ydCB7IEZpbHRlcmluZ0xvZ2ljIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2ZpbHRlcmluZy1leHByZXNzaW9uLmludGVyZmFjZSc7XG5pbXBvcnQgeyBJRmlsdGVyaW5nU3RyYXRlZ3kgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLXN0cmF0ZWd5JztcbmltcG9ydCB7IERyb3BQb3NpdGlvbiwgSWd4Q29sdW1uTW92aW5nU2VydmljZSB9IGZyb20gJy4uL21vdmluZy9tb3Zpbmcuc2VydmljZSc7XG5pbXBvcnQgeyBJZ3hPdmVybGF5T3V0bGV0RGlyZWN0aXZlLCBJZ3hUb2dnbGVEaXJlY3RpdmUgfSBmcm9tICcuLi8uLi9kaXJlY3RpdmVzL3RvZ2dsZS90b2dnbGUuZGlyZWN0aXZlJztcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IElUcmVlR3JpZFJlY29yZCB9IGZyb20gJy4uL3RyZWUtZ3JpZC90cmVlLWdyaWQuaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBTdGF0ZSwgVHJhbnNhY3Rpb24sIFRyYW5zYWN0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3RyYW5zYWN0aW9uL3RyYW5zYWN0aW9uJztcbmltcG9ydCB7IERhdGFUeXBlLCBHcmlkQ29sdW1uRGF0YVR5cGUgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZGF0YS11dGlsJztcbmltcG9ydCB7IElneEZpbHRlcmluZ09wZXJhbmQgfSBmcm9tICcuLi8uLi9kYXRhLW9wZXJhdGlvbnMvZmlsdGVyaW5nLWNvbmRpdGlvbic7XG5pbXBvcnQgeyBJQ29sdW1uUGlwZUFyZ3MsIElGaWVsZFBpcGVBcmdzLCBJU29ydGluZ09wdGlvbnMsIE1STFJlc2l6ZUNvbHVtbkluZm8gfSBmcm9tICcuLi9jb2x1bW5zL2ludGVyZmFjZXMnO1xuaW1wb3J0IHsgSWd4U3VtbWFyeVJlc3VsdCB9IGZyb20gJy4uL3N1bW1hcmllcy9ncmlkLXN1bW1hcnknO1xuaW1wb3J0IHsgSVNvcnRpbmdFeHByZXNzaW9uLCBJU29ydGluZ1N0cmF0ZWd5LCBTb3J0aW5nRGlyZWN0aW9uIH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL3NvcnRpbmctc3RyYXRlZ3knO1xuaW1wb3J0IHsgSUdyaWRHcm91cGluZ1N0cmF0ZWd5LCBJR3JpZFNvcnRpbmdTdHJhdGVneSB9IGZyb20gJy4vc3RyYXRlZ3knO1xuaW1wb3J0IHsgSUZvck9mU3RhdGUsIElneEdyaWRGb3JPZkRpcmVjdGl2ZSB9IGZyb20gJy4uLy4uL2RpcmVjdGl2ZXMvZm9yLW9mL2Zvcl9vZi5kaXJlY3RpdmUnO1xuaW1wb3J0IHsgT3ZlcmxheVNldHRpbmdzIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvb3ZlcmxheS91dGlsaXRpZXMnO1xuaW1wb3J0IHsgSURpbWVuc2lvbnNDaGFuZ2UsIElQaXZvdENvbmZpZ3VyYXRpb24sIElQaXZvdERpbWVuc2lvbiwgSVBpdm90S2V5cywgSVBpdm90VmFsdWUsIElWYWx1ZXNDaGFuZ2UsIFBpdm90RGltZW5zaW9uVHlwZSB9IGZyb20gJy4uL3Bpdm90LWdyaWQvcGl2b3QtZ3JpZC5pbnRlcmZhY2UnO1xuaW1wb3J0IHsgSURhdGFDbG9uZVN0cmF0ZWd5IH0gZnJvbSAnLi4vLi4vZGF0YS1vcGVyYXRpb25zL2RhdGEtY2xvbmUtc3RyYXRlZ3knO1xuaW1wb3J0IHsgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCwgVmFsaWRhdGlvbkVycm9ycyB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcbmltcG9ydCB7IElneEdyaWRWYWxpZGF0aW9uU2VydmljZSB9IGZyb20gJy4uL2dyaWQvZ3JpZC12YWxpZGF0aW9uLnNlcnZpY2UnO1xuXG5leHBvcnQgY29uc3QgSUdYX0dSSURfQkFTRSA9IC8qQF9fUFVSRV9fKi9uZXcgSW5qZWN0aW9uVG9rZW48R3JpZFR5cGU+KCdJZ3hHcmlkQmFzZVRva2VuJyk7XG5leHBvcnQgY29uc3QgSUdYX0dSSURfU0VSVklDRV9CQVNFID0gLypAX19QVVJFX18qL25ldyBJbmplY3Rpb25Ub2tlbjxHcmlkU2VydmljZVR5cGU+KCdJZ3hHcmlkU2VydmljZUJhc2VUb2tlbicpO1xuXG4vKiogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIHNlZ21lbnQgb2YgYSBwYXRoIGluIGEgaGllcmFyY2hpY2FsIGdyaWQuICovXG5leHBvcnQgaW50ZXJmYWNlIElQYXRoU2VnbWVudCB7XG4gICAgLyoqXG4gICAgICogVGhlIHVuaXF1ZSBpZGVudGlmaWVyIG9mIHRoZSByb3cgd2l0aGluIHRoZSBzZWdtZW50LlxuICAgICAqIEBkZXByZWNhdGVkIHNpbmNlIHZlcnNpb24gMTcuMS4wLiBVc2UgdGhlIGByb3dLZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcm93SUQ6IGFueTtcbiAgICByb3dLZXk6IGFueTtcbiAgICAvKiogVGhlIGtleSByZXByZXNlbnRpbmcgdGhlIHJvdydzICdoaWVyYXJjaGljYWwgbGV2ZWwuICovXG4gICAgcm93SXNsYW5kS2V5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWREYXRhQmluZGFibGUge1xuICAgIGRhdGE6IGFueVtdIHwgbnVsbDtcbiAgICBnZXQgZmlsdGVyZWREYXRhKCk6IGFueVtdO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgYSBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgY2VsbCBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGNlbGxcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDZWxsVHlwZSB7XG4gICAgLyoqIFRoZSBjdXJyZW50IHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHZhbHVlOiBhbnk7XG4gICAgLyoqIFRoZSB2YWx1ZSB0byBkaXNwbGF5IHdoZW4gdGhlIGNlbGwgaXMgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRWYWx1ZTogYW55O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQuIEl0IGlzIGZhbHNlLCBpZiB0aGUgc2VsbCBpcyBub3Qgc2VsZWN0ZWQsIGFuZCB0cnVlLCBpZiBpdCBpcy4gKi9cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNlbGwgaXMgY3VycmVudGx5IGFjdGl2ZSAoZm9jdXNlZCkuICovXG4gICAgYWN0aXZlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBjYW4gYmUgZWRpdGVkLiAqL1xuICAgIGVkaXRhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgaW4gZWRpdCBtb2RlLiAqL1xuICAgIGVkaXRNb2RlOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBuYXRpdmUgSFRNTCBlbGVtZW50IG9mIHRoZSBjZWxsIGl0c2VsZiAqL1xuICAgIG5hdGl2ZUVsZW1lbnQ/OiBIVE1MRWxlbWVudDtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY29sdW1uIHRoYXQgdGhlIGNlbGwgYmVsb25ncyB0by4gKi9cbiAgICBjb2x1bW46IENvbHVtblR5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHJvdyB0aGF0IHRoZSBjZWxsIGJlbG9uZ3MgdG8gKi9cbiAgICByb3c6IFJvd1R5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGdyaWQgaW5zdGFuY2UgY29udGFpbmluZyB0aGUgY2VsbCAqL1xuICAgIGdyaWQ6IEdyaWRUeXBlO1xuICAgIC8qKiBPcHRpb25hbDsgQW4gb2JqZWN0IGlkZW50aWZ5aW5nIHRoZSBjZWxsLiBJdCBjb250YWlucyByb3dJRCwgY29sdW1uSUQsIGFuZCByb3dJbmRleCBvZiB0aGUgY2VsbC4gKi9cbiAgICBpZD86IHsgcm93SUQ6IGFueTsgY29sdW1uSUQ6IG51bWJlcjsgcm93SW5kZXg6IG51bWJlciB9O1xuICAgIC8qKiBPcHRpb25hbDsgVGhlIGBjZWxsSURgIGlzIHRoZSB1bmlxdWUga2V5LCB1c2VkIHRvIGlkZW50aWZ5IHRoZSBjZWxsICovXG4gICAgY2VsbElEPzogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsOyBBbiBvYmplY3QgcmVwcmVzZW50aW5nIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIHRoZSBjZWxsLlxuICAgICAqIFdoZXRoZXIgaXQncyB2YWxpZCBvciBpbnZhbGlkLCBhbmQgaWYgaXQgaGFzIGVycm9yc1xuICAgICAqL1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBJR3JpZFZhbGlkYXRpb25TdGF0ZTtcbiAgICByZWFkb25seT86IGJvb2xlYW47XG4gICAgLyoqIEFuIG9wdGlvbmFsIHRpdGxlIHRvIGRpc3BsYXkgZm9yIHRoZSBjZWxsICovXG4gICAgdGl0bGU/OiBhbnk7XG4gICAgLyoqIFRoZSBDU1Mgd2lkdGggb2YgdGhlIGNlbGwgYXMgYSBzdHJpbmcuICovXG4gICAgd2lkdGg6IHN0cmluZztcbiAgICAvKiogVGhlIGluZGV4IG9mIHRoZSBjb2x1bW4gdGhhdCB0aGUgY2VsbCBiZWxvbmdzIHRvLiBJdCBjb3VudHMgb25seSB0aGUgdmlzaWJsZSAobm90IGhpZGRlbikgY29sdW1ucyAqL1xuICAgIHZpc2libGVDb2x1bW5JbmRleD86IG51bWJlcjtcbiAgICAvKiogQSBtZXRob2QgZGVmaW5pdGlvbiB0byB1cGRhdGUgdGhlIHZhbHVlIG9mIHRoZSBjZWxsLiAqL1xuICAgIHVwZGF0ZTogKHZhbHVlOiBhbnkpID0+IHZvaWQ7XG4gICAgLyoqIEEgbWV0aG9kIGRlZmluaXRpb24gdG8gc3RhcnQgb3IgZW5kIHRoZSBlZGl0IG1vZGUgb2YgdGhlIGNlbGwuIEl0IHRha2VzIGEgYm9vbGVhbiB2YWx1ZSBhcyBhbiBhcmd1bWVudCovXG4gICAgc2V0RWRpdE1vZGU/KHZhbHVlOiBib29sZWFuKTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbDtcbiAgICAgKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB0byBmaXQgdGhlIGNvbnRlbnRcbiAgICAgKiBUaGUgbWV0aG9kIGNhbiBiZSB1c2VkIHRvIGNhbGN1bGF0ZSB0aGUgc2l6ZSBvZiB0aGUgY2VsbCB3aXRoIHRoZSBsb25nZXN0IGNvbnRlbnQgYW5kIHJlc2l6ZSBhbGwgY2VsbHMgdG8gdGhhdCBzaXplXG4gICAgICovXG4gICAgY2FsY3VsYXRlU2l6ZVRvRml0PyhyYW5nZTogYW55KTogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gYWN0aXZhdGUgdGhlIGNlbGwuXG4gICAgICogSXQgdGFrZXMgYSBmb2N1cyBvciBrZXlib2FyZCBldmVudCBhcyBhbiBhcmd1bWVudFxuICAgICAqL1xuICAgIGFjdGl2YXRlPyhldmVudDogRm9jdXNFdmVudCB8IEtleWJvYXJkRXZlbnQpOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGRvdWJsZS1jbGljayBldmVudHMgb24gdGhlIGNlbGxcbiAgICAgKiBJdCB0YWtlcyBhIG1vdXNlIGV2ZW50IGFzIGFuIGFyZ3VtZW50XG4gICAgICovXG4gICAgb25Eb3VibGVDbGljaz8oZXZlbnQ6IE1vdXNlRXZlbnQpOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGNsaWNrIGV2ZW50cyBvbiB0aGUgY2VsbFxuICAgICAqIEl0IHRha2VzIGEgbW91c2UgZXZlbnQgYXMgYW4gYXJndW1lbnRcbiAgICAgKi9cbiAgICBvbkNsaWNrPyhldmVudDogTW91c2VFdmVudCk6IHZvaWQ7XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyBhIGhlYWRlciBjZWxsIGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgaGVhZGVyIGNlbGwgb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcywgcmVsZXZhbnQgdG8gdGhlIGhlYWRlclxuICovXG5leHBvcnQgaW50ZXJmYWNlIEhlYWRlclR5cGUge1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBuYXRpdmUgSFRNTCBlbGVtZW50IG9mIHRoZSBjZWxsIGl0c2VsZiAqL1xuICAgIG5hdGl2ZUVsZW1lbnQ6IEhUTUxFbGVtZW50O1xuICAgIC8qKiBUaGUgY29sdW1uIHRoYXQgdGhlIGhlYWRlciBjZWxsIHJlcHJlc2VudHMuICovXG4gICAgY29sdW1uOiBDb2x1bW5UeXBlO1xuICAgIGRlbnNpdHk6IERpc3BsYXlEZW5zaXR5O1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY29sdW1uIGlzIGN1cnJlbnRseSBzb3J0ZWQuICovXG4gICAgc29ydGVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBjYW4gYmUgc2VsZWN0ZWQgKi9cbiAgICBzZWxlY3RhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY2VsbCBpcyBjdXJyZW50bHkgc2VsZWN0ZWQgKi9cbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGNvbHVtbiBoZWFkZXIgaXMgYSB0aXRsZSBjZWxsLiAqL1xuICAgIHRpdGxlOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBzb3J0aW5nIGRpcmVjdGlvbiBvZiB0aGUgY29sdW1uIChhc2NlbmRpbmcsIGRlc2NlbmRpbmcgb3Igbm9uZSkuICovXG4gICAgc29ydERpcmVjdGlvbjogU29ydGluZ0RpcmVjdGlvbjtcbn1cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIGEgcm93IGluIHRoZSBncmlkLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgcm93IG9iamVjdC5cbiAqIENvbnRhaW5zIGRlZmluaXRpb25zIG9mIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMsIHJlbGV2YW50IHRvIGEgcm93XG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUm93VHlwZSB7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIG5hdGl2ZSBIVE1MIGVsZW1lbnQgb2YgdGhlIHJvdyBpdHNlbGYgKi9cbiAgICBuYXRpdmVFbGVtZW50PzogSFRNTEVsZW1lbnQ7XG4gICAgLyoqIFRoZSBpbmRleCBvZiB0aGUgcm93IHdpdGhpbiB0aGUgZ3JpZCAqL1xuICAgIGluZGV4OiBudW1iZXI7XG4gICAgdmlld0luZGV4OiBudW1iZXI7XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb3cgaXMgZ3JvdXBlZC4gKi9cbiAgICBpc0dyb3VwQnlSb3c/OiBib29sZWFuO1xuICAgIGlzU3VtbWFyeVJvdz86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1hcCBvZiBjb2x1bW4gZmllbGQgbmFtZXMgdG8gdGhlIHN1bW1hcnkgcmVzdWx0cyBmb3IgdGhlIHJvdy5cbiAgICAgKi9cbiAgICBzdW1tYXJpZXM/OiBNYXA8c3RyaW5nLCBJZ3hTdW1tYXJ5UmVzdWx0W10+O1xuICAgIGdyb3VwUm93PzogSUdyb3VwQnlSZWNvcmQ7XG4gICAga2V5PzogYW55O1xuICAgIHJlYWRvbmx5IHZhbGlkYXRpb24/OiBJR3JpZFZhbGlkYXRpb25TdGF0ZTtcbiAgICBkYXRhPzogYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBsaXN0IG9yIGFuIGFycmF5IG9mIGNlbGxzLCB0aGF0IGJlbG9uZyB0byB0aGUgcm93XG4gICAgICovXG4gICAgY2VsbHM/OiBRdWVyeUxpc3Q8Q2VsbFR5cGU+IHwgQ2VsbFR5cGVbXTtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW50IHJvdyBpcyBkaXNhYmxlZFxuICAgICAqL1xuICAgIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFZpcnR1YWxpemF0aW9uIHN0YXRlIG9mIGRhdGEgcmVjb3JkIGFkZGVkIGZyb20gY2FjaGVcbiAgICAgKi9cbiAgICB2aXJ0RGlyUm93PzogSWd4R3JpZEZvck9mRGlyZWN0aXZlPENvbHVtblR5cGUsIENvbHVtblR5cGVbXT47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaXMgcGlubmVkLlxuICAgICAqL1xuICAgIHBpbm5lZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaXMgc2VsZWN0ZWRcbiAgICAgKi9cbiAgICBzZWxlY3RlZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaXMgZXhwYW5kZWQuXG4gICAgICogVGhlIHZhbHVlIGlzIHRydWUsIGlmIHRoZSByb3cgaXMgZXhwYW5kZWQgYW5kIGZhbHNlLCBpZiBpdCBpcyBjb2xsYXBzZWRcbiAgICAgKi9cbiAgICBleHBhbmRlZD86IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgcm93IGlzIG1hcmtlZCBmb3IgZGVsZXRpb24uXG4gICAgICovXG4gICAgZGVsZXRlZD86IGJvb2xlYW47XG4gICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHJvdyBpcyBjdXJyZW50bHkgYmVpbmcgZWRpdGVkLlxuICAgICAqL1xuICAgIGluRWRpdE1vZGU/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQ29udGFpbnMgdGhlIGNoaWxkIHJvd3Mgb2YgdGhlIGN1cnJlbnQgcm93LCBpZiB0aGVyZSBhcmUgYW55LlxuICAgICAqL1xuICAgIGNoaWxkcmVuPzogUm93VHlwZVtdO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQ29udGFpbnMgdGhlIHBhcmVudCByb3cgb2YgdGhlIGN1cnJlbnQgcm93LCBpZiBpdCBoYXMgb25lLlxuICAgICAqIElmIHRoZSBwYXJlbnQgcm93IGV4aXN0LCBpdCBtZWFucyB0aGF0IHRoZSBjdXJyZW50IHJvdyBpcyBhIGNoaWxkIHJvd1xuICAgICAqL1xuICAgIHBhcmVudD86IFJvd1R5cGU7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgY3VycmVudCByb3cgaGFzIGFueSBjaGlsZCByb3dzXG4gICAgICovXG4gICAgaGFzQ2hpbGRyZW4/OiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgaGllcmFyY2hpY2FsIHJlY29yZCBhc3NvY2lhdGVkIHdpdGggdGhlIHJvdyAoZm9yIHRyZWUgZ3JpZHMpLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgSVRyZWVHcmlkUmVjb3JkLCB3aGljaCBjb250YWlucyB0aGUgZGF0YSwgY2hpbGRyZW4sIHRoZSBoaWVyYXJjaGljYWwgbGV2ZWwsIGV0Yy5cbiAgICAgKi9cbiAgICB0cmVlUm93PzogSVRyZWVHcmlkUmVjb3JkO1xuICAgIGFkZFJvd1VJPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIHRoZSByb3cgaXMgY3VycmVudGx5IGZvY3VzZWQuXG4gICAgICovXG4gICAgZm9jdXNlZD86IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudCB0aGUgZ3JpZCBpbnN0YW5jZSwgdGhlIHJvdyBiZWxvbmdzIHRvICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgb25Sb3dTZWxlY3RvckNsaWNrPzogKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIGNsaWNrIGV2ZW50IG9uIHRoZSByb3dcbiAgICAgKiBJdCB0YWtlcyBhIGBNb3VzZUV2ZW50YCBhcyBhbiBhcmd1bWVudFxuICAgICAqL1xuICAgIG9uQ2xpY2s/OiAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHZvaWQ7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBBIG1ldGhvZCB0byBoYW5kbGUgYWRkaW5nIGEgbmV3IHJvd1xuICAgICAqL1xuICAgIGJlZ2luQWRkUm93PzogKCkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBjaGFuZ2luZyB0aGUgdmFsdWUgb2YgZWxlbWVudHMgb2YgdGhlIHJvd1xuICAgICAqIEl0IHRha2VzIHRoZSBuZXcgdmFsdWUgYXMgYW4gYXJndW1lbnRcbiAgICAgKi9cbiAgICB1cGRhdGU/OiAodmFsdWU6IGFueSkgPT4gdm9pZDtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEEgbWV0aG9kIHRvIGhhbmRsZSBkZWxldGluZyByb3dzXG4gICAgICovXG4gICAgZGVsZXRlPzogKCkgPT4gYW55O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIHBpbm5pbmcgYSByb3dcbiAgICAgKi9cbiAgICBwaW4/OiAoKSA9PiB2b2lkO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogQSBtZXRob2QgdG8gaGFuZGxlIHVucGlubmluZyBhIHJvdywgdGhhdCBoYXMgYmVlbiBwaW5uZWRcbiAgICAgKi9cbiAgICB1bnBpbj86ICgpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRUeXBlIHtcbiAgICBsYWJlbD86IHN0cmluZztcbiAgICBmaWVsZDogc3RyaW5nO1xuICAgIGhlYWRlcj86IHN0cmluZztcbiAgICBkYXRhVHlwZTogRGF0YVR5cGU7XG4gICAgZmlsdGVyczogSWd4RmlsdGVyaW5nT3BlcmFuZDtcbiAgICBwaXBlQXJnczogSUZpZWxkUGlwZUFyZ3M7XG4gICAgZGVmYXVsdFRpbWVGb3JtYXQ6IHN0cmluZztcbiAgICBkZWZhdWx0RGF0ZVRpbWVGb3JtYXQ6IHN0cmluZztcblxuICAgIGZvcm1hdHRlcih2YWx1ZTogYW55LCByb3dEYXRhPzogYW55KTogYW55O1xufVxuXG4vKipcbiAqIFJlcHJlc2VudHMgYSBjb2x1bW4gaW4gdGhlIGBHcmlkVHlwZWAuIEl0IGlzIGVzc2VudGlhbGx5IHRoZSBibHVlcHJpbnQgdG8gYSBjb2x1bW4gb2JqZWN0LlxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBjb2x1bW5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDb2x1bW5UeXBlIGV4dGVuZHMgRmllbGRUeXBlIHtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgaW5zdGFuY2Ugb2YgdGhlIHBhcmVudCBgR3JpZFR5cGVgIHRoYXQgY29udGFpbnMgdGhpcyBjb2x1bW4uICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgLyoqIEEgbGlzdCwgY29udGFpbmluZyBhbGwgdGhlIGNoaWxkIGNvbHVtbnMgdW5kZXIgdGhpcyBjb2x1bW4gKGlmIGFueSkuICovXG4gICAgY2hpbGRyZW46IFF1ZXJ5TGlzdDxDb2x1bW5UeXBlPjtcbiAgICAvKiogQW4gYXJyYXksIGNvbnRhaW5pbmcgYWxsIHRoZSBjaGlsZCBjb2x1bW5zLCBpbmNsdWRpbmcgbmVzdGVkIGNoaWxkcmVuLiAqL1xuICAgIGFsbENoaWxkcmVuOiBDb2x1bW5UeXBlW107XG4gICAgLyoqXG4gICAgICogVGhlIGhlYWRlciBncm91cCBjb21wb25lbnQgYXNzb2NpYXRlZCB3aXRoIHRoaXMgY29sdW1uLlxuICAgICAqIENvdWxkIGJlIG9mIGFueSB0eXBlXG4gICAgKi9cbiAgICAvLyBUWVBFXG4gICAgaGVhZGVyR3JvdXA6IGFueTtcbiAgICAvKipcbiAgICAgKiBUaGUgaGVhZGVyIGNlbGwgY29tcG9uZW50IGFzc29jaWF0ZWQgd2l0aCB0aGlzIGNvbHVtbi5cbiAgICAgKiBDb3VsZCBiZSBvZiBhbnkgdHlwZVxuICAgICAqL1xuICAgIC8vIFRZUEVcbiAgICBoZWFkZXJDZWxsOiBhbnk7XG4gICAgdmFsaWRhdG9yczogYW55W107XG5cbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciB0aGUgY3VzdG9tIGhlYWRlciBvZiB0aGUgY29sdW1uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRlclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSBjb2xsYXBzaWJsZSBpbmRpY2F0b3Igb2YgdGhlIGNvbHVtbi5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgY29sbGFwc2libGVJbmRpY2F0b3JUZW1wbGF0ZT86IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBjbGFzc2VzIGFwcGxpZWQgdG8gdGhlIGhlYWRlciBlbGVtZW50LiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJDbGFzc2VzOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGVsZW1lbnQuIFdoZW4gYWRkZWQsIHRoZXkgdGFrZSBkaWZmZXJlbnQgc3R5bGluZyAqL1xuICAgIGhlYWRlclN0eWxlczogYW55O1xuICAgICAvKiogUmVwcmVzZW50cyBjdXN0b20gQ1NTIGNsYXNzZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cENsYXNzZXM6IGFueTtcbiAgICAgLyoqIFJlcHJlc2VudHMgY3VzdG9tIENTUyBzdHlsZXMgYXBwbGllZCB0byB0aGUgaGVhZGVyIGdyb3VwLiBXaGVuIGFkZGVkLCB0aGV5IHRha2UgZGlmZmVyZW50IHN0eWxpbmcgKi9cbiAgICBoZWFkZXJHcm91cFN0eWxlczogYW55O1xuXG4gICAgLyoqXG4gICAgICogQ3VzdG9tIENTUyBzdHlsaW5nLCBhcHBsaWVkIHRvIGV2ZXJ5IGNvbHVtblxuICAgICAqIGNhbGNXaWR0aCwgbWluV2lkdGhQeCwgbWF4V2lkdGhQeCwgbWluV2lkdGgsIG1heFdpZHRoLCBtaW5XaWR0aFBlcmNlbnQsIG1heFdpZHRoUGVyY2VudCwgcmVzb2x2ZWRXaWR0aFxuICAgICAqL1xuICAgIGNhbGNXaWR0aDogYW55O1xuICAgIG1pbldpZHRoUHg6IG51bWJlcjtcbiAgICBtYXhXaWR0aFB4OiBudW1iZXI7XG4gICAgbWluV2lkdGg6IHN0cmluZztcbiAgICBtYXhXaWR0aDogc3RyaW5nO1xuICAgIG1pbldpZHRoUGVyY2VudDogbnVtYmVyO1xuICAgIG1heFdpZHRoUGVyY2VudDogbnVtYmVyO1xuICAgIHJlc29sdmVkV2lkdGg6IHN0cmluZztcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogUmVwcmVzZW50cyB0aGUgaGVhZGVyIHRleHQgb2YgdGhlIGNvbHVtblxuICAgICAqL1xuICAgIGhlYWRlcj86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBUaGUgaW5kZXggb2YgdGhlIGNvbHVtbiB3aXRoaW4gdGhlIGdyaWQuXG4gICAgICogSW5jbHVkZXMgdGhlIGhpZGRlbiBjb2x1bW5zIHdoZW4gY291bnRpbmdcbiAgICAgKi9cbiAgICBpbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgdGhlIHR5cGUgb2YgZGF0YSBmb3IgdGhlIGNvbHVtbjpcbiAgICAgKiBzdHJpbmcsIG51bWJlciwgYm9vbGVhbiwgY3VycmVuY3ksIGRhdGUsIHRpbWUsIGV0Yy5cbiAgICAgKi9cbiAgICBkYXRhVHlwZTogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSByZWZlcmVuY2UgZm9yIHRoZSBjdXN0b20gaW5saW5lIGVkaXRvciBvZiB0aGUgY29sdW1uXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGlubGluZUVkaXRvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIFRoZSBpbmRleCBvZiB0aGUgY29sdW1uIHdpdGhpbiB0aGUgZ3JpZC5cbiAgICAgKiBEb2VzIG5vdCBpbmNsdWRlIHRoZSBoaWRkZW4gY29sdW1ucyB3aGVuIGNvdW50aW5nXG4gICAgICovXG4gICAgdmlzaWJsZUluZGV4OiBudW1iZXI7XG4gICAgLyoqIE9wdGlvbmFsXG4gICAgICogSW5kaWNhdGVkIHdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgY29sbGFwc2VkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgY29sbGFwc2VkXG4gICAgICogSXQgaXMgdXNlZCBpbiB0cmVlIGdyaWQgYW5kIGZvciBuYXZpZ2F0aW9uXG4gICAgICovXG4gICAgY29sbGFwc2libGU/OiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZWQgd2hldGhlciB0aGUgY29sdW1uIGNhbiBiZSBlZGl0ZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBlZGl0ZWQgKi9cbiAgICBlZGl0YWJsZTogYm9vbGVhbjtcbiAgICAvKiogU3BlY2lmaWVzIHdoZXRoZXIgdGhlIGNvbHVtbiBjYW4gYmUgcmVzaXplZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIHJlc2l6ZWQgKi9cbiAgICByZXNpemFibGU6IGJvb2xlYW47XG4gICAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBkYXRhIG9mIHRoZSBjb2x1bW4gY2FuIGJlIHNlYXJjaGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBkYXRhIGNhbiBiZSBzZWFyY2hlZCAqL1xuICAgIHNlYXJjaGFibGU6IGJvb2xlYW47XG4gICAgLyoqIFNwZWNpZmllcyB3aGV0aGVyIHRoZSBjb2x1bW4gYmVsb25ncyB0byBhIGdyb3VwIG9mIGNvbHVtbnMuICovXG4gICAgY29sdW1uR3JvdXA6IGJvb2xlYW47XG4gICAgLyoqIEBkZXByZWNhdGVkIGluIHZlcnNpb24gMTMuMS4wLiBVc2UgdGhlIEdyaWQncyBgbW92aW5nYCBwcm9wZXJ0eSBpbnN0ZWFkLiAqL1xuICAgIG1vdmFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGNhbiBiZSBwdXQgaW4gYSBncm91cC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2FuIGJlIHB1dCBpbiBhIGdyb3VwICovXG4gICAgZ3JvdXBhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgc29ydGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBjYW4gYmUgc29ydGVkLiAqL1xuICAgIHNvcnRhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBhIGNvbHVtbiBjYW4gYmUgZmlsdGVyZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBmaWx0ZXJlZCAqL1xuICAgIGZpbHRlcmFibGU6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGlzIGN1cnJlbnRseSBoaWRkZW4gKG5vdCB2aXNpYmxlKS4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gaXMgbm90IHZpc2libGUgKi9cbiAgICBoaWRkZW46IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIGEgY29sdW1uIGNhbiBiZSBwaW5uZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbm5vdCBiZSBwaW5uZWQgKi9cbiAgICBkaXNhYmxlUGlubmluZzogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgYSBjb2x1bW4gY2FuIGJlIGhpZGRlbi4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gY2Fubm90IGJlIGhpZGRlbiAqL1xuICAgIGRpc2FibGVIaWRpbmc6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogVGhlIHNvcnRpbmcgc3RyYXRlZ3kgdXNlZCBmb3Igc29ydGluZyB0aGlzIGNvbHVtbi5cbiAgICAgKiBUaGUgaW50ZXJmYWNlIGNvbnRhaW5zIGEgbWV0aG9kIHNvcnQgdGhhdCBzb3J0cyB0aGUgcHJvdmlkZWQgZGF0YSBiYXNlZCBvbiB0aGUgZ2l2ZW4gc29ydGluZyBleHByZXNzaW9uc1xuICAgICAqL1xuICAgIHNvcnRTdHJhdGVneTogSVNvcnRpbmdTdHJhdGVneTtcbiAgICAgLyoqXG4gICAgICogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlYXJjaCBzaG91bGQgbWF0Y2ggcmVzdWx0cywgbm8gbWF0dGVyIHRoZSBjYXNlIG9mIHRoZSBsZXR0ZXJzICh1cHBlciBhbmQgbG93ZXIpXG4gICAgICogSWYgdGhlIHZhbHVlIGlzIGZhbHNlLCB0aGUgcmVzdWx0IHdpbGwgZGVwZW5kIG9uIHRoZSBjYXNlIChleGFtcGxlOiBgRWAgd2lsbCBub3QgbWF0Y2ggYGVgKVxuICAgICAqIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgcmVzdWx0IHdpbGwgbm90IGRlcGVuZCBvbiB0aGUgY2FzZSAoZXhhbXBsZTogYEVgIHdpbGwgbWF0Y2ggYGVgKVxuICAgICAqL1xuICAgIHNvcnRpbmdJZ25vcmVDYXNlOiBib29sZWFuO1xuICAgIGZpbHRlckNlbGw6IGFueTtcbiAgICBmaWx0ZXJpbmdJZ25vcmVDYXNlOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFRoZSBmaWx0ZXJpbmcgZXhwcmVzc2lvbnMgZm9yIHRoZSBjb2x1bW4uXG4gICAgICogVGhlIHR5cGUgY29udGFpbnMgcHJvcGVydGllcyBhbmQgbWV0aG9kcyBmb3IgZmlsdGVyaW5nOiBmaWx0ZXJpbmdPcGVyYW5kcywgb3BlcmF0b3IgKGxvZ2ljKSwgZmllbGROYW1lLCBldGMuXG4gICAgICovXG4gICAgZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlOiBGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU7XG4gICAgaGFzU3VtbWFyeTogYm9vbGVhbjtcbiAgICBzdW1tYXJpZXM6IGFueTtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgcmVmZXJlbmNlIGZvciBhIHN1bW1hcnkgb2YgdGhlIGNvbHVtblxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBzdW1tYXJ5VGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG4gICAgLyoqIEluZGljYXRlcyBpZiB0aGUgY29sdW1uIGlzIGN1cnJlbnRseSBwaW5uZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGlzIHBpbm5lZCAqL1xuICAgIHBpbm5lZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IGV4cGFuZGVkIG9yIGNvbGxhcHNlZC4gSWYgdGhlIHZhbHVlIGlzIHRydWUsIHRoZSBjb2x1bW4gaXMgZXhwYW5kZWQgKi9cbiAgICBleHBhbmRlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gaXMgY3VycmVudGx5IHNlbGVjdGVkLiBJZiB0aGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIGNvbHVtbiBpcyBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGVkOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgaWYgdGhlIGNvbHVtbiBjYW4gYmUgc2VsZWN0ZWQuIElmIHRoZSB2YWx1ZSBpcyB0cnVlLCB0aGUgY29sdW1uIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIHNlbGVjdGFibGU6IGJvb2xlYW47XG4gICAgY29sdW1uTGF5b3V0OiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBoaWVyYXJjaGljYWwgbGV2ZWwgb2YgdGhlIGNvbHVtbiBpbiB0aGUgY29sdW1uIGxheW91dCAqL1xuICAgIGxldmVsOiBudW1iZXI7XG4gICAgcm93U3RhcnQ6IG51bWJlcjtcbiAgICByb3dFbmQ6IG51bWJlcjtcbiAgICBjb2xTdGFydDogbnVtYmVyO1xuICAgIGNvbEVuZDogbnVtYmVyO1xuICAgIGdyaWRSb3dTcGFuOiBudW1iZXI7XG4gICAgZ3JpZENvbHVtblNwYW46IG51bWJlcjtcbiAgICBjb2x1bW5MYXlvdXRDaGlsZDogYm9vbGVhbjtcbiAgICB3aWR0aDogc3RyaW5nO1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHJvb3QgcGFyZW50IG9mIHRoaXMgY29sdW1uIChpZiBhbnkpLlxuICAgICAqIElmIHRoZXJlIGlzIG5vIHJvb3QgcGFyZW50LCB0aGF0IG1lYW5zIHRoZSBjdXJyZW50IGNvbHVtbiBpcyB0aGUgcm9vdCBwYXJlbnRcbiAgICAgKi9cbiAgICB0b3BMZXZlbFBhcmVudD86IENvbHVtblR5cGU7XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgaW1tZWRpYXRlIHBhcmVudCAocmlnaHQgYWJvdmUpIGNvbHVtbiBvZiB0aGlzIGNvbHVtbiAoaWYgYW55KS5cbiAgICAgKiBJZiB0aGVyZSBpcyBubyBwYXJlbnQsIHRoYXQgbWVhbnMgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHRoZSByb290IHBhcmVudFxuICAgICAqL1xuICAgIHBhcmVudD86IENvbHVtblR5cGU7XG4gICAgcGlwZUFyZ3M6IElDb2x1bW5QaXBlQXJncztcbiAgICBoYXNOZXN0ZWRQYXRoOiBib29sZWFuO1xuICAgIGFkZGl0aW9uYWxUZW1wbGF0ZUNvbnRleHQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGN1cnJlbnQgY29sdW1uIGlzIHRoZSBsYXN0IHRvIGJlIHBpbm5lZC5cbiAgICAgKiBJZiB0aGUgdmFsdWUgaXMgZmFsc2UsIHRoZXJlIGFyZSBjb2x1bW5zLCB0aGF0IGhhdmUgYmVlbiBwaW5uZWQgYWZ0ZXIgdGhlIGN1cnJlbnQgKi9cbiAgICBpc0xhc3RQaW5uZWQ6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW50IGNvbHVtbiBpcyB0aGUgZmlyc3QgZm9yIHRoZSBncmlkIHRvIGJlIHBpbm5lZC5cbiAgICAgKiBJZiB0aGUgdmFsdWUgaXMgZmFsc2UsIHRoZXJlIGFyZSBjb2x1bW5zLCB0aGF0IGhhdmUgYmVlbiBwaW5uZWQgYmVmb3JlIHRoZSBjdXJyZW50ICovXG4gICAgaXNGaXJzdFBpbm5lZDogYm9vbGVhbjtcbiAgICBhcHBseVNlbGVjdGFibGVDbGFzczogYm9vbGVhbjtcbiAgICAvKiogVGhlIHRpdGxlIG9mIHRoZSBjb2x1bW4sIHVzZWQgZm9yIGFjY2Vzc2liaWxpdHkgcHVycG9zZXMgKi9cbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIHdpdGggY3VzdG9tIGdyb3VwaW5nIGNvbXBhcmF0b3IgdG8gZGV0ZXJtaW5lIHRoZSBtZW1iZXJzIG9mIHRoZSBncm91cC4gKi9cbiAgICBncm91cGluZ0NvbXBhcmVyOiAoYTogYW55LCBiOiBhbnkpID0+IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBjdXN0b20gdGVtcGxhdGUgZm9yIGZpbHRlcmluZ1xuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBmaWx0ZXJDZWxsVGVtcGxhdGU6IFRlbXBsYXRlUmVmPGFueT47XG5cbiAgICAvKipcbiAgICAgKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIG1vdmUgdGhlIGNvbHVtbiB0byB0aGUgc3BlY2lmaWVkIGluZGV4LlxuICAgICAqIEl0IHRha2VzIHRoZSBpbmRleCBvZiB0eXBlIG51bWJlciBhcyBhIHBhcmFtZXRlclxuICAgICovXG4gICAgbW92ZShpbmRleDogbnVtYmVyKTogdm9pZDtcbiAgICAvKiogQSBtZXRob2QgZGVmaW5pdGlvbiB0byByZXRyaWV2ZSB0aGUgc2V0IENTUyBzaXplICovXG4gICAgZ2V0QXV0b1NpemUoKTogc3RyaW5nO1xuICAgIGdldFJlc2l6YWJsZUNvbFVuZGVyRW5kKCk6IE1STFJlc2l6ZUNvbHVtbkluZm9bXTtcbiAgICAvKiogQSBtZXRob2QgZGVmaW5pdGlvbiB0byByZXRyaWV2ZSB0aGUgc2V0IENTUyB3aWR0aCBvZiB0aGUgY2VsbHMgdW5kZXIgdGhlIGNvbHVtbiAqL1xuICAgIGdldENlbGxXaWR0aCgpOiBzdHJpbmc7XG4gICAgZ2V0R3JpZFRlbXBsYXRlKGlzUm93OiBib29sZWFuKTogc3RyaW5nO1xuICAgIC8qKiBBIG1ldGhvZCBkZWZpbml0aW9uIHRvIHRvZ2dsZSBjb2x1bW4gdmlzaWJpbGl0eSAoaGlkZGVuIG9yIHZpc2libGUpICovXG4gICAgdG9nZ2xlVmlzaWJpbGl0eSh2YWx1ZT86IGJvb2xlYW4pOiB2b2lkO1xuICAgIHBvcHVsYXRlVmlzaWJsZUluZGV4ZXM/KCk6IHZvaWQ7XG4gICAgLyoqIFBpbnMgdGhlIGNvbHVtbiBhdCB0aGUgc3BlY2lmaWVkIGluZGV4IChpZiBub3QgYWxyZWFkeSBwaW5uZWQpLiAqL1xuICAgIHBpbihpbmRleD86IG51bWJlcik6IGJvb2xlYW47XG4gICAgLyoqIFVucGlucyB0aGUgY29sdW1uIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXggKGlmIG5vdCBhbHJlYWR5IHVucGlubmVkKS4gKi9cbiAgICB1bnBpbihpbmRleD86IG51bWJlcik6IGJvb2xlYW47XG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgZXZlbnQgYXJndW1lbnRzIHdoZW4gYSBmb3JtIGdyb3VwIGlzIGNyZWF0ZWQgaW4gdGhlIGdyaWQuXG4gKiAtIGZvcm1Hcm91cDogVGhlIGZvcm0gZ3JvdXAgdGhhdCBpcyBjcmVhdGVkLlxuICogLSBvd25lcjogVGhlIGdyaWQgaW5zdGFuY2UgdGhhdCBvd25zIHRoZSBmb3JtIGdyb3VwLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElHcmlkRm9ybUdyb3VwQ3JlYXRlZEV2ZW50QXJncyB7XG4gICAgZm9ybUdyb3VwOiBGb3JtR3JvdXAsXG4gICAgb3duZXI6IEdyaWRUeXBlXG59XG5cbi8qKlxuICogSW50ZXJmYWNlIHJlcHJlc2VudGluZyB0aGUgZXZlbnQgYXJndW1lbnRzIGZvciB0aGUgZ3JpZCB2YWxpZGF0aW9uIHN0YXR1cyBjaGFuZ2UgZXZlbnQuXG4gKiAtIHN0YXR1czogVGhlIHZhbGlkYXRpb24gc3RhdHVzICgnVkFMSUQnIG9yICdJTlZBTElEJykuXG4gKiAtIG93bmVyOiBUaGUgZ3JpZCBpbnN0YW5jZSB0aGF0IG93bnMgdGhlIHZhbGlkYXRpb24gc3RhdGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRWYWxpZGF0aW9uU3RhdHVzRXZlbnRBcmdzIHtcbiAgICBzdGF0dXM6IFZhbGlkYXRpb25TdGF0dXMsXG4gICAgb3duZXI6IEdyaWRUeXBlXG59XG5cbi8qKlxuICogVHlwZSByZXByZXNlbnRpbmcgdGhlIHZhbGlkYXRpb24gc3RhdHVzLlxuICogLSAnVkFMSUQnOiBUaGUgdmFsaWRhdGlvbiBzdGF0dXMgaXMgdmFsaWQuXG4gKiAtICdJTlZBTElEJzogVGhlIHZhbGlkYXRpb24gc3RhdHVzIGlzIGludmFsaWQuXG4gKi9cbmV4cG9ydCB0eXBlIFZhbGlkYXRpb25TdGF0dXMgPSAnVkFMSUQnIHwgJ0lOVkFMSUQnO1xuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIHZhbGlkYXRpb24gc3RhdGUgb2YgYSBncmlkLlxuICogLSBzdGF0dXM6IFRoZSB2YWxpZGF0aW9uIHN0YXR1cyAoJ1ZBTElEJyBvciAnSU5WQUxJRCcpLlxuICogLSBlcnJvcnM6IFRoZSB2YWxpZGF0aW9uIGVycm9ycyBpZiBhbnkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUdyaWRWYWxpZGF0aW9uU3RhdGUge1xuICAgIHJlYWRvbmx5IHN0YXR1czogVmFsaWRhdGlvblN0YXR1cztcbiAgICByZWFkb25seSBlcnJvcnM/OiBWYWxpZGF0aW9uRXJyb3JzO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIHZhbGlkYXRpb24gc3RhdGUgb2YgYSByZWNvcmQgaW4gdGhlIGdyaWQuXG4gKiAtIGBrZXlgOiBUaGUgdW5pcXVlIGlkZW50aWZpZXIgb2YgdGhlIHJlY29yZC5cbiAqIC0gYGZpZWxkc2A6IEFuIGFycmF5IG9mIHRoZSB2YWxpZGF0aW9uIHN0YXRlIG9mIGluZGl2aWR1YWwgZmllbGRzIGluIHRoZSByZWNvcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlY29yZFZhbGlkYXRpb25TdGF0ZSBleHRlbmRzIElHcmlkVmFsaWRhdGlvblN0YXRlIHtcbiAgICBrZXk6IGFueTtcbiAgICBmaWVsZHM6IElGaWVsZFZhbGlkYXRpb25TdGF0ZVtdO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSByZXByZXNlbnRpbmcgdGhlIHZhbGlkYXRpb24gc3RhdGUgb2YgYSBmaWVsZCBpbiB0aGUgZ3JpZC5cbiAqIC1gZmllbGRgOiBUaGUgbmFtZSBvZiB0aGUgZmllbGQgKHByb3BlcnR5KSBiZWluZyB2YWxpZGF0ZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUZpZWxkVmFsaWRhdGlvblN0YXRlIGV4dGVuZHMgSUdyaWRWYWxpZGF0aW9uU3RhdGUge1xuICAgIGZpZWxkOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBSZXByZXNlbnRzIHRoZSBzZXJ2aWNlIGludGVyZmFjZSBmb3IgaW50ZXJhY3Rpbmcgd2l0aCB0aGUgZ3JpZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHcmlkU2VydmljZVR5cGUge1xuXG4gICAgLyoqIFRoZSByZWZlcmVuY2UgdG8gdGhlIHBhcmVudCBgR3JpZFR5cGVgIHRoYXQgY29udGFpbnMgdGhlIHNlcnZpY2UuICovXG4gICAgZ3JpZDogR3JpZFR5cGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHR5cGUgb2YgdGhlIENSVUQgc2VydmljZSAoQ3JlYXRlLCBSZWFkLCBVcGRhdGUsIERlbGV0ZSkgb3BlcmF0aW9ucyBvbiB0aGUgZ3JpZCBkYXRhLiAqL1xuICAgIGNydWRTZXJ2aWNlOiBhbnk7XG4gICAgLyoqIEEgc2VydmljZSByZXNwb25zaWJsZSBmb3IgaGFuZGxpbmcgY29sdW1uIG1vdmluZyB3aXRoaW4gdGhlIGdyaWQuIEl0IGNvbnRhaW5zIGEgcmVmZXJlbmNlIHRvIHRoZSBjb2x1bW4sIGl0cyBpY29uLCBhbmQgaW5kaWNhdG9yIGZvciBjYW5jZWxhdGlvbi4gKi9cbiAgICBjbXM6IElneENvbHVtbk1vdmluZ1NlcnZpY2U7XG5cbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgZGF0YSB1c2VkIGluIHRoZSBncmlkLiBUaGUgcmV0dXJuZWQgdmFsdWVzIGNvdWxkIGJlIG9mIGFueSB0eXBlICovXG4gICAgZ2V0X2RhdGEoKTogYW55W107XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyBhbGwgdGhlIGRhdGEgYXZhaWxhYmxlIGluIHRoZSBncmlkLCBpbmNsdWRpbmcgYW55IHRyYW5zYWN0aW9uYWwgZGF0YS5cbiAgICAgKiBgaW5jbHVkZVRyYW5zYWN0aW9uc2A6IE9wdGlvbmFsIHBhcmFtZXRlci4gU3BlY2lmaWVzIHdoZXRoZXIgdG8gaW5jbHVkZSB0cmFuc2FjdGlvbmFsIGRhdGEgaWYgcHJlc2VudC5cbiAgICAgKiBSZXR1cm5zIGFuIGFycmF5IGNvbnRhaW5pbmcgYWxsIHRoZSBkYXRhIGF2YWlsYWJsZSBpbiB0aGUgZ3JpZC5cbiAgICAgKi9cbiAgICBnZXRfYWxsX2RhdGEoaW5jbHVkZVRyYW5zYWN0aW9ucz86IGJvb2xlYW4pOiBhbnlbXTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyBhIGNvbHVtbiBvYmplY3QgYnkgaXRzIG5hbWUsIHRha2VuIGFzIGEgcGFyYW1ldGVyLiAqL1xuICAgIGdldF9jb2x1bW5fYnlfbmFtZShuYW1lOiBzdHJpbmcpOiBDb2x1bW5UeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIHJvdyBieSBpdHMgdW5pcXVlIGlkZW50aWZpZXIgKG9mIGFueSB0eXBlLCB0YWtlbiBhcyBhIHBhcmFtZXRlcikuICovXG4gICAgZ2V0Um93RGF0YShpZDogYW55KTogYW55O1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSBkYXRhIGFzc29jaWF0ZWQgd2l0aCBhIHNwZWNpZmljIHJlY29yZCBieSBpdHMgdW5pcXVlIGlkZW50aWZpZXIgKG9mIGFueSB0eXBlLCB0YWtlbiBhcyBhIHBhcmFtZXRlcikuICovXG4gICAgZ2V0X3JlY19ieV9pZChpZDogYW55KTogYW55O1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiBhIHNwZWNpZmljIHJvdyBieSBpdHMgZGF0YS4gKi9cbiAgICBnZXRfcm93X2lkKHJvd0RhdGE6IGFueSk6IGFueTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgcm93IG9iamVjdCBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyBpbmRleCAodGFrZW4gYXMgYSBwYXJhbWV0ZXIpIGluIHRoZSBncmlkICovXG4gICAgZ2V0X3Jvd19ieV9pbmRleChyb3dTZWxlY3RvcjogYW55KTogUm93VHlwZTtcbiAgICAvKiogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3IgcmV0cmlldmluZyB0aGUgcm93IG9iamVjdCBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyBrZXkgKHRha2VuIGFzIGEgcGFyYW1ldGVyKSBpbiB0aGUgZ3JpZCAqL1xuICAgIGdldF9yb3dfYnlfa2V5KHJvd1NlbGVjdG9yOiBhbnkpOiBSb3dUeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSBpbmRleCBvZiBhIHJlY29yZCBpbiB0aGUgZ3JpZCdzIGRhdGEgY29sbGVjdGlvbiB1c2luZyBpdHMgdW5pcXVlIGlkZW50aWZpZXIuICovXG4gICAgZ2V0X3JlY19pbmRleF9ieV9pZChwazogc3RyaW5nIHwgbnVtYmVyLCBkYXRhQ29sbGVjdGlvbj86IGFueVtdKTogbnVtYmVyO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSBpbmRleCBvZiBhIHJlY29yZCBpbiB0aGUgZ3JpZCdzIGRhdGEgY29sbGVjdGlvbiB1c2luZyBpdHMgaW5kZXguICovXG4gICAgZ2V0X3JlY19pZF9ieV9pbmRleChpbmRleDogbnVtYmVyLCBkYXRhQ29sbGVjdGlvbj86IGFueVtdKTogYW55O1xuICAgIGdldF9yb3dfaW5kZXhfaW5fZGF0YShyb3dJRDogYW55LCBkYXRhQ29sbGVjdGlvbj86IGFueVtdKTogbnVtYmVyO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSBjZWxsIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByb3cgYW5kIGNvbHVtbiBpbiB0aGUgZ3JpZC4gKi9cbiAgICBnZXRfY2VsbF9ieV9rZXkocm93U2VsZWN0b3I6IGFueSwgZmllbGQ6IHN0cmluZyk6IENlbGxUeXBlO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSBjZWxsIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByb3cgYW5kIGNvbHVtbiB1c2luZyB0aGVpciBpbmRleGVzLiAqL1xuICAgIGdldF9jZWxsX2J5X2luZGV4KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbklEOiBudW1iZXIgfCBzdHJpbmcpOiBDZWxsVHlwZTtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSBjZWxsIG9iamVjdCBhc3NvY2lhdGVkIHdpdGggYSBzcGVjaWZpYyByb3cgYW5kIGNvbHVtbiB1c2luZyB0aGVpciBpbmRleGVzLlxuICAgICAqIEl0IGNvdW50cyBvbmx5IHRoZSBpbmRleGVzIG9mIHRoZSB2aXNpYmxlIGNvbHVtbnMgYW5kIHJvd3NcbiAgICAgKi9cbiAgICBnZXRfY2VsbF9ieV92aXNpYmxlX2luZGV4KHJvd0luZGV4OiBudW1iZXIsIGNvbHVtbkluZGV4OiBudW1iZXIpO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIHRoYXQgc2V0cyB0aGUgZXhwYW5zaW9uIHN0YXRlIG9mIGEgZ3JvdXAgcm93ICh1c2VkIGZvciB0cmVlIGdyaWRzKVxuICAgICAqIEl0IHRha2VzIHRoZSB2YWx1ZSBmb3IgdGhlIGV4cGFuc2lvbiBhcyBhIHBhcmFtZXRlciAoZXhwYW5kZWQgb3IgY29sbGFwc2VkKVxuICAgICAqL1xuICAgIHNldF9ncm91cHJvd19leHBhbnNpb25fc3RhdGU/KGdyb3VwUm93OiBJR3JvdXBCeVJlY29yZCwgdmFsdWU6IGJvb2xlYW4pOiB2b2lkO1xuICAgIHJvd19kZWxldGVkX3RyYW5zYWN0aW9uKGlkOiBhbnkpOiBib29sZWFuO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIGFkZGluZyBhIG5ldyByb3cgdG8gdGhlIGdyaWQuXG4gICAgICogSXQgdGFrZXMgdGhlIHJvdydzIGRhdGEgYW5kIHRoZSBpZGVudGlmaWVyIG9mIHRoZSBwYXJlbnQgcm93IGlmIGFwcGxpY2FibGUgKHVzZWQgZm9yIHRyZWUgZ3JpZHMpXG4gICAgICovXG4gICAgYWRkUm93VG9EYXRhKHJvd0RhdGE6IGFueSwgcGFyZW50SUQ/OiBhbnkpOiB2b2lkO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBkZWxldGluZyBhIHJvdywgc3BlY2lmaWVkIGJ5IGl0J3MgaWRlbnRpZmllciAodGFrZW4gYXMgYSBwYXJhbWV0ZXIpICovXG4gICAgZGVsZXRlUm93QnlJZChpZDogYW55KTogYW55O1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXRyaWV2aW5nIHRoZSByb3cncyBjdXJyZW50IHN0YXRlIG9mIGV4cGFuc2lvbiAodXNlZCBmb3IgdHJlZSBncmlkcykqL1xuICAgIGdldF9yb3dfZXhwYW5zaW9uX3N0YXRlKGlkOiBhbnkpOiBib29sZWFuO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBzZXR0aW5nIGEgbmV3IGV4cGFuc2lvbiBzdGF0ZS4gSXQgY2FuIGJlIHRyaWdnZXJlZCBieSBhbiBldmVudCAqL1xuICAgIHNldF9yb3dfZXhwYW5zaW9uX3N0YXRlKGlkOiBhbnksIGV4cGFuZGVkOiBib29sZWFuLCBldmVudD86IEV2ZW50KTogdm9pZDtcbiAgICBnZXRfc3VtbWFyeV9kYXRhKCk6IGFueVtdO1xuXG4gICAgcHJlcGFyZV9zb3J0aW5nX2V4cHJlc3Npb24oc3RhdGVDb2xsZWN0aW9uczogQXJyYXk8QXJyYXk8YW55Pj4sIGV4cHJlc3Npb246IElTb3J0aW5nRXhwcmVzc2lvbik6IHZvaWQ7XG4gICAgLyoqXG4gICAgICogUmVwcmVzZW50cyBhIG1ldGhvZCBkZWNsYXJhdGlvbiBmb3Igc29ydGluZyBieSBvbmx5IG9uZSBleHByZXNzaW9uXG4gICAgICogVGhlIGV4cHJlc3Npb24gY29udGFpbnMgZmllbGROYW1lLCBzb3J0aW5nIGRpcmVjdG9yeSwgd2hldGhlciBjYXNlIHNob3VsZCBiZSBpZ25vcmVkIGFuZCBvcHRpb25hbCBzb3J0aW5nIHN0cmF0ZWd5XG4gICAgICovXG4gICAgc29ydChleHByZXNzaW9uOiBJU29ydGluZ0V4cHJlc3Npb24pOiB2b2lkO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIHNvcnRpbmcgYnkgbXVsdGlwbGUgZXhwcmVzc2lvbnNcbiAgICAgKiBUaGUgZXhwcmVzc2lvbnMgY29udGFpbnMgZmllbGROYW1lLCBzb3J0aW5nIGRpcmVjdG9yeSwgd2hldGhlciBjYXNlIHNob3VsZCBiZSBpZ25vcmVkIGFuZCBvcHRpb25hbCBzb3J0aW5nIHN0cmF0ZWd5XG4gICAgICovXG4gICAgc29ydF9tdWx0aXBsZShleHByZXNzaW9uczogSVNvcnRpbmdFeHByZXNzaW9uW10pOiB2b2lkO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXNldHRpbmcgdGhlIHNvcnRpbmcgKi9cbiAgICBjbGVhcl9zb3J0KGZpZWxkTmFtZTogc3RyaW5nKTogdm9pZDtcblxuICAgIC8qKiBSZXByZXNlbnRzIGFuIGV2ZW50LCB0cmlnZ2VyZWQgd2hlbiB0aGUgcGluIHN0YXRlIGlzIGNoYW5nZWQgKi9cbiAgICBnZXRfcGluX3Jvd19ldmVudF9hcmdzKHJvd0lEOiBhbnksIGluZGV4PzogbnVtYmVyLCByb3c/OiBSb3dUeXBlLCBwaW5uZWQ/OiBib29sZWFuKTogSVBpblJvd0V2ZW50QXJncztcblxuICAgIGZpbHRlckRhdGFCeUV4cHJlc3Npb25zKGV4cHJlc3Npb25zVHJlZTogSUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSk6IGFueVtdO1xuICAgIHNvcnREYXRhQnlFeHByZXNzaW9ucyhkYXRhOiBhbnlbXSwgZXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdKTogYW55W107XG5cbiAgICB1cGRhdGVfY2VsbChjZWxsOiBJZ3hDZWxsKTogSUdyaWRFZGl0RXZlbnRBcmdzO1xuICAgIHVwZGF0ZV9yb3cocm93OiBJZ3hFZGl0Um93LCB2YWx1ZTogYW55LCBldmVudD86IEV2ZW50KTogSUdyaWRFZGl0RXZlbnRBcmdzO1xuXG4gICAgZXhwYW5kX3BhdGhfdG9fcmVjb3JkPyhyZWNvcmQ6IElUcmVlR3JpZFJlY29yZCk6IHZvaWQ7XG4gICAgZ2V0X3NlbGVjdGVkX2NoaWxkcmVuPyhyZWNvcmQ6IElUcmVlR3JpZFJlY29yZCwgc2VsZWN0ZWRSb3dJRHM6IGFueVtdKTogdm9pZDtcbiAgICBnZXRfZ3JvdXBCeV9yZWNvcmRfaWQ/KGdSb3c6IElHcm91cEJ5UmVjb3JkKTogc3RyaW5nO1xuICAgIHJlbW92ZV9ncm91cGluZ19leHByZXNzaW9uPyhmaWVsZE5hbWU6IHN0cmluZyk6IHZvaWQ7XG4gICAgY2xlYXJfZ3JvdXBieT8oZmllbGQ6IHN0cmluZyB8IGFueSk6IHZvaWQ7XG4gICAgZ2V0UGFyZW50Um93SWQ/KGNoaWxkOiBHcmlkVHlwZSk6IGFueTtcbiAgICBnZXRDaGlsZEdyaWRzPyhpbkRlcHRoPzogYm9vbGVhbik6IEdyaWRUeXBlW107XG4gICAgZ2V0Q2hpbGRHcmlkPyhwYXRoOiBJUGF0aFNlZ21lbnRbXSk6IEdyaWRUeXBlO1xuXG4gICAgdW5zZXRDaGlsZFJvd0lzbGFuZD8ocm93SXNsYW5kOiBHcmlkVHlwZSk6IHZvaWQ7XG4gICAgcmVnaXN0ZXJDaGlsZFJvd0lzbGFuZD8ocm93SXNsYW5kOiBHcmlkVHlwZSk6IHZvaWQ7XG59XG5cblxuLyoqXG4gKiBJbnRlcmZhY2UgcmVwcmVzZW50aW5nIGEgZ3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBvYmplY3QuXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWRcbiAqIEV4dGVuZHMgYElHcmlkRGF0YUJpbmRhYmxlYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRUeXBlIGV4dGVuZHMgSUdyaWREYXRhQmluZGFibGUge1xuICAgIC8qKiBAZGVwcmVjYXRlZCBzaW5jZSB2ZXJzaW9uIDE2LjEuMC4gUGxlYXNlIHVzZSB0aGUgYC0taWctc2l6ZWAgQ1NTIGN1c3RvbSBwcm9wZXJ0eS4gKi9cbiAgICBkaXNwbGF5RGVuc2l0eTogRGlzcGxheURlbnNpdHk7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGxvY2FsZSBvZiB0aGUgR3JpZDogYFVTRGAsIGBFVVJgLCBgR0JQYCwgYENOWWAsIGBKUFlgLCBldGMuICovXG4gICAgbG9jYWxlOiBzdHJpbmc7XG4gICAgcmVzb3VyY2VTdHJpbmdzOiBJR3JpZFJlc291cmNlU3RyaW5ncztcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgbmF0aXZlIEhUTUwgZWxlbWVudCBpdHNlbGYgKi9cbiAgICBuYXRpdmVFbGVtZW50OiBIVE1MRWxlbWVudDtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgcm93cyBpbiB0aGUgZ3JpZCBhcmUgZWRpdGFibGUuIElmIHRlIHZhbHVlIGlzIHRydWUsIHRoZSByb3dzIGNhbiBiZSBlZGl0ZWQgKi9cbiAgICByb3dFZGl0YWJsZTogYm9vbGVhbjtcbiAgICByb290U3VtbWFyaWVzRW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgZmlsdGVyaW5nIGluIHRoZSBncmlkIGlzIGVuYWJsZWQuIElmIHRlIHZhbHVlIGlzIHRydWUsIHRoZSBncmlkIGNhbiBiZSBmaWx0ZXJlZCAqL1xuICAgIGFsbG93RmlsdGVyaW5nOiBib29sZWFuO1xuICAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgcm93cyBpbiB0aGUgZ3JpZCBjYW4gYmUgZHJhZ2dlZC4gSWYgdGUgdmFsdWUgaXMgdHJ1ZSwgdGhlIHJvd3MgY2FuIGJlIGRyYWdnZWQgKi9cbiAgICByb3dEcmFnZ2FibGU6IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHVuaXF1ZSBwcmltYXJ5IGtleSB1c2VkIGZvciBpZGVudGlmeWluZyByb3dzIGluIHRoZSBncmlkICovXG4gICAgcHJpbWFyeUtleTogYW55O1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSB1bmlxdWUgaWRlbnRpZmllciBvZiB0aGUgZ3JpZC4gKi9cbiAgICBpZDogc3RyaW5nO1xuICAgIC8qKiBUaGUgaGVpZ2h0IG9mIHRoZSB2aXNpYmxlIHJvd3MgaW4gdGhlIGdyaWQuICovXG4gICAgcmVuZGVyZWRSb3dIZWlnaHQ6IG51bWJlcjtcbiAgICBwaXBlVHJpZ2dlcjogbnVtYmVyO1xuICAgIHN1bW1hcnlQaXBlVHJpZ2dlcjogbnVtYmVyO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGdyb3VwYWJsZVBpcGVUcmlnZ2VyOiBudW1iZXI7XG4gICAgZmlsdGVyaW5nUGlwZVRyaWdnZXI6IG51bWJlcjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNDb2x1bW5MYXlvdXRzOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZ3JpZCBpcyBjdXJyZW50bHkgaW4gYSBtb3Zpbmcgc3RhdGUuICovXG4gICAgbW92aW5nOiBib29sZWFuO1xuICAgIGlzTG9hZGluZzogYm9vbGVhbjtcblxuICAgIC8qKiBTdHJhdGVneSwgdXNlZCBmb3IgY2xvbmluZyB0aGUgcHJvdmlkZWQgZGF0YS4gVGhlIHR5cGUgaGFzIG9uZSBtZXRob2QsIHRoYXQgdGFrZXMgYW55IHR5cGUgb2YgZGF0YSAqL1xuICAgIGRhdGFDbG9uZVN0cmF0ZWd5OiBJRGF0YUNsb25lU3RyYXRlZ3k7XG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgZ3JpZCBzZXJ2aWNlIHR5cGUgcHJvdmlkaW5nIEFQSSBtZXRob2RzIGZvciB0aGUgZ3JpZCAqL1xuICAgIHJlYWRvbmx5IGdyaWRBUEk6IEdyaWRTZXJ2aWNlVHlwZTtcblxuICAgIC8qKiBUaGUgZmlsdGVyIG1vZGUgZm9yIHRoZSBncmlkLiBJdCBjYW4gYmUgcXVpY2sgZmlsdGVyIG9mIGV4Y2VsLXN0eWxlIGZpbHRlciAqL1xuICAgIGZpbHRlck1vZGU6IEZpbHRlck1vZGU7XG5cbiAgICAvLyBUWVBFXG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgdGhlYWRSb3c6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBncm91cEFyZWE6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBmaWx0ZXJDZWxsTGlzdDogYW55W107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZmlsdGVyaW5nUm93OiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgYWN0aW9uU3RyaXA6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICByZXNpemVMaW5lOiBhbnk7XG5cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICB0Zm9vdDogRWxlbWVudFJlZjxIVE1MRWxlbWVudD47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnaW5hdG9yOiBJZ3hQYWdpbmF0b3JDb21wb25lbnQ7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGFnaW5hdG9yTGlzdD86IFF1ZXJ5TGlzdDxJZ3hQYWdpbmF0b3JDb21wb25lbnQ+O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGNydWRTZXJ2aWNlOiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgc3VtbWFyeVNlcnZpY2U6IGFueTtcblxuXG5cbiAgICAvKiogUmVwcmVzZW50cyB0aGUgc3RhdGUgb2YgdmlydHVhbGl6YXRpb24gZm9yIHRoZSBncmlkLiBJdCBoYXMgYW4gb3duZXIsIHN0YXJ0IGluZGV4IGFuZCBjaHVuayBzaXplICovXG4gICAgdmlydHVhbGl6YXRpb25TdGF0ZTogSUZvck9mU3RhdGU7XG4gICAgLy8gVFlQRVxuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIC8qKiBUaGUgc2VydmljZSBoYW5kbGluZyBzZWxlY3Rpb24gaW4gdGhlIGdyaWQuIFNlbGVjdGluZywgZGVzZWxlY3RpbmcgZWxlbWVudHMgKi9cbiAgICBzZWxlY3Rpb25TZXJ2aWNlOiBhbnk7XG4gICAgbmF2aWdhdGlvbjogYW55O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGZpbHRlcmluZ1NlcnZpY2U6IGFueTtcbiAgICBvdXRsZXQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQgaGFzIGNvbHVtbnMgdGhhdCBjYW4gYmUgbW92ZWQgKi9cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNNb3ZhYmxlQ29sdW1uczogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIGdyaWQncyByb3dzIGNhbiBiZSBzZWxlY3RlZCAqL1xuICAgIGlzUm93U2VsZWN0YWJsZTogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHNlbGVjdG9ycyBvZiB0aGUgcm93cyBhcmUgdmlzaWJsZSAqL1xuICAgIHNob3dSb3dTZWxlY3RvcnM6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkJ3MgZWxlbWVudCBpcyBwaW5uZWQgdG8gdGhlIHN0YXJ0IG9mIHRoZSBncmlkICovXG4gICAgaXNQaW5uaW5nVG9TdGFydDogYm9vbGVhbjtcbiAgICAvKiogSW5kaWNhdGVzIGlmIHRoZSBjb2x1bW4gb2YgdGhlIGdyaWQgaXMgaW4gZHJhZyBtb2RlICovXG4gICAgY29sdW1uSW5EcmFnOiBhbnk7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgLyoqIFRoZSB3aWR0aCBvZiBwaW5uZWQgZWxlbWVudCAqL1xuICAgIHBpbm5lZFdpZHRoOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgLyoqIFRoZSB3aWR0aCBvZiB1bnBpbm5lZCBlbGVtZW50ICovXG4gICAgdW5waW5uZWRXaWR0aDogbnVtYmVyO1xuICAgIC8qKiBUaGUgQ1NTIG1hcmdpbiBvZiB0aGUgc3VtbWFyaWVzICovXG4gICAgc3VtbWFyaWVzTWFyZ2luOiBudW1iZXI7XG4gICAgaGVhZFNlbGVjdG9yQmFzZUFyaWFMYWJlbDogc3RyaW5nO1xuXG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBncmlkIGhhcyBjb2x1bW5zIHRoYXQgYXJlIHNob3duICovXG4gICAgaGFzVmlzaWJsZUNvbHVtbnM6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBJbmRpY2F0ZXMgd2hldGhlciB0aGUgZ3JpZCBoYXMgZXhwYW5kYWJsZSBjaGlsZHJlbiAoaGllcmFyY2hpY2FsIGFuZCB0cmVlIGdyaWQpXG4gICAgICovXG4gICAgaGFzRXhwYW5kYWJsZUNoaWxkcmVuPzogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIEluZGljYXRlcyB3aGV0aGVyIGNvbGxhcHNlZCBncmlkIGVsZW1lbnRzIHNob3VsZCBiZSBleHBhbmRlZFxuICAgICAqL1xuICAgIHNob3dFeHBhbmRBbGw/OiBib29sZWFuO1xuXG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGNvdW50IG9mIG9ubHkgdGhlIGhpZGRlbiAobm90IHZpc2libGUpIGNvbHVtbnMgKi9cbiAgICBoaWRkZW5Db2x1bW5zQ291bnQ6IG51bWJlcjtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY291bnQgb2Ygb25seSB0aGUgcGlubmVkIGNvbHVtbnMgKi9cbiAgICBwaW5uZWRDb2x1bW5zQ291bnQ6IG51bWJlcjtcblxuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBncmlkIGljb25zLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBpY29uVGVtcGxhdGU/OiBUZW1wbGF0ZVJlZjxhbnk+O1xuICAgIC8qKlxuICAgICAqIE9wdGlvbmFsXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBncm91cC1ieSByb3dzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBncm91cFJvd1RlbXBsYXRlPzogVGVtcGxhdGVSZWY8SWd4R3JvdXBCeVJvd1RlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogT3B0aW9uYWxcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSBncm91cCByb3cgc2VsZWN0b3IuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGdyb3VwQnlSb3dTZWxlY3RvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8SWd4R3JvdXBCeVJvd1NlbGVjdG9yVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBPcHRpb25hbFxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3Igcm93IGxvYWRpbmcgaW5kaWNhdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgcm93TG9hZGluZ0luZGljYXRvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIHRoZSBoZWFkZXIgc2VsZWN0b3IuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRTZWxlY3RvclRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hIZWFkU2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3Igcm93IHNlbGVjdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgcm93U2VsZWN0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4Um93U2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3Igc29ydCBoZWFkZXIgaWNvbnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHNvcnRIZWFkZXJJY29uVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRIZWFkZXJUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgYXNjZW5kaW5nIHNvcnQgaGVhZGVyIGljb25zLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBzb3J0QXNjZW5kaW5nSGVhZGVySWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGRlc2NlbmRpbmcgc29ydCBoZWFkZXIgaWNvbnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHNvcnREZXNjZW5kaW5nSGVhZGVySWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcbiAgICAvKipcbiAgICAgKiBUaGUgdGVtcGxhdGUgZm9yIGhlYWRlciBjb2xsYXBzZWQgaW5kaWNhdG9ycy5cbiAgICAgKiBJdCBpcyBvZiB0eXBlIFRlbXBsYXRlUmVmLCB3aGljaCByZXByZXNlbnRzIGFuIGVtYmVkZGVkIHRlbXBsYXRlLCB1c2VkIHRvIGluc3RhbnRpYXRlIGVtYmVkZGVkIHZpZXdzXG4gICAgICovXG4gICAgaGVhZGVyQ29sbGFwc2VkSW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgaGVhZGVyIGV4cGFuZGVkIGluZGljYXRvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIGhlYWRlckV4cGFuZGVkSW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKiBUaGUgdGVtcGxhdGUgZm9yIGRyYWcgaW5kaWNhdG9yIGljb25zLiBDb3VsZCBiZSBvZiBhbnkgdHlwZSAqL1xuICAgIGRyYWdJbmRpY2F0b3JJY29uVGVtcGxhdGU6IGFueTtcbiAgICAvKiogVGhlIGJhc2UgZHJhZyBpbmRpY2F0b3IgaWNvbi4gQ291bGQgYmUgb2YgYW55IHR5cGUgKi9cbiAgICBkcmFnSW5kaWNhdG9ySWNvbkJhc2U6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdHJhbnNpdGlvbnMgYXJlIGRpc2FibGVkIGZvciB0aGUgZ3JpZC4gKi9cbiAgICBkaXNhYmxlVHJhbnNpdGlvbnM6IGJvb2xlYW47XG4gICAgLyoqIEluZGljYXRlcyB3aGV0aGVyIHRoZSBjdXJyZW5jeSBzeW1ib2wgaXMgcG9zaXRpb25lZCB0byB0aGUgbGVmdCBvZiB2YWx1ZXMuICovXG4gICAgY3VycmVuY3lQb3NpdGlvbkxlZnQ6IGJvb2xlYW47XG5cbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgdGhlIHdpZHRoIG9mIHRoZSBjb2x1bW4gaXMgc2V0IGJ5IHRoZSB1c2VyLCBvciBpcyBjb25maWd1cmVkIGF1dG9tYXRpY2FsbHkuICovXG4gICAgY29sdW1uV2lkdGhTZXRCeVVzZXI6IGJvb2xlYW47XG4gICAgaGVhZGVyRmVhdHVyZXNXaWR0aDogbnVtYmVyO1xuICAgIC8qKiBDU1Mgc3R5bGluZyBjYWxjdWxhdGVkIGZvciBhbiBlbGVtZW50OiBjYWxjSGVpZ2h0LCBjYWxjV2lkdGgsIG91dGVyV2lkdGggKi9cbiAgICBjYWxjSGVpZ2h0OiBudW1iZXI7XG4gICAgY2FsY1dpZHRoOiBudW1iZXI7XG4gICAgb3V0ZXJXaWR0aDogbnVtYmVyO1xuICAgIC8qKiBUaGUgaGVpZ2h0IG9mIGVhY2ggcm93IGluIHRoZSBncmlkLiBTZXR0aW5nIGEgY29uc3RhbnQgaGVpZ2h0IGNhbiBzb2x2ZSBwcm9ibGVtcyB3aXRoIG5vdCBzaG93aW5nIGFsbCBlbGVtZW50cyB3aGVuIHNjcm9sbGluZyAqL1xuICAgIHJvd0hlaWdodDogbnVtYmVyO1xuICAgIG11bHRpUm93TGF5b3V0Um93U2l6ZTogbnVtYmVyO1xuICAgIC8qKiBNaW5pbWFsIHdpZHRoIGZvciBoZWFkZXJzICovXG4gICAgZGVmYXVsdEhlYWRlckdyb3VwTWluV2lkdGg6IGFueTtcbiAgICBtYXhMZXZlbEhlYWRlckRlcHRoOiBudW1iZXI7XG4gICAgZGVmYXVsdFJvd0hlaWdodDogbnVtYmVyO1xuICAgIC8qKiBUaGUgZGVmYXVsdCBmb250IHNpemUsIGNhbGN1bGF0ZWQgZm9yIGVhY2ggZWxlbWVudCAqL1xuICAgIF9iYXNlRm9udFNpemU/OiBudW1iZXI7XG4gICAgc2Nyb2xsU2l6ZTogbnVtYmVyO1xuXG4gICAgLyoqIFRoZSB0cmlnZ2VyIGZvciBncmlkIHZhbGlkYXRpb24uIEl0J3MgdmFsdWUgY2FuIGVpdGhlciBiZSBgY2hhbmdlYCBvciBgYmx1cmAgKi9cbiAgICB2YWxpZGF0aW9uVHJpZ2dlcjogR3JpZFZhbGlkYXRpb25UcmlnZ2VyO1xuICAgIC8qKlxuICAgICAqIFRoZSBjb25maWd1cmF0aW9uIGZvciBjb2x1bW5zIGFuZCByb3dzIHBpbm5pbmcgaW4gdGhlIGdyaWRcbiAgICAgKiBJdCdzIG9mIHR5cGUgSVBpbm5pbmdDb25maWcsIHdoaWNoIGNhbiBoYXZlIHZhbHVlIGZvciBjb2x1bW5zIChzdGFydCwgZW5kKSBhbmQgZm9yIHJvd3MgKHRvcCwgYm90dG9tKVxuICAgICovXG4gICAgcGlubmluZzogSVBpbm5pbmdDb25maWc7XG4gICAgZXhwYW5zaW9uU3RhdGVzOiBNYXA8YW55LCBib29sZWFuPjtcbiAgICBwYXJlbnRWaXJ0RGlyOiBhbnk7XG4gICAgdGJvZHk6IGFueTtcbiAgICB2ZXJ0aWNhbFNjcm9sbENvbnRhaW5lcjogYW55O1xuICAgIGRhdGFSb3dMaXN0OiBhbnk7XG4gICAgcm93TGlzdDogYW55O1xuICAgIC8qKiBBbiB1bm1vZGlmaWFibGUgbGlzdCwgY29udGFpbmluZyBhbGwgdGhlIGNvbHVtbnMgb2YgdGhlIGdyaWQuICovXG4gICAgY29sdW1uTGlzdDogUXVlcnlMaXN0PENvbHVtblR5cGU+O1xuICAgIGNvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHZpc2libGUgKG5vdCBoaWRkZW4pIGluIHRoZSB2aWV3ICovXG4gICAgdmlzaWJsZUNvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHRoYXQgYXJlIG5vdCBwaW5uZWQgKi9cbiAgICB1bnBpbm5lZENvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogQW4gYXJyYXkgb2YgY29sdW1ucywgYnV0IGl0IGNvdW50cyBvbmx5IHRoZSBvbmVzIHRoYXQgYXJlIHBpbm5lZCAqL1xuICAgIHBpbm5lZENvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICAvKiogcmVwcmVzZW50cyBhbiBhcnJheSBvZiB0aGUgaGVhZGVycyBvZiB0aGUgY29sdW1ucyAqL1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckNlbGxMaXN0OiBhbnlbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJHcm91cHM6IGFueVtdO1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIGhlYWRlckdyb3Vwc0xpc3Q6IGFueVtdO1xuICAgIHN1bW1hcmllc1Jvd0xpc3Q6IGFueTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoZWFkZXJDb250YWluZXI6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgY2VsbHMgYXJlIHNlbGVjdGFibGUgaW4gdGhlIGdyaWQgKi9cbiAgICBpc0NlbGxTZWxlY3RhYmxlOiBib29sZWFuO1xuICAgIC8qKiBJbmRpY2F0ZXMgd2hldGhlciBpdCBpcyBhbGxvd2VkIHRvIHNlbGVjdCBtb3JlIHRoYW4gb25lIHJvdyBpbiB0aGUgZ3JpZCAqL1xuICAgIGlzTXVsdGlSb3dTZWxlY3Rpb25FbmFibGVkOiBib29sZWFuO1xuICAgIGhhc1Bpbm5lZFJlY29yZHM6IGJvb2xlYW47XG4gICAgcGlubmVkUmVjb3Jkc0NvdW50OiBudW1iZXI7XG4gICAgcGlubmVkUmVjb3JkczogYW55W107XG4gICAgdW5waW5uZWRSZWNvcmRzOiBhbnlbXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwaW5uZWREYXRhVmlldzogYW55W107XG4gICAgcGlubmVkUm93czogYW55W107XG4gICAgZGF0YVZpZXc6IGFueVtdO1xuICAgIF9maWx0ZXJlZFVucGlubmVkRGF0YTogYW55W107XG4gICAgX2ZpbHRlcmVkU29ydGVkVW5waW5uZWREYXRhOiBhbnlbXTtcbiAgICBmaWx0ZXJlZFNvcnRlZERhdGE6IGFueVtdO1xuICAgIGRhdGFXaXRoQWRkZWRJblRyYW5zYWN0aW9uUm93czogYW55W107XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHRyYW5zYWN0aW9uIHNlcnZpY2UgZm9yIHRoZSBncmlkLiAqL1xuICAgIHJlYWRvbmx5IHRyYW5zYWN0aW9uczogVHJhbnNhY3Rpb25TZXJ2aWNlPFRyYW5zYWN0aW9uLCBTdGF0ZT47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHZhbGlkYXRpb24gc2VydmljZSBmb3IgdGhlIGdyaWQuIFRoZSB0eXBlIGNvbnRhaW5zIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMgKGxvZ2ljKSBmb3IgdmFsaWRhdGluZyByZWNvcmRzICovXG4gICAgcmVhZG9ubHkgdmFsaWRhdGlvbjogSWd4R3JpZFZhbGlkYXRpb25TZXJ2aWNlO1xuICAgIGRlZmF1bHRTdW1tYXJ5SGVpZ2h0OiBudW1iZXI7XG4gICAgc3VtbWFyeVJvd0hlaWdodDogbnVtYmVyO1xuICAgIHJvd0VkaXRpbmdPdmVybGF5OiBJZ3hUb2dnbGVEaXJlY3RpdmU7XG4gICAgdG90YWxSb3dzQ291bnRBZnRlckZpbHRlcjogbnVtYmVyO1xuICAgIF90b3RhbFJlY29yZHM6IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIHRoZSBwYWdpbmcgb2YgdGhlIGdyaWQuIEl0IGNhbiBiZSBlaXRoZXIgJ0xvY2FsJyBvciAnUmVtb3RlJ1xuICAgICAqIC0gTG9jYWw6IERlZmF1bHQgdmFsdWU7IFRoZSBncmlkIHdpbGwgcGFnaW5hdGUgdGhlIGRhdGEgc291cmNlIGJhc2VkIG9uIHRoZSBwYWdlXG4gICAgICovXG4gICAgcGFnaW5nTW9kZTogR3JpZFBhZ2luZ01vZGU7XG4gICAgLyoqIFRoZSBwYWdpbmcgc3RhdGUgZm9yIHRoZSBncmlkOyBVc2VkIHRvIGNvbmZpZ3VyZSBob3cgcGFnaW5nIHNob3VsZCBiZSBhcHBsaWVkIC0gd2hpY2ggaXMgdGhlIGN1cnJlbnQgcGFnZSwgcmVjb3JkcyBwZXIgcGFnZSAqL1xuICAgIC8qKiBAaGlkZGVuICovXG4gICAgcGFnaW5nU3RhdGU6IGFueTtcblxuICAgIHJvd0VkaXRUYWJzOiBhbnk7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIGxhc3Qgc2VhcmNoIGluIHRoZSBncmlkXG4gICAgICogSXQgY29udGFpbnMgdGhlIHNlYXJjaCB0ZXh0ICh0aGUgdXNlciBoYXMgZW50ZXJlZCksIHRoZSBtYXRjaCBhbmQgc29tZSBzZXR0aW5ncyBmb3IgdGhlIHNlYXJjaFxuICAgICAqL1xuICAgIHJlYWRvbmx5IGxhc3RTZWFyY2hJbmZvOiBJU2VhcmNoSW5mbztcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwYWdlOiBudW1iZXI7XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgcGVyUGFnZTogbnVtYmVyO1xuICAgIC8qKiBUaGUgSUQgb2YgdGhlIHJvdyBjdXJyZW50bHkgYmVpbmcgZHJhZ2dlZCBpbiB0aGUgZ3JpZC4gKi9cbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBkcmFnUm93SUQ6IGFueTtcbiAgICAvKiogSW5kaWNhdGVzIHdoZXRoZXIgYSByb3cgaXMgY3VycmVudGx5IGJlaW5nIGRyYWdnZWQgKi9cbiAgICByb3dEcmFnZ2luZzogYm9vbGVhbjtcblxuICAgIGZpcnN0RWRpdGFibGVDb2x1bW5JbmRleDogbnVtYmVyO1xuICAgIGxhc3RFZGl0YWJsZUNvbHVtbkluZGV4OiBudW1iZXI7XG4gICAgaXNSb3dQaW5uaW5nVG9Ub3A6IGJvb2xlYW47XG4gICAgaGFzRGV0YWlsczogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNTdW1tYXJpemVkQ29sdW1uczogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBoYXNDb2x1bW5Hcm91cHM6IGJvb2xlYW47XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgaGFzRWRpdGFibGVDb2x1bW5zOiBib29sZWFuO1xuICAgIC8qKiBQcm9wZXJ0eSwgdGhhdCBwcm92aWRlcyBhIGNhbGxiYWNrIGZvciBsb2FkaW5nIHVuaXF1ZSBjb2x1bW4gdmFsdWVzIG9uIGRlbWFuZC5cbiAgICAgKiBJZiB0aGlzIHByb3BlcnR5IGlzIHByb3ZpZGVkLCB0aGUgdW5pcXVlIHZhbHVlcyBpdCBnZW5lcmF0ZXMgd2lsbCBiZSB1c2VkIGJ5IHRoZSBFeGNlbCBTdHlsZSBGaWx0ZXJpbmcgICovXG4gICAgdW5pcXVlQ29sdW1uVmFsdWVzU3RyYXRlZ3k6IChjb2x1bW46IENvbHVtblR5cGUsIHRyZWU6IEZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZSwgZG9uZTogKHZhbHVlczogYW55W10pID0+IHZvaWQpID0+IHZvaWQ7XG4gICAgLyoqIFByb3BlcnR5LCB0aGF0IGdldHMgdGhlIGhlYWRlciBjZWxsIGlubmVyIHdpZHRoIGZvciBhdXRvLXNpemluZy4gKi9cbiAgICBnZXRIZWFkZXJDZWxsV2lkdGg6IChlbGVtZW50OiBIVE1MRWxlbWVudCkgPT4gSVNpemVJbmZvO1xuXG4gICAgLyoqXG4gICAgICogUHJvdmlkZXMgY2hhbmdlIGRldGVjdGlvbiBmdW5jdGlvbmFsaXR5LlxuICAgICAqIEEgY2hhbmdlLWRldGVjdGlvbiB0cmVlIGNvbGxlY3RzIGFsbCB2aWV3cyB0aGF0IGFyZSB0byBiZSBjaGVja2VkIGZvciBjaGFuZ2VzLlxuICAgICAqIFRoZSBwcm9wZXJ0eSBjYW5ub3QgYmUgY2hhbmdlZCAocmVhZG9ubHkpICovXG4gICAgcmVhZG9ubHkgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBkb2N1bWVudDogRG9jdW1lbnQ7XG4gICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgZXhwYW5kZWQgcm93IGluZGljYXRvcnMuXG4gICAgICogSXQgaXMgb2YgdHlwZSBUZW1wbGF0ZVJlZiwgd2hpY2ggcmVwcmVzZW50cyBhbiBlbWJlZGRlZCB0ZW1wbGF0ZSwgdXNlZCB0byBpbnN0YW50aWF0ZSBlbWJlZGRlZCB2aWV3c1xuICAgICAqL1xuICAgIHJvd0V4cGFuZGVkSW5kaWNhdG9yVGVtcGxhdGU6IFRlbXBsYXRlUmVmPElneEdyaWRSb3dUZW1wbGF0ZUNvbnRleHQ+O1xuICAgIC8qKlxuICAgICAqIFRoZSB0ZW1wbGF0ZSBmb3IgY29sbGFwc2VkIHJvdyBpbmRpY2F0b3JzLlxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICByb3dDb2xsYXBzZWRJbmRpY2F0b3JUZW1wbGF0ZTogVGVtcGxhdGVSZWY8SWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dD47XG4gICAgLyoqXG4gICAgICogVGhlIHRlbXBsYXRlIGZvciBoZWFkZXIgaWNvblxuICAgICAqIEl0IGlzIG9mIHR5cGUgVGVtcGxhdGVSZWYsIHdoaWNoIHJlcHJlc2VudHMgYW4gZW1iZWRkZWQgdGVtcGxhdGUsIHVzZWQgdG8gaW5zdGFudGlhdGUgZW1iZWRkZWQgdmlld3NcbiAgICAgKi9cbiAgICBleGNlbFN0eWxlSGVhZGVySWNvblRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0PjtcblxuICAgIHNlbGVjdFJvd09uQ2xpY2s6IGJvb2xlYW47XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHNlbGVjdGlvbiBtb2RlIGZvciBjZWxsczogJ25vbmUnLCdzaW5nbGUnLCAnbXVsdGlwbGUnLCAnbXVsdGlwbGVDYXNjYWRlJyAqL1xuICAgIGNlbGxTZWxlY3Rpb246IEdyaWRTZWxlY3Rpb25Nb2RlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBzZWxlY3Rpb24gbW9kZSBmb3Igcm93czogJ25vbmUnLCdzaW5nbGUnLCAnbXVsdGlwbGUnLCAnbXVsdGlwbGVDYXNjYWRlJyAqL1xuICAgIHJvd1NlbGVjdGlvbjogR3JpZFNlbGVjdGlvbk1vZGU7XG4gICAgLyoqIFJlcHJlc2VudHMgdGhlIHNlbGVjdGlvbiBtb2RlIGZvciBjb2x1bW5zOiAnbm9uZScsJ3NpbmdsZScsICdtdWx0aXBsZScsICdtdWx0aXBsZUNhc2NhZGUnICovXG4gICAgY29sdW1uU2VsZWN0aW9uOiBHcmlkU2VsZWN0aW9uTW9kZTtcbiAgICAvKiogUmVwcmVzZW50cyB0aGUgY2FsY3VsYXRpb24gbW9kZSBmb3Igc3VtbWFyaWVzOiAncm9vdExldmVsT25seScsICdjaGlsZExldmVsc09ubHknLCAncm9vdEFuZENoaWxkTGV2ZWxzJyAqL1xuICAgIHN1bW1hcnlDYWxjdWxhdGlvbk1vZGU6IEdyaWRTdW1tYXJ5Q2FsY3VsYXRpb25Nb2RlO1xuICAgIC8qKiBSZXByZXNlbnRzIHRoZSBwb3NpdGlvbiBvZiBzdW1tYXJpZXM6ICd0b3AnLCAnYm90dG9tJyAqL1xuICAgIHN1bW1hcnlQb3NpdGlvbjogR3JpZFN1bW1hcnlQb3NpdGlvbjtcblxuICAgIC8vIFhYWDogV29yayBhcm91bmQgdGlsbCB3ZSBmaXhlZCB0aGUgaW5qZWN0aW9uIHRva2Vuc1xuICAgIGxhc3RDaGlsZEdyaWQ/OiBHcmlkVHlwZTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICB0b29sYmFyT3V0bGV0PzogVmlld0NvbnRhaW5lclJlZjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBwYWdpbmF0b3JPdXRsZXQ/OiBWaWV3Q29udGFpbmVyUmVmO1xuICAgIGZsYXREYXRhPzogYW55W10gfCBudWxsO1xuICAgIGNoaWxkUm93PzogYW55O1xuICAgIGV4cGFuc2lvbkRlcHRoPzogbnVtYmVyO1xuICAgIGNoaWxkRGF0YUtleT86IGFueTtcbiAgICBmb3JlaWduS2V5PzogYW55O1xuICAgIGNhc2NhZGVPbkRlbGV0ZT86IGJvb2xlYW47XG4gICAgbG9hZENoaWxkcmVuT25EZW1hbmQ/OiAocGFyZW50SUQ6IGFueSwgZG9uZTogKGNoaWxkcmVuOiBhbnlbXSkgPT4gdm9pZCkgPT4gdm9pZDtcbiAgICBoYXNDaGlsZHJlbktleT86IGFueTtcbiAgICBsb2FkaW5nUm93cz86IFNldDxhbnk+O1xuICAgIHBhcmVudD86IEdyaWRUeXBlO1xuICAgIGhpZ2hsaWdodGVkUm93SUQ/OiBhbnk7XG4gICAgdXBkYXRlT25SZW5kZXI/OiBib29sZWFuO1xuICAgIGNoaWxkTGF5b3V0S2V5cz86IGFueVtdO1xuICAgIGNoaWxkTGF5b3V0TGlzdD86IFF1ZXJ5TGlzdDxhbnk+O1xuICAgIHJvb3RHcmlkPzogR3JpZFR5cGU7XG4gICAgcHJvY2Vzc2VkUm9vdFJlY29yZHM/OiBJVHJlZUdyaWRSZWNvcmRbXTtcbiAgICByb290UmVjb3Jkcz86IElUcmVlR3JpZFJlY29yZFtdO1xuICAgIHJlY29yZHM/OiBNYXA8YW55LCBJVHJlZUdyaWRSZWNvcmQ+O1xuICAgIHByb2Nlc3NlZEV4cGFuZGVkRmxhdERhdGE/OiBhbnlbXSB8IG51bGw7XG4gICAgcHJvY2Vzc2VkUmVjb3Jkcz86IE1hcDxhbnksIElUcmVlR3JpZFJlY29yZD47XG4gICAgdHJlZUdyb3VwQXJlYT86IGFueTtcblxuICAgIGFjdGl2ZU5vZGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJQWN0aXZlTm9kZUNoYW5nZUV2ZW50QXJncz47XG4gICAgZ3JpZEtleWRvd246IEV2ZW50RW1pdHRlcjxJR3JpZEtleWRvd25FdmVudEFyZ3M+O1xuICAgIGNlbGxDbGljazogRXZlbnRFbWl0dGVyPElHcmlkQ2VsbEV2ZW50QXJncz47XG4gICAgcm93Q2xpY2s6IEV2ZW50RW1pdHRlcjxJR3JpZFJvd0V2ZW50QXJncz47XG4gICAgZG91YmxlQ2xpY2s6IEV2ZW50RW1pdHRlcjxJR3JpZENlbGxFdmVudEFyZ3M+O1xuICAgIGNvbnRleHRNZW51OiBFdmVudEVtaXR0ZXI8SUdyaWRDZWxsRXZlbnRBcmdzPjtcbiAgICBzZWxlY3RlZDogRXZlbnRFbWl0dGVyPElHcmlkQ2VsbEV2ZW50QXJncz47XG4gICAgcmFuZ2VTZWxlY3RlZDogRXZlbnRFbWl0dGVyPEdyaWRTZWxlY3Rpb25SYW5nZT47XG4gICAgcm93U2VsZWN0aW9uQ2hhbmdpbmc6IEV2ZW50RW1pdHRlcjxJUm93U2VsZWN0aW9uRXZlbnRBcmdzPjtcbiAgICBsb2NhbGVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbiAgICBmaWx0ZXJpbmc6IEV2ZW50RW1pdHRlcjxJRmlsdGVyaW5nRXZlbnRBcmdzPjtcbiAgICBmaWx0ZXJpbmdEb25lOiBFdmVudEVtaXR0ZXI8SUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZT47XG4gICAgY29sdW1uUGlubmVkOiBFdmVudEVtaXR0ZXI8SVBpbkNvbHVtbkV2ZW50QXJncz47XG4gICAgY29sdW1uUmVzaXplZDogRXZlbnRFbWl0dGVyPElDb2x1bW5SZXNpemVFdmVudEFyZ3M+O1xuICAgIGNvbHVtbk1vdmluZ0VuZDogRXZlbnRFbWl0dGVyPElDb2x1bW5Nb3ZpbmdFbmRFdmVudEFyZ3M+O1xuICAgIGNvbHVtblNlbGVjdGlvbkNoYW5naW5nOiBFdmVudEVtaXR0ZXI8SUNvbHVtblNlbGVjdGlvbkV2ZW50QXJncz47XG4gICAgY29sdW1uTW92aW5nOiBFdmVudEVtaXR0ZXI8SUNvbHVtbk1vdmluZ0V2ZW50QXJncz47XG4gICAgY29sdW1uTW92aW5nU3RhcnQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uTW92aW5nU3RhcnRFdmVudEFyZ3M+O1xuICAgIGNvbHVtblBpbjogRXZlbnRFbWl0dGVyPElQaW5Db2x1bW5DYW5jZWxsYWJsZUV2ZW50QXJncz47XG4gICAgY29sdW1uVmlzaWJpbGl0eUNoYW5naW5nOiBFdmVudEVtaXR0ZXI8SUNvbHVtblZpc2liaWxpdHlDaGFuZ2luZ0V2ZW50QXJncz47XG4gICAgY29sdW1uVmlzaWJpbGl0eUNoYW5nZWQ6IEV2ZW50RW1pdHRlcjxJQ29sdW1uVmlzaWJpbGl0eUNoYW5nZWRFdmVudEFyZ3M+O1xuICAgIGJhdGNoRWRpdGluZ0NoYW5nZT86IEV2ZW50RW1pdHRlcjxib29sZWFuPjtcbiAgICBkZW5zaXR5Q2hhbmdlZDogRXZlbnRFbWl0dGVyPElEZW5zaXR5Q2hhbmdlZEV2ZW50QXJncz47XG4gICAgcm93QWRkOiBFdmVudEVtaXR0ZXI8SVJvd0RhdGFDYW5jZWxhYmxlRXZlbnRBcmdzPjtcbiAgICByb3dBZGRlZDogRXZlbnRFbWl0dGVyPElSb3dEYXRhRXZlbnRBcmdzPjtcbiAgICByb3dBZGRlZE5vdGlmaWVyOiBTdWJqZWN0PElSb3dEYXRhRXZlbnRBcmdzPjtcbiAgICByb3dEZWxldGU6IEV2ZW50RW1pdHRlcjxJUm93RGF0YUNhbmNlbGFibGVFdmVudEFyZ3M+O1xuICAgIHJvd0RlbGV0ZWQ6IEV2ZW50RW1pdHRlcjxJUm93RGF0YUV2ZW50QXJncz47XG4gICAgcm93RGVsZXRlZE5vdGlmaWVyOiBTdWJqZWN0PElSb3dEYXRhRXZlbnRBcmdzPjtcbiAgICBjZWxsRWRpdEVudGVyOiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RXZlbnRBcmdzPjtcbiAgICBjZWxsRWRpdDogRXZlbnRFbWl0dGVyPElHcmlkRWRpdEV2ZW50QXJncz47XG4gICAgY2VsbEVkaXREb25lOiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RG9uZUV2ZW50QXJncz47XG4gICAgY2VsbEVkaXRFeGl0OiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RG9uZUV2ZW50QXJncz47XG4gICAgcm93RWRpdEVudGVyOiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RXZlbnRBcmdzPjtcbiAgICByb3dFZGl0OiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RXZlbnRBcmdzPjtcbiAgICByb3dFZGl0RG9uZTogRXZlbnRFbWl0dGVyPElHcmlkRWRpdERvbmVFdmVudEFyZ3M+O1xuICAgIHJvd0VkaXRFeGl0OiBFdmVudEVtaXR0ZXI8SUdyaWRFZGl0RG9uZUV2ZW50QXJncz47XG4gICAgcm93RHJhZ1N0YXJ0OiBFdmVudEVtaXR0ZXI8SVJvd0RyYWdTdGFydEV2ZW50QXJncz47XG4gICAgcm93RHJhZ0VuZDogRXZlbnRFbWl0dGVyPElSb3dEcmFnRW5kRXZlbnRBcmdzPjtcbiAgICByb3dUb2dnbGU6IEV2ZW50RW1pdHRlcjxJUm93VG9nZ2xlRXZlbnRBcmdzPjtcbiAgICBmb3JtR3JvdXBDcmVhdGVkOiBFdmVudEVtaXR0ZXI8SUdyaWRGb3JtR3JvdXBDcmVhdGVkRXZlbnRBcmdzPjtcbiAgICB2YWxpZGF0aW9uU3RhdHVzQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUdyaWRWYWxpZGF0aW9uU3RhdHVzRXZlbnRBcmdzPjtcblxuICAgIHRvb2xiYXJFeHBvcnRpbmc6IEV2ZW50RW1pdHRlcjxJR3JpZFRvb2xiYXJFeHBvcnRFdmVudEFyZ3M+O1xuICAgIHJlbmRlcmVkJDogT2JzZXJ2YWJsZTxib29sZWFuPjtcbiAgICByZXNpemVOb3RpZnk6IFN1YmplY3Q8dm9pZD47XG5cbiAgICBzb3J0U3RyYXRlZ3k6IElHcmlkU29ydGluZ1N0cmF0ZWd5O1xuICAgIGdyb3VwU3RyYXRlZ3k/OiBJR3JpZEdyb3VwaW5nU3RyYXRlZ3k7XG4gICAgZmlsdGVyaW5nTG9naWM6IEZpbHRlcmluZ0xvZ2ljO1xuICAgIGZpbHRlclN0cmF0ZWd5OiBJRmlsdGVyaW5nU3RyYXRlZ3k7XG4gICAgYWxsb3dBZHZhbmNlZEZpbHRlcmluZzogYm9vbGVhbjtcbiAgICBzb3J0aW5nRXhwcmVzc2lvbnM6IElTb3J0aW5nRXhwcmVzc2lvbltdO1xuICAgIHNvcnRpbmdFeHByZXNzaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPElTb3J0aW5nRXhwcmVzc2lvbltdPjtcbiAgICBmaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU7XG4gICAgZmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SUZpbHRlcmluZ0V4cHJlc3Npb25zVHJlZT47XG4gICAgYWR2YW5jZWRGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU6IElGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWU7XG4gICAgYWR2YW5jZWRGaWx0ZXJpbmdFeHByZXNzaW9uc1RyZWVDaGFuZ2U6IEV2ZW50RW1pdHRlcjxJRmlsdGVyaW5nRXhwcmVzc2lvbnNUcmVlPjtcbiAgICBzb3J0aW5nT3B0aW9uczogSVNvcnRpbmdPcHRpb25zO1xuXG4gICAgYmF0Y2hFZGl0aW5nOiBib29sZWFuO1xuICAgIGdyb3VwaW5nRXhwYW5zaW9uU3RhdGU/OiBJR3JvdXBCeUV4cGFuZFN0YXRlW107XG4gICAgZ3JvdXBpbmdFeHByZXNzaW9ucz86IElHcm91cGluZ0V4cHJlc3Npb25bXTtcbiAgICBncm91cGluZ0V4cHJlc3Npb25zQ2hhbmdlPzogRXZlbnRFbWl0dGVyPElHcm91cGluZ0V4cHJlc3Npb25bXT47XG4gICAgZ3JvdXBzRXhwYW5kZWQ/OiBib29sZWFuO1xuICAgIHJlYWRvbmx5IGdyb3Vwc1JlY29yZHM/OiBJR3JvdXBCeVJlY29yZFtdO1xuICAgIGdyb3VwaW5nRmxhdFJlc3VsdD86IGFueVtdO1xuICAgIGdyb3VwaW5nUmVzdWx0PzogYW55W107XG4gICAgZ3JvdXBpbmdNZXRhZGF0YT86IGFueVtdO1xuICAgIHNlbGVjdGVkQ2VsbHM/OiBDZWxsVHlwZVtdO1xuICAgIHNlbGVjdGVkUm93czogYW55W107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgYWN0aXZlRGVzY2VuZGFudD86IHN0cmluZztcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBpc1Bpdm90PzogYm9vbGVhbjtcblxuICAgIHRvZ2dsZUdyb3VwPyhncm91cFJvdzogSUdyb3VwQnlSZWNvcmQpOiB2b2lkO1xuICAgIGNsZWFyR3JvdXBpbmc/KGZpZWxkOiBzdHJpbmcpOiB2b2lkO1xuICAgIGdyb3VwQnk/KGV4cHJlc3Npb246IElHcm91cGluZ0V4cHJlc3Npb24gfCBBcnJheTxJR3JvdXBpbmdFeHByZXNzaW9uPik6IHZvaWQ7XG4gICAgcmVzb2x2ZU91dGxldD8oKTogSWd4T3ZlcmxheU91dGxldERpcmVjdGl2ZTtcbiAgICB1cGRhdGVDb2x1bW5zKGNvbHVtbnM6IENvbHVtblR5cGVbXSk6IHZvaWQ7XG4gICAgZ2V0U2VsZWN0ZWRSYW5nZXMoKTogR3JpZFNlbGVjdGlvblJhbmdlW107XG4gICAgZGVzZWxlY3RBbGxDb2x1bW5zKCk6IHZvaWQ7XG4gICAgZGVzZWxlY3RDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdIHwgQ29sdW1uVHlwZVtdKTogdm9pZDtcbiAgICBzZWxlY3RDb2x1bW5zKGNvbHVtbnM6IHN0cmluZ1tdIHwgQ29sdW1uVHlwZVtdKTogdm9pZDtcbiAgICBzZWxlY3RlZENvbHVtbnMoKTogQ29sdW1uVHlwZVtdO1xuICAgIHJlZnJlc2hTZWFyY2goKTogdm9pZDtcbiAgICBnZXREZWZhdWx0RXhwYW5kU3RhdGUocmVjb3JkOiBhbnkpOiBib29sZWFuO1xuICAgIHRyYWNrQ29sdW1uQ2hhbmdlcyhpbmRleDogbnVtYmVyLCBjb2x1bW46IGFueSk6IGFueTtcbiAgICBnZXRQb3NzaWJsZUNvbHVtbldpZHRoKCk6IHN0cmluZztcbiAgICByZXNldEhvcml6b250YWxWaXJ0dWFsaXphdGlvbigpOiB2b2lkO1xuICAgIGhhc1ZlcnRpY2FsU2Nyb2xsKCk6IGJvb2xlYW47XG4gICAgZ2V0VmlzaWJsZUNvbnRlbnRIZWlnaHQoKTogbnVtYmVyO1xuICAgIGdldERyYWdHaG9zdEN1c3RvbVRlbXBsYXRlKCk6IFRlbXBsYXRlUmVmPGFueT4gfCBudWxsO1xuICAgIG9wZW5Sb3dPdmVybGF5KGlkOiBhbnkpOiB2b2lkO1xuICAgIG9wZW5BZHZhbmNlZEZpbHRlcmluZ0RpYWxvZyhvdmVybGF5U2V0dGluZ3M/OiBPdmVybGF5U2V0dGluZ3MpOiB2b2lkO1xuICAgIHNob3dTbmFja2JhckZvcihpbmRleDogbnVtYmVyKTogdm9pZDtcbiAgICBnZXRDb2x1bW5CeU5hbWUobmFtZTogc3RyaW5nKTogYW55O1xuICAgIGdldENvbHVtbkJ5VmlzaWJsZUluZGV4KGluZGV4OiBudW1iZXIpOiBDb2x1bW5UeXBlO1xuICAgIGdldEhlYWRlckdyb3VwV2lkdGgoY29sdW1uOiBDb2x1bW5UeXBlKTogc3RyaW5nO1xuICAgIGdldFJvd0J5S2V5PyhrZXk6IGFueSk6IFJvd1R5cGU7XG4gICAgZ2V0Um93QnlJbmRleD8oaW5kZXg6IG51bWJlcik6IFJvd1R5cGU7XG4gICAgc2V0RmlsdGVyZWREYXRhKGRhdGE6IGFueSwgcGlubmVkOiBib29sZWFuKTogdm9pZDtcbiAgICBzZXRGaWx0ZXJlZFNvcnRlZERhdGEoZGF0YTogYW55LCBwaW5uZWQ6IGJvb2xlYW4pOiB2b2lkO1xuICAgIHNvcnQoZXhwcmVzc2lvbjogSVNvcnRpbmdFeHByZXNzaW9uIHwgSVNvcnRpbmdFeHByZXNzaW9uW10pOiB2b2lkO1xuICAgIGNsZWFyU29ydChuYW1lPzogc3RyaW5nKTogdm9pZDtcbiAgICBwaW5Sb3coaWQ6IGFueSwgaW5kZXg/OiBudW1iZXIsIHJvdz86IFJvd1R5cGUpOiBib29sZWFuO1xuICAgIHVucGluUm93KGlkOiBhbnksIHJvdz86IFJvd1R5cGUpOiBib29sZWFuO1xuICAgIGdldFVucGlubmVkSW5kZXhCeUlkKGlkOiBhbnkpOiBudW1iZXI7XG4gICAgZ2V0RW1wdHlSZWNvcmRPYmplY3RGb3IoaW5Sb3c6IFJvd1R5cGUpOiBhbnk7XG4gICAgaXNTdW1tYXJ5Um93KHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBpc1JlY29yZFBpbm5lZChyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgZ2V0SW5pdGlhbFBpbm5lZEluZGV4KHJlYzogYW55KTogbnVtYmVyO1xuICAgIGlzUmVjb3JkUGlubmVkQnlWaWV3SW5kZXgocm93SW5kZXg6IG51bWJlcik6IGJvb2xlYW47XG4gICAgaXNDb2x1bW5Hcm91cGVkKGZpZWxkTmFtZTogc3RyaW5nKTogYm9vbGVhbjtcbiAgICBpc0RldGFpbFJlY29yZChyZWM6IGFueSk6IGJvb2xlYW47XG4gICAgaXNHcm91cEJ5UmVjb3JkKHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBpc0dob3N0UmVjb3JkKHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBpc1RyZWVSb3c/KHJlYzogYW55KTogYm9vbGVhbjtcbiAgICBpc0NoaWxkR3JpZFJlY29yZD8ocmVjOiBhbnkpOiBib29sZWFuO1xuICAgIGdldENoaWxkR3JpZHM/KGluRGVwdGg/OiBib29sZWFuKTogYW55W107XG4gICAgaXNIaWVyYXJjaGljYWxSZWNvcmQ/KHJlY29yZDogYW55KTogYm9vbGVhbjtcbiAgICBjb2x1bW5Ub1Zpc2libGVJbmRleChrZXk6IHN0cmluZyB8IG51bWJlcik6IG51bWJlcjtcbiAgICBtb3ZlQ29sdW1uKGNvbHVtbjogQ29sdW1uVHlwZSwgdGFyZ2V0OiBDb2x1bW5UeXBlLCBwb3M6IERyb3BQb3NpdGlvbik6IHZvaWQ7XG4gICAgbmF2aWdhdGVUbyhyb3dJbmRleDogbnVtYmVyLCB2aXNpYmxlQ29sdW1uSW5kZXg6IG51bWJlciwgY2FsbGJhY2s/OiAoZTogYW55KSA9PiBhbnkpOiB2b2lkO1xuICAgIGdldFByZXZpb3VzQ2VsbChjdXJyUm93SW5kZXg6IG51bWJlciwgY3VyVmlzaWJsZUNvbEluZGV4OiBudW1iZXIsIGNhbGxiYWNrOiAoYzogQ29sdW1uVHlwZSkgPT4gYm9vbGVhbik6IElDZWxsUG9zaXRpb247XG4gICAgZ2V0TmV4dENlbGwoY3VyclJvd0luZGV4OiBudW1iZXIsIGN1clZpc2libGVDb2xJbmRleDogbnVtYmVyLCBjYWxsYmFjazogKGM6IENvbHVtblR5cGUpID0+IGJvb2xlYW4pOiBJQ2VsbFBvc2l0aW9uO1xuICAgIGNsZWFyQ2VsbFNlbGVjdGlvbigpOiB2b2lkO1xuICAgIHNlbGVjdFJhbmdlKHJhbmdlOiBHcmlkU2VsZWN0aW9uUmFuZ2UgfCBHcmlkU2VsZWN0aW9uUmFuZ2VbXSk6IHZvaWQ7XG4gICAgc2VsZWN0Um93cyhyb3dJRHM6IGFueVtdLCBjbGVhckN1cnJlbnRTZWxlY3Rpb24/OiBib29sZWFuKTogdm9pZDtcbiAgICBkZXNlbGVjdFJvd3Mocm93SURzOiBhbnlbXSk6IHZvaWQ7XG4gICAgc2VsZWN0QWxsUm93cyhvbmx5RmlsdGVyRGF0YT86IGJvb2xlYW4pOiB2b2lkO1xuICAgIGRlc2VsZWN0QWxsUm93cyhvbmx5RmlsdGVyRGF0YT86IGJvb2xlYW4pOiB2b2lkO1xuICAgIHNldFVwUGFnaW5hdG9yKCk6IHZvaWQ7XG4gICAgY3JlYXRlRmlsdGVyRHJvcGRvd24oY29sdW1uOiBDb2x1bW5UeXBlLCBvcHRpb25zOiBPdmVybGF5U2V0dGluZ3MpOiBhbnk7XG4gICAgdXBkYXRlQ2VsbCh2YWx1ZTogYW55LCByb3dTZWxlY3RvcjogYW55LCBjb2x1bW46IHN0cmluZyk6IHZvaWQ7XG4gICAgLy8gVHlwZSB0byBSb3dUeXBlXG4gICAgY3JlYXRlUm93PyhpbmRleDogbnVtYmVyLCBkYXRhPzogYW55KTogUm93VHlwZTtcbiAgICBkZWxldGVSb3coaWQ6IGFueSk6IGFueTtcbiAgICBkZWxldGVSb3dCeUlkKGlkOiBhbnkpOiBhbnk7XG4gICAgdXBkYXRlUm93KHZhbHVlOiBhbnksIHJvd1NlbGVjdG9yOiBhbnkpOiB2b2lkO1xuICAgIGNvbGxhcHNlUm93KGlkOiBhbnkpOiB2b2lkO1xuICAgIG5vdGlmeUNoYW5nZXMocmVwYWludD86IGJvb2xlYW4pOiB2b2lkO1xuICAgIHJlc2V0Q29sdW1uQ29sbGVjdGlvbnMoKTogdm9pZDtcbiAgICB0cmlnZ2VyUGlwZXMoKTogdm9pZDtcbiAgICByZXBvc2l0aW9uUm93RWRpdGluZ092ZXJsYXkocm93OiBSb3dUeXBlKTogdm9pZDtcbiAgICBjbG9zZVJvd0VkaXRpbmdPdmVybGF5KCk6IHZvaWQ7XG4gICAgcmVmbG93KCk6IHZvaWQ7XG5cbiAgICAvLyBUT0RPOiBNYXliZSBtb3ZlIHRoZW0gdG8gRmxhdEdyaWRUeXBlLCBidXQgdGhlbiB3aWxsIHdlIG5lZWQgYW5vdGhlciB0b2tlbj9cbiAgICBpc0V4cGFuZGVkR3JvdXAoZ3JvdXA6IElHcm91cEJ5UmVjb3JkKTogYm9vbGVhbjtcbiAgICBjcmVhdGVDb2x1bW5zTGlzdD8oY29sczogQ29sdW1uVHlwZVtdKTogdm9pZDtcbiAgICB0b2dnbGVBbGxHcm91cFJvd3M/KCk6IHZvaWQ7XG4gICAgdG9nZ2xlQWxsPygpOiB2b2lkO1xuICAgIGdlbmVyYXRlUm93UGF0aD8ocm93SWQ6IGFueSk6IGFueVtdO1xuICAgIHByZXZlbnRIZWFkZXJTY3JvbGw/KGFyZ3M6IGFueSk6IHZvaWQ7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgYSBGbGF0IEdyaWQgdHlwZS4gSXQgaXMgZXNzZW50aWFsbHkgdGhlIGJsdWVwcmludCB0byBhIGdyaWQga2luZFxuICogQ29udGFpbnMgZGVmaW5pdGlvbnMgb2YgcHJvcGVydGllcyBhbmQgbWV0aG9kcywgcmVsZXZhbnQgdG8gYSBncmlkIGtpbmRcbiAqIEV4dGVuZHMgZnJvbSBgR3JpZFR5cGVgXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRmxhdEdyaWRUeXBlIGV4dGVuZHMgR3JpZFR5cGUge1xuICAgIGdyb3VwaW5nRXhwYW5zaW9uU3RhdGU6IElHcm91cEJ5RXhwYW5kU3RhdGVbXTtcbiAgICBncm91cGluZ0V4cHJlc3Npb25zOiBJR3JvdXBpbmdFeHByZXNzaW9uW107XG4gICAgZ3JvdXBpbmdFeHByZXNzaW9uc0NoYW5nZTogRXZlbnRFbWl0dGVyPElHcm91cGluZ0V4cHJlc3Npb25bXT47XG5cbiAgICB0b2dnbGVHcm91cChncm91cFJvdzogSUdyb3VwQnlSZWNvcmQpOiB2b2lkO1xuICAgIGNsZWFyR3JvdXBpbmcoZmllbGQ6IHN0cmluZyk6IHZvaWQ7XG4gICAgZ3JvdXBCeShleHByZXNzaW9uOiBJR3JvdXBpbmdFeHByZXNzaW9uIHwgQXJyYXk8SUdyb3VwaW5nRXhwcmVzc2lvbj4pOiB2b2lkO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIGEgVHJlZSBHcmlkIHR5cGUuIEl0IGlzIGVzc2VudGlhbGx5IHRoZSBibHVlcHJpbnQgdG8gYSBncmlkIGtpbmRcbiAqIENvbnRhaW5zIGRlZmluaXRpb25zIG9mIHByb3BlcnRpZXMgYW5kIG1ldGhvZHMsIHJlbGV2YW50IHRvIGEgZ3JpZCBraW5kXG4gKiBFeHRlbmRzIGZyb20gYEdyaWRUeXBlYFxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRyZWVHcmlkVHlwZSBleHRlbmRzIEdyaWRUeXBlIHtcbiAgICByZWNvcmRzOiBNYXA8YW55LCBJVHJlZUdyaWRSZWNvcmQ+O1xuICAgIGlzVHJlZVJvdyhyZWM6IGFueSk6IGJvb2xlYW47XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgYSBIaWVyYXJjaGljYWwgR3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBraW5kXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWQga2luZFxuICogRXh0ZW5kcyBmcm9tIGBHcmlkVHlwZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIaWVyYXJjaGljYWxHcmlkVHlwZSBleHRlbmRzIEdyaWRUeXBlIHtcbiAgICBjaGlsZExheW91dEtleXM6IGFueVtdO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIGEgUGl2b3QgR3JpZCB0eXBlLiBJdCBpcyBlc3NlbnRpYWxseSB0aGUgYmx1ZXByaW50IHRvIGEgZ3JpZCBraW5kXG4gKiBDb250YWlucyBkZWZpbml0aW9ucyBvZiBwcm9wZXJ0aWVzIGFuZCBtZXRob2RzLCByZWxldmFudCB0byBhIGdyaWQga2luZFxuICogRXh0ZW5kcyBmcm9tIGBHcmlkVHlwZWBcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBQaXZvdEdyaWRUeXBlIGV4dGVuZHMgR3JpZFR5cGUge1xuICAgIC8qKlxuICAgICAqIFRoZSBjb25maWd1cmF0aW9uIHNldHRpbmdzIGZvciB0aGUgcGl2b3QgZ3JpZC5cbiAgICAgKiBpdCBpbmNsdWRlcyBkaW1lbnNpb24gc3RyYXRlZ3kgZm9yIHJvd3MgYW5kIGNvbHVtbnMsIGZpbHRlcnMgYW5kIGRhdGEga2V5c1xuICAgICAqL1xuICAgIHBpdm90Q29uZmlndXJhdGlvbjogSVBpdm90Q29uZmlndXJhdGlvbjtcbiAgICAvKipcbiAgICAgKiBBbiBhcnJheSBvZiBhbGwgZGltZW5zaW9ucyAocm93cyBhbmQgY29sdW1ucykgaW4gdGhlIHBpdm90IGdyaWQuXG4gICAgICogaXQgaW5jbHVkZXMgaGllcmFyY2hpY2FsIGxldmVsLCBmaWx0ZXJzIGFuZCBzb3J0aW5nLCBkaW1lbnNpb25hbCBsZXZlbCwgZXRjLlxuICAgICAqL1xuICAgIGFsbERpbWVuc2lvbnM6IElQaXZvdERpbWVuc2lvbltdLFxuICAgIC8qKiBTcGVjaWZpZXMgd2hldGhlciB0byBzaG93IHRoZSBwaXZvdCBjb25maWd1cmF0aW9uIFVJIGluIHRoZSBncmlkLiAqL1xuICAgIHNob3dQaXZvdENvbmZpZ3VyYXRpb25VSTogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICBjb2x1bW5EaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXTtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICByb3dEaW1lbnNpb25zOiBJUGl2b3REaW1lbnNpb25bXTtcbiAgICByb3dEaW1lbnNpb25SZXNpemluZzogYm9vbGVhbjtcbiAgICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cbiAgICB2YWx1ZXM6IElQaXZvdFZhbHVlW107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZmlsdGVyRGltZW5zaW9uczogSVBpdm90RGltZW5zaW9uW107XG4gICAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXG4gICAgZGltZW5zaW9uRGF0YUNvbHVtbnM6IENvbHVtblR5cGVbXTtcbiAgICBwaXZvdFJvd1dpZHRoczogbnVtYmVyO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciBzZXR0aW5nIHVwIHRoZSBjb2x1bW5zIGZvciB0aGUgcGl2b3QgZ3JpZCBiYXNlZCBvbiB0aGUgcGl2b3QgY29uZmlndXJhdGlvbiAqL1xuICAgIHNldHVwQ29sdW1ucygpOiB2b2lkO1xuICAgIC8qKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIHRoYXQgYWxsb3dzIHRvZ2dsZSBvZiBleHBhbnNpb24gc3RhdGUgb2YgYSByb3cgKHRha2VuIGFzIGEgcGFyYW1ldGVyKSBpbiB0aGUgcGl2b3QgZ3JpZCAqL1xuICAgIHRvZ2dsZVJvdyhyb3dJRDogYW55KTogdm9pZDtcbiAgICAvKipcbiAgICAgKiBSZXByZXNlbnRzIGEgbWV0aG9kIGRlY2xhcmF0aW9uIGZvciByZXNvbHZpbmcgdGhlIGRhdGEgdHlwZSBmb3IgYSBzcGVjaWZpYyBmaWVsZCAoY29sdW1uKS5cbiAgICAgKiBJdCB0YWtlcyB0aGUgZmllbGQgYXMgYSBwYXJhbWV0ZXIgYW5kIHJldHVybnMgaXQncyB0eXBlXG4gICAgICovXG4gICAgcmVzb2x2ZURhdGFUeXBlcyhmaWVsZDogYW55KTogR3JpZENvbHVtbkRhdGFUeXBlO1xuICAgIC8qKlxuICAgICAqIFJlcHJlc2VudHMgYSBtZXRob2QgZGVjbGFyYXRpb24gZm9yIG1vdmluZyBkaW1lbnNpb24gZnJvbSBpdHMgY3VycmVudGx5IGNvbGxlY3Rpb24gdG8gdGhlIHNwZWNpZmllZCB0YXJnZXQgY29sbGVjdGlvblxuICAgICAqIGJ5IHR5cGUgKFJvdywgQ29sdW1uIG9yIEZpbHRlcikgYXQgc3BlY2lmaWVkIGluZGV4IG9yIGF0IHRoZSBjb2xsZWN0aW9uJ3MgZW5kXG4gICAgICovXG4gICAgbW92ZURpbWVuc2lvbihkaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiwgdGFyZ2V0Q29sbGVjdGlvblR5cGU6IFBpdm90RGltZW5zaW9uVHlwZSwgaW5kZXg/OiBudW1iZXIpO1xuICAgIGdldERpbWVuc2lvbnNCeVR5cGUoZGltZW5zaW9uOiBQaXZvdERpbWVuc2lvblR5cGUpO1xuICAgIC8qKiBUb2dnbGVzIHRoZSBkaW1lbnNpb24ncyBlbmFibGVkIHN0YXRlIG9uIG9yIG9mZi4gVGhlIGRpbWVuc2lvbiByZW1haW5zIGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24gKi9cbiAgICB0b2dnbGVEaW1lbnNpb24oZGltZW5zaW9uOiBJUGl2b3REaW1lbnNpb24pO1xuICAgIC8qKiBTb3J0IHRoZSBkaW1lbnNpb24gYW5kIGl0cyBjaGlsZHJlbiBpbiB0aGUgcHJvdmlkZWQgZGlyZWN0aW9uIChhc2NlbmRpbmcsIGRlc2NlbmRpbmcgb3Igbm9uZSkuICovXG4gICAgc29ydERpbWVuc2lvbihkaW1lbnNpb246IElQaXZvdERpbWVuc2lvbiwgc29ydERpcmVjdGlvbjogU29ydGluZ0RpcmVjdGlvbik7XG4gICAgLyoqIFRvZ2dsZXMgdGhlIHZhbHVlJ3MgZW5hYmxlZCBzdGF0ZSBvbiBvciBvZmYuIFRoZSB2YWx1ZSByZW1haW5zIGluIGl0cyBjdXJyZW50IGNvbGxlY3Rpb24uICovXG4gICAgdG9nZ2xlVmFsdWUodmFsdWU6IElQaXZvdFZhbHVlKTtcbiAgICAvKiogTW92ZSB2YWx1ZSBmcm9tIGl0cyBjdXJyZW50bHkgYXQgc3BlY2lmaWVkIGluZGV4IG9yIGF0IHRoZSBlbmQuXG4gICAgICogSWYgdGhlIHBhcmFtZXRlciBpcyBub3Qgc2V0LCBpdCB3aWxsIGFkZCBpdCB0byB0aGUgZW5kIG9mIHRoZSBjb2xsZWN0aW9uLiAqL1xuICAgIG1vdmVWYWx1ZSh2YWx1ZTogSVBpdm90VmFsdWUsIGluZGV4PzogbnVtYmVyKTtcbiAgICByb3dEaW1lbnNpb25XaWR0aFRvUGl4ZWxzKGRpbTogSVBpdm90RGltZW5zaW9uKTogbnVtYmVyO1xuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSBkaW1lbnNpb25zIGluIHRoZSBwaXZvdCBncmlkIGNoYW5nZS4gKi9cbiAgICBkaW1lbnNpb25zQ2hhbmdlOiBFdmVudEVtaXR0ZXI8SURpbWVuc2lvbnNDaGFuZ2U+O1xuICAgIC8qKiBFbWl0cyBhbiBldmVudCB3aGVuIHRoZSB2YWx1ZXMgaW4gdGhlIHBpdm90IGdyaWQgY2hhbmdlLiAqL1xuICAgIHZhbHVlc0NoYW5nZTogRXZlbnRFbWl0dGVyPElWYWx1ZXNDaGFuZ2U+O1xuICAgIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xuICAgIHBpdm90S2V5czogSVBpdm90S2V5cztcbiAgICBoYXNNdWx0aXBsZVZhbHVlczogYm9vbGVhbjtcbiAgICBleGNlbFN0eWxlRmlsdGVyTWF4SGVpZ2h0OiBzdHJpbmc7XG4gICAgZXhjZWxTdHlsZUZpbHRlck1pbkhlaWdodDogc3RyaW5nO1xuICAgIHZhbHVlQ2hpcFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxhbnk+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEdyaWRTVkdJY29uIHtcbiAgICBuYW1lOiBzdHJpbmc7XG4gICAgdmFsdWU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJU2l6ZUluZm8ge1xuICAgIHdpZHRoOiBudW1iZXIsXG4gICAgcGFkZGluZzogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZE1hc3RlckRldGFpbENvbnRleHQge1xuICAgICRpbXBsaWNpdDogYW55O1xuICAgIGluZGV4OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JvdXBCeVJvd1RlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJR3JvdXBCeVJlY29yZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IEdyaWRUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd1RlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBSb3dUeXBlXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0RyYWdHaG9zdENvbnRleHQge1xuICAgICRpbXBsaWNpdDogYW55LCAvLyB0aGlzIGlzIHRoZSByb3cgZGF0YVxuICAgIGRhdGE6IGFueSwgLy8gdGhpcyBpcyBhbHNvIHRoZSByb3cgZGF0YSBmb3Igc29tZSByZWFzb24uXG4gICAgZ3JpZDogR3JpZFR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkRW1wdHlUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0VkaXRUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogdW5kZWZpbmVkLFxuICAgIHJvd0NoYW5nZXNDb3VudDogbnVtYmVyLFxuICAgIGVuZEVkaXQ6IChjb21taXQ6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkUm93RWRpdFRleHRUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogbnVtYmVyXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSWd4R3JpZFJvd0VkaXRBY3Rpb25zVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IChjb21taXQ6IGJvb2xlYW4sIGV2ZW50PzogRXZlbnQpID0+IHZvaWRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcmlkSGVhZGVyVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IEhlYWRlclR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hDb2x1bW5UZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogQ29sdW1uVHlwZSxcbiAgICBjb2x1bW46IENvbHVtblR5cGVcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hDZWxsVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IGFueSxcbiAgICBhZGRpdGlvbmFsVGVtcGxhdGVDb250ZXh0OiBhbnksXG4gICAgZm9ybUNvbnRyb2w/OiBGb3JtQ29udHJvbDxhbnk+LFxuICAgIGRlZmF1bHRFcnJvclRlbXBsYXRlPzogVGVtcGxhdGVSZWY8YW55PixcbiAgICBjZWxsOiBDZWxsVHlwZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneFJvd1NlbGVjdG9yVGVtcGxhdGVEZXRhaWxzIHtcbiAgICBpbmRleDogbnVtYmVyO1xuICAgIC8qKlxuICAgICAqIEBkZXByZWNhdGVkIGluIHZlcnNpb24gMTUuMS4wLiBVc2UgdGhlIGBrZXlgIHByb3BlcnR5IGluc3RlYWQuXG4gICAgICovXG4gICAgcm93SUQ6IGFueTtcbiAgICBrZXk6IGFueTtcbiAgICBzZWxlY3RlZDogYm9vbGVhbjtcbiAgICBzZWxlY3Q/OiAoKSA9PiB2b2lkO1xuICAgIGRlc2VsZWN0PzogKCkgPT4gdm9pZDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hSb3dTZWxlY3RvclRlbXBsYXRlQ29udGV4dCB7XG4gICAgJGltcGxpY2l0OiBJZ3hSb3dTZWxlY3RvclRlbXBsYXRlRGV0YWlscztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZURldGFpbHMge1xuICAgIHNlbGVjdGVkQ291bnQ6IG51bWJlcjtcbiAgICB0b3RhbENvdW50OiBudW1iZXI7XG4gICAgZ3JvdXBSb3c6IElHcm91cEJ5UmVjb3JkO1xufVxuZXhwb3J0IGludGVyZmFjZSBJZ3hHcm91cEJ5Um93U2VsZWN0b3JUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogSWd4R3JvdXBCeVJvd1NlbGVjdG9yVGVtcGxhdGVEZXRhaWxzO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEhlYWRTZWxlY3RvclRlbXBsYXRlRGV0YWlscyB7XG4gICAgc2VsZWN0ZWRDb3VudDogbnVtYmVyO1xuICAgIHRvdGFsQ291bnQ6IG51bWJlcjtcbiAgICBzZWxlY3RBbGw/OiAoKSA9PiB2b2lkO1xuICAgIGRlc2VsZWN0QWxsPzogKCkgPT4gdm9pZDtcbn1cbmV4cG9ydCBpbnRlcmZhY2UgSWd4SGVhZFNlbGVjdG9yVGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElneEhlYWRTZWxlY3RvclRlbXBsYXRlRGV0YWlscztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJZ3hTdW1tYXJ5VGVtcGxhdGVDb250ZXh0IHtcbiAgICAkaW1wbGljaXQ6IElneFN1bW1hcnlSZXN1bHRbXVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIElneEdyaWRQYWdpbmF0b3JUZW1wbGF0ZUNvbnRleHQge1xuICAgICRpbXBsaWNpdDogR3JpZFR5cGU7XG59XG5cbi8qKlxuICogQW4gaW50ZXJmYWNlIGRlc2NyaWJpbmcgc2V0dGluZ3MgZm9yIHJvdy9jb2x1bW4gcGlubmluZyBwb3NpdGlvbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGlubmluZ0NvbmZpZyB7XG4gICAgY29sdW1ucz86IENvbHVtblBpbm5pbmdQb3NpdGlvbjtcbiAgICByb3dzPzogUm93UGlubmluZ1Bvc2l0aW9uO1xufVxuXG4vKipcbiAqIEFuIGludGVyZmFjZSBkZXNjcmliaW5nIHNldHRpbmdzIGZvciBjbGlwYm9hcmQgb3B0aW9uc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIElDbGlwYm9hcmRPcHRpb25zIHtcbiAgICAvKipcbiAgICAgKiBFbmFibGVzL2Rpc2FibGVzIHRoZSBjb3B5IGJlaGF2aW9yXG4gICAgICovXG4gICAgZW5hYmxlZDogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBJbmNsdWRlIHRoZSBjb2x1bW5zIGhlYWRlcnMgaW4gdGhlIGNsaXBib2FyZCBvdXRwdXQuXG4gICAgICovXG4gICAgY29weUhlYWRlcnM6IGJvb2xlYW47XG4gICAgLyoqXG4gICAgICogQXBwbHkgdGhlIGNvbHVtbnMgZm9ybWF0dGVycyAoaWYgYW55KSBvbiB0aGUgZGF0YSBpbiB0aGUgY2xpcGJvYXJkIG91dHB1dC5cbiAgICAgKi9cbiAgICBjb3B5Rm9ybWF0dGVyczogYm9vbGVhbjtcbiAgICAvKipcbiAgICAgKiBUaGUgc2VwYXJhdG9yIHVzZWQgZm9yIGZvcm1hdHRpbmcgdGhlIGNvcHkgb3V0cHV0LiBEZWZhdWx0cyB0byBgXFx0YC5cbiAgICAgKi9cbiAgICBzZXBhcmF0b3I6IHN0cmluZztcbn1cbiJdfQ==
|