ngrx-entity-crud 13.1.0-beta.0 → 13.1.0-beta.2

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.
@@ -14,4 +14,4 @@ export var ActionEnum;
14
14
  ActionEnum["FAILURE"] = "Failure";
15
15
  ActionEnum["SUCCESS"] = "Success";
16
16
  })(ActionEnum || (ActionEnum = {}));
17
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdyeC1lbnRpdHktY3J1ZC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3REEsTUFBTSxDQUFOLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNsQiw2QkFBaUIsQ0FBQTtJQUNqQiw2QkFBaUIsQ0FBQTtJQUNqQiw2QkFBaUIsQ0FBQTtJQUNqQix5QkFBYSxDQUFBO0lBQ2IsNkJBQWlCLENBQUE7SUFDakIsMkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcsUUFBUSxLQUFSLFFBQVEsUUFPbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLG1DQUFxQixDQUFBO0lBQ3JCLGlDQUFtQixDQUFBO0lBQ25CLGlDQUFtQixDQUFBO0lBQ25CLGlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxVQUFVLEtBQVYsVUFBVSxRQUtyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGV9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQge0FjdGlvbiwgQWN0aW9uQ3JlYXRvciwgTWVtb2l6ZWRTZWxlY3Rvcn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG4vLyBDT1BJQVRPIERBIEBuZ3J4L3N0b3JlL3NyYy9tb2RlbHNcbi8vIHNlIHZpZW5lIGltcG9ydGF0byBkYSBAbmdyeC9zdG9yZS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUeXBlZEFjdGlvbjxUIGV4dGVuZHMgc3RyaW5nPiBleHRlbmRzIEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGU6IFQ7XG59XG5cbi8vIENPUElBVE8gREEgQG5ncngvc3RvcmUvc3JjL21vZGVsc1xuLy8gc2UgdmllbmUgaW1wb3J0YXRvIGRhIEBuZ3J4L2VudGl0eS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCBpbnRlcmZhY2UgRGljdGlvbmFyeU51bTxUPiB7XG4gIFtpZDogbnVtYmVyXTogVCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgRGljdGlvbmFyeTxUPiBpbXBsZW1lbnRzIERpY3Rpb25hcnlOdW08VD4ge1xuICBbaWQ6IHN0cmluZ106IFQgfCB1bmRlZmluZWQ7XG59XG5cbi8vIENPUElBVE8gREEgQG5ncngvc3RvcmUvc3JjL21vZGVsc1xuLy8gc2UgdmllbmUgaW1wb3J0YXRvIGRhIEBuZ3J4L2VudGl0eS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCB0eXBlIElkU2VsZWN0b3JTdHI8VD4gPSAobW9kZWw6IFQpID0+IHN0cmluZztcbmV4cG9ydCB0eXBlIElkU2VsZWN0b3JOdW08VD4gPSAobW9kZWw6IFQpID0+IG51bWJlcjtcbi8vIENPUElBVE8gREEgQG5ncngvc3RvcmUvc3JjL21vZGVsc1xuLy8gc2UgdmllbmUgaW1wb3J0YXRvIGRhIEBuZ3J4L2VudGl0eS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCB0eXBlIElkU2VsZWN0b3I8VD4gPSBJZFNlbGVjdG9yU3RyPFQ+IHwgSWRTZWxlY3Rvck51bTxUPjtcblxuLy8gcGVyIGV2aXRhcmUgbCdpbXBvcnRhemlvbmVcbi8vIGltcG9ydCB7Q29tcGFyZXIsIEVudGl0eUFkYXB0ZXIsIElkU2VsZWN0b3J9IGZyb20gJ0BuZ3J4L2VudGl0eS9zcmMvbW9kZWxzJztcbi8vIGhvIGNvcGlhdG8gaSBzZWd1ZW50aSB0eXBlXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvbXBhcmVyU3RyPFQ+ID0gKGE6IFQsIGI6IFQpID0+IHN0cmluZztcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29tcGFyZXI8VD4gPSAoYTogVCwgYjogVCkgPT4gbnVtYmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdG9yczxULCBWPiB7XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGEgZ3JvdXAgb2YgaWRzXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IHN0cmluZ1tdIHwgbnVtYmVyW11cbiAgICovXG4gIHNlbGVjdElkczogKHN0YXRlOiBWKSA9PiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICAvKipcbiAgICogLSB1c2VkIHRvIHNlbGVjdCBhIGdyb3VwIG9mIGVudGl0aWVzXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IERpY3Rpb25hcnk8VD5cbiAgICovXG4gIHNlbGVjdEVudGl0aWVzOiAoc3RhdGU6IFYpID0+IERpY3Rpb25hcnk8VD47XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGFsbCBpdGVtc1xuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBUW11cbiAgICovXG4gIHNlbGVjdEFsbDogKHN0YXRlOiBWKSA9PiBUW107XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IHRoZSBzdW0gb2YgaXRlbXNcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gbnVtYmVyXG4gICAqL1xuICBzZWxlY3RUb3RhbDogKHN0YXRlOiBWKSA9PiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIENydWRFbnVtIHtcbiAgU0VBUkNIID0gJ1NlYXJjaCcsXG4gIERFTEVURSA9ICdEZWxldGUnLFxuICBDUkVBVEUgPSAnQ3JlYXRlJyxcbiAgRURJVCA9ICdFZGl0JyxcbiAgU0VMRUNUID0gJ1NlbGVjdCcsXG4gIFJFU0VUID0gJ1Jlc2V0Jyxcbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uRW51bSB7XG4gIFJFU1BPTlNFID0gJ1Jlc3BvbnNlJyxcbiAgUkVRVUVTVCA9ICdSZXF1ZXN0JyxcbiAgRkFJTFVSRSA9ICdGYWlsdXJlJyxcbiAgU1VDQ0VTUyA9ICdTdWNjZXNzJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHRSZXF1ZXN0QmFzZSB7XG4gIC8qKlxuICAgKiBpcyBhZGRlZCB0byB0aGUgc2VydmljZSByb3V0ZSxcbiAgICogaW4gc29tZSBjYXNlcyBpdCBpcyBuZWNlc3NhcnkgdG8gaW52b2tlIGEgc3ViLXJvdXRlLlxuICAgKiBpZiB0aGUgc2VydmljZSB3YXMgXCJ1c2VyXCIgYW5kIHRoZSBzdWItcm91dGUgXCJ1c2VyL2FjY2VwdFwiOlxuICAgKiBwYXRoOltcImFjY2VwdFwiXVxuICAgKi9cbiAgcGF0aD86IGFueVtdO1xuICAvKipcbiAgICogRGlzcGF0Y2hlZCBhY3Rpb25zIGluIGNhc2Ugb2YgZXJyb3IuXG4gICAqL1xuICBvbkZhdWx0PzogQWN0aW9uW107XG4gIC8qKlxuICAgKiBEaXNwYXRjaGVkIGFjdGlvbnMgaW4gdGhlIGV2ZW50IG9mIGEgcG9zaXRpdmUgcmVzcG9uc2VcbiAgICovXG4gIG9uUmVzdWx0PzogQWN0aW9uW107XG5cbiAgLyoqXG4gICAqIHNlIHRydWUsIGFsIGNvbXBsZXRhbWVudG8gZGVsbGEgY2hpYW1hdGEgYXNpbmNyb25hLCB2ZXJyw6AgaW52aWF0YSB1bidhemlvbmUgZGkgdGlwbyBSZXNwb25zZSxcbiAgICogY29udGVuZW50ZSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgY2hpYW1hdGEgZSBsYSByaXNwb3N0YS5cbiAgICogSW4gcXVlc3RvIG1vZG8gc2Fyw6AgcG9zc2liaWxlIGFuYWxpenphcmUgbCdhbmRhbWVudG9cbiAgICovXG4gIGRpc3BhdGNoUmVzcG9uc2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIC0gY3JpdGVyaWE6IElDcml0ZXJpYTogY3JpdGVyaWEgZGkgcmljZXJjYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDcml0ZXJpYTxRUCA9IGFueT4gZXh0ZW5kcyBPcHRSZXF1ZXN0QmFzZSB7XG4gIC8qKlxuICAgKlxuICAgKiBcIlJFRlJFU0hcIiB0aGUgc3RvcmUgd2lsbCBiZSBkZWxldGVkIGJlZm9yZSBtYWtpbmcgdGhlIHJlbW90ZSBjYWxsLCBhbGwgdGhlIGVsZW1lbnRzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGNhbGwgcmVzdWx0LlxuICAgKlxuICAgKi9cbiAgbW9kZT86ICdSRUZSRVNIJyB8ICd1cHNlcnRNYW55JyB8ICdhZGRBbGwnO1xuXG4gIHF1ZXJ5UGFyYW1zPzogUVA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0UmVxdWVzdDxUID0gYW55PiBleHRlbmRzIE9wdFJlcXVlc3RCYXNlIHtcbiAgbXV0YXRpb25QYXJhbXM6IFQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0UmVzcG9uc2U8VD4ge1xuICBhY3Rpb25UeXBlOiBzdHJpbmc7XG4gIHJlc3BvbnNlOiBSZXNwb25zZTxUPjtcbiAgcmVxdWVzdDogSUNyaXRlcmlhIHwgT3B0UmVxdWVzdDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHRFZmZlY3Qge1xuICAvKipcbiAgICogcGVyIG9nbmkgc3RyaW5nYSBwcmVzZW50ZSBuZWxsJ2F0dHJpYnV0bywgdmVycsOgIHNwZWRpdGEgdW5hIG5vdGlmaWNhIFJlc3BvbnNlLlxuICAgKiBpbiBxdWVzdG8gbW9kbywgY2hpIGludmlhIGxhIG5vdGlmaWNhIHBvdHLDoCBwb2kgZmlsdHJhcmUgaSBkYXRpIGluIGJhc2UgYWxsYSBjaGlhdmUgaW52aWF0YS5cbiAgICovXG4gIGRpc3BhdGNoUmVzcG9uc2U/OiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFJlc3BvbnNlPFQ+IHtcbiAgZGF0YTogVCB8IGFueTtcbiAgaGFzRXJyb3I6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBGaWx0ZXJNZXRhZGF0YSB7XG4gIHZhbHVlPzogYW55O1xuICBtYXRjaE1vZGU/OiBzdHJpbmc7XG4gIHJlbmRlckZ1bmN0aW9uPzogKHZhbHVlOiBhbnkpID0+IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcnVkQmFzZVN0YXRlPFQ+IHtcbiAgZXJyb3I6IHN0cmluZztcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICBpc0xvYWRlZDogYm9vbGVhbjtcbiAgbGFzdENyaXRlcmlhOiBJQ3JpdGVyaWE7XG4gIHJlc3BvbnNlczogT3B0UmVzcG9uc2U8VD5bXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBTaW5nbGVDcnVkU3RhdGU8VD4gZXh0ZW5kcyBDcnVkQmFzZVN0YXRlPFQ+e1xuICBpdGVtOiBUXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3J1ZFN0YXRlPFQ+IGV4dGVuZHMgQ3J1ZEJhc2VTdGF0ZTxUPiwgRW50aXR5U3RhdGU8VD4ge1xuICBmaWx0ZXJzOiB7IFtzOiBzdHJpbmddOiBGaWx0ZXJNZXRhZGF0YTsgfTtcbiAgaWRzU2VsZWN0ZWQ6IHN0cmluZ1tdIHwgbnVtYmVyW107XG4gIGl0ZW1TZWxlY3RlZDogVDtcbiAgaWRTZWxlY3RlZDogc3RyaW5nIHwgbnVtYmVyO1xuICBlbnRpdGllc1NlbGVjdGVkOiBEaWN0aW9uYXJ5PFQ+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUNydWRCYXNlU2VsZWN0b3JzPFQsIFY+IHtcblxuICAvKipcbiAgICogLSB1c2VkIHRvIHNlbGVjdCBsYXN0IGNyaXRlcmlhXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IElDcml0ZXJpYVxuICAgKi9cbiAgc2VsZWN0TGFzdENyaXRlcmlhOiAoc3RhdGU6IFYpID0+IElDcml0ZXJpYTtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3QgYW4gZXJyb3JcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gc3RyaW5nXG4gICAqL1xuICBzZWxlY3RFcnJvcjogKHN0YXRlOiBWKSA9PiBzdHJpbmc7XG4gIC8qKlxuICAgKiAtIHJldHVybnMgdHJ1ZSBpZiB0aGVyZSBhcmUgY2FsbHMgaW4gcHJvZ3Jlc3NcbiAgICogQEBwYXJhbSAoc3RhdGU6IFYpID0+IGJvb2xlYW5cbiAgICovXG4gIHNlbGVjdElzTG9hZGluZzogKHN0YXRlOiBWKSA9PiBib29sZWFuO1xuICAvKipcbiAgICogLSByZXR1cm5zIHRydWUgaWYgYWxsIGNhbGxzIGFyZSBjb21wbGV0ZWRcbiAgICogQEBwYXJhbSAoc3RhdGU6IFYpID0+IGJvb2xlYW5cbiAgICovXG4gIHNlbGVjdElzTG9hZGVkOiAoc3RhdGU6IFYpID0+IGJvb2xlYW47XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IHJlc3BvbnNlIHZhcmlhYmxlIGNvbnRhaW5lZCBpbiB0aGUgZm9ybXVsYVxuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBPcHRSZXNwb25zZTxUPltdXG4gICAqL1xuICBzZWxlY3RSZXNwb25zZXM6IChzdGF0ZTogVikgPT4gT3B0UmVzcG9uc2U8VD5bXTtcblxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNpbmdsZUNydWRTZWxlY3RvcnM8VCwgVj4gZXh0ZW5kcyBFbnRpdHlDcnVkQmFzZVNlbGVjdG9yczxULCBWPiB7XG4gIHNlbGVjdEl0ZW06IChzdGF0ZTogVikgPT4gVDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlDcnVkU2VsZWN0b3JzPFQsIFY+IGV4dGVuZHMgRW50aXR5Q3J1ZEJhc2VTZWxlY3RvcnM8VCwgVj4sIEVudGl0eVNlbGVjdG9yczxULCBWPiB7XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IHNlbGVjdGVkIGlkXG4gICAqIC0gcG9wdWxhdGVkIHdpdGggYWN0aW9uIFwiLi4uU2VsZWN0ZWRJdGVtKHtpdGVtfSlcIixcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gc3RyaW5nIHwgbnVtYmVyXG4gICAqL1xuICBzZWxlY3RJZFNlbGVjdGVkOiAoc3RhdGU6IFYpID0+IHN0cmluZyB8IG51bWJlcjtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3Qgc2VsZWN0ZWQgaWRzXG4gICAqIC0gcG9wdWxhdGVkIHdpdGggYWN0aW9uIFwiLi4uU2VsZWN0ZWRJdGVtcyh7aXRlbX0pXCIsXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IHN0cmluZ1tdIHwgbnVtYmVyW11cbiAgICovXG4gIHNlbGVjdElkc1NlbGVjdGVkOiAoc3RhdGU6IFYpID0+IHN0cmluZ1tdIHwgbnVtYmVyW107XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IHNlbGVjdGVkSXRlbVxuICAgKiAtIHBvcHVsYXRlZCB3aXRoIGFjdGlvbiBcIi4uLlNlbGVjdGVkSXRlbXMoe2l0ZW19KVwiLFxuICAgKiAtIGxvY2FsIGNsb25lLCBkb2VzIG5vdCBtYXRjaCB0aGUgaW5zdGFuY2UgaW4gdGhlIHN0b3JlXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IFRcbiAgICovXG4gIHNlbGVjdEl0ZW1TZWxlY3RlZDogKHN0YXRlOiBWKSA9PiBUO1xuICAvKipcbiAgICogLSB1c2VkIHRvIHNlbGVjdCBzZWxlY3RlZCBpdGVtXG4gICAqIC0gcG9wdWxhdGVkIHdpdGggYWN0aW9uIFwiLi4uU2VsZWN0ZWRJdGVtcyh7aXRlbTp7aWQ6c3RyaW5nIC4uLn19KVwiLFxuICAgKiAtIHNhbWUgaW5zdGFuY2Ugb2YgdGhlIHN0b3JlIChzdGF0ZS5lbnRpdGllcylcbiAgICogLSB0aGUgc2VsZWN0b3IgaXMgY3JlYXRlZCB3aXRoOlxuICAgKiAgICAtIHNlbGVjdElkU2VsZWN0ZWQgKyBzZWxlY3RFbnRpdGllcyxcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gVFxuICAgKi9cbiAgc2VsZWN0SXRlbVNlbGVjdGVkT3JpZ2luOiAoc3RhdGU6IFYpID0+IFQ7XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGEgZ3JvdXAgb2Ygc2VsZWN0ZWQgaXRlbXNcbiAgICogLSBwb3B1bGF0ZWQgd2l0aCBhY3Rpb24gXCIuLi5TZWxlY3RlZEl0ZW1zKHtpdGVtfSlcIixcbiAgICogLSBsb2NhbCBjbG9uZSwgZG9lcyBub3QgbWF0Y2ggdGhlIGluc3RhbmNlIGluIHRoZSBzdG9yZVxuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBUW11cbiAgICovXG4gIHNlbGVjdEl0ZW1zU2VsZWN0ZWQ6IChzdGF0ZTogVikgPT4gVFtdO1xuXG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGEgZ3JvdXAgb2Ygc2VsZWN0ZWQgZW50aXRpZXNcbiAgICogLSBwb3B1bGF0ZWQgd2l0aCBhY3Rpb24gXCIuLi5TZWxlY3RlZEl0ZW1zKHtpdGVtfSlcIixcbiAgICogLSBsb2NhbCBjbG9uZSwgZG9lcyBub3QgbWF0Y2ggdGhlIGluc3RhbmNlIGluIHRoZSBzdG9yZVxuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBEaWN0aW9uYXJ5PFQ+XG4gICAqL1xuICBzZWxlY3RFbnRpdGllc1NlbGVjdGVkOiAoc3RhdGU6IFYpID0+IERpY3Rpb25hcnk8VD47XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGEgZ3JvdXAgb2Ygc2VsZWN0ZWQgaXRlbXNcbiAgICogLSBwb3B1bGF0ZWQgd2l0aCBhY3Rpb24gXCIuLi5TZWxlY3RlZEl0ZW1zKHtpdGVtfSlcIixcbiAgICogLSBzYW1lIGluc3RhbmNlIG9mIHRoZSBzdG9yZSAoc3RhdGUuZW50aXRpZXMpXG4gICAqICAgIC0gc2VsZWN0SWRzU2VsZWN0ZWQgKyBzZWxlY3RFbnRpdGllcyxcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gVFtdXG4gICAqL1xuICBzZWxlY3RJdGVtc1NlbGVjdGVkT3JpZ2luOiAoc3RhdGU6IFYpID0+IFRbXTtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3QgZmlsdGVyc1xuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiB7W3M6IHN0cmluZ106IEZpbHRlck1ldGFkYXRhO31cbiAgICovXG4gIHNlbGVjdEZpbHRlcnM6IChzdGF0ZTogVikgPT4geyBbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGE7IH07XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGZpbHRlcmVkIGl0ZW1zXG4gICAqIEBwYXJhbSBNZW1vaXplZFNlbGVjdG9yPFYsIFRbXT5cbiAgICovXG4gIHNlbGVjdEZpbHRlcmVkSXRlbXM6IE1lbW9pemVkU2VsZWN0b3I8ViwgVFtdPjtcblxufVxuXG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Q3J1ZEJhc2VTdGF0ZTxUPiB7XG4gIGVycm9yOiBzdHJpbmc7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaXNMb2FkZWQ6IGJvb2xlYW47XG4gIGxhc3RDcml0ZXJpYTogSUNyaXRlcmlhO1xuICAvLyBvZ25pIGVudGl0w6AgcmVnaXN0cmEgbCdhemlvbmUgc2NhdGVuYXRhIGUgbGEgcmlzcG9zdGEgZGFsIHNlcnZlci5cbiAgcmVzcG9uc2VzOiBPcHRSZXNwb25zZTxUPltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNpbmdsZUNydWRTdGF0ZTxUPiBleHRlbmRzIEVudGl0eUNydWRCYXNlU3RhdGU8VD4ge1xuICBpdGVtOiBUXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Q3J1ZFN0YXRlPFQ+IGV4dGVuZHMgRW50aXR5Q3J1ZEJhc2VTdGF0ZTxUPiwgRW50aXR5U3RhdGU8VD4ge1xuICBmaWx0ZXJzOiB7IFtzOiBzdHJpbmddOiBGaWx0ZXJNZXRhZGF0YTsgfTtcbiAgaXRlbVNlbGVjdGVkOiBUO1xuICBpZFNlbGVjdGVkOiBzdHJpbmcgfCBudW1iZXI7XG5cbiAgZW50aXRpZXNTZWxlY3RlZDogRGljdGlvbmFyeTxUPjtcblxuICBpZHNTZWxlY3RlZDogc3RyaW5nW10gfCBudW1iZXJbXTtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlDcnVkQWRhcHRlcjxUPiBleHRlbmRzIEVudGl0eUFkYXB0ZXI8VD4ge1xuICBnZXRJbml0aWFsQ3J1ZFN0YXRlKCk6IEVudGl0eUNydWRTdGF0ZTxUPjtcblxuICBnZXRJbml0aWFsQ3J1ZFN0YXRlPFMgZXh0ZW5kcyBvYmplY3Q+KHN0YXRlOiBTKTogRW50aXR5Q3J1ZFN0YXRlPFQ+ICYgUztcblxuICBnZXRDcnVkU2VsZWN0b3JzPFY+KHNlbGVjdFN0YXRlOiAoc3RhdGU6IFYpID0+IEVudGl0eUNydWRTdGF0ZTxUPik6IEVudGl0eUNydWRTZWxlY3RvcnM8VCwgVj47XG5cbiAgY3JlYXRlQ3J1ZEFjdGlvbnMobmFtZTogc3RyaW5nKTogQWN0aW9uczxUPjtcblxuICAvLyB0b2RvIG1vZGlmaWNhcmUgbGEgZmlybWEgZGVsIG1ldG9kbywgdGlwaXp6YXJlIEFjdGlvbnM8YW55PlxuICBjcmVhdGVDcnVkUmVkdWNlcjxTPihpbml0aWFsU3RhdGU6IFMsIGFjdGlvbnM6IEFjdGlvbnM8YW55Pik7XG59XG5cbmludGVyZmFjZSBQcm9wc1NlYXJjaFN1Y2Nlc3M8VD4ge1xuICBpdGVtczogVDtcbiAgcmVxdWVzdDogSUNyaXRlcmlhO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNpbmd1bGFyQWN0aW9uczxUPiB7XG4gIC8vIGF6aW9uZSBkaXNwYWNjaWF0YSBkYWxsJ2VmZmVjdCBzZTpcbiAgLy8gT3B0UmVxdWVzdEJhc2UuZGlzcGF0Y2hSZXNwb25zZSA9PT0gdHJ1ZVxuICAvLyBPcHRFZmZlY3QuZGlzcGF0Y2hSZXNwb25zZSA9PT0gdHJ1ZVxuICBSZXNwb25zZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogT3B0UmVzcG9uc2U8VCB8IFRbXT4pID0+IE9wdFJlc3BvbnNlPFQgfCBUW10+ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIFJlc2V0UmVzcG9uc2VzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKCkgPT4geyB0eXBlOiBzdHJpbmc7IH0+O1xuXG4gIC8qKlxuICAgKiAgLSBhY3Rpb24gdXNlZCB0byBleGVjdXRlIGEgcmVxdWVzdCB0byBzZWxlY3QgYW4gaXRlbVxuICAgKiBAZXhhbXBsZSBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLlNlbGVjdFJlcXVlc3QocGF5bG9hZCkpO1xuICAgKiBAcGFyYW0gaXRlbTogVFxuICAgKiBAcGFyYW0gcGF0aD86IGFueVtdXG4gICAqIEBwYXJhbSBvbkZhdWx0PzogQWN0aW9uW11cbiAgICogQHBhcmFtIG9uUmVzdWx0PzogQWN0aW9uW11cbiAgICogQHBhcmFtIGRpc3BhdGNoUmVzcG9uc2U/OiBib29sZWFuXG4gICAqL1xuICBTZWxlY3RSZXF1ZXN0OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiBJQ3JpdGVyaWEpID0+IElDcml0ZXJpYSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBTZWxlY3RGYWlsdXJlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yOiBzdHJpbmc7IH0pID0+IHsgZXJyb3I6IHN0cmluZzsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBTZWxlY3RTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW06IFQsIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSkgPT4geyBpdGVtOiBULCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuXG4gIC8qKlxuICAgKiAgLSBhY3Rpb24gdXNlZCB0byBleGVjdXRlIGEgcmVxdWVzdCB0byBtb2RpZnkgYW4gaXRlbVxuICAgKiBAZXhhbXBsZSBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLkVkaXRSZXF1ZXN0KHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGl0ZW06IFRcbiAgICogQHBhcmFtIHBhdGg/OiBhbnlbXVxuICAgKiBAcGFyYW0gb25GYXVsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBvblJlc3VsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBkaXNwYXRjaFJlc3BvbnNlPzogYm9vbGVhblxuICAgKi9cbiAgRWRpdFJlcXVlc3Q6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IE9wdFJlcXVlc3QpID0+IE9wdFJlcXVlc3QgJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRWRpdEZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3I6IHN0cmluZzsgfSkgPT4geyBlcnJvcjogc3RyaW5nOyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIEVkaXRTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW06IFQsIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSkgPT4geyBpdGVtOiBULCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICAvKipcbiAgICogLSBhY3Rpb24gdXNlZCB0byBleGVjdXRlIGEgc3RvcmUgcmVzZXRcbiAgICogQGV4YW1wbGUgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5SZXNldCgpKTtcbiAgICogQHBhcmFtIHR5cGU6IHN0cmluZ1xuICAgKi9cbiAgUmVzZXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiB7IHR5cGU6IHN0cmluZzsgfT47XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gbW9kaWZ5IGFuIGl0ZW0gb24gdGhlIHN0b3JlXG4gICAqIEBleGFtcGxlIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuRWRpdChwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtOiBUXG4gICAqL1xuICBFZGl0OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW06IFQ7IH0pID0+IHsgaXRlbTogVDsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFjdGlvbnM8VD4gZXh0ZW5kcyBTaW5ndWxhckFjdGlvbnM8VD57XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gZXhlY3V0ZSBhc3luY2hyb25vdXMgcmVzZWFyY2hlc1xuICAgKiBAZXhhbXBsZSBTdG9yZUFjdGlvbnMuU2VhcmNoUmVxdWVzdCh7cXVlcnlQYXJhbXM6IHt9fSlcbiAgICogLSBtb2RlPzogJ1JFRlJFU0gnOiBzZSB2aWVuZSBwYXNzYXRvIGlsIHZhbG9yZSBSRUZSRVNILCBpbCBkYXRvIHByZXNlbnRlIG5lbGxvIHN0b3JlIHZpZW5lIGNhbmNlbGxhdG8gcHJpbWEgZGkgZXNlZ3VpcmUgbGEgY2hpYW1hdGEsXG4gICAqICAgICAgICBhbHRyaW1lbnRpIGlsIGRhdG8gdmVycsOgIHNvc3RpdHVpdG8gYWwgcmVzdWx0IGRlbGxhIGNoaWFtYXRhXG4gICAqIEBwYXJhbSBtb2RlPzogJ1JFRlJFU0gnIHwgJ3Vwc2VydE1hbnknIHwgJ2FkZEFsbCdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zPzogYW55XG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICogQHBhcmFtIHR5cGU6IHN0cmluZ1xuICAgKlxuICAgKi9cbiAgU2VhcmNoUmVxdWVzdDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogSUNyaXRlcmlhKSA9PiBJQ3JpdGVyaWEgJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgU2VhcmNoRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgU2VhcmNoU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtczogVFtdLCByZXF1ZXN0OiBJQ3JpdGVyaWEgfSkgPT4geyBpdGVtczogVFtdLCByZXF1ZXN0OiBJQ3JpdGVyaWEgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiAtIGFjdGlvbiB1c2VkIHRvIGV4ZWN1dGUgYSByZXF1ZXN0IHRvIHJlbW92ZSBhbiBpdGVtXG4gICAqIEBleGFtcGxlIGNvbnN0IHRvU3RhdGU6IFN0YXRlID0gZmVhdHVyZVJlZHVjZXIoc3RhdGUsIGFjdGlvbnMuRGVsZXRlUmVxdWVzdChwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtOiBUXG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICovXG4gIERlbGV0ZVJlcXVlc3Q6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IE9wdFJlcXVlc3QpID0+IE9wdFJlcXVlc3QgJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRGVsZXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRGVsZXRlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nLCByZXF1ZXN0OiBPcHRSZXF1ZXN0fSkgPT4geyBpZDogc3RyaW5nLCByZXF1ZXN0OiBPcHRSZXF1ZXN0fSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiAtIGFjdGlvbiB1c2VkIHRvIGV4ZWN1dGUgYSByZXF1ZXN0IHRvIHJlbW92ZSBtb3JlIGl0ZW1zXG4gICAqIEBleGFtcGxlIHRoaXMuc3RvcmUkLmRpc3BhdGNoKDwlPSBjbGF6eiAlPlN0b3JlQWN0aW9ucy5EZWxldGVNYW55UmVxdWVzdCh7aXRlbXN9KSk7XG4gICAqIEBwYXJhbSBpdGVtczogVFtdXG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICovXG4gIERlbGV0ZU1hbnlSZXF1ZXN0OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiBPcHRSZXF1ZXN0KSA9PiBPcHRSZXF1ZXN0ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIERlbGV0ZU1hbnlGYWlsdXJlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yOiBzdHJpbmc7IH0pID0+IHsgZXJyb3I6IHN0cmluZzsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBEZWxldGVNYW55U3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZHM6IHN0cmluZ1tdLCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0pID0+IHsgaWRzOiBzdHJpbmdbXSwgcmVxdWVzdDogT3B0UmVxdWVzdCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gZXhlY3V0ZSBhIHJlcXVlc3QgdG8gY3JlYXRlIGEgbmV3IGl0ZW1cbiAgICogQGV4YW1wbGUgIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuQ3JlYXRlUmVxdWVzdChwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtOiBUXG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICovXG4gIENyZWF0ZVJlcXVlc3Q6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IE9wdFJlcXVlc3QpID0+IE9wdFJlcXVlc3QgJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgQ3JlYXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgQ3JlYXRlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtOiBULCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0pID0+IHsgaXRlbTogVCwgcmVxdWVzdDogT3B0UmVxdWVzdCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gZXhlY3V0ZSBhIHJlcXVlc3QgdG8gY3JlYXRlIG1vcmUgbmV3IGl0ZW1zXG4gICAqIEBleGFtcGxlIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuQ3JlYXRlTWFueVJlcXVlc3QocGF5bG9hZCkpO1xuICAgKiBAcGFyYW0gaXRlbXM6IFRbXVxuICAgKiBAcGFyYW0gcGF0aD86IGFueVtdXG4gICAqIEBwYXJhbSBvbkZhdWx0PzogQWN0aW9uW11cbiAgICogQHBhcmFtIG9uUmVzdWx0PzogQWN0aW9uW11cbiAgICogQHBhcmFtIGRpc3BhdGNoUmVzcG9uc2U/OiBib29sZWFuXG4gICAqL1xuICBDcmVhdGVNYW55UmVxdWVzdDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogT3B0UmVxdWVzdDxUW10gfCBUPikgPT4gT3B0UmVxdWVzdDxUW10gfCBUPiAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBDcmVhdGVNYW55RmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgQ3JlYXRlTWFueVN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaXRlbXM6IFRbXSwgcmVxdWVzdDogT3B0UmVxdWVzdCB9KSA9PiB7IGl0ZW1zOiBUW10sIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiAgLSBhY3Rpb24gdXNlZCB0byBleGVjdXRlIGEgcmVxdWVzdCB0byBtb2RpZnkgbW9yZSBpdGVtc1xuICAgKiBAZXhhbXBsZSBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLkVkaXRNYW55UmVxdWVzdChwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtczogVFtdXG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICovXG4gIEVkaXRNYW55UmVxdWVzdDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogT3B0UmVxdWVzdCkgPT4gT3B0UmVxdWVzdCAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBFZGl0TWFueUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3I6IHN0cmluZzsgfSkgPT4geyBlcnJvcjogc3RyaW5nOyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIEVkaXRNYW55U3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtczogVFtdLCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0pID0+IHsgaXRlbXM6IFRbXSwgcmVxdWVzdDogT3B0UmVxdWVzdCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gYXBwbHkgc29tZSBmaWx0ZXJzIG9uIGRhdGFcbiAgICogQGV4YW1wbGUgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5GaWx0ZXJzKHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGZpbHRlcnM6IHsgW3M6IHN0cmluZ106IEZpbHRlck1ldGFkYXRhO31cbiAgICovXG4gIEZpbHRlcnM6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZmlsdGVyczogeyBbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGE7IH07IH0pID0+IHsgZmlsdGVyczogeyBbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGE7IH07IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICAvLyBzZWxlemlvbmUgbG9jYWxlIGRpICsgZWxlbWVudGlcbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gaWRlbnRpZnkgYSBncm91cCBvZiBpdGVtcyB0byBzZWxlY3RcbiAgICogQGV4YW1wbGUgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5TZWxlY3RJdGVtcyhwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtczogVFtdXG4gICAqL1xuICBTZWxlY3RJdGVtczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtczogVFtdOyB9KSA9PiB7IGl0ZW1zOiBUW107IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgLy8gVE9ETzogZG9jXG4gIEFkZE1hbnlTZWxlY3RlZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtczogVFtdOyB9KSA9PiB7IGl0ZW1zOiBUW107IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgLy8gVE9ETzogZG9jXG4gIFJlbW92ZU1hbnlTZWxlY3RlZDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZHM6IHN0cmluZ1tdOyB9KSA9PiB7IGlkczogc3RyaW5nW107IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgLy8gVE9ETzogZG9jXG4gIFJlbW92ZUFsbFNlbGVjdGVkOiBBY3Rpb25DcmVhdG9yPHN0cmluZz47XG4gIC8qKlxuICAgKiAtIGFjdGlvbiB1c2VkIHRvIGlkZW50aWZ5IGEgc2luZ2xlIGl0ZW0gdG8gc2VsZWN0XG4gICAqIEBleGFtcGxlIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuU2VsZWN0SXRlbShwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtOiBUXG4gICAqL1xuICBTZWxlY3RJdGVtOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW06IFQ7IH0pID0+IHsgaXRlbTogVDsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiAtIGFjdGlvbiB1c2VkIHRvIGNyZWF0ZSBhbiBpdGVtIG9uIHRoZSBzdG9yZVxuICAgKiBAZXhhbXBsZSBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLkNyZWF0ZShwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtOiBUXG4gICAqL1xuICBDcmVhdGU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaXRlbTogVDsgfSkgPT4geyBpdGVtOiBUOyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gcmVtb3ZlIGFuIGl0ZW0gb24gdGhlIHN0b3JlXG4gICAqIEBleGFtcGxlIGNvbnN0IHRvU3RhdGU6IFN0YXRlID0gZmVhdHVyZVJlZHVjZXIoZXhwZWN0U3RhdGUsIGFjdGlvbnMuRGVsZXRlKHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGlkOiBzdHJpbmdcbiAgICovXG4gIERlbGV0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nOyB9KSA9PiB7IGlkOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxufVxuIl19
17
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibW9kZWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmdyeC1lbnRpdHktY3J1ZC9zcmMvbGliL21vZGVscy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUF3REEsTUFBTSxDQUFOLElBQVksUUFPWDtBQVBELFdBQVksUUFBUTtJQUNsQiw2QkFBaUIsQ0FBQTtJQUNqQiw2QkFBaUIsQ0FBQTtJQUNqQiw2QkFBaUIsQ0FBQTtJQUNqQix5QkFBYSxDQUFBO0lBQ2IsNkJBQWlCLENBQUE7SUFDakIsMkJBQWUsQ0FBQTtBQUNqQixDQUFDLEVBUFcsUUFBUSxLQUFSLFFBQVEsUUFPbkI7QUFFRCxNQUFNLENBQU4sSUFBWSxVQUtYO0FBTEQsV0FBWSxVQUFVO0lBQ3BCLG1DQUFxQixDQUFBO0lBQ3JCLGlDQUFtQixDQUFBO0lBQ25CLGlDQUFtQixDQUFBO0lBQ25CLGlDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFMVyxVQUFVLEtBQVYsVUFBVSxRQUtyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RW50aXR5QWRhcHRlciwgRW50aXR5U3RhdGV9IGZyb20gJ0BuZ3J4L2VudGl0eSc7XG5pbXBvcnQge0FjdGlvbiwgQWN0aW9uQ3JlYXRvciwgTWVtb2l6ZWRTZWxlY3Rvcn0gZnJvbSAnQG5ncngvc3RvcmUnO1xuXG4vLyBDT1BJQVRPIERBIEBuZ3J4L3N0b3JlL3NyYy9tb2RlbHNcbi8vIHNlIHZpZW5lIGltcG9ydGF0byBkYSBAbmdyeC9zdG9yZS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCBkZWNsYXJlIGludGVyZmFjZSBUeXBlZEFjdGlvbjxUIGV4dGVuZHMgc3RyaW5nPiBleHRlbmRzIEFjdGlvbiB7XG4gIHJlYWRvbmx5IHR5cGU6IFQ7XG59XG5cbi8vIENPUElBVE8gREEgQG5ncngvc3RvcmUvc3JjL21vZGVsc1xuLy8gc2UgdmllbmUgaW1wb3J0YXRvIGRhIEBuZ3J4L2VudGl0eS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCBpbnRlcmZhY2UgRGljdGlvbmFyeU51bTxUPiB7XG4gIFtpZDogbnVtYmVyXTogVCB8IHVuZGVmaW5lZDtcbn1cblxuZXhwb3J0IGRlY2xhcmUgYWJzdHJhY3QgY2xhc3MgRGljdGlvbmFyeTxUPiBpbXBsZW1lbnRzIERpY3Rpb25hcnlOdW08VD4ge1xuICBbaWQ6IHN0cmluZ106IFQgfCB1bmRlZmluZWQ7XG59XG5cbi8vIENPUElBVE8gREEgQG5ncngvc3RvcmUvc3JjL21vZGVsc1xuLy8gc2UgdmllbmUgaW1wb3J0YXRvIGRhIEBuZ3J4L2VudGl0eS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCB0eXBlIElkU2VsZWN0b3JTdHI8VD4gPSAobW9kZWw6IFQpID0+IHN0cmluZztcbmV4cG9ydCB0eXBlIElkU2VsZWN0b3JOdW08VD4gPSAobW9kZWw6IFQpID0+IG51bWJlcjtcbi8vIENPUElBVE8gREEgQG5ncngvc3RvcmUvc3JjL21vZGVsc1xuLy8gc2UgdmllbmUgaW1wb3J0YXRvIGRhIEBuZ3J4L2VudGl0eS9zcmMvbW9kZWxzLCBkYSBlcnJvcmkgbmVpIHByb2dldHRpIGRvdmUgdmllbmUgdXRpbGl6emF0by5cbmV4cG9ydCB0eXBlIElkU2VsZWN0b3I8VD4gPSBJZFNlbGVjdG9yU3RyPFQ+IHwgSWRTZWxlY3Rvck51bTxUPjtcblxuLy8gcGVyIGV2aXRhcmUgbCdpbXBvcnRhemlvbmVcbi8vIGltcG9ydCB7Q29tcGFyZXIsIEVudGl0eUFkYXB0ZXIsIElkU2VsZWN0b3J9IGZyb20gJ0BuZ3J4L2VudGl0eS9zcmMvbW9kZWxzJztcbi8vIGhvIGNvcGlhdG8gaSBzZWd1ZW50aSB0eXBlXG5leHBvcnQgZGVjbGFyZSB0eXBlIENvbXBhcmVyU3RyPFQ+ID0gKGE6IFQsIGI6IFQpID0+IHN0cmluZztcbmV4cG9ydCBkZWNsYXJlIHR5cGUgQ29tcGFyZXI8VD4gPSAoYTogVCwgYjogVCkgPT4gbnVtYmVyO1xuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eVNlbGVjdG9yczxULCBWPiB7XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGEgZ3JvdXAgb2YgaWRzXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IHN0cmluZ1tdIHwgbnVtYmVyW11cbiAgICovXG4gIHNlbGVjdElkczogKHN0YXRlOiBWKSA9PiBzdHJpbmdbXSB8IG51bWJlcltdO1xuICAvKipcbiAgICogLSB1c2VkIHRvIHNlbGVjdCBhIGdyb3VwIG9mIGVudGl0aWVzXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IERpY3Rpb25hcnk8VD5cbiAgICovXG4gIHNlbGVjdEVudGl0aWVzOiAoc3RhdGU6IFYpID0+IERpY3Rpb25hcnk8VD47XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGFsbCBpdGVtc1xuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBUW11cbiAgICovXG4gIHNlbGVjdEFsbDogKHN0YXRlOiBWKSA9PiBUW107XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IHRoZSBzdW0gb2YgaXRlbXNcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gbnVtYmVyXG4gICAqL1xuICBzZWxlY3RUb3RhbDogKHN0YXRlOiBWKSA9PiBudW1iZXI7XG59XG5cbmV4cG9ydCBlbnVtIENydWRFbnVtIHtcbiAgU0VBUkNIID0gJ1NlYXJjaCcsXG4gIERFTEVURSA9ICdEZWxldGUnLFxuICBDUkVBVEUgPSAnQ3JlYXRlJyxcbiAgRURJVCA9ICdFZGl0JyxcbiAgU0VMRUNUID0gJ1NlbGVjdCcsXG4gIFJFU0VUID0gJ1Jlc2V0Jyxcbn1cblxuZXhwb3J0IGVudW0gQWN0aW9uRW51bSB7XG4gIFJFU1BPTlNFID0gJ1Jlc3BvbnNlJyxcbiAgUkVRVUVTVCA9ICdSZXF1ZXN0JyxcbiAgRkFJTFVSRSA9ICdGYWlsdXJlJyxcbiAgU1VDQ0VTUyA9ICdTdWNjZXNzJyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBPcHRSZXF1ZXN0QmFzZSB7XG4gIC8qKlxuICAgKiBpcyBhZGRlZCB0byB0aGUgc2VydmljZSByb3V0ZSxcbiAgICogaW4gc29tZSBjYXNlcyBpdCBpcyBuZWNlc3NhcnkgdG8gaW52b2tlIGEgc3ViLXJvdXRlLlxuICAgKiBpZiB0aGUgc2VydmljZSB3YXMgXCJ1c2VyXCIgYW5kIHRoZSBzdWItcm91dGUgXCJ1c2VyL2FjY2VwdFwiOlxuICAgKiBwYXRoOltcImFjY2VwdFwiXVxuICAgKi9cbiAgcGF0aD86IGFueVtdO1xuICAvKipcbiAgICogRGlzcGF0Y2hlZCBhY3Rpb25zIGluIGNhc2Ugb2YgZXJyb3IuXG4gICAqL1xuICBvbkZhdWx0PzogQWN0aW9uW107XG4gIC8qKlxuICAgKiBEaXNwYXRjaGVkIGFjdGlvbnMgaW4gdGhlIGV2ZW50IG9mIGEgcG9zaXRpdmUgcmVzcG9uc2VcbiAgICovXG4gIG9uUmVzdWx0PzogQWN0aW9uW107XG5cbiAgLyoqXG4gICAqIHNlIHRydWUsIGFsIGNvbXBsZXRhbWVudG8gZGVsbGEgY2hpYW1hdGEgYXNpbmNyb25hLCB2ZXJyw6AgaW52aWF0YSB1bidhemlvbmUgZGkgdGlwbyBSZXNwb25zZSxcbiAgICogY29udGVuZW50ZSBsZSBpbmZvcm1hemlvbmkgc3VsbGEgY2hpYW1hdGEgZSBsYSByaXNwb3N0YS5cbiAgICogSW4gcXVlc3RvIG1vZG8gc2Fyw6AgcG9zc2liaWxlIGFuYWxpenphcmUgbCdhbmRhbWVudG9cbiAgICovXG4gIGRpc3BhdGNoUmVzcG9uc2U/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIC0gY3JpdGVyaWE6IElDcml0ZXJpYTogY3JpdGVyaWEgZGkgcmljZXJjYVxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDcml0ZXJpYTxRUCA9IGFueT4gZXh0ZW5kcyBPcHRSZXF1ZXN0QmFzZSB7XG4gIC8qKlxuICAgKlxuICAgKiBcIlJFRlJFU0hcIiB0aGUgc3RvcmUgd2lsbCBiZSBkZWxldGVkIGJlZm9yZSBtYWtpbmcgdGhlIHJlbW90ZSBjYWxsLCBhbGwgdGhlIGVsZW1lbnRzIHdpbGwgYmUgYWRkZWQgdG8gdGhlIGNhbGwgcmVzdWx0LlxuICAgKlxuICAgKi9cbiAgbW9kZT86ICdSRUZSRVNIJyB8ICd1cHNlcnRNYW55JyB8ICdhZGRBbGwnO1xuXG4gIHF1ZXJ5UGFyYW1zPzogUVA7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0UmVxdWVzdDxUID0gYW55PiBleHRlbmRzIE9wdFJlcXVlc3RCYXNlIHtcbiAgbXV0YXRpb25QYXJhbXM6IFQ7XG4gIC8qKlxuICAgKiBvcHRpb25zIG9wdGlvbmFsXG4gICAqL1xuICBvcHRpb25zPzogYW55O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE9wdFJlc3BvbnNlPFQ+IHtcbiAgYWN0aW9uVHlwZTogc3RyaW5nO1xuICByZXNwb25zZTogUmVzcG9uc2U8VD47XG4gIHJlcXVlc3Q6IElDcml0ZXJpYSB8IE9wdFJlcXVlc3Q7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgT3B0RWZmZWN0IHtcbiAgLyoqXG4gICAqIHBlciBvZ25pIHN0cmluZ2EgcHJlc2VudGUgbmVsbCdhdHRyaWJ1dG8sIHZlcnLDoCBzcGVkaXRhIHVuYSBub3RpZmljYSBSZXNwb25zZS5cbiAgICogaW4gcXVlc3RvIG1vZG8sIGNoaSBpbnZpYSBsYSBub3RpZmljYSBwb3Ryw6AgcG9pIGZpbHRyYXJlIGkgZGF0aSBpbiBiYXNlIGFsbGEgY2hpYXZlIGludmlhdGEuXG4gICAqL1xuICBkaXNwYXRjaFJlc3BvbnNlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXNwb25zZTxUPiB7XG4gIGRhdGE6IFQgfCBhbnk7XG4gIGhhc0Vycm9yOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmlsdGVyTWV0YWRhdGEge1xuICB2YWx1ZT86IGFueTtcbiAgbWF0Y2hNb2RlPzogc3RyaW5nO1xuICByZW5kZXJGdW5jdGlvbj86ICh2YWx1ZTogYW55KSA9PiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3J1ZEJhc2VTdGF0ZTxUPiB7XG4gIGVycm9yOiBzdHJpbmc7XG4gIGlzTG9hZGluZzogYm9vbGVhbjtcbiAgaXNMb2FkZWQ6IGJvb2xlYW47XG4gIGxhc3RDcml0ZXJpYTogSUNyaXRlcmlhO1xuICByZXNwb25zZXM6IE9wdFJlc3BvbnNlPFQ+W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2luZ2xlQ3J1ZFN0YXRlPFQ+IGV4dGVuZHMgQ3J1ZEJhc2VTdGF0ZTxUPiB7XG4gIGl0ZW06IFRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDcnVkU3RhdGU8VD4gZXh0ZW5kcyBDcnVkQmFzZVN0YXRlPFQ+LCBFbnRpdHlTdGF0ZTxUPiB7XG4gIGZpbHRlcnM6IHsgW3M6IHN0cmluZ106IEZpbHRlck1ldGFkYXRhOyB9O1xuICBpZHNTZWxlY3RlZDogc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgaXRlbVNlbGVjdGVkOiBUO1xuICBpZFNlbGVjdGVkOiBzdHJpbmcgfCBudW1iZXI7XG4gIGVudGl0aWVzU2VsZWN0ZWQ6IERpY3Rpb25hcnk8VD47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5Q3J1ZEJhc2VTZWxlY3RvcnM8VCwgVj4ge1xuXG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IGxhc3QgY3JpdGVyaWFcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gSUNyaXRlcmlhXG4gICAqL1xuICBzZWxlY3RMYXN0Q3JpdGVyaWE6IChzdGF0ZTogVikgPT4gSUNyaXRlcmlhO1xuICAvKipcbiAgICogLSB1c2VkIHRvIHNlbGVjdCBhbiBlcnJvclxuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBzdHJpbmdcbiAgICovXG4gIHNlbGVjdEVycm9yOiAoc3RhdGU6IFYpID0+IHN0cmluZztcbiAgLyoqXG4gICAqIC0gcmV0dXJucyB0cnVlIGlmIHRoZXJlIGFyZSBjYWxscyBpbiBwcm9ncmVzc1xuICAgKiBAQHBhcmFtIChzdGF0ZTogVikgPT4gYm9vbGVhblxuICAgKi9cbiAgc2VsZWN0SXNMb2FkaW5nOiAoc3RhdGU6IFYpID0+IGJvb2xlYW47XG4gIC8qKlxuICAgKiAtIHJldHVybnMgdHJ1ZSBpZiBhbGwgY2FsbHMgYXJlIGNvbXBsZXRlZFxuICAgKiBAQHBhcmFtIChzdGF0ZTogVikgPT4gYm9vbGVhblxuICAgKi9cbiAgc2VsZWN0SXNMb2FkZWQ6IChzdGF0ZTogVikgPT4gYm9vbGVhbjtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3QgcmVzcG9uc2UgdmFyaWFibGUgY29udGFpbmVkIGluIHRoZSBmb3JtdWxhXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IE9wdFJlc3BvbnNlPFQ+W11cbiAgICovXG4gIHNlbGVjdFJlc3BvbnNlczogKHN0YXRlOiBWKSA9PiBPcHRSZXNwb25zZTxUPltdO1xuXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U2luZ2xlQ3J1ZFNlbGVjdG9yczxULCBWPiBleHRlbmRzIEVudGl0eUNydWRCYXNlU2VsZWN0b3JzPFQsIFY+IHtcbiAgc2VsZWN0SXRlbTogKHN0YXRlOiBWKSA9PiBUO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUNydWRTZWxlY3RvcnM8VCwgVj4gZXh0ZW5kcyBFbnRpdHlDcnVkQmFzZVNlbGVjdG9yczxULCBWPiwgRW50aXR5U2VsZWN0b3JzPFQsIFY+IHtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3Qgc2VsZWN0ZWQgaWRcbiAgICogLSBwb3B1bGF0ZWQgd2l0aCBhY3Rpb24gXCIuLi5TZWxlY3RlZEl0ZW0oe2l0ZW19KVwiLFxuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBzdHJpbmcgfCBudW1iZXJcbiAgICovXG4gIHNlbGVjdElkU2VsZWN0ZWQ6IChzdGF0ZTogVikgPT4gc3RyaW5nIHwgbnVtYmVyO1xuICAvKipcbiAgICogLSB1c2VkIHRvIHNlbGVjdCBzZWxlY3RlZCBpZHNcbiAgICogLSBwb3B1bGF0ZWQgd2l0aCBhY3Rpb24gXCIuLi5TZWxlY3RlZEl0ZW1zKHtpdGVtfSlcIixcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gc3RyaW5nW10gfCBudW1iZXJbXVxuICAgKi9cbiAgc2VsZWN0SWRzU2VsZWN0ZWQ6IChzdGF0ZTogVikgPT4gc3RyaW5nW10gfCBudW1iZXJbXTtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3Qgc2VsZWN0ZWRJdGVtXG4gICAqIC0gcG9wdWxhdGVkIHdpdGggYWN0aW9uIFwiLi4uU2VsZWN0ZWRJdGVtcyh7aXRlbX0pXCIsXG4gICAqIC0gbG9jYWwgY2xvbmUsIGRvZXMgbm90IG1hdGNoIHRoZSBpbnN0YW5jZSBpbiB0aGUgc3RvcmVcbiAgICogQHBhcmFtIChzdGF0ZTogVikgPT4gVFxuICAgKi9cbiAgc2VsZWN0SXRlbVNlbGVjdGVkOiAoc3RhdGU6IFYpID0+IFQ7XG4gIC8qKlxuICAgKiAtIHVzZWQgdG8gc2VsZWN0IHNlbGVjdGVkIGl0ZW1cbiAgICogLSBwb3B1bGF0ZWQgd2l0aCBhY3Rpb24gXCIuLi5TZWxlY3RlZEl0ZW1zKHtpdGVtOntpZDpzdHJpbmcgLi4ufX0pXCIsXG4gICAqIC0gc2FtZSBpbnN0YW5jZSBvZiB0aGUgc3RvcmUgKHN0YXRlLmVudGl0aWVzKVxuICAgKiAtIHRoZSBzZWxlY3RvciBpcyBjcmVhdGVkIHdpdGg6XG4gICAqICAgIC0gc2VsZWN0SWRTZWxlY3RlZCArIHNlbGVjdEVudGl0aWVzLFxuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBUXG4gICAqL1xuICBzZWxlY3RJdGVtU2VsZWN0ZWRPcmlnaW46IChzdGF0ZTogVikgPT4gVDtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3QgYSBncm91cCBvZiBzZWxlY3RlZCBpdGVtc1xuICAgKiAtIHBvcHVsYXRlZCB3aXRoIGFjdGlvbiBcIi4uLlNlbGVjdGVkSXRlbXMoe2l0ZW19KVwiLFxuICAgKiAtIGxvY2FsIGNsb25lLCBkb2VzIG5vdCBtYXRjaCB0aGUgaW5zdGFuY2UgaW4gdGhlIHN0b3JlXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IFRbXVxuICAgKi9cbiAgc2VsZWN0SXRlbXNTZWxlY3RlZDogKHN0YXRlOiBWKSA9PiBUW107XG5cbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3QgYSBncm91cCBvZiBzZWxlY3RlZCBlbnRpdGllc1xuICAgKiAtIHBvcHVsYXRlZCB3aXRoIGFjdGlvbiBcIi4uLlNlbGVjdGVkSXRlbXMoe2l0ZW19KVwiLFxuICAgKiAtIGxvY2FsIGNsb25lLCBkb2VzIG5vdCBtYXRjaCB0aGUgaW5zdGFuY2UgaW4gdGhlIHN0b3JlXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IERpY3Rpb25hcnk8VD5cbiAgICovXG4gIHNlbGVjdEVudGl0aWVzU2VsZWN0ZWQ6IChzdGF0ZTogVikgPT4gRGljdGlvbmFyeTxUPjtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3QgYSBncm91cCBvZiBzZWxlY3RlZCBpdGVtc1xuICAgKiAtIHBvcHVsYXRlZCB3aXRoIGFjdGlvbiBcIi4uLlNlbGVjdGVkSXRlbXMoe2l0ZW19KVwiLFxuICAgKiAtIHNhbWUgaW5zdGFuY2Ugb2YgdGhlIHN0b3JlIChzdGF0ZS5lbnRpdGllcylcbiAgICogICAgLSBzZWxlY3RJZHNTZWxlY3RlZCArIHNlbGVjdEVudGl0aWVzLFxuICAgKiBAcGFyYW0gKHN0YXRlOiBWKSA9PiBUW11cbiAgICovXG4gIHNlbGVjdEl0ZW1zU2VsZWN0ZWRPcmlnaW46IChzdGF0ZTogVikgPT4gVFtdO1xuICAvKipcbiAgICogLSB1c2VkIHRvIHNlbGVjdCBmaWx0ZXJzXG4gICAqIEBwYXJhbSAoc3RhdGU6IFYpID0+IHtbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGE7fVxuICAgKi9cbiAgc2VsZWN0RmlsdGVyczogKHN0YXRlOiBWKSA9PiB7IFtzOiBzdHJpbmddOiBGaWx0ZXJNZXRhZGF0YTsgfTtcbiAgLyoqXG4gICAqIC0gdXNlZCB0byBzZWxlY3QgZmlsdGVyZWQgaXRlbXNcbiAgICogQHBhcmFtIE1lbW9pemVkU2VsZWN0b3I8ViwgVFtdPlxuICAgKi9cbiAgc2VsZWN0RmlsdGVyZWRJdGVtczogTWVtb2l6ZWRTZWxlY3RvcjxWLCBUW10+O1xuXG59XG5cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlDcnVkQmFzZVN0YXRlPFQ+IHtcbiAgZXJyb3I6IHN0cmluZztcbiAgaXNMb2FkaW5nOiBib29sZWFuO1xuICBpc0xvYWRlZDogYm9vbGVhbjtcbiAgbGFzdENyaXRlcmlhOiBJQ3JpdGVyaWE7XG4gIC8vIG9nbmkgZW50aXTDoCByZWdpc3RyYSBsJ2F6aW9uZSBzY2F0ZW5hdGEgZSBsYSByaXNwb3N0YSBkYWwgc2VydmVyLlxuICByZXNwb25zZXM6IE9wdFJlc3BvbnNlPFQ+W107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRW50aXR5U2luZ2xlQ3J1ZFN0YXRlPFQ+IGV4dGVuZHMgRW50aXR5Q3J1ZEJhc2VTdGF0ZTxUPiB7XG4gIGl0ZW06IFRcbn1cblxuZXhwb3J0IGludGVyZmFjZSBFbnRpdHlDcnVkU3RhdGU8VD4gZXh0ZW5kcyBFbnRpdHlDcnVkQmFzZVN0YXRlPFQ+LCBFbnRpdHlTdGF0ZTxUPiB7XG4gIGZpbHRlcnM6IHsgW3M6IHN0cmluZ106IEZpbHRlck1ldGFkYXRhOyB9O1xuICBpdGVtU2VsZWN0ZWQ6IFQ7XG4gIGlkU2VsZWN0ZWQ6IHN0cmluZyB8IG51bWJlcjtcblxuICBlbnRpdGllc1NlbGVjdGVkOiBEaWN0aW9uYXJ5PFQ+O1xuXG4gIGlkc1NlbGVjdGVkOiBzdHJpbmdbXSB8IG51bWJlcltdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEVudGl0eUNydWRBZGFwdGVyPFQ+IGV4dGVuZHMgRW50aXR5QWRhcHRlcjxUPiB7XG4gIGdldEluaXRpYWxDcnVkU3RhdGUoKTogRW50aXR5Q3J1ZFN0YXRlPFQ+O1xuXG4gIGdldEluaXRpYWxDcnVkU3RhdGU8UyBleHRlbmRzIG9iamVjdD4oc3RhdGU6IFMpOiBFbnRpdHlDcnVkU3RhdGU8VD4gJiBTO1xuXG4gIGdldENydWRTZWxlY3RvcnM8Vj4oc2VsZWN0U3RhdGU6IChzdGF0ZTogVikgPT4gRW50aXR5Q3J1ZFN0YXRlPFQ+KTogRW50aXR5Q3J1ZFNlbGVjdG9yczxULCBWPjtcblxuICBjcmVhdGVDcnVkQWN0aW9ucyhuYW1lOiBzdHJpbmcpOiBBY3Rpb25zPFQ+O1xuXG4gIC8vIHRvZG8gbW9kaWZpY2FyZSBsYSBmaXJtYSBkZWwgbWV0b2RvLCB0aXBpenphcmUgQWN0aW9uczxhbnk+XG4gIGNyZWF0ZUNydWRSZWR1Y2VyPFM+KGluaXRpYWxTdGF0ZTogUywgYWN0aW9uczogQWN0aW9uczxhbnk+KTtcbn1cblxuaW50ZXJmYWNlIFByb3BzU2VhcmNoU3VjY2VzczxUPiB7XG4gIGl0ZW1zOiBUO1xuICByZXF1ZXN0OiBJQ3JpdGVyaWE7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2luZ3VsYXJBY3Rpb25zPFQ+IHtcbiAgLy8gYXppb25lIGRpc3BhY2NpYXRhIGRhbGwnZWZmZWN0IHNlOlxuICAvLyBPcHRSZXF1ZXN0QmFzZS5kaXNwYXRjaFJlc3BvbnNlID09PSB0cnVlXG4gIC8vIE9wdEVmZmVjdC5kaXNwYXRjaFJlc3BvbnNlID09PSB0cnVlXG4gIFJlc3BvbnNlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiBPcHRSZXNwb25zZTxUIHwgVFtdPikgPT4gT3B0UmVzcG9uc2U8VCB8IFRbXT4gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgUmVzZXRSZXNwb25zZXM6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAoKSA9PiB7IHR5cGU6IHN0cmluZzsgfT47XG5cbiAgLyoqXG4gICAqICAtIGFjdGlvbiB1c2VkIHRvIGV4ZWN1dGUgYSByZXF1ZXN0IHRvIHNlbGVjdCBhbiBpdGVtXG4gICAqIEBleGFtcGxlIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuU2VsZWN0UmVxdWVzdChwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtOiBUXG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICovXG4gIFNlbGVjdFJlcXVlc3Q6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IElDcml0ZXJpYSkgPT4gSUNyaXRlcmlhICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIFNlbGVjdEZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3I6IHN0cmluZzsgfSkgPT4geyBlcnJvcjogc3RyaW5nOyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIFNlbGVjdFN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaXRlbTogVCwgcmVxdWVzdDogT3B0UmVxdWVzdCB9KSA9PiB7IGl0ZW06IFQsIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG5cbiAgLyoqXG4gICAqICAtIGFjdGlvbiB1c2VkIHRvIGV4ZWN1dGUgYSByZXF1ZXN0IHRvIG1vZGlmeSBhbiBpdGVtXG4gICAqIEBleGFtcGxlIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuRWRpdFJlcXVlc3QocGF5bG9hZCkpO1xuICAgKiBAcGFyYW0gaXRlbTogVFxuICAgKiBAcGFyYW0gcGF0aD86IGFueVtdXG4gICAqIEBwYXJhbSBvbkZhdWx0PzogQWN0aW9uW11cbiAgICogQHBhcmFtIG9uUmVzdWx0PzogQWN0aW9uW11cbiAgICogQHBhcmFtIGRpc3BhdGNoUmVzcG9uc2U/OiBib29sZWFuXG4gICAqL1xuICBFZGl0UmVxdWVzdDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogT3B0UmVxdWVzdCkgPT4gT3B0UmVxdWVzdCAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBFZGl0RmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRWRpdFN1Y2Nlc3M6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaXRlbTogVCwgcmVxdWVzdDogT3B0UmVxdWVzdCB9KSA9PiB7IGl0ZW06IFQsIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiAtIGFjdGlvbiB1c2VkIHRvIGV4ZWN1dGUgYSBzdG9yZSByZXNldFxuICAgKiBAZXhhbXBsZSBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLlJlc2V0KCkpO1xuICAgKiBAcGFyYW0gdHlwZTogc3RyaW5nXG4gICAqL1xuICBSZXNldDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsICgpID0+IHsgdHlwZTogc3RyaW5nOyB9PjtcblxuICAvKipcbiAgICogLSBhY3Rpb24gdXNlZCB0byBtb2RpZnkgYW4gaXRlbSBvbiB0aGUgc3RvcmVcbiAgICogQGV4YW1wbGUgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5FZGl0KHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGl0ZW06IFRcbiAgICovXG4gIEVkaXQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaXRlbTogVDsgfSkgPT4geyBpdGVtOiBUOyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aW9uczxUPiBleHRlbmRzIFNpbmd1bGFyQWN0aW9uczxUPiB7XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gZXhlY3V0ZSBhc3luY2hyb25vdXMgcmVzZWFyY2hlc1xuICAgKiBAZXhhbXBsZSBTdG9yZUFjdGlvbnMuU2VhcmNoUmVxdWVzdCh7cXVlcnlQYXJhbXM6IHt9fSlcbiAgICogLSBtb2RlPzogJ1JFRlJFU0gnOiBzZSB2aWVuZSBwYXNzYXRvIGlsIHZhbG9yZSBSRUZSRVNILCBpbCBkYXRvIHByZXNlbnRlIG5lbGxvIHN0b3JlIHZpZW5lIGNhbmNlbGxhdG8gcHJpbWEgZGkgZXNlZ3VpcmUgbGEgY2hpYW1hdGEsXG4gICAqICAgICAgICBhbHRyaW1lbnRpIGlsIGRhdG8gdmVycsOgIHNvc3RpdHVpdG8gYWwgcmVzdWx0IGRlbGxhIGNoaWFtYXRhXG4gICAqIEBwYXJhbSBtb2RlPzogJ1JFRlJFU0gnIHwgJ3Vwc2VydE1hbnknIHwgJ2FkZEFsbCdcbiAgICogQHBhcmFtIHF1ZXJ5UGFyYW1zPzogYW55XG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICogQHBhcmFtIHR5cGU6IHN0cmluZ1xuICAgKlxuICAgKi9cbiAgU2VhcmNoUmVxdWVzdDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogSUNyaXRlcmlhKSA9PiBJQ3JpdGVyaWEgJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgU2VhcmNoRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgU2VhcmNoU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtczogVFtdLCByZXF1ZXN0OiBJQ3JpdGVyaWEgfSkgPT4geyBpdGVtczogVFtdLCByZXF1ZXN0OiBJQ3JpdGVyaWEgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIC8qKlxuICAgKiAtIGFjdGlvbiB1c2VkIHRvIGV4ZWN1dGUgYSByZXF1ZXN0IHRvIHJlbW92ZSBhbiBpdGVtXG4gICAqIEBleGFtcGxlIGNvbnN0IHRvU3RhdGU6IFN0YXRlID0gZmVhdHVyZVJlZHVjZXIoc3RhdGUsIGFjdGlvbnMuRGVsZXRlUmVxdWVzdChwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtOiBUXG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICovXG4gIERlbGV0ZVJlcXVlc3Q6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IE9wdFJlcXVlc3QpID0+IE9wdFJlcXVlc3QgJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRGVsZXRlRmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRGVsZXRlU3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpZDogc3RyaW5nLCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0pID0+IHsgaWQ6IHN0cmluZywgcmVxdWVzdDogT3B0UmVxdWVzdCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gZXhlY3V0ZSBhIHJlcXVlc3QgdG8gcmVtb3ZlIG1vcmUgaXRlbXNcbiAgICogQGV4YW1wbGUgdGhpcy5zdG9yZSQuZGlzcGF0Y2goPCU9IGNsYXp6ICU+U3RvcmVBY3Rpb25zLkRlbGV0ZU1hbnlSZXF1ZXN0KHtpdGVtc30pKTtcbiAgICogQHBhcmFtIGl0ZW1zOiBUW11cbiAgICogQHBhcmFtIHBhdGg/OiBhbnlbXVxuICAgKiBAcGFyYW0gb25GYXVsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBvblJlc3VsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBkaXNwYXRjaFJlc3BvbnNlPzogYm9vbGVhblxuICAgKi9cbiAgRGVsZXRlTWFueVJlcXVlc3Q6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IE9wdFJlcXVlc3QpID0+IE9wdFJlcXVlc3QgJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRGVsZXRlTWFueUZhaWx1cmU6IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgZXJyb3I6IHN0cmluZzsgfSkgPT4geyBlcnJvcjogc3RyaW5nOyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIERlbGV0ZU1hbnlTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGlkczogc3RyaW5nW10sIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSkgPT4geyBpZHM6IHN0cmluZ1tdLCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICAvKipcbiAgICogLSBhY3Rpb24gdXNlZCB0byBleGVjdXRlIGEgcmVxdWVzdCB0byBjcmVhdGUgYSBuZXcgaXRlbVxuICAgKiBAZXhhbXBsZSAgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5DcmVhdGVSZXF1ZXN0KHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGl0ZW06IFRcbiAgICogQHBhcmFtIHBhdGg/OiBhbnlbXVxuICAgKiBAcGFyYW0gb25GYXVsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBvblJlc3VsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBkaXNwYXRjaFJlc3BvbnNlPzogYm9vbGVhblxuICAgKi9cbiAgQ3JlYXRlUmVxdWVzdDogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogT3B0UmVxdWVzdCkgPT4gT3B0UmVxdWVzdCAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBDcmVhdGVGYWlsdXJlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yOiBzdHJpbmc7IH0pID0+IHsgZXJyb3I6IHN0cmluZzsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBDcmVhdGVTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW06IFQsIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSkgPT4geyBpdGVtOiBULCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICAvKipcbiAgICogLSBhY3Rpb24gdXNlZCB0byBleGVjdXRlIGEgcmVxdWVzdCB0byBjcmVhdGUgbW9yZSBuZXcgaXRlbXNcbiAgICogQGV4YW1wbGUgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5DcmVhdGVNYW55UmVxdWVzdChwYXlsb2FkKSk7XG4gICAqIEBwYXJhbSBpdGVtczogVFtdXG4gICAqIEBwYXJhbSBwYXRoPzogYW55W11cbiAgICogQHBhcmFtIG9uRmF1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gb25SZXN1bHQ/OiBBY3Rpb25bXVxuICAgKiBAcGFyYW0gZGlzcGF0Y2hSZXNwb25zZT86IGJvb2xlYW5cbiAgICovXG4gIENyZWF0ZU1hbnlSZXF1ZXN0OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiBPcHRSZXF1ZXN0PFRbXSB8IFQ+KSA9PiBPcHRSZXF1ZXN0PFRbXSB8IFQ+ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIENyZWF0ZU1hbnlGYWlsdXJlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGVycm9yOiBzdHJpbmc7IH0pID0+IHsgZXJyb3I6IHN0cmluZzsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICBDcmVhdGVNYW55U3VjY2VzczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtczogVFtdLCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0pID0+IHsgaXRlbXM6IFRbXSwgcmVxdWVzdDogT3B0UmVxdWVzdCB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqICAtIGFjdGlvbiB1c2VkIHRvIGV4ZWN1dGUgYSByZXF1ZXN0IHRvIG1vZGlmeSBtb3JlIGl0ZW1zXG4gICAqIEBleGFtcGxlIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuRWRpdE1hbnlSZXF1ZXN0KHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGl0ZW1zOiBUW11cbiAgICogQHBhcmFtIHBhdGg/OiBhbnlbXVxuICAgKiBAcGFyYW0gb25GYXVsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBvblJlc3VsdD86IEFjdGlvbltdXG4gICAqIEBwYXJhbSBkaXNwYXRjaFJlc3BvbnNlPzogYm9vbGVhblxuICAgKi9cbiAgRWRpdE1hbnlSZXF1ZXN0OiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiBPcHRSZXF1ZXN0KSA9PiBPcHRSZXF1ZXN0ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG4gIEVkaXRNYW55RmFpbHVyZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBlcnJvcjogc3RyaW5nOyB9KSA9PiB7IGVycm9yOiBzdHJpbmc7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcbiAgRWRpdE1hbnlTdWNjZXNzOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW1zOiBUW10sIHJlcXVlc3Q6IE9wdFJlcXVlc3QgfSkgPT4geyBpdGVtczogVFtdLCByZXF1ZXN0OiBPcHRSZXF1ZXN0IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICAvKipcbiAgICogLSBhY3Rpb24gdXNlZCB0byBhcHBseSBzb21lIGZpbHRlcnMgb24gZGF0YVxuICAgKiBAZXhhbXBsZSBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLkZpbHRlcnMocGF5bG9hZCkpO1xuICAgKiBAcGFyYW0gZmlsdGVyczogeyBbczogc3RyaW5nXTogRmlsdGVyTWV0YWRhdGE7fVxuICAgKi9cbiAgRmlsdGVyczogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBmaWx0ZXJzOiB7IFtzOiBzdHJpbmddOiBGaWx0ZXJNZXRhZGF0YTsgfTsgfSkgPT4geyBmaWx0ZXJzOiB7IFtzOiBzdHJpbmddOiBGaWx0ZXJNZXRhZGF0YTsgfTsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG4gIC8vIHNlbGV6aW9uZSBsb2NhbGUgZGkgKyBlbGVtZW50aVxuICAvKipcbiAgICogLSBhY3Rpb24gdXNlZCB0byBpZGVudGlmeSBhIGdyb3VwIG9mIGl0ZW1zIHRvIHNlbGVjdFxuICAgKiBAZXhhbXBsZSBzdG9yZS5kaXNwYXRjaChhY3Rpb25zLlNlbGVjdEl0ZW1zKHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGl0ZW1zOiBUW11cbiAgICovXG4gIFNlbGVjdEl0ZW1zOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW1zOiBUW107IH0pID0+IHsgaXRlbXM6IFRbXTsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICAvLyBUT0RPOiBkb2NcbiAgQWRkTWFueVNlbGVjdGVkOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGl0ZW1zOiBUW107IH0pID0+IHsgaXRlbXM6IFRbXTsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICAvLyBUT0RPOiBkb2NcbiAgUmVtb3ZlTWFueVNlbGVjdGVkOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGlkczogc3RyaW5nW107IH0pID0+IHsgaWRzOiBzdHJpbmdbXTsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuICAvLyBUT0RPOiBkb2NcbiAgUmVtb3ZlQWxsU2VsZWN0ZWQ6IEFjdGlvbkNyZWF0b3I8c3RyaW5nPjtcbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gaWRlbnRpZnkgYSBzaW5nbGUgaXRlbSB0byBzZWxlY3RcbiAgICogQGV4YW1wbGUgc3RvcmUuZGlzcGF0Y2goYWN0aW9ucy5TZWxlY3RJdGVtKHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGl0ZW06IFRcbiAgICovXG4gIFNlbGVjdEl0ZW06IEFjdGlvbkNyZWF0b3I8c3RyaW5nLCAocHJvcHM6IHsgaXRlbTogVDsgfSkgPT4geyBpdGVtOiBUOyB9ICYgVHlwZWRBY3Rpb248c3RyaW5nPj47XG5cbiAgLyoqXG4gICAqIC0gYWN0aW9uIHVzZWQgdG8gY3JlYXRlIGFuIGl0ZW0gb24gdGhlIHN0b3JlXG4gICAqIEBleGFtcGxlIHN0b3JlLmRpc3BhdGNoKGFjdGlvbnMuQ3JlYXRlKHBheWxvYWQpKTtcbiAgICogQHBhcmFtIGl0ZW06IFRcbiAgICovXG4gIENyZWF0ZTogQWN0aW9uQ3JlYXRvcjxzdHJpbmcsIChwcm9wczogeyBpdGVtOiBUOyB9KSA9PiB7IGl0ZW06IFQ7IH0gJiBUeXBlZEFjdGlvbjxzdHJpbmc+PjtcblxuICAvKipcbiAgICogLSBhY3Rpb24gdXNlZCB0byByZW1vdmUgYW4gaXRlbSBvbiB0aGUgc3RvcmVcbiAgICogQGV4YW1wbGUgY29uc3QgdG9TdGF0ZTogU3RhdGUgPSBmZWF0dXJlUmVkdWNlcihleHBlY3RTdGF0ZSwgYWN0aW9ucy5EZWxldGUocGF5bG9hZCkpO1xuICAgKiBAcGFyYW0gaWQ6IHN0cmluZ1xuICAgKi9cbiAgRGVsZXRlOiBBY3Rpb25DcmVhdG9yPHN0cmluZywgKHByb3BzOiB7IGlkOiBzdHJpbmc7IH0pID0+IHsgaWQ6IHN0cmluZzsgfSAmIFR5cGVkQWN0aW9uPHN0cmluZz4+O1xuXG59XG4iXX0=