breeze-client 2.2.0-cjs → 2.2.1-cjs
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/bundles/breeze-client.umd.js.map +1 -1
- package/bundles/breeze-client.umd.min.js.map +1 -1
- package/esm2015/src/data-service.js +1 -1
- package/esm2015/src/entity-key.js +1 -1
- package/esm2015/src/entity-manager.js +1 -1
- package/esm2015/src/local-query-comparison-options.js +1 -1
- package/esm2015/src/mapping-context.js +1 -1
- package/esm2015/src/naming-convention.js +1 -1
- package/esm2015/src/query-options.js +1 -1
- package/esm2015/src/save-options.js +1 -1
- package/esm2015/src/validate.js +1 -1
- package/esm2015/src/validation-options.js +1 -1
- package/esm5/src/data-service.js +1 -1
- package/esm5/src/entity-key.js +1 -1
- package/esm5/src/entity-manager.js +1 -1
- package/esm5/src/local-query-comparison-options.js +1 -1
- package/esm5/src/mapping-context.js +1 -1
- package/esm5/src/naming-convention.js +1 -1
- package/esm5/src/query-options.js +1 -1
- package/esm5/src/save-options.js +1 -1
- package/esm5/src/validate.js +1 -1
- package/esm5/src/validation-options.js +1 -1
- package/fesm2015/breeze-client.js.map +1 -1
- package/fesm5/breeze-client.js.map +1 -1
- package/package.json +1 -1
|
@@ -64,4 +64,4 @@ var LocalQueryComparisonOptions = /** @class */ (function () {
|
|
|
64
64
|
}());
|
|
65
65
|
export { LocalQueryComparisonOptions };
|
|
66
66
|
LocalQueryComparisonOptions.prototype._$typeName = "LocalQueryComparisonOptions";
|
|
67
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWwtcXVlcnktY29tcGFyaXNvbi1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9sb2NhbC1xdWVyeS1jb21wYXJpc29uLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLFVBQVUsQ0FBQztBQWVsQzs7Ozs7OztHQU9HO0FBQ0g7SUFZRTs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNILHFDQUFZLFVBQTZDO1FBQ3ZELFlBQVksQ0FBQyxVQUFVLElBQUksRUFBRSxDQUFDO2FBQ3pCLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7YUFDMUMsVUFBVSxDQUFDLGlCQUFpQixDQUFDLENBQUMsVUFBVSxFQUFFLENBQUMsU0FBUyxFQUFFO2FBQ3RELFVBQVUsQ0FBQyxvQ0FBb0MsQ0FBQyxDQUFDLFNBQVMsRUFBRTthQUM1RCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjtRQUNELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLDZCQUE2QixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUN0RSxDQUFDO0lBZ0JEOzs7Ozs7OztPQVFHO0lBQ0gsa0RBQVksR0FBWjtRQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsMkJBQTJCLENBQUMsQ0FBQztJQUM5RCxDQUFDO0lBekJEOztPQUVHO0lBQ0ksOENBQWtCLEdBQUcsSUFBSSwyQkFBMkIsQ0FBQztRQUMxRCxJQUFJLEVBQUUsb0JBQW9CO1FBQzFCLGVBQWUsRUFBRSxLQUFLO1FBQ3RCLGtDQUFrQyxFQUFFLElBQUk7S0FDekMsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSwyQ0FBZSxHQUFHLElBQUksMkJBQTJCLENBQUMsMkJBQTJCLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQWUzRyxrQ0FBQztDQUFBLEFBbEVELElBa0VDO1NBbEVZLDJCQUEyQjtBQW1FeEMsMkJBQTJCLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyw2QkFBNkIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvcmUgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBhc3NlcnRDb25maWcgfSBmcm9tICcuL2Fzc2VydC1wYXJhbSc7XHJcbmltcG9ydCB7IGNvbmZpZyB9IGZyb20gJy4vY29uZmlnJztcclxuXHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnNdXSBjb25zdHJ1Y3Rvci4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGlzIGNvbGxlY3Rpb24gb2YgY29uZmlndXJhdGlvbiBzZXR0aW5ncy4gKi9cclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBXaGV0aGVyIHByZWRpY2F0ZXMgdGhhdCBpbnZvbHZlIHN0cmluZ3Mgd2lsbCBiZSBpbnRlcnByZXRlZCBpbiBhIFwiY2FzZVNlbnNpdGl2ZVwiIG1hbm5lci4gRGVmYXVsdCBpcyAnZmFsc2UnLiAqL1xyXG4gIGlzQ2FzZVNlbnNpdGl2ZT86IGJvb2xlYW47XHJcbiAgLyogV2hldGhlciBvciBub3QgdG8gZW5mb3JjZSB0aGUgQU5TSSBTUUwgc3RhbmRhcmRcclxuICBvZiBwYWRkaW5nIHN0cmluZ3Mgb2YgdW5lcXVhbCBsZW5ndGhzIGJlZm9yZSBjb21wYXJpc29uIHdpdGggc3BhY2VzLiBOb3RlIHRoYXQgcGVyIHRoZSBzdGFuZGFyZCwgcGFkZGluZyBvbmx5IG9jY3VycyB3aXRoIGVxdWFsaXR5IGFuZFxyXG4gIGluZXF1YWxpdHkgcHJlZGljYXRlcywgYW5kIG5vdCB3aXRoIG9wZXJhdGlvbnMgbGlrZSAnc3RhcnRzV2l0aCcsICdlbmRzV2l0aCcgb3IgJ2NvbnRhaW5zJy4gIERlZmF1bHQgaXMgdHJ1ZS4gKi9cclxuICB1c2VzU3FsOTJDb21wbGlhbnRTdHJpbmdDb21wYXJpc29uPzogYm9vbGVhbjtcclxufVxyXG5cclxuLyoqXHJcbkEgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zIGluc3RhbmNlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgXCJjb21wYXJpc29uIHJ1bGVzXCIgdXNlZCB3aGVuIHBlcmZvcm1pbmcgXCJsb2NhbCBxdWVyaWVzXCIgaW4gb3JkZXJcclxudG8gbWF0Y2ggdGhlIHNlbWFudGljcyBvZiB0aGVzZSBzYW1lIHF1ZXJpZXMgd2hlbiBleGVjdXRlZCBhZ2FpbnN0IGEgcmVtb3RlIHNlcnZpY2UuICBUaGVzZSBvcHRpb25zIHNob3VsZCBiZSBzZXQgYmFzZWQgb24gdGhlXHJcbm1hbm5lciBpbiB3aGljaCB5b3VyIHJlbW90ZSBzZXJ2aWNlIGludGVycHJldHMgY2VydGFpbiBjb21wYXJpc29uIG9wZXJhdGlvbnMuXHJcblxyXG5UaGUgZGVmYXVsdCBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMgc3RpcHVsYXRlcyAnY2FzZUluc2Vuc2l0aXZlXCIgcXVlcmllcyB3aXRoIEFOU0kgU1FMIHJ1bGVzIHJlZ2FyZGluZyBjb21wYXJpc29ucyBvZiB1bmVxdWFsXHJcbmxlbmd0aCBzdHJpbmdzLlxyXG4qKi9cclxuZXhwb3J0IGNsYXNzIExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9ucyB7XHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgZGVjbGFyZSBfJHR5cGVOYW1lOiBzdHJpbmc7IC8vIG9uIHByb3RvdHlwZVxyXG4gIC8qKiBUaGUgbmFtZSBmb3IgdGhpcyBpbnN0YW5jZS4gKi9cclxuICBkZWNsYXJlIG5hbWU6IHN0cmluZztcclxuICAvKiogV2hldGhlciBwcmVkaWNhdGVzIHRoYXQgaW52b2x2ZSBzdHJpbmdzIHdpbGwgYmUgaW50ZXJwcmV0ZWQgaW4gYSBcImNhc2VTZW5zaXRpdmVcIiBtYW5uZXIuIChkZWZhdWx0ID0gZmFsc2UpLiAgKi9cclxuICBkZWNsYXJlIGlzQ2FzZVNlbnNpdGl2ZTogYm9vbGVhbjtcclxuICAvKiBXaGV0aGVyIG9yIG5vdCB0byBlbmZvcmNlIHRoZSBBTlNJIFNRTCBzdGFuZGFyZFxyXG4gIG9mIHBhZGRpbmcgc3RyaW5ncyBvZiB1bmVxdWFsIGxlbmd0aHMgYmVmb3JlIGNvbXBhcmlzb24gd2l0aCBzcGFjZXMuIE5vdGUgdGhhdCBwZXIgdGhlIHN0YW5kYXJkLCBwYWRkaW5nIG9ubHkgb2NjdXJzIHdpdGggZXF1YWxpdHkgYW5kXHJcbiAgaW5lcXVhbGl0eSBwcmVkaWNhdGVzLCBhbmQgbm90IHdpdGggb3BlcmF0aW9ucyBsaWtlICdzdGFydHNXaXRoJywgJ2VuZHNXaXRoJyBvciAnY29udGFpbnMnLiAgRGVmYXVsdCBpcyB0cnVlLiAqL1xyXG4gIGRlY2xhcmUgdXNlc1NxbDkyQ29tcGxpYW50U3RyaW5nQ29tcGFyaXNvbjogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zIGNvbnN0cnVjdG9yXHJcbiAgPiAgICAgIC8vIGNyZWF0ZSBhICdjYXNlU2Vuc2l0aXZlIC0gbm9uIFNRTCcgaW5zdGFuY2UuXHJcbiAgPiAgICAgIHZhciBscWNvID0gbmV3IExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9ucyh7XHJcbiAgPiAgICAgICAgICAgICAgbmFtZTogXCJjYXNlU2Vuc2l0aXZlLW5vblNRTFwiXHJcbiAgPiAgICAgICAgICAgICAgaXNDYXNlU2Vuc2l0aXZlOiB0cnVlO1xyXG4gID4gICAgICAgICAgICAgIHVzZXNTcWw5MkNvbXBsaWFudFN0cmluZ0NvbXBhcmlzb246IGZhbHNlO1xyXG4gID4gICAgICAgICAgfSk7XHJcbiAgPiAgICAgIC8vIGVpdGhlciBhcHBseSBpdCBnbG9iYWxseVxyXG4gID4gICAgICBscWNvLnNldEFzRGVmYXVsdCgpO1xyXG4gID4gICAgICAvLyBvciB0byBhIHNwZWNpZmljIE1ldGFkYXRhU3RvcmVcclxuICA+ICAgICAgdmFyIG1zID0gbmV3IE1ldGFkYXRhU3RvcmUoeyBsb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnM6IGxxY28gfSk7XHJcbiAgPiAgICAgIHZhciBlbSA9IG5ldyBFbnRpdHlNYW5hZ2VyKCB7IG1ldGFkYXRhU3RvcmU6IG1zIH0pO1xyXG4gIEBwYXJhbSBjb25maWcgLSBBIGNvbmZpZ3VyYXRpb24gb2JqZWN0LlxyXG4gICoqL1xyXG4gIGNvbnN0cnVjdG9yKGxxY29Db25maWc6IExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9uc0NvbmZpZykge1xyXG4gICAgYXNzZXJ0Q29uZmlnKGxxY29Db25maWcgfHwge30pXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJuYW1lXCIpLmlzT3B0aW9uYWwoKS5pc1N0cmluZygpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJpc0Nhc2VTZW5zaXRpdmVcIikuaXNPcHRpb25hbCgpLmlzQm9vbGVhbigpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJ1c2VzU3FsOTJDb21wbGlhbnRTdHJpbmdDb21wYXJpc29uXCIpLmlzQm9vbGVhbigpXHJcbiAgICAgICAgLmFwcGx5QWxsKHRoaXMpO1xyXG4gICAgaWYgKCF0aGlzLm5hbWUpIHtcclxuICAgICAgdGhpcy5uYW1lID0gY29yZS5nZXRVdWlkKCk7XHJcbiAgICB9XHJcbiAgICBjb25maWcuX3N0b3JlT2JqZWN0KHRoaXMsIFwiTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zXCIsIHRoaXMubmFtZSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBDYXNlIGluc2Vuc2l0aXZlIFNRTCBjb21wbGlhbnQgb3B0aW9ucyAtIHRoaXMgaXMgYWxzbyB0aGUgZGVmYXVsdCB1bmxlc3Mgb3RoZXJ3aXNlIGNoYW5nZWQuXHJcbiAgKiovXHJcbiAgc3RhdGljIGNhc2VJbnNlbnNpdGl2ZVNRTCA9IG5ldyBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMoe1xyXG4gICAgbmFtZTogXCJjYXNlSW5zZW5zaXRpdmVTUUxcIixcclxuICAgIGlzQ2FzZVNlbnNpdGl2ZTogZmFsc2UsXHJcbiAgICB1c2VzU3FsOTJDb21wbGlhbnRTdHJpbmdDb21wYXJpc29uOiB0cnVlXHJcbiAgfSk7XHJcblxyXG4gIC8qKlxyXG4gIFRoZSBkZWZhdWx0IHZhbHVlIHdoZW5ldmVyIExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC4gQnkgZGVmYXVsdCB0aGlzIGlzICdjYXNlSW5zZW5zaXRpdmVTUUwnLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBkZWZhdWx0SW5zdGFuY2UgPSBuZXcgTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zKExvY2FsUXVlcnlDb21wYXJpc29uT3B0aW9ucy5jYXNlSW5zZW5zaXRpdmVTUUwpO1xyXG5cclxuICAvKipcclxuICBTZXRzIHRoZSAnZGVmYXVsdEluc3RhbmNlJyBieSBjcmVhdGluZyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgJ2RlZmF1bHRJbnN0YW5jZScgYW5kIHRoZW4gYXBwbHlpbmcgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlLlxyXG4gIFRoZSBjdXJyZW50IGluc3RhbmNlIGlzIHJldHVybmVkIHVuY2hhbmdlZC5cclxuICA+ICAgICB2YXIgbHFjbyA9IG5ldyBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMoe1xyXG4gID4gICAgICAgIGlzQ2FzZVNlbnNpdGl2ZTogZmFsc2U7XHJcbiAgPiAgICAgICAgdXNlc1NxbDkyQ29tcGxpYW50U3RyaW5nQ29tcGFyaXNvbjogdHJ1ZTtcclxuICA+ICAgICB9KTtcclxuICA+ICAgICBscWNvLnNldEFzRGVmYXVsdCgpO1xyXG4gICoqL1xyXG4gIHNldEFzRGVmYXVsdCgpIHtcclxuICAgIHJldHVybiBjb3JlLnNldEFzRGVmYXVsdCh0aGlzLCBMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbn1cclxuTG9jYWxRdWVyeUNvbXBhcmlzb25PcHRpb25zLnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJMb2NhbFF1ZXJ5Q29tcGFyaXNvbk9wdGlvbnNcIjtcclxuIl19
|
|
@@ -410,4 +410,4 @@ function updateRelatedEntityInCollection(mc, relatedEntity, relatedEntities, tar
|
|
|
410
410
|
relatedEntity.setProperty(inverseProperty.name, targetEntity);
|
|
411
411
|
}
|
|
412
412
|
}
|
|
413
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZy1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9tYXBwaW5nLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFHLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxXQUFXLEVBQUcsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFpQixVQUFVLEVBQWtCLFlBQVksRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBc0I3Qzs7OztFQUlFO0FBQ0Y7SUFpQkUsd0JBQVksTUFBNEI7UUFieEMsZUFBVSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLHFDQUFxQztRQWVwRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsY0FBYztTQUN4RCxDQUFDLENBQUM7UUFFSCxlQUFlO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7UUFDOUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLHFDQUFxQztJQUM3RixD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YSxDQUFDLGVBQWUsRUFBRTtRQUNwRSxJQUFJLFlBQVUsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUMzRCxJQUFJLGFBQWEsR0FBRyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6RSxPQUFPLFlBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxhQUFhO1lBQUUsT0FBTztLQUMzQjtJQUNELG1EQUFtRDtJQUNuRCxJQUFJLFVBQVUsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqRSxJQUFJLFVBQVUsS0FBSyxZQUFZLEVBQUU7UUFDL0IsdUJBQXVCO1FBQ3ZCLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTZXJ2aWNlQWRhcHRlciB9IGZyb20gJy4vaW50ZXJmYWNlLXJlZ2lzdHJ5JztcclxuaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IERhdGFUeXBlICB9IGZyb20gJy4vZGF0YS10eXBlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UsIEpzb25SZXN1bHRzQWRhcHRlciwgTm9kZUNvbnRleHQsIE5vZGVNZXRhIH0gZnJvbSAnLi9kYXRhLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSAgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XHJcbmltcG9ydCB7IEVudGl0eUFjdGlvbiB9IGZyb20gJy4vZW50aXR5LWFjdGlvbic7XHJcbmltcG9ydCB7IE1ldGFkYXRhU3RvcmUsIEVudGl0eVR5cGUsIFN0cnVjdHVyYWxUeXBlLCBEYXRhUHJvcGVydHksIE5hdmlnYXRpb25Qcm9wZXJ0eSB9IGZyb20gJy4vZW50aXR5LW1ldGFkYXRhJztcclxuaW1wb3J0IHsgRW50aXR5TWFuYWdlciB9IGZyb20gJy4vZW50aXR5LW1hbmFnZXInO1xyXG5pbXBvcnQgeyBNZXJnZVN0cmF0ZWd5IH0gZnJvbSAnLi9xdWVyeS1vcHRpb25zJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi9lbnRpdHktYXNwZWN0JztcclxuaW1wb3J0IHsgRW50aXR5UXVlcnkgfSBmcm9tICcuL2VudGl0eS1xdWVyeSc7XHJcblxyXG5cclxuLyoqXHJcbkZvciB1c2UgYnkgYnJlZXplIHBsdWdpbiBhdXRob3JzIG9ubHkuIFRoZSBjbGFzcyBpcyBmb3IgdXNlIGluIGJ1aWxkaW5nIGEgW1tJRGF0YVNlcnZpY2VBZGFwdGVyXV0gaW1wbGVtZW50YXRpb24uIFxyXG5AYWRhcHRlciAoc2VlIFtbSURhdGFTZXJ2aWNlQWRhcHRlcl1dKSAgICBcclxuQGhpZGRlbiBcclxuKi9cclxuZXhwb3J0IGludGVyZmFjZSBNZXJnZU9wdGlvbnMge1xyXG4gIG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3k7XHJcbiAgaW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIG5vVHJhY2tpbmc/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKiogQGhpZGRlbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE1hcHBpbmdDb250ZXh0Q29uZmlnIHtcclxuICBkYXRhU2VydmljZTogRGF0YVNlcnZpY2U7XHJcbiAgcXVlcnk/OiBFbnRpdHlRdWVyeSB8IHN0cmluZztcclxuICBlbnRpdHlNYW5hZ2VyOiBFbnRpdHlNYW5hZ2VyO1xyXG4gIG1lcmdlT3B0aW9uczogTWVyZ2VPcHRpb25zO1xyXG59XHJcblxyXG4vKipcclxuRm9yIHVzZSBieSBicmVlemUgcGx1Z2luIGF1dGhvcnMgb25seS4gVGhlIGNsYXNzIGlzIGZvciB1c2UgaW4gYnVpbGRpbmcgYSBbW0lEYXRhU2VydmljZUFkYXB0ZXJdXSBpbXBsZW1lbnRhdGlvbi4gXHJcbkBhZGFwdGVyIChzZWUgW1tJRGF0YVNlcnZpY2VBZGFwdGVyXV0pICAgIFxyXG5AaGlkZGVuIFxyXG4qL1xyXG5leHBvcnQgY2xhc3MgTWFwcGluZ0NvbnRleHQge1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIF8kdHlwZU5hbWU6IHN0cmluZzsgLy8gb24gcHJvdG90eXBlXHJcblxyXG4gIHJhd1ZhbHVlRm4gPSBEYXRhUHJvcGVydHkuZ2V0UmF3VmFsdWVGcm9tU2VydmVyOyAvLyB0aGluayBhYm91dCBwYXNzaW5nIHRoaXMgaW4gbGF0ZXIuXHJcblxyXG4gIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZTtcclxuICBxdWVyeTogRW50aXR5UXVlcnkgfCBzdHJpbmc7XHJcbiAgZW50aXR5TWFuYWdlcjogRW50aXR5TWFuYWdlcjtcclxuICBtZXJnZU9wdGlvbnM6IE1lcmdlT3B0aW9ucztcclxuICBhZGFwdGVyOiBEYXRhU2VydmljZUFkYXB0ZXI7ICAvLyBhc3NpZ25lZCBpbiB0aGUgQWJzdHJhY3REYXRhU2VydmljZUFkYXB0ZXIuXHJcblxyXG4gIHJlZk1hcDogUmVjb3JkPHN0cmluZywgYW55PjsgLy8gVE9ET1xyXG4gIGRlZmVycmVkRm5zOiBGdW5jdGlvbltdOyAvLyBUT0RPXHJcbiAganNvblJlc3VsdHNBZGFwdGVyOiBKc29uUmVzdWx0c0FkYXB0ZXI7XHJcbiAgbWV0YWRhdGFTdG9yZTogTWV0YWRhdGFTdG9yZTtcclxuXHJcbiAgY29uc3RydWN0b3IoY29uZmlnOiBNYXBwaW5nQ29udGV4dENvbmZpZykge1xyXG5cclxuICAgIGNvcmUuZXh0ZW5kKHRoaXMsIGNvbmZpZywgW1xyXG4gICAgICBcInF1ZXJ5XCIsIFwiZW50aXR5TWFuYWdlclwiLCBcImRhdGFTZXJ2aWNlXCIsIFwibWVyZ2VPcHRpb25zXCJcclxuICAgIF0pO1xyXG5cclxuICAgIC8vIGNhbGMnZCBwcm9wc1xyXG4gICAgdGhpcy5yZWZNYXAgPSB7fTtcclxuICAgIHRoaXMuZGVmZXJyZWRGbnMgPSBbXTtcclxuICAgIHRoaXMuanNvblJlc3VsdHNBZGFwdGVyID0gdGhpcy5kYXRhU2VydmljZS5qc29uUmVzdWx0c0FkYXB0ZXI7XHJcbiAgICB0aGlzLm1ldGFkYXRhU3RvcmUgPSB0aGlzLmVudGl0eU1hbmFnZXIubWV0YWRhdGFTdG9yZTtcclxuICAgIHRoaXMucmF3VmFsdWVGbiA9IERhdGFQcm9wZXJ0eS5nZXRSYXdWYWx1ZUZyb21TZXJ2ZXI7IC8vIHRoaW5rIGFib3V0IHBhc3NpbmcgdGhpcyBpbiBsYXRlci5cclxuICB9XHJcblxyXG4gIGdldFVybCgpIHtcclxuICAgIGxldCBxdWVyeSA9IHRoaXMucXVlcnk7XHJcbiAgICBpZiAoIXF1ZXJ5KSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInF1ZXJ5IGNhbm5vdCBiZSBlbXB0eVwiKTtcclxuICAgIH1cclxuICAgIGxldCB1cmlTdHJpbmc6IHN0cmluZztcclxuICAgIGlmICh0eXBlb2YgcXVlcnkgPT09ICdzdHJpbmcnKSB7XHJcbiAgICAgIHVyaVN0cmluZyA9IHF1ZXJ5O1xyXG4gICAgfSBlbHNlIGlmIChxdWVyeSBpbnN0YW5jZW9mIEVudGl0eVF1ZXJ5KSB7XHJcbiAgICAgIHVyaVN0cmluZyA9IHRoaXMuZGF0YVNlcnZpY2UudXJpQnVpbGRlciEuYnVpbGRVcmkocXVlcnksIHRoaXMubWV0YWRhdGFTdG9yZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJ1bmFibGUgdG8gcmVjb2duaXplIHF1ZXJ5IHBhcmFtZXRlciBhcyBlaXRoZXIgYSBzdHJpbmcgb3IgYW4gRW50aXR5UXVlcnlcIik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGhpcy5kYXRhU2VydmljZS5xdWFsaWZ5VXJsKHVyaVN0cmluZyk7XHJcbiAgfVxyXG5cclxuICB2aXNpdEFuZE1lcmdlKG5vZGVzOiBhbnlbXSwgbm9kZUNvbnRleHQ6IGFueSkge1xyXG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5xdWVyeTtcclxuICAgIGxldCBqcmEgPSB0aGlzLmpzb25SZXN1bHRzQWRhcHRlcjtcclxuICAgIG5vZGVDb250ZXh0ID0gbm9kZUNvbnRleHQgfHwge307XHJcbiAgICBsZXQgdGhhdCA9IHRoaXM7XHJcbiAgICBsZXQgcmVzdWx0ID0gY29yZS5tYXAobm9kZXMsIGZ1bmN0aW9uIChub2RlKSB7XHJcbiAgICAgIGlmIChxdWVyeSA9PSBudWxsICYmIG5vZGUuZW50aXR5QXNwZWN0KSB7XHJcbiAgICAgICAgLy8gZG9uJ3QgYm90aGVyIG1lcmdpbmcgYSByZXN1bHQgZnJvbSBhIHNhdmUgdGhhdCB3YXMgbm90IHJldHVybmVkIGZyb20gdGhlIHNlcnZlci5cclxuICAgICAgICBpZiAobm9kZS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGUuaXNEZWxldGVkKCkpIHtcclxuICAgICAgICAgIHRoYXQuZW50aXR5TWFuYWdlci5kZXRhY2hFbnRpdHkobm9kZSk7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIG5vZGUuZW50aXR5QXNwZWN0LmFjY2VwdENoYW5nZXMoKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGxldCBtZXRhID0ganJhLnZpc2l0Tm9kZShub2RlLCB0aGF0LCBub2RlQ29udGV4dCkgfHwge307XHJcbiAgICAgIG5vZGUgPSBtZXRhLm5vZGUgfHwgbm9kZTtcclxuICAgICAgaWYgKHF1ZXJ5ICYmIG5vZGVDb250ZXh0Lm5vZGVUeXBlID09PSBcInJvb3RcIiAmJiAhbWV0YS5lbnRpdHlUeXBlKSB7XHJcbiAgICAgICAgbWV0YS5lbnRpdHlUeXBlID0gcXVlcnkgaW5zdGFuY2VvZiBFbnRpdHlRdWVyeSAmJiAgcXVlcnkuX2dldFRvRW50aXR5VHlwZSAmJiBxdWVyeS5fZ2V0VG9FbnRpdHlUeXBlKHRoYXQubWV0YWRhdGFTdG9yZSk7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHByb2Nlc3NNZXRhKHRoYXQsIG5vZGUsIG1ldGEpO1xyXG4gICAgfSwgdGhpcy5tZXJnZU9wdGlvbnMuaW5jbHVkZURlbGV0ZWQpO1xyXG5cclxuICAgIGlmIChyZXN1bHQuZmlsdGVyICYmICF0aGlzLm1lcmdlT3B0aW9ucy5pbmNsdWRlRGVsZXRlZCkge1xyXG4gICAgICAvLyByZXN1bHQgbWF5IGhhdmUgZGVsZXRlZCBlbnRpdGllcyBiZWNhdXNlIHJlbGF0ZWQgbm9kZXMgd2VyZSBwcm9jZXNzZWRcclxuICAgICAgcmVzdWx0ID0gcmVzdWx0LmZpbHRlcigoeDogYW55KSA9PiB4ICYmICgheC5lbnRpdHlBc3BlY3QgfHwgIXguZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlLmlzRGVsZXRlZCgpKSk7XHJcbiAgICB9XHJcblxyXG4gICAgcmV0dXJuIHJlc3VsdDtcclxuICB9XHJcblxyXG4gIHByb2Nlc3NEZWZlcnJlZCgpIHtcclxuICAgIGlmICh0aGlzLmRlZmVycmVkRm5zLmxlbmd0aCA+IDApIHtcclxuICAgICAgdGhpcy5kZWZlcnJlZEZucy5mb3JFYWNoKChmbikgPT4ge1xyXG4gICAgICAgIGZuKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxufVxyXG5NYXBwaW5nQ29udGV4dC5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiTWFwcGluZ0NvbnRleHRcIjtcclxuXHJcblxyXG5mdW5jdGlvbiBwcm9jZXNzTWV0YShtYzogTWFwcGluZ0NvbnRleHQsIG5vZGU6IGFueSwgbWV0YTogTm9kZU1ldGEsIGFzc2lnbkZuPzogKHZhbDogYW55KSA9PiB2b2lkKSB7XHJcbiAgLy8gPT0gaXMgZGVsaWJlcmF0ZSBoZXJlIGluc3RlYWQgb2YgPT09XHJcbiAgaWYgKG1ldGEuaWdub3JlIHx8IG5vZGUgPT0gbnVsbCkge1xyXG4gICAgcmV0dXJuIG51bGw7XHJcbiAgfSBlbHNlIGlmIChtZXRhLm5vZGVSZWZJZCkge1xyXG4gICAgbGV0IHJlZlZhbHVlID0gcmVzb2x2ZUVudGl0eVJlZihtYywgbWV0YS5ub2RlUmVmSWQpO1xyXG4gICAgaWYgKHR5cGVvZiByZWZWYWx1ZSA9PT0gXCJmdW5jdGlvblwiICYmIGFzc2lnbkZuICE9IG51bGwpIHtcclxuICAgICAgbWMuZGVmZXJyZWRGbnMucHVzaChmdW5jdGlvbiAoKSB7XHJcbiAgICAgICAgYXNzaWduRm4ocmVmVmFsdWUpO1xyXG4gICAgICB9KTtcclxuICAgICAgcmV0dXJuIHVuZGVmaW5lZDsgLy8gZGVmZXJyZWQgYW5kIHdpbGwgYmUgc2V0IGxhdGVyO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHJlZlZhbHVlO1xyXG4gIH0gZWxzZSBpZiAobWV0YS5lbnRpdHlUeXBlKSB7XHJcbiAgICBsZXQgZW50aXR5VHlwZSA9IG1ldGEuZW50aXR5VHlwZTtcclxuICAgIGlmIChtYy5tZXJnZU9wdGlvbnMubm9UcmFja2luZykge1xyXG4gICAgICBub2RlID0gcHJvY2Vzc05vTWVyZ2UobWMsIGVudGl0eVR5cGUsIG5vZGUpO1xyXG4gICAgICBpZiAoZW50aXR5VHlwZS5ub1RyYWNraW5nRm4pIHtcclxuICAgICAgICBub2RlID0gZW50aXR5VHlwZS5ub1RyYWNraW5nRm4obm9kZSwgZW50aXR5VHlwZSk7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKG1ldGEubm9kZUlkKSB7XHJcbiAgICAgICAgbWMucmVmTWFwW21ldGEubm9kZUlkXSA9IG5vZGU7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIG5vZGU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoZW50aXR5VHlwZS5pc0NvbXBsZXhUeXBlKSB7XHJcbiAgICAgICAgLy8gYmVjYXVzZSB3ZSBzdGlsbCBuZWVkIHRvIGRvIHNlcnZlck5hbWUgdG8gY2xpZW50IG5hbWUgcHJvY2Vzc2luZ1xyXG4gICAgICAgIHJldHVybiBwcm9jZXNzTm9NZXJnZShtYywgZW50aXR5VHlwZSwgbm9kZSk7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuIG1lcmdlRW50aXR5KG1jLCBub2RlLCBtZXRhKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcblxyXG4gICAgaWYgKCghbWV0YS5wYXNzVGhydSkgJiYgdHlwZW9mIG5vZGUgPT09ICdvYmplY3QnICYmICEgY29yZS5pc0RhdGUobm9kZSkpIHtcclxuICAgICAgbm9kZSA9IHByb2Nlc3NBbm9uVHlwZShtYywgbm9kZSk7XHJcbiAgICB9XHJcblxyXG4gICAgLy8gdXBkYXRpbmcgdGhlIHJlZk1hcCBmb3IgZW50aXRpZXMgaXMgaGFuZGxlZCBieSB1cGRhdGVFbnRpdHlSZWYgZm9yIGVudGl0aWVzLlxyXG4gICAgaWYgKG1ldGEubm9kZUlkKSB7XHJcbiAgICAgIG1jLnJlZk1hcFttZXRhLm5vZGVJZF0gPSBub2RlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG5vZGU7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBwcm9jZXNzTm9NZXJnZShtYzogTWFwcGluZ0NvbnRleHQsIHN0eXBlOiBTdHJ1Y3R1cmFsVHlwZSwgbm9kZTogYW55KSB7XHJcbiAgbGV0IHJlc3VsdCA9IHt9IGFzIFJlY29yZDxzdHJpbmcsIGFueT47XHJcblxyXG4gIHN0eXBlLmRhdGFQcm9wZXJ0aWVzLmZvckVhY2goZnVuY3Rpb24gKGRwKSB7XHJcbiAgICBpZiAoZHAuaXNDb21wbGV4UHJvcGVydHkpIHtcclxuICAgICAgcmVzdWx0W2RwLm5hbWVdID0gY29yZS5tYXAobm9kZVtkcC5uYW1lT25TZXJ2ZXJdLCAodjogYW55KSA9PiB7XHJcbiAgICAgICAgcmV0dXJuIHByb2Nlc3NOb01lcmdlKG1jLCBkcC5kYXRhVHlwZSBhcyBhbnksIHYpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJlc3VsdFtkcC5uYW1lXSA9IERhdGFUeXBlLnBhcnNlUmF3VmFsdWUobm9kZVtkcC5uYW1lT25TZXJ2ZXJdLCBkcC5kYXRhVHlwZSBhcyBEYXRhVHlwZSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIChzdHlwZSBpbnN0YW5jZW9mIEVudGl0eVR5cGUpICYmIHN0eXBlLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZvckVhY2goIChucCkgPT4ge1xyXG4gICAgbGV0IG5vZGVDb250ZXh0ID0geyBub2RlVHlwZTogXCJuYXZQcm9wXCIsIG5hdmlnYXRpb25Qcm9wZXJ0eTogbnAgfTtcclxuICAgIHZpc2l0Tm9kZShub2RlW25wLm5hbWVPblNlcnZlcl0sIG1jLCBub2RlQ29udGV4dCwgcmVzdWx0LCBucC5uYW1lKTtcclxuICB9KTtcclxuXHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZnVuY3Rpb24gcHJvY2Vzc0Fub25UeXBlKG1jOiBNYXBwaW5nQ29udGV4dCwgbm9kZTogYW55KSB7XHJcbiAgLy8gbm9kZSBpcyBndWFyYW50ZWVkIHRvIGJlIGFuIG9iamVjdCBieSB0aGlzIHBvaW50LCBpLmUuIG5vdCBhIHNjYWxhclxyXG4gIGxldCBrZXlGbiA9IG1jLm1ldGFkYXRhU3RvcmUubmFtaW5nQ29udmVudGlvbi5zZXJ2ZXJQcm9wZXJ0eU5hbWVUb0NsaWVudDtcclxuICBsZXQgcmVzdWx0ID0ge307XHJcblxyXG4gIGNvcmUub2JqZWN0Rm9yRWFjaChub2RlLCBmdW5jdGlvbiAoa2V5LCB2YWx1ZSkge1xyXG4gICAgbGV0IG5ld0tleSA9IGtleUZuKGtleSk7XHJcbiAgICBsZXQgbm9kZUNvbnRleHQgPSB7IG5vZGVUeXBlOiBcImFub25Qcm9wXCIsIHByb3BlcnR5TmFtZTogbmV3S2V5IH07XHJcbiAgICB2aXNpdE5vZGUodmFsdWUsIG1jLCBub2RlQ29udGV4dCwgcmVzdWx0LCBuZXdLZXkpO1xyXG4gIH0pO1xyXG4gIHJldHVybiByZXN1bHQ7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHZpc2l0Tm9kZShub2RlOiBhbnksIG1jOiBNYXBwaW5nQ29udGV4dCwgbm9kZUNvbnRleHQ6IE5vZGVDb250ZXh0LCByZXN1bHQ6IFJlY29yZDxzdHJpbmcsIGFueT4sIGtleTogc3RyaW5nKSB7XHJcbiAgbGV0IGpyYSA9IG1jLmpzb25SZXN1bHRzQWRhcHRlcjtcclxuICBsZXQgbWV0YSA9IGpyYS52aXNpdE5vZGUobm9kZSwgbWMsIG5vZGVDb250ZXh0KSB8fCB7fTtcclxuICAvLyBhbGxvd3MgdmlzaXROb2RlIHRvIGNoYW5nZSB0aGUgdmFsdWU7XHJcbiAgbm9kZSA9IG1ldGEubm9kZSB8fCBub2RlO1xyXG5cclxuICBpZiAobWV0YS5pZ25vcmUpIHJldHVybjtcclxuICBpZiAobWV0YS5wYXNzVGhydSkgcmV0dXJuIG5vZGU7XHJcbiAgaWYgKEFycmF5LmlzQXJyYXkobm9kZSkpIHtcclxuICAgIG5vZGVDb250ZXh0Lm5vZGVUeXBlID0gbm9kZUNvbnRleHQubm9kZVR5cGUgKyBcIkl0ZW1cIjtcclxuICAgIHJlc3VsdFtrZXldID0gbm9kZS5tYXAoZnVuY3Rpb24gKHYsIGl4KSB7XHJcbiAgICAgIG1ldGEgPSBqcmEudmlzaXROb2RlKHYsIG1jLCBub2RlQ29udGV4dCkgfHwge307XHJcbiAgICAgIHYgPSBtZXRhLm5vZGUgfHwgdjtcclxuICAgICAgcmV0dXJuIHByb2Nlc3NNZXRhKG1jLCB2LCBtZXRhLCBmdW5jdGlvbiAocmVmVmFsdWUpIHtcclxuICAgICAgICByZXN1bHRba2V5XVtpeF0gPSByZWZWYWx1ZSgpO1xyXG4gICAgICB9KTtcclxuICAgIH0pO1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXN1bHRba2V5XSA9IHByb2Nlc3NNZXRhKG1jLCBub2RlLCBtZXRhLCBmdW5jdGlvbiAocmVmVmFsdWUpIHtcclxuICAgICAgcmVzdWx0W2tleV0gPSByZWZWYWx1ZSgpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiByZXNvbHZlRW50aXR5UmVmKG1jOiBNYXBwaW5nQ29udGV4dCwgbm9kZVJlZklkOiBzdHJpbmcpIHtcclxuICBsZXQgZW50aXR5ID0gbWMucmVmTWFwW25vZGVSZWZJZF07XHJcbiAgaWYgKGVudGl0eSA9PT0gdW5kZWZpbmVkKSB7XHJcbiAgICByZXR1cm4gZnVuY3Rpb24gKCkge1xyXG4gICAgICByZXR1cm4gbWMucmVmTWFwW25vZGVSZWZJZF07XHJcbiAgICB9O1xyXG4gIH0gZWxzZSB7XHJcbiAgICByZXR1cm4gZW50aXR5O1xyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gdXBkYXRlRW50aXR5UmVmKG1jOiBNYXBwaW5nQ29udGV4dCwgdGFyZ2V0RW50aXR5OiBhbnksIG5vZGU6IGFueSkge1xyXG4gIGxldCBub2RlSWQgPSBub2RlLl8kbWV0YS5ub2RlSWQ7XHJcbiAgaWYgKCFub2RlSWQgJiYgbm9kZS5fJG1ldGEuZXh0cmFNZXRhZGF0YSkge1xyXG4gICAgLy8gb2RhdGEgY2FzZS4gIHJlZk1hcCBpc24ndCByZWFsbHkgdXNlZCwgYnV0IGlzIHJldHVybmVkIGFzIGRhdGEucmV0cmlldmVkRW50aXRpZXMsIHNvIHdlIHBvcHVsYXRlZCBpdCBhbnl3YXkuXHJcbiAgICBub2RlSWQgPSBub2RlLl8kbWV0YS5leHRyYU1ldGFkYXRhLnVyaUtleTtcclxuICB9XHJcbiAgaWYgKG5vZGVJZCAhPSBudWxsKSB7XHJcbiAgICBtYy5yZWZNYXBbbm9kZUlkXSA9IHRhcmdldEVudGl0eTtcclxuICB9XHJcbn1cclxuXHJcbi8vIGNhbiByZXR1cm4gbnVsbCBmb3IgYSBkZWxldGVkIGVudGl0eSBpZiBpbmNsdWRlRGVsZXRlZCA9PSBmYWxzZVxyXG5mdW5jdGlvbiBtZXJnZUVudGl0eShtYzogTWFwcGluZ0NvbnRleHQsIG5vZGU6IGFueSwgbWV0YTogTm9kZU1ldGEpIHtcclxuICBub2RlLl8kbWV0YSA9IG1ldGE7XHJcbiAgbGV0IGVtID0gbWMuZW50aXR5TWFuYWdlcjtcclxuXHJcbiAgbGV0IGVudGl0eVR5cGUgPSBtZXRhLmVudGl0eVR5cGUgYXMgRW50aXR5VHlwZTtcclxuICBpZiAodHlwZW9mIChlbnRpdHlUeXBlKSA9PT0gJ3N0cmluZycpIHtcclxuICAgIGVudGl0eVR5cGUgPSBtYy5tZXRhZGF0YVN0b3JlLl9nZXRTdHJ1Y3R1cmFsVHlwZShlbnRpdHlUeXBlLCBmYWxzZSkgYXMgRW50aXR5VHlwZTtcclxuICB9XHJcbiAgbm9kZS5lbnRpdHlUeXBlID0gZW50aXR5VHlwZTtcclxuXHJcbiAgbGV0IG1lcmdlU3RyYXRlZ3kgPSBtYy5tZXJnZU9wdGlvbnMubWVyZ2VTdHJhdGVneTtcclxuICBsZXQgaXNTYXZpbmcgPSBtYy5xdWVyeSA9PSBudWxsO1xyXG5cclxuICBsZXQgZW50aXR5S2V5ID0gZW50aXR5VHlwZS5nZXRFbnRpdHlLZXlGcm9tUmF3RW50aXR5KG5vZGUsIG1jLnJhd1ZhbHVlRm4pO1xyXG4gIGxldCB0YXJnZXRFbnRpdHkgPSBlbS5nZXRFbnRpdHlCeUtleShlbnRpdHlLZXkpO1xyXG4gIGlmICh0YXJnZXRFbnRpdHkpIHtcclxuICAgIGlmIChpc1NhdmluZyAmJiB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlLmlzRGVsZXRlZCgpKSB7XHJcbiAgICAgIGVtLmRldGFjaEVudGl0eSh0YXJnZXRFbnRpdHkpO1xyXG4gICAgICByZXR1cm4gdGFyZ2V0RW50aXR5O1xyXG4gICAgfVxyXG4gICAgbGV0IHRhcmdldEVudGl0eVN0YXRlID0gdGFyZ2V0RW50aXR5LmVudGl0eUFzcGVjdC5lbnRpdHlTdGF0ZTtcclxuICAgIGlmIChtZXJnZVN0cmF0ZWd5ID09PSBNZXJnZVN0cmF0ZWd5LkRpc2FsbG93ZWQpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwiQSBNZXJnZVN0cmF0ZWd5IG9mICdEaXNhbGxvd2VkJyBwcmV2ZW50cyBcIiArIGVudGl0eUtleS50b1N0cmluZygpICsgXCIgZnJvbSBiZWluZyBtZXJnZWRcIik7XHJcbiAgICB9IGVsc2UgaWYgKG1lcmdlU3RyYXRlZ3kgPT09IE1lcmdlU3RyYXRlZ3kuU2tpcE1lcmdlKSB7XHJcbiAgICAgIHVwZGF0ZUVudGl0eU5vTWVyZ2UobWMsIHRhcmdldEVudGl0eSwgbm9kZSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAobWVyZ2VTdHJhdGVneSA9PT0gTWVyZ2VTdHJhdGVneS5PdmVyd3JpdGVDaGFuZ2VzXHJcbiAgICAgICAgfHwgdGFyZ2V0RW50aXR5U3RhdGUuaXNVbmNoYW5nZWQoKSkge1xyXG4gICAgICAgIHVwZGF0ZUVudGl0eShtYywgdGFyZ2V0RW50aXR5LCBub2RlKTtcclxuICAgICAgICB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0Lndhc0xvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgaWYgKG1ldGEuZXh0cmFNZXRhZGF0YSkge1xyXG4gICAgICAgICAgdGFyZ2V0RW50aXR5LmVudGl0eUFzcGVjdC5leHRyYU1ldGFkYXRhID0gbWV0YS5leHRyYU1ldGFkYXRhO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlID0gRW50aXR5U3RhdGUuVW5jaGFuZ2VkO1xyXG4gICAgICAgIGNsZWFyT3JpZ2luYWxWYWx1ZXModGFyZ2V0RW50aXR5KTtcclxuICAgICAgICAvLyBwcm9wZXJ0eU5hbWUgbm90IHNwZWNpZmllZCBiZWNhdXNlIG11bHRpcGxlIHByb3BzIEVudGl0eUNoYW5nZWRFdmVudEFyZ3NcclxuICAgICAgICB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0LnByb3BlcnR5Q2hhbmdlZC5wdWJsaXNoKHsgZW50aXR5OiB0YXJnZXRFbnRpdHksIHByb3BlcnR5TmFtZTogbnVsbCB9KTtcclxuICAgICAgICBsZXQgYWN0aW9uID0gaXNTYXZpbmcgPyBFbnRpdHlBY3Rpb24uTWVyZ2VPblNhdmUgOiBFbnRpdHlBY3Rpb24uTWVyZ2VPblF1ZXJ5O1xyXG4gICAgICAgIGVtLmVudGl0eUNoYW5nZWQucHVibGlzaCh7IGVudGl0eUFjdGlvbjogYWN0aW9uLCBlbnRpdHk6IHRhcmdldEVudGl0eSB9KTtcclxuICAgICAgICAvLyB0aGlzIGlzIG5lZWRlZCB0byBoYW5kbGUgYW4gb3ZlcndyaXRlIG9mIGEgbW9kaWZpZWQgZW50aXR5IHdpdGggYW4gdW5jaGFuZ2VkIGVudGl0eVxyXG4gICAgICAgIC8vIHdoaWNoIG1pZ2h0IGluIHR1cm4gY2F1c2UgX2hhc0NoYW5nZXMgdG8gY2hhbmdlLlxyXG4gICAgICAgIGlmICghdGFyZ2V0RW50aXR5U3RhdGUuaXNVbmNoYW5nZWQoKSkge1xyXG4gICAgICAgICAgZW0uX25vdGlmeVN0YXRlQ2hhbmdlKHRhcmdldEVudGl0eSwgZmFsc2UpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICAvLyBwcm9jZXNzIHRhcmdldEVudGl0eSAoZXZlbiBpZiBkZWxldGVkKSB0byBlbnN1cmUgcmVsYXRlZCBub2RlcyBhcmUgaGFuZGxlZFxyXG4gICAgICAgIHVwZGF0ZUVudGl0eU5vTWVyZ2UobWMsIHRhcmdldEVudGl0eSwgbm9kZSk7XHJcbiAgICAgICAgaWYgKHRhcmdldEVudGl0eVN0YXRlID09PSBFbnRpdHlTdGF0ZS5EZWxldGVkICYmICFtYy5tZXJnZU9wdGlvbnMuaW5jbHVkZURlbGV0ZWQpIHtcclxuICAgICAgICAgIHJldHVybiBudWxsO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH0gZWxzZSB7XHJcbiAgICB0YXJnZXRFbnRpdHkgPSBlbnRpdHlUeXBlLl9jcmVhdGVJbnN0YW5jZUNvcmUoKSBhcyBFbnRpdHk7XHJcblxyXG4gICAgdXBkYXRlRW50aXR5KG1jLCB0YXJnZXRFbnRpdHksIG5vZGUpO1xyXG5cclxuICAgIGlmIChtZXRhLmV4dHJhTWV0YWRhdGEpIHtcclxuICAgICAgdGFyZ2V0RW50aXR5LmVudGl0eUFzcGVjdC5leHRyYU1ldGFkYXRhID0gbWV0YS5leHRyYU1ldGFkYXRhO1xyXG4gICAgfVxyXG4gICAgLy8gZW0uX2F0dGFjaEVudGl0eUNvcmUodGFyZ2V0RW50aXR5LCBFbnRpdHlTdGF0ZS5VbmNoYW5nZWQsIE1lcmdlU3RyYXRlZ3kuRGlzYWxsb3dlZCk7XHJcbiAgICBlbS5fYXR0YWNoRW50aXR5Q29yZSh0YXJnZXRFbnRpdHksIEVudGl0eVN0YXRlLlVuY2hhbmdlZCwgbWVyZ2VTdHJhdGVneSk7XHJcbiAgICB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0Lndhc0xvYWRlZCA9IHRydWU7XHJcbiAgICBlbS5lbnRpdHlDaGFuZ2VkLnB1Ymxpc2goeyBlbnRpdHlBY3Rpb246IEVudGl0eUFjdGlvbi5BdHRhY2hPblF1ZXJ5LCBlbnRpdHk6IHRhcmdldEVudGl0eSB9KTtcclxuICB9XHJcbiAgcmV0dXJuIHRhcmdldEVudGl0eTtcclxufVxyXG5cclxuLy8gY29waWVkIGZyb20gZW50aXR5QXNwZWN0XHJcbmZ1bmN0aW9uIGNsZWFyT3JpZ2luYWxWYWx1ZXModGFyZ2V0OiBhbnkpIHtcclxuICBsZXQgYXNwZWN0ID0gdGFyZ2V0LmVudGl0eUFzcGVjdCB8fCB0YXJnZXQuY29tcGxleEFzcGVjdDtcclxuICBhc3BlY3Qub3JpZ2luYWxWYWx1ZXMgPSB7fTtcclxuICBsZXQgc3R5cGUgPSB0YXJnZXQuZW50aXR5VHlwZSB8fCB0YXJnZXQuY29tcGxleFR5cGU7XHJcbiAgc3R5cGUuY29tcGxleFByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbiAoY3A6IGFueSkge1xyXG4gICAgbGV0IGNvcyA9IHRhcmdldC5nZXRQcm9wZXJ0eShjcC5uYW1lKTtcclxuICAgIGlmIChjcC5pc1NjYWxhcikge1xyXG4gICAgICBjbGVhck9yaWdpbmFsVmFsdWVzKGNvcyk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBjb3MuX2FjY2VwdENoYW5nZXMoKTtcclxuICAgICAgY29zLmZvckVhY2goY2xlYXJPcmlnaW5hbFZhbHVlcyk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcblxyXG5mdW5jdGlvbiB1cGRhdGVFbnRpdHlOb01lcmdlKG1jOiBNYXBwaW5nQ29udGV4dCwgdGFyZ2V0RW50aXR5OiBFbnRpdHksIG5vZGU6IGFueSkge1xyXG4gIHVwZGF0ZUVudGl0eVJlZihtYywgdGFyZ2V0RW50aXR5LCBub2RlKTtcclxuICAvLyB3ZSBzdGlsbCBuZWVkIHRvIG1lcmdlIHJlbGF0ZWQgZW50aXRpZXMgZXZlbiBpZiB0b3AgbGV2ZWwgZW50aXR5IHdhc24ndCBtb2RpZmllZC5cclxuICBub2RlLmVudGl0eVR5cGUubmF2aWdhdGlvblByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbiAobnA6IE5hdmlnYXRpb25Qcm9wZXJ0eSkge1xyXG4gICAgaWYgKG5wLmlzU2NhbGFyKSB7XHJcbiAgICAgIG1lcmdlUmVsYXRlZEVudGl0eUNvcmUobWMsIG5vZGUsIG5wKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1lcmdlUmVsYXRlZEVudGl0aWVzQ29yZShtYywgbm9kZSwgbnApO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiB1cGRhdGVFbnRpdHkobWM6IE1hcHBpbmdDb250ZXh0LCB0YXJnZXRFbnRpdHk6IEVudGl0eSwgbm9kZTogYW55KSB7XHJcbiAgdXBkYXRlRW50aXR5UmVmKG1jLCB0YXJnZXRFbnRpdHksIG5vZGUpO1xyXG4gIGxldCBlbnRpdHlUeXBlID0gdGFyZ2V0RW50aXR5LmVudGl0eVR5cGU7XHJcbiAgZW50aXR5VHlwZS5fdXBkYXRlVGFyZ2V0RnJvbVJhdyh0YXJnZXRFbnRpdHksIG5vZGUsIG1jLnJhd1ZhbHVlRm4pO1xyXG5cclxuICBlbnRpdHlUeXBlLm5hdmlnYXRpb25Qcm9wZXJ0aWVzLmZvckVhY2goZnVuY3Rpb24gKG5wKSB7XHJcbiAgICBpZiAobnAuaXNTY2FsYXIpIHtcclxuICAgICAgbWVyZ2VSZWxhdGVkRW50aXR5KG1jLCBucCwgdGFyZ2V0RW50aXR5LCBub2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIG1lcmdlUmVsYXRlZEVudGl0aWVzKG1jLCBucCwgdGFyZ2V0RW50aXR5LCBub2RlKTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuZnVuY3Rpb24gbWVyZ2VSZWxhdGVkRW50aXR5KG1jOiBNYXBwaW5nQ29udGV4dCwgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHksIHRhcmdldEVudGl0eTogRW50aXR5LCByYXdFbnRpdHk6IGFueSkge1xyXG5cclxuICBsZXQgcmVsYXRlZEVudGl0eSA9IG1lcmdlUmVsYXRlZEVudGl0eUNvcmUobWMsIHJhd0VudGl0eSwgbmF2aWdhdGlvblByb3BlcnR5KTtcclxuICBpZiAocmVsYXRlZEVudGl0eSA9PSBudWxsKSByZXR1cm47XHJcbiAgaWYgKHR5cGVvZiByZWxhdGVkRW50aXR5ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICBtYy5kZWZlcnJlZEZucy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgcmVsYXRlZEVudGl0eSA9IHJlbGF0ZWRFbnRpdHkoKTtcclxuICAgICAgdXBkYXRlUmVsYXRlZEVudGl0eShyZWxhdGVkRW50aXR5LCB0YXJnZXRFbnRpdHksIG5hdmlnYXRpb25Qcm9wZXJ0eSk7XHJcbiAgICB9KTtcclxuICB9IGVsc2Uge1xyXG4gICAgdXBkYXRlUmVsYXRlZEVudGl0eShyZWxhdGVkRW50aXR5LCB0YXJnZXRFbnRpdHksIG5hdmlnYXRpb25Qcm9wZXJ0eSk7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZVJlbGF0ZWRFbnRpdGllcyhtYzogTWFwcGluZ0NvbnRleHQsIG5hdmlnYXRpb25Qcm9wZXJ0eTogTmF2aWdhdGlvblByb3BlcnR5LCB0YXJnZXRFbnRpdHk6IEVudGl0eSwgcmF3RW50aXR5OiBhbnkpIHtcclxuICBsZXQgcmVsYXRlZEVudGl0aWVzID0gbWVyZ2VSZWxhdGVkRW50aXRpZXNDb3JlKG1jLCByYXdFbnRpdHksIG5hdmlnYXRpb25Qcm9wZXJ0eSk7XHJcbiAgaWYgKHJlbGF0ZWRFbnRpdGllcyA9PSBudWxsKSByZXR1cm47XHJcblxyXG4gIGxldCBpbnZlcnNlUHJvcGVydHkgPSBuYXZpZ2F0aW9uUHJvcGVydHkuaW52ZXJzZTtcclxuICBpZiAoIWludmVyc2VQcm9wZXJ0eSkgcmV0dXJuO1xyXG5cclxuICBsZXQgb3JpZ2luYWxSZWxhdGVkRW50aXRpZXMgPSB0YXJnZXRFbnRpdHkuZ2V0UHJvcGVydHkobmF2aWdhdGlvblByb3BlcnR5Lm5hbWUpO1xyXG4gIG9yaWdpbmFsUmVsYXRlZEVudGl0aWVzLndhc0xvYWRlZCA9IHRydWU7XHJcblxyXG4gIHJlbGF0ZWRFbnRpdGllcy5mb3JFYWNoKGZ1bmN0aW9uIChyZWxhdGVkRW50aXR5OiBhbnkpIHtcclxuICAgIGlmICh0eXBlb2YgcmVsYXRlZEVudGl0eSA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBtYy5kZWZlcnJlZEZucy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICByZWxhdGVkRW50aXR5ID0gcmVsYXRlZEVudGl0eSgpO1xyXG4gICAgICAgIHVwZGF0ZVJlbGF0ZWRFbnRpdHlJbkNvbGxlY3Rpb24obWMsIHJlbGF0ZWRFbnRpdHksIG9yaWdpbmFsUmVsYXRlZEVudGl0aWVzLCB0YXJnZXRFbnRpdHksIGludmVyc2VQcm9wZXJ0eSBhcyBOYXZpZ2F0aW9uUHJvcGVydHkpO1xyXG4gICAgICB9KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHVwZGF0ZVJlbGF0ZWRFbnRpdHlJbkNvbGxlY3Rpb24obWMsIHJlbGF0ZWRFbnRpdHksIG9yaWdpbmFsUmVsYXRlZEVudGl0aWVzLCB0YXJnZXRFbnRpdHksIGludmVyc2VQcm9wZXJ0eSBhcyBOYXZpZ2F0aW9uUHJvcGVydHkpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZVJlbGF0ZWRFbnRpdHlDb3JlKG1jOiBNYXBwaW5nQ29udGV4dCwgcmF3RW50aXR5OiBhbnksIG5hdmlnYXRpb25Qcm9wZXJ0eTogTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgbGV0IHJlbGF0ZWRSYXdFbnRpdHkgPSByYXdFbnRpdHlbbmF2aWdhdGlvblByb3BlcnR5Lm5hbWVPblNlcnZlcl07XHJcbiAgaWYgKCFyZWxhdGVkUmF3RW50aXR5KSByZXR1cm4gbnVsbDtcclxuXHJcbiAgbGV0IHJlbGF0ZWRFbnRpdHkgPSBtYy52aXNpdEFuZE1lcmdlKHJlbGF0ZWRSYXdFbnRpdHksIHsgbm9kZVR5cGU6IFwibmF2UHJvcFwiLCBuYXZpZ2F0aW9uUHJvcGVydHk6IG5hdmlnYXRpb25Qcm9wZXJ0eSB9KTtcclxuICByZXR1cm4gcmVsYXRlZEVudGl0eTtcclxufVxyXG5cclxuZnVuY3Rpb24gbWVyZ2VSZWxhdGVkRW50aXRpZXNDb3JlKG1jOiBNYXBwaW5nQ29udGV4dCwgcmF3RW50aXR5OiBhbnksIG5hdmlnYXRpb25Qcm9wZXJ0eTogTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgbGV0IHJlbGF0ZWRSYXdFbnRpdGllcyA9IHJhd0VudGl0eVtuYXZpZ2F0aW9uUHJvcGVydHkubmFtZU9uU2VydmVyXTtcclxuICBpZiAoIXJlbGF0ZWRSYXdFbnRpdGllcykgcmV0dXJuIG51bGw7XHJcblxyXG4gIC8vIG5lZWRlZCBpZiB3aGF0IGlzIHJldHVybmVkIGlzIG5vdCBhbiBhcnJheSBhbmQgd2UgZXhwZWN0IG9uZSAtIHRoaXMgaGFwcGVucyB3aXRoIF9fZGVmZXJyZWQgaW4gT0RhdGEuXHJcbiAgaWYgKCFBcnJheS5pc0FycmF5KHJlbGF0ZWRSYXdFbnRpdGllcykpIHtcclxuICAgIC8vIHJldHVybiBudWxsO1xyXG4gICAgcmVsYXRlZFJhd0VudGl0aWVzID0gcmVsYXRlZFJhd0VudGl0aWVzLnJlc3VsdHM7IC8vIE9EYXRhIHYzIHdpbGwgbG9vayBsaWtlIHRoaXMgd2l0aCBhbiBleHBhbmRcclxuICAgIGlmICghcmVsYXRlZFJhd0VudGl0aWVzKSB7XHJcbiAgICAgIHJldHVybiBudWxsO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbGV0IHJlbGF0ZWRFbnRpdGllcyA9IG1jLnZpc2l0QW5kTWVyZ2UocmVsYXRlZFJhd0VudGl0aWVzLCB7IG5vZGVUeXBlOiBcIm5hdlByb3BJdGVtXCIsIG5hdmlnYXRpb25Qcm9wZXJ0eTogbmF2aWdhdGlvblByb3BlcnR5IH0pO1xyXG4gIHJldHVybiByZWxhdGVkRW50aXRpZXM7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZVJlbGF0ZWRFbnRpdHkocmVsYXRlZEVudGl0eTogRW50aXR5LCB0YXJnZXRFbnRpdHk6IEVudGl0eSwgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHkpIHtcclxuICBpZiAoIXJlbGF0ZWRFbnRpdHkpIHJldHVybjtcclxuICBsZXQgcHJvcE5hbWUgPSBuYXZpZ2F0aW9uUHJvcGVydHkubmFtZTtcclxuICBsZXQgY3VycmVudFJlbGF0ZWRFbnRpdHkgPSB0YXJnZXRFbnRpdHkuZ2V0UHJvcGVydHkocHJvcE5hbWUpO1xyXG5cclxuICAvLyBjaGVjayBpZiB0aGUgcmVsYXRlZCBlbnRpdHkgaXMgYWxyZWFkeSBob29rZWQgdXBcclxuICBpZiAoY3VycmVudFJlbGF0ZWRFbnRpdHkgIT09IHJlbGF0ZWRFbnRpdHkpIHtcclxuICAgIC8vIGlmIG5vdCBob29rIHVwIGJvdGggZGlyZWN0aW9ucy5cclxuICAgIHRhcmdldEVudGl0eS5zZXRQcm9wZXJ0eShwcm9wTmFtZSwgcmVsYXRlZEVudGl0eSk7XHJcbiAgICBsZXQgaW52ZXJzZVByb3BlcnR5ID0gbmF2aWdhdGlvblByb3BlcnR5LmludmVyc2U7XHJcbiAgICBpZiAoIWludmVyc2VQcm9wZXJ0eSkgcmV0dXJuO1xyXG4gICAgaWYgKGludmVyc2VQcm9wZXJ0eS5pc1NjYWxhcikge1xyXG4gICAgICByZWxhdGVkRW50aXR5LnNldFByb3BlcnR5KGludmVyc2VQcm9wZXJ0eS5uYW1lLCB0YXJnZXRFbnRpdHkpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbGV0IGNvbGxlY3Rpb24gPSByZWxhdGVkRW50aXR5LmdldFByb3BlcnR5KGludmVyc2VQcm9wZXJ0eS5uYW1lKTtcclxuICAgICAgY29sbGVjdGlvbi5wdXNoKHRhcmdldEVudGl0eSk7XHJcblxyXG4gICAgfVxyXG4gIH1cclxufVxyXG5cclxuZnVuY3Rpb24gdXBkYXRlUmVsYXRlZEVudGl0eUluQ29sbGVjdGlvbihtYzogTWFwcGluZ0NvbnRleHQsIHJlbGF0ZWRFbnRpdHk6IEVudGl0eSB8IHVuZGVmaW5lZCxcclxuICAgIHJlbGF0ZWRFbnRpdGllczogRW50aXR5W10sIHRhcmdldEVudGl0eTogRW50aXR5LCBpbnZlcnNlUHJvcGVydHk6IE5hdmlnYXRpb25Qcm9wZXJ0eSkge1xyXG4gIGlmICghcmVsYXRlZEVudGl0eSkgcmV0dXJuO1xyXG5cclxuICAvLyBkb24ndCB1cGRhdGUgcmVsYXRlZENvbGxlY3Rpb24gaWYgcHJlc2VydmVDaGFuZ2VzICYgcmVsYXRlZEVudGl0eSBoYXMgYW4gZmtDaGFuZ2UuXHJcbiAgaWYgKHJlbGF0ZWRFbnRpdHkuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlID09PSBFbnRpdHlTdGF0ZS5Nb2RpZmllZFxyXG4gICAgJiYgbWMubWVyZ2VPcHRpb25zLm1lcmdlU3RyYXRlZ3kgPT09IE1lcmdlU3RyYXRlZ3kuUHJlc2VydmVDaGFuZ2VzKSB7XHJcbiAgICBsZXQgb3JpZ1ZhbHVlcyA9IHJlbGF0ZWRFbnRpdHkuZW50aXR5QXNwZWN0Lm9yaWdpbmFsVmFsdWVzO1xyXG4gICAgbGV0IGZrV2FzTW9kaWZpZWQgPSBpbnZlcnNlUHJvcGVydHkucmVsYXRlZERhdGFQcm9wZXJ0aWVzLnNvbWUoZnVuY3Rpb24gKGRwKSB7XHJcbiAgICAgIHJldHVybiBvcmlnVmFsdWVzW2RwLm5hbWVdICE9IHVuZGVmaW5lZDtcclxuICAgIH0pO1xyXG4gICAgaWYgKGZrV2FzTW9kaWZpZWQpIHJldHVybjtcclxuICB9XHJcbiAgLy8gY2hlY2sgaWYgdGhlIHJlbGF0ZWQgZW50aXR5IGlzIGFscmVhZHkgaG9va2VkIHVwXHJcbiAgbGV0IHRoaXNFbnRpdHkgPSByZWxhdGVkRW50aXR5LmdldFByb3BlcnR5KGludmVyc2VQcm9wZXJ0eS5uYW1lKTtcclxuXHJcbiAgaWYgKHRoaXNFbnRpdHkgIT09IHRhcmdldEVudGl0eSkge1xyXG4gICAgLy8gaWYgbm90IC0gaG9vayBpdCB1cC5cclxuICAgIHJlbGF0ZWRFbnRpdGllcy5wdXNoKHJlbGF0ZWRFbnRpdHkpO1xyXG4gICAgcmVsYXRlZEVudGl0eS5zZXRQcm9wZXJ0eShpbnZlcnNlUHJvcGVydHkubmFtZSwgdGFyZ2V0RW50aXR5KTtcclxuICB9XHJcbn1cclxuXHJcblxyXG4iXX0=
|
|
413
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFwcGluZy1jb250ZXh0LmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9tYXBwaW5nLWNvbnRleHQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsUUFBUSxFQUFHLE1BQU0sYUFBYSxDQUFDO0FBRXhDLE9BQU8sRUFBRSxXQUFXLEVBQUcsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFpQixVQUFVLEVBQWtCLFlBQVksRUFBc0IsTUFBTSxtQkFBbUIsQ0FBQztBQUVoSCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBc0I3Qzs7OztFQUlFO0FBQ0Y7SUFpQkUsd0JBQVksTUFBNEI7UUFieEMsZUFBVSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLHFDQUFxQztRQWVwRixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksRUFBRSxNQUFNLEVBQUU7WUFDeEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxhQUFhLEVBQUUsY0FBYztTQUN4RCxDQUFDLENBQUM7UUFFSCxlQUFlO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxFQUFFLENBQUM7UUFDakIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGtCQUFrQixHQUFHLElBQUksQ0FBQyxXQUFXLENBQUMsa0JBQWtCLENBQUM7UUFDOUQsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLGFBQWEsQ0FBQztRQUN0RCxJQUFJLENBQUMsVUFBVSxHQUFHLFlBQVksQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLHFDQUFxQztJQUM3RixDQUFDO0lBRUQsK0JBQU0sR0FBTjtRQUNFLElBQUksS0FBSyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUM7UUFDdkIsSUFBSSxDQUFDLEtBQUssRUFBRTtZQUNWLE1BQU0sSUFBSSxLQUFLLENBQUMsdUJBQXVCLENBQUMsQ0FBQztTQUMxQztRQUNELElBQUksU0FBaUIsQ0FBQztRQUN0QixJQUFJLE9BQU8sS0FBSyxLQUFLLFFBQVEsRUFBRTtZQUM3QixTQUFTLEdBQUcsS0FBSyxDQUFDO1NBQ25CO2FBQU0sSUFBSSxLQUFLLFlBQVksV0FBVyxFQUFFO1lBQ3ZDLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxFQUFFLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQztTQUM5RTthQUFNO1lBQ0wsTUFBTSxJQUFJLEtBQUssQ0FBQywwRUFBMEUsQ0FBQyxDQUFDO1NBQzdGO1FBQ0QsT0FBTyxJQUFJLENBQUMsV0FBVyxDQUFDLFVBQVUsQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNoRCxDQUFDO0lBRUQsc0NBQWEsR0FBYixVQUFjLEtBQVksRUFBRSxXQUFnQjtRQUMxQyxJQUFJLEtBQUssR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDO1FBQ3ZCLElBQUksR0FBRyxHQUFHLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztRQUNsQyxXQUFXLEdBQUcsV0FBVyxJQUFJLEVBQUUsQ0FBQztRQUNoQyxJQUFJLElBQUksR0FBRyxJQUFJLENBQUM7UUFDaEIsSUFBSSxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEVBQUUsVUFBVSxJQUFJO1lBQ3pDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxJQUFJLENBQUMsWUFBWSxFQUFFO2dCQUN0QyxtRkFBbUY7Z0JBQ25GLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQUU7b0JBQzdDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxDQUFDO2lCQUN2QztxQkFBTTtvQkFDTCxJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxDQUFDO2lCQUNuQztnQkFDRCxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsSUFBSSxJQUFJLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUN4RCxJQUFJLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxJQUFJLENBQUM7WUFDekIsSUFBSSxLQUFLLElBQUksV0FBVyxDQUFDLFFBQVEsS0FBSyxNQUFNLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO2dCQUNoRSxJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssWUFBWSxXQUFXLElBQUssS0FBSyxDQUFDLGdCQUFnQixJQUFJLEtBQUssQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7YUFDekg7WUFDRCxPQUFPLFdBQVcsQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQ3ZDLENBQUMsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQyxDQUFDO1FBRXJDLElBQUksTUFBTSxDQUFDLE1BQU0sSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFO1lBQ3RELHdFQUF3RTtZQUN4RSxNQUFNLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFDLENBQU0sSUFBSyxPQUFBLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDLFlBQVksSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsRUFBRSxDQUFDLEVBQWpFLENBQWlFLENBQUMsQ0FBQztTQUN2RztRQUVELE9BQU8sTUFBTSxDQUFDO0lBQ2hCLENBQUM7SUFFRCx3Q0FBZSxHQUFmO1FBQ0UsSUFBSSxJQUFJLENBQUMsV0FBVyxDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7WUFDL0IsSUFBSSxDQUFDLFdBQVcsQ0FBQyxPQUFPLENBQUMsVUFBQyxFQUFFO2dCQUMxQixFQUFFLEVBQUUsQ0FBQztZQUNQLENBQUMsQ0FBQyxDQUFDO1NBQ0o7SUFDSCxDQUFDO0lBQ0gscUJBQUM7QUFBRCxDQUFDLEFBdEZELElBc0ZDOztBQUNELGNBQWMsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGdCQUFnQixDQUFDO0FBR3ZELFNBQVMsV0FBVyxDQUFDLEVBQWtCLEVBQUUsSUFBUyxFQUFFLElBQWMsRUFBRSxRQUE2QjtJQUMvRix1Q0FBdUM7SUFDdkMsSUFBSSxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksSUFBSSxJQUFJLEVBQUU7UUFDL0IsT0FBTyxJQUFJLENBQUM7S0FDYjtTQUFNLElBQUksSUFBSSxDQUFDLFNBQVMsRUFBRTtRQUN6QixJQUFJLFVBQVEsR0FBRyxnQkFBZ0IsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQ3BELElBQUksT0FBTyxVQUFRLEtBQUssVUFBVSxJQUFJLFFBQVEsSUFBSSxJQUFJLEVBQUU7WUFDdEQsRUFBRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUM7Z0JBQ2xCLFFBQVEsQ0FBQyxVQUFRLENBQUMsQ0FBQztZQUNyQixDQUFDLENBQUMsQ0FBQztZQUNILE9BQU8sU0FBUyxDQUFDLENBQUMsa0NBQWtDO1NBQ3JEO1FBQ0QsT0FBTyxVQUFRLENBQUM7S0FDakI7U0FBTSxJQUFJLElBQUksQ0FBQyxVQUFVLEVBQUU7UUFDMUIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQztRQUNqQyxJQUFJLEVBQUUsQ0FBQyxZQUFZLENBQUMsVUFBVSxFQUFFO1lBQzlCLElBQUksR0FBRyxjQUFjLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUM1QyxJQUFJLFVBQVUsQ0FBQyxZQUFZLEVBQUU7Z0JBQzNCLElBQUksR0FBRyxVQUFVLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxVQUFVLENBQUMsQ0FBQzthQUNsRDtZQUNELElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRTtnQkFDZixFQUFFLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsR0FBRyxJQUFJLENBQUM7YUFDL0I7WUFDRCxPQUFPLElBQUksQ0FBQztTQUNiO2FBQU07WUFDTCxJQUFJLFVBQVUsQ0FBQyxhQUFhLEVBQUU7Z0JBQzVCLG1FQUFtRTtnQkFDbkUsT0FBTyxjQUFjLENBQUMsRUFBRSxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQzthQUM3QztpQkFBTTtnQkFDTCxPQUFPLFdBQVcsQ0FBQyxFQUFFLEVBQUUsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO2FBQ3BDO1NBQ0Y7S0FDRjtTQUFNO1FBRUwsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLE9BQU8sSUFBSSxLQUFLLFFBQVEsSUFBSSxDQUFFLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDdkUsSUFBSSxHQUFHLGVBQWUsQ0FBQyxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEM7UUFFRCwrRUFBK0U7UUFDL0UsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFO1lBQ2YsRUFBRSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsSUFBSSxDQUFDO1NBQy9CO1FBQ0QsT0FBTyxJQUFJLENBQUM7S0FDYjtBQUNILENBQUM7QUFFRCxTQUFTLGNBQWMsQ0FBQyxFQUFrQixFQUFFLEtBQXFCLEVBQUUsSUFBUztJQUMxRSxJQUFJLE1BQU0sR0FBRyxFQUF5QixDQUFDO0lBRXZDLEtBQUssQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtRQUN2QyxJQUFJLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRTtZQUN4QixNQUFNLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxVQUFDLENBQU07Z0JBQ3ZELE9BQU8sY0FBYyxDQUFDLEVBQUUsRUFBRSxFQUFFLENBQUMsUUFBZSxFQUFFLENBQUMsQ0FBQyxDQUFDO1lBQ25ELENBQUMsQ0FBQyxDQUFDO1NBQ0o7YUFBTTtZQUNMLE1BQU0sQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLEdBQUcsUUFBUSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLEVBQUUsQ0FBQyxRQUFvQixDQUFDLENBQUM7U0FDMUY7SUFDSCxDQUFDLENBQUMsQ0FBQztJQUVILENBQUMsS0FBSyxZQUFZLFVBQVUsQ0FBQyxJQUFJLEtBQUssQ0FBQyxvQkFBb0IsQ0FBQyxPQUFPLENBQUUsVUFBQyxFQUFFO1FBQ3RFLElBQUksV0FBVyxHQUFHLEVBQUUsUUFBUSxFQUFFLFNBQVMsRUFBRSxrQkFBa0IsRUFBRSxFQUFFLEVBQUUsQ0FBQztRQUNsRSxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsRUFBRSxFQUFFLEVBQUUsV0FBVyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDckUsQ0FBQyxDQUFDLENBQUM7SUFFSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxlQUFlLENBQUMsRUFBa0IsRUFBRSxJQUFTO0lBQ3BELHNFQUFzRTtJQUN0RSxJQUFJLEtBQUssR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLGdCQUFnQixDQUFDLDBCQUEwQixDQUFDO0lBQ3pFLElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztJQUVoQixJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksRUFBRSxVQUFVLEdBQUcsRUFBRSxLQUFLO1FBQzNDLElBQUksTUFBTSxHQUFHLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUN4QixJQUFJLFdBQVcsR0FBRyxFQUFFLFFBQVEsRUFBRSxVQUFVLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxDQUFDO1FBQ2pFLFNBQVMsQ0FBQyxLQUFLLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLENBQUM7SUFDSCxPQUFPLE1BQU0sQ0FBQztBQUNoQixDQUFDO0FBRUQsU0FBUyxTQUFTLENBQUMsSUFBUyxFQUFFLEVBQWtCLEVBQUUsV0FBd0IsRUFBRSxNQUEyQixFQUFFLEdBQVc7SUFDbEgsSUFBSSxHQUFHLEdBQUcsRUFBRSxDQUFDLGtCQUFrQixDQUFDO0lBQ2hDLElBQUksSUFBSSxHQUFHLEdBQUcsQ0FBQyxTQUFTLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFBRSxXQUFXLENBQUMsSUFBSSxFQUFFLENBQUM7SUFDdEQsd0NBQXdDO0lBQ3hDLElBQUksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQztJQUV6QixJQUFJLElBQUksQ0FBQyxNQUFNO1FBQUUsT0FBTztJQUN4QixJQUFJLElBQUksQ0FBQyxRQUFRO1FBQUUsT0FBTyxJQUFJLENBQUM7SUFDL0IsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxFQUFFO1FBQ3ZCLFdBQVcsQ0FBQyxRQUFRLEdBQUcsV0FBVyxDQUFDLFFBQVEsR0FBRyxNQUFNLENBQUM7UUFDckQsTUFBTSxDQUFDLEdBQUcsQ0FBQyxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsVUFBVSxDQUFDLEVBQUUsRUFBRTtZQUNwQyxJQUFJLEdBQUcsR0FBRyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsQ0FBQyxJQUFJLEVBQUUsQ0FBQztZQUMvQyxDQUFDLEdBQUcsSUFBSSxDQUFDLElBQUksSUFBSSxDQUFDLENBQUM7WUFDbkIsT0FBTyxXQUFXLENBQUMsRUFBRSxFQUFFLENBQUMsRUFBRSxJQUFJLEVBQUUsVUFBVSxRQUFRO2dCQUNoRCxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsRUFBRSxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUM7WUFDL0IsQ0FBQyxDQUFDLENBQUM7UUFDTCxDQUFDLENBQUMsQ0FBQztLQUNKO1NBQU07UUFDTCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsV0FBVyxDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsSUFBSSxFQUFFLFVBQVUsUUFBUTtZQUMxRCxNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQUM7UUFDM0IsQ0FBQyxDQUFDLENBQUM7S0FDSjtBQUNILENBQUM7QUFFRCxTQUFTLGdCQUFnQixDQUFDLEVBQWtCLEVBQUUsU0FBaUI7SUFDN0QsSUFBSSxNQUFNLEdBQUcsRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztJQUNsQyxJQUFJLE1BQU0sS0FBSyxTQUFTLEVBQUU7UUFDeEIsT0FBTztZQUNMLE9BQU8sRUFBRSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUM5QixDQUFDLENBQUM7S0FDSDtTQUFNO1FBQ0wsT0FBTyxNQUFNLENBQUM7S0FDZjtBQUNILENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxFQUFrQixFQUFFLFlBQWlCLEVBQUUsSUFBUztJQUN2RSxJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQztJQUNoQyxJQUFJLENBQUMsTUFBTSxJQUFJLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxFQUFFO1FBQ3hDLCtHQUErRztRQUMvRyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDO0tBQzNDO0lBQ0QsSUFBSSxNQUFNLElBQUksSUFBSSxFQUFFO1FBQ2xCLEVBQUUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsWUFBWSxDQUFDO0tBQ2xDO0FBQ0gsQ0FBQztBQUVELGtFQUFrRTtBQUNsRSxTQUFTLFdBQVcsQ0FBQyxFQUFrQixFQUFFLElBQVMsRUFBRSxJQUFjO0lBQ2hFLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO0lBQ25CLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUM7SUFFMUIsSUFBSSxVQUFVLEdBQUcsSUFBSSxDQUFDLFVBQXdCLENBQUM7SUFDL0MsSUFBSSxPQUFPLENBQUMsVUFBVSxDQUFDLEtBQUssUUFBUSxFQUFFO1FBQ3BDLFVBQVUsR0FBRyxFQUFFLENBQUMsYUFBYSxDQUFDLGtCQUFrQixDQUFDLFVBQVUsRUFBRSxLQUFLLENBQWUsQ0FBQztLQUNuRjtJQUNELElBQUksQ0FBQyxVQUFVLEdBQUcsVUFBVSxDQUFDO0lBRTdCLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDO0lBQ2xELElBQUksUUFBUSxHQUFHLEVBQUUsQ0FBQyxLQUFLLElBQUksSUFBSSxDQUFDO0lBRWhDLElBQUksU0FBUyxHQUFHLFVBQVUsQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQzFFLElBQUksWUFBWSxHQUFHLEVBQUUsQ0FBQyxjQUFjLENBQUMsU0FBUyxDQUFDLENBQUM7SUFDaEQsSUFBSSxZQUFZLEVBQUU7UUFDaEIsSUFBSSxRQUFRLElBQUksWUFBWSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxFQUFFLEVBQUU7WUFDakUsRUFBRSxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUMsQ0FBQztZQUM5QixPQUFPLFlBQVksQ0FBQztTQUNyQjtRQUNELElBQUksaUJBQWlCLEdBQUcsWUFBWSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUM7UUFDOUQsSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLFVBQVUsRUFBRTtZQUM5QyxNQUFNLElBQUksS0FBSyxDQUFDLDJDQUEyQyxHQUFHLFNBQVMsQ0FBQyxRQUFRLEVBQUUsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO1NBQzVHO2FBQU0sSUFBSSxhQUFhLEtBQUssYUFBYSxDQUFDLFNBQVMsRUFBRTtZQUNwRCxtQkFBbUIsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1NBQzdDO2FBQU07WUFDTCxJQUFJLGFBQWEsS0FBSyxhQUFhLENBQUMsZ0JBQWdCO21CQUMvQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRTtnQkFDcEMsWUFBWSxDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQ3JDLFlBQVksQ0FBQyxZQUFZLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQztnQkFDM0MsSUFBSSxJQUFJLENBQUMsYUFBYSxFQUFFO29CQUN0QixZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO2lCQUM5RDtnQkFDRCxZQUFZLENBQUMsWUFBWSxDQUFDLFdBQVcsR0FBRyxXQUFXLENBQUMsU0FBUyxDQUFDO2dCQUM5RCxtQkFBbUIsQ0FBQyxZQUFZLENBQUMsQ0FBQztnQkFDbEMsMkVBQTJFO2dCQUMzRSxZQUFZLENBQUMsWUFBWSxDQUFDLGVBQWUsQ0FBQyxPQUFPLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO2dCQUNoRyxJQUFJLE1BQU0sR0FBRyxRQUFRLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLFlBQVksQ0FBQyxZQUFZLENBQUM7Z0JBQzdFLEVBQUUsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLEVBQUUsWUFBWSxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztnQkFDekUsc0ZBQXNGO2dCQUN0RixtREFBbUQ7Z0JBQ25ELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxXQUFXLEVBQUUsRUFBRTtvQkFDcEMsRUFBRSxDQUFDLGtCQUFrQixDQUFDLFlBQVksRUFBRSxLQUFLLENBQUMsQ0FBQztpQkFDNUM7YUFDRjtpQkFBTTtnQkFDTCw2RUFBNkU7Z0JBQzdFLG1CQUFtQixDQUFDLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7Z0JBQzVDLElBQUksaUJBQWlCLEtBQUssV0FBVyxDQUFDLE9BQU8sSUFBSSxDQUFDLEVBQUUsQ0FBQyxZQUFZLENBQUMsY0FBYyxFQUFFO29CQUNoRixPQUFPLElBQUksQ0FBQztpQkFDYjthQUNGO1NBQ0Y7S0FDRjtTQUFNO1FBQ0wsWUFBWSxHQUFHLFVBQVUsQ0FBQyxtQkFBbUIsRUFBWSxDQUFDO1FBRTFELFlBQVksQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBRXJDLElBQUksSUFBSSxDQUFDLGFBQWEsRUFBRTtZQUN0QixZQUFZLENBQUMsWUFBWSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDO1NBQzlEO1FBQ0QsdUZBQXVGO1FBQ3ZGLEVBQUUsQ0FBQyxpQkFBaUIsQ0FBQyxZQUFZLEVBQUUsV0FBVyxDQUFDLFNBQVMsRUFBRSxhQUFhLENBQUMsQ0FBQztRQUN6RSxZQUFZLENBQUMsWUFBWSxDQUFDLFNBQVMsR0FBRyxJQUFJLENBQUM7UUFDM0MsRUFBRSxDQUFDLGFBQWEsQ0FBQyxPQUFPLENBQUMsRUFBRSxZQUFZLEVBQUUsWUFBWSxDQUFDLGFBQWEsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLENBQUMsQ0FBQztLQUM5RjtJQUNELE9BQU8sWUFBWSxDQUFDO0FBQ3RCLENBQUM7QUFFRCwyQkFBMkI7QUFDM0IsU0FBUyxtQkFBbUIsQ0FBQyxNQUFXO0lBQ3RDLElBQUksTUFBTSxHQUFHLE1BQU0sQ0FBQyxZQUFZLElBQUksTUFBTSxDQUFDLGFBQWEsQ0FBQztJQUN6RCxNQUFNLENBQUMsY0FBYyxHQUFHLEVBQUUsQ0FBQztJQUMzQixJQUFJLEtBQUssR0FBRyxNQUFNLENBQUMsVUFBVSxJQUFJLE1BQU0sQ0FBQyxXQUFXLENBQUM7SUFDcEQsS0FBSyxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQU87UUFDL0MsSUFBSSxHQUFHLEdBQUcsTUFBTSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDdEMsSUFBSSxFQUFFLENBQUMsUUFBUSxFQUFFO1lBQ2YsbUJBQW1CLENBQUMsR0FBRyxDQUFDLENBQUM7U0FDMUI7YUFBTTtZQUNMLEdBQUcsQ0FBQyxjQUFjLEVBQUUsQ0FBQztZQUNyQixHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUM7U0FDbEM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFHRCxTQUFTLG1CQUFtQixDQUFDLEVBQWtCLEVBQUUsWUFBb0IsRUFBRSxJQUFTO0lBQzlFLGVBQWUsQ0FBQyxFQUFFLEVBQUUsWUFBWSxFQUFFLElBQUksQ0FBQyxDQUFDO0lBQ3hDLG9GQUFvRjtJQUNwRixJQUFJLENBQUMsVUFBVSxDQUFDLG9CQUFvQixDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQXNCO1FBQzNFLElBQUksRUFBRSxDQUFDLFFBQVEsRUFBRTtZQUNmLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDdEM7YUFBTTtZQUNMLHdCQUF3QixDQUFDLEVBQUUsRUFBRSxJQUFJLEVBQUUsRUFBRSxDQUFDLENBQUM7U0FDeEM7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLFlBQVksQ0FBQyxFQUFrQixFQUFFLFlBQW9CLEVBQUUsSUFBUztJQUN2RSxlQUFlLENBQUMsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztJQUN4QyxJQUFJLFVBQVUsR0FBRyxZQUFZLENBQUMsVUFBVSxDQUFDO0lBQ3pDLFVBQVUsQ0FBQyxvQkFBb0IsQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVuRSxVQUFVLENBQUMsb0JBQW9CLENBQUMsT0FBTyxDQUFDLFVBQVUsRUFBRTtRQUNsRCxJQUFJLEVBQUUsQ0FBQyxRQUFRLEVBQUU7WUFDZixrQkFBa0IsQ0FBQyxFQUFFLEVBQUUsRUFBRSxFQUFFLFlBQVksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUNoRDthQUFNO1lBQ0wsb0JBQW9CLENBQUMsRUFBRSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxDQUFDLENBQUM7U0FDbEQ7SUFDSCxDQUFDLENBQUMsQ0FBQztBQUNMLENBQUM7QUFFRCxTQUFTLGtCQUFrQixDQUFDLEVBQWtCLEVBQUUsa0JBQXNDLEVBQUUsWUFBb0IsRUFBRSxTQUFjO0lBRTFILElBQUksYUFBYSxHQUFHLHNCQUFzQixDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUM5RSxJQUFJLGFBQWEsSUFBSSxJQUFJO1FBQUUsT0FBTztJQUNsQyxJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsRUFBRTtRQUN2QyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztZQUNsQixhQUFhLEdBQUcsYUFBYSxFQUFFLENBQUM7WUFDaEMsbUJBQW1CLENBQUMsYUFBYSxFQUFFLFlBQVksRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO1FBQ3ZFLENBQUMsQ0FBQyxDQUFDO0tBQ0o7U0FBTTtRQUNMLG1CQUFtQixDQUFDLGFBQWEsRUFBRSxZQUFZLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztLQUN0RTtBQUNILENBQUM7QUFFRCxTQUFTLG9CQUFvQixDQUFDLEVBQWtCLEVBQUUsa0JBQXNDLEVBQUUsWUFBb0IsRUFBRSxTQUFjO0lBQzVILElBQUksZUFBZSxHQUFHLHdCQUF3QixDQUFDLEVBQUUsRUFBRSxTQUFTLEVBQUUsa0JBQWtCLENBQUMsQ0FBQztJQUNsRixJQUFJLGVBQWUsSUFBSSxJQUFJO1FBQUUsT0FBTztJQUVwQyxJQUFJLGVBQWUsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUM7SUFDakQsSUFBSSxDQUFDLGVBQWU7UUFBRSxPQUFPO0lBRTdCLElBQUksdUJBQXVCLEdBQUcsWUFBWSxDQUFDLFdBQVcsQ0FBQyxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUNoRix1QkFBdUIsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDO0lBRXpDLGVBQWUsQ0FBQyxPQUFPLENBQUMsVUFBVSxhQUFrQjtRQUNsRCxJQUFJLE9BQU8sYUFBYSxLQUFLLFVBQVUsRUFBRTtZQUN2QyxFQUFFLENBQUMsV0FBVyxDQUFDLElBQUksQ0FBQztnQkFDbEIsYUFBYSxHQUFHLGFBQWEsRUFBRSxDQUFDO2dCQUNoQywrQkFBK0IsQ0FBQyxFQUFFLEVBQUUsYUFBYSxFQUFFLHVCQUF1QixFQUFFLFlBQVksRUFBRSxlQUFxQyxDQUFDLENBQUM7WUFDbkksQ0FBQyxDQUFDLENBQUM7U0FDSjthQUFNO1lBQ0wsK0JBQStCLENBQUMsRUFBRSxFQUFFLGFBQWEsRUFBRSx1QkFBdUIsRUFBRSxZQUFZLEVBQUUsZUFBcUMsQ0FBQyxDQUFDO1NBQ2xJO0lBQ0gsQ0FBQyxDQUFDLENBQUM7QUFDTCxDQUFDO0FBRUQsU0FBUyxzQkFBc0IsQ0FBQyxFQUFrQixFQUFFLFNBQWMsRUFBRSxrQkFBc0M7SUFDeEcsSUFBSSxnQkFBZ0IsR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDbEUsSUFBSSxDQUFDLGdCQUFnQjtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRW5DLElBQUksYUFBYSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsZ0JBQWdCLEVBQUUsRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUN4SCxPQUFPLGFBQWEsQ0FBQztBQUN2QixDQUFDO0FBRUQsU0FBUyx3QkFBd0IsQ0FBQyxFQUFrQixFQUFFLFNBQWMsRUFBRSxrQkFBc0M7SUFDMUcsSUFBSSxrQkFBa0IsR0FBRyxTQUFTLENBQUMsa0JBQWtCLENBQUMsWUFBWSxDQUFDLENBQUM7SUFDcEUsSUFBSSxDQUFDLGtCQUFrQjtRQUFFLE9BQU8sSUFBSSxDQUFDO0lBRXJDLHdHQUF3RztJQUN4RyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxrQkFBa0IsQ0FBQyxFQUFFO1FBQ3RDLGVBQWU7UUFDZixrQkFBa0IsR0FBRyxrQkFBa0IsQ0FBQyxPQUFPLENBQUMsQ0FBQyw4Q0FBOEM7UUFDL0YsSUFBSSxDQUFDLGtCQUFrQixFQUFFO1lBQ3ZCLE9BQU8sSUFBSSxDQUFDO1NBQ2I7S0FDRjtJQUVELElBQUksZUFBZSxHQUFHLEVBQUUsQ0FBQyxhQUFhLENBQUMsa0JBQWtCLEVBQUUsRUFBRSxRQUFRLEVBQUUsYUFBYSxFQUFFLGtCQUFrQixFQUFFLGtCQUFrQixFQUFFLENBQUMsQ0FBQztJQUNoSSxPQUFPLGVBQWUsQ0FBQztBQUN6QixDQUFDO0FBRUQsU0FBUyxtQkFBbUIsQ0FBQyxhQUFxQixFQUFFLFlBQW9CLEVBQUUsa0JBQXNDO0lBQzlHLElBQUksQ0FBQyxhQUFhO1FBQUUsT0FBTztJQUMzQixJQUFJLFFBQVEsR0FBRyxrQkFBa0IsQ0FBQyxJQUFJLENBQUM7SUFDdkMsSUFBSSxvQkFBb0IsR0FBRyxZQUFZLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBRTlELG1EQUFtRDtJQUNuRCxJQUFJLG9CQUFvQixLQUFLLGFBQWEsRUFBRTtRQUMxQyxrQ0FBa0M7UUFDbEMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxRQUFRLEVBQUUsYUFBYSxDQUFDLENBQUM7UUFDbEQsSUFBSSxlQUFlLEdBQUcsa0JBQWtCLENBQUMsT0FBTyxDQUFDO1FBQ2pELElBQUksQ0FBQyxlQUFlO1lBQUUsT0FBTztRQUM3QixJQUFJLGVBQWUsQ0FBQyxRQUFRLEVBQUU7WUFDNUIsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO1NBQy9EO2FBQU07WUFDTCxJQUFJLFVBQVUsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqRSxVQUFVLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDO1NBRS9CO0tBQ0Y7QUFDSCxDQUFDO0FBRUQsU0FBUywrQkFBK0IsQ0FBQyxFQUFrQixFQUFFLGFBQWlDLEVBQzFGLGVBQXlCLEVBQUUsWUFBb0IsRUFBRSxlQUFtQztJQUN0RixJQUFJLENBQUMsYUFBYTtRQUFFLE9BQU87SUFFM0IscUZBQXFGO0lBQ3JGLElBQUksYUFBYSxDQUFDLFlBQVksQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUFDLFFBQVE7V0FDOUQsRUFBRSxDQUFDLFlBQVksQ0FBQyxhQUFhLEtBQUssYUFBYSxDQUFDLGVBQWUsRUFBRTtRQUNwRSxJQUFJLFlBQVUsR0FBRyxhQUFhLENBQUMsWUFBWSxDQUFDLGNBQWMsQ0FBQztRQUMzRCxJQUFJLGFBQWEsR0FBRyxlQUFlLENBQUMscUJBQXFCLENBQUMsSUFBSSxDQUFDLFVBQVUsRUFBRTtZQUN6RSxPQUFPLFlBQVUsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLElBQUksU0FBUyxDQUFDO1FBQzFDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxhQUFhO1lBQUUsT0FBTztLQUMzQjtJQUNELG1EQUFtRDtJQUNuRCxJQUFJLFVBQVUsR0FBRyxhQUFhLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUVqRSxJQUFJLFVBQVUsS0FBSyxZQUFZLEVBQUU7UUFDL0IsdUJBQXVCO1FBQ3ZCLGVBQWUsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUM7UUFDcEMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLFlBQVksQ0FBQyxDQUFDO0tBQy9EO0FBQ0gsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERhdGFTZXJ2aWNlQWRhcHRlciB9IGZyb20gJy4vaW50ZXJmYWNlLXJlZ2lzdHJ5JztcclxuaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IERhdGFUeXBlICB9IGZyb20gJy4vZGF0YS10eXBlJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UsIEpzb25SZXN1bHRzQWRhcHRlciwgTm9kZUNvbnRleHQsIE5vZGVNZXRhIH0gZnJvbSAnLi9kYXRhLXNlcnZpY2UnO1xyXG5pbXBvcnQgeyBFbnRpdHlTdGF0ZSAgfSBmcm9tICcuL2VudGl0eS1zdGF0ZSc7XHJcbmltcG9ydCB7IEVudGl0eUFjdGlvbiB9IGZyb20gJy4vZW50aXR5LWFjdGlvbic7XHJcbmltcG9ydCB7IE1ldGFkYXRhU3RvcmUsIEVudGl0eVR5cGUsIFN0cnVjdHVyYWxUeXBlLCBEYXRhUHJvcGVydHksIE5hdmlnYXRpb25Qcm9wZXJ0eSB9IGZyb20gJy4vZW50aXR5LW1ldGFkYXRhJztcclxuaW1wb3J0IHsgRW50aXR5TWFuYWdlciB9IGZyb20gJy4vZW50aXR5LW1hbmFnZXInO1xyXG5pbXBvcnQgeyBNZXJnZVN0cmF0ZWd5IH0gZnJvbSAnLi9xdWVyeS1vcHRpb25zJztcclxuaW1wb3J0IHsgRW50aXR5IH0gZnJvbSAnLi9lbnRpdHktYXNwZWN0JztcclxuaW1wb3J0IHsgRW50aXR5UXVlcnkgfSBmcm9tICcuL2VudGl0eS1xdWVyeSc7XHJcblxyXG5cclxuLyoqXHJcbkZvciB1c2UgYnkgYnJlZXplIHBsdWdpbiBhdXRob3JzIG9ubHkuIFRoZSBjbGFzcyBpcyBmb3IgdXNlIGluIGJ1aWxkaW5nIGEgW1tJRGF0YVNlcnZpY2VBZGFwdGVyXV0gaW1wbGVtZW50YXRpb24uIFxyXG5AYWRhcHRlciAoc2VlIFtbSURhdGFTZXJ2aWNlQWRhcHRlcl1dKSAgICBcclxuQGhpZGRlbiBcclxuKi9cclxuZXhwb3J0IGludGVyZmFjZSBNZXJnZU9wdGlvbnMge1xyXG4gIG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3k7XHJcbiAgaW5jbHVkZURlbGV0ZWQ/OiBib29sZWFuO1xyXG4gIG5vVHJhY2tpbmc/OiBib29sZWFuO1xyXG59XHJcblxyXG4vKiogQGhpZGRlbiAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE1hcHBpbmdDb250ZXh0Q29uZmlnIHtcclxuICBkYXRhU2VydmljZTogRGF0YVNlcnZpY2U7XHJcbiAgcXVlcnk/OiBFbnRpdHlRdWVyeSB8IHN0cmluZztcclxuICBlbnRpdHlNYW5hZ2VyOiBFbnRpdHlNYW5hZ2VyO1xyXG4gIG1lcmdlT3B0aW9uczogTWVyZ2VPcHRpb25zO1xyXG59XHJcblxyXG4vKipcclxuRm9yIHVzZSBieSBicmVlemUgcGx1Z2luIGF1dGhvcnMgb25seS4gVGhlIGNsYXNzIGlzIGZvciB1c2UgaW4gYnVpbGRpbmcgYSBbW0lEYXRhU2VydmljZUFkYXB0ZXJdXSBpbXBsZW1lbnRhdGlvbi4gXHJcbkBhZGFwdGVyIChzZWUgW1tJRGF0YVNlcnZpY2VBZGFwdGVyXV0pICAgIFxyXG5AaGlkZGVuIFxyXG4qL1xyXG5leHBvcnQgY2xhc3MgTWFwcGluZ0NvbnRleHQge1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIGRlY2xhcmUgXyR0eXBlTmFtZTogc3RyaW5nOyAvLyBvbiBwcm90b3R5cGVcclxuXHJcbiAgcmF3VmFsdWVGbiA9IERhdGFQcm9wZXJ0eS5nZXRSYXdWYWx1ZUZyb21TZXJ2ZXI7IC8vIHRoaW5rIGFib3V0IHBhc3NpbmcgdGhpcyBpbiBsYXRlci5cclxuXHJcbiAgZGVjbGFyZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2U7XHJcbiAgZGVjbGFyZSBxdWVyeTogRW50aXR5UXVlcnkgfCBzdHJpbmc7XHJcbiAgZGVjbGFyZSBlbnRpdHlNYW5hZ2VyOiBFbnRpdHlNYW5hZ2VyO1xyXG4gIGRlY2xhcmUgbWVyZ2VPcHRpb25zOiBNZXJnZU9wdGlvbnM7XHJcbiAgZGVjbGFyZSBhZGFwdGVyOiBEYXRhU2VydmljZUFkYXB0ZXI7ICAvLyBhc3NpZ25lZCBpbiB0aGUgQWJzdHJhY3REYXRhU2VydmljZUFkYXB0ZXIuXHJcblxyXG4gIGRlY2xhcmUgcmVmTWFwOiBSZWNvcmQ8c3RyaW5nLCBhbnk+OyAvLyBUT0RPXHJcbiAgZGVjbGFyZSBkZWZlcnJlZEZuczogRnVuY3Rpb25bXTsgLy8gVE9ET1xyXG4gIGRlY2xhcmUganNvblJlc3VsdHNBZGFwdGVyOiBKc29uUmVzdWx0c0FkYXB0ZXI7XHJcbiAgZGVjbGFyZSBtZXRhZGF0YVN0b3JlOiBNZXRhZGF0YVN0b3JlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihjb25maWc6IE1hcHBpbmdDb250ZXh0Q29uZmlnKSB7XHJcblxyXG4gICAgY29yZS5leHRlbmQodGhpcywgY29uZmlnLCBbXHJcbiAgICAgIFwicXVlcnlcIiwgXCJlbnRpdHlNYW5hZ2VyXCIsIFwiZGF0YVNlcnZpY2VcIiwgXCJtZXJnZU9wdGlvbnNcIlxyXG4gICAgXSk7XHJcblxyXG4gICAgLy8gY2FsYydkIHByb3BzXHJcbiAgICB0aGlzLnJlZk1hcCA9IHt9O1xyXG4gICAgdGhpcy5kZWZlcnJlZEZucyA9IFtdO1xyXG4gICAgdGhpcy5qc29uUmVzdWx0c0FkYXB0ZXIgPSB0aGlzLmRhdGFTZXJ2aWNlLmpzb25SZXN1bHRzQWRhcHRlcjtcclxuICAgIHRoaXMubWV0YWRhdGFTdG9yZSA9IHRoaXMuZW50aXR5TWFuYWdlci5tZXRhZGF0YVN0b3JlO1xyXG4gICAgdGhpcy5yYXdWYWx1ZUZuID0gRGF0YVByb3BlcnR5LmdldFJhd1ZhbHVlRnJvbVNlcnZlcjsgLy8gdGhpbmsgYWJvdXQgcGFzc2luZyB0aGlzIGluIGxhdGVyLlxyXG4gIH1cclxuXHJcbiAgZ2V0VXJsKCkge1xyXG4gICAgbGV0IHF1ZXJ5ID0gdGhpcy5xdWVyeTtcclxuICAgIGlmICghcXVlcnkpIHtcclxuICAgICAgdGhyb3cgbmV3IEVycm9yKFwicXVlcnkgY2Fubm90IGJlIGVtcHR5XCIpO1xyXG4gICAgfVxyXG4gICAgbGV0IHVyaVN0cmluZzogc3RyaW5nO1xyXG4gICAgaWYgKHR5cGVvZiBxdWVyeSA9PT0gJ3N0cmluZycpIHtcclxuICAgICAgdXJpU3RyaW5nID0gcXVlcnk7XHJcbiAgICB9IGVsc2UgaWYgKHF1ZXJ5IGluc3RhbmNlb2YgRW50aXR5UXVlcnkpIHtcclxuICAgICAgdXJpU3RyaW5nID0gdGhpcy5kYXRhU2VydmljZS51cmlCdWlsZGVyIS5idWlsZFVyaShxdWVyeSwgdGhpcy5tZXRhZGF0YVN0b3JlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRocm93IG5ldyBFcnJvcihcInVuYWJsZSB0byByZWNvZ25pemUgcXVlcnkgcGFyYW1ldGVyIGFzIGVpdGhlciBhIHN0cmluZyBvciBhbiBFbnRpdHlRdWVyeVwiKTtcclxuICAgIH1cclxuICAgIHJldHVybiB0aGlzLmRhdGFTZXJ2aWNlLnF1YWxpZnlVcmwodXJpU3RyaW5nKTtcclxuICB9XHJcblxyXG4gIHZpc2l0QW5kTWVyZ2Uobm9kZXM6IGFueVtdLCBub2RlQ29udGV4dDogYW55KSB7XHJcbiAgICBsZXQgcXVlcnkgPSB0aGlzLnF1ZXJ5O1xyXG4gICAgbGV0IGpyYSA9IHRoaXMuanNvblJlc3VsdHNBZGFwdGVyO1xyXG4gICAgbm9kZUNvbnRleHQgPSBub2RlQ29udGV4dCB8fCB7fTtcclxuICAgIGxldCB0aGF0ID0gdGhpcztcclxuICAgIGxldCByZXN1bHQgPSBjb3JlLm1hcChub2RlcywgZnVuY3Rpb24gKG5vZGUpIHtcclxuICAgICAgaWYgKHF1ZXJ5ID09IG51bGwgJiYgbm9kZS5lbnRpdHlBc3BlY3QpIHtcclxuICAgICAgICAvLyBkb24ndCBib3RoZXIgbWVyZ2luZyBhIHJlc3VsdCBmcm9tIGEgc2F2ZSB0aGF0IHdhcyBub3QgcmV0dXJuZWQgZnJvbSB0aGUgc2VydmVyLlxyXG4gICAgICAgIGlmIChub2RlLmVudGl0eUFzcGVjdC5lbnRpdHlTdGF0ZS5pc0RlbGV0ZWQoKSkge1xyXG4gICAgICAgICAgdGhhdC5lbnRpdHlNYW5hZ2VyLmRldGFjaEVudGl0eShub2RlKTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgbm9kZS5lbnRpdHlBc3BlY3QuYWNjZXB0Q2hhbmdlcygpO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gbm9kZTtcclxuICAgICAgfVxyXG5cclxuICAgICAgbGV0IG1ldGEgPSBqcmEudmlzaXROb2RlKG5vZGUsIHRoYXQsIG5vZGVDb250ZXh0KSB8fCB7fTtcclxuICAgICAgbm9kZSA9IG1ldGEubm9kZSB8fCBub2RlO1xyXG4gICAgICBpZiAocXVlcnkgJiYgbm9kZUNvbnRleHQubm9kZVR5cGUgPT09IFwicm9vdFwiICYmICFtZXRhLmVudGl0eVR5cGUpIHtcclxuICAgICAgICBtZXRhLmVudGl0eVR5cGUgPSBxdWVyeSBpbnN0YW5jZW9mIEVudGl0eVF1ZXJ5ICYmICBxdWVyeS5fZ2V0VG9FbnRpdHlUeXBlICYmIHF1ZXJ5Ll9nZXRUb0VudGl0eVR5cGUodGhhdC5tZXRhZGF0YVN0b3JlKTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gcHJvY2Vzc01ldGEodGhhdCwgbm9kZSwgbWV0YSk7XHJcbiAgICB9LCB0aGlzLm1lcmdlT3B0aW9ucy5pbmNsdWRlRGVsZXRlZCk7XHJcblxyXG4gICAgaWYgKHJlc3VsdC5maWx0ZXIgJiYgIXRoaXMubWVyZ2VPcHRpb25zLmluY2x1ZGVEZWxldGVkKSB7XHJcbiAgICAgIC8vIHJlc3VsdCBtYXkgaGF2ZSBkZWxldGVkIGVudGl0aWVzIGJlY2F1c2UgcmVsYXRlZCBub2RlcyB3ZXJlIHByb2Nlc3NlZFxyXG4gICAgICByZXN1bHQgPSByZXN1bHQuZmlsdGVyKCh4OiBhbnkpID0+IHggJiYgKCF4LmVudGl0eUFzcGVjdCB8fCAheC5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGUuaXNEZWxldGVkKCkpKTtcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gcmVzdWx0O1xyXG4gIH1cclxuXHJcbiAgcHJvY2Vzc0RlZmVycmVkKCkge1xyXG4gICAgaWYgKHRoaXMuZGVmZXJyZWRGbnMubGVuZ3RoID4gMCkge1xyXG4gICAgICB0aGlzLmRlZmVycmVkRm5zLmZvckVhY2goKGZuKSA9PiB7XHJcbiAgICAgICAgZm4oKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbk1hcHBpbmdDb250ZXh0LnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJNYXBwaW5nQ29udGV4dFwiO1xyXG5cclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NNZXRhKG1jOiBNYXBwaW5nQ29udGV4dCwgbm9kZTogYW55LCBtZXRhOiBOb2RlTWV0YSwgYXNzaWduRm4/OiAodmFsOiBhbnkpID0+IHZvaWQpIHtcclxuICAvLyA9PSBpcyBkZWxpYmVyYXRlIGhlcmUgaW5zdGVhZCBvZiA9PT1cclxuICBpZiAobWV0YS5pZ25vcmUgfHwgbm9kZSA9PSBudWxsKSB7XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9IGVsc2UgaWYgKG1ldGEubm9kZVJlZklkKSB7XHJcbiAgICBsZXQgcmVmVmFsdWUgPSByZXNvbHZlRW50aXR5UmVmKG1jLCBtZXRhLm5vZGVSZWZJZCk7XHJcbiAgICBpZiAodHlwZW9mIHJlZlZhbHVlID09PSBcImZ1bmN0aW9uXCIgJiYgYXNzaWduRm4gIT0gbnVsbCkge1xyXG4gICAgICBtYy5kZWZlcnJlZEZucy5wdXNoKGZ1bmN0aW9uICgpIHtcclxuICAgICAgICBhc3NpZ25GbihyZWZWYWx1ZSk7XHJcbiAgICAgIH0pO1xyXG4gICAgICByZXR1cm4gdW5kZWZpbmVkOyAvLyBkZWZlcnJlZCBhbmQgd2lsbCBiZSBzZXQgbGF0ZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gcmVmVmFsdWU7XHJcbiAgfSBlbHNlIGlmIChtZXRhLmVudGl0eVR5cGUpIHtcclxuICAgIGxldCBlbnRpdHlUeXBlID0gbWV0YS5lbnRpdHlUeXBlO1xyXG4gICAgaWYgKG1jLm1lcmdlT3B0aW9ucy5ub1RyYWNraW5nKSB7XHJcbiAgICAgIG5vZGUgPSBwcm9jZXNzTm9NZXJnZShtYywgZW50aXR5VHlwZSwgbm9kZSk7XHJcbiAgICAgIGlmIChlbnRpdHlUeXBlLm5vVHJhY2tpbmdGbikge1xyXG4gICAgICAgIG5vZGUgPSBlbnRpdHlUeXBlLm5vVHJhY2tpbmdGbihub2RlLCBlbnRpdHlUeXBlKTtcclxuICAgICAgfVxyXG4gICAgICBpZiAobWV0YS5ub2RlSWQpIHtcclxuICAgICAgICBtYy5yZWZNYXBbbWV0YS5ub2RlSWRdID0gbm9kZTtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gbm9kZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChlbnRpdHlUeXBlLmlzQ29tcGxleFR5cGUpIHtcclxuICAgICAgICAvLyBiZWNhdXNlIHdlIHN0aWxsIG5lZWQgdG8gZG8gc2VydmVyTmFtZSB0byBjbGllbnQgbmFtZSBwcm9jZXNzaW5nXHJcbiAgICAgICAgcmV0dXJuIHByb2Nlc3NOb01lcmdlKG1jLCBlbnRpdHlUeXBlLCBub2RlKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gbWVyZ2VFbnRpdHkobWMsIG5vZGUsIG1ldGEpO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuXHJcbiAgICBpZiAoKCFtZXRhLnBhc3NUaHJ1KSAmJiB0eXBlb2Ygbm9kZSA9PT0gJ29iamVjdCcgJiYgISBjb3JlLmlzRGF0ZShub2RlKSkge1xyXG4gICAgICBub2RlID0gcHJvY2Vzc0Fub25UeXBlKG1jLCBub2RlKTtcclxuICAgIH1cclxuXHJcbiAgICAvLyB1cGRhdGluZyB0aGUgcmVmTWFwIGZvciBlbnRpdGllcyBpcyBoYW5kbGVkIGJ5IHVwZGF0ZUVudGl0eVJlZiBmb3IgZW50aXRpZXMuXHJcbiAgICBpZiAobWV0YS5ub2RlSWQpIHtcclxuICAgICAgbWMucmVmTWFwW21ldGEubm9kZUlkXSA9IG5vZGU7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbm9kZTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHByb2Nlc3NOb01lcmdlKG1jOiBNYXBwaW5nQ29udGV4dCwgc3R5cGU6IFN0cnVjdHVyYWxUeXBlLCBub2RlOiBhbnkpIHtcclxuICBsZXQgcmVzdWx0ID0ge30gYXMgUmVjb3JkPHN0cmluZywgYW55PjtcclxuXHJcbiAgc3R5cGUuZGF0YVByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbiAoZHApIHtcclxuICAgIGlmIChkcC5pc0NvbXBsZXhQcm9wZXJ0eSkge1xyXG4gICAgICByZXN1bHRbZHAubmFtZV0gPSBjb3JlLm1hcChub2RlW2RwLm5hbWVPblNlcnZlcl0sICh2OiBhbnkpID0+IHtcclxuICAgICAgICByZXR1cm4gcHJvY2Vzc05vTWVyZ2UobWMsIGRwLmRhdGFUeXBlIGFzIGFueSwgdik7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmVzdWx0W2RwLm5hbWVdID0gRGF0YVR5cGUucGFyc2VSYXdWYWx1ZShub2RlW2RwLm5hbWVPblNlcnZlcl0sIGRwLmRhdGFUeXBlIGFzIERhdGFUeXBlKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgKHN0eXBlIGluc3RhbmNlb2YgRW50aXR5VHlwZSkgJiYgc3R5cGUubmF2aWdhdGlvblByb3BlcnRpZXMuZm9yRWFjaCggKG5wKSA9PiB7XHJcbiAgICBsZXQgbm9kZUNvbnRleHQgPSB7IG5vZGVUeXBlOiBcIm5hdlByb3BcIiwgbmF2aWdhdGlvblByb3BlcnR5OiBucCB9O1xyXG4gICAgdmlzaXROb2RlKG5vZGVbbnAubmFtZU9uU2VydmVyXSwgbWMsIG5vZGVDb250ZXh0LCByZXN1bHQsIG5wLm5hbWUpO1xyXG4gIH0pO1xyXG5cclxuICByZXR1cm4gcmVzdWx0O1xyXG59XHJcblxyXG5mdW5jdGlvbiBwcm9jZXNzQW5vblR5cGUobWM6IE1hcHBpbmdDb250ZXh0LCBub2RlOiBhbnkpIHtcclxuICAvLyBub2RlIGlzIGd1YXJhbnRlZWQgdG8gYmUgYW4gb2JqZWN0IGJ5IHRoaXMgcG9pbnQsIGkuZS4gbm90IGEgc2NhbGFyXHJcbiAgbGV0IGtleUZuID0gbWMubWV0YWRhdGFTdG9yZS5uYW1pbmdDb252ZW50aW9uLnNlcnZlclByb3BlcnR5TmFtZVRvQ2xpZW50O1xyXG4gIGxldCByZXN1bHQgPSB7fTtcclxuXHJcbiAgY29yZS5vYmplY3RGb3JFYWNoKG5vZGUsIGZ1bmN0aW9uIChrZXksIHZhbHVlKSB7XHJcbiAgICBsZXQgbmV3S2V5ID0ga2V5Rm4oa2V5KTtcclxuICAgIGxldCBub2RlQ29udGV4dCA9IHsgbm9kZVR5cGU6IFwiYW5vblByb3BcIiwgcHJvcGVydHlOYW1lOiBuZXdLZXkgfTtcclxuICAgIHZpc2l0Tm9kZSh2YWx1ZSwgbWMsIG5vZGVDb250ZXh0LCByZXN1bHQsIG5ld0tleSk7XHJcbiAgfSk7XHJcbiAgcmV0dXJuIHJlc3VsdDtcclxufVxyXG5cclxuZnVuY3Rpb24gdmlzaXROb2RlKG5vZGU6IGFueSwgbWM6IE1hcHBpbmdDb250ZXh0LCBub2RlQ29udGV4dDogTm9kZUNvbnRleHQsIHJlc3VsdDogUmVjb3JkPHN0cmluZywgYW55Piwga2V5OiBzdHJpbmcpIHtcclxuICBsZXQganJhID0gbWMuanNvblJlc3VsdHNBZGFwdGVyO1xyXG4gIGxldCBtZXRhID0ganJhLnZpc2l0Tm9kZShub2RlLCBtYywgbm9kZUNvbnRleHQpIHx8IHt9O1xyXG4gIC8vIGFsbG93cyB2aXNpdE5vZGUgdG8gY2hhbmdlIHRoZSB2YWx1ZTtcclxuICBub2RlID0gbWV0YS5ub2RlIHx8IG5vZGU7XHJcblxyXG4gIGlmIChtZXRhLmlnbm9yZSkgcmV0dXJuO1xyXG4gIGlmIChtZXRhLnBhc3NUaHJ1KSByZXR1cm4gbm9kZTtcclxuICBpZiAoQXJyYXkuaXNBcnJheShub2RlKSkge1xyXG4gICAgbm9kZUNvbnRleHQubm9kZVR5cGUgPSBub2RlQ29udGV4dC5ub2RlVHlwZSArIFwiSXRlbVwiO1xyXG4gICAgcmVzdWx0W2tleV0gPSBub2RlLm1hcChmdW5jdGlvbiAodiwgaXgpIHtcclxuICAgICAgbWV0YSA9IGpyYS52aXNpdE5vZGUodiwgbWMsIG5vZGVDb250ZXh0KSB8fCB7fTtcclxuICAgICAgdiA9IG1ldGEubm9kZSB8fCB2O1xyXG4gICAgICByZXR1cm4gcHJvY2Vzc01ldGEobWMsIHYsIG1ldGEsIGZ1bmN0aW9uIChyZWZWYWx1ZSkge1xyXG4gICAgICAgIHJlc3VsdFtrZXldW2l4XSA9IHJlZlZhbHVlKCk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSk7XHJcbiAgfSBlbHNlIHtcclxuICAgIHJlc3VsdFtrZXldID0gcHJvY2Vzc01ldGEobWMsIG5vZGUsIG1ldGEsIGZ1bmN0aW9uIChyZWZWYWx1ZSkge1xyXG4gICAgICByZXN1bHRba2V5XSA9IHJlZlZhbHVlKCk7XHJcbiAgICB9KTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHJlc29sdmVFbnRpdHlSZWYobWM6IE1hcHBpbmdDb250ZXh0LCBub2RlUmVmSWQ6IHN0cmluZykge1xyXG4gIGxldCBlbnRpdHkgPSBtYy5yZWZNYXBbbm9kZVJlZklkXTtcclxuICBpZiAoZW50aXR5ID09PSB1bmRlZmluZWQpIHtcclxuICAgIHJldHVybiBmdW5jdGlvbiAoKSB7XHJcbiAgICAgIHJldHVybiBtYy5yZWZNYXBbbm9kZVJlZklkXTtcclxuICAgIH07XHJcbiAgfSBlbHNlIHtcclxuICAgIHJldHVybiBlbnRpdHk7XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiB1cGRhdGVFbnRpdHlSZWYobWM6IE1hcHBpbmdDb250ZXh0LCB0YXJnZXRFbnRpdHk6IGFueSwgbm9kZTogYW55KSB7XHJcbiAgbGV0IG5vZGVJZCA9IG5vZGUuXyRtZXRhLm5vZGVJZDtcclxuICBpZiAoIW5vZGVJZCAmJiBub2RlLl8kbWV0YS5leHRyYU1ldGFkYXRhKSB7XHJcbiAgICAvLyBvZGF0YSBjYXNlLiAgcmVmTWFwIGlzbid0IHJlYWxseSB1c2VkLCBidXQgaXMgcmV0dXJuZWQgYXMgZGF0YS5yZXRyaWV2ZWRFbnRpdGllcywgc28gd2UgcG9wdWxhdGVkIGl0IGFueXdheS5cclxuICAgIG5vZGVJZCA9IG5vZGUuXyRtZXRhLmV4dHJhTWV0YWRhdGEudXJpS2V5O1xyXG4gIH1cclxuICBpZiAobm9kZUlkICE9IG51bGwpIHtcclxuICAgIG1jLnJlZk1hcFtub2RlSWRdID0gdGFyZ2V0RW50aXR5O1xyXG4gIH1cclxufVxyXG5cclxuLy8gY2FuIHJldHVybiBudWxsIGZvciBhIGRlbGV0ZWQgZW50aXR5IGlmIGluY2x1ZGVEZWxldGVkID09IGZhbHNlXHJcbmZ1bmN0aW9uIG1lcmdlRW50aXR5KG1jOiBNYXBwaW5nQ29udGV4dCwgbm9kZTogYW55LCBtZXRhOiBOb2RlTWV0YSkge1xyXG4gIG5vZGUuXyRtZXRhID0gbWV0YTtcclxuICBsZXQgZW0gPSBtYy5lbnRpdHlNYW5hZ2VyO1xyXG5cclxuICBsZXQgZW50aXR5VHlwZSA9IG1ldGEuZW50aXR5VHlwZSBhcyBFbnRpdHlUeXBlO1xyXG4gIGlmICh0eXBlb2YgKGVudGl0eVR5cGUpID09PSAnc3RyaW5nJykge1xyXG4gICAgZW50aXR5VHlwZSA9IG1jLm1ldGFkYXRhU3RvcmUuX2dldFN0cnVjdHVyYWxUeXBlKGVudGl0eVR5cGUsIGZhbHNlKSBhcyBFbnRpdHlUeXBlO1xyXG4gIH1cclxuICBub2RlLmVudGl0eVR5cGUgPSBlbnRpdHlUeXBlO1xyXG5cclxuICBsZXQgbWVyZ2VTdHJhdGVneSA9IG1jLm1lcmdlT3B0aW9ucy5tZXJnZVN0cmF0ZWd5O1xyXG4gIGxldCBpc1NhdmluZyA9IG1jLnF1ZXJ5ID09IG51bGw7XHJcblxyXG4gIGxldCBlbnRpdHlLZXkgPSBlbnRpdHlUeXBlLmdldEVudGl0eUtleUZyb21SYXdFbnRpdHkobm9kZSwgbWMucmF3VmFsdWVGbik7XHJcbiAgbGV0IHRhcmdldEVudGl0eSA9IGVtLmdldEVudGl0eUJ5S2V5KGVudGl0eUtleSk7XHJcbiAgaWYgKHRhcmdldEVudGl0eSkge1xyXG4gICAgaWYgKGlzU2F2aW5nICYmIHRhcmdldEVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGUuaXNEZWxldGVkKCkpIHtcclxuICAgICAgZW0uZGV0YWNoRW50aXR5KHRhcmdldEVudGl0eSk7XHJcbiAgICAgIHJldHVybiB0YXJnZXRFbnRpdHk7XHJcbiAgICB9XHJcbiAgICBsZXQgdGFyZ2V0RW50aXR5U3RhdGUgPSB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0LmVudGl0eVN0YXRlO1xyXG4gICAgaWYgKG1lcmdlU3RyYXRlZ3kgPT09IE1lcmdlU3RyYXRlZ3kuRGlzYWxsb3dlZCkge1xyXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXCJBIE1lcmdlU3RyYXRlZ3kgb2YgJ0Rpc2FsbG93ZWQnIHByZXZlbnRzIFwiICsgZW50aXR5S2V5LnRvU3RyaW5nKCkgKyBcIiBmcm9tIGJlaW5nIG1lcmdlZFwiKTtcclxuICAgIH0gZWxzZSBpZiAobWVyZ2VTdHJhdGVneSA9PT0gTWVyZ2VTdHJhdGVneS5Ta2lwTWVyZ2UpIHtcclxuICAgICAgdXBkYXRlRW50aXR5Tm9NZXJnZShtYywgdGFyZ2V0RW50aXR5LCBub2RlKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChtZXJnZVN0cmF0ZWd5ID09PSBNZXJnZVN0cmF0ZWd5Lk92ZXJ3cml0ZUNoYW5nZXNcclxuICAgICAgICB8fCB0YXJnZXRFbnRpdHlTdGF0ZS5pc1VuY2hhbmdlZCgpKSB7XHJcbiAgICAgICAgdXBkYXRlRW50aXR5KG1jLCB0YXJnZXRFbnRpdHksIG5vZGUpO1xyXG4gICAgICAgIHRhcmdldEVudGl0eS5lbnRpdHlBc3BlY3Qud2FzTG9hZGVkID0gdHJ1ZTtcclxuICAgICAgICBpZiAobWV0YS5leHRyYU1ldGFkYXRhKSB7XHJcbiAgICAgICAgICB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0LmV4dHJhTWV0YWRhdGEgPSBtZXRhLmV4dHJhTWV0YWRhdGE7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRhcmdldEVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGUgPSBFbnRpdHlTdGF0ZS5VbmNoYW5nZWQ7XHJcbiAgICAgICAgY2xlYXJPcmlnaW5hbFZhbHVlcyh0YXJnZXRFbnRpdHkpO1xyXG4gICAgICAgIC8vIHByb3BlcnR5TmFtZSBub3Qgc3BlY2lmaWVkIGJlY2F1c2UgbXVsdGlwbGUgcHJvcHMgRW50aXR5Q2hhbmdlZEV2ZW50QXJnc1xyXG4gICAgICAgIHRhcmdldEVudGl0eS5lbnRpdHlBc3BlY3QucHJvcGVydHlDaGFuZ2VkLnB1Ymxpc2goeyBlbnRpdHk6IHRhcmdldEVudGl0eSwgcHJvcGVydHlOYW1lOiBudWxsIH0pO1xyXG4gICAgICAgIGxldCBhY3Rpb24gPSBpc1NhdmluZyA/IEVudGl0eUFjdGlvbi5NZXJnZU9uU2F2ZSA6IEVudGl0eUFjdGlvbi5NZXJnZU9uUXVlcnk7XHJcbiAgICAgICAgZW0uZW50aXR5Q2hhbmdlZC5wdWJsaXNoKHsgZW50aXR5QWN0aW9uOiBhY3Rpb24sIGVudGl0eTogdGFyZ2V0RW50aXR5IH0pO1xyXG4gICAgICAgIC8vIHRoaXMgaXMgbmVlZGVkIHRvIGhhbmRsZSBhbiBvdmVyd3JpdGUgb2YgYSBtb2RpZmllZCBlbnRpdHkgd2l0aCBhbiB1bmNoYW5nZWQgZW50aXR5XHJcbiAgICAgICAgLy8gd2hpY2ggbWlnaHQgaW4gdHVybiBjYXVzZSBfaGFzQ2hhbmdlcyB0byBjaGFuZ2UuXHJcbiAgICAgICAgaWYgKCF0YXJnZXRFbnRpdHlTdGF0ZS5pc1VuY2hhbmdlZCgpKSB7XHJcbiAgICAgICAgICBlbS5fbm90aWZ5U3RhdGVDaGFuZ2UodGFyZ2V0RW50aXR5LCBmYWxzZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9IGVsc2Uge1xyXG4gICAgICAgIC8vIHByb2Nlc3MgdGFyZ2V0RW50aXR5IChldmVuIGlmIGRlbGV0ZWQpIHRvIGVuc3VyZSByZWxhdGVkIG5vZGVzIGFyZSBoYW5kbGVkXHJcbiAgICAgICAgdXBkYXRlRW50aXR5Tm9NZXJnZShtYywgdGFyZ2V0RW50aXR5LCBub2RlKTtcclxuICAgICAgICBpZiAodGFyZ2V0RW50aXR5U3RhdGUgPT09IEVudGl0eVN0YXRlLkRlbGV0ZWQgJiYgIW1jLm1lcmdlT3B0aW9ucy5pbmNsdWRlRGVsZXRlZCkge1xyXG4gICAgICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfSBlbHNlIHtcclxuICAgIHRhcmdldEVudGl0eSA9IGVudGl0eVR5cGUuX2NyZWF0ZUluc3RhbmNlQ29yZSgpIGFzIEVudGl0eTtcclxuXHJcbiAgICB1cGRhdGVFbnRpdHkobWMsIHRhcmdldEVudGl0eSwgbm9kZSk7XHJcblxyXG4gICAgaWYgKG1ldGEuZXh0cmFNZXRhZGF0YSkge1xyXG4gICAgICB0YXJnZXRFbnRpdHkuZW50aXR5QXNwZWN0LmV4dHJhTWV0YWRhdGEgPSBtZXRhLmV4dHJhTWV0YWRhdGE7XHJcbiAgICB9XHJcbiAgICAvLyBlbS5fYXR0YWNoRW50aXR5Q29yZSh0YXJnZXRFbnRpdHksIEVudGl0eVN0YXRlLlVuY2hhbmdlZCwgTWVyZ2VTdHJhdGVneS5EaXNhbGxvd2VkKTtcclxuICAgIGVtLl9hdHRhY2hFbnRpdHlDb3JlKHRhcmdldEVudGl0eSwgRW50aXR5U3RhdGUuVW5jaGFuZ2VkLCBtZXJnZVN0cmF0ZWd5KTtcclxuICAgIHRhcmdldEVudGl0eS5lbnRpdHlBc3BlY3Qud2FzTG9hZGVkID0gdHJ1ZTtcclxuICAgIGVtLmVudGl0eUNoYW5nZWQucHVibGlzaCh7IGVudGl0eUFjdGlvbjogRW50aXR5QWN0aW9uLkF0dGFjaE9uUXVlcnksIGVudGl0eTogdGFyZ2V0RW50aXR5IH0pO1xyXG4gIH1cclxuICByZXR1cm4gdGFyZ2V0RW50aXR5O1xyXG59XHJcblxyXG4vLyBjb3BpZWQgZnJvbSBlbnRpdHlBc3BlY3RcclxuZnVuY3Rpb24gY2xlYXJPcmlnaW5hbFZhbHVlcyh0YXJnZXQ6IGFueSkge1xyXG4gIGxldCBhc3BlY3QgPSB0YXJnZXQuZW50aXR5QXNwZWN0IHx8IHRhcmdldC5jb21wbGV4QXNwZWN0O1xyXG4gIGFzcGVjdC5vcmlnaW5hbFZhbHVlcyA9IHt9O1xyXG4gIGxldCBzdHlwZSA9IHRhcmdldC5lbnRpdHlUeXBlIHx8IHRhcmdldC5jb21wbGV4VHlwZTtcclxuICBzdHlwZS5jb21wbGV4UHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChjcDogYW55KSB7XHJcbiAgICBsZXQgY29zID0gdGFyZ2V0LmdldFByb3BlcnR5KGNwLm5hbWUpO1xyXG4gICAgaWYgKGNwLmlzU2NhbGFyKSB7XHJcbiAgICAgIGNsZWFyT3JpZ2luYWxWYWx1ZXMoY29zKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGNvcy5fYWNjZXB0Q2hhbmdlcygpO1xyXG4gICAgICBjb3MuZm9yRWFjaChjbGVhck9yaWdpbmFsVmFsdWVzKTtcclxuICAgIH1cclxuICB9KTtcclxufVxyXG5cclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZUVudGl0eU5vTWVyZ2UobWM6IE1hcHBpbmdDb250ZXh0LCB0YXJnZXRFbnRpdHk6IEVudGl0eSwgbm9kZTogYW55KSB7XHJcbiAgdXBkYXRlRW50aXR5UmVmKG1jLCB0YXJnZXRFbnRpdHksIG5vZGUpO1xyXG4gIC8vIHdlIHN0aWxsIG5lZWQgdG8gbWVyZ2UgcmVsYXRlZCBlbnRpdGllcyBldmVuIGlmIHRvcCBsZXZlbCBlbnRpdHkgd2Fzbid0IG1vZGlmaWVkLlxyXG4gIG5vZGUuZW50aXR5VHlwZS5uYXZpZ2F0aW9uUHJvcGVydGllcy5mb3JFYWNoKGZ1bmN0aW9uIChucDogTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgICBpZiAobnAuaXNTY2FsYXIpIHtcclxuICAgICAgbWVyZ2VSZWxhdGVkRW50aXR5Q29yZShtYywgbm9kZSwgbnApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWVyZ2VSZWxhdGVkRW50aXRpZXNDb3JlKG1jLCBub2RlLCBucCk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIHVwZGF0ZUVudGl0eShtYzogTWFwcGluZ0NvbnRleHQsIHRhcmdldEVudGl0eTogRW50aXR5LCBub2RlOiBhbnkpIHtcclxuICB1cGRhdGVFbnRpdHlSZWYobWMsIHRhcmdldEVudGl0eSwgbm9kZSk7XHJcbiAgbGV0IGVudGl0eVR5cGUgPSB0YXJnZXRFbnRpdHkuZW50aXR5VHlwZTtcclxuICBlbnRpdHlUeXBlLl91cGRhdGVUYXJnZXRGcm9tUmF3KHRhcmdldEVudGl0eSwgbm9kZSwgbWMucmF3VmFsdWVGbik7XHJcblxyXG4gIGVudGl0eVR5cGUubmF2aWdhdGlvblByb3BlcnRpZXMuZm9yRWFjaChmdW5jdGlvbiAobnApIHtcclxuICAgIGlmIChucC5pc1NjYWxhcikge1xyXG4gICAgICBtZXJnZVJlbGF0ZWRFbnRpdHkobWMsIG5wLCB0YXJnZXRFbnRpdHksIG5vZGUpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgbWVyZ2VSZWxhdGVkRW50aXRpZXMobWMsIG5wLCB0YXJnZXRFbnRpdHksIG5vZGUpO1xyXG4gICAgfVxyXG4gIH0pO1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZVJlbGF0ZWRFbnRpdHkobWM6IE1hcHBpbmdDb250ZXh0LCBuYXZpZ2F0aW9uUHJvcGVydHk6IE5hdmlnYXRpb25Qcm9wZXJ0eSwgdGFyZ2V0RW50aXR5OiBFbnRpdHksIHJhd0VudGl0eTogYW55KSB7XHJcblxyXG4gIGxldCByZWxhdGVkRW50aXR5ID0gbWVyZ2VSZWxhdGVkRW50aXR5Q29yZShtYywgcmF3RW50aXR5LCBuYXZpZ2F0aW9uUHJvcGVydHkpO1xyXG4gIGlmIChyZWxhdGVkRW50aXR5ID09IG51bGwpIHJldHVybjtcclxuICBpZiAodHlwZW9mIHJlbGF0ZWRFbnRpdHkgPT09ICdmdW5jdGlvbicpIHtcclxuICAgIG1jLmRlZmVycmVkRm5zLnB1c2goZnVuY3Rpb24gKCkge1xyXG4gICAgICByZWxhdGVkRW50aXR5ID0gcmVsYXRlZEVudGl0eSgpO1xyXG4gICAgICB1cGRhdGVSZWxhdGVkRW50aXR5KHJlbGF0ZWRFbnRpdHksIHRhcmdldEVudGl0eSwgbmF2aWdhdGlvblByb3BlcnR5KTtcclxuICAgIH0pO1xyXG4gIH0gZWxzZSB7XHJcbiAgICB1cGRhdGVSZWxhdGVkRW50aXR5KHJlbGF0ZWRFbnRpdHksIHRhcmdldEVudGl0eSwgbmF2aWdhdGlvblByb3BlcnR5KTtcclxuICB9XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1lcmdlUmVsYXRlZEVudGl0aWVzKG1jOiBNYXBwaW5nQ29udGV4dCwgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHksIHRhcmdldEVudGl0eTogRW50aXR5LCByYXdFbnRpdHk6IGFueSkge1xyXG4gIGxldCByZWxhdGVkRW50aXRpZXMgPSBtZXJnZVJlbGF0ZWRFbnRpdGllc0NvcmUobWMsIHJhd0VudGl0eSwgbmF2aWdhdGlvblByb3BlcnR5KTtcclxuICBpZiAocmVsYXRlZEVudGl0aWVzID09IG51bGwpIHJldHVybjtcclxuXHJcbiAgbGV0IGludmVyc2VQcm9wZXJ0eSA9IG5hdmlnYXRpb25Qcm9wZXJ0eS5pbnZlcnNlO1xyXG4gIGlmICghaW52ZXJzZVByb3BlcnR5KSByZXR1cm47XHJcblxyXG4gIGxldCBvcmlnaW5hbFJlbGF0ZWRFbnRpdGllcyA9IHRhcmdldEVudGl0eS5nZXRQcm9wZXJ0eShuYXZpZ2F0aW9uUHJvcGVydHkubmFtZSk7XHJcbiAgb3JpZ2luYWxSZWxhdGVkRW50aXRpZXMud2FzTG9hZGVkID0gdHJ1ZTtcclxuXHJcbiAgcmVsYXRlZEVudGl0aWVzLmZvckVhY2goZnVuY3Rpb24gKHJlbGF0ZWRFbnRpdHk6IGFueSkge1xyXG4gICAgaWYgKHR5cGVvZiByZWxhdGVkRW50aXR5ID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgIG1jLmRlZmVycmVkRm5zLnB1c2goZnVuY3Rpb24gKCkge1xyXG4gICAgICAgIHJlbGF0ZWRFbnRpdHkgPSByZWxhdGVkRW50aXR5KCk7XHJcbiAgICAgICAgdXBkYXRlUmVsYXRlZEVudGl0eUluQ29sbGVjdGlvbihtYywgcmVsYXRlZEVudGl0eSwgb3JpZ2luYWxSZWxhdGVkRW50aXRpZXMsIHRhcmdldEVudGl0eSwgaW52ZXJzZVByb3BlcnR5IGFzIE5hdmlnYXRpb25Qcm9wZXJ0eSk7XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdXBkYXRlUmVsYXRlZEVudGl0eUluQ29sbGVjdGlvbihtYywgcmVsYXRlZEVudGl0eSwgb3JpZ2luYWxSZWxhdGVkRW50aXRpZXMsIHRhcmdldEVudGl0eSwgaW52ZXJzZVByb3BlcnR5IGFzIE5hdmlnYXRpb25Qcm9wZXJ0eSk7XHJcbiAgICB9XHJcbiAgfSk7XHJcbn1cclxuXHJcbmZ1bmN0aW9uIG1lcmdlUmVsYXRlZEVudGl0eUNvcmUobWM6IE1hcHBpbmdDb250ZXh0LCByYXdFbnRpdHk6IGFueSwgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHkpIHtcclxuICBsZXQgcmVsYXRlZFJhd0VudGl0eSA9IHJhd0VudGl0eVtuYXZpZ2F0aW9uUHJvcGVydHkubmFtZU9uU2VydmVyXTtcclxuICBpZiAoIXJlbGF0ZWRSYXdFbnRpdHkpIHJldHVybiBudWxsO1xyXG5cclxuICBsZXQgcmVsYXRlZEVudGl0eSA9IG1jLnZpc2l0QW5kTWVyZ2UocmVsYXRlZFJhd0VudGl0eSwgeyBub2RlVHlwZTogXCJuYXZQcm9wXCIsIG5hdmlnYXRpb25Qcm9wZXJ0eTogbmF2aWdhdGlvblByb3BlcnR5IH0pO1xyXG4gIHJldHVybiByZWxhdGVkRW50aXR5O1xyXG59XHJcblxyXG5mdW5jdGlvbiBtZXJnZVJlbGF0ZWRFbnRpdGllc0NvcmUobWM6IE1hcHBpbmdDb250ZXh0LCByYXdFbnRpdHk6IGFueSwgbmF2aWdhdGlvblByb3BlcnR5OiBOYXZpZ2F0aW9uUHJvcGVydHkpIHtcclxuICBsZXQgcmVsYXRlZFJhd0VudGl0aWVzID0gcmF3RW50aXR5W25hdmlnYXRpb25Qcm9wZXJ0eS5uYW1lT25TZXJ2ZXJdO1xyXG4gIGlmICghcmVsYXRlZFJhd0VudGl0aWVzKSByZXR1cm4gbnVsbDtcclxuXHJcbiAgLy8gbmVlZGVkIGlmIHdoYXQgaXMgcmV0dXJuZWQgaXMgbm90IGFuIGFycmF5IGFuZCB3ZSBleHBlY3Qgb25lIC0gdGhpcyBoYXBwZW5zIHdpdGggX19kZWZlcnJlZCBpbiBPRGF0YS5cclxuICBpZiAoIUFycmF5LmlzQXJyYXkocmVsYXRlZFJhd0VudGl0aWVzKSkge1xyXG4gICAgLy8gcmV0dXJuIG51bGw7XHJcbiAgICByZWxhdGVkUmF3RW50aXRpZXMgPSByZWxhdGVkUmF3RW50aXRpZXMucmVzdWx0czsgLy8gT0RhdGEgdjMgd2lsbCBsb29rIGxpa2UgdGhpcyB3aXRoIGFuIGV4cGFuZFxyXG4gICAgaWYgKCFyZWxhdGVkUmF3RW50aXRpZXMpIHtcclxuICAgICAgcmV0dXJuIG51bGw7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBsZXQgcmVsYXRlZEVudGl0aWVzID0gbWMudmlzaXRBbmRNZXJnZShyZWxhdGVkUmF3RW50aXRpZXMsIHsgbm9kZVR5cGU6IFwibmF2UHJvcEl0ZW1cIiwgbmF2aWdhdGlvblByb3BlcnR5OiBuYXZpZ2F0aW9uUHJvcGVydHkgfSk7XHJcbiAgcmV0dXJuIHJlbGF0ZWRFbnRpdGllcztcclxufVxyXG5cclxuZnVuY3Rpb24gdXBkYXRlUmVsYXRlZEVudGl0eShyZWxhdGVkRW50aXR5OiBFbnRpdHksIHRhcmdldEVudGl0eTogRW50aXR5LCBuYXZpZ2F0aW9uUHJvcGVydHk6IE5hdmlnYXRpb25Qcm9wZXJ0eSkge1xyXG4gIGlmICghcmVsYXRlZEVudGl0eSkgcmV0dXJuO1xyXG4gIGxldCBwcm9wTmFtZSA9IG5hdmlnYXRpb25Qcm9wZXJ0eS5uYW1lO1xyXG4gIGxldCBjdXJyZW50UmVsYXRlZEVudGl0eSA9IHRhcmdldEVudGl0eS5nZXRQcm9wZXJ0eShwcm9wTmFtZSk7XHJcblxyXG4gIC8vIGNoZWNrIGlmIHRoZSByZWxhdGVkIGVudGl0eSBpcyBhbHJlYWR5IGhvb2tlZCB1cFxyXG4gIGlmIChjdXJyZW50UmVsYXRlZEVudGl0eSAhPT0gcmVsYXRlZEVudGl0eSkge1xyXG4gICAgLy8gaWYgbm90IGhvb2sgdXAgYm90aCBkaXJlY3Rpb25zLlxyXG4gICAgdGFyZ2V0RW50aXR5LnNldFByb3BlcnR5KHByb3BOYW1lLCByZWxhdGVkRW50aXR5KTtcclxuICAgIGxldCBpbnZlcnNlUHJvcGVydHkgPSBuYXZpZ2F0aW9uUHJvcGVydHkuaW52ZXJzZTtcclxuICAgIGlmICghaW52ZXJzZVByb3BlcnR5KSByZXR1cm47XHJcbiAgICBpZiAoaW52ZXJzZVByb3BlcnR5LmlzU2NhbGFyKSB7XHJcbiAgICAgIHJlbGF0ZWRFbnRpdHkuc2V0UHJvcGVydHkoaW52ZXJzZVByb3BlcnR5Lm5hbWUsIHRhcmdldEVudGl0eSk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBsZXQgY29sbGVjdGlvbiA9IHJlbGF0ZWRFbnRpdHkuZ2V0UHJvcGVydHkoaW52ZXJzZVByb3BlcnR5Lm5hbWUpO1xyXG4gICAgICBjb2xsZWN0aW9uLnB1c2godGFyZ2V0RW50aXR5KTtcclxuXHJcbiAgICB9XHJcbiAgfVxyXG59XHJcblxyXG5mdW5jdGlvbiB1cGRhdGVSZWxhdGVkRW50aXR5SW5Db2xsZWN0aW9uKG1jOiBNYXBwaW5nQ29udGV4dCwgcmVsYXRlZEVudGl0eTogRW50aXR5IHwgdW5kZWZpbmVkLFxyXG4gICAgcmVsYXRlZEVudGl0aWVzOiBFbnRpdHlbXSwgdGFyZ2V0RW50aXR5OiBFbnRpdHksIGludmVyc2VQcm9wZXJ0eTogTmF2aWdhdGlvblByb3BlcnR5KSB7XHJcbiAgaWYgKCFyZWxhdGVkRW50aXR5KSByZXR1cm47XHJcblxyXG4gIC8vIGRvbid0IHVwZGF0ZSByZWxhdGVkQ29sbGVjdGlvbiBpZiBwcmVzZXJ2ZUNoYW5nZXMgJiByZWxhdGVkRW50aXR5IGhhcyBhbiBma0NoYW5nZS5cclxuICBpZiAocmVsYXRlZEVudGl0eS5lbnRpdHlBc3BlY3QuZW50aXR5U3RhdGUgPT09IEVudGl0eVN0YXRlLk1vZGlmaWVkXHJcbiAgICAmJiBtYy5tZXJnZU9wdGlvbnMubWVyZ2VTdHJhdGVneSA9PT0gTWVyZ2VTdHJhdGVneS5QcmVzZXJ2ZUNoYW5nZXMpIHtcclxuICAgIGxldCBvcmlnVmFsdWVzID0gcmVsYXRlZEVudGl0eS5lbnRpdHlBc3BlY3Qub3JpZ2luYWxWYWx1ZXM7XHJcbiAgICBsZXQgZmtXYXNNb2RpZmllZCA9IGludmVyc2VQcm9wZXJ0eS5yZWxhdGVkRGF0YVByb3BlcnRpZXMuc29tZShmdW5jdGlvbiAoZHApIHtcclxuICAgICAgcmV0dXJuIG9yaWdWYWx1ZXNbZHAubmFtZV0gIT0gdW5kZWZpbmVkO1xyXG4gICAgfSk7XHJcbiAgICBpZiAoZmtXYXNNb2RpZmllZCkgcmV0dXJuO1xyXG4gIH1cclxuICAvLyBjaGVjayBpZiB0aGUgcmVsYXRlZCBlbnRpdHkgaXMgYWxyZWFkeSBob29rZWQgdXBcclxuICBsZXQgdGhpc0VudGl0eSA9IHJlbGF0ZWRFbnRpdHkuZ2V0UHJvcGVydHkoaW52ZXJzZVByb3BlcnR5Lm5hbWUpO1xyXG5cclxuICBpZiAodGhpc0VudGl0eSAhPT0gdGFyZ2V0RW50aXR5KSB7XHJcbiAgICAvLyBpZiBub3QgLSBob29rIGl0IHVwLlxyXG4gICAgcmVsYXRlZEVudGl0aWVzLnB1c2gocmVsYXRlZEVudGl0eSk7XHJcbiAgICByZWxhdGVkRW50aXR5LnNldFByb3BlcnR5KGludmVyc2VQcm9wZXJ0eS5uYW1lLCB0YXJnZXRFbnRpdHkpO1xyXG4gIH1cclxufVxyXG5cclxuXHJcbiJdfQ==
|
|
@@ -87,4 +87,4 @@ var NamingConvention = /** @class */ (function () {
|
|
|
87
87
|
}());
|
|
88
88
|
export { NamingConvention };
|
|
89
89
|
NamingConvention.prototype._$typeName = "NamingConvention";
|
|
90
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtaW5nLWNvbnZlbnRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50LyIsInNvdXJjZXMiOlsic3JjL25hbWluZy1jb252ZW50aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFjbEM7Ozs7OztHQU1HO0FBQ0g7SUFVRTs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNILDBCQUFZLFFBQWdDO1FBQzFDLFlBQVksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO2FBQ3ZCLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7YUFDMUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUMsVUFBVSxFQUFFO2FBQ3JELFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFVBQVUsRUFBRTthQUNyRCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjtRQUNELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBcUNEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILHVDQUFZLEdBQVo7UUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQWxERDs7Ozs7T0FLRztJQUNJLHFCQUFJLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztRQUNqQyxJQUFJLEVBQUUsVUFBVTtRQUNoQiwwQkFBMEIsRUFBRSxVQUFDLGtCQUFrQjtZQUM3QyxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUM7UUFDRCwwQkFBMEIsRUFBRSxVQUFDLGtCQUFrQjtZQUM3QyxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSDs7O09BR0c7SUFDSSwwQkFBUyxHQUFHLElBQUksZ0JBQWdCLENBQUM7UUFDdEMsSUFBSSxFQUFFLFdBQVc7UUFDakIsMEJBQTBCLEVBQUUsVUFBQyxrQkFBa0I7WUFDN0MsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBQ0QsMEJBQTBCLEVBQUUsVUFBQyxrQkFBa0I7WUFDN0MsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxnQ0FBZSxHQUFHLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFtQnZFLHVCQUFDO0NBQUEsQUF6RkQsSUF5RkM7U0F6RlksZ0JBQWdCO0FBMkY3QixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0Q29uZmlnIH0gZnJvbSAnLi9hc3NlcnQtcGFyYW0nO1xyXG5pbXBvcnQgeyBjb3JlIH0gZnJvbSAnLi9jb3JlJztcclxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xyXG5cclxuLy8gVE9ETzogc3Ryb25nbHkgdHlwZSBjb250ZXh0IG9iamVjdCBwYXNzZWQgdG8gbmFtaW5nIGNvbnZlbnRpb24gY29udmVydGVyIGZucy5cclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIGluZm8gdG8gYmUgcGFzc2VkIHRvIHRoZSBbW05hbWluZ0NvbnZlbnRpb25dXSBjb25zdHJ1Y3RvciAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5hbWluZ0NvbnZlbnRpb25Db25maWcge1xyXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGlzIE5hbWluZ0NvbnZlbnRpb24gKi9cclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBGdW5jdGlvbiB0aGF0IHRha2VzIGEgc2VydmVyIHByb3BlcnR5IG5hbWUgYWRkIGNvbnZlcnRzIGl0IGludG8gYSBjbGllbnQgc2lkZSBwcm9wZXJ0eSBuYW1lLiAgKi9cclxuICBzZXJ2ZXJQcm9wZXJ0eU5hbWVUb0NsaWVudD86IChubTogc3RyaW5nLCBjb250ZXh0PzogYW55KSA9PiBzdHJpbmc7XHJcbiAgLyoqIEZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBjbGllbnQgcHJvcGVydHkgbmFtZSBhZGQgY29udmVydHMgaXQgaW50byBhIHNlcnZlciBzaWRlIHByb3BlcnR5IG5hbWUuICovXHJcbiAgY2xpZW50UHJvcGVydHlOYW1lVG9TZXJ2ZXI/
|
|
90
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmFtaW5nLWNvbnZlbnRpb24uanMiLCJzb3VyY2VSb290Ijoibmc6Ly9icmVlemUtY2xpZW50LyIsInNvdXJjZXMiOlsic3JjL25hbWluZy1jb252ZW50aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsSUFBSSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQzlCLE9BQU8sRUFBRSxNQUFNLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFjbEM7Ozs7OztHQU1HO0FBQ0g7SUFVRTs7Ozs7Ozs7Ozs7Ozs7T0FjRztJQUNILDBCQUFZLFFBQWdDO1FBQzFDLFlBQVksQ0FBQyxRQUFRLElBQUksRUFBRSxDQUFDO2FBQ3ZCLFVBQVUsQ0FBQyxNQUFNLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7YUFDMUMsVUFBVSxDQUFDLDRCQUE0QixDQUFDLENBQUMsVUFBVSxFQUFFO2FBQ3JELFVBQVUsQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDLFVBQVUsRUFBRTthQUNyRCxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEIsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDZCxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxPQUFPLEVBQUUsQ0FBQztTQUM1QjtRQUNELE1BQU0sQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGtCQUFrQixFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBcUNEOzs7Ozs7Ozs7Ozs7T0FZRztJQUNILHVDQUFZLEdBQVo7UUFDRSxPQUFPLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxFQUFFLGdCQUFnQixDQUFDLENBQUM7SUFDbkQsQ0FBQztJQWxERDs7Ozs7T0FLRztJQUNJLHFCQUFJLEdBQUcsSUFBSSxnQkFBZ0IsQ0FBQztRQUNqQyxJQUFJLEVBQUUsVUFBVTtRQUNoQiwwQkFBMEIsRUFBRSxVQUFDLGtCQUFrQjtZQUM3QyxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUM7UUFDRCwwQkFBMEIsRUFBRSxVQUFDLGtCQUFrQjtZQUM3QyxPQUFPLGtCQUFrQixDQUFDO1FBQzVCLENBQUM7S0FDRixDQUFDLENBQUM7SUFFSDs7O09BR0c7SUFDSSwwQkFBUyxHQUFHLElBQUksZ0JBQWdCLENBQUM7UUFDdEMsSUFBSSxFQUFFLFdBQVc7UUFDakIsMEJBQTBCLEVBQUUsVUFBQyxrQkFBa0I7WUFDN0MsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDO1FBQ0QsMEJBQTBCLEVBQUUsVUFBQyxrQkFBa0I7WUFDN0MsT0FBTyxrQkFBa0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFDLFdBQVcsRUFBRSxHQUFHLGtCQUFrQixDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0RixDQUFDO0tBQ0YsQ0FBQyxDQUFDO0lBRUg7O09BRUc7SUFDSSxnQ0FBZSxHQUFHLElBQUksZ0JBQWdCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7SUFtQnZFLHVCQUFDO0NBQUEsQUF6RkQsSUF5RkM7U0F6RlksZ0JBQWdCO0FBMkY3QixnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGtCQUFrQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYXNzZXJ0Q29uZmlnIH0gZnJvbSAnLi9hc3NlcnQtcGFyYW0nO1xyXG5pbXBvcnQgeyBjb3JlIH0gZnJvbSAnLi9jb3JlJztcclxuaW1wb3J0IHsgY29uZmlnIH0gZnJvbSAnLi9jb25maWcnO1xyXG5cclxuLy8gVE9ETzogc3Ryb25nbHkgdHlwZSBjb250ZXh0IG9iamVjdCBwYXNzZWQgdG8gbmFtaW5nIGNvbnZlbnRpb24gY29udmVydGVyIGZucy5cclxuXHJcbi8qKiBDb25maWd1cmF0aW9uIGluZm8gdG8gYmUgcGFzc2VkIHRvIHRoZSBbW05hbWluZ0NvbnZlbnRpb25dXSBjb25zdHJ1Y3RvciAqL1xyXG5leHBvcnQgaW50ZXJmYWNlIE5hbWluZ0NvbnZlbnRpb25Db25maWcge1xyXG4gIC8qKiBUaGUgbmFtZSBvZiB0aGlzIE5hbWluZ0NvbnZlbnRpb24gKi9cclxuICBuYW1lPzogc3RyaW5nO1xyXG4gIC8qKiBGdW5jdGlvbiB0aGF0IHRha2VzIGEgc2VydmVyIHByb3BlcnR5IG5hbWUgYWRkIGNvbnZlcnRzIGl0IGludG8gYSBjbGllbnQgc2lkZSBwcm9wZXJ0eSBuYW1lLiAgKi9cclxuICBzZXJ2ZXJQcm9wZXJ0eU5hbWVUb0NsaWVudD86IChubTogc3RyaW5nLCBjb250ZXh0PzogYW55KSA9PiBzdHJpbmc7XHJcbiAgLyoqIEZ1bmN0aW9uIHRoYXQgdGFrZXMgYSBjbGllbnQgcHJvcGVydHkgbmFtZSBhZGQgY29udmVydHMgaXQgaW50byBhIHNlcnZlciBzaWRlIHByb3BlcnR5IG5hbWUuICovXHJcbiAgY2xpZW50UHJvcGVydHlOYW1lVG9TZXJ2ZXI/OiAobm06IHN0cmluZywgY29udGV4dD86IGFueSkgPT4gc3RyaW5nO1xyXG59XHJcblxyXG4vKipcclxuQSBOYW1pbmdDb252ZW50aW9uIGluc3RhbmNlIGlzIHVzZWQgdG8gc3BlY2lmeSB0aGUgbmFtaW5nIGNvbnZlbnRpb25zIHVuZGVyIHdoaWNoIGEgTWV0YWRhdGFTdG9yZVxyXG53aWxsIHRyYW5zbGF0ZSBwcm9wZXJ0eSBuYW1lcyBiZXR3ZWVuIHRoZSBzZXJ2ZXIgYW5kIHRoZSBqYXZhc2NyaXB0IGNsaWVudC5cclxuXHJcblRoZSBkZWZhdWx0IE5hbWluZ0NvbnZlbnRpb24gZG9lcyBub3QgcGVyZm9ybSBhbnkgdHJhbnNsYXRpb24sIGl0IHNpbXBseSBwYXNzZXMgcHJvcGVydHkgbmFtZXMgdGhydSB1bmNoYW5nZWQuXHJcbkBkeW5hbWljXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgTmFtaW5nQ29udmVudGlvbiB7XHJcbiAgLyoqIEBoaWRkZW4gQGludGVybmFsICovXHJcbiAgZGVjbGFyZSBfJHR5cGVOYW1lOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBuYW1lIG9mIHRoaXMgTmFtaW5nQ29udmVudGlvbi4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIGRlY2xhcmUgbmFtZTogc3RyaW5nO1xyXG4gIC8qKiBGdW5jdGlvbiB0aGF0IHRha2VzIGEgc2VydmVyIHByb3BlcnR5IG5hbWUgYWRkIGNvbnZlcnRzIGl0IGludG8gYSBjbGllbnQgc2lkZSBwcm9wZXJ0eSBuYW1lLiAgX19SZWFkIE9ubHlfXyAqL1xyXG4gIHNlcnZlclByb3BlcnR5TmFtZVRvQ2xpZW50OiAobm06IHN0cmluZywgY29udGV4dD86IGFueSkgPT4gc3RyaW5nO1xyXG4gIC8qKiBGdW5jdGlvbiB0aGF0IHRha2VzIGEgY2xpZW50IHByb3BlcnR5IG5hbWUgYWRkIGNvbnZlcnRzIGl0IGludG8gYSBzZXJ2ZXIgc2lkZSBwcm9wZXJ0eSBuYW1lLiBfX1JlYWQgT25seV9fICovXHJcbiAgY2xpZW50UHJvcGVydHlOYW1lVG9TZXJ2ZXI6IChubTogc3RyaW5nLCBjb250ZXh0PzogYW55KSA9PiBzdHJpbmc7XHJcblxyXG4gIC8qKlxyXG4gIE5hbWluZ0NvbnZlbnRpb24gY29uc3RydWN0b3JcclxuICA+ICAgICAgLy8gQSBuYW1pbmcgY29udmVudGlvbiB0aGF0IGNvbnZlcnRzIHRoZSBmaXJzdCBjaGFyYWN0ZXIgb2YgZXZlcnkgcHJvcGVydHkgbmFtZSB0byB1cHBlcmNhc2Ugb24gdGhlIHNlcnZlclxyXG4gID4gICAgICAvLyBhbmQgbG93ZXJjYXNlIG9uIHRoZSBjbGllbnQuXHJcbiAgPiAgICAgIHZhciBuYW1pbmdDb252ID0gbmV3IE5hbWluZ0NvbnZlbnRpb24oe1xyXG4gID4gICAgICAgICAgc2VydmVyUHJvcGVydHlOYW1lVG9DbGllbnQ6IGZ1bmN0aW9uKHNlcnZlclByb3BlcnR5TmFtZSkge1xyXG4gID4gICAgICAgICAgICAgIHJldHVybiBzZXJ2ZXJQcm9wZXJ0eU5hbWUuc3Vic3RyKDAsIDEpLnRvTG93ZXJDYXNlKCkgKyBzZXJ2ZXJQcm9wZXJ0eU5hbWUuc3Vic3RyKDEpO1xyXG4gID4gICAgICAgICAgfSxcclxuICA+ICAgICAgICAgIGNsaWVudFByb3BlcnR5TmFtZVRvU2VydmVyOiBmdW5jdGlvbihjbGllbnRQcm9wZXJ0eU5hbWUpIHtcclxuICA+ICAgICAgICAgICAgICByZXR1cm4gY2xpZW50UHJvcGVydHlOYW1lLnN1YnN0cigwLCAxKS50b1VwcGVyQ2FzZSgpICsgY2xpZW50UHJvcGVydHlOYW1lLnN1YnN0cigxKTtcclxuICA+ICAgICAgICAgIH0gICAgICAgICAgICBcclxuICA+ICAgICAgfSk7XHJcbiAgPiAgICAgIHZhciBtcyA9IG5ldyBNZXRhZGF0YVN0b3JlKHsgbmFtaW5nQ29udmVudGlvbjogbmFtaW5nQ29udiB9KTtcclxuICA+ICAgICAgdmFyIGVtID0gbmV3IEVudGl0eU1hbmFnZXIoIHsgbWV0YWRhdGFTdG9yZTogbXMgfSk7XHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IobmNDb25maWc6IE5hbWluZ0NvbnZlbnRpb25Db25maWcgKSB7XHJcbiAgICBhc3NlcnRDb25maWcobmNDb25maWcgfHwge30pXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJuYW1lXCIpLmlzT3B0aW9uYWwoKS5pc1N0cmluZygpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJzZXJ2ZXJQcm9wZXJ0eU5hbWVUb0NsaWVudFwiKS5pc0Z1bmN0aW9uKClcclxuICAgICAgICAud2hlcmVQYXJhbShcImNsaWVudFByb3BlcnR5TmFtZVRvU2VydmVyXCIpLmlzRnVuY3Rpb24oKVxyXG4gICAgICAgIC5hcHBseUFsbCh0aGlzKTtcclxuICAgIGlmICghdGhpcy5uYW1lKSB7XHJcbiAgICAgIHRoaXMubmFtZSA9IGNvcmUuZ2V0VXVpZCgpO1xyXG4gICAgfVxyXG4gICAgY29uZmlnLl9zdG9yZU9iamVjdCh0aGlzLCBcIk5hbWluZ0NvbnZlbnRpb25cIiwgdGhpcy5uYW1lKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG5cclxuXHJcbiAgLyoqXHJcbiAgQSBub29wIG5hbWluZyBjb252ZW50aW9uIC0gVGhpcyBpcyB0aGUgZGVmYXVsdCB1bmxlc3MgYW5vdGhlciBpcyBzcGVjaWZpZWQuXHJcbiAgKiovXHJcbiAgc3RhdGljIG5vbmUgPSBuZXcgTmFtaW5nQ29udmVudGlvbih7XHJcbiAgICBuYW1lOiBcIm5vQ2hhbmdlXCIsXHJcbiAgICBzZXJ2ZXJQcm9wZXJ0eU5hbWVUb0NsaWVudDogKHNlcnZlclByb3BlcnR5TmFtZSkgPT4ge1xyXG4gICAgICByZXR1cm4gc2VydmVyUHJvcGVydHlOYW1lO1xyXG4gICAgfSxcclxuICAgIGNsaWVudFByb3BlcnR5TmFtZVRvU2VydmVyOiAoY2xpZW50UHJvcGVydHlOYW1lKSA9PiB7XHJcbiAgICAgIHJldHVybiBjbGllbnRQcm9wZXJ0eU5hbWU7XHJcbiAgICB9XHJcbiAgfSk7XHJcblxyXG4gIC8qKlxyXG4gIFRoZSBcImNhbWVsQ2FzZVwiIG5hbWluZyBjb252ZW50aW9uIC0gVGhpcyBpbXBsZW1lbnRhdGlvbiBvbmx5IGxvd2VyY2FzZXMgdGhlIGZpcnN0IGNoYXJhY3RlciBvZiB0aGUgc2VydmVyIHByb3BlcnR5IG5hbWVcclxuICBidXQgbGVhdmVzIHRoZSByZXN0IG9mIHRoZSBwcm9wZXJ0eSBuYW1lIGludGFjdC4gIElmIGEgbW9yZSBjb21wbGljYXRlZCB2ZXJzaW9uIGlzIG5lZWRlZCB0aGVuIG9uZSBzaG91bGQgYmUgY3JlYXRlZCB2aWEgdGhlIGN0b3IuXHJcbiAgKiovXHJcbiAgc3RhdGljIGNhbWVsQ2FzZSA9IG5ldyBOYW1pbmdDb252ZW50aW9uKHtcclxuICAgIG5hbWU6IFwiY2FtZWxDYXNlXCIsXHJcbiAgICBzZXJ2ZXJQcm9wZXJ0eU5hbWVUb0NsaWVudDogKHNlcnZlclByb3BlcnR5TmFtZSkgPT4ge1xyXG4gICAgICByZXR1cm4gc2VydmVyUHJvcGVydHlOYW1lLnN1YnN0cigwLCAxKS50b0xvd2VyQ2FzZSgpICsgc2VydmVyUHJvcGVydHlOYW1lLnN1YnN0cigxKTtcclxuICAgIH0sXHJcbiAgICBjbGllbnRQcm9wZXJ0eU5hbWVUb1NlcnZlcjogKGNsaWVudFByb3BlcnR5TmFtZSkgPT4ge1xyXG4gICAgICByZXR1cm4gY2xpZW50UHJvcGVydHlOYW1lLnN1YnN0cigwLCAxKS50b1VwcGVyQ2FzZSgpICsgY2xpZW50UHJvcGVydHlOYW1lLnN1YnN0cigxKTtcclxuICAgIH1cclxuICB9KTtcclxuXHJcbiAgLyoqXHJcbiAgVGhlIGRlZmF1bHQgdmFsdWUgd2hlbmV2ZXIgTmFtaW5nQ29udmVudGlvbnMgYXJlIG5vdCBzcGVjaWZpZWQuXHJcbiAgKiovXHJcbiAgc3RhdGljIGRlZmF1bHRJbnN0YW5jZSA9IG5ldyBOYW1pbmdDb252ZW50aW9uKE5hbWluZ0NvbnZlbnRpb24ubm9uZSk7XHJcblxyXG4gIC8qKlxyXG4gIFNldHMgdGhlICdkZWZhdWx0SW5zdGFuY2UnIGJ5IGNyZWF0aW5nIGEgY29weSBvZiB0aGUgY3VycmVudCAnZGVmYXVsdEluc3RhbmNlJyBhbmQgdGhlbiBhcHBseWluZyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UuXHJcbiAgVGhlIGN1cnJlbnQgaW5zdGFuY2UgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxyXG4gID4gICAgICB2YXIgbmFtaW5nQ29udiA9IG5ldyBOYW1pbmdDb252ZW50aW9uKHtcclxuICA+ICAgICAgICAgIHNlcnZlclByb3BlcnR5TmFtZVRvQ2xpZW50OiBmdW5jdGlvbihzZXJ2ZXJQcm9wZXJ0eU5hbWUpIHtcclxuICA+ICAgICAgICAgICAgICByZXR1cm4gc2VydmVyUHJvcGVydHlOYW1lLnN1YnN0cigwLCAxKS50b0xvd2VyQ2FzZSgpICsgc2VydmVyUHJvcGVydHlOYW1lLnN1YnN0cigxKTtcclxuICA+ICAgICAgICAgIH0sXHJcbiAgPiAgICAgICAgICBjbGllbnRQcm9wZXJ0eU5hbWVUb1NlcnZlcjogZnVuY3Rpb24oY2xpZW50UHJvcGVydHlOYW1lKSB7XHJcbiAgPiAgICAgICAgICAgICAgcmV0dXJuIGNsaWVudFByb3BlcnR5TmFtZS5zdWJzdHIoMCwgMSkudG9VcHBlckNhc2UoKSArIGNsaWVudFByb3BlcnR5TmFtZS5zdWJzdHIoMSk7XHJcbiAgPiAgICAgICAgICB9ICAgICAgICAgICAgXHJcbiAgPiAgICAgIH0pO1xyXG4gID4gICAgICBuYW1pbmdDb252LnNldEFzRGVmYXVsdCgpO1xyXG4gICoqL1xyXG4gIHNldEFzRGVmYXVsdCgpIHtcclxuICAgIHJldHVybiBjb3JlLnNldEFzRGVmYXVsdCh0aGlzLCBOYW1pbmdDb252ZW50aW9uKTtcclxuICB9XHJcblxyXG59XHJcblxyXG5OYW1pbmdDb252ZW50aW9uLnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJOYW1pbmdDb252ZW50aW9uXCI7XHJcblxyXG5cclxuXHJcblxyXG4iXX0=
|
|
@@ -164,4 +164,4 @@ var QueryOptions = /** @class */ (function () {
|
|
|
164
164
|
}());
|
|
165
165
|
export { QueryOptions };
|
|
166
166
|
QueryOptions.prototype._$typeName = "QueryOptions";
|
|
167
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvIiwic291cmNlcyI6WyJzcmMvcXVlcnktb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5Qzs7Ozs7R0FLRztBQUNIO0lBQW1DLGlDQUFVO0lBQTdDOztJQStCQSxDQUFDO0lBN0JDOzs7OztPQUtHO0lBQ0ksNkJBQWUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQzdDOzs7OztPQUtHO0lBQ0ksOEJBQWdCLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUU5Qzs7O09BR0c7SUFDSSx1QkFBUyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7SUFFdkM7Ozs7T0FJRztJQUNJLHdCQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUcxQyxvQkFBQztDQUFBLEFBL0JELENBQW1DLFVBQVUsR0ErQjVDO1NBL0JZLGFBQWE7QUFnQzFCLGFBQWEsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQztBQUNyRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO0FBRTVDOztHQUVHO0FBQ0g7SUFBbUMsaUNBQVU7SUFBN0M7O0lBV0EsQ0FBQztJQVRDOztPQUVHO0lBQ0ksd0JBQVUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQ3hDOztPQUVHO0lBQ0ksNEJBQWMsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBRTlDLG9CQUFDO0NBQUEsQUFYRCxDQUFtQyxVQUFVLEdBVzVDO1NBWFksYUFBYTtBQVkxQixhQUFhLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUM7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cmUgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBCcmVlemVFbnVtIH0gZnJvbSAnLi9lbnVtJztcclxuaW1wb3J0IHsgYXNzZXJ0Q29uZmlnIH0gZnJvbSAnLi9hc3NlcnQtcGFyYW0nO1xyXG5cclxuLyoqXHJcbk1lcmdlU3RyYXRlZ3kgaXMgYW4gJ0VudW0nIHRoYXQgZGV0ZXJtaW5lcyBob3cgZW50aXRpZXMgYXJlIG1lcmdlZCBpbnRvIGFuIEVudGl0eU1hbmFnZXIuXHJcblxyXG5AY2xhc3MgTWVyZ2VTdHJhdGVneVxyXG5Ac3RhdGljXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgTWVyZ2VTdHJhdGVneSBleHRlbmRzIEJyZWV6ZUVudW0ge1xyXG5cclxuICAvKipcclxuICBNZXJnZVN0cmF0ZWd5LlByZXNlcnZlQ2hhbmdlcyB1cGRhdGVzIHRoZSBjYWNoZWQgZW50aXR5IHdpdGggdGhlIGluY29taW5nIHZhbHVlcyB1bmxlc3MgdGhlIGNhY2hlZCBlbnRpdHkgaXMgaW4gYSBjaGFuZ2VkXHJcbiAgc3RhdGUgKGFkZGVkLCBtb2RpZmllZCwgZGVsZXRlZCkgaW4gd2hpY2ggY2FzZSB0aGUgaW5jb21pbmcgdmFsdWVzIGFyZSBpZ25vcmVkLiBUaGUgdXBkYXRlZCBjYWNoZWQgZW50aXR54oCZcyBFbnRpdHlTdGF0ZSB3aWxsXHJcbiAgcmVtYWluIFtbRW50aXR5U3RhdGUuVW5jaGFuZ2VkXV0gdW5sZXNzIHlvdeKAmXJlIGltcG9ydGluZyBlbnRpdGllcyBpbiB3aGljaCBjYXNlIHRoZSBuZXcgRW50aXR5U3RhdGUgd2lsbFxyXG4gIGJlIHRoYXQgb2YgdGhlIGltcG9ydGVkIGVudGl0aWVzLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBQcmVzZXJ2ZUNoYW5nZXMgPSBuZXcgTWVyZ2VTdHJhdGVneSgpO1xyXG4gIC8qKlxyXG4gIE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlQ2hhbmdlcyBhbHdheXMgdXBkYXRlcyB0aGUgY2FjaGVkIGVudGl0eSB3aXRoIGluY29taW5nIHZhbHVlcyBldmVuIGlmIHRoZSBlbnRpdHkgaXMgaW5cclxuICBhIGNoYW5nZWQgc3RhdGUgKGFkZGVkLCBtb2RpZmllZCwgZGVsZXRlZCkuIEFmdGVyIHRoZSBtZXJnZSwgdGhlIHBlbmRpbmcgY2hhbmdlcyBhcmUgbG9zdC5cclxuICBUaGUgbmV3IEVudGl0eVN0YXRlIHdpbGwgYmUgIFtbRW50aXR5U3RhdGUvVW5jaGFuZ2VkXV0gdW5sZXNzIHlvdeKAmXJlIGltcG9ydGluZyBlbnRpdGllc1xyXG4gIGluIHdoaWNoIGNhc2UgdGhlIG5ldyBFbnRpdHlTdGF0ZSB3aWxsIGJlIHRoYXQgb2YgdGhlIGltcG9ydGVkIGVudGl0aWVzLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBPdmVyd3JpdGVDaGFuZ2VzID0gbmV3IE1lcmdlU3RyYXRlZ3koKTtcclxuXHJcbiAgLyoqXHJcbiAgU2tpcE1lcmdlIGlzIHVzZWQgdG8gaWdub3JlIGluY29taW5nIHZhbHVlcy4gQWRkcyB0aGUgaW5jb21pbmcgZW50aXR5IHRvIHRoZSBjYWNoZSBvbmx5IGlmIHRoZXJlIGlzIG5vIGNhY2hlZCBlbnRpdHkgd2l0aCB0aGUgc2FtZSBrZXkuXHJcbiAgVGhpcyBpcyB0aGUgZmFzdGVzdCBtZXJnZSBzdHJhdGVneSBidXQgeW91ciBleGlzdGluZyBjYWNoZWQgZGF0YSB3aWxsIHJlbWFpbiDigJxzdGFsZeKAnS5cclxuICAqKi9cclxuICBzdGF0aWMgU2tpcE1lcmdlID0gbmV3IE1lcmdlU3RyYXRlZ3koKTtcclxuXHJcbiAgLyoqXHJcbiAgRGlzYWxsb3dlZCBpcyB1c2VkIHRvIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB0aGVyZSBpcyBhbiBpbmNvbWluZyBlbnRpdHkgd2l0aCB0aGUgc2FtZSBrZXkgYXMgYW4gZW50aXR5IGFscmVhZHkgaW4gdGhlIGNhY2hlLlxyXG4gIFVzZSB0aGlzIHN0cmF0ZWd5IHdoZW4geW91IHdhbnQgdG8gYmUgc3VyZSB0aGF0IHRoZSBpbmNvbWluZyBlbnRpdHkgaXMgbm90IGFscmVhZHkgaW4gY2FjaGUuXHJcbiAgVGhpcyBpcyB0aGUgZGVmYXVsdCBzdHJhdGVneSBmb3IgRW50aXR5TWFuYWdlci5hdHRhY2hFbnRpdHkuXHJcbiAgKiovXHJcbiAgc3RhdGljIERpc2FsbG93ZWQgPSBuZXcgTWVyZ2VTdHJhdGVneSgpO1xyXG5cclxuXHJcbn1cclxuTWVyZ2VTdHJhdGVneS5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiTWVyZ2VTdHJhdGVneVwiO1xyXG5FcnJvclsneCddID0gTWVyZ2VTdHJhdGVneS5yZXNvbHZlU3ltYm9scygpO1xyXG5cclxuLyoqXHJcbkZldGNoU3RyYXRlZ3kgaXMgYW4gJ0VudW0nIHRoYXQgZGV0ZXJtaW5lcyBob3cgYW5kIHdoZXJlIGVudGl0aWVzIGFyZSByZXRyaWV2ZWQgZnJvbSBhcyBhIHJlc3VsdCBvZiBhIHF1ZXJ5LlxyXG4qKi9cclxuZXhwb3J0IGNsYXNzIEZldGNoU3RyYXRlZ3kgZXh0ZW5kcyBCcmVlemVFbnVtIHtcclxuXHJcbiAgLyoqXHJcbiAgRnJvbVNlcnZlciBpcyB1c2VkIHRvIHRlbGwgdGhlIHF1ZXJ5IHRvIGV4ZWN1dGUgdGhlIHF1ZXJ5IGFnYWluc3QgYSByZW1vdGUgZGF0YSBzb3VyY2Ugb24gdGhlIHNlcnZlci5cclxuICAqKi9cclxuICBzdGF0aWMgRnJvbVNlcnZlciA9IG5ldyBGZXRjaFN0cmF0ZWd5KCk7XHJcbiAgLyoqXHJcbiAgRnJvbUxvY2FsQ2FjaGUgaXMgdXNlZCB0byB0ZWxsIHRoZSBxdWVyeSB0byBleGVjdXRlIHRoZSBxdWVyeSBhZ2FpbnN0IGEgbG9jYWwgRW50aXR5TWFuYWdlciBpbnN0ZWFkIG9mIGdvaW5nIHRvIGEgcmVtb3RlIHNlcnZlci5cclxuICAqKi9cclxuICBzdGF0aWMgRnJvbUxvY2FsQ2FjaGUgPSBuZXcgRmV0Y2hTdHJhdGVneSgpO1xyXG5cclxufVxyXG5GZXRjaFN0cmF0ZWd5LnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJGZXRjaFN0cmF0ZWd5XCI7XHJcbkVycm9yWyd4J10gPSBGZXRjaFN0cmF0ZWd5LnJlc29sdmVTeW1ib2xzKCk7XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tRdWVyeU9wdGlvbnNdXSBjb25zdHJ1Y3Rvci4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeU9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBUaGUgW1tGZXRjaFN0cmF0ZWd5XV0gdG8gdXNlIHdpdGggYW55IHF1ZXJpZXMuKi9cclxuICBmZXRjaFN0cmF0ZWd5PzogRmV0Y2hTdHJhdGVneTtcclxuICAvKiogVGhlIFtbTWVyZ2VTdHJhdGVneV1dIHRvIHVzZSB3aXRoIGFueSBxdWVyaWVzLiovXHJcbiAgbWVyZ2VTdHJhdGVneT86IE1lcmdlU3RyYXRlZ3k7XHJcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjYWNoZWQgZGVsZXRlZCBlbnRpdGllcyBpbiBhIHF1ZXJ5IHJlc3VsdCAoZmFsc2UgYnkgZGVmYXVsdCkuIF9fUmVhZCBPbmx5X18gKi9cclxuICBpbmNsdWRlRGVsZXRlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG5BIFF1ZXJ5T3B0aW9ucyBpbnN0YW5jZSBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlICdvcHRpb25zJyB1bmRlciB3aGljaCBhIHF1ZXJ5IHdpbGwgb2NjdXIuXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgUXVlcnlPcHRpb25zIHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBfJHR5cGVOYW1lOiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBbW0ZldGNoU3RyYXRlZ3ldXSB0byB1c2Ugd2l0aCBhbnkgcXVlcmllcy4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3k7XHJcbiAgLyoqIFRoZSBbW01lcmdlU3RyYXRlZ3ldXSB0byB1c2Ugd2l0aCBhbnkgcXVlcmllcy4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3k7XHJcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjYWNoZWQgZGVsZXRlZCBlbnRpdGllcyBpbiBhIHF1ZXJ5IHJlc3VsdCAoZmFsc2UgYnkgZGVmYXVsdCkuIF9fUmVhZCBPbmx5X18gKi9cclxuICBpbmNsdWRlRGVsZXRlZDogYm9vbGVhbjtcclxuXHJcbiAgLyoqXHJcbiAgVGhlIGRlZmF1bHQgaW5zdGFuY2UgZm9yIHVzZSB3aGVuZXZlciBRdWVyeU9wdGlvbnMgYXJlIG5vdCBzcGVjaWZpZWQuXHJcbiAgKiovXHJcbiAgc3RhdGljIGRlZmF1bHRJbnN0YW5jZSA9IG5ldyBRdWVyeU9wdGlvbnMoe1xyXG4gICAgZmV0Y2hTdHJhdGVneTogRmV0Y2hTdHJhdGVneS5Gcm9tU2VydmVyLFxyXG4gICAgbWVyZ2VTdHJhdGVneTogTWVyZ2VTdHJhdGVneS5QcmVzZXJ2ZUNoYW5nZXMsXHJcbiAgICBpbmNsdWRlRGVsZXRlZDogZmFsc2VcclxuICB9KTtcclxuXHJcbiAgLyoqXHJcbiAgUXVlcnlPcHRpb25zIGNvbnN0cnVjdG9yXHJcbiAgPiAgICAgdmFyIG5ld1FvID0gbmV3IFF1ZXJ5T3B0aW9ucyggeyBtZXJnZVN0cmF0ZWd5OiBNZXJnZVN0cmF0ZWd5Lk92ZXJ3cml0ZUNoYW5nZXMgfSk7XHJcbiAgPiAgICAgLy8gYXNzdW1lIGVtMSBpcyBhIHByZWV4aXN0aW5nIEVudGl0eU1hbmFnZXJcclxuICA+ICAgICBlbTEuc2V0UHJvcGVydGllcyggeyBxdWVyeU9wdGlvbnM6IG5ld1FvIH0pO1xyXG4gIEFueSBRdWVyeU9wdGlvbnMgcHJvcGVydHkgdGhhdCBpcyBub3QgZGVmaW5lZCB3aWxsIGJlIGRlZmF1bHRlZCBmcm9tIGFueSBRdWVyeU9wdGlvbnMgZGVmaW5lZCBhdCBhIGhpZ2hlciBsZXZlbCBpbiB0aGUgYnJlZXplIGhpZXJhcmNoeSwgaS5lLlxyXG4gIC0gIGZyb20gcXVlcnkucXVlcnlPcHRpb25zXHJcbiAgLSAgdG8gICBlbnRpdHlNYW5hZ2VyLnF1ZXJ5T3B0aW9uc1xyXG4gIC0gIHRvICAgUXVlcnlPcHRpb25zLmRlZmF1bHRJbnN0YW5jZTtcclxuXHJcbiAgQHBhcmFtIGNvbmZpZyAtIEEgY29uZmlndXJhdGlvbiBvYmplY3QuXHJcbiAgKiovXHJcbiAgY29uc3RydWN0b3IoY29uZmlnPzogUXVlcnlPcHRpb25zQ29uZmlnKSB7XHJcbiAgICBRdWVyeU9wdGlvbnMuX3VwZGF0ZVdpdGhDb25maWcodGhpcywgY29uZmlnKTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyByZXNvbHZlKHF1ZXJ5T3B0aW9uc0FycmF5OiBhbnlbXSkge1xyXG4gICAgcmV0dXJuIG5ldyBRdWVyeU9wdGlvbnMoY29yZS5yZXNvbHZlUHJvcGVydGllcyhxdWVyeU9wdGlvbnNBcnJheSwgW1wiZmV0Y2hTdHJhdGVneVwiLCBcIm1lcmdlU3RyYXRlZ3lcIiwgXCJpbmNsdWRlRGVsZXRlZFwiXSkpO1xyXG4gIH1cclxuXHJcbiAgLyoqXHJcbiAgUmV0dXJucyBhIGNvcHkgb2YgdGhpcyBRdWVyeU9wdGlvbnMgd2l0aCB0aGUgc3BlY2lmaWVkIFtbTWVyZ2VTdHJhdGVneV1dLFxyXG4gIFtbRmV0Y2hTdHJhdGVneV1dLCBvciAnaW5jbHVkZURlbGV0ZWQnIG9wdGlvbiBhcHBsaWVkLlxyXG4gID4gICAgIC8vIEdpdmVuIGFuIEVudGl0eU1hbmFnZXIgaW5zdGFuY2UsIGVtXHJcbiAgPiAgICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IGVtLnF1ZXJ5T3B0aW9ucy51c2luZyhNZXJnZVN0cmF0ZWd5LlByZXNlcnZlQ2hhbmdlcyk7XHJcblxyXG4gIG9yXHJcbiAgPiAgICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IGVtLnF1ZXJ5T3B0aW9ucy51c2luZyhGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlKTtcclxuXHJcbiAgb3JcclxuICA+ICAgICB2YXIgcXVlcnlPcHRpb25zID0gZW0ucXVlcnlPcHRpb25zLnVzaW5nKHsgbWVyZ2VTdHJhdGVneTogTWVyZ2VTdHJhdGVneS5PdmVyd3JpdGVDaGFuZ2VzIH0pO1xyXG5cclxuICBvclxyXG4gID4gICAgIHZhciBxdWVyeU9wdGlvbnMgPSBlbS5xdWVyeU9wdGlvbnMudXNpbmcoe1xyXG4gID4gICAgICAgIGluY2x1ZGVEZWxldGVkOiB0cnVlLFxyXG4gID4gICAgICAgIGZldGNoU3RyYXRlZ3k6ICBGZXRjaFN0cmF0ZWd5LkZyb21Mb2NhbENhY2hlIFxyXG4gID4gICAgIH0pO1xyXG4gIEBwYXJhbSBjb25maWcgLSBBIGNvbmZpZ3VyYXRpb24gb2JqZWN0IG9yIGEgc3RhbmRhbG9uZSBbW01lcmdlU3RyYXRlZ3ldXSBvciBbW0ZldGNoU3RyYXRlZ3ldXSBcclxuICBAcmV0dXJuIEEgbmV3IFF1ZXJ5T3B0aW9ucyBpbnN0YW5jZS5cclxuICAqKi9cclxuICB1c2luZyhxb0NvbmZpZzogUXVlcnlPcHRpb25zQ29uZmlnIHwgTWVyZ2VTdHJhdGVneSB8IEZldGNoU3RyYXRlZ3kpIHtcclxuICAgIGlmICghcW9Db25maWcpIHJldHVybiB0aGlzO1xyXG4gICAgbGV0IHJlc3VsdCA9IG5ldyBRdWVyeU9wdGlvbnModGhpcyk7XHJcbiAgICBpZiAoIHFvQ29uZmlnIGluc3RhbmNlb2YgTWVyZ2VTdHJhdGVneSkge1xyXG4gICAgICBxb0NvbmZpZyA9IHsgbWVyZ2VTdHJhdGVneTogcW9Db25maWcgfTtcclxuICAgIH0gZWxzZSBpZiAoIHFvQ29uZmlnIGluc3RhbmNlb2YgRmV0Y2hTdHJhdGVneSkge1xyXG4gICAgICBxb0NvbmZpZyA9IHsgZmV0Y2hTdHJhdGVneTogcW9Db25maWcgfTtcclxuICAgIH1cclxuICAgIHJldHVybiBRdWVyeU9wdGlvbnMuX3VwZGF0ZVdpdGhDb25maWcocmVzdWx0LCBxb0NvbmZpZyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBTZXRzIHRoZSAnZGVmYXVsdEluc3RhbmNlJyBieSBjcmVhdGluZyBhIGNvcHkgb2YgdGhlIGN1cnJlbnQgJ2RlZmF1bHRJbnN0YW5jZScgYW5kIHRoZW4gYXBwbHlpbmcgYWxsIG9mIHRoZSBwcm9wZXJ0aWVzIG9mIHRoZSBjdXJyZW50IGluc3RhbmNlLlxyXG4gIFRoZSBjdXJyZW50IGluc3RhbmNlIGlzIHJldHVybmVkIHVuY2hhbmdlZC5cclxuICA+ICAgICB2YXIgbmV3UW8gPSBuZXcgUXVlcnlPcHRpb25zKCB7IG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlQ2hhbmdlcyB9KTtcclxuICA+ICAgICBuZXdRby5zZXRBc0RlZmF1bHQoKTtcclxuICAqKi9cclxuICBzZXRBc0RlZmF1bHQoKSB7XHJcbiAgICByZXR1cm4gY29yZS5zZXRBc0RlZmF1bHQodGhpcywgUXVlcnlPcHRpb25zKTtcclxuICB9XHJcblxyXG4gIHRvSlNPTigpIHtcclxuICAgIHJldHVybiBjb3JlLnRvSnNvbih0aGlzLCB7XHJcbiAgICAgIGZldGNoU3RyYXRlZ3k6IG51bGwsXHJcbiAgICAgIG1lcmdlU3RyYXRlZ3k6IG51bGwsXHJcbiAgICAgIGluY2x1ZGVEZWxldGVkOiBmYWxzZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBzdGF0aWMgZnJvbUpTT04oanNvbjogYW55KSB7XHJcbiAgICByZXR1cm4gbmV3IFF1ZXJ5T3B0aW9ucyh7XHJcbiAgICAgIGZldGNoU3RyYXRlZ3k6IEZldGNoU3RyYXRlZ3kuZnJvbU5hbWUoanNvbi5mZXRjaFN0cmF0ZWd5KSxcclxuICAgICAgbWVyZ2VTdHJhdGVneTogTWVyZ2VTdHJhdGVneS5mcm9tTmFtZShqc29uLm1lcmdlU3RyYXRlZ3kpLFxyXG4gICAgICBpbmNsdWRlRGVsZXRlZDoganNvbi5pbmNsdWRlRGVsZXRlZCA9PT0gdHJ1ZVxyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBwcml2YXRlIHN0YXRpYyBfdXBkYXRlV2l0aENvbmZpZyhvYmo6IFF1ZXJ5T3B0aW9ucywgY29uZmlnPzogUXVlcnlPcHRpb25zQ29uZmlnKSB7XHJcbiAgICBpZiAoY29uZmlnKSB7XHJcbiAgICAgIGFzc2VydENvbmZpZyhjb25maWcpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJmZXRjaFN0cmF0ZWd5XCIpLmlzRW51bU9mKEZldGNoU3RyYXRlZ3kpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwibWVyZ2VTdHJhdGVneVwiKS5pc0VudW1PZihNZXJnZVN0cmF0ZWd5KS5pc09wdGlvbmFsKClcclxuICAgICAgICAud2hlcmVQYXJhbShcImluY2x1ZGVEZWxldGVkXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC5hcHBseUFsbChvYmopO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIG9iajtcclxuICB9XHJcblxyXG59XHJcblF1ZXJ5T3B0aW9ucy5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiUXVlcnlPcHRpb25zXCI7XHJcbiJdfQ==
|
|
167
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicXVlcnktb3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiJuZzovL2JyZWV6ZS1jbGllbnQvIiwic291cmNlcyI6WyJzcmMvcXVlcnktb3B0aW9ucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sUUFBUSxDQUFDO0FBQ3BDLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUU5Qzs7Ozs7R0FLRztBQUNIO0lBQW1DLGlDQUFVO0lBQTdDOztJQStCQSxDQUFDO0lBN0JDOzs7OztPQUtHO0lBQ0ksNkJBQWUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQzdDOzs7OztPQUtHO0lBQ0ksOEJBQWdCLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUU5Qzs7O09BR0c7SUFDSSx1QkFBUyxHQUFHLElBQUksYUFBYSxFQUFFLENBQUM7SUFFdkM7Ozs7T0FJRztJQUNJLHdCQUFVLEdBQUcsSUFBSSxhQUFhLEVBQUUsQ0FBQztJQUcxQyxvQkFBQztDQUFBLEFBL0JELENBQW1DLFVBQVUsR0ErQjVDO1NBL0JZLGFBQWE7QUFnQzFCLGFBQWEsQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGVBQWUsQ0FBQztBQUNyRCxLQUFLLENBQUMsR0FBRyxDQUFDLEdBQUcsYUFBYSxDQUFDLGNBQWMsRUFBRSxDQUFDO0FBRTVDOztHQUVHO0FBQ0g7SUFBbUMsaUNBQVU7SUFBN0M7O0lBV0EsQ0FBQztJQVRDOztPQUVHO0lBQ0ksd0JBQVUsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBQ3hDOztPQUVHO0lBQ0ksNEJBQWMsR0FBRyxJQUFJLGFBQWEsRUFBRSxDQUFDO0lBRTlDLG9CQUFDO0NBQUEsQUFYRCxDQUFtQyxVQUFVLEdBVzVDO1NBWFksYUFBYTtBQVkxQixhQUFhLENBQUMsU0FBUyxDQUFDLFVBQVUsR0FBRyxlQUFlLENBQUM7QUFDckQsS0FBSyxDQUFDLEdBQUcsQ0FBQyxHQUFHLGFBQWEsQ0FBQyxjQUFjLEVBQUUsQ0FBQztBQVk1Qzs7R0FFRztBQUNIO0lBbUJFOzs7Ozs7Ozs7OztPQVdHO0lBQ0gsc0JBQVksTUFBMkI7UUFDckMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUMvQyxDQUFDO0lBRU0sb0JBQU8sR0FBZCxVQUFlLGlCQUF3QjtRQUNyQyxPQUFPLElBQUksWUFBWSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxpQkFBaUIsRUFBRSxDQUFDLGVBQWUsRUFBRSxlQUFlLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDM0gsQ0FBQztJQUVEOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O09BbUJHO0lBQ0gsNEJBQUssR0FBTCxVQUFNLFFBQTREO1FBQ2hFLElBQUksQ0FBQyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDM0IsSUFBSSxNQUFNLEdBQUcsSUFBSSxZQUFZLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDcEMsSUFBSyxRQUFRLFlBQVksYUFBYSxFQUFFO1lBQ3RDLFFBQVEsR0FBRyxFQUFFLGFBQWEsRUFBRSxRQUFRLEVBQUUsQ0FBQztTQUN4QzthQUFNLElBQUssUUFBUSxZQUFZLGFBQWEsRUFBRTtZQUM3QyxRQUFRLEdBQUcsRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLENBQUM7U0FDeEM7UUFDRCxPQUFPLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDMUQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0gsbUNBQVksR0FBWjtRQUNFLE9BQU8sSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUM7SUFDL0MsQ0FBQztJQUVELDZCQUFNLEdBQU47UUFDRSxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxFQUFFO1lBQ3ZCLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGFBQWEsRUFBRSxJQUFJO1lBQ25CLGNBQWMsRUFBRSxLQUFLO1NBQ3RCLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFTSxxQkFBUSxHQUFmLFVBQWdCLElBQVM7UUFDdkIsT0FBTyxJQUFJLFlBQVksQ0FBQztZQUN0QixhQUFhLEVBQUUsYUFBYSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDO1lBQ3pELGFBQWEsRUFBRSxhQUFhLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7WUFDekQsY0FBYyxFQUFFLElBQUksQ0FBQyxjQUFjLEtBQUssSUFBSTtTQUM3QyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsd0JBQXdCO0lBQ1QsOEJBQWlCLEdBQWhDLFVBQWlDLEdBQWlCLEVBQUUsTUFBMkI7UUFDN0UsSUFBSSxNQUFNLEVBQUU7WUFDVixZQUFZLENBQUMsTUFBTSxDQUFDO2lCQUNqQixVQUFVLENBQUMsZUFBZSxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLFVBQVUsRUFBRTtpQkFDaEUsVUFBVSxDQUFDLGVBQWUsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLEVBQUU7aUJBQ2hFLFVBQVUsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLFNBQVMsRUFBRSxDQUFDLFVBQVUsRUFBRTtpQkFDckQsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1NBQ2xCO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0lBaEdEOztPQUVHO0lBQ0ksNEJBQWUsR0FBRyxJQUFJLFlBQVksQ0FBQztRQUN4QyxhQUFhLEVBQUUsYUFBYSxDQUFDLFVBQVU7UUFDdkMsYUFBYSxFQUFFLGFBQWEsQ0FBQyxlQUFlO1FBQzVDLGNBQWMsRUFBRSxLQUFLO0tBQ3RCLENBQUMsQ0FBQztJQTJGTCxtQkFBQztDQUFBLEFBNUdELElBNEdDO1NBNUdZLFlBQVk7QUE2R3pCLFlBQVksQ0FBQyxTQUFTLENBQUMsVUFBVSxHQUFHLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNvcmUgfSBmcm9tICcuL2NvcmUnO1xyXG5pbXBvcnQgeyBCcmVlemVFbnVtIH0gZnJvbSAnLi9lbnVtJztcclxuaW1wb3J0IHsgYXNzZXJ0Q29uZmlnIH0gZnJvbSAnLi9hc3NlcnQtcGFyYW0nO1xyXG5cclxuLyoqXHJcbk1lcmdlU3RyYXRlZ3kgaXMgYW4gJ0VudW0nIHRoYXQgZGV0ZXJtaW5lcyBob3cgZW50aXRpZXMgYXJlIG1lcmdlZCBpbnRvIGFuIEVudGl0eU1hbmFnZXIuXHJcblxyXG5AY2xhc3MgTWVyZ2VTdHJhdGVneVxyXG5Ac3RhdGljXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgTWVyZ2VTdHJhdGVneSBleHRlbmRzIEJyZWV6ZUVudW0ge1xyXG5cclxuICAvKipcclxuICBNZXJnZVN0cmF0ZWd5LlByZXNlcnZlQ2hhbmdlcyB1cGRhdGVzIHRoZSBjYWNoZWQgZW50aXR5IHdpdGggdGhlIGluY29taW5nIHZhbHVlcyB1bmxlc3MgdGhlIGNhY2hlZCBlbnRpdHkgaXMgaW4gYSBjaGFuZ2VkXHJcbiAgc3RhdGUgKGFkZGVkLCBtb2RpZmllZCwgZGVsZXRlZCkgaW4gd2hpY2ggY2FzZSB0aGUgaW5jb21pbmcgdmFsdWVzIGFyZSBpZ25vcmVkLiBUaGUgdXBkYXRlZCBjYWNoZWQgZW50aXR54oCZcyBFbnRpdHlTdGF0ZSB3aWxsXHJcbiAgcmVtYWluIFtbRW50aXR5U3RhdGUuVW5jaGFuZ2VkXV0gdW5sZXNzIHlvdeKAmXJlIGltcG9ydGluZyBlbnRpdGllcyBpbiB3aGljaCBjYXNlIHRoZSBuZXcgRW50aXR5U3RhdGUgd2lsbFxyXG4gIGJlIHRoYXQgb2YgdGhlIGltcG9ydGVkIGVudGl0aWVzLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBQcmVzZXJ2ZUNoYW5nZXMgPSBuZXcgTWVyZ2VTdHJhdGVneSgpO1xyXG4gIC8qKlxyXG4gIE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlQ2hhbmdlcyBhbHdheXMgdXBkYXRlcyB0aGUgY2FjaGVkIGVudGl0eSB3aXRoIGluY29taW5nIHZhbHVlcyBldmVuIGlmIHRoZSBlbnRpdHkgaXMgaW5cclxuICBhIGNoYW5nZWQgc3RhdGUgKGFkZGVkLCBtb2RpZmllZCwgZGVsZXRlZCkuIEFmdGVyIHRoZSBtZXJnZSwgdGhlIHBlbmRpbmcgY2hhbmdlcyBhcmUgbG9zdC5cclxuICBUaGUgbmV3IEVudGl0eVN0YXRlIHdpbGwgYmUgIFtbRW50aXR5U3RhdGUvVW5jaGFuZ2VkXV0gdW5sZXNzIHlvdeKAmXJlIGltcG9ydGluZyBlbnRpdGllc1xyXG4gIGluIHdoaWNoIGNhc2UgdGhlIG5ldyBFbnRpdHlTdGF0ZSB3aWxsIGJlIHRoYXQgb2YgdGhlIGltcG9ydGVkIGVudGl0aWVzLlxyXG4gICoqL1xyXG4gIHN0YXRpYyBPdmVyd3JpdGVDaGFuZ2VzID0gbmV3IE1lcmdlU3RyYXRlZ3koKTtcclxuXHJcbiAgLyoqXHJcbiAgU2tpcE1lcmdlIGlzIHVzZWQgdG8gaWdub3JlIGluY29taW5nIHZhbHVlcy4gQWRkcyB0aGUgaW5jb21pbmcgZW50aXR5IHRvIHRoZSBjYWNoZSBvbmx5IGlmIHRoZXJlIGlzIG5vIGNhY2hlZCBlbnRpdHkgd2l0aCB0aGUgc2FtZSBrZXkuXHJcbiAgVGhpcyBpcyB0aGUgZmFzdGVzdCBtZXJnZSBzdHJhdGVneSBidXQgeW91ciBleGlzdGluZyBjYWNoZWQgZGF0YSB3aWxsIHJlbWFpbiDigJxzdGFsZeKAnS5cclxuICAqKi9cclxuICBzdGF0aWMgU2tpcE1lcmdlID0gbmV3IE1lcmdlU3RyYXRlZ3koKTtcclxuXHJcbiAgLyoqXHJcbiAgRGlzYWxsb3dlZCBpcyB1c2VkIHRvIHRocm93IGFuIGV4Y2VwdGlvbiBpZiB0aGVyZSBpcyBhbiBpbmNvbWluZyBlbnRpdHkgd2l0aCB0aGUgc2FtZSBrZXkgYXMgYW4gZW50aXR5IGFscmVhZHkgaW4gdGhlIGNhY2hlLlxyXG4gIFVzZSB0aGlzIHN0cmF0ZWd5IHdoZW4geW91IHdhbnQgdG8gYmUgc3VyZSB0aGF0IHRoZSBpbmNvbWluZyBlbnRpdHkgaXMgbm90IGFscmVhZHkgaW4gY2FjaGUuXHJcbiAgVGhpcyBpcyB0aGUgZGVmYXVsdCBzdHJhdGVneSBmb3IgRW50aXR5TWFuYWdlci5hdHRhY2hFbnRpdHkuXHJcbiAgKiovXHJcbiAgc3RhdGljIERpc2FsbG93ZWQgPSBuZXcgTWVyZ2VTdHJhdGVneSgpO1xyXG5cclxuXHJcbn1cclxuTWVyZ2VTdHJhdGVneS5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiTWVyZ2VTdHJhdGVneVwiO1xyXG5FcnJvclsneCddID0gTWVyZ2VTdHJhdGVneS5yZXNvbHZlU3ltYm9scygpO1xyXG5cclxuLyoqXHJcbkZldGNoU3RyYXRlZ3kgaXMgYW4gJ0VudW0nIHRoYXQgZGV0ZXJtaW5lcyBob3cgYW5kIHdoZXJlIGVudGl0aWVzIGFyZSByZXRyaWV2ZWQgZnJvbSBhcyBhIHJlc3VsdCBvZiBhIHF1ZXJ5LlxyXG4qKi9cclxuZXhwb3J0IGNsYXNzIEZldGNoU3RyYXRlZ3kgZXh0ZW5kcyBCcmVlemVFbnVtIHtcclxuXHJcbiAgLyoqXHJcbiAgRnJvbVNlcnZlciBpcyB1c2VkIHRvIHRlbGwgdGhlIHF1ZXJ5IHRvIGV4ZWN1dGUgdGhlIHF1ZXJ5IGFnYWluc3QgYSByZW1vdGUgZGF0YSBzb3VyY2Ugb24gdGhlIHNlcnZlci5cclxuICAqKi9cclxuICBzdGF0aWMgRnJvbVNlcnZlciA9IG5ldyBGZXRjaFN0cmF0ZWd5KCk7XHJcbiAgLyoqXHJcbiAgRnJvbUxvY2FsQ2FjaGUgaXMgdXNlZCB0byB0ZWxsIHRoZSBxdWVyeSB0byBleGVjdXRlIHRoZSBxdWVyeSBhZ2FpbnN0IGEgbG9jYWwgRW50aXR5TWFuYWdlciBpbnN0ZWFkIG9mIGdvaW5nIHRvIGEgcmVtb3RlIHNlcnZlci5cclxuICAqKi9cclxuICBzdGF0aWMgRnJvbUxvY2FsQ2FjaGUgPSBuZXcgRmV0Y2hTdHJhdGVneSgpO1xyXG5cclxufVxyXG5GZXRjaFN0cmF0ZWd5LnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJGZXRjaFN0cmF0ZWd5XCI7XHJcbkVycm9yWyd4J10gPSBGZXRjaFN0cmF0ZWd5LnJlc29sdmVTeW1ib2xzKCk7XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tRdWVyeU9wdGlvbnNdXSBjb25zdHJ1Y3Rvci4gKi9cclxuZXhwb3J0IGludGVyZmFjZSBRdWVyeU9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBUaGUgW1tGZXRjaFN0cmF0ZWd5XV0gdG8gdXNlIHdpdGggYW55IHF1ZXJpZXMuKi9cclxuICBmZXRjaFN0cmF0ZWd5PzogRmV0Y2hTdHJhdGVneTtcclxuICAvKiogVGhlIFtbTWVyZ2VTdHJhdGVneV1dIHRvIHVzZSB3aXRoIGFueSBxdWVyaWVzLiovXHJcbiAgbWVyZ2VTdHJhdGVneT86IE1lcmdlU3RyYXRlZ3k7XHJcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjYWNoZWQgZGVsZXRlZCBlbnRpdGllcyBpbiBhIHF1ZXJ5IHJlc3VsdCAoZmFsc2UgYnkgZGVmYXVsdCkuIF9fUmVhZCBPbmx5X18gKi9cclxuICBpbmNsdWRlRGVsZXRlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbi8qKlxyXG5BIFF1ZXJ5T3B0aW9ucyBpbnN0YW5jZSBpcyB1c2VkIHRvIHNwZWNpZnkgdGhlICdvcHRpb25zJyB1bmRlciB3aGljaCBhIHF1ZXJ5IHdpbGwgb2NjdXIuXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgUXVlcnlPcHRpb25zIHtcclxuICAvKiogQGhpZGRlbiBAaW50ZXJuYWwgKi9cclxuICBkZWNsYXJlIF8kdHlwZU5hbWU6IHN0cmluZztcclxuICAvKiogVGhlIFtbRmV0Y2hTdHJhdGVneV1dIHRvIHVzZSB3aXRoIGFueSBxdWVyaWVzLiBfX1JlYWQgT25seV9fICovXHJcbiAgZGVjbGFyZSBmZXRjaFN0cmF0ZWd5OiBGZXRjaFN0cmF0ZWd5O1xyXG4gIC8qKiBUaGUgW1tNZXJnZVN0cmF0ZWd5XV0gdG8gdXNlIHdpdGggYW55IHF1ZXJpZXMuIF9fUmVhZCBPbmx5X18gKi9cclxuICBkZWNsYXJlIG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3k7XHJcbiAgLyoqIFdoZXRoZXIgdG8gaW5jbHVkZSBjYWNoZWQgZGVsZXRlZCBlbnRpdGllcyBpbiBhIHF1ZXJ5IHJlc3VsdCAoZmFsc2UgYnkgZGVmYXVsdCkuIF9fUmVhZCBPbmx5X18gKi9cclxuICBkZWNsYXJlIGluY2x1ZGVEZWxldGVkOiBib29sZWFuO1xyXG5cclxuICAvKipcclxuICBUaGUgZGVmYXVsdCBpbnN0YW5jZSBmb3IgdXNlIHdoZW5ldmVyIFF1ZXJ5T3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC5cclxuICAqKi9cclxuICBzdGF0aWMgZGVmYXVsdEluc3RhbmNlID0gbmV3IFF1ZXJ5T3B0aW9ucyh7XHJcbiAgICBmZXRjaFN0cmF0ZWd5OiBGZXRjaFN0cmF0ZWd5LkZyb21TZXJ2ZXIsXHJcbiAgICBtZXJnZVN0cmF0ZWd5OiBNZXJnZVN0cmF0ZWd5LlByZXNlcnZlQ2hhbmdlcyxcclxuICAgIGluY2x1ZGVEZWxldGVkOiBmYWxzZVxyXG4gIH0pO1xyXG5cclxuICAvKipcclxuICBRdWVyeU9wdGlvbnMgY29uc3RydWN0b3JcclxuICA+ICAgICB2YXIgbmV3UW8gPSBuZXcgUXVlcnlPcHRpb25zKCB7IG1lcmdlU3RyYXRlZ3k6IE1lcmdlU3RyYXRlZ3kuT3ZlcndyaXRlQ2hhbmdlcyB9KTtcclxuICA+ICAgICAvLyBhc3N1bWUgZW0xIGlzIGEgcHJlZXhpc3RpbmcgRW50aXR5TWFuYWdlclxyXG4gID4gICAgIGVtMS5zZXRQcm9wZXJ0aWVzKCB7IHF1ZXJ5T3B0aW9uczogbmV3UW8gfSk7XHJcbiAgQW55IFF1ZXJ5T3B0aW9ucyBwcm9wZXJ0eSB0aGF0IGlzIG5vdCBkZWZpbmVkIHdpbGwgYmUgZGVmYXVsdGVkIGZyb20gYW55IFF1ZXJ5T3B0aW9ucyBkZWZpbmVkIGF0IGEgaGlnaGVyIGxldmVsIGluIHRoZSBicmVlemUgaGllcmFyY2h5LCBpLmUuXHJcbiAgLSAgZnJvbSBxdWVyeS5xdWVyeU9wdGlvbnNcclxuICAtICB0byAgIGVudGl0eU1hbmFnZXIucXVlcnlPcHRpb25zXHJcbiAgLSAgdG8gICBRdWVyeU9wdGlvbnMuZGVmYXVsdEluc3RhbmNlO1xyXG5cclxuICBAcGFyYW0gY29uZmlnIC0gQSBjb25maWd1cmF0aW9uIG9iamVjdC5cclxuICAqKi9cclxuICBjb25zdHJ1Y3Rvcihjb25maWc/OiBRdWVyeU9wdGlvbnNDb25maWcpIHtcclxuICAgIFF1ZXJ5T3B0aW9ucy5fdXBkYXRlV2l0aENvbmZpZyh0aGlzLCBjb25maWcpO1xyXG4gIH1cclxuXHJcbiAgc3RhdGljIHJlc29sdmUocXVlcnlPcHRpb25zQXJyYXk6IGFueVtdKSB7XHJcbiAgICByZXR1cm4gbmV3IFF1ZXJ5T3B0aW9ucyhjb3JlLnJlc29sdmVQcm9wZXJ0aWVzKHF1ZXJ5T3B0aW9uc0FycmF5LCBbXCJmZXRjaFN0cmF0ZWd5XCIsIFwibWVyZ2VTdHJhdGVneVwiLCBcImluY2x1ZGVEZWxldGVkXCJdKSk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIGEgY29weSBvZiB0aGlzIFF1ZXJ5T3B0aW9ucyB3aXRoIHRoZSBzcGVjaWZpZWQgW1tNZXJnZVN0cmF0ZWd5XV0sXHJcbiAgW1tGZXRjaFN0cmF0ZWd5XV0sIG9yICdpbmNsdWRlRGVsZXRlZCcgb3B0aW9uIGFwcGxpZWQuXHJcbiAgPiAgICAgLy8gR2l2ZW4gYW4gRW50aXR5TWFuYWdlciBpbnN0YW5jZSwgZW1cclxuICA+ICAgICB2YXIgcXVlcnlPcHRpb25zID0gZW0ucXVlcnlPcHRpb25zLnVzaW5nKE1lcmdlU3RyYXRlZ3kuUHJlc2VydmVDaGFuZ2VzKTtcclxuXHJcbiAgb3JcclxuICA+ICAgICB2YXIgcXVlcnlPcHRpb25zID0gZW0ucXVlcnlPcHRpb25zLnVzaW5nKEZldGNoU3RyYXRlZ3kuRnJvbUxvY2FsQ2FjaGUpO1xyXG5cclxuICBvclxyXG4gID4gICAgIHZhciBxdWVyeU9wdGlvbnMgPSBlbS5xdWVyeU9wdGlvbnMudXNpbmcoeyBtZXJnZVN0cmF0ZWd5OiBNZXJnZVN0cmF0ZWd5Lk92ZXJ3cml0ZUNoYW5nZXMgfSk7XHJcblxyXG4gIG9yXHJcbiAgPiAgICAgdmFyIHF1ZXJ5T3B0aW9ucyA9IGVtLnF1ZXJ5T3B0aW9ucy51c2luZyh7XHJcbiAgPiAgICAgICAgaW5jbHVkZURlbGV0ZWQ6IHRydWUsXHJcbiAgPiAgICAgICAgZmV0Y2hTdHJhdGVneTogIEZldGNoU3RyYXRlZ3kuRnJvbUxvY2FsQ2FjaGUgXHJcbiAgPiAgICAgfSk7XHJcbiAgQHBhcmFtIGNvbmZpZyAtIEEgY29uZmlndXJhdGlvbiBvYmplY3Qgb3IgYSBzdGFuZGFsb25lIFtbTWVyZ2VTdHJhdGVneV1dIG9yIFtbRmV0Y2hTdHJhdGVneV1dIFxyXG4gIEByZXR1cm4gQSBuZXcgUXVlcnlPcHRpb25zIGluc3RhbmNlLlxyXG4gICoqL1xyXG4gIHVzaW5nKHFvQ29uZmlnOiBRdWVyeU9wdGlvbnNDb25maWcgfCBNZXJnZVN0cmF0ZWd5IHwgRmV0Y2hTdHJhdGVneSkge1xyXG4gICAgaWYgKCFxb0NvbmZpZykgcmV0dXJuIHRoaXM7XHJcbiAgICBsZXQgcmVzdWx0ID0gbmV3IFF1ZXJ5T3B0aW9ucyh0aGlzKTtcclxuICAgIGlmICggcW9Db25maWcgaW5zdGFuY2VvZiBNZXJnZVN0cmF0ZWd5KSB7XHJcbiAgICAgIHFvQ29uZmlnID0geyBtZXJnZVN0cmF0ZWd5OiBxb0NvbmZpZyB9O1xyXG4gICAgfSBlbHNlIGlmICggcW9Db25maWcgaW5zdGFuY2VvZiBGZXRjaFN0cmF0ZWd5KSB7XHJcbiAgICAgIHFvQ29uZmlnID0geyBmZXRjaFN0cmF0ZWd5OiBxb0NvbmZpZyB9O1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIFF1ZXJ5T3B0aW9ucy5fdXBkYXRlV2l0aENvbmZpZyhyZXN1bHQsIHFvQ29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKlxyXG4gIFNldHMgdGhlICdkZWZhdWx0SW5zdGFuY2UnIGJ5IGNyZWF0aW5nIGEgY29weSBvZiB0aGUgY3VycmVudCAnZGVmYXVsdEluc3RhbmNlJyBhbmQgdGhlbiBhcHBseWluZyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UuXHJcbiAgVGhlIGN1cnJlbnQgaW5zdGFuY2UgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxyXG4gID4gICAgIHZhciBuZXdRbyA9IG5ldyBRdWVyeU9wdGlvbnMoIHsgbWVyZ2VTdHJhdGVneTogTWVyZ2VTdHJhdGVneS5PdmVyd3JpdGVDaGFuZ2VzIH0pO1xyXG4gID4gICAgIG5ld1FvLnNldEFzRGVmYXVsdCgpO1xyXG4gICoqL1xyXG4gIHNldEFzRGVmYXVsdCgpIHtcclxuICAgIHJldHVybiBjb3JlLnNldEFzRGVmYXVsdCh0aGlzLCBRdWVyeU9wdGlvbnMpO1xyXG4gIH1cclxuXHJcbiAgdG9KU09OKCkge1xyXG4gICAgcmV0dXJuIGNvcmUudG9Kc29uKHRoaXMsIHtcclxuICAgICAgZmV0Y2hTdHJhdGVneTogbnVsbCxcclxuICAgICAgbWVyZ2VTdHJhdGVneTogbnVsbCxcclxuICAgICAgaW5jbHVkZURlbGV0ZWQ6IGZhbHNlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIHN0YXRpYyBmcm9tSlNPTihqc29uOiBhbnkpIHtcclxuICAgIHJldHVybiBuZXcgUXVlcnlPcHRpb25zKHtcclxuICAgICAgZmV0Y2hTdHJhdGVneTogRmV0Y2hTdHJhdGVneS5mcm9tTmFtZShqc29uLmZldGNoU3RyYXRlZ3kpLFxyXG4gICAgICBtZXJnZVN0cmF0ZWd5OiBNZXJnZVN0cmF0ZWd5LmZyb21OYW1lKGpzb24ubWVyZ2VTdHJhdGVneSksXHJcbiAgICAgIGluY2x1ZGVEZWxldGVkOiBqc29uLmluY2x1ZGVEZWxldGVkID09PSB0cnVlXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIHByaXZhdGUgc3RhdGljIF91cGRhdGVXaXRoQ29uZmlnKG9iajogUXVlcnlPcHRpb25zLCBjb25maWc/OiBRdWVyeU9wdGlvbnNDb25maWcpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgYXNzZXJ0Q29uZmlnKGNvbmZpZylcclxuICAgICAgICAud2hlcmVQYXJhbShcImZldGNoU3RyYXRlZ3lcIikuaXNFbnVtT2YoRmV0Y2hTdHJhdGVneSkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLndoZXJlUGFyYW0oXCJtZXJnZVN0cmF0ZWd5XCIpLmlzRW51bU9mKE1lcmdlU3RyYXRlZ3kpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgIC53aGVyZVBhcmFtKFwiaW5jbHVkZURlbGV0ZWRcIikuaXNCb29sZWFuKCkuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgLmFwcGx5QWxsKG9iaik7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gb2JqO1xyXG4gIH1cclxuXHJcbn1cclxuUXVlcnlPcHRpb25zLnByb3RvdHlwZS5fJHR5cGVOYW1lID0gXCJRdWVyeU9wdGlvbnNcIjtcclxuIl19
|
package/esm5/src/save-options.js
CHANGED
|
@@ -40,4 +40,4 @@ var SaveOptions = /** @class */ (function () {
|
|
|
40
40
|
}());
|
|
41
41
|
export { SaveOptions };
|
|
42
42
|
SaveOptions.prototype._$typeName = "SaveOptions";
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9zYXZlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYzdDOztHQUVHO0FBQ0g7SUFlRSxxQkFBWSxNQUEwQjtRQUNwQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFHRDs7O09BR0c7SUFDSCxrQ0FBWSxHQUFaO1FBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsMkJBQUssR0FBTCxVQUFNLE1BQXlCO1FBQzdCLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsd0JBQXdCO0lBQ1QsNkJBQWlCLEdBQWhDLFVBQWlDLEdBQWdCLEVBQUUsTUFBeUI7UUFDMUUsSUFBSSxNQUFNLEVBQUU7WUFDVixZQUFZLENBQUMsTUFBTSxDQUFDO2lCQUNmLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7aUJBQ2xELFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO2lCQUNoRSxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUU7aUJBQzNELFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUU7aUJBQzlCLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQW5DRCxnRUFBZ0U7SUFDekQsMkJBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFvQzNFLGtCQUFDO0NBQUEsQUFqREQsSUFpREM7U0FqRFksV0FBVztBQWtEeEIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEtc2VydmljZSc7XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tTYXZlT3B0aW9uc11dIGNvbnN0cnVjdG9yICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZU9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBSZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBzYXZlIC0gdGhpcyBkZWZhdWx0cyB0byBcIlNhdmVDaGFuZ2VzXCIgKi9cclxuICByZXNvdXJjZU5hbWU/OiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBEYXRhU2VydmljZSB0byBiZSB1c2VkIGZvciB0aGlzIHNhdmUuICovXHJcbiAgZGF0YVNlcnZpY2U/
|
|
43
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2F2ZS1vcHRpb25zLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYnJlZXplLWNsaWVudC8iLCJzb3VyY2VzIjpbInNyYy9zYXZlLW9wdGlvbnMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLFFBQVEsQ0FBQztBQUM5QixPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sZ0JBQWdCLENBQUM7QUFDOUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBYzdDOztHQUVHO0FBQ0g7SUFlRSxxQkFBWSxNQUEwQjtRQUNwQyxXQUFXLENBQUMsaUJBQWlCLENBQUMsSUFBSSxFQUFFLE1BQU0sQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFHRDs7O09BR0c7SUFDSCxrQ0FBWSxHQUFaO1FBQ0UsT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksRUFBRSxXQUFXLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0gsMkJBQUssR0FBTCxVQUFNLE1BQXlCO1FBQzdCLE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLElBQUksRUFBRSxNQUFNLENBQUMsQ0FBQztJQUNyRCxDQUFDO0lBRUQsd0JBQXdCO0lBQ1QsNkJBQWlCLEdBQWhDLFVBQWlDLEdBQWdCLEVBQUUsTUFBeUI7UUFDMUUsSUFBSSxNQUFNLEVBQUU7WUFDVixZQUFZLENBQUMsTUFBTSxDQUFDO2lCQUNmLFVBQVUsQ0FBQyxjQUFjLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxRQUFRLEVBQUU7aUJBQ2xELFVBQVUsQ0FBQyxhQUFhLENBQUMsQ0FBQyxVQUFVLEVBQUUsQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDO2lCQUNoRSxVQUFVLENBQUMsc0JBQXNCLENBQUMsQ0FBQyxTQUFTLEVBQUUsQ0FBQyxVQUFVLEVBQUU7aUJBQzNELFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxVQUFVLEVBQUU7aUJBQzlCLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztTQUNwQjtRQUNELE9BQU8sR0FBRyxDQUFDO0lBQ2IsQ0FBQztJQW5DRCxnRUFBZ0U7SUFDekQsMkJBQWUsR0FBRyxJQUFJLFdBQVcsQ0FBQyxFQUFFLG9CQUFvQixFQUFFLEtBQUssRUFBQyxDQUFDLENBQUM7SUFvQzNFLGtCQUFDO0NBQUEsQUFqREQsSUFpREM7U0FqRFksV0FBVztBQWtEeEIsV0FBVyxDQUFDLFNBQVMsQ0FBQyxVQUFVLEdBQUcsYUFBYSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgY29yZSB9IGZyb20gJy4vY29yZSc7XHJcbmltcG9ydCB7IGFzc2VydENvbmZpZyB9IGZyb20gJy4vYXNzZXJ0LXBhcmFtJztcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tICcuL2RhdGEtc2VydmljZSc7XHJcblxyXG4vKiogQ29uZmlndXJhdGlvbiBpbmZvIHRvIGJlIHBhc3NlZCB0byB0aGUgW1tTYXZlT3B0aW9uc11dIGNvbnN0cnVjdG9yICovXHJcbmV4cG9ydCBpbnRlcmZhY2UgU2F2ZU9wdGlvbnNDb25maWcge1xyXG4gIC8qKiBSZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBzYXZlIC0gdGhpcyBkZWZhdWx0cyB0byBcIlNhdmVDaGFuZ2VzXCIgKi9cclxuICByZXNvdXJjZU5hbWU/OiBzdHJpbmc7XHJcbiAgLyoqIFRoZSBEYXRhU2VydmljZSB0byBiZSB1c2VkIGZvciB0aGlzIHNhdmUuICovXHJcbiAgZGF0YVNlcnZpY2U/OiBEYXRhU2VydmljZTtcclxuICAvKiogV2hldGhlciBtdWx0aXBsZSBzYXZlcyBjYW4gYmUgaW4tZmxpZ2h0IGF0IHRoZSBzYW1lIHRpbWUuIFRoZSBkZWZhdWx0IGlzIGZhbHNlLiAqL1xyXG4gIGFsbG93Q29uY3VycmVudFNhdmVzPzogYm9vbGVhbjtcclxuICAvKiogRnJlZSBmb3JtIHZhbHVlIHRoYXQgd2lsbCBiZSBzZW50IHRvIHRoZSBzZXJ2ZXIgZHVyaW5nIHRoZSBzYXZlLiAqL1xyXG4gIHRhZz86IGFueTtcclxufVxyXG5cclxuLyoqXHJcbkEgU2F2ZU9wdGlvbnMgaW5zdGFuY2UgaXMgdXNlZCB0byBzcGVjaWZ5IHRoZSAnb3B0aW9ucycgdW5kZXIgd2hpY2ggYSBzYXZlIHdpbGwgb2NjdXIuXHJcbioqL1xyXG5leHBvcnQgY2xhc3MgU2F2ZU9wdGlvbnMge1xyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIGRlY2xhcmUgXyR0eXBlTmFtZTogc3RyaW5nOyAvLyBvbiBwcm90b1xyXG4gIC8qKiBSZXNvdXJjZSBuYW1lIHRvIGJlIHVzZWQgZHVyaW5nIHRoZSBzYXZlIC0gdGhpcyBkZWZhdWx0cyB0byBcIlNhdmVDaGFuZ2VzXCIuIF9fUmVhZCBPbmx5X18gKi9cclxuICBkZWNsYXJlIHJlc291cmNlTmFtZTogc3RyaW5nO1xyXG4gIC8qKiBUaGUgRGF0YVNlcnZpY2UgdG8gYmUgdXNlZCBmb3IgdGhpcyBzYXZlLiBfX1JlYWQgT25seV9fICovXHJcbiAgZGVjbGFyZSBkYXRhU2VydmljZTogRGF0YVNlcnZpY2U7XHJcbiAgLyoqIFdoZXRoZXIgbXVsdGlwbGUgc2F2ZXMgY2FuIGJlIGluLWZsaWdodCBhdCB0aGUgc2FtZSB0aW1lLiBUaGUgZGVmYXVsdCBpcyBmYWxzZS4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIGRlY2xhcmUgYWxsb3dDb25jdXJyZW50U2F2ZXM6IGJvb2xlYW47XHJcbiAgLyoqIEZyZWUgZm9ybSB2YWx1ZSB0aGF0IHdpbGwgYmUgc2VudCB0byB0aGUgc2VydmVyIGR1cmluZyB0aGUgc2F2ZS4gX19SZWFkIE9ubHlfXyAqL1xyXG4gIGRlY2xhcmUgdGFnOiBhbnk7XHJcblxyXG4gIC8qKiBUaGUgZGVmYXVsdCB2YWx1ZSB3aGVuZXZlciBTYXZlT3B0aW9ucyBhcmUgbm90IHNwZWNpZmllZC4gKi9cclxuICBzdGF0aWMgZGVmYXVsdEluc3RhbmNlID0gbmV3IFNhdmVPcHRpb25zKHsgYWxsb3dDb25jdXJyZW50U2F2ZXM6IGZhbHNlfSk7XHJcblxyXG4gIGNvbnN0cnVjdG9yKGNvbmZpZz86IFNhdmVPcHRpb25zQ29uZmlnKSB7XHJcbiAgICBTYXZlT3B0aW9ucy5fdXBkYXRlV2l0aENvbmZpZyh0aGlzLCBjb25maWcpO1xyXG4gIH1cclxuXHJcblxyXG4gIC8qKlxyXG4gIFNldHMgdGhlICdkZWZhdWx0SW5zdGFuY2UnIGJ5IGNyZWF0aW5nIGEgY29weSBvZiB0aGUgY3VycmVudCAnZGVmYXVsdEluc3RhbmNlJyBhbmQgdGhlbiBhcHBseWluZyBhbGwgb2YgdGhlIHByb3BlcnRpZXMgb2YgdGhlIGN1cnJlbnQgaW5zdGFuY2UuXHJcbiAgVGhlIGN1cnJlbnQgaW5zdGFuY2UgaXMgcmV0dXJuZWQgdW5jaGFuZ2VkLlxyXG4gICoqL1xyXG4gIHNldEFzRGVmYXVsdCgpIHtcclxuICAgIHJldHVybiBjb3JlLnNldEFzRGVmYXVsdCh0aGlzLCBTYXZlT3B0aW9ucyk7XHJcbiAgfVxyXG5cclxuICAvKipcclxuICBSZXR1cm5zIGEgY29weSBvZiB0aGlzIFNhdmVPcHRpb25zIHdpdGggdGhlIHNwZWNpZmllZCBjb25maWcgb3B0aW9ucyBhcHBsaWVkLlxyXG4gID4gICAgIHZhciBzYXZlT3B0aW9ucyA9IGVtMS5zYXZlT3B0aW9ucy51c2luZygge3Jlc291cmNlTmFtZTogXCJhbm90aGVyUmVzb3VyY2VcIiB9KTtcclxuICAqKi9cclxuICB1c2luZyhjb25maWc6IFNhdmVPcHRpb25zQ29uZmlnKSB7XHJcbiAgICByZXR1cm4gU2F2ZU9wdGlvbnMuX3VwZGF0ZVdpdGhDb25maWcodGhpcywgY29uZmlnKTtcclxuICB9XHJcblxyXG4gIC8qKiBAaGlkZGVuIEBpbnRlcm5hbCAqL1xyXG4gIHByaXZhdGUgc3RhdGljIF91cGRhdGVXaXRoQ29uZmlnKG9iajogU2F2ZU9wdGlvbnMsIGNvbmZpZzogU2F2ZU9wdGlvbnNDb25maWcpIHtcclxuICAgIGlmIChjb25maWcpIHtcclxuICAgICAgYXNzZXJ0Q29uZmlnKGNvbmZpZylcclxuICAgICAgICAgIC53aGVyZVBhcmFtKFwicmVzb3VyY2VOYW1lXCIpLmlzT3B0aW9uYWwoKS5pc1N0cmluZygpXHJcbiAgICAgICAgICAud2hlcmVQYXJhbShcImRhdGFTZXJ2aWNlXCIpLmlzT3B0aW9uYWwoKS5pc0luc3RhbmNlT2YoRGF0YVNlcnZpY2UpXHJcbiAgICAgICAgICAud2hlcmVQYXJhbShcImFsbG93Q29uY3VycmVudFNhdmVzXCIpLmlzQm9vbGVhbigpLmlzT3B0aW9uYWwoKVxyXG4gICAgICAgICAgLndoZXJlUGFyYW0oXCJ0YWdcIikuaXNPcHRpb25hbCgpXHJcbiAgICAgICAgICAuYXBwbHlBbGwob2JqKTtcclxuICAgIH1cclxuICAgIHJldHVybiBvYmo7XHJcbiAgfVxyXG5cclxufVxyXG5TYXZlT3B0aW9ucy5wcm90b3R5cGUuXyR0eXBlTmFtZSA9IFwiU2F2ZU9wdGlvbnNcIjtcclxuXHJcblxyXG5cclxuIl19
|