@quadrel-enterprise-ui/framework 18.27.2 → 18.28.0
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.
|
@@ -123,6 +123,8 @@ export class QdPushEventsService {
|
|
|
123
123
|
reconnect() {
|
|
124
124
|
if (this.isConnectedOrConnecting())
|
|
125
125
|
return;
|
|
126
|
+
if (this._isUnauthorized)
|
|
127
|
+
return;
|
|
126
128
|
this.disconnect();
|
|
127
129
|
this.connect(this._options.url, this._options.options);
|
|
128
130
|
}
|
|
@@ -198,4 +200,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.9", ngImpor
|
|
|
198
200
|
type: Inject,
|
|
199
201
|
args: ['QdAuthenticationService']
|
|
200
202
|
}] }] });
|
|
201
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1ldmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3B1c2gtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7QUFJaEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFXOEM7SUFWcEUsWUFBWSxDQUFlO0lBQzNCLDBCQUEwQixHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO0lBQ3RFLFVBQVUsR0FBZ0QsRUFBRSxDQUFDO0lBQzdELGlCQUFpQixDQUFpQztJQUNsRCxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0lBQ25DLGVBQWUsQ0FBZ0I7SUFDL0IsUUFBUSxDQUFpRTtJQUN6RSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRWhDLFlBQTRFLHFCQUEwQjtRQUExQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQUs7SUFBRyxDQUFDO0lBRTFHOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsR0FBVyxFQUFFLE9BQTRDO1FBQy9ELElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQUUsT0FBTztRQUUzQyxJQUFJLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsUUFBUSxDQUNYLDJJQUEySSxDQUM1SSxDQUFDO2dCQUVG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Qyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQXFCLEVBQUUsRUFBRTtZQUN4RSxJQUFJLElBQUksQ0FBQyxlQUFlO2dCQUFFLE9BQU87WUFFakMsSUFBSSxJQUFJLENBQUMsaUJBQWlCO2dCQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUVqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDbkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVHLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFdEYsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLENBQUM7SUFDbkQsQ0FBQzt1R0FsTVUsbUJBQW1CLGtCQVdFLHlCQUF5QjsyR0FYOUMsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVljLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRTb3VyY2VQb2x5ZmlsbCB9IGZyb20gJ2V2ZW50LXNvdXJjZS1wb2x5ZmlsbCc7XG5pbXBvcnQgeyBORVZFUiwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEV2ZW50TmFtZSA9ICdSRVNPVVJDRV9DUkVBVEVEJyB8ICdSRVNPVVJDRV9VUERBVEVEJyB8ICdSRVNPVVJDRV9ERUxFVEVEJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBoYW5kbGluZyByZWFsLXRpbWUgc2VydmVyLXNlbnQgZXZlbnRzLlxuICpcbiAqICMjIyBCZW5lZml0c1xuICpcbiAqIC0gKipSZWFsLVRpbWUgSW50ZXJhY3Rpb24qKjogRW5hYmxlcyBsaXZlIHVwZGF0ZXMgd2l0aG91dCB1c2VyIGFjdGlvbnMgb3IgcG9sbGluZy5cbiAqIC0gKipTY2FsYWJsZSBhbmQgRmxleGlibGUqKjogVGhlIHN5c3RlbSBpcyBmbGV4aWJsZSBhbmQgZWFzaWx5IGV4cGFuZGFibGUgdG8gaGFuZGxlIG5ldyBldmVudHMuXG4gKiAtICoqQ29uc2lzdGVuY3kqKjogRW5zdXJlcyBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiBzZXJ2ZXIgYW5kIGNsaWVudCBzdGF0ZXMgZm9yIGEgY29uc2lzdGVudCB1c2VyIGV4cGVyaWVuY2UuXG4gKiAtICoqQXV0aG9yaXphdGlvbioqOiBJdCB1c2VzIHRoZSB1c2VyJ3MgYXV0aGVudGljYXRpb24gKFFkQXV0aCkgdG8gc2VjdXJlIHRoZSBjb25uZWN0aW9uIGFnYWluc3QgdGhlIGJhY2tlbmQgb3V0LW9mLXRoZS1ib3guIFRoaXMgcmVxdWlyZXMgYSBwcm9wZXIgUWRBdXRoIHNldHVwLiBZb3UgY2FuIGRpc2FibGUgdGhpcyBmZWF0dXJlIHdoZW4gc3RhcnRpbmcgdGhlIGNvbm5lY3Rpb24uXG4gKlxuICogIyMjIFVzYWdlXG4gKlxuICogYGBgdHNcbiAqIC8vIFN0YXJ0IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBldmVudHNcbiAqIHB1c2hFdmVudHNTZXJ2aWNlLmNvbm5lY3QoJ2h0dHA6Ly9zZXJ2aWNlLWVuZHBpbnQvZXZlbnRzJyk7XG4gKiAvLyBvciBzdGFydCB3aXRob3V0IGF1dGhlbnRpY2F0aW9uIGluIGNhc2UgeW91IGRvbid0IG5lZWQ6XG4gKiBwdXNoRXZlbnRzU2VydmljZS5jb25uZWN0KCdodHRwOi8vc2VydmljZS1lbmRwaW50L2V2ZW50cycsIHsgZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiB0cnVlIH0pO1xuICpcbiAqIC8vIFN1YnNjcmliZSB0byB0aGUgZXZlbnQgKFNpZGUgRWZmZWN0KVxuICogY29uc3Qgc3Vic2NyaXB0aW9uID0gcHVzaEV2ZW50c1NlcnZpY2Uub2JzZXJ2ZSgnUkVTT1VSQ0VfVVBEQVRFRCcpLnN1YnNjcmliZShldmVudCA9PiBoYW5kbGVFdmVudChldmVudCkpO1xuICpcbiAqIC8vIFVuc3Vic2NyaWJlIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzXG4gKiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAqXG4gKiAvLyBEaXNjb25uZWN0IHRoZSBjb25uZWN0aW9uXG4gKiBwdXNoRXZlbnRzU2VydmljZS5kaXNjb25uZWN0KCk7XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUWRQdXNoRXZlbnRzU2VydmljZSB7XG4gIHByaXZhdGUgX2V2ZW50U291cmNlITogRXZlbnRTb3VyY2U7XG4gIHByaXZhdGUgX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMgPSBuZXcgTWFwPHN0cmluZywgU3ViamVjdDxNZXNzYWdlRXZlbnQ+PigpO1xuICBwcml2YXRlIF9saXN0ZW5lcnM6IFtzdHJpbmcsIChtZXNzYWdlOiBNZXNzYWdlRXZlbnQpID0+IHZvaWRdW10gPSBbXTtcbiAgcHJpdmF0ZSBfaGVhcnRiZWF0VGltZW91dCE6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9yZWNvbm5lY3REZWxheVRpbWUgPSAxMDAwMDtcbiAgcHJpdmF0ZSBfaGVhcnRiZWF0UmVjb25uZWN0RGVsYXlUaW1lID0gMTAwO1xuICBwcml2YXRlIF9hY2Nlc3NUb2tlblN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfb3B0aW9ucyE6IHsgdXJsOiBzdHJpbmc7IG9wdGlvbnM/OiB7IGRpc2FibGVBdXRoZW50aWNhdGlvbjogYm9vbGVhbiB9IH07XG4gIHByaXZhdGUgX2lzVW5hdXRob3JpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdCgnUWRBdXRoZW50aWNhdGlvblNlcnZpY2UnKSBwcml2YXRlIHJlYWRvbmx5IGF1dGhlbnRpY2F0aW9uU2VydmljZTogYW55KSB7fVxuXG4gIC8qKlxuICAgKiBFc3RhYmxpc2hlcyBhbiBFdmVudFNvdXJjZSBjb25uZWN0aW9uIHRvIHRoZSBnaXZlbiBVUkwuXG4gICAqIEF1dG9tYXRpY2FsbHkgcmVjb25uZWN0cyBpZiBoZWFydGJlYXQgZmFpbHMgb3IgaXMgZGVsYXllZC5cbiAgICogU3Vic2NyaWJlcnMgYXJlIHJldGFpbmVkIGFjcm9zcyByZWNvbm5lY3Rpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdXJsIFRoZSBiYWNrZW5kIFVSTCBmb3IgdGhlIGV2ZW50IHN0cmVhbS5cbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIGNvbm5lY3Rpb25cbiAgICovXG4gIGNvbm5lY3QodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiB7IGRpc2FibGVBdXRoZW50aWNhdGlvbjogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0ZWRPckNvbm5lY3RpbmcoKSkgcmV0dXJuO1xuXG4gICAgaWYgKCFvcHRpb25zPy5kaXNhYmxlQXV0aGVudGljYXRpb24pIHtcbiAgICAgIGlmICghdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sb2dFcnJvcihcbiAgICAgICAgICBcIkNhbid0IGNvbm5lY3QgdG8gU1NFIHdpdGhvdXQgUWRBdXRoIGFzIHRoZSBjb25uZWN0aW9uIGhhcyB0byBiZSBzZWN1cmVkLiBQbGVhc2UgaW5zdGFsbCBRZEF1dGggb3IgZGlzYWJsZSBhdXRoZW50aWNhdGlvbiB3aGVuIGNvbm5lY3RpbmcuXCJcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9hY2Nlc3NUb2tlblN1YikgdGhpcy5fYWNjZXNzVG9rZW5TdWIudW5zdWJzY3JpYmUoKTtcblxuICAgICAgdGhpcy5fYWNjZXNzVG9rZW5TdWIgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hY2Nlc3NUb2tlbiQuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSB7IHVybCwgb3B0aW9ucyB9O1xuICAgICAgICB0aGlzLmNvbm5lY3RFdmVudFNvdXJjZShcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fb3B0aW9ucyA9IHsgdXJsLCBvcHRpb25zIH07XG4gICAgICB0aGlzLmNvbm5lY3RFdmVudFNvdXJjZSh1cmwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIEV2ZW50U291cmNlIGNvbm5lY3Rpb24gYW5kIGNsZWFycyBhbGwgbGlzdGVuZXJzLlxuICAgKiBTdWJzY3JpYmVycyBhcmUgcHJlc2VydmVkIGZvciByZWNvbm5lY3Rpb24uXG4gICAqL1xuICBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nV2FybignTm8gYWN0aXZlIGNvbm5lY3Rpb24gdG8gZGlzY29ubmVjdC4nKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnNGcm9tRXZlbnRTb3VyY2UoKTtcblxuICAgIHRoaXMuX2V2ZW50U291cmNlLmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIGZvciB0aGUgc3BlY2lmaWVkIGV2ZW50IG5hbWUuXG4gICAqIElmIG5vdCBjb25uZWN0ZWQsIHJldHVybnMgYE5FVkVSYCBhbmQgbG9ncyBhbiBlcnJvci5cbiAgICogQXV0b21hdGljYWxseSBhZGRzIGEgbGlzdGVuZXIgZm9yIHRoZSBldmVudCBpZiBuZWVkZWQuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudE5hbWUgVGhlIGV2ZW50IHR5cGUgKCdSRVNPVVJDRV9DUkVBVEVEJywgJ1JFU09VUkNFX1VQREFURUQnLCAnUkVTT1VSQ0VfREVMRVRFRCcpLlxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPE1lc3NhZ2VFdmVudD4gVGhlIGV2ZW50IHN0cmVhbS5cbiAgICovXG4gIG9ic2VydmUoZXZlbnROYW1lOiBFdmVudE5hbWUpOiBPYnNlcnZhYmxlPE1lc3NhZ2VFdmVudD4ge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nRXJyb3IoJ0Nhbm5vdCBvYnNlcnZlIGV2ZW50cyB3aXRob3V0IGEgY29ubmVjdGlvbi4gQ2FsbCBjb25uZWN0KCkgZmlyc3QuJyk7XG5cbiAgICAgIHJldHVybiBORVZFUjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuaGFzKGV2ZW50TmFtZSkpIHtcbiAgICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuc2V0KGV2ZW50TmFtZSwgbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpKTtcblxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyRm9yRXZlbnROYW1lKGV2ZW50TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuZ2V0KGV2ZW50TmFtZSkhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYWxsIGxpc3RlbmVycyBhbmQgY2xlYXJzIGFsbCBzdWJzY3JpcHRpb25zLlxuICAgKiBUaGUgRXZlbnRTb3VyY2UgY29ubmVjdGlvbiByZW1haW5zIG9wZW4uXG4gICAqL1xuICB1bm9ic2VydmVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVBbGxFdmVudExpc3RlbmVyc0Zyb21FdmVudFNvdXJjZSgpO1xuICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIEV2ZW50U291cmNlIGlzIGNvbm5lY3RlZCBvciBpbiB0aGUgcHJvY2VzcyBvZiBjb25uZWN0aW5nLlxuICAgKi9cbiAgaXNDb25uZWN0ZWRPckNvbm5lY3RpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX2V2ZW50U291cmNlICYmXG4gICAgICAodGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSA9PT0gRXZlbnRTb3VyY2UuT1BFTiB8fCB0aGlzLl9ldmVudFNvdXJjZS5yZWFkeVN0YXRlID09PSBFdmVudFNvdXJjZS5DT05ORUNUSU5HKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlY29ubmVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZE9yQ29ubmVjdGluZygpKSByZXR1cm47XG5cbiAgICB0aGlzLmRpc2Nvbm5lY3QoKTtcbiAgICB0aGlzLmNvbm5lY3QodGhpcy5fb3B0aW9ucy51cmwsIHRoaXMuX29wdGlvbnMub3B0aW9ucyk7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJGb3JFdmVudE5hbWUoZXZlbnROYW1lOiBFdmVudE5hbWUpOiB2b2lkIHtcbiAgICBjb25zdCBjYWxsYmFjayA9IChtZXNzYWdlRXZlbnQ6IE1lc3NhZ2VFdmVudCk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qgc3ViamVjdCA9IHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuZ2V0KGV2ZW50TmFtZSk7XG5cbiAgICAgIGlmIChzdWJqZWN0KSBzdWJqZWN0Lm5leHQobWVzc2FnZUV2ZW50KTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZXZlbnRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB0aGlzLl9saXN0ZW5lcnMucHVzaChbZXZlbnROYW1lLCBjYWxsYmFja10pO1xuICB9XG5cbiAgcHJpdmF0ZSBhZGRFdmVudExpc3RlbmVyc0ZvckV4aXN0aW5nU3Vic2NyaXB0aW9ucygpOiB2b2lkIHtcbiAgICB0aGlzLl9ldmVudFN1YnNjcmlwdGlvblN1YmplY3RzLmZvckVhY2goKHN1YmplY3QsIGV2ZW50TmFtZSkgPT5cbiAgICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lclRvRXZlbnRTb3VyY2UoZXZlbnROYW1lIGFzIEV2ZW50TmFtZSwgKG1lc3NhZ2VFdmVudDogTWVzc2FnZUV2ZW50KSA9PlxuICAgICAgICBzdWJqZWN0Lm5leHQobWVzc2FnZUV2ZW50KVxuICAgICAgKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJUb0V2ZW50U291cmNlKGV2ZW50TmFtZTogRXZlbnROYW1lLCBjYWxsYmFjazogKG1lc3NhZ2VFdmVudDogTWVzc2FnZUV2ZW50KSA9PiB2b2lkKTogdm9pZCB7XG4gICAgdGhpcy5fZXZlbnRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKTtcbiAgICB0aGlzLl9saXN0ZW5lcnMucHVzaChbZXZlbnROYW1lLCBjYWxsYmFja10pO1xuICB9XG5cbiAgcHJpdmF0ZSByZW1vdmVBbGxFdmVudExpc3RlbmVyc0Zyb21FdmVudFNvdXJjZSgpOiB2b2lkIHtcbiAgICBpZiAoIXRoaXMuX2V2ZW50U291cmNlKSB7XG4gICAgICB0aGlzLmxvZ1dhcm4oJ0Nhbm5vdCByZW1vdmUgbGlzdGVuZXJzOiBObyBhY3RpdmUgY29ubmVjdGlvbi4nKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMuX2xpc3RlbmVycy5mb3JFYWNoKChbZXZlbnROYW1lLCBjYWxsYmFja10pID0+IHRoaXMuX2V2ZW50U291cmNlLnJlbW92ZUV2ZW50TGlzdGVuZXIoZXZlbnROYW1lLCBjYWxsYmFjaykpO1xuICAgIHRoaXMuX2xpc3RlbmVycyA9IFtdO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dXYXJuKG1lc3NhZ2U6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnNvbGUud2FybihgUUQtVUkgfCBRZFB1c2hFdmVudHNTZXJ2aWNlIC0gJHttZXNzYWdlfWApO1xuICB9XG5cbiAgcHJpdmF0ZSBsb2dFcnJvcihtZXNzYWdlOiBzdHJpbmcsIGVycj86IEV2ZW50KTogdm9pZCB7XG4gICAgY29uc29sZS5lcnJvcihgUUQtVUkgfCBRZFB1c2hFdmVudHNTZXJ2aWNlIC0gJHttZXNzYWdlfWAsIGVycik7XG4gIH1cblxuICBwcml2YXRlIGNvbm5lY3RFdmVudFNvdXJjZSh1cmw6IHN0cmluZywgb3B0aW9uczogdW5rbm93biA9IHt9LCByZWNvbm5lY3Q/OiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKHRoaXMuX2V2ZW50U291cmNlICYmIHRoaXMuX2V2ZW50U291cmNlLnJlYWR5U3RhdGUgIT09IEV2ZW50U291cmNlLkNMT1NFRCkgdGhpcy5fZXZlbnRTb3VyY2UuY2xvc2UoKTtcblxuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UgfHwgdGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSA9PT0gRXZlbnRTb3VyY2UuQ0xPU0VEIHx8IHJlY29ubmVjdClcbiAgICAgIHRoaXMuX2V2ZW50U291cmNlID0gbmV3IEV2ZW50U291cmNlUG9seWZpbGwodXJsLCBvcHRpb25zKTtcblxuICAgIHRoaXMuX2V2ZW50U291cmNlLm9uZXJyb3IgPSAoZXJyOiBhbnkpOiB2b2lkID0+IHtcbiAgICAgIGNvbnN0IHN0YXR1cyA9IGVycj8uc3RhdHVzIHx8IGVycj8udGFyZ2V0Py5zdGF0dXM7XG5cbiAgICAgIGlmIChzdGF0dXMgPT09IDQwMSkge1xuICAgICAgICB0aGlzLl9pc1VuYXV0aG9yaXplZCA9IHRydWU7XG4gICAgICAgIHRoaXMubG9nRXJyb3IoJ1NTRSBjb25uZWN0aW9uIHVuYXV0aG9yaXplZCAoNDAxKTonLCBlcnIpO1xuICAgICAgICB0aGlzLl9ldmVudFNvdXJjZS5jbG9zZSgpO1xuXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cblxuICAgICAgaWYgKHRoaXMuX2V2ZW50U291cmNlLnJlYWR5U3RhdGUgPT09IEV2ZW50U291cmNlLkNMT1NFRCkgdGhpcy5yZWNvbm5lY3QoKTtcblxuICAgICAgdGhpcy5sb2dFcnJvcignU1NFIGNvbm5lY3Rpb24gZXJyb3I6JywgZXJyKTtcbiAgICB9O1xuXG4gICAgdGhpcy5fZXZlbnRTb3VyY2UuYWRkRXZlbnRMaXN0ZW5lcignSEVBUlRCRUFUJywgKG1lc3NhZ2U6IE1lc3NhZ2VFdmVudCkgPT4ge1xuICAgICAgaWYgKHRoaXMuX2lzVW5hdXRob3JpemVkKSByZXR1cm47XG5cbiAgICAgIGlmICh0aGlzLl9oZWFydGJlYXRUaW1lb3V0KSBjbGVhclRpbWVvdXQodGhpcy5faGVhcnRiZWF0VGltZW91dCk7XG5cbiAgICAgIGNvbnN0IGludGVydmFsID0gSlNPTi5wYXJzZShtZXNzYWdlLmRhdGEpLmludGVydmFsO1xuICAgICAgdGhpcy5faGVhcnRiZWF0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWNvbm5lY3QoKSwgaW50ZXJ2YWwgKyB0aGlzLl9oZWFydGJlYXRSZWNvbm5lY3REZWxheVRpbWUpO1xuICAgIH0pO1xuXG4gICAgdGhpcy5faGVhcnRiZWF0VGltZW91dCA9IHNldFRpbWVvdXQoKCkgPT4gdGhpcy5yZWNvbm5lY3QoKSwgdGhpcy5fcmVjb25uZWN0RGVsYXlUaW1lKTtcblxuICAgIHRoaXMuYWRkRXZlbnRMaXN0ZW5lcnNGb3JFeGlzdGluZ1N1YnNjcmlwdGlvbnMoKTtcbiAgfVxufVxuIl19
|
|
203
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVzaC1ldmVudHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL2xpYnMvcWQtdWkvc3JjL2xpYi9jb3JlL3NlcnZpY2VzL3B1c2gtZXZlbnRzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzdELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxLQUFLLEVBQWMsT0FBTyxFQUFnQixNQUFNLE1BQU0sQ0FBQzs7QUFJaEU7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztHQTJCRztBQUlILE1BQU0sT0FBTyxtQkFBbUI7SUFXOEM7SUFWcEUsWUFBWSxDQUFlO0lBQzNCLDBCQUEwQixHQUFHLElBQUksR0FBRyxFQUFpQyxDQUFDO0lBQ3RFLFVBQVUsR0FBZ0QsRUFBRSxDQUFDO0lBQzdELGlCQUFpQixDQUFpQztJQUNsRCxtQkFBbUIsR0FBRyxLQUFLLENBQUM7SUFDNUIsNEJBQTRCLEdBQUcsR0FBRyxDQUFDO0lBQ25DLGVBQWUsQ0FBZ0I7SUFDL0IsUUFBUSxDQUFpRTtJQUN6RSxlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRWhDLFlBQTRFLHFCQUEwQjtRQUExQiwwQkFBcUIsR0FBckIscUJBQXFCLENBQUs7SUFBRyxDQUFDO0lBRTFHOzs7Ozs7O09BT0c7SUFDSCxPQUFPLENBQUMsR0FBVyxFQUFFLE9BQTRDO1FBQy9ELElBQUksSUFBSSxDQUFDLHVCQUF1QixFQUFFO1lBQUUsT0FBTztRQUUzQyxJQUFJLENBQUMsT0FBTyxFQUFFLHFCQUFxQixFQUFFLENBQUM7WUFDcEMsSUFBSSxDQUFDLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDO2dCQUNoQyxJQUFJLENBQUMsUUFBUSxDQUNYLDJJQUEySSxDQUM1SSxDQUFDO2dCQUVG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UyxFQUFFLENBQUM7WUFFMUUsSUFBSSxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsRUFBRSxHQUFHLENBQUMsQ0FBQztRQUM5QyxDQUFDLENBQUM7UUFFRixJQUFJLENBQUMsWUFBWSxDQUFDLGdCQUFnQixDQUFDLFdBQVcsRUFBRSxDQUFDLE9BQXFCLEVBQUUsRUFBRTtZQUN4RSxJQUFJLElBQUksQ0FBQyxlQUFlO2dCQUFFLE9BQU87WUFFakMsSUFBSSxJQUFJLENBQUMsaUJBQWlCO2dCQUFFLFlBQVksQ0FBQyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQztZQUVqRSxNQUFNLFFBQVEsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxRQUFRLENBQUM7WUFDbkQsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsUUFBUSxHQUFHLElBQUksQ0FBQyw0QkFBNEIsQ0FBQyxDQUFDO1FBQzVHLENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxFQUFFLEVBQUUsSUFBSSxDQUFDLG1CQUFtQixDQUFDLENBQUM7UUFFdEYsSUFBSSxDQUFDLHlDQUF5QyxFQUFFLENBQUM7SUFDbkQsQ0FBQzt1R0FwTVUsbUJBQW1CLGtCQVdFLHlCQUF5QjsyR0FYOUMsbUJBQW1CLGNBRmxCLE1BQU07OzJGQUVQLG1CQUFtQjtrQkFIL0IsVUFBVTttQkFBQztvQkFDVixVQUFVLEVBQUUsTUFBTTtpQkFDbkI7OzBCQVljLFFBQVE7OzBCQUFJLE1BQU07MkJBQUMseUJBQXlCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0LCBJbmplY3RhYmxlLCBPcHRpb25hbCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRXZlbnRTb3VyY2VQb2x5ZmlsbCB9IGZyb20gJ2V2ZW50LXNvdXJjZS1wb2x5ZmlsbCc7XG5pbXBvcnQgeyBORVZFUiwgT2JzZXJ2YWJsZSwgU3ViamVjdCwgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XG5cbmV4cG9ydCB0eXBlIEV2ZW50TmFtZSA9ICdSRVNPVVJDRV9DUkVBVEVEJyB8ICdSRVNPVVJDRV9VUERBVEVEJyB8ICdSRVNPVVJDRV9ERUxFVEVEJztcblxuLyoqXG4gKiBTZXJ2aWNlIGZvciBoYW5kbGluZyByZWFsLXRpbWUgc2VydmVyLXNlbnQgZXZlbnRzLlxuICpcbiAqICMjIyBCZW5lZml0c1xuICpcbiAqIC0gKipSZWFsLVRpbWUgSW50ZXJhY3Rpb24qKjogRW5hYmxlcyBsaXZlIHVwZGF0ZXMgd2l0aG91dCB1c2VyIGFjdGlvbnMgb3IgcG9sbGluZy5cbiAqIC0gKipTY2FsYWJsZSBhbmQgRmxleGlibGUqKjogVGhlIHN5c3RlbSBpcyBmbGV4aWJsZSBhbmQgZWFzaWx5IGV4cGFuZGFibGUgdG8gaGFuZGxlIG5ldyBldmVudHMuXG4gKiAtICoqQ29uc2lzdGVuY3kqKjogRW5zdXJlcyBzeW5jaHJvbml6YXRpb24gYmV0d2VlbiBzZXJ2ZXIgYW5kIGNsaWVudCBzdGF0ZXMgZm9yIGEgY29uc2lzdGVudCB1c2VyIGV4cGVyaWVuY2UuXG4gKiAtICoqQXV0aG9yaXphdGlvbioqOiBJdCB1c2VzIHRoZSB1c2VyJ3MgYXV0aGVudGljYXRpb24gKFFkQXV0aCkgdG8gc2VjdXJlIHRoZSBjb25uZWN0aW9uIGFnYWluc3QgdGhlIGJhY2tlbmQgb3V0LW9mLXRoZS1ib3guIFRoaXMgcmVxdWlyZXMgYSBwcm9wZXIgUWRBdXRoIHNldHVwLiBZb3UgY2FuIGRpc2FibGUgdGhpcyBmZWF0dXJlIHdoZW4gc3RhcnRpbmcgdGhlIGNvbm5lY3Rpb24uXG4gKlxuICogIyMjIFVzYWdlXG4gKlxuICogYGBgdHNcbiAqIC8vIFN0YXJ0IHRoZSBjb25uZWN0aW9uIHRvIHRoZSBldmVudHNcbiAqIHB1c2hFdmVudHNTZXJ2aWNlLmNvbm5lY3QoJ2h0dHA6Ly9zZXJ2aWNlLWVuZHBpbnQvZXZlbnRzJyk7XG4gKiAvLyBvciBzdGFydCB3aXRob3V0IGF1dGhlbnRpY2F0aW9uIGluIGNhc2UgeW91IGRvbid0IG5lZWQ6XG4gKiBwdXNoRXZlbnRzU2VydmljZS5jb25uZWN0KCdodHRwOi8vc2VydmljZS1lbmRwaW50L2V2ZW50cycsIHsgZGlzYWJsZUF1dGhlbnRpY2F0aW9uOiB0cnVlIH0pO1xuICpcbiAqIC8vIFN1YnNjcmliZSB0byB0aGUgZXZlbnQgKFNpZGUgRWZmZWN0KVxuICogY29uc3Qgc3Vic2NyaXB0aW9uID0gcHVzaEV2ZW50c1NlcnZpY2Uub2JzZXJ2ZSgnUkVTT1VSQ0VfVVBEQVRFRCcpLnN1YnNjcmliZShldmVudCA9PiBoYW5kbGVFdmVudChldmVudCkpO1xuICpcbiAqIC8vIFVuc3Vic2NyaWJlIHRvIHByZXZlbnQgbWVtb3J5IGxlYWtzXG4gKiBzdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAqXG4gKiAvLyBEaXNjb25uZWN0IHRoZSBjb25uZWN0aW9uXG4gKiBwdXNoRXZlbnRzU2VydmljZS5kaXNjb25uZWN0KCk7XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCdcbn0pXG5leHBvcnQgY2xhc3MgUWRQdXNoRXZlbnRzU2VydmljZSB7XG4gIHByaXZhdGUgX2V2ZW50U291cmNlITogRXZlbnRTb3VyY2U7XG4gIHByaXZhdGUgX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMgPSBuZXcgTWFwPHN0cmluZywgU3ViamVjdDxNZXNzYWdlRXZlbnQ+PigpO1xuICBwcml2YXRlIF9saXN0ZW5lcnM6IFtzdHJpbmcsIChtZXNzYWdlOiBNZXNzYWdlRXZlbnQpID0+IHZvaWRdW10gPSBbXTtcbiAgcHJpdmF0ZSBfaGVhcnRiZWF0VGltZW91dCE6IFJldHVyblR5cGU8dHlwZW9mIHNldFRpbWVvdXQ+O1xuICBwcml2YXRlIF9yZWNvbm5lY3REZWxheVRpbWUgPSAxMDAwMDtcbiAgcHJpdmF0ZSBfaGVhcnRiZWF0UmVjb25uZWN0RGVsYXlUaW1lID0gMTAwO1xuICBwcml2YXRlIF9hY2Nlc3NUb2tlblN1Yj86IFN1YnNjcmlwdGlvbjtcbiAgcHJpdmF0ZSBfb3B0aW9ucyE6IHsgdXJsOiBzdHJpbmc7IG9wdGlvbnM/OiB7IGRpc2FibGVBdXRoZW50aWNhdGlvbjogYm9vbGVhbiB9IH07XG4gIHByaXZhdGUgX2lzVW5hdXRob3JpemVkID0gZmFsc2U7XG5cbiAgY29uc3RydWN0b3IoQE9wdGlvbmFsKCkgQEluamVjdCgnUWRBdXRoZW50aWNhdGlvblNlcnZpY2UnKSBwcml2YXRlIHJlYWRvbmx5IGF1dGhlbnRpY2F0aW9uU2VydmljZTogYW55KSB7fVxuXG4gIC8qKlxuICAgKiBFc3RhYmxpc2hlcyBhbiBFdmVudFNvdXJjZSBjb25uZWN0aW9uIHRvIHRoZSBnaXZlbiBVUkwuXG4gICAqIEF1dG9tYXRpY2FsbHkgcmVjb25uZWN0cyBpZiBoZWFydGJlYXQgZmFpbHMgb3IgaXMgZGVsYXllZC5cbiAgICogU3Vic2NyaWJlcnMgYXJlIHJldGFpbmVkIGFjcm9zcyByZWNvbm5lY3Rpb25zLlxuICAgKlxuICAgKiBAcGFyYW0gdXJsIFRoZSBiYWNrZW5kIFVSTCBmb3IgdGhlIGV2ZW50IHN0cmVhbS5cbiAgICogQHBhcmFtIG9wdGlvbnMgT3B0aW9ucyBmb3IgdGhlIGNvbm5lY3Rpb25cbiAgICovXG4gIGNvbm5lY3QodXJsOiBzdHJpbmcsIG9wdGlvbnM/OiB7IGRpc2FibGVBdXRoZW50aWNhdGlvbjogYm9vbGVhbiB9KTogdm9pZCB7XG4gICAgaWYgKHRoaXMuaXNDb25uZWN0ZWRPckNvbm5lY3RpbmcoKSkgcmV0dXJuO1xuXG4gICAgaWYgKCFvcHRpb25zPy5kaXNhYmxlQXV0aGVudGljYXRpb24pIHtcbiAgICAgIGlmICghdGhpcy5hdXRoZW50aWNhdGlvblNlcnZpY2UpIHtcbiAgICAgICAgdGhpcy5sb2dFcnJvcihcbiAgICAgICAgICBcIkNhbid0IGNvbm5lY3QgdG8gU1NFIHdpdGhvdXQgUWRBdXRoIGFzIHRoZSBjb25uZWN0aW9uIGhhcyB0byBiZSBzZWN1cmVkLiBQbGVhc2UgaW5zdGFsbCBRZEF1dGggb3IgZGlzYWJsZSBhdXRoZW50aWNhdGlvbiB3aGVuIGNvbm5lY3RpbmcuXCJcbiAgICAgICAgKTtcblxuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGlmICh0aGlzLl9hY2Nlc3NUb2tlblN1YikgdGhpcy5fYWNjZXNzVG9rZW5TdWIudW5zdWJzY3JpYmUoKTtcblxuICAgICAgdGhpcy5fYWNjZXNzVG9rZW5TdWIgPSB0aGlzLmF1dGhlbnRpY2F0aW9uU2VydmljZS5hY2Nlc3NUb2tlbiQuc3Vic2NyaWJlKCh0b2tlbjogc3RyaW5nKSA9PiB7XG4gICAgICAgIHRoaXMuX29wdGlvbnMgPSB7IHVybCwgb3B0aW9ucyB9O1xuICAgICAgICB0aGlzLmNvbm5lY3RFdmVudFNvdXJjZShcbiAgICAgICAgICB1cmwsXG4gICAgICAgICAge1xuICAgICAgICAgICAgaGVhZGVyczogeyBBdXRob3JpemF0aW9uOiBgQmVhcmVyICR7dG9rZW59YCB9XG4gICAgICAgICAgfSxcbiAgICAgICAgICB0cnVlXG4gICAgICAgICk7XG4gICAgICB9KTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5fb3B0aW9ucyA9IHsgdXJsLCBvcHRpb25zIH07XG4gICAgICB0aGlzLmNvbm5lY3RFdmVudFNvdXJjZSh1cmwpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBDbG9zZXMgdGhlIEV2ZW50U291cmNlIGNvbm5lY3Rpb24gYW5kIGNsZWFycyBhbGwgbGlzdGVuZXJzLlxuICAgKiBTdWJzY3JpYmVycyBhcmUgcHJlc2VydmVkIGZvciByZWNvbm5lY3Rpb24uXG4gICAqL1xuICBkaXNjb25uZWN0KCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nV2FybignTm8gYWN0aXZlIGNvbm5lY3Rpb24gdG8gZGlzY29ubmVjdC4nKTtcblxuICAgICAgcmV0dXJuO1xuICAgIH1cblxuICAgIHRoaXMucmVtb3ZlQWxsRXZlbnRMaXN0ZW5lcnNGcm9tRXZlbnRTb3VyY2UoKTtcblxuICAgIHRoaXMuX2V2ZW50U291cmNlLmNsb3NlKCk7XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyBhbiBPYnNlcnZhYmxlIGZvciB0aGUgc3BlY2lmaWVkIGV2ZW50IG5hbWUuXG4gICAqIElmIG5vdCBjb25uZWN0ZWQsIHJldHVybnMgYE5FVkVSYCBhbmQgbG9ncyBhbiBlcnJvci5cbiAgICogQXV0b21hdGljYWxseSBhZGRzIGEgbGlzdGVuZXIgZm9yIHRoZSBldmVudCBpZiBuZWVkZWQuXG4gICAqXG4gICAqIEBwYXJhbSBldmVudE5hbWUgVGhlIGV2ZW50IHR5cGUgKCdSRVNPVVJDRV9DUkVBVEVEJywgJ1JFU09VUkNFX1VQREFURUQnLCAnUkVTT1VSQ0VfREVMRVRFRCcpLlxuICAgKiBAcmV0dXJucyBPYnNlcnZhYmxlPE1lc3NhZ2VFdmVudD4gVGhlIGV2ZW50IHN0cmVhbS5cbiAgICovXG4gIG9ic2VydmUoZXZlbnROYW1lOiBFdmVudE5hbWUpOiBPYnNlcnZhYmxlPE1lc3NhZ2VFdmVudD4ge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nRXJyb3IoJ0Nhbm5vdCBvYnNlcnZlIGV2ZW50cyB3aXRob3V0IGEgY29ubmVjdGlvbi4gQ2FsbCBjb25uZWN0KCkgZmlyc3QuJyk7XG5cbiAgICAgIHJldHVybiBORVZFUjtcbiAgICB9XG5cbiAgICBpZiAoIXRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuaGFzKGV2ZW50TmFtZSkpIHtcbiAgICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuc2V0KGV2ZW50TmFtZSwgbmV3IFN1YmplY3Q8TWVzc2FnZUV2ZW50PigpKTtcblxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyRm9yRXZlbnROYW1lKGV2ZW50TmFtZSk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuZ2V0KGV2ZW50TmFtZSkhLmFzT2JzZXJ2YWJsZSgpO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZXMgYWxsIGxpc3RlbmVycyBhbmQgY2xlYXJzIGFsbCBzdWJzY3JpcHRpb25zLlxuICAgKiBUaGUgRXZlbnRTb3VyY2UgY29ubmVjdGlvbiByZW1haW5zIG9wZW4uXG4gICAqL1xuICB1bm9ic2VydmVBbGwoKTogdm9pZCB7XG4gICAgdGhpcy5yZW1vdmVBbGxFdmVudExpc3RlbmVyc0Zyb21FdmVudFNvdXJjZSgpO1xuICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuY2xlYXIoKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgdGhlIEV2ZW50U291cmNlIGlzIGNvbm5lY3RlZCBvciBpbiB0aGUgcHJvY2VzcyBvZiBjb25uZWN0aW5nLlxuICAgKi9cbiAgaXNDb25uZWN0ZWRPckNvbm5lY3RpbmcoKTogYm9vbGVhbiB7XG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMuX2V2ZW50U291cmNlICYmXG4gICAgICAodGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSA9PT0gRXZlbnRTb3VyY2UuT1BFTiB8fCB0aGlzLl9ldmVudFNvdXJjZS5yZWFkeVN0YXRlID09PSBFdmVudFNvdXJjZS5DT05ORUNUSU5HKVxuICAgICk7XG4gIH1cblxuICBwcml2YXRlIHJlY29ubmVjdCgpOiB2b2lkIHtcbiAgICBpZiAodGhpcy5pc0Nvbm5lY3RlZE9yQ29ubmVjdGluZygpKSByZXR1cm47XG5cbiAgICBpZiAodGhpcy5faXNVbmF1dGhvcml6ZWQpIHJldHVybjtcblxuICAgIHRoaXMuZGlzY29ubmVjdCgpO1xuICAgIHRoaXMuY29ubmVjdCh0aGlzLl9vcHRpb25zLnVybCwgdGhpcy5fb3B0aW9ucy5vcHRpb25zKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lckZvckV2ZW50TmFtZShldmVudE5hbWU6IEV2ZW50TmFtZSk6IHZvaWQge1xuICAgIGNvbnN0IGNhbGxiYWNrID0gKG1lc3NhZ2VFdmVudDogTWVzc2FnZUV2ZW50KTogdm9pZCA9PiB7XG4gICAgICBjb25zdCBzdWJqZWN0ID0gdGhpcy5fZXZlbnRTdWJzY3JpcHRpb25TdWJqZWN0cy5nZXQoZXZlbnROYW1lKTtcblxuICAgICAgaWYgKHN1YmplY3QpIHN1YmplY3QubmV4dChtZXNzYWdlRXZlbnQpO1xuICAgIH07XG5cbiAgICB0aGlzLl9ldmVudFNvdXJjZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKFtldmVudE5hbWUsIGNhbGxiYWNrXSk7XG4gIH1cblxuICBwcml2YXRlIGFkZEV2ZW50TGlzdGVuZXJzRm9yRXhpc3RpbmdTdWJzY3JpcHRpb25zKCk6IHZvaWQge1xuICAgIHRoaXMuX2V2ZW50U3Vic2NyaXB0aW9uU3ViamVjdHMuZm9yRWFjaCgoc3ViamVjdCwgZXZlbnROYW1lKSA9PlxuICAgICAgdGhpcy5hZGRFdmVudExpc3RlbmVyVG9FdmVudFNvdXJjZShldmVudE5hbWUgYXMgRXZlbnROYW1lLCAobWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQpID0+XG4gICAgICAgIHN1YmplY3QubmV4dChtZXNzYWdlRXZlbnQpXG4gICAgICApXG4gICAgKTtcbiAgfVxuXG4gIHByaXZhdGUgYWRkRXZlbnRMaXN0ZW5lclRvRXZlbnRTb3VyY2UoZXZlbnROYW1lOiBFdmVudE5hbWUsIGNhbGxiYWNrOiAobWVzc2FnZUV2ZW50OiBNZXNzYWdlRXZlbnQpID0+IHZvaWQpOiB2b2lkIHtcbiAgICB0aGlzLl9ldmVudFNvdXJjZS5hZGRFdmVudExpc3RlbmVyKGV2ZW50TmFtZSwgY2FsbGJhY2spO1xuICAgIHRoaXMuX2xpc3RlbmVycy5wdXNoKFtldmVudE5hbWUsIGNhbGxiYWNrXSk7XG4gIH1cblxuICBwcml2YXRlIHJlbW92ZUFsbEV2ZW50TGlzdGVuZXJzRnJvbUV2ZW50U291cmNlKCk6IHZvaWQge1xuICAgIGlmICghdGhpcy5fZXZlbnRTb3VyY2UpIHtcbiAgICAgIHRoaXMubG9nV2FybignQ2Fubm90IHJlbW92ZSBsaXN0ZW5lcnM6IE5vIGFjdGl2ZSBjb25uZWN0aW9uLicpO1xuXG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgdGhpcy5fbGlzdGVuZXJzLmZvckVhY2goKFtldmVudE5hbWUsIGNhbGxiYWNrXSkgPT4gdGhpcy5fZXZlbnRTb3VyY2UucmVtb3ZlRXZlbnRMaXN0ZW5lcihldmVudE5hbWUsIGNhbGxiYWNrKSk7XG4gICAgdGhpcy5fbGlzdGVuZXJzID0gW107XG4gIH1cblxuICBwcml2YXRlIGxvZ1dhcm4obWVzc2FnZTogc3RyaW5nKTogdm9pZCB7XG4gICAgY29uc29sZS53YXJuKGBRRC1VSSB8IFFkUHVzaEV2ZW50c1NlcnZpY2UgLSAke21lc3NhZ2V9YCk7XG4gIH1cblxuICBwcml2YXRlIGxvZ0Vycm9yKG1lc3NhZ2U6IHN0cmluZywgZXJyPzogRXZlbnQpOiB2b2lkIHtcbiAgICBjb25zb2xlLmVycm9yKGBRRC1VSSB8IFFkUHVzaEV2ZW50c1NlcnZpY2UgLSAke21lc3NhZ2V9YCwgZXJyKTtcbiAgfVxuXG4gIHByaXZhdGUgY29ubmVjdEV2ZW50U291cmNlKHVybDogc3RyaW5nLCBvcHRpb25zOiB1bmtub3duID0ge30sIHJlY29ubmVjdD86IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAodGhpcy5fZXZlbnRTb3VyY2UgJiYgdGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSAhPT0gRXZlbnRTb3VyY2UuQ0xPU0VEKSB0aGlzLl9ldmVudFNvdXJjZS5jbG9zZSgpO1xuXG4gICAgaWYgKCF0aGlzLl9ldmVudFNvdXJjZSB8fCB0aGlzLl9ldmVudFNvdXJjZS5yZWFkeVN0YXRlID09PSBFdmVudFNvdXJjZS5DTE9TRUQgfHwgcmVjb25uZWN0KVxuICAgICAgdGhpcy5fZXZlbnRTb3VyY2UgPSBuZXcgRXZlbnRTb3VyY2VQb2x5ZmlsbCh1cmwsIG9wdGlvbnMpO1xuXG4gICAgdGhpcy5fZXZlbnRTb3VyY2Uub25lcnJvciA9IChlcnI6IGFueSk6IHZvaWQgPT4ge1xuICAgICAgY29uc3Qgc3RhdHVzID0gZXJyPy5zdGF0dXMgfHwgZXJyPy50YXJnZXQ/LnN0YXR1cztcblxuICAgICAgaWYgKHN0YXR1cyA9PT0gNDAxKSB7XG4gICAgICAgIHRoaXMuX2lzVW5hdXRob3JpemVkID0gdHJ1ZTtcbiAgICAgICAgdGhpcy5sb2dFcnJvcignU1NFIGNvbm5lY3Rpb24gdW5hdXRob3JpemVkICg0MDEpOicsIGVycik7XG4gICAgICAgIHRoaXMuX2V2ZW50U291cmNlLmNsb3NlKCk7XG5cbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuXG4gICAgICBpZiAodGhpcy5fZXZlbnRTb3VyY2UucmVhZHlTdGF0ZSA9PT0gRXZlbnRTb3VyY2UuQ0xPU0VEKSB0aGlzLnJlY29ubmVjdCgpO1xuXG4gICAgICB0aGlzLmxvZ0Vycm9yKCdTU0UgY29ubmVjdGlvbiBlcnJvcjonLCBlcnIpO1xuICAgIH07XG5cbiAgICB0aGlzLl9ldmVudFNvdXJjZS5hZGRFdmVudExpc3RlbmVyKCdIRUFSVEJFQVQnLCAobWVzc2FnZTogTWVzc2FnZUV2ZW50KSA9PiB7XG4gICAgICBpZiAodGhpcy5faXNVbmF1dGhvcml6ZWQpIHJldHVybjtcblxuICAgICAgaWYgKHRoaXMuX2hlYXJ0YmVhdFRpbWVvdXQpIGNsZWFyVGltZW91dCh0aGlzLl9oZWFydGJlYXRUaW1lb3V0KTtcblxuICAgICAgY29uc3QgaW50ZXJ2YWwgPSBKU09OLnBhcnNlKG1lc3NhZ2UuZGF0YSkuaW50ZXJ2YWw7XG4gICAgICB0aGlzLl9oZWFydGJlYXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlY29ubmVjdCgpLCBpbnRlcnZhbCArIHRoaXMuX2hlYXJ0YmVhdFJlY29ubmVjdERlbGF5VGltZSk7XG4gICAgfSk7XG5cbiAgICB0aGlzLl9oZWFydGJlYXRUaW1lb3V0ID0gc2V0VGltZW91dCgoKSA9PiB0aGlzLnJlY29ubmVjdCgpLCB0aGlzLl9yZWNvbm5lY3REZWxheVRpbWUpO1xuXG4gICAgdGhpcy5hZGRFdmVudExpc3RlbmVyc0ZvckV4aXN0aW5nU3Vic2NyaXB0aW9ucygpO1xuICB9XG59XG4iXX0=
|