@awesome-cordova-plugins/urbanairship 9.1.3 → 9.1.4

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/index.js CHANGED
@@ -26,7 +26,7 @@ export var PresentationOptions;
26
26
  PresentationOptions[PresentationOptions["sound"] = 2] = "sound";
27
27
  PresentationOptions[PresentationOptions["alert"] = 4] = "alert";
28
28
  })(PresentationOptions || (PresentationOptions = {}));
29
- export class UrbanAirShipOriginal extends AwesomeCordovaNativePlugin {
29
+ class UrbanAirShipOriginal extends AwesomeCordovaNativePlugin {
30
30
  onDeepLink() { return cordova(this, "onDeepLink", { "eventObservable": true, "event": "urbanairship.deep_link", "element": "document" }, arguments); }
31
31
  onRegistration() { return cordova(this, "onRegistration", { "eventObservable": true, "event": "urbanairship.registration", "element": "document" }, arguments); }
32
32
  onInboxUpdated() { return cordova(this, "onInboxUpdated", { "eventObservable": true, "event": "urbanairship.inbox_updated", "element": "document" }, arguments); }
@@ -124,4 +124,6 @@ export class UrbanAirShipOriginal extends AwesomeCordovaNativePlugin {
124
124
  static install = "ionic cordova plugin add urbanairship-cordova";
125
125
  static platforms = ["Android", "iOS"];
126
126
  }
127
+ const UrbanAirShip = new UrbanAirShipOriginal();
128
+ export { UrbanAirShip };
127
129
  //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL3BsdWdpbnMvdXJiYW5haXJzaGlwL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sdUNBQStDLE1BQU0sK0JBQStCLENBQUM7QUFDNUYsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQXdDbEM7Ozs7O0dBS0c7QUFDSCxNQUFNLENBQU4sSUFBWSxnQkFLWDtBQUxELFdBQVksZ0JBQWdCO0lBQzFCLHVEQUFRLENBQUE7SUFDUix5REFBUyxDQUFBO0lBQ1QseURBQVMsQ0FBQTtJQUNULHlEQUFTLENBQUE7QUFDWCxDQUFDLEVBTFcsZ0JBQWdCLEtBQWhCLGdCQUFnQixRQUszQjtBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxDQUFOLElBQVksbUJBS1g7QUFMRCxXQUFZLG1CQUFtQjtJQUM3Qiw2REFBUSxDQUFBO0lBQ1IsK0RBQVMsQ0FBQTtJQUNULCtEQUFTLENBQUE7SUFDVCwrREFBUyxDQUFBO0FBQ1gsQ0FBQyxFQUxXLG1CQUFtQixLQUFuQixtQkFBbUIsUUFLOUI7YUErQlksWUFBYSxTQUFRLDBCQUEwQjtJQWExRCxVQUFVO0lBa0JWLGNBQWM7SUFjZCxjQUFjO0lBaUJkLFdBQVc7SUFzQlgsY0FBYztJQXFCZCxvQkFBb0I7SUF1QnBCLHlCQUF5QjtJQVV6QixRQUFRO0lBc0JSLE9BQU8sQ0FBQyxNQUFXO0lBYW5CLDRCQUE0QixDQUFDLE1BQVc7SUFjeEMsaUNBQWlDLENBQUMsT0FBZ0I7SUFhbEQsMkJBQTJCLENBQUMsT0FBZ0I7SUFhNUMsMEJBQTBCO0lBYzFCLHlCQUF5QjtJQWF6QixZQUFZO0lBaUJaLHFCQUFxQixDQUFDLEtBQWM7SUFjcEMsV0FBVyxDQUFDLEtBQWM7SUFhMUIsT0FBTztJQWFQLE9BQU8sQ0FBQyxJQUFjO0lBY3RCLFFBQVE7SUFjUixRQUFRLENBQUMsS0FBYTtJQWF0QixrQkFBa0I7SUFhbEIsbUJBQW1CLENBQUMsT0FBZ0I7SUFhcEMsYUFBYTtJQWtCYixZQUFZO0lBZ0JaLFlBQVksQ0FBQyxTQUFpQixFQUFFLFdBQW1CLEVBQUUsT0FBZSxFQUFFLFNBQWlCO0lBa0J2RixtQkFBbUIsQ0FBQyxPQUFnQjtJQWFwQyxrQkFBa0I7SUFhbEIsWUFBWTtJQWFaLFlBQVksQ0FBQyxTQUFpQjtJQWU5QixTQUFTLENBQUMsVUFBa0IsRUFBRSxXQUFnQjtJQVE5QyxzQkFBc0I7SUFRdEIsb0JBQW9CO0lBUXBCLHFCQUFxQjtJQVFyQix1QkFBdUI7SUFXdkIsNEJBQTRCO0lBVzVCLDRCQUE0QjtJQWdCNUIsMkJBQTJCO0lBZ0IzQiwyQkFBMkI7SUFjM0IsdUJBQXVCLENBQUMsR0FBVyxFQUFFLFVBQWtCO0lBZXZELGtCQUFrQixDQUFDLE9BQWdCO0lBY25DLGlCQUFpQjtJQWNqQiw0QkFBNEIsQ0FBQyxPQUFnQjtJQWM3QywyQkFBMkI7SUFZM0Isb0JBQW9CO0lBWXBCLG9CQUFvQjtJQVlwQixtQkFBbUI7SUFhbkIsMEJBQTBCO0lBbUIxQixnQkFBZ0I7SUFhaEIsb0JBQW9CLENBQUMsU0FBaUI7SUFhdEMsa0JBQWtCLENBQUMsU0FBaUI7SUFhcEMsbUJBQW1CLENBQUMsU0FBaUI7SUFlckMsWUFBWTtJQWNaLG1CQUFtQixDQUFDLFNBQWlCO0lBWXJDLGlCQUFpQixDQUFDLFVBQWtCO0lBWXBDLGtCQUFrQjtJQWFsQixzQkFBc0I7SUFldEIsbUJBQW1CLENBQUMsT0FBZ0I7SUFhcEMsY0FBYyxDQUFDLEtBQWE7SUFhNUIsY0FBYztJQVlkLFVBQVU7SUFjVixvQkFBb0IsQ0FBQyxLQUF1QjtJQWM1QyxzQkFBc0IsQ0FBQyxPQUE0QjtJQWVuRCxjQUFjO0lBYWQsZUFBZSxDQUFDLE9BQWdCO0lBYWhDLGdCQUFnQjtJQWFoQixpQkFBaUIsQ0FBQyxPQUFnQjtJQWlCbEMsY0FBYyxDQUFDLEtBQWE7SUFpQjVCLFdBQVcsQ0FBQyxNQUFjO0lBaUIxQixhQUFhLENBQUMsUUFBa0I7SUFpQmhDLGNBQWMsQ0FBQyxRQUFrQjtJQUlqQzs7Ozs7Ozs7T0FRRztJQUNILGtCQUFrQixDQUFDLFFBQWtCO1FBQ25DLE9BQU87SUFDVCxDQUFDO0lBY0Qsa0JBQWtCO0lBaUJsQixnQkFBZ0IsQ0FBQyxRQUFrQjtJQWlCbkMseUJBQXlCLENBQUMsa0JBQTBCO0lBaUJwRCxvQkFBb0IsQ0FBQyxtQkFBMkI7SUFjaEQsZ0JBQWdCLENBQUMsTUFBYztJQWMvQixnQkFBZ0I7SUFhaEIsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IFBsdWdpbiwgQ29yZG92YSwgQXdlc29tZUNvcmRvdmFOYXRpdmVQbHVnaW4gfSBmcm9tICdAYXdlc29tZS1jb3Jkb3ZhLXBsdWdpbnMvY29yZSc7XG5pbXBvcnQgeyBPYnNlcnZhYmxlIH0gZnJvbSAncnhqcyc7XG5cbi8qKlxuICogSW50ZXJmYWNlIGZvciBVQWlyc2hpcCBUYWcgRWRpdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVGFnR3JvdXBFZGl0b3Ige1xuICBhZGRUYWdzKHRhZ0dyb3VwOiBzdHJpbmcsIHRhZ3M6IHN0cmluZ1tdKTogVGFnR3JvdXBFZGl0b3I7XG4gIHJlbW92ZVRhZ3ModGFnR3JvdXA6IHN0cmluZywgdGFnczogc3RyaW5nW10pOiBUYWdHcm91cEVkaXRvcjtcbiAgYXBwbHkoc3VjY2VzczogKCkgPT4gdm9pZCwgZmFpbHVyZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCk6IFRhZ0dyb3VwRWRpdG9yO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgVUFpcnNoaXAgQXR0cmlidXRlcyBFZGl0b3JcbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdHRyaWJ1dGVzRWRpdG9yIHtcbiAgc2V0QXR0cmlidXRlKG5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBEYXRlKTogQXR0cmlidXRlc0VkaXRvcjtcbiAgcmVtb3ZlQXR0cmlidXRlKG5hbWU6IHN0cmluZyk6IEF0dHJpYnV0ZXNFZGl0b3I7XG4gIGFwcGx5KHN1Y2Nlc3M6ICgpID0+IHZvaWQsIGZhaWx1cmU6IChtZXNzYWdlOiBzdHJpbmcpID0+IHZvaWQpOiBBdHRyaWJ1dGVzRWRpdG9yO1xufVxuXG4vKipcbiAqIEludGVyZmFjZSBmb3IgVUFpcnNoaXAgQ2hhbm5lbFN1YnNjcmlwdGlvbkxpc3QgRWRpdG9yXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbm5lbFN1YnNjcmlwdGlvbkxpc3RFZGl0b3Ige1xuICBzdWJzY3JpYmUoc3Vic2NyaXB0aW9uTGlzdElEOiBzdHJpbmcpOiBDaGFubmVsU3Vic2NyaXB0aW9uTGlzdEVkaXRvcjtcbiAgdW5zdWJzY3JpYmUoc3Vic2NyaXB0aW9uTGlzdElEOiBzdHJpbmcpOiBDaGFubmVsU3Vic2NyaXB0aW9uTGlzdEVkaXRvcjtcbiAgYXBwbHkoc3VjY2VzczogKCkgPT4gdm9pZCwgZmFpbHVyZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCk6IENoYW5uZWxTdWJzY3JpcHRpb25MaXN0RWRpdG9yO1xufVxuXG5leHBvcnQgdHlwZSBDb250YWN0U3Vic2NyaXB0aW9uU2NvcGUgPSAnYXBwJyB8ICdlbWFpbCcgfCAncHVzaCcgfCAnc21zJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIFVBaXJzaGlwIENvbnRhY3RTdWJzY3JpcHRpb25MaXN0IEVkaXRvclxuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbnRhY3RTdWJzY3JpcHRpb25MaXN0RWRpdG9yIHtcbiAgc3Vic2NyaWJlKHN1YnNjcmlwdGlvbkxpc3RJRDogc3RyaW5nLCBjb250YWN0U2NvcGU6IENvbnRhY3RTdWJzY3JpcHRpb25TY29wZSk6IENvbnRhY3RTdWJzY3JpcHRpb25MaXN0RWRpdG9yO1xuICB1bnN1YnNjcmliZShzdWJzY3JpcHRpb25MaXN0SUQ6IHN0cmluZywgY29udGFjdFNjb3BlOiBDb250YWN0U3Vic2NyaXB0aW9uU2NvcGUpOiBDb250YWN0U3Vic2NyaXB0aW9uTGlzdEVkaXRvcjtcbiAgYXBwbHkoc3VjY2VzczogKCkgPT4gdm9pZCwgZmFpbHVyZTogKG1lc3NhZ2U6IHN0cmluZykgPT4gdm9pZCk6IENvbnRhY3RTdWJzY3JpcHRpb25MaXN0RWRpdG9yO1xufVxuXG4vKipcbiAqIEVudW0gZm9yIG5vdGlmaWNhdGlvbiB0eXBlcy5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBlbnVtIE5vdGlmaWNhdGlvblR5cGUge1xuICBub25lID0gMCxcbiAgYmFkZ2UgPSAxLFxuICBzb3VuZCA9IDIsXG4gIGFsZXJ0ID0gNCxcbn1cblxuLyoqXG4gKiBFbnVtIGZvciBwcmVzZW50YXRpb24gb3B0aW9ucy5cbiAqXG4gKiBAcmVhZG9ubHlcbiAqIEBlbnVtIHtudW1iZXJ9XG4gKi9cbmV4cG9ydCBlbnVtIFByZXNlbnRhdGlvbk9wdGlvbnMge1xuICBub25lID0gMCxcbiAgYmFkZ2UgPSAxLFxuICBzb3VuZCA9IDIsXG4gIGFsZXJ0ID0gNCxcbn1cblxuLyoqXG4gKiBAbmFtZSBVcmJhbkFpclNoaXBcbiAqIEBkZXNjcmlwdGlvblxuICogVGhpcyBwbHVnaW4gZG9lcyBzb21ldGhpbmdcbiAqIEB1c2FnZVxuICogYGBgdHlwZXNjcmlwdFxuICogaW1wb3J0IHsgVXJiYW5BaXJTaGlwIH0gZnJvbSAnQGF3ZXNvbWUtY29yZG92YS1wbHVnaW5zL3VyYmFuYWlyc2hpcC9uZ3gnO1xuICpcbiAqXG4gKiBjb25zdHJ1Y3Rvcihwcml2YXRlIHVyYmFuQWlyU2hpcDogVXJiYW5BaXJTaGlwKSB7IH1cbiAqXG4gKiAuLi5cbiAqXG4gKlxuICogdGhpcy51cmJhbkFpclNoaXAudGFrZU9mZihjb25maWcpXG4gKiAgIC50aGVuKChyZXM6IGFueSkgPT4gY29uc29sZS5sb2cocmVzKSlcbiAqICAgLmNhdGNoKChlcnJvcjogYW55KSA9PiBjb25zb2xlLmVycm9yKGVycm9yKSk7XG4gKlxuICogYGBgXG4gKi9cbkBQbHVnaW4oe1xuICBwbHVnaW5OYW1lOiAnVXJiYW5BaXJTaGlwJyxcbiAgcGx1Z2luOiAndXJiYW5haXJzaGlwLWNvcmRvdmEnLFxuICBwbHVnaW5SZWY6ICd3aW5kb3cuVUFpcnNoaXAnLFxuICByZXBvOiAnaHR0cHM6Ly93d3cubnBtanMuY29tL3BhY2thZ2UvdXJiYW5haXJzaGlwLWNvcmRvdmEnLFxuICBpbnN0YWxsOiAnaW9uaWMgY29yZG92YSBwbHVnaW4gYWRkIHVyYmFuYWlyc2hpcC1jb3Jkb3ZhJyxcbiAgcGxhdGZvcm1zOiBbJ0FuZHJvaWQnLCAnaU9TJ10sXG59KVxuQEluamVjdGFibGUoKVxuZXhwb3J0IGNsYXNzIFVyYmFuQWlyU2hpcCBleHRlbmRzIEF3ZXNvbWVDb3Jkb3ZhTmF0aXZlUGx1Z2luIHtcbiAgLyoqXG4gICAqIEV2ZW50IGZpcmVkIHdoZW4gYSBuZXcgZGVlcCBsaW5rIGlzIHJlY2VpdmVkLlxuICAgKlxuICAgKiBAZXZlbnQgZGVlcF9saW5rXG4gICAqIEB0eXBlIHtvYmplY3R9XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZGVlcExpbmtdIFRoZSBkZWVwIGxpbmsuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgZXZlbnRPYnNlcnZhYmxlOiB0cnVlLFxuICAgIGV2ZW50OiAndXJiYW5haXJzaGlwLmRlZXBfbGluaycsXG4gICAgZWxlbWVudDogJ2RvY3VtZW50JyxcbiAgfSlcbiAgb25EZWVwTGluaygpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBmaXJlZCB3aGVuIGEgY2hhbm5lbCByZWdpc3RyYXRpb24gb2NjdXJzLlxuICAgKlxuICAgKiBAZXZlbnQgcmVnaXN0cmF0aW9uXG4gICAqIEB0eXBlIHtvYmplY3R9XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbY2hhbm5lbElEXSBUaGUgY2hhbm5lbCBJRC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IFtyZWdpc3RyYXRpb25Ub2tlbl0gVGhlIGRldmljZVRva2VuIG9uIGlPUywgYW5kIHRoZSBGQ00vQURNIHRva2VuIG9uIEFuZHJvaWQuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBbZXJyb3JdIEVycm9yIG1lc3NhZ2UgaWYgYW4gZXJyb3Igb2NjdXJyZWQuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgZXZlbnRPYnNlcnZhYmxlOiB0cnVlLFxuICAgIGV2ZW50OiAndXJiYW5haXJzaGlwLnJlZ2lzdHJhdGlvbicsXG4gICAgZWxlbWVudDogJ2RvY3VtZW50JyxcbiAgfSlcbiAgb25SZWdpc3RyYXRpb24oKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZmlyZWQgd2hlbiB0aGUgaW5ib3ggaXMgdXBkYXRlZC5cbiAgICpcbiAgICogQGV2ZW50IGluYm94X3VwZGF0ZWRcbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBldmVudE9ic2VydmFibGU6IHRydWUsXG4gICAgZXZlbnQ6ICd1cmJhbmFpcnNoaXAuaW5ib3hfdXBkYXRlZCcsXG4gICAgZWxlbWVudDogJ2RvY3VtZW50JyxcbiAgfSlcbiAgb25JbmJveFVwZGF0ZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZmlyZWQgd2hlbiB0aGUgaW5ib3ggbmVlZHMgdG8gYmUgZGlzcGxheWVkLiBUaGlzIGV2ZW50IGlzIG9ubHkgZW1pdHRlZCBpZiBhdXRvXG4gICAqIGxhdW5jaCBtZXNzYWdlIGNlbnRlciBpcyBkaXNhYmxlZC5cbiAgICpcbiAgICogQGV2ZW50IHNob3dfaW5ib3hcbiAgICogQHR5cGUge29iamVjdH1cbiAgICogQHBhcmFtIHtzdHJpbmd9IFttZXNzYWdlSWRdIFRoZSBvcHRpb25hbCBtZXNzYWdlIElELlxuICAgKi9cbiAgQENvcmRvdmEoe1xuICAgIGV2ZW50T2JzZXJ2YWJsZTogdHJ1ZSxcbiAgICBldmVudDogJ3VyYmFuYWlyc2hpcC5zaG93X2luYm94JyxcbiAgICBlbGVtZW50OiAnZG9jdW1lbnQnLFxuICB9KVxuICBvblNob3dJbmJveCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBmaXJlZCB3aGVuIGEgcHVzaCBpcyByZWNlaXZlZC5cbiAgICpcbiAgICogQGV2ZW50IHB1c2hcbiAgICogQHR5cGUge29iamVjdH1cbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2UgVGhlIHB1c2ggYWxlcnQgbWVzc2FnZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHRpdGxlIFRoZSBwdXNoIHRpdGxlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3VidGl0bGUgVGhlIHB1c2ggc3VidGl0bGUuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBleHRyYXMgQW55IHB1c2ggZXh0cmFzLlxuICAgKiBAcGFyYW0ge29iamVjdH0gYXBzIFRoZSByYXcgYXBzIGRpY3Rpb25hcnkgKGlPUyBvbmx5KVxuICAgKiBAcGFyYW0ge251bWJlcn0gW25vdGlmaWNhdGlvbl9pZF0gVGhlIEFuZHJvaWQgbm90aWZpY2F0aW9uIElELiBEZXByZWNhdGVkIGluIGZhdm9yIG9mIG5vdGlmaWNhdGlvbklkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW25vdGlmaWNhdGlvbklkXSBUaGUgbm90aWZpY2F0aW9uIElELlxuICAgKi9cbiAgQENvcmRvdmEoe1xuICAgIGV2ZW50T2JzZXJ2YWJsZTogdHJ1ZSxcbiAgICBldmVudDogJ3VyYmFuYWlyc2hpcC5wdXNoJyxcbiAgICBlbGVtZW50OiAnZG9jdW1lbnQnLFxuICB9KVxuICBvblB1c2hSZWNlaXZlZCgpOiBPYnNlcnZhYmxlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFdmVudCBmaXJlZCB3aGVuIG5vdGlmaWNhdGlvbiBvcGVuZWQuXG4gICAqXG4gICAqIEBldmVudCBub3RpZmljYXRpb25fb3BlbmVkXG4gICAqIEB0eXBlIHtvYmplY3R9XG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlIFRoZSBwdXNoIGFsZXJ0IG1lc3NhZ2UuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBleHRyYXMgQW55IHB1c2ggZXh0cmFzLlxuICAgKiBAcGFyYW0ge251bWJlcn0gW25vdGlmaWNhdGlvbl9pZF0gVGhlIEFuZHJvaWQgbm90aWZpY2F0aW9uIElELiBEZXByZWNhdGVkIGluIGZhdm9yIG9mIG5vdGlmaWNhdGlvbklkLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW25vdGlmaWNhdGlvbklkXSBUaGUgbm90aWZpY2F0aW9uIElELlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2FjdGlvbklEXSBUaGUgSUQgb2YgdGhlIG5vdGlmaWNhdGlvbiBhY3Rpb24gYnV0dG9uIGlmIGF2YWlsYWJsZS5cbiAgICogQHBhcmFtIHtib29sZWFufSBpc0ZvcmVncm91bmQgV2lsbCBhbHdheXMgYmUgdHJ1ZSBpZiB0aGUgdXNlciB0YXBzIHRoZSBtYWluIG5vdGlmaWNhdGlvbi4gT3RoZXJ3aXNlIGl0cyBkZWZpbmVkIGJ5IHRoZSBub3RpZmljYXRpb24gYWN0aW9uIGJ1dHRvbi5cbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBldmVudE9ic2VydmFibGU6IHRydWUsXG4gICAgZXZlbnQ6ICd1cmJhbmFpcnNoaXAubm90aWZpY2F0aW9uX29wZW5lZCcsXG4gICAgZWxlbWVudDogJ2RvY3VtZW50JyxcbiAgfSlcbiAgb25Ob3RpZmljYXRpb25PcGVuZWQoKTogT2JzZXJ2YWJsZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRXZlbnQgZmlyZWQgd2hlbiB0aGUgdXNlciBub3RpZmljYXRpb24gb3B0LWluIHN0YXR1cyBjaGFuZ2VzLlxuICAgKlxuICAgKiBAZXZlbnQgbm90aWZpY2F0aW9uX29wdF9pbl9zdGF0dXNcbiAgICogQHR5cGUge29iamVjdH1cbiAgICogQHBhcmFtIHtib29sZWFufSBvcHRJbiBJZiB0aGUgdXNlciBpcyBvcHRlZCBpbiBvciBub3QgdG8gdXNlciBub3RpZmljYXRpb25zLlxuICAgKiBAcGFyYW0ge29iamVjdH0gW2F1dGhvcml6ZWROb3RpZmljYXRpb25TZXR0aW5nc10gaU9TIG9ubHkuIEEgbWFwIG9mIGF1dGhvcml6ZWQgc2V0dGluZ3MuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYXV0aG9yaXplZE5vdGlmaWNhdGlvblNldHRpbmdzLmFsZXJ0IElmIGFsZXJ0cyBhcmUgYXV0aG9yaXplZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBhdXRob3JpemVkTm90aWZpY2F0aW9uU2V0dGluZ3Muc291bmQgSWYgc291bmRzIGFyZSBhdXRob3JpemVkLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGF1dGhvcml6ZWROb3RpZmljYXRpb25TZXR0aW5ncy5iYWRnZSBJZiBiYWRnZXMgYXJlIGF1dGhvcml6ZWQuXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gYXV0aG9yaXplZE5vdGlmaWNhdGlvblNldHRpbmdzLmNhclBsYXkgSWYgY2FyIHBsYXkgaXMgYXV0aG9yaXplZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBhdXRob3JpemVkTm90aWZpY2F0aW9uU2V0dGluZ3MubG9ja1NjcmVlbiBJZiB0aGUgbG9jayBzY3JlZW4gaXMgYXV0aG9yaXplZC5cbiAgICogQHBhcmFtIHtib29sZWFufSBhdXRob3JpemVkTm90aWZpY2F0aW9uU2V0dGluZ3Mubm90aWZpY2F0aW9uQ2VudGVyIElmIHRoZSBub3RpZmljYXRpb24gY2VudGVyIGlzIGF1dGhvcml6ZWQuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgZXZlbnRPYnNlcnZhYmxlOiB0cnVlLFxuICAgIGV2ZW50OiAndXJiYW5haXJzaGlwLm5vdGlmaWNhdGlvbl9vcHRfaW5fc3RhdHVzJyxcbiAgICBlbGVtZW50OiAnZG9jdW1lbnQnLFxuICB9KVxuICBvbk5vdGlmaWNhdGlvbk9wdEluU3RhdHVzKCk6IE9ic2VydmFibGU8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJlLWF0dGFjaGVzIGRvY3VtZW50IGV2ZW50IGxpc3RlbmVycyBpbiB0aGlzIHdlYnZpZXdcbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzeW5jOiB0cnVlLFxuICB9KVxuICByZWF0dGFjaCgpOiB2b2lkIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogSW5pdGFpbGl6ZXMgVXJiYW4gQWlyc2hpcC5cbiAgICpcbiAgICogVGhlIHBsdWdpbiB3aWxsIGF1dG9tYXRpY2FsbHkgY2FsbCB0YWtlT2ZmIGR1cmluZyB0aGUgbmV4dCBhcHAgaW5pdCBpblxuICAgKiBvcmRlciB0byBwcm9wZXJseSBoYW5kbGUgaW5jb21pbmcgcHVzaC4gSWYgdGFrZU9mZiBpcyBjYWxsZWQgbXVsdGlwbGUgdGltZXNcbiAgICogaW4gYSBzZXNzaW9uLCBvciBpZiB0aGUgY29uZmlnIGlzIGRpZmZlcmVudCB0aGFuIHRoZSBwcmV2aW91cyBzZXNzc2lvbiwgdGhlXG4gICAqIG5ldyBjb25maWcgd2lsbCBub3QgYmUgdXNlZCB1bnRpbCB0aGUgbmV4dCBhcHAgc3RhcnQuXG4gICAqXG4gICAqIEBwYXJhbSB7b2JqZWN0fSAgY29uZmlnIFRoZSBVcmJhbiBBaXJzaGlwIGNvbmZpZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9ICBjb25maWcuc2l0ZSBTZXRzIHRoZSBjbG91ZCBzaXRlLCBtdXN0IGJlIGVpdGhlciBFVSBvciBVUy5cbiAgICogQHBhcmFtIHtvYmplY3R9ICBjb25maWcuZGV2ZWxvcG1lbnQgVGhlIFVyYmFuIEFpcnNoaXAgZGV2ZWxvcG1lbnQgY29uZmlnLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gIGNvbmZpZy5kZXZlbG9wbWVudC5hcHBLZXkgVGhlIGRldmVsb3BtZW50IGFwcEtleS5cbiAgICogQHBhcmFtIHtzdHJpbmd9ICBjb25maWcuZGV2ZWxvcG1lbnQuYXBwU2VjcmV0IFRoZSBkZXZlbG9wbWVudCBhcHBTZWNyZXQuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSAgY29uZmlnLnByb2R1Y3Rpb24gVGhlIFVyYmFuIEFpcnNoaXAgcHJvZHVjdGlvbiBjb25maWcuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSAgY29uZmlnLnByb2R1Y3Rpb24uYXBwS2V5IFRoZSBwcm9kdWN0aW9uIGFwcEtleS5cbiAgICogQHBhcmFtIHtzdHJpbmd9ICBjb25maWcucHJvZHVjdGlvbi5hcHBTZWNyZXQgVGhlIHByb2R1Y3Rpb24gYXBwU2VjcmV0LlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICB0YWtlT2ZmKGNvbmZpZzogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogU2V0cyB0aGUgQW5kcm9pZCBub3RpZmljYXRpb24gY29uZmlnLiBWYWx1ZXMgbm90IHNldCB3aWxsIGZhbGxiYWNrIHRvIGFueSB2YWx1ZXMgc2V0IGluIHRoZSBjb25maWcueG1sLlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gIGNvbmZpZyBUaGUgbm90aWZpY2F0aW9uIGNvbmZpZy5cbiAgICogQHBhcmFtIHtzdHJpbmd9ICBbY29uZmlnLmljb25dIFRoZSBuYW1lIG9mIHRoZSBkcmF3YWJsZSByZXNvdXJjZSB0byB1c2UgYXMgdGhlIG5vdGlmaWNhdGlvbiBpY29uLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gIFtjb25maWcubGFyZ2VJY29uXSBUaGUgbmFtZSBvZiB0aGUgZHJhd2FibGUgcmVzb3VyY2UgdG8gdXNlIGFzIHRoZSBub3RpZmljYXRpb24gbGFyZ2UgaWNvbi5cbiAgICogQHBhcmFtIHtzdHJpbmd9ICBbY29uZmlnLmFjY2VudENvbG9yXSBUaGUgbm90aWZpY2F0aW9uIGFjY2VudCBjb2xvci4gRm9ybWF0IGlzICNBQVJSR0dCQi5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0QW5kcm9pZE5vdGlmaWNhdGlvbkNvbmZpZyhjb25maWc6IGFueSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGRlZmF1bHQgYmVoYXZpb3Igd2hlbiB0aGUgbWVzc2FnZSBjZW50ZXIgaXMgbGF1bmNoZWQgZnJvbSBhIHB1c2hcbiAgICogbm90aWZpY2F0aW9uLiBJZiBzZXQgdG8gZmFsc2UgdGhlIG1lc3NhZ2UgY2VudGVyIG11c3QgYmUgbWFudWFsbHkgbGF1bmNoZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZCB0cnVlIHRvIGF1dG9tYXRpY2FsbHkgbGF1bmNoIHRoZSBkZWZhdWx0IG1lc3NhZ2UgY2VudGVyLCBmYWxzZSB0byBkaXNhYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldEF1dG9MYXVuY2hEZWZhdWx0TWVzc2FnZUNlbnRlcihlbmFibGVkOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlcyBvciBkaXNhYmxlcyB1c2VyIG5vdGlmaWNhdGlvbnMuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZCB0cnVlIHRvIGVuYWJsZSBub3RpZmljYXRpb25zLCBmYWxzZSB0byBkaXNhYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldFVzZXJOb3RpZmljYXRpb25zRW5hYmxlZChlbmFibGVkOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIHVzZXIgbm90aWZpY2F0aW9ucyBhcmUgZW5hYmxlZCBvciBub3QuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oZW5hYmxlZCl9IHN1Y2Nlc3MgU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtib29sZWFufSBzdWNjZXNzLmVuYWJsZWQgRmxhZyBpbmRpY2F0aW5nIGlmIHVzZXIgbm90aWZpY2F0aW9ucyBpcyBlbmFibGVkIG9yIG5vdC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGlzVXNlck5vdGlmaWNhdGlvbnNFbmFibGVkKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhcHAgbm90aWZpY2F0aW9ucyBhcmUgZW5hYmxlZCBvciBub3QuIEl0cyBwb3NzaWJsZSB0byBoYXZlIGB1c2VyTm90aWZpY2F0aW9uc0VuYWJsZWRgXG4gICAqIGJ1dCBhcHAgbm90aWZpY2F0aW9ucyBiZWluZyBkaXNhYmxlZCBpZiB0aGUgdXNlciBvcHRlZCBvdXQgb2Ygbm90aWZpY2F0aW9ucy5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbihlbmFibGVkKX0gc3VjY2VzcyBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHN1Y2Nlc3MuZW5hYmxlZCBGbGFnIGluZGljYXRpbmcgaWYgYXBwIG5vdGlmaWNhdGlvbnMgaXMgZW5hYmxlZCBvciBub3QuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBpc0FwcE5vdGlmaWNhdGlvbnNFbmFibGVkKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGNoYW5uZWwgSUQuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oSUQpfSBzdWNjZXNzIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIHN1Y2Nlc3MuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdWNjZXNzLklEIFRoZSBjaGFubmVsIElEIHN0cmluZ1xuICAgKiBAcGFyYW0ge2ZhaWx1cmVDYWxsYmFja30gW2ZhaWx1cmVdIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIGZhaWx1cmUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldENoYW5uZWxJRCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBsYXN0IG5vdGlmaWNhdGlvbiB0aGF0IGxhdW5jaGVkIHRoZSBhcHBsaWNhdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBjbGVhciB0cnVlIHRvIGNsZWFyIHRoZSBub3RpZmljYXRpb24uXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24ocHVzaCl9IHN1Y2Nlc3MgVGhlIGZ1bmN0aW9uIHRvIGNhbGwgb24gc3VjY2Vzcy5cbiAgICogQHBhcmFtIHtvYmplY3R9IHN1Y2Nlc3MucHVzaCBUaGUgcHVzaCBtZXNzYWdlIG9iamVjdCBjb250YWluaW5nIGRhdGEgYXNzb2NpYXRlZCB3aXRoIGEgcHVzaCBub3RpZmljYXRpb24uXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzdWNjZXNzLnB1c2gubWVzc2FnZSBUaGUgcHVzaCBhbGVydCBtZXNzYWdlLlxuICAgKiBAcGFyYW0ge29iamVjdH0gc3VjY2Vzcy5wdXNoLmV4dHJhcyBBbnkgcHVzaCBleHRyYXMuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbc3VjY2Vzcy5wdXNoLm5vdGlmaWNhdGlvbl9pZF0gVGhlIEFuZHJvaWQgbm90aWZpY2F0aW9uIElELlxuICAgKiBAcGFyYW0ge2ZhaWx1cmVDYWxsYmFja30gW2ZhaWx1cmVdIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIGZhaWx1cmUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldExhdW5jaE5vdGlmaWNhdGlvbihjbGVhcjogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGxhc3QgcmVjZWl2ZWQgZGVlcCBsaW5rLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGNsZWFyIHRydWUgdG8gY2xlYXIgdGhlIGRlZXAgbGluay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihwdXNoKX0gc3VjY2VzcyBUaGUgZnVuY3Rpb24gdG8gY2FsbCBvbiBzdWNjZXNzLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gc3VjY2Vzcy5kZWVwTGluayBUaGUgZGVlcCBsaW5rLlxuICAgKiBAcGFyYW0ge2ZhaWx1cmVDYWxsYmFja30gW2ZhaWx1cmVdIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIGZhaWx1cmUuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldERlZXBMaW5rKGNsZWFyOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgdGFncyBhcyBhbiBhcnJheS5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbih0YWdzKX0gc3VjY2VzcyBUaGUgZnVuY3Rpb24gdG8gY2FsbCBvbiBzdWNjZXNzLlxuICAgKiBAcGFyYW0ge0FycmF5fSBzdWNjZXNzLnRhZ3MgVGhlIHRhZ3MgYXMgYW4gYXJyYXkuXG4gICAqIEBwYXJhbSB7ZmFpbHVyZUNhbGxiYWNrfSBbZmFpbHVyZV0gVGhlIGZ1bmN0aW9uIHRvIGNhbGwgb24gZmFpbHVyZS5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0VGFncygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSB0YWdzLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5fSB0YWdzIGFuIGFycmF5IG9mIHN0cmluZ3MuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0VGFncyh0YWdzOiBzdHJpbmdbXSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGFsaWFzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkIHNpbmNlIDYuNy4wIC0gdG8gYmUgcmVtb3ZlZCBpbiBhIGZ1dHVyZSB2ZXJzaW9uIG9mIHRoZSBwbHVnaW4gLSBwbGVhc2UgdXNlIGdldE5hbWVkVXNlclxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKGN1cnJlbnRBbGlhcyl9IHN1Y2Nlc3MgVGhlIGZ1bmN0aW9uIHRvIGNhbGwgb24gc3VjY2Vzcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN1Y2Nlc3MuY3VycmVudEFsaWFzIFRoZSBhbGlhcyBhcyBhIHN0cmluZy5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldEFsaWFzKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGFsaWFzLlxuICAgKlxuICAgKiBAZGVwcmVjYXRlZCBEZXByZWNhdGVkIHNpbmNlIDYuNy4wICAtIHRvIGJlIHJlbW92ZWQgaW4gYSBmdXR1cmUgdmVyc2lvbiBvZiB0aGUgcGx1Z2luIC0gcGxlYXNlIHVzZSBzZXROYW1lZFVzZXJcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFsaWFzIHN0cmluZ1xuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldEFsaWFzKGFsaWFzOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgcXVpZXQgdGltZSBpcyBlbmFibGVkIG9yIG5vdC5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbihlbmFibGVkKX0gc3VjY2VzcyBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHN1Y2Nlc3MuZW5hYmxlZCBGbGFnIGluZGljYXRpbmcgaWYgcXVpZXQgdGltZSBpcyBlbmFibGVkIG9yIG5vdC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGlzUXVpZXRUaW1lRW5hYmxlZCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIHF1aWV0IHRpbWUuXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZCB0cnVlIHRvIGVuYWJsZSBxdWlldCB0aW1lLCBmYWxzZSB0byBkaXNhYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldFF1aWV0VGltZUVuYWJsZWQoZW5hYmxlZDogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiB0aGUgZGV2aWNlIGlzIGN1cnJlbnRseSBpbiBxdWlldCB0aW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKGluUXVpZXRUaW1lKX0gc3VjY2VzcyBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHN1Y2Nlc3MuaW5RdWlldFRpbWUgRmxhZyBpbmRpY2F0aW5nIGlmIHF1aWV0IHRpbWUgaXMgY3VycmVudGx5IGluIGVmZmVjdC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGlzSW5RdWlldFRpbWUoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgcXVpZXQgdGltZSBhcyBhbiBvYmplY3Qgd2l0aCB0aGUgZm9sbG93aW5nOlxuICAgKiBcInN0YXJ0SG91clwiOiBOdW1iZXIsXG4gICAqIFwic3RhcnRNaW51dGVcIjogTnVtYmVyLFxuICAgKiBcImVuZEhvdXJcIjogTnVtYmVyLFxuICAgKiBcImVuZE1pbnV0ZVwiOiBOdW1iZXJcbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbihxdWlldFRpbWUpfSBzdWNjZXNzIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIHN1Y2Nlc3MuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBzdWNjZXNzLnF1aWV0VGltZSBUaGUgcXVpZXRUaW1lIG9iamVjdCByZXByZXNlbnRzIGEgdGltZXNwYW4gZHVyaW5nXG4gICAqICAgICAgICB3aGljaCBub3RpZmljYXRpb25zIHNob3VsZCBiZSBzaWxlbmNlZC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldFF1aWV0VGltZSgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBxdWlldCB0aW1lLlxuICAgKlxuICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnRIb3VyIGZvciBxdWlldCB0aW1lLlxuICAgKiBAcGFyYW0ge251bWJlcn0gc3RhcnRNaW51dGUgZm9yIHF1aWV0IHRpbWUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBlbmRIb3VyIGZvciBxdWlldCB0aW1lLlxuICAgKiBAcGFyYW0ge251bWJlcn0gZW5kTWludXRlIGZvciBxdWlldCB0aW1lLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldFF1aWV0VGltZShzdGFydEhvdXI6IG51bWJlciwgc3RhcnRNaW51dGU6IG51bWJlciwgZW5kSG91cjogbnVtYmVyLCBlbmRNaW51dGU6IG51bWJlcik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEVuYWJsZXMgb3IgZGlzYWJsZXMgYW5hbHl0aWNzLlxuICAgKlxuICAgKiBEaXNhYmxpbmcgYW5hbHl0aWNzIHdpbGwgZGVsZXRlIGFueSBsb2NhbGx5IHN0b3JlZCBldmVudHNcbiAgICogYW5kIHByZXZlbnQgYW55IGV2ZW50cyBmcm9tIHVwbG9hZGluZy4gRmVhdHVyZXMgdGhhdCBkZXBlbmQgb24gYW5hbHl0aWNzIGJlaW5nXG4gICAqIGVuYWJsZWQgbWF5IG5vdCB3b3JrIHByb3Blcmx5IGlmIGl0J3MgZGlzYWJsZWQgKHJlcG9ydHMsIHJlZ2lvbiB0cmlnZ2VycyxcbiAgICogbG9jYXRpb24gc2VnbWVudGF0aW9uLCBwdXNoIHRvIGxvY2FsIHRpbWUpLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZWQgdHJ1ZSB0byBlbmFibGUgYW5hbHl0aWNzLCBmYWxzZSB0byBkaXNhYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldEFuYWx5dGljc0VuYWJsZWQoZW5hYmxlZDogYm9vbGVhbik6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENoZWNrcyBpZiBhbmFseXRpY3MgaXMgZW5hYmxlZCBvciBub3QuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oZW5hYmxlZCl9IHN1Y2Nlc3MgU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtib29sZWFufSBzdWNjZXNzLmVuYWJsZWQgRmxhZyBpbmRpY2F0aW5nIGlmIGFuYWx5dGljcyBpcyBlbmFibGVkIG9yIG5vdC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGlzQW5hbHl0aWNzRW5hYmxlZCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBuYW1lZCB1c2VyIElELlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG5hbWVkVXNlcil9IHN1Y2Nlc3MgVGhlIGZ1bmN0aW9uIHRvIGNhbGwgb24gc3VjY2Vzcy5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN1Y2Nlc3MubmFtZWRVc2VyIFRoZSBuYW1lZCB1c2VyIElEIGFzIGEgc3RyaW5nLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0TmFtZWRVc2VyKCk6IFByb21pc2U8c3RyaW5nPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIG5hbWVkIHVzZXIgSUQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBuYW1lZFVzZXIgaWRlbnRpZmllciBzdHJpbmcuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0TmFtZWRVc2VyKG5hbWVkVXNlcjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUnVucyBhbiBVcmJhbiBBaXJzaGlwIGFjdGlvbi5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IGFjdGlvbk5hbWUgYWN0aW9uIGFzIGEgc3RyaW5nLlxuICAgKiBAcGFyYW0geyp9IGFjdGlvblZhbHVlXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24ocmVzdWx0KX0gW3N1Y2Nlc3NdIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIHN1Y2Nlc3MuXG4gICAqIEBwYXJhbSB7b2JqZWN0fSBzdWNjZXNzLnJlc3VsdCBUaGUgcmVzdWx0J3MgdmFsdWUuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBydW5BY3Rpb24oYWN0aW9uTmFtZTogc3RyaW5nLCBhY3Rpb25WYWx1ZTogYW55KTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlZGl0b3IgdG8gbW9kaWZ5IHRoZSBuYW1lZCB1c2VyIHRhZyBncm91cHMuXG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgZWRpdE5hbWVkVXNlclRhZ0dyb3VwcygpOiBUYWdHcm91cEVkaXRvciB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENyZWF0ZXMgYW4gZWRpdG9yIHRvIG1vZGlmeSB0aGUgY2hhbm5lbCB0YWcgZ3JvdXBzLlxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIGVkaXRDaGFubmVsVGFnR3JvdXBzKCk6IFRhZ0dyb3VwRWRpdG9yIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlZGl0b3IgdG8gbW9kaWZ5IHRoZSBjaGFubmVsIGF0dHJpYnV0ZXMuXG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgZWRpdENoYW5uZWxBdHRyaWJ1dGVzKCk6IEF0dHJpYnV0ZXNFZGl0b3Ige1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGVkaXRvciB0byBtb2RpZnkgdGhlIG5hbWVkIHVzZXIgYXR0cmlidXRlcy5cbiAgICovXG4gIEBDb3Jkb3ZhKHsgc3luYzogdHJ1ZSB9KVxuICBlZGl0TmFtZWRVc2VyQXR0cmlidXRlcygpOiBBdHRyaWJ1dGVzRWRpdG9yIHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ3JlYXRlcyBhbiBlZGl0b3IgdG8gbW9kaWZ5IHRoZSBjaGFubmVsIHN1YnNjcmlwdGlvbiBsaXN0cy5cbiAgICpcbiAgICogQHJldHVybnMge0NoYW5uZWxTdWJzY3JpcHRpb25MaXN0RWRpdG9yfSBBIHN1YnNjcmlwdGlvbiBsaXN0IGVkaXRvciBpbnN0YW5jZS5cbiAgICogQHNpbmNlIDEzLjMuMFxuICAgKi9cbiAgQENvcmRvdmEoeyBzeW5jOiB0cnVlIH0pXG4gIGVkaXRDaGFubmVsU3Vic2NyaXB0aW9uTGlzdHMoKTogQ2hhbm5lbFN1YnNjcmlwdGlvbkxpc3RFZGl0b3Ige1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDcmVhdGVzIGFuIGVkaXRvciB0byBtb2RpZnkgdGhlIGNvbnRhY3Qgc3Vic2NyaXB0aW9uIGxpc3RzLlxuICAgKlxuICAgKiBAcmV0dXJucyB7Q29udGFjdFN1YnNjcmlwdGlvbkxpc3RFZGl0b3J9IEEgc3Vic2NyaXB0aW9uIGxpc3QgZWRpdG9yIGluc3RhbmNlLlxuICAgKiBAc2luY2UgMTMuMy4wXG4gICAqL1xuICBAQ29yZG92YSh7IHN5bmM6IHRydWUgfSlcbiAgZWRpdENvbnRhY3RTdWJzY3JpcHRpb25MaXN0cygpOiBDb250YWN0U3Vic2NyaXB0aW9uTGlzdEVkaXRvciB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgc2V0IG9mIHN1YnNjcmlwdGlvbiBsaXN0cyBmb3IgdGhlIGN1cnJlbnQgY2hhbm5lbCxcbiAgICogb3B0aW9uYWxseSBhcHBseWluZyBwZW5kaW5nIHN1YnNjcmlwdGlvbiBsaXN0IGNoYW5nZXMgdGhhdCB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBuZXh0IGNoYW5uZWwgdXBkYXRlLlxuICAgKiBBbiBlbXB0eSBzZXQgaW5kaWNhdGVzIHRoYXQgdGhpcyBjb250YWN0IGlzIG5vdCBzdWJzY3JpYmVkIHRvIGFueSBsaXN0cy5cbiAgICpcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3VjY2Vzc0luZGV4OiAwLFxuICAgIGVycm9ySW5kZXg6IDEsXG4gIH0pXG4gIGdldENoYW5uZWxTdWJzY3JpcHRpb25MaXN0cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHVybnMgdGhlIGN1cnJlbnQgc2V0IG9mIHN1YnNjcmlwdGlvbiBsaXN0cyBmb3IgdGhlIGN1cnJlbnQgY29udGFjdCxcbiAgICogb3B0aW9uYWxseSBhcHBseWluZyBwZW5kaW5nIHN1YnNjcmlwdGlvbiBsaXN0IGNoYW5nZXMgdGhhdCB3aWxsIGJlIGFwcGxpZWQgZHVyaW5nIHRoZSBuZXh0IGNvbnRhY3QgdXBkYXRlLlxuICAgKiBBbiBlbXB0eSBzZXQgaW5kaWNhdGVzIHRoYXQgdGhpcyBjb250YWN0IGlzIG5vdCBzdWJzY3JpYmVkIHRvIGFueSBsaXN0cy5cbiAgICpcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3VjY2Vzc0luZGV4OiAwLFxuICAgIGVycm9ySW5kZXg6IDEsXG4gIH0pXG4gIGdldENvbnRhY3RTdWJzY3JpcHRpb25MaXN0cygpOiBQcm9taXNlPHN0cmluZ1tdPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgYW4gYXNzb2NpYXRlZCBpZGVudGlmaWVyIGZvciB0aGUgQ29ubmVjdCBkYXRhIHN0cmVhbS5cbiAgICpcbiAgICogQHBhcmFtIGtleSBDdXN0b20ga2V5IGZvciBpZGVudGlmaWVyLlxuICAgKiBAcGFyYW0gaWRlbnRpZmllciBUaGUgaWRlbnRpZmllciB2YWx1ZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBzZXRBc3NvY2lhdGVkSWRlbnRpZmllcihrZXk6IHN0cmluZywgaWRlbnRpZmllcjogc3RyaW5nKTogUHJvbWlzZTx2b2lkPiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gTG9jYXRpb25cblxuICAvKipcbiAgICogRW5hYmxlcyBvciBkaXNhYmxlcyBVcmJhbiBBaXJzaGlwIGxvY2F0aW9uIHNlcnZpY2VzLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZWQgdHJ1ZSB0byBlbmFibGUgbG9jYXRpb24sIGZhbHNlIHRvIGRpc2FibGUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0TG9jYXRpb25FbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBDaGVja3MgaWYgbG9jYXRpb24gaXMgZW5hYmxlZCBvciBub3QuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oZW5hYmxlZCl9IHN1Y2Nlc3MgU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtib29sZWFufSBzdWNjZXNzLmVuYWJsZWQgRmxhZyBpbmRpY2F0aW5nIGlmIGxvY2F0aW9uIGlzIGVuYWJsZWQgb3Igbm90LlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICogQGRlcHJlY2F0ZWQgcmVtb3ZlZCBpbiB2ZXJzaW9uIDguMFxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBpc0xvY2F0aW9uRW5hYmxlZCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIGJhY2tncm91bmQgbG9jYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7Ym9vbGVhbn0gZW5hYmxlZCB0cnVlIHRvIGVuYWJsZSBiYWNrZ3JvdW5kIGxvY2F0aW9uLCBmYWxzZSB0byBkaXNhYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqIEBkZXByZWNhdGVkIHJlbW92ZWQgaW4gdmVyc2lvbiA4LjBcbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0QmFja2dyb3VuZExvY2F0aW9uRW5hYmxlZChlbmFibGVkOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGJhY2tncm91bmQgbG9jYXRpb24gaXMgZW5hYmxlZCBvciBub3QuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oZW5hYmxlZCl9IHN1Y2Nlc3MgU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtib29sZWFufSBzdWNjZXNzLmVuYWJsZWQgRmxhZyBpbmRpY2F0aW5nIGlmIGJhY2tncm91bmQgbG9jYXRpb24gdXBkYXRlcyBhcmUgZW5hYmxlZCBvciBub3QuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKiBAZGVwcmVjYXRlZCByZW1vdmVkIGluIHZlcnNpb24gOC4wXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGlzQmFja2dyb3VuZExvY2F0aW9uRW5hYmxlZCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0aGUgbWVzc2FnZSBjZW50ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZGlzcGxheU1lc3NhZ2VDZW50ZXIoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRGlzbWlzcyB0aGUgbWVzc2FnZSBjZW50ZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZGlzbWlzc01lc3NhZ2VDZW50ZXIoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRGlzbWlzcyB0aGUgaW5ib3ggbWVzc2FnZS5cbiAgICpcbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBkaXNtaXNzSW5ib3hNZXNzYWdlKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc21pc3MgdGhlIGluYm94IG1lc3NhZ2UgaW4gdGhlIG92ZXJsYXkuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICogQGRlcHJlY2F0ZWQgcmVtb3ZlZCBpbiB2ZXJzaW9uIDEwLjBcbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZGlzbWlzc092ZXJsYXlJbmJveE1lc3NhZ2UoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogR2V0cyB0aGUgYXJyYXkgb2YgaW5ib3ggbWVzc2FnZXMuIEVhY2ggbWVzc2FnZSB3aWxsIGhhdmUgdGhlIGZvbGxvd2luZyBwcm9wZXJ0aWVzOlxuICAgKiBcImlkXCI6IHN0cmluZyAtIFRoZSBtZXNzYWdlcyBJRC4gTmVlZGVkIHRvIGRpc3BsYXksIG1hcmsgYXMgcmVhZCwgb3IgZGVsZXRlIHRoZSBtZXNzYWdlLlxuICAgKiBcInRpdGxlXCI6IHN0cmluZyAtIFRoZSBtZXNzYWdlIHRpdGxlLlxuICAgKiBcInNlbnREYXRlXCI6IG51bWJlciAtIFRoZSBtZXNzYWdlIHNlbnQgZGF0ZSBpbiBtaWxsaXNlY29uZHMuXG4gICAqIFwibGlzdEljb25VcmxcIjogc3RyaW5nLCBvcHRpb25hbCAtIFRoZSBpY29uIHVybCBmb3IgdGhlIG1lc3NhZ2UuXG4gICAqIFwiaXNSZWFkXCI6IGJvb2xlYW4gLSBUaGUgdW5yZWFkL3JlYWQgc3RhdHVzIG9mIHRoZSBtZXNzYWdlLlxuICAgKiBcImV4dHJhc1wiOiBvYmplY3QgLSBTdHJpbmcgdG8gU3RyaW5nIG1hcCBvZiBhbnkgbWVzc2FnZSBleHRyYXMuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZXMpfSBzdWNjZXNzIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIHN1Y2Nlc3MuXG4gICAqIEBwYXJhbSB7QXJyYXl9IHN1Y2Nlc3MubWVzc2FnZXMgVGhlIGFycmF5IG9mIGluYm94IG1lc3NhZ2VzLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgZ2V0SW5ib3hNZXNzYWdlcygpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBNYXJrcyBhbiBpbmJveCBtZXNzYWdlIHJlYWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlSWQgVGhlIElEIG9mIHRoZSBtZXNzYWdlIHRvIG1hcmsgYXMgcmVhZC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBtYXJrSW5ib3hNZXNzYWdlUmVhZChtZXNzYWdlSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIERlbGV0ZXMgYW4gaW5ib3ggbWVzc2FnZS5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VJZCBUaGUgSUQgb2YgdGhlIG1lc3NhZ2UgdG8gZGVsZXRlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGRlbGV0ZUluYm94TWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc3BsYXlzIHRoZSBpbmJveCBtZXNzYWdlIHVzaW5nIGEgZnVsbCBzY3JlZW4gdmlldy5cbiAgICpcbiAgICogQHBhcmFtIHtzdHJpbmd9IG1lc3NhZ2VJZCBUaGUgSUQgb2YgdGhlIG1lc3NhZ2UgdG8gZGlzcGxheS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBkaXNwbGF5SW5ib3hNZXNzYWdlKG1lc3NhZ2VJZDogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRm9yY2VzIHRoZSBpbmJveCB0byByZWZyZXNoLiBUaGlzIGlzIG5vcm1hbGx5IG5vdCBuZWVkZWQgYXMgdGhlIGluYm94XG4gICAqIHdpbGwgYXV0b21hdGljYWxseSByZWZyZXNoIG9uIGZvcmVncm91bmQgb3Igd2hlbiBhIHB1c2ggYXJyaXZlcyB0aGF0c1xuICAgKiBhc3NvY2lhdGVkIHdpdGggYSBtZXNzYWdlLCBidXQgaXQgY2FuIGJlIHVzZWZ1bCB3aGVuIHByb3ZpZGluZyBhIHJlZnJlc2hcbiAgICogYnV0dG9uIGZvciB0aGUgbWVzc2FnZSBsaXN0aW5nLlxuICAgKlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHJlZnJlc2hJbmJveCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBEaXNwbGF5cyB0aGUgaW5ib3ggbWVzc2FnZSB1c2luZyBhbiBvdmVybGF5IGRpc3BsYXkuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBtZXNzYWdlSWQgVGhlIElEIG9mIHRoZSBtZXNzYWdlIHRvIGRpc3BsYXkuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICogQGRlcHJlY2F0ZWQgcmVtb3ZlZCBpbiB2ZXJzaW9uIDEwLjBcbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgb3ZlcmxheUluYm94TWVzc2FnZShtZXNzYWdlSWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyBhIG5vdGlmaWNhdGlvbiBieSBpZGVudGlmaWVyLlxuICAgKlxuICAgKiBAcGFyYW0ge3N0cmluZ30gaWRlbnRpZmllciBUaGUgbm90aWZpY2F0aW9uIGlkZW50aWZpZXIuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgY2xlYXJOb3RpZmljYXRpb24oaWRlbnRpZmllcjogc3RyaW5nKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ2xlYXJzIGFsbCBub3RpZmljYXRpb25zIHBvc3RlZCBieSB0aGUgYXBwbGljYXRpb24uXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgY2xlYXJOb3RpZmljYXRpb25zKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldHMgY3VycmVudGx5IGFjdGl2ZSBub3RpZmljYXRpb25zLlxuICAgKlxuICAgKiBOb3RlOiBPbiBBbmRyb2lkIHRoaXMgZnVuY3Rpb25hbGl0eSBpcyBvbmx5IHN1cHBvcnRlZCBvbiBBbmRyb2lkIE0gb3IgaGlnaGVyLlxuICAgKlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2VzKX0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBnZXRBY3RpdmVOb3RpZmljYXRpb25zKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLy8gaU9TIG9ubHlcblxuICAvKipcbiAgICogRW5hYmxlcyBvciBkaXNhYmxlcyBhdXRvIGJhZGdlLiBEZWZhdWx0cyB0byBgTk9gLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZWQgdHJ1ZSB0byBlbmFibGUgYXV0byBiYWRnZSwgZmFsc2UgdG8gZGlzYWJsZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBzZXRBdXRvYmFkZ2VFbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBiYWRnZSBudW1iZXIuXG4gICAqXG4gICAqIEBwYXJhbSBjb3VudCBudW1iZXIgc3BlY2lmaWVkIGJhZGdlIHRvIHNldC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBzZXRCYWRnZU51bWJlcihjb3VudDogbnVtYmVyKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmV0dXJucyB0aGUgY3VycmVudCBiYWRnZSBudW1iZXIuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oYmFkZ2VOdW1iZXIpfSBzdWNjZXNzIFRoZSBmdW5jdGlvbiB0byBjYWxsIG9uIHN1Y2Nlc3MuXG4gICAqIEBwYXJhbSB7aW50fSBzdWNjZXNzLmJhZGdlTnVtYmVyIFRoZSBjdXJyZW50IGFwcGxpY2F0aW9uIGJhZGdlIG51bWJlci5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldEJhZGdlTnVtYmVyKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIENsZWFycyB0aGUgYmFkZ2UuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgcmVzZXRCYWRnZSgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpT1Mgbm90aWZpY2F0aW9uIHR5cGVzLiBTcGVjaWZ5IHRoZSBjb21iaW5hdGlvbiBvZlxuICAgKiBiYWRnZXMsIHNvdW5kIGFuZCBhbGVydHMgdGhhdCBhcmUgZGVzaXJlZC5cbiAgICpcbiAgICogQHBhcmFtIHR5cGVzIHNwZWNpZmllZCBub3RpZmljYXRpb24gdHlwZXMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0Tm90aWZpY2F0aW9uVHlwZXModHlwZXM6IE5vdGlmaWNhdGlvblR5cGUpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXRzIHRoZSBpT1MgcHJlc2VudGF0aW9uIG9wdGlvbnMuIFNwZWNpZnkgdGhlIGNvbWJpbmF0aW9uIG9mXG4gICAqIGJhZGdlcywgc291bmQgYW5kIGFsZXJ0cyB0aGF0IGFyZSBkZXNpcmVkLlxuICAgKlxuICAgKiBAcGFyYW0gb3B0aW9ucyB0eXBlcyBzcGVjaWZpZWQgcHJlc2VudGF0aW9uIG9wdGlvbnMuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgc2V0UHJlc2VudGF0aW9uT3B0aW9ucyhvcHRpb25zOiBQcmVzZW50YXRpb25PcHRpb25zKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvLyBBbmRyb2lkIG9ubHlcblxuICAvKipcbiAgICogQ2hlY2tzIGlmIG5vdGlmaWNhdGlvbiBzb3VuZCBpcyBlbmFibGVkIG9yIG5vdC5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbihlbmFibGVkKX0gc3VjY2VzcyBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IHN1Y2Nlc3MuZW5hYmxlZCBGbGFnIGluZGljYXRpbmcgaWYgc291bmQgaXMgZW5hYmxlZCBvciBub3QuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKi9cbiAgQENvcmRvdmEoKVxuICBpc1NvdW5kRW5hYmxlZCgpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIG9yIGRpc2FibGVzIG5vdGlmaWNhdGlvbiBzb3VuZC5cbiAgICpcbiAgICogQHBhcmFtIHtib29sZWFufSBlbmFibGVkIHRydWUgdG8gZW5hYmxlIHNvdW5kLCBmYWxzZSB0byBkaXNhYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldFNvdW5kRW5hYmxlZChlbmFibGVkOiBib29sZWFuKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIG5vdGlmaWNhdGlvbiB2aWJyYXRpb24gaXMgZW5hYmxlZCBvciBub3QuXG4gICAqXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24oZW5hYmxlZCl9IHN1Y2Nlc3MgU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtib29sZWFufSBzdWNjZXNzLmVuYWJsZWQgRmxhZyBpbmRpY2F0aW5nIGlmIHZpYnJhdGlvbiBpcyBlbmFibGVkIG9yIG5vdC5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGlzVmlicmF0ZUVuYWJsZWQoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogRW5hYmxlcyBvciBkaXNhYmxlcyBub3RpZmljYXRpb24gdmlicmF0aW9uLlxuICAgKlxuICAgKiBAcGFyYW0ge2Jvb2xlYW59IGVuYWJsZWQgdHJ1ZSB0byBlbmFibGUgdmlicmF0aW9uLCBmYWxzZSB0byBkaXNhYmxlLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldFZpYnJhdGVFbmFibGVkKGVuYWJsZWQ6IGJvb2xlYW4pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGRzIGEgY3VzdG9tIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0ge29iamVjdH0gZXZlbnQgVGhlIGN1c3RvbSBldmVudCBvYmplY3QuXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBldmVudC5uYW1lIFRoZSBldmVudCdzIG5hbWUuXG4gICAqIEBwYXJhbSB7bnVtYmVyfSBbZXZlbnQudmFsdWVdIFRoZSBldmVudCdzIHZhbHVlLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gW2V2ZW50LnRyYW5zYWN0aW9uSWRdIFRoZSBldmVudCdzIHRyYW5zYWN0aW9uIElELlxuICAgKiBAcGFyYW0ge29iamVjdH0gW2V2ZW50LnByb3BlcnRpZXNdIFRoZSBldmVudCdzIHByb3BlcnRpZXMuIE9ubHkgbnVtYmVycywgYm9vbGVhbnMsIHN0cmluZ3MsIGFuZCBhcnJheSBvZiBzdHJpbmdzIGFyZSBzdXBwb3J0ZWQuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICovXG4gIEBDb3Jkb3ZhKClcbiAgYWRkQ3VzdG9tRXZlbnQoZXZlbnQ6IG9iamVjdCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIEluaXRpYXRlcyBzY3JlZW4gdHJhY2tpbmcgZm9yIGEgc3BlY2lmaWMgYXBwIHNjcmVlbiwgbXVzdCBiZSBjYWxsZWQgb25jZSBwZXIgdHJhY2tlZCBzY3JlZW4uXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBzY3JlZW4gVGhlIHNjcmVlbidzIHN0cmluZyBpZGVudGlmaWVyLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqIEBzaW5jZSAxMS4wLjBcbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzdWNjZXNzSW5kZXg6IDEsXG4gICAgZXJyb3JJbmRleDogMixcbiAgfSlcbiAgdHJhY2tTY3JlZW4oc2NyZWVuOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBFbmFibGVzIGZlYXR1cmVzLCBhZGRpbmcgdGhlbSB0byB0aGUgc2V0IG9mIGN1cnJlbnRseSBlbmFibGVkIGZlYXR1cmVzLlxuICAgKlxuICAgKiBAcGFyYW0ge0FycmF5PHN0cmluZz59IGZlYXR1cmVzIFRoZSBmZWF0dXJlcyB0byBlbmFibGUuXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICogQHNpbmNlIDEzLjAuMFxuICAgKi9cbiAgQENvcmRvdmEoe1xuICAgIHN1Y2Nlc3NJbmRleDogMSxcbiAgICBlcnJvckluZGV4OiAyLFxuICB9KVxuICBlbmFibGVGZWF0dXJlKGZlYXR1cmVzOiBzdHJpbmdbXSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIERpc2FibGVzIGZlYXR1cmVzLCByZW1vdmluZyB0aGVtIGZyb20gdGhlIHNldCBvZiBjdXJyZW50bHkgZW5hYmxlZCBmZWF0dXJlcy5cbiAgICpcbiAgICogQHBhcmFtIHtBcnJheTxzdHJpbmc+fSBmZWF0dXJlcyBUaGUgZmVhdHVyZXMgdG8gZGlzYWJsZS5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKiBAc2luY2UgMTMuMC4wXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3VjY2Vzc0luZGV4OiAxLFxuICAgIGVycm9ySW5kZXg6IDIsXG4gIH0pXG4gIGRpc2FibGVGZWF0dXJlKGZlYXR1cmVzOiBzdHJpbmdbXSk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIFNldHMgdGhlIGN1cnJlbnQgZW5hYmxlZCBmZWF0dXJlcywgcmVwbGFjaW5nIGFueSBjdXJyZW50bHkgZW5hYmxlZCBmZWF0dXJlcyB3aXRoIHRoZSBnaXZlbiBzZXQuXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gZmVhdHVyZXMgVGhlIGZlYXR1cmVzIHRvIHNldCBhcyBlbmFibGVkLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqIEBzaW5jZSAxMy4wLjBcbiAgICovXG4gIHNldEVuYWJsZWRGZWF0dXJlcyhmZWF0dXJlczogc3RyaW5nW10pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXRzIHRoZSBjdXJyZW50IGVuYWJsZWQgZmVhdHVyZXMuXG4gICAqXG4gICAqIEBwYXJhbSB7RnVuY3Rpb259IFtzdWNjZXNzXSBTdWNjZXNzIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge2Z1bmN0aW9uKG1lc3NhZ2UpfSBbZmFpbHVyZV0gRmFpbHVyZSBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IGZhaWx1cmUubWVzc2FnZSBUaGUgZXJyb3IgbWVzc2FnZS5cbiAgICogQHNpbmNlIDEzLjAuMFxuICAgKi9cbiAgQENvcmRvdmEoe1xuICAgIHN1Y2Nlc3NJbmRleDogMCxcbiAgICBlcnJvckluZGV4OiAxLFxuICB9KVxuICBnZXRFbmFibGVkRmVhdHVyZXMoKTogUHJvbWlzZTxhbnk+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogQ2hlY2tzIGlmIGFsbCBvZiB0aGUgZ2l2ZW4gZmVhdHVyZXMgYXJlIGVuYWJsZWQuXG4gICAqXG4gICAqIEBwYXJhbSB7QXJyYXk8c3RyaW5nPn0gZmVhdHVyZXMgVGhlIGZlYXR1cmVzIHRvIGNoZWNrLlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqIEBzaW5jZSAxMy4wLjBcbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzdWNjZXNzSW5kZXg6IDEsXG4gICAgZXJyb3JJbmRleDogMixcbiAgfSlcbiAgaXNGZWF0dXJlRW5hYmxlZChmZWF0dXJlczogc3RyaW5nW10pOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjb25maWd1cmF0aW9uIG9mIHRoZSBQcmVmZXJlbmNlIENlbnRlciB3aXRoIHRoZSBnaXZlbiBJRCB0cm91Z2ggYSBjYWxsYmFjayBtZXRob2QuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcmVmZXJlbmNlQ2VudGVySWQgVGhlIHByZWZlcmVuY2UgY2VudGVyIElELlxuICAgKiBAcGFyYW0ge0Z1bmN0aW9ufSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtmdW5jdGlvbihtZXNzYWdlKX0gW2ZhaWx1cmVdIEZhaWx1cmUgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBmYWlsdXJlLm1lc3NhZ2UgVGhlIGVycm9yIG1lc3NhZ2UuXG4gICAqIEBzaW5jZSAxMy4zLjBcbiAgICovXG4gIEBDb3Jkb3ZhKHtcbiAgICBzdWNjZXNzSW5kZXg6IDEsXG4gICAgZXJyb3JJbmRleDogMixcbiAgfSlcbiAgZ2V0UHJlZmVyZW5jZUNlbnRlckNvbmZpZyhwcmVmZXJlbmNlQ2VudGVySWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIE9wZW5zIHRoZSBQcmVmZXJlbmNlIENlbnRlciB3aXRoIHRoZSBnaXZlbiBwcmVmZXJlbmNlQ2VudGVySWQuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBwcmVuZmVyZW5jZUNlbnRlcklkIFRoZSBwcmVmZXJlbmNlIGNlbnRlciBJRC5cbiAgICogQHBhcmFtIHtGdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKiBAc2luY2UgMTMuMC4wXG4gICAqL1xuICBAQ29yZG92YSh7XG4gICAgc3VjY2Vzc0luZGV4OiAxLFxuICAgIGVycm9ySW5kZXg6IDIsXG4gIH0pXG4gIG9wZW5QcmVmZXJlbmNlQ2VudGVyKHByZW5mZXJlbmNlQ2VudGVySWQ6IHN0cmluZyk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG5cbiAgLyoqXG4gICAqIE92ZXJyaWRlcyB0aGUgbG9jYWxlIHNldHRpbmcuXG4gICAqXG4gICAqIEBwYXJhbSB7c3RyaW5nfSBsb2NhbGUgbGFuZ3VhZ2UgYW5kIG9wdGlvbmFsIGNvdW50cnkgY29kZS5cbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKiBAc2luY2UgMTQuMy4wXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIHNldEN1cnJlbnRMb2NhbGUobG9jYWxlOiBzdHJpbmcpOiBQcm9taXNlPGFueT4ge1xuICAgIHJldHVybjtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXR1cm5zIHRoZSBjdXJyZW50bHkgc2V0IGxvY2FsZS5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbihsb2NhbGUpfSBbc3VjY2Vzc10gU3VjY2VzcyBjYWxsYmFjay5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHN1Y2Nlc3MubG9jYWxlIFRoZSBsb2NhbGUgYXMgYSBzdHJpbmcuXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKiBAc2luY2UgMTQuMy4wXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGdldEN1cnJlbnRMb2NhbGUoKTogUHJvbWlzZTxzdHJpbmc+IHtcbiAgICByZXR1cm47XG4gIH1cblxuICAvKipcbiAgICogUmVzZXRzIHRoZSBjdXJyZW50IGxvY2FsZS5cbiAgICpcbiAgICogQHBhcmFtIHtmdW5jdGlvbn0gW3N1Y2Nlc3NdIFN1Y2Nlc3MgY2FsbGJhY2suXG4gICAqIEBwYXJhbSB7ZnVuY3Rpb24obWVzc2FnZSl9IFtmYWlsdXJlXSBGYWlsdXJlIGNhbGxiYWNrLlxuICAgKiBAcGFyYW0ge3N0cmluZ30gZmFpbHVyZS5tZXNzYWdlIFRoZSBlcnJvciBtZXNzYWdlLlxuICAgKiBAc2luY2UgMTQuMy4wXG4gICAqL1xuICBAQ29yZG92YSgpXG4gIGNsZWFyTG9jYWxlKCk6IFByb21pc2U8YW55PiB7XG4gICAgcmV0dXJuO1xuICB9XG59XG4iXX0=
package/ngx/package.json CHANGED
@@ -26,8 +26,8 @@
26
26
  "name": "@awesome-cordova-plugins/urbanairship",
27
27
  "dependencies": {},
28
28
  "peerDependencies": {
29
- "@awesome-cordova-plugins/core": "^9.1.3",
29
+ "@awesome-cordova-plugins/core": "^9.1.4",
30
30
  "rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0"
31
31
  },
32
- "version": "9.1.3"
32
+ "version": "9.1.4"
33
33
  }
package/package.json CHANGED
@@ -26,8 +26,8 @@
26
26
  "name": "@awesome-cordova-plugins/urbanairship",
27
27
  "dependencies": {},
28
28
  "peerDependencies": {
29
- "@awesome-cordova-plugins/core": "^9.1.3",
29
+ "@awesome-cordova-plugins/core": "^9.1.4",
30
30
  "rxjs": "^5.5.0 || ^6.5.0 || ^7.3.0"
31
31
  },
32
- "version": "9.1.3"
32
+ "version": "9.1.4"
33
33
  }