@squiz/dxp-ai-client
Advanced tools
Comparing version 0.2.0 to 0.3.0
# @squiz/dxp-ai-client | ||
## 0.3.0 | ||
### Minor Changes | ||
- 4eb9b21: Minor readme/documentation changes. | ||
## 0.2.0 | ||
@@ -4,0 +10,0 @@ |
@@ -232,2 +232,2 @@ "use strict"; | ||
exports.Api = Api; | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHhwQWlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlbmVyYXRlZC9EeHBBaVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeVRBLElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQix3Q0FBeUIsQ0FBQTtJQUN6QiwrQ0FBZ0MsQ0FBQTtJQUNoQywrREFBZ0QsQ0FBQTtJQUNoRCxrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsV0FBVywyQkFBWCxXQUFXLFFBS3RCO0FBRUQsTUFBYSxVQUFVO0lBQ2QsT0FBTyxHQUFXLEdBQUcsQ0FBQztJQUNyQixZQUFZLEdBQTRCLElBQUksQ0FBQztJQUM3QyxjQUFjLENBQWlEO0lBQy9ELGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO0lBQzNELFdBQVcsR0FBRyxDQUFDLEdBQUcsV0FBcUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFFbEYsYUFBYSxHQUFrQjtRQUNyQyxXQUFXLEVBQUUsYUFBYTtRQUMxQixPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLGNBQWMsRUFBRSxhQUFhO0tBQzlCLENBQUM7SUFFRixZQUFZLFlBQXlDLEVBQUU7UUFDckQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLGVBQWUsR0FBRyxDQUFDLElBQTZCLEVBQUUsRUFBRTtRQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUNoRCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxPQUFPLEdBQUcsVUFBVSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFD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SSxDQUFDLE9BQU8sQ0FBa0I7WUFDakMsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7S0FDTCxDQUFDO0NBQ0g7QUFyTUQsa0JBcU1DIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIHRzbGludDpkaXNhYmxlICovXG4vKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAjIyBUSElTIEZJTEUgV0FTIEdFTkVSQVRFRCBWSUEgU1dBR0dFUi1UWVBFU0NSSVBULUFQSSAgICAgICAgIyNcbiAqICMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjI1xuICogIyMgQVVUSE9SOiBhY2Fjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjXG4gKiAjIyBTT1VSQ0U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hY2Fjb2RlL3N3YWdnZXItdHlwZXNjcmlwdC1hcGkgIyNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmV4cG9ydCB0eXBlIEFpQXV0aFR5cGUgPSAnbm9uZScgfCAnZHhwJztcblxuZXhwb3J0IHR5cGUgQWlBdXRoVHlwZUR4cCA9ICdkeHAnO1xuXG5leHBvcnQgdHlwZSBBaVJlc3BvbnNlID0gT21pdEFpRmxvd0lkT3JUZW5hbnQ7XG5cbmV4cG9ydCB0eXBlIEFpVHlwZSA9ICdnZW5lcmF0aXZlJyB8ICdjaGF0Ym90JztcblxuZXhwb3J0IHR5cGUgQWlUeXBlQ2hhdGJvdCA9ICdjaGF0Ym90JztcblxuZXhwb3J0IHR5cGUgQWlUeXBlR2VuZXJhdGl2ZSA9ICdnZW5lcmF0aXZlJztcblxuZXhwb3J0IHR5cGUgQWlXcml0ZSA9IFBpY2tBaUF1dGhUeXBlT3JJbnN0cnVjdGlvbk9yUmVzcG9uc2VUZW1wbGF0ZU9yTmFtZU9yVHlwZU9yRW5hYmxlZCAmIHtcbiAgdGFncz86IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ2hhdEJvdFdyaXRlID0gQWlXcml0ZSAmIHtcbiAgdHlwZTogQWlUeXBlQ2hhdGJvdDtcbn07XG5cbmV4cG9ydCB0eXBlIERpcmVjdGlvbiA9ICdmb3J3YXJkcycgfCAnYmFja3dhcmRzJztcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGl2ZVdyaXRlID0gQWlXcml0ZSAmIHtcbiAgYXV0aFR5cGU6IEFpQXV0aFR5cGVEeHA7XG4gIHR5cGU6IEFpVHlwZUdlbmVyYXRpdmU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbXMge1xuICBjdXJzb3I/OiBzdHJpbmc7XG4gIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHBhZ2VTaXplPzogUGFnaW5hdGlvblBhZ2VMaW1pdDtcbiAgdGFncz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbXMyIHtcbiAgY3Vyc29yPzogc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBwYWdlU2l6ZT86IFBhZ2luYXRpb25QYWdlTGltaXQ7XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuLyoqIENvbnN0cnVjdCBhIHR5cGUgd2l0aCB0aGUgcHJvcGVydGllcyBvZiBUIGV4Y2VwdCBmb3IgdGhvc2UgaW4gdHlwZSBLLiAqL1xuZXhwb3J0IHR5cGUgT21pdEFpRmxvd0lkT3JUZW5hbnQgPSBQaWNrQWlFeGNsdWRlS2V5c0Zsb3dJZE9yVGVuYW50O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VSZXN1bHRBaVJlc3BvbnNlIHtcbiAgaXRlbXM6IEFpUmVzcG9uc2VbXTtcbiAgbGlua3M/OiB7XG4gICAgbmV4dFBhZ2U/OiBzdHJpbmc7XG4gICAgcHJldlBhZ2U/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25QYWdlTGltaXQgPSAyMCB8IDUwIHwgMTAwO1xuXG4vKiogRnJvbSBULCBwaWNrIGEgc2V0IG9mIHByb3BlcnRpZXMgd2hvc2Uga2V5cyBhcmUgaW4gdGhlIHVuaW9uIEsgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlja0FpQXV0aFR5cGVPckluc3RydWN0aW9uT3JSZXNwb25zZVRlbXBsYXRlT3JOYW1lT3JUeXBlT3JFbmFibGVkIHtcbiAgYXV0aFR5cGU6IEFpQXV0aFR5cGU7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcmVzcG9uc2VUZW1wbGF0ZTogc3RyaW5nO1xuICB0eXBlOiBBaVR5cGU7XG59XG5cbi8qKiBGcm9tIFQsIHBpY2sgYSBzZXQgb2YgcHJvcGVydGllcyB3aG9zZSBrZXlzIGFyZSBpbiB0aGUgdW5pb24gSyAqL1xuZXhwb3J0IGludGVyZmFjZSBQaWNrQWlFeGNsdWRlS2V5c0Zsb3dJZE9yVGVuYW50IHtcbiAgYXV0aFR5cGU6IEFpQXV0aFR5cGU7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG4gIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIEBmb3JtYXQgZG91YmxlICovXG4gIG5lZ2F0aXZlQ291bnQ6IG51bWJlcjtcbiAgLyoqIEBmb3JtYXQgZG91YmxlICovXG4gIG92ZXJhbGxDb3VudDogbnVtYmVyO1xuICAvKiogQGZvcm1hdCBkb3VibGUgKi9cbiAgcG9zaXRpdmVDb3VudDogbnVtYmVyO1xuICByZXNwb25zZVRlbXBsYXRlOiBzdHJpbmc7XG4gIHRhZ3M6IHN0cmluZ1tdO1xuICB0eXBlOiBBaVR5cGU7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2hhdGJvdCB7XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIENyZWF0ZVxuICAgKiBAcmVxdWVzdCBQT1NUOi9jaGF0Ym90XG4gICAqIEBzZWN1cmVcbiAgICogQHJlc3BvbnNlIGAyMDFgIGBBaVJlc3BvbnNlYCBDcmVhdGVkXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIENyZWF0ZSB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gQ2hhdEJvdFdyaXRlO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gQWlSZXNwb25zZTtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgY2hhdGJvdFxuICAgKiBAbmFtZSBEZWxldGVcbiAgICogQHJlcXVlc3QgREVMRVRFOi9jaGF0Ym90L3tpZH1cbiAgICogQHNlY3VyZVxuICAgKiBAcmVzcG9uc2UgYDIwNGAgYHZvaWRgIE5vIGNvbnRlbnRcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlIHtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gbmV2ZXI7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZUJvZHkgPSB2b2lkO1xuICB9XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIEdldFxuICAgKiBAcmVxdWVzdCBHRVQ6L2NoYXRib3Qve2lkfVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAwYCBgQWlSZXNwb25zZWAgT2tcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgR2V0IHtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gbmV2ZXI7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZUJvZHkgPSBBaVJlc3BvbnNlO1xuICB9XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIExpc3RcbiAgICogQHJlcXVlc3QgR0VUOi9jaGF0Ym90XG4gICAqIEBzZWN1cmVcbiAgICogQHJlc3BvbnNlIGAyMDBgIGBQYWdlUmVzdWx0QWlSZXNwb25zZWAgT2tcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgTGlzdCB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHtcbiAgICAgIGN1cnNvcj86IHN0cmluZztcbiAgICAgIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgcGFnZVNpemU/OiBQYWdpbmF0aW9uUGFnZUxpbWl0O1xuICAgICAgdGFncz86IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEJvZHkgPSBuZXZlcjtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlQm9keSA9IFBhZ2VSZXN1bHRBaVJlc3BvbnNlO1xuICB9XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIFVwZGF0ZVxuICAgKiBAcmVxdWVzdCBQVVQ6L2NoYXRib3Qve2lkfVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAwYCBgQWlSZXNwb25zZWAgT2tcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlIHtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gQ2hhdEJvdFdyaXRlO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gQWlSZXNwb25zZTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdlbmVyYXRpdmUge1xuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBDcmVhdGVcbiAgICogQHJlcXVlc3QgUE9TVDovZ2VuZXJhdGl2ZVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAxYCBgQWlSZXNwb25zZWAgQ3JlYXRlZFxuICAgKi9cbiAgZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGUge1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RQYXJhbXMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IEdlbmVyYXRpdmVXcml0ZTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlQm9keSA9IEFpUmVzcG9uc2U7XG4gIH1cbiAgLyoqXG4gICAqIE5vIGRlc2NyaXB0aW9uXG4gICAqIEB0YWdzIGdlbmVyYXRpdmVcbiAgICogQG5hbWUgRGVsZXRlXG4gICAqIEByZXF1ZXN0IERFTEVURTovZ2VuZXJhdGl2ZS97aWR9XG4gICAqIEBzZWN1cmVcbiAgICogQHJlc3BvbnNlIGAyMDRgIGB2b2lkYCBObyBjb250ZW50XG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIERlbGV0ZSB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IG5ldmVyO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gdm9pZDtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBHZXRcbiAgICogQHJlcXVlc3QgR0VUOi9nZW5lcmF0aXZlL3tpZH1cbiAgICogQHNlY3VyZVxuICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIEdldCB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IG5ldmVyO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gQWlSZXNwb25zZTtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBMaXN0XG4gICAqIEByZXF1ZXN0IEdFVDovZ2VuZXJhdGl2ZVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAwYCBgUGFnZVJlc3VsdEFpUmVzcG9uc2VgIE9rXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIExpc3Qge1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RQYXJhbXMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7XG4gICAgICBjdXJzb3I/OiBzdHJpbmc7XG4gICAgICBkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG4gICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgIHBhZ2VTaXplPzogUGFnaW5hdGlvblBhZ2VMaW1pdDtcbiAgICAgIHRhZ3M/OiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gbmV2ZXI7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZUJvZHkgPSBQYWdlUmVzdWx0QWlSZXNwb25zZTtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBVcGRhdGVcbiAgICogQHJlcXVlc3QgUFVUOi9nZW5lcmF0aXZlL3tpZH1cbiAgICogQHNlY3VyZVxuICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIFVwZGF0ZSB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IEdlbmVyYXRpdmVXcml0ZTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlQm9keSA9IEFpUmVzcG9uc2U7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUXVlcnlQYXJhbXNUeXBlID0gUmVjb3JkPHN0cmluZyB8IG51bWJlciwgYW55PjtcbmV4cG9ydCB0eXBlIFJlc3BvbnNlRm9ybWF0ID0ga2V5b2YgT21pdDxCb2R5LCAnYm9keScgfCAnYm9keVVzZWQnPjtcblxuZXhwb3J0IGludGVyZmFjZSBGdWxsUmVxdWVzdFBhcmFtcyBleHRlbmRzIE9taXQ8UmVxdWVzdEluaXQsICdib2R5Jz4ge1xuICAvKiogc2V0IHBhcmFtZXRlciB0byBgdHJ1ZWAgZm9yIGNhbGwgYHNlY3VyaXR5V29ya2VyYCBmb3IgdGhpcyByZXF1ZXN0ICovXG4gIHNlY3VyZT86IGJvb2xlYW47XG4gIC8qKiByZXF1ZXN0IHBhdGggKi9cbiAgcGF0aDogc3RyaW5nO1xuICAvKiogY29udGVudCB0eXBlIG9mIHJlcXVlc3QgYm9keSAqL1xuICB0eXBlPzogQ29udGVudFR5cGU7XG4gIC8qKiBxdWVyeSBwYXJhbXMgKi9cbiAgcXVlcnk/OiBRdWVyeVBhcmFtc1R5cGU7XG4gIC8qKiBmb3JtYXQgb2YgcmVzcG9uc2UgKGkuZS4gcmVzcG9uc2UuanNvbigpIC0+IGZvcm1hdDogXCJqc29uXCIpICovXG4gIGZvcm1hdD86IFJlc3BvbnNlRm9ybWF0O1xuICAvKiogcmVxdWVzdCBib2R5ICovXG4gIGJvZHk/OiB1bmtub3duO1xuICAvKiogYmFzZSB1cmwgKi9cbiAgYmFzZVVybD86IHN0cmluZztcbiAgLyoqIHJlcXVlc3QgY2FuY2VsbGF0aW9uIHRva2VuICovXG4gIGNhbmNlbFRva2VuPzogQ2FuY2VsVG9rZW47XG59XG5cbmV4cG9ydCB0eXBlIFJlcXVlc3RQYXJhbXMgPSBPbWl0PEZ1bGxSZXF1ZXN0UGFyYW1zLCAnYm9keScgfCAnbWV0aG9kJyB8ICdxdWVyeScgfCAncGF0aCc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwaUNvbmZpZzxTZWN1cml0eURhdGFUeXBlID0gdW5rbm93bj4ge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBiYXNlQXBpUGFyYW1zPzogT21pdDxSZXF1ZXN0UGFyYW1zLCAnYmFzZVVybCcgfCAnY2FuY2VsVG9rZW4nIHwgJ3NpZ25hbCc+O1xuICBzZWN1cml0eVdvcmtlcj86IChzZWN1cml0eURhdGE6IFNlY3VyaXR5RGF0YVR5cGUgfCBudWxsKSA9PiBQcm9taXNlPFJlcXVlc3RQYXJhbXMgfCB2b2lkPiB8IFJlcXVlc3RQYXJhbXMgfCB2b2lkO1xuICBjdXN0b21GZXRjaD86IHR5cGVvZiBmZXRjaDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwUmVzcG9uc2U8RCBleHRlbmRzIHVua25vd24sIEUgZXh0ZW5kcyB1bmtub3duID0gdW5rbm93bj4gZXh0ZW5kcyBSZXNwb25zZSB7XG4gIGRhdGE6IEQ7XG4gIGVycm9yOiBFO1xufVxuXG50eXBlIENhbmNlbFRva2VuID0gU3ltYm9sIHwgc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgZW51bSBDb250ZW50VHlwZSB7XG4gIEpzb24gPSAnYXBwbGljYXRpb24vanNvbicsXG4gIEZvcm1EYXRhID0gJ211bHRpcGFydC9mb3JtLWRhdGEnLFxuICBVcmxFbmNvZGVkID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gIFRleHQgPSAndGV4dC9wbGFpbicsXG59XG5cbmV4cG9ydCBjbGFzcyBIdHRwQ2xpZW50PFNlY3VyaXR5RGF0YVR5cGUgPSB1bmtub3duPiB7XG4gIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcgPSAnLyc7XG4gIHByaXZhdGUgc2VjdXJpdHlEYXRhOiBTZWN1cml0eURhdGFUeXBlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgc2VjdXJpdHlXb3JrZXI/OiBBcGlDb25maWc8U2VjdXJpdHlEYXRhVHlwZT5bJ3NlY3VyaXR5V29ya2VyJ107XG4gIHByaXZhdGUgYWJvcnRDb250cm9sbGVycyA9IG5ldyBNYXA8Q2FuY2VsVG9rZW4sIEFib3J0Q29udHJvbGxlcj4oKTtcbiAgcHJpdmF0ZSBjdXN0b21GZXRjaCA9ICguLi5mZXRjaFBhcmFtczogUGFyYW1ldGVyczx0eXBlb2YgZmV0Y2g+KSA9PiBmZXRjaCguLi5mZXRjaFBhcmFtcyk7XG5cbiAgcHJpdmF0ZSBiYXNlQXBpUGFyYW1zOiBSZXF1ZXN0UGFyYW1zID0ge1xuICAgIGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nLFxuICAgIGhlYWRlcnM6IHt9LFxuICAgIHJlZGlyZWN0OiAnZm9sbG93JyxcbiAgICByZWZlcnJlclBvbGljeTogJ25vLXJlZmVycmVyJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihhcGlDb25maWc6IEFwaUNvbmZpZzxTZWN1cml0eURhdGFUeXBlPiA9IHt9KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBhcGlDb25maWcpO1xuICB9XG5cbiAgcHVibGljIHNldFNlY3VyaXR5RGF0YSA9IChkYXRhOiBTZWN1cml0eURhdGFUeXBlIHwgbnVsbCkgPT4ge1xuICAgIHRoaXMuc2VjdXJpdHlEYXRhID0gZGF0YTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZW5jb2RlUXVlcnlQYXJhbShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGVuY29kZWRLZXkgPSBlbmNvZGVVUklDb21wb25lbnQoa2V5KTtcbiAgICByZXR1cm4gYCR7ZW5jb2RlZEtleX09JHtlbmNvZGVVUklDb21wb25lbnQodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogYCR7dmFsdWV9YCl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRRdWVyeVBhcmFtKHF1ZXJ5OiBRdWVyeVBhcmFtc1R5cGUsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5jb2RlUXVlcnlQYXJhbShrZXksIHF1ZXJ5W2tleV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZEFycmF5UXVlcnlQYXJhbShxdWVyeTogUXVlcnlQYXJhbXNUeXBlLCBrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gcXVlcnlba2V5XTtcbiAgICByZXR1cm4gdmFsdWUubWFwKCh2OiBhbnkpID0+IHRoaXMuZW5jb2RlUXVlcnlQYXJhbShrZXksIHYpKS5qb2luKCcmJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9RdWVyeVN0cmluZyhyYXdRdWVyeT86IFF1ZXJ5UGFyYW1zVHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcXVlcnkgPSByYXdRdWVyeSB8fCB7fTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocXVlcnkpLmZpbHRlcigoa2V5KSA9PiAndW5kZWZpbmVkJyAhPT0gdHlwZW9mIHF1ZXJ5W2tleV0pO1xuICAgIHJldHVybiBrZXlzXG4gICAgICAubWFwKChrZXkpID0+IChBcnJheS5pc0FycmF5KHF1ZXJ5W2tleV0pID8gdGhpcy5hZGRBcnJheVF1ZXJ5UGFyYW0ocXVlcnksIGtleSkgOiB0aGlzLmFkZFF1ZXJ5UGFyYW0ocXVlcnksIGtleSkpKVxuICAgICAgLmpvaW4oJyYnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRRdWVyeVBhcmFtcyhyYXdRdWVyeT86IFF1ZXJ5UGFyYW1zVHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSB0aGlzLnRvUXVlcnlTdHJpbmcocmF3UXVlcnkpO1xuICAgIHJldHVybiBxdWVyeVN0cmluZyA/IGA/JHtxdWVyeVN0cmluZ31gIDogJyc7XG4gIH1cblxuICBwcml2YXRlIGNvbnRlbnRGb3JtYXR0ZXJzOiBSZWNvcmQ8Q29udGVudFR5cGUsIChpbnB1dDogYW55KSA9PiBhbnk+ID0ge1xuICAgIFtDb250ZW50VHlwZS5Kc29uXTogKGlucHV0OiBhbnkpID0+XG4gICAgICBpbnB1dCAhPT0gbnVsbCAmJiAodHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyB8fCB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSA/IEpTT04uc3RyaW5naWZ5KGlucHV0KSA6IGlucHV0LFxuICAgIFtDb250ZW50VHlwZS5UZXh0XTogKGlucHV0OiBhbnkpID0+IChpbnB1dCAhPT0gbnVsbCAmJiB0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnID8gSlNPTi5zdHJpbmdpZnkoaW5wdXQpIDogaW5wdXQpLFxuICAgIFtDb250ZW50VHlwZS5Gb3JtRGF0YV06IChpbnB1dDogYW55KSA9PlxuICAgICAgT2JqZWN0LmtleXMoaW5wdXQgfHwge30pLnJlZHVjZSgoZm9ybURhdGEsIGtleSkgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IGlucHV0W2tleV07XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgcHJvcGVydHkgaW5zdGFuY2VvZiBCbG9iXG4gICAgICAgICAgICA/IHByb3BlcnR5XG4gICAgICAgICAgICA6IHR5cGVvZiBwcm9wZXJ0eSA9PT0gJ29iamVjdCcgJiYgcHJvcGVydHkgIT09IG51bGxcbiAgICAgICAgICAgID8gSlNPTi5zdHJpbmdpZnkocHJvcGVydHkpXG4gICAgICAgICAgICA6IGAke3Byb3BlcnR5fWAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBmb3JtRGF0YTtcbiAgICAgIH0sIG5ldyBGb3JtRGF0YSgpKSxcbiAgICBbQ29udGVudFR5cGUuVXJsRW5jb2RlZF06IChpbnB1dDogYW55KSA9PiB0aGlzLnRvUXVlcnlTdHJpbmcoaW5wdXQpLFxuICB9O1xuXG4gIHByb3RlY3RlZCBtZXJnZVJlcXVlc3RQYXJhbXMocGFyYW1zMTogUmVxdWVzdFBhcmFtcywgcGFyYW1zMj86IFJlcXVlc3RQYXJhbXMpOiBSZXF1ZXN0UGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5iYXNlQXBpUGFyYW1zLFxuICAgICAgLi4ucGFyYW1zMSxcbiAgICAgIC4uLihwYXJhbXMyIHx8IHt9KSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uKHRoaXMuYmFzZUFwaVBhcmFtcy5oZWFkZXJzIHx8IHt9KSxcbiAgICAgICAgLi4uKHBhcmFtczEuaGVhZGVycyB8fCB7fSksXG4gICAgICAgIC4uLigocGFyYW1zMiAmJiBwYXJhbXMyLmhlYWRlcnMpIHx8IHt9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVBYm9ydFNpZ25hbCA9IChjYW5jZWxUb2tlbjogQ2FuY2VsVG9rZW4pOiBBYm9ydFNpZ25hbCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHRoaXMuYWJvcnRDb250cm9sbGVycy5oYXMoY2FuY2VsVG9rZW4pKSB7XG4gICAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSB0aGlzLmFib3J0Q29udHJvbGxlcnMuZ2V0KGNhbmNlbFRva2VuKTtcbiAgICAgIGlmIChhYm9ydENvbnRyb2xsZXIpIHtcbiAgICAgICAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlcnMuc2V0KGNhbmNlbFRva2VuLCBhYm9ydENvbnRyb2xsZXIpO1xuICAgIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICB9O1xuXG4gIHB1YmxpYyBhYm9ydFJlcXVlc3QgPSAoY2FuY2VsVG9rZW46IENhbmNlbFRva2VuKSA9PiB7XG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gdGhpcy5hYm9ydENvbnRyb2xsZXJzLmdldChjYW5jZWxUb2tlbik7XG5cbiAgICBpZiAoYWJvcnRDb250cm9sbGVyKSB7XG4gICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVycy5kZWxldGUoY2FuY2VsVG9rZW4pO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgcmVxdWVzdCA9IGFzeW5jIDxUID0gYW55LCBFID0gYW55Pih7XG4gICAgYm9keSxcbiAgICBzZWN1cmUsXG4gICAgcGF0aCxcbiAgICB0eXBlLFxuICAgIHF1ZXJ5LFxuICAgIGZvcm1hdCxcbiAgICBiYXNlVXJsLFxuICAgIGNhbmNlbFRva2VuLFxuICAgIC4uLnBhcmFtc1xuICB9OiBGdWxsUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8VD4gPT4ge1xuICAgIGNvbnN0IHNlY3VyZVBhcmFtcyA9XG4gICAgICAoKHR5cGVvZiBzZWN1cmUgPT09ICdib29sZWFuJyA/IHNlY3VyZSA6IHRoaXMuYmFzZUFwaVBhcmFtcy5zZWN1cmUpICYmXG4gICAgICAgIHRoaXMuc2VjdXJpdHlXb3JrZXIgJiZcbiAgICAgICAgKGF3YWl0IHRoaXMuc2VjdXJpdHlXb3JrZXIodGhpcy5zZWN1cml0eURhdGEpKSkgfHxcbiAgICAgIHt9O1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLm1lcmdlUmVxdWVzdFBhcmFtcyhwYXJhbXMsIHNlY3VyZVBhcmFtcyk7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBxdWVyeSAmJiB0aGlzLnRvUXVlcnlTdHJpbmcocXVlcnkpO1xuICAgIGNvbnN0IHBheWxvYWRGb3JtYXR0ZXIgPSB0aGlzLmNvbnRlbnRGb3JtYXR0ZXJzW3R5cGUgfHwgQ29udGVudFR5cGUuSnNvbl07XG4gICAgY29uc3QgcmVzcG9uc2VGb3JtYXQgPSBmb3JtYXQgfHwgcmVxdWVzdFBhcmFtcy5mb3JtYXQ7XG5cbiAgICByZXR1cm4gdGhpcy5jdXN0b21GZXRjaChgJHtiYXNlVXJsIHx8IHRoaXMuYmFzZVVybCB8fCAnJ30ke3BhdGh9JHtxdWVyeVN0cmluZyA/IGA/JHtxdWVyeVN0cmluZ31gIDogJyd9YCwge1xuICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uKHJlcXVlc3RQYXJhbXMuaGVhZGVycyB8fCB7fSksXG4gICAgICAgIC4uLih0eXBlICYmIHR5cGUgIT09IENvbnRlbnRUeXBlLkZvcm1EYXRhID8geyAnQ29udGVudC1UeXBlJzogdHlwZSB9IDoge30pLFxuICAgICAgfSxcbiAgICAgIHNpZ25hbDogKGNhbmNlbFRva2VuID8gdGhpcy5jcmVhdGVBYm9ydFNpZ25hbChjYW5jZWxUb2tlbikgOiByZXF1ZXN0UGFyYW1zLnNpZ25hbCkgfHwgbnVsbCxcbiAgICAgIGJvZHk6IHR5cGVvZiBib2R5ID09PSAndW5kZWZpbmVkJyB8fCBib2R5ID09PSBudWxsID8gbnVsbCA6IHBheWxvYWRGb3JtYXR0ZXIoYm9keSksXG4gICAgfSkudGhlbihhc3luYyAocmVzcG9uc2UpID0+IHtcbiAgICAgIGNvbnN0IHIgPSByZXNwb25zZSBhcyBIdHRwUmVzcG9uc2U8VCwgRT47XG4gICAgICByLmRhdGEgPSBudWxsIGFzIHVua25vd24gYXMgVDtcbiAgICAgIHIuZXJyb3IgPSBudWxsIGFzIHVua25vd24gYXMgRTtcblxuICAgICAgY29uc3QgZGF0YSA9ICFyZXNwb25zZUZvcm1hdFxuICAgICAgICA/IHJcbiAgICAgICAgOiBhd2FpdCByZXNwb25zZVtyZXNwb25zZUZvcm1hdF0oKVxuICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHIub2spIHtcbiAgICAgICAgICAgICAgICByLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHIuZXJyb3IgPSBkYXRhO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICByLmVycm9yID0gZTtcbiAgICAgICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKGNhbmNlbFRva2VuKSB7XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVycy5kZWxldGUoY2FuY2VsVG9rZW4pO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBkYXRhO1xuICAgICAgcmV0dXJuIGRhdGEuZGF0YTtcbiAgICB9KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAdGl0bGUgQHNxdWl6L2FpLXNlcnZpY2VcbiAqIEB2ZXJzaW9uIDAuMi41XG4gKiBAbGljZW5zZSBJU0NcbiAqIEBiYXNlVXJsIC9cbiAqIEBjb250YWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBBcGk8U2VjdXJpdHlEYXRhVHlwZSBleHRlbmRzIHVua25vd24+IHtcbiAgaHR0cDogSHR0cENsaWVudDxTZWN1cml0eURhdGFUeXBlPjtcblxuICBjb25zdHJ1Y3RvcihodHRwOiBIdHRwQ2xpZW50PFNlY3VyaXR5RGF0YVR5cGU+KSB7XG4gICAgdGhpcy5odHRwID0gaHR0cDtcbiAgfVxuXG4gIGNoYXRib3QgPSB7XG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBDcmVhdGVcbiAgICAgKiBAcmVxdWVzdCBQT1NUOi9jaGF0Ym90XG4gICAgICogQHNlY3VyZVxuICAgICAqIEByZXNwb25zZSBgMjAxYCBgQWlSZXNwb25zZWAgQ3JlYXRlZFxuICAgICAqL1xuICAgIGNyZWF0ZTogKGRhdGE6IENoYXRCb3RXcml0ZSwgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zID0ge30pID0+XG4gICAgICB0aGlzLmh0dHAucmVxdWVzdDxBaVJlc3BvbnNlLCBhbnk+KHtcbiAgICAgICAgcGF0aDogYC9jaGF0Ym90YCxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IGRhdGEsXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgdHlwZTogQ29udGVudFR5cGUuSnNvbixcbiAgICAgICAgZm9ybWF0OiAnanNvbicsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBEZWxldGVcbiAgICAgKiBAcmVxdWVzdCBERUxFVEU6L2NoYXRib3Qve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwNGAgYHZvaWRgIE5vIGNvbnRlbnRcbiAgICAgKi9cbiAgICBkZWxldGU6IChpZDogc3RyaW5nLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PHZvaWQsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2NoYXRib3QvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBHZXRcbiAgICAgKiBAcmVxdWVzdCBHRVQ6L2NoYXRib3Qve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAgICovXG4gICAgZ2V0OiAoaWQ6IHN0cmluZywgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zID0ge30pID0+XG4gICAgICB0aGlzLmh0dHAucmVxdWVzdDxBaVJlc3BvbnNlLCBhbnk+KHtcbiAgICAgICAgcGF0aDogYC9jaGF0Ym90LyR7aWR9YCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgc2VjdXJlOiB0cnVlLFxuICAgICAgICBmb3JtYXQ6ICdqc29uJyxcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgY2hhdGJvdFxuICAgICAqIEBuYW1lIExpc3RcbiAgICAgKiBAcmVxdWVzdCBHRVQ6L2NoYXRib3RcbiAgICAgKiBAc2VjdXJlXG4gICAgICogQHJlc3BvbnNlIGAyMDBgIGBQYWdlUmVzdWx0QWlSZXNwb25zZWAgT2tcbiAgICAgKi9cbiAgICBsaXN0OiAocXVlcnk6IExpc3RQYXJhbXMsIHBhcmFtczogUmVxdWVzdFBhcmFtcyA9IHt9KSA9PlxuICAgICAgdGhpcy5odHRwLnJlcXVlc3Q8UGFnZVJlc3VsdEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2NoYXRib3RgLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBxdWVyeTogcXVlcnksXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgZm9ybWF0OiAnanNvbicsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBVcGRhdGVcbiAgICAgKiBAcmVxdWVzdCBQVVQ6L2NoYXRib3Qve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAgICovXG4gICAgdXBkYXRlOiAoaWQ6IHN0cmluZywgZGF0YTogQ2hhdEJvdFdyaXRlLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2NoYXRib3QvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgICBib2R5OiBkYXRhLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIHR5cGU6IENvbnRlbnRUeXBlLkpzb24sXG4gICAgICAgIGZvcm1hdDogJ2pzb24nLFxuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICB9KSxcbiAgfTtcbiAgZ2VuZXJhdGl2ZSA9IHtcbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgICAqIEBuYW1lIENyZWF0ZVxuICAgICAqIEByZXF1ZXN0IFBPU1Q6L2dlbmVyYXRpdmVcbiAgICAgKiBAc2VjdXJlXG4gICAgICogQHJlc3BvbnNlIGAyMDFgIGBBaVJlc3BvbnNlYCBDcmVhdGVkXG4gICAgICovXG4gICAgY3JlYXRlOiAoZGF0YTogR2VuZXJhdGl2ZVdyaXRlLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmVgLFxuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keTogZGF0YSxcbiAgICAgICAgc2VjdXJlOiB0cnVlLFxuICAgICAgICB0eXBlOiBDb250ZW50VHlwZS5Kc29uLFxuICAgICAgICBmb3JtYXQ6ICdqc29uJyxcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgICAqIEBuYW1lIERlbGV0ZVxuICAgICAqIEByZXF1ZXN0IERFTEVURTovZ2VuZXJhdGl2ZS97aWR9XG4gICAgICogQHNlY3VyZVxuICAgICAqIEByZXNwb25zZSBgMjA0YCBgdm9pZGAgTm8gY29udGVudFxuICAgICAqL1xuICAgIGRlbGV0ZTogKGlkOiBzdHJpbmcsIHBhcmFtczogUmVxdWVzdFBhcmFtcyA9IHt9KSA9PlxuICAgICAgdGhpcy5odHRwLnJlcXVlc3Q8dm9pZCwgYW55Pih7XG4gICAgICAgIHBhdGg6IGAvZ2VuZXJhdGl2ZS8ke2lkfWAsXG4gICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgICAqIEBuYW1lIEdldFxuICAgICAqIEByZXF1ZXN0IEdFVDovZ2VuZXJhdGl2ZS97aWR9XG4gICAgICogQHNlY3VyZVxuICAgICAqIEByZXNwb25zZSBgMjAwYCBgQWlSZXNwb25zZWAgT2tcbiAgICAgKi9cbiAgICBnZXQ6IChpZDogc3RyaW5nLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmUvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIGZvcm1hdDogJ2pzb24nLFxuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICB9KSxcblxuICAgIC8qKlxuICAgICAqIE5vIGRlc2NyaXB0aW9uXG4gICAgICpcbiAgICAgKiBAdGFncyBnZW5lcmF0aXZlXG4gICAgICogQG5hbWUgTGlzdFxuICAgICAqIEByZXF1ZXN0IEdFVDovZ2VuZXJhdGl2ZVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYFBhZ2VSZXN1bHRBaVJlc3BvbnNlYCBPa1xuICAgICAqL1xuICAgIGxpc3Q6IChxdWVyeTogTGlzdFBhcmFtczIsIHBhcmFtczogUmVxdWVzdFBhcmFtcyA9IHt9KSA9PlxuICAgICAgdGhpcy5odHRwLnJlcXVlc3Q8UGFnZVJlc3VsdEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmVgLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBxdWVyeTogcXVlcnksXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgZm9ybWF0OiAnanNvbicsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGdlbmVyYXRpdmVcbiAgICAgKiBAbmFtZSBVcGRhdGVcbiAgICAgKiBAcmVxdWVzdCBQVVQ6L2dlbmVyYXRpdmUve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAgICovXG4gICAgdXBkYXRlOiAoaWQ6IHN0cmluZywgZGF0YTogR2VuZXJhdGl2ZVdyaXRlLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmUvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgICBib2R5OiBkYXRhLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIHR5cGU6IENvbnRlbnRUeXBlLkpzb24sXG4gICAgICAgIGZvcm1hdDogJ2pzb24nLFxuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICB9KSxcbiAgfTtcbn1cbiJdfQ== | ||
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRHhwQWlTZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2dlbmVyYXRlZC9EeHBBaVNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7O0FBeVRBLElBQVksV0FLWDtBQUxELFdBQVksV0FBVztJQUNyQix3Q0FBeUIsQ0FBQTtJQUN6QiwrQ0FBZ0MsQ0FBQTtJQUNoQywrREFBZ0QsQ0FBQTtJQUNoRCxrQ0FBbUIsQ0FBQTtBQUNyQixDQUFDLEVBTFcsV0FBVywyQkFBWCxXQUFXLFFBS3RCO0FBRUQsTUFBYSxVQUFVO0lBQ2QsT0FBTyxHQUFXLEdBQUcsQ0FBQztJQUNyQixZQUFZLEdBQTRCLElBQUksQ0FBQztJQUM3QyxjQUFjLENBQWlEO0lBQy9ELGdCQUFnQixHQUFHLElBQUksR0FBRyxFQUFnQyxDQUFDO0lBQzNELFdBQVcsR0FBRyxDQUFDLEdBQUcsV0FBcUMsRUFBRSxFQUFFLENBQUMsS0FBSyxDQUFDLEdBQUcsV0FBVyxDQUFDLENBQUM7SUFFbEYsYUFBYSxHQUFrQjtRQUNyQyxXQUFXLEVBQUUsYUFBYTtRQUMxQixPQUFPLEVBQUUsRUFBRTtRQUNYLFFBQVEsRUFBRSxRQUFRO1FBQ2xCLGNBQWMsRUFBRSxhQUFhO0tBQzlCLENBQUM7SUFFRixZQUFZLFlBQXlDLEVBQUU7UUFDckQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUUsU0FBUyxDQUFDLENBQUM7SUFDakMsQ0FBQztJQUVNLGVBQWUsR0FBRyxDQUFDLElBQTZCLEVBQUUsRUFBRTtRQUN6RCxJQUFJLENBQUMsWUFBWSxHQUFHLElBQUksQ0FBQztJQUMzQixDQUFDLENBQUM7SUFFUSxnQkFBZ0IsQ0FBQyxHQUFXLEVBQUUsS0FBVTtRQUNoRCxNQUFNLFVBQVUsR0FBRyxrQkFBa0IsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMzQyxPQUFPLEdBQUcsVUFBVSxJQUFJLGtCQUFrQixDQUFDLE9BQU8sS0FBSyxLQUFLLFFBQVEsQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxHQUFHLEtBQUssRUFBRSxDQUFDLEVBQUUsQ0FBQztJQUMvRixDQUFDO0lBRVMsYUFBYSxDQUFDLEtBQXNCLEVBQUUsR0FBVztRQUN6RCxPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDaEQsQ0FBQztJQUVTLGtCQUFrQixDQUFDLEtBQXNCLEVBQUUsR0FBVztRQUM5RCxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDekIsT0FBTyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hFLENBQUM7SUFFUyxhQUFhLENBQUMsUUFBMEI7UUFDaEQsTUFBTSxLQUFLLEdBQUcsUUFBUSxJQUFJLEVBQUUsQ0FBQztRQUM3QixNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsV0FBVyxLQUFLLE9BQU8sS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7UUFDbkYsT0FBTyxJQUFJO2FBQ1IsR0FBRyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxLQUFLLEVBQUUsR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7YUFDaEgsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ2YsQ0FBQztJQUVTLGNBQWMsQ0FBQyxRQUEwQjtRQUNqRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLFFBQVEsQ0FBQyxDQUFDO1FBQ2pELE9BQU8sV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUM7SUFDOUMsQ0FBQztJQUVPLGlCQUFpQixHQUE2QztRQUNwRSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ2pDLEtBQUssS0FBSyxJQUFJLElBQUksQ0FBQyxPQUFPLEtBQUssS0FBSyxRQUFRLElBQUksT0FBTyxLQUFLLEtBQUssUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUs7UUFDNUcsQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFVLEVBQUUsRUFBRSxDQUFDLENBQUMsS0FBSyxLQUFLLElBQUksSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUNqSCxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQ3JDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxHQUFHLEVBQUUsRUFBRTtZQUNoRCxNQUFNLFFBQVEsR0FBRyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUM7WUFDNUIsUUFBUSxDQUFDLE1BQU0sQ0FDYixHQUFHLEVBQ0gsUUFBUSxZQUFZLElBQUk7Z0JBQ3RCLENBQUMsQ0FBQyxRQUFRO2dCQUNWLENBQUMsQ0FBQyxPQUFPLFFBQVEsS0FBSyxRQUFRLElBQUksUUFBUSxLQUFLLElBQUk7b0JBQ25ELENBQUMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFFBQVEsQ0FBQztvQkFDMUIsQ0FBQyxDQUFDLEdBQUcsUUFBUSxFQUFFLENBQ2xCLENBQUM7WUFDRixPQUFPLFFBQVEsQ0FBQztRQUNsQixDQUFDLEVBQUUsSUFBSSxRQUFRLEVBQUUsQ0FBQztRQUNwQixDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsRUFBRSxDQUFDLEtBQVUsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUM7S0FDcEUsQ0FBQztJQUVRLGtCQUFrQixDQUFDLE9BQXNCLEVBQUUsT0FBdUI7UUFDMUUsT0FBTztZQUNMLEdBQUcsSUFBSSxDQUFDLGFBQWE7WUFDckIsR0FBRyxPQUFPO1lBQ1YsR0FBRyxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7WUFDbEIsT0FBTyxFQUFFO2dCQUNQLEdBQUcsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sSUFBSSxFQUFFLENBQUM7Z0JBQ3JDLEdBQUcsQ0FBQyxPQUFPLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztnQkFDMUIsR0FBRyxDQUFDLENBQUMsT0FBTyxJQUFJLE9BQU8sQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDeEM7U0FDRixDQUFDO0lBQ0osQ0FBQztJQUVTLGlCQUFpQixHQUFHLENBQUMsV0FBd0IsRUFBMkIsRUFBRTtRQUNsRixJQUFJLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLEVBQUUsQ0FBQztZQUMzQyxNQUFNLGVBQWUsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQy9ELElBQUksZUFBZSxFQUFFLENBQUM7Z0JBQ3BCLE9BQU8sZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUNoQyxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUMsQ0FBQztRQUNoQixDQUFDO1FBRUQsTUFBTSxlQUFlLEdBQUcsSUFBSSxlQUFlLEVBQUUsQ0FBQztRQUM5QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsR0FBRyxDQUFDLFdBQVcsRUFBRSxlQUFlLENBQUMsQ0FBQztRQUN4RCxPQUFPLGVBQWUsQ0FBQyxNQUFNLENBQUM7SUFDaEMsQ0FBQyxDQUFDO0lBRUssWUFBWSxHQUFHLENBQUMsV0FBd0IsRUFBRSxFQUFFO1FBQ2pELE1BQU0sZUFBZSxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHLENBQUMsV0FBVyxDQUFDLENBQUM7UUFFL0QsSUFBSSxlQUFlLEVBQUUsQ0FBQztZQUNwQixlQUFlLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDeEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM1QyxDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUssT0FBTyxHQUFHLEtBQUssRUFBb0IsRUFDeEMsSUFBSSxFQUNKLE1BQU0sRUFDTixJQUFJLEVBQ0osSUFBSSxFQUNKLEtBQUssRUFDTCxNQUFNLEVBQ04sT0FBTyxFQUNQLFdBQVcsRUFDWCxHQUFHLE1BQU0sRUFDUyxFQUFjLEVBQUU7UUFDbEMsTUFBTSxZQUFZLEdBQ2hCLENBQUMsQ0FBQyxPQUFPLE1BQU0sS0FBSyxTQUFTLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLENBQUM7WUFDakUsSUFBSSxDQUFDLGNBQWM7WUFDbkIsQ0FBQyxNQUFNLElBQUksQ0FBQyxjQUFjLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUM7WUFDakQsRUFBRSxDQUFDO1FBQ0wsTUFBTSxhQUFhLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQztRQUNwRSxNQUFNLFdBQVcsR0FBRyxLQUFLLElBQUksSUFBSSxDQUFDLGFBQWEsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN2RCxNQUFNLGdCQUFnQixHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxJQUFJLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQzFFLE1BQU0sY0FBYyxHQUFHLE1BQU0sSUFBSSxhQUFhLENBQUMsTUFBTSxDQUFDO1FBRXRELE9BQU8sSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLE9BQU8sSUFBSSxJQUFJLENBQUMsT0FBTyxJQUFJLEVBQUUsR0FBRyxJQUFJLEdBQUcsV0FBVyxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUUsRUFBRTtZQUN4RyxHQUFHLGFBQWE7WUFDaEIsT0FBTyxFQUFFO2dCQUNQLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxJQUFJLEVBQUUsQ0FBQztnQkFDaEMsR0FBRyxDQUFDLElBQUksSUFBSSxJQUFJLEtBQUssV0FBVyxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsRUFBRSxjQUFjLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQzthQUMzRTtZQUNELE1BQU0sRUFBRSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLElBQUksSUFBSTtZQUMxRixJQUFJLEVBQUUsT0FBTyxJQUFJLEtBQUssV0FBVyxJQUFJLElBQUksS0FBSyxJQUFJLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDO1NBQ25GLENBQUMsQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLFFBQVEsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sQ0FBQyxHQUFHLFFBQThCLENBQUM7WUFDekMsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFvQixDQUFDO1lBQzlCLENBQUMsQ0FBQyxLQUFLLEdBQUcsSUFBb0IsQ0FBQztZQUUvQixNQUFNLElBQUksR0FBRyxDQUFDLGNBQWM7Z0JBQzFCLENBQUMsQ0FBQyxDQUFDO2dCQUNILENBQUMsQ0FBQyxNQUFNLFFBQVEsQ0FBQyxjQUFjLENBQUMsRUFBRTtxQkFDN0IsSUFBSSxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7b0JBQ2IsSUFBSSxDQUFDLENBQUMsRUFBRSxFQUFFLENBQUM7d0JBQ1QsQ0FBQyxDQUFDLElBQUksR0FBRyxJQUFJLENBQUM7b0JBQ2hCLENBQUM7eUJBQU0sQ0FBQzt3QkFDTixDQUFDLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQztvQkFDakIsQ0FBQztvQkFDRCxPQUFPLENBQUMsQ0FBQztnQkFDWCxDQUFDLENBQUM7cUJBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxFQUFFLEVBQUU7b0JBQ1gsQ0FBQyxDQUFDLEtBQUssR0FBRyxDQUFDLENBQUM7b0JBQ1osT0FBTyxDQUFDLENBQUM7Z0JBQ1gsQ0FBQyxDQUFDLENBQUM7WUFFVCxJQUFJLFdBQVcsRUFBRSxDQUFDO2dCQUNoQixJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxDQUFDLFdBQVcsQ0FBQyxDQUFDO1lBQzVDLENBQUM7WUFFRCxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUU7Z0JBQUUsTUFBTSxJQUFJLENBQUM7WUFDN0IsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDO1FBQ25CLENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0NBQ0g7QUFuS0QsZ0NBbUtDO0FBU0QsTUFBYSxHQUFHO0lBQ2QsSUFBSSxDQUErQjtJQUVuQyxZQUFZLElBQWtDO1FBQzVDLElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO0lBQ25CLENBQUM7SUFFRCxPQUFPLEdBQUc7UUFVUixNQUFNLEVBQUUsQ0FBQyxJQUFrQixFQUFFLFNBQXdCLEVBQUUsRUFBRSxFQUFFLENBQ3pELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFrQjtZQUNqQyxJQUFJLEVBQUUsVUFBVTtZQUNoQixNQUFNLEVBQUUsTUFBTTtZQUNkLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLElBQUk7WUFDWixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7WUFDdEIsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLE1BQU07U0FDVixDQUFDO1FBV0osTUFBTSxFQUFFLENBQUMsRUFBVSxFQUFFLFNBQXdCLEVBQUUsRUFBRSxFQUFFLENBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFZO1lBQzNCLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRTtZQUN0QixNQUFNLEVBQUUsUUFBUTtZQUNoQixNQUFNLEVBQUUsSUFBSTtZQUNaLEdBQUcsTUFBTTtTQUNWLENBQUM7UUFXSixHQUFHLEVBQUUsQ0FBQyxFQUFVLEVBQUUsU0FBd0IsRUFBRSxFQUFFLEVBQUUsQ0FDOUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQWtCO1lBQ2pDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRTtZQUN0QixNQUFNLEVBQUUsS0FBSztZQUNiLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLE1BQU07U0FDVixDQUFDO1FBV0osSUFBSSxFQUFFLENBQUMsS0FBaUIsRUFBRSxTQUF3QixFQUFFLEVBQUUsRUFBRSxDQUN0RCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBNEI7WUFDM0MsSUFBSSxFQUFFLFVBQVU7WUFDaEIsTUFBTSxFQUFFLEtBQUs7WUFDYixLQUFLLEVBQUUsS0FBSztZQUNaLE1BQU0sRUFBRSxJQUFJO1lBQ1osTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLE1BQU07U0FDVixDQUFDO1FBV0osTUFBTSxFQUFFLENBQUMsRUFBVSxFQUFFLElBQWtCLEVBQUUsU0FBd0IsRUFBRSxFQUFFLEVBQUUsQ0FDckUsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQWtCO1lBQ2pDLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRTtZQUN0QixNQUFNLEVBQUUsS0FBSztZQUNiLElBQUksRUFBRSxJQUFJO1lBQ1YsTUFBTSxFQUFFLElBQUk7WUFDWixJQUFJLEVBQUUsV0FBVyxDQUFDLElBQUk7WUFDdEIsTUFBTSxFQUFFLE1BQU07WUFDZCxHQUFHLE1BQU07U0FDVixDQUFDO0tBQ0wsQ0FBQztJQUNGLFVBQVUsR0FBRztRQVVYLE1BQU0sRUFBRSxDQUFDLElBQXFCLEVBQUUsU0FBd0IsRUFBRSxFQUFFLEVBQUUsQ0FDNUQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQWtCO1lBQ2pDLElBQUksRUFBRSxhQUFhO1lBQ25CLE1BQU0sRUFBRSxNQUFNO1lBQ2QsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7UUFXSixNQUFNLEVBQUUsQ0FBQyxFQUFVLEVBQUUsU0FBd0IsRUFBRSxFQUFFLEVBQUUsQ0FDakQsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQVk7WUFDM0IsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxRQUFRO1lBQ2hCLE1BQU0sRUFBRSxJQUFJO1lBQ1osR0FBRyxNQUFNO1NBQ1YsQ0FBQztRQVdKLEdBQUcsRUFBRSxDQUFDLEVBQVUsRUFBRSxTQUF3QixFQUFFLEVBQUUsRUFBRSxDQUM5QyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBa0I7WUFDakMsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7UUFXSixJQUFJLEVBQUUsQ0FBQyxLQUFrQixFQUFFLFNBQXdCLEVBQUUsRUFBRSxFQUFFLENBQ3ZELElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUE0QjtZQUMzQyxJQUFJLEVBQUUsYUFBYTtZQUNuQixNQUFNLEVBQUUsS0FBSztZQUNiLEtBQUssRUFBRSxLQUFLO1lBQ1osTUFBTSxFQUFFLElBQUk7WUFDWixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7UUFXSixNQUFNLEVBQUUsQ0FBQyxFQUFVLEVBQUUsSUFBcUIsRUFBRSxTQUF3QixFQUFFLEVBQUUsRUFBRSxDQUN4RSxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBa0I7WUFDakMsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFO1lBQ3pCLE1BQU0sRUFBRSxLQUFLO1lBQ2IsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsSUFBSTtZQUNaLElBQUksRUFBRSxXQUFXLENBQUMsSUFBSTtZQUN0QixNQUFNLEVBQUUsTUFBTTtZQUNkLEdBQUcsTUFBTTtTQUNWLENBQUM7S0FDTCxDQUFDO0NBQ0g7QUFyTUQsa0JBcU1DIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgKi9cbi8qIHRzbGludDpkaXNhYmxlICovXG4vKlxuICogLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4gKiAjIyBUSElTIEZJTEUgV0FTIEdFTkVSQVRFRCBWSUEgU1dBR0dFUi1UWVBFU0NSSVBULUFQSSAgICAgICAgIyNcbiAqICMjICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAjI1xuICogIyMgQVVUSE9SOiBhY2Fjb2RlICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICMjXG4gKiAjIyBTT1VSQ0U6IGh0dHBzOi8vZ2l0aHViLmNvbS9hY2Fjb2RlL3N3YWdnZXItdHlwZXNjcmlwdC1hcGkgIyNcbiAqIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxuICovXG5cbmV4cG9ydCB0eXBlIEFpQXV0aFR5cGUgPSAnbm9uZScgfCAnZHhwJztcblxuZXhwb3J0IHR5cGUgQWlBdXRoVHlwZUR4cCA9ICdkeHAnO1xuXG5leHBvcnQgdHlwZSBBaVJlc3BvbnNlID0gT21pdEFpRmxvd0lkT3JUZW5hbnQ7XG5cbmV4cG9ydCB0eXBlIEFpVHlwZSA9ICdnZW5lcmF0aXZlJyB8ICdjaGF0Ym90JztcblxuZXhwb3J0IHR5cGUgQWlUeXBlQ2hhdGJvdCA9ICdjaGF0Ym90JztcblxuZXhwb3J0IHR5cGUgQWlUeXBlR2VuZXJhdGl2ZSA9ICdnZW5lcmF0aXZlJztcblxuZXhwb3J0IHR5cGUgQWlXcml0ZSA9IFBpY2tBaUF1dGhUeXBlT3JJbnN0cnVjdGlvbk9yUmVzcG9uc2VUZW1wbGF0ZU9yTmFtZU9yVHlwZU9yRW5hYmxlZCAmIHtcbiAgdGFncz86IHN0cmluZ1tdO1xufTtcblxuZXhwb3J0IHR5cGUgQ2hhdEJvdFdyaXRlID0gQWlXcml0ZSAmIHtcbiAgdHlwZTogQWlUeXBlQ2hhdGJvdDtcbn07XG5cbmV4cG9ydCB0eXBlIERpcmVjdGlvbiA9ICdmb3J3YXJkcycgfCAnYmFja3dhcmRzJztcblxuZXhwb3J0IHR5cGUgR2VuZXJhdGl2ZVdyaXRlID0gQWlXcml0ZSAmIHtcbiAgYXV0aFR5cGU6IEFpQXV0aFR5cGVEeHA7XG4gIHR5cGU6IEFpVHlwZUdlbmVyYXRpdmU7XG59O1xuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbXMge1xuICBjdXJzb3I/OiBzdHJpbmc7XG4gIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHBhZ2VTaXplPzogUGFnaW5hdGlvblBhZ2VMaW1pdDtcbiAgdGFncz86IHN0cmluZ1tdO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RQYXJhbXMyIHtcbiAgY3Vyc29yPzogc3RyaW5nO1xuICBkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG4gIGVuYWJsZWQ/OiBib29sZWFuO1xuICBwYWdlU2l6ZT86IFBhZ2luYXRpb25QYWdlTGltaXQ7XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbn1cblxuLyoqIENvbnN0cnVjdCBhIHR5cGUgd2l0aCB0aGUgcHJvcGVydGllcyBvZiBUIGV4Y2VwdCBmb3IgdGhvc2UgaW4gdHlwZSBLLiAqL1xuZXhwb3J0IHR5cGUgT21pdEFpRmxvd0lkT3JUZW5hbnQgPSBQaWNrQWlFeGNsdWRlS2V5c0Zsb3dJZE9yVGVuYW50O1xuXG5leHBvcnQgaW50ZXJmYWNlIFBhZ2VSZXN1bHRBaVJlc3BvbnNlIHtcbiAgaXRlbXM6IEFpUmVzcG9uc2VbXTtcbiAgbGlua3M/OiB7XG4gICAgbmV4dFBhZ2U/OiBzdHJpbmc7XG4gICAgcHJldlBhZ2U/OiBzdHJpbmc7XG4gIH07XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2luYXRpb25QYWdlTGltaXQgPSAyMCB8IDUwIHwgMTAwO1xuXG4vKiogRnJvbSBULCBwaWNrIGEgc2V0IG9mIHByb3BlcnRpZXMgd2hvc2Uga2V5cyBhcmUgaW4gdGhlIHVuaW9uIEsgKi9cbmV4cG9ydCBpbnRlcmZhY2UgUGlja0FpQXV0aFR5cGVPckluc3RydWN0aW9uT3JSZXNwb25zZVRlbXBsYXRlT3JOYW1lT3JUeXBlT3JFbmFibGVkIHtcbiAgYXV0aFR5cGU6IEFpQXV0aFR5cGU7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgcmVzcG9uc2VUZW1wbGF0ZTogc3RyaW5nO1xuICB0eXBlOiBBaVR5cGU7XG59XG5cbi8qKiBGcm9tIFQsIHBpY2sgYSBzZXQgb2YgcHJvcGVydGllcyB3aG9zZSBrZXlzIGFyZSBpbiB0aGUgdW5pb24gSyAqL1xuZXhwb3J0IGludGVyZmFjZSBQaWNrQWlFeGNsdWRlS2V5c0Zsb3dJZE9yVGVuYW50IHtcbiAgYXV0aFR5cGU6IEFpQXV0aFR5cGU7XG4gIGVuYWJsZWQ6IGJvb2xlYW47XG4gIGlkOiBzdHJpbmc7XG4gIGluc3RydWN0aW9uOiBzdHJpbmc7XG4gIG5hbWU6IHN0cmluZztcbiAgLyoqIEBmb3JtYXQgZG91YmxlICovXG4gIG5lZ2F0aXZlQ291bnQ6IG51bWJlcjtcbiAgLyoqIEBmb3JtYXQgZG91YmxlICovXG4gIG92ZXJhbGxDb3VudDogbnVtYmVyO1xuICAvKiogQGZvcm1hdCBkb3VibGUgKi9cbiAgcG9zaXRpdmVDb3VudDogbnVtYmVyO1xuICByZXNwb25zZVRlbXBsYXRlOiBzdHJpbmc7XG4gIHRhZ3M6IHN0cmluZ1tdO1xuICB0eXBlOiBBaVR5cGU7XG59XG5cbmV4cG9ydCBuYW1lc3BhY2UgQ2hhdGJvdCB7XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIENyZWF0ZVxuICAgKiBAcmVxdWVzdCBQT1NUOi9jaGF0Ym90XG4gICAqIEBzZWN1cmVcbiAgICogQHJlc3BvbnNlIGAyMDFgIGBBaVJlc3BvbnNlYCBDcmVhdGVkXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIENyZWF0ZSB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gQ2hhdEJvdFdyaXRlO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gQWlSZXNwb25zZTtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgY2hhdGJvdFxuICAgKiBAbmFtZSBEZWxldGVcbiAgICogQHJlcXVlc3QgREVMRVRFOi9jaGF0Ym90L3tpZH1cbiAgICogQHNlY3VyZVxuICAgKiBAcmVzcG9uc2UgYDIwNGAgYHZvaWRgIE5vIGNvbnRlbnRcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgRGVsZXRlIHtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gbmV2ZXI7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZUJvZHkgPSB2b2lkO1xuICB9XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIEdldFxuICAgKiBAcmVxdWVzdCBHRVQ6L2NoYXRib3Qve2lkfVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAwYCBgQWlSZXNwb25zZWAgT2tcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgR2V0IHtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gbmV2ZXI7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZUJvZHkgPSBBaVJlc3BvbnNlO1xuICB9XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIExpc3RcbiAgICogQHJlcXVlc3QgR0VUOi9jaGF0Ym90XG4gICAqIEBzZWN1cmVcbiAgICogQHJlc3BvbnNlIGAyMDBgIGBQYWdlUmVzdWx0QWlSZXNwb25zZWAgT2tcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgTGlzdCB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHtcbiAgICAgIGN1cnNvcj86IHN0cmluZztcbiAgICAgIGRpcmVjdGlvbj86IERpcmVjdGlvbjtcbiAgICAgIGVuYWJsZWQ/OiBib29sZWFuO1xuICAgICAgcGFnZVNpemU/OiBQYWdpbmF0aW9uUGFnZUxpbWl0O1xuICAgICAgdGFncz86IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEJvZHkgPSBuZXZlcjtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlQm9keSA9IFBhZ2VSZXN1bHRBaVJlc3BvbnNlO1xuICB9XG4gIC8qKlxuICAgKiBObyBkZXNjcmlwdGlvblxuICAgKiBAdGFncyBjaGF0Ym90XG4gICAqIEBuYW1lIFVwZGF0ZVxuICAgKiBAcmVxdWVzdCBQVVQ6L2NoYXRib3Qve2lkfVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAwYCBgQWlSZXNwb25zZWAgT2tcbiAgICovXG4gIGV4cG9ydCBuYW1lc3BhY2UgVXBkYXRlIHtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UGFyYW1zID0ge1xuICAgICAgaWQ6IHN0cmluZztcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RRdWVyeSA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gQ2hhdEJvdFdyaXRlO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gQWlSZXNwb25zZTtcbiAgfVxufVxuXG5leHBvcnQgbmFtZXNwYWNlIEdlbmVyYXRpdmUge1xuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBDcmVhdGVcbiAgICogQHJlcXVlc3QgUE9TVDovZ2VuZXJhdGl2ZVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAxYCBgQWlSZXNwb25zZWAgQ3JlYXRlZFxuICAgKi9cbiAgZXhwb3J0IG5hbWVzcGFjZSBDcmVhdGUge1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RQYXJhbXMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IEdlbmVyYXRpdmVXcml0ZTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlQm9keSA9IEFpUmVzcG9uc2U7XG4gIH1cbiAgLyoqXG4gICAqIE5vIGRlc2NyaXB0aW9uXG4gICAqIEB0YWdzIGdlbmVyYXRpdmVcbiAgICogQG5hbWUgRGVsZXRlXG4gICAqIEByZXF1ZXN0IERFTEVURTovZ2VuZXJhdGl2ZS97aWR9XG4gICAqIEBzZWN1cmVcbiAgICogQHJlc3BvbnNlIGAyMDRgIGB2b2lkYCBObyBjb250ZW50XG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIERlbGV0ZSB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IG5ldmVyO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gdm9pZDtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBHZXRcbiAgICogQHJlcXVlc3QgR0VUOi9nZW5lcmF0aXZlL3tpZH1cbiAgICogQHNlY3VyZVxuICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIEdldCB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IG5ldmVyO1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RIZWFkZXJzID0ge307XG4gICAgZXhwb3J0IHR5cGUgUmVzcG9uc2VCb2R5ID0gQWlSZXNwb25zZTtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBMaXN0XG4gICAqIEByZXF1ZXN0IEdFVDovZ2VuZXJhdGl2ZVxuICAgKiBAc2VjdXJlXG4gICAqIEByZXNwb25zZSBgMjAwYCBgUGFnZVJlc3VsdEFpUmVzcG9uc2VgIE9rXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIExpc3Qge1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RQYXJhbXMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7XG4gICAgICBjdXJzb3I/OiBzdHJpbmc7XG4gICAgICBkaXJlY3Rpb24/OiBEaXJlY3Rpb247XG4gICAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICAgIHBhZ2VTaXplPzogUGFnaW5hdGlvblBhZ2VMaW1pdDtcbiAgICAgIHRhZ3M/OiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIGV4cG9ydCB0eXBlIFJlcXVlc3RCb2R5ID0gbmV2ZXI7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdEhlYWRlcnMgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXNwb25zZUJvZHkgPSBQYWdlUmVzdWx0QWlSZXNwb25zZTtcbiAgfVxuICAvKipcbiAgICogTm8gZGVzY3JpcHRpb25cbiAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgKiBAbmFtZSBVcGRhdGVcbiAgICogQHJlcXVlc3QgUFVUOi9nZW5lcmF0aXZlL3tpZH1cbiAgICogQHNlY3VyZVxuICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAqL1xuICBleHBvcnQgbmFtZXNwYWNlIFVwZGF0ZSB7XG4gICAgZXhwb3J0IHR5cGUgUmVxdWVzdFBhcmFtcyA9IHtcbiAgICAgIGlkOiBzdHJpbmc7XG4gICAgfTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0UXVlcnkgPSB7fTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0Qm9keSA9IEdlbmVyYXRpdmVXcml0ZTtcbiAgICBleHBvcnQgdHlwZSBSZXF1ZXN0SGVhZGVycyA9IHt9O1xuICAgIGV4cG9ydCB0eXBlIFJlc3BvbnNlQm9keSA9IEFpUmVzcG9uc2U7XG4gIH1cbn1cblxuZXhwb3J0IHR5cGUgUXVlcnlQYXJhbXNUeXBlID0gUmVjb3JkPHN0cmluZyB8IG51bWJlciwgYW55PjtcbmV4cG9ydCB0eXBlIFJlc3BvbnNlRm9ybWF0ID0ga2V5b2YgT21pdDxCb2R5LCAnYm9keScgfCAnYm9keVVzZWQnPjtcblxuZXhwb3J0IGludGVyZmFjZSBGdWxsUmVxdWVzdFBhcmFtcyBleHRlbmRzIE9taXQ8UmVxdWVzdEluaXQsICdib2R5Jz4ge1xuICAvKiogc2V0IHBhcmFtZXRlciB0byBgdHJ1ZWAgZm9yIGNhbGwgYHNlY3VyaXR5V29ya2VyYCBmb3IgdGhpcyByZXF1ZXN0ICovXG4gIHNlY3VyZT86IGJvb2xlYW47XG4gIC8qKiByZXF1ZXN0IHBhdGggKi9cbiAgcGF0aDogc3RyaW5nO1xuICAvKiogY29udGVudCB0eXBlIG9mIHJlcXVlc3QgYm9keSAqL1xuICB0eXBlPzogQ29udGVudFR5cGU7XG4gIC8qKiBxdWVyeSBwYXJhbXMgKi9cbiAgcXVlcnk/OiBRdWVyeVBhcmFtc1R5cGU7XG4gIC8qKiBmb3JtYXQgb2YgcmVzcG9uc2UgKGkuZS4gcmVzcG9uc2UuanNvbigpIC0+IGZvcm1hdDogXCJqc29uXCIpICovXG4gIGZvcm1hdD86IFJlc3BvbnNlRm9ybWF0O1xuICAvKiogcmVxdWVzdCBib2R5ICovXG4gIGJvZHk/OiB1bmtub3duO1xuICAvKiogYmFzZSB1cmwgKi9cbiAgYmFzZVVybD86IHN0cmluZztcbiAgLyoqIHJlcXVlc3QgY2FuY2VsbGF0aW9uIHRva2VuICovXG4gIGNhbmNlbFRva2VuPzogQ2FuY2VsVG9rZW47XG59XG5cbmV4cG9ydCB0eXBlIFJlcXVlc3RQYXJhbXMgPSBPbWl0PEZ1bGxSZXF1ZXN0UGFyYW1zLCAnYm9keScgfCAnbWV0aG9kJyB8ICdxdWVyeScgfCAncGF0aCc+O1xuXG5leHBvcnQgaW50ZXJmYWNlIEFwaUNvbmZpZzxTZWN1cml0eURhdGFUeXBlID0gdW5rbm93bj4ge1xuICBiYXNlVXJsPzogc3RyaW5nO1xuICBiYXNlQXBpUGFyYW1zPzogT21pdDxSZXF1ZXN0UGFyYW1zLCAnYmFzZVVybCcgfCAnY2FuY2VsVG9rZW4nIHwgJ3NpZ25hbCc+O1xuICBzZWN1cml0eVdvcmtlcj86IChzZWN1cml0eURhdGE6IFNlY3VyaXR5RGF0YVR5cGUgfCBudWxsKSA9PiBQcm9taXNlPFJlcXVlc3RQYXJhbXMgfCB2b2lkPiB8IFJlcXVlc3RQYXJhbXMgfCB2b2lkO1xuICBjdXN0b21GZXRjaD86IHR5cGVvZiBmZXRjaDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBIdHRwUmVzcG9uc2U8RCBleHRlbmRzIHVua25vd24sIEUgZXh0ZW5kcyB1bmtub3duID0gdW5rbm93bj4gZXh0ZW5kcyBSZXNwb25zZSB7XG4gIGRhdGE6IEQ7XG4gIGVycm9yOiBFO1xufVxuXG50eXBlIENhbmNlbFRva2VuID0gU3ltYm9sIHwgc3RyaW5nIHwgbnVtYmVyO1xuXG5leHBvcnQgZW51bSBDb250ZW50VHlwZSB7XG4gIEpzb24gPSAnYXBwbGljYXRpb24vanNvbicsXG4gIEZvcm1EYXRhID0gJ211bHRpcGFydC9mb3JtLWRhdGEnLFxuICBVcmxFbmNvZGVkID0gJ2FwcGxpY2F0aW9uL3gtd3d3LWZvcm0tdXJsZW5jb2RlZCcsXG4gIFRleHQgPSAndGV4dC9wbGFpbicsXG59XG5cbmV4cG9ydCBjbGFzcyBIdHRwQ2xpZW50PFNlY3VyaXR5RGF0YVR5cGUgPSB1bmtub3duPiB7XG4gIHB1YmxpYyBiYXNlVXJsOiBzdHJpbmcgPSAnLyc7XG4gIHByaXZhdGUgc2VjdXJpdHlEYXRhOiBTZWN1cml0eURhdGFUeXBlIHwgbnVsbCA9IG51bGw7XG4gIHByaXZhdGUgc2VjdXJpdHlXb3JrZXI/OiBBcGlDb25maWc8U2VjdXJpdHlEYXRhVHlwZT5bJ3NlY3VyaXR5V29ya2VyJ107XG4gIHByaXZhdGUgYWJvcnRDb250cm9sbGVycyA9IG5ldyBNYXA8Q2FuY2VsVG9rZW4sIEFib3J0Q29udHJvbGxlcj4oKTtcbiAgcHJpdmF0ZSBjdXN0b21GZXRjaCA9ICguLi5mZXRjaFBhcmFtczogUGFyYW1ldGVyczx0eXBlb2YgZmV0Y2g+KSA9PiBmZXRjaCguLi5mZXRjaFBhcmFtcyk7XG5cbiAgcHJpdmF0ZSBiYXNlQXBpUGFyYW1zOiBSZXF1ZXN0UGFyYW1zID0ge1xuICAgIGNyZWRlbnRpYWxzOiAnc2FtZS1vcmlnaW4nLFxuICAgIGhlYWRlcnM6IHt9LFxuICAgIHJlZGlyZWN0OiAnZm9sbG93JyxcbiAgICByZWZlcnJlclBvbGljeTogJ25vLXJlZmVycmVyJyxcbiAgfTtcblxuICBjb25zdHJ1Y3RvcihhcGlDb25maWc6IEFwaUNvbmZpZzxTZWN1cml0eURhdGFUeXBlPiA9IHt9KSB7XG4gICAgT2JqZWN0LmFzc2lnbih0aGlzLCBhcGlDb25maWcpO1xuICB9XG5cbiAgcHVibGljIHNldFNlY3VyaXR5RGF0YSA9IChkYXRhOiBTZWN1cml0eURhdGFUeXBlIHwgbnVsbCkgPT4ge1xuICAgIHRoaXMuc2VjdXJpdHlEYXRhID0gZGF0YTtcbiAgfTtcblxuICBwcm90ZWN0ZWQgZW5jb2RlUXVlcnlQYXJhbShrZXk6IHN0cmluZywgdmFsdWU6IGFueSkge1xuICAgIGNvbnN0IGVuY29kZWRLZXkgPSBlbmNvZGVVUklDb21wb25lbnQoa2V5KTtcbiAgICByZXR1cm4gYCR7ZW5jb2RlZEtleX09JHtlbmNvZGVVUklDb21wb25lbnQodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJyA/IHZhbHVlIDogYCR7dmFsdWV9YCl9YDtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRRdWVyeVBhcmFtKHF1ZXJ5OiBRdWVyeVBhcmFtc1R5cGUsIGtleTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuZW5jb2RlUXVlcnlQYXJhbShrZXksIHF1ZXJ5W2tleV0pO1xuICB9XG5cbiAgcHJvdGVjdGVkIGFkZEFycmF5UXVlcnlQYXJhbShxdWVyeTogUXVlcnlQYXJhbXNUeXBlLCBrZXk6IHN0cmluZykge1xuICAgIGNvbnN0IHZhbHVlID0gcXVlcnlba2V5XTtcbiAgICByZXR1cm4gdmFsdWUubWFwKCh2OiBhbnkpID0+IHRoaXMuZW5jb2RlUXVlcnlQYXJhbShrZXksIHYpKS5qb2luKCcmJyk7XG4gIH1cblxuICBwcm90ZWN0ZWQgdG9RdWVyeVN0cmluZyhyYXdRdWVyeT86IFF1ZXJ5UGFyYW1zVHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcXVlcnkgPSByYXdRdWVyeSB8fCB7fTtcbiAgICBjb25zdCBrZXlzID0gT2JqZWN0LmtleXMocXVlcnkpLmZpbHRlcigoa2V5KSA9PiAndW5kZWZpbmVkJyAhPT0gdHlwZW9mIHF1ZXJ5W2tleV0pO1xuICAgIHJldHVybiBrZXlzXG4gICAgICAubWFwKChrZXkpID0+IChBcnJheS5pc0FycmF5KHF1ZXJ5W2tleV0pID8gdGhpcy5hZGRBcnJheVF1ZXJ5UGFyYW0ocXVlcnksIGtleSkgOiB0aGlzLmFkZFF1ZXJ5UGFyYW0ocXVlcnksIGtleSkpKVxuICAgICAgLmpvaW4oJyYnKTtcbiAgfVxuXG4gIHByb3RlY3RlZCBhZGRRdWVyeVBhcmFtcyhyYXdRdWVyeT86IFF1ZXJ5UGFyYW1zVHlwZSk6IHN0cmluZyB7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSB0aGlzLnRvUXVlcnlTdHJpbmcocmF3UXVlcnkpO1xuICAgIHJldHVybiBxdWVyeVN0cmluZyA/IGA/JHtxdWVyeVN0cmluZ31gIDogJyc7XG4gIH1cblxuICBwcml2YXRlIGNvbnRlbnRGb3JtYXR0ZXJzOiBSZWNvcmQ8Q29udGVudFR5cGUsIChpbnB1dDogYW55KSA9PiBhbnk+ID0ge1xuICAgIFtDb250ZW50VHlwZS5Kc29uXTogKGlucHV0OiBhbnkpID0+XG4gICAgICBpbnB1dCAhPT0gbnVsbCAmJiAodHlwZW9mIGlucHV0ID09PSAnb2JqZWN0JyB8fCB0eXBlb2YgaW5wdXQgPT09ICdzdHJpbmcnKSA/IEpTT04uc3RyaW5naWZ5KGlucHV0KSA6IGlucHV0LFxuICAgIFtDb250ZW50VHlwZS5UZXh0XTogKGlucHV0OiBhbnkpID0+IChpbnB1dCAhPT0gbnVsbCAmJiB0eXBlb2YgaW5wdXQgIT09ICdzdHJpbmcnID8gSlNPTi5zdHJpbmdpZnkoaW5wdXQpIDogaW5wdXQpLFxuICAgIFtDb250ZW50VHlwZS5Gb3JtRGF0YV06IChpbnB1dDogYW55KSA9PlxuICAgICAgT2JqZWN0LmtleXMoaW5wdXQgfHwge30pLnJlZHVjZSgoZm9ybURhdGEsIGtleSkgPT4ge1xuICAgICAgICBjb25zdCBwcm9wZXJ0eSA9IGlucHV0W2tleV07XG4gICAgICAgIGZvcm1EYXRhLmFwcGVuZChcbiAgICAgICAgICBrZXksXG4gICAgICAgICAgcHJvcGVydHkgaW5zdGFuY2VvZiBCbG9iXG4gICAgICAgICAgICA/IHByb3BlcnR5XG4gICAgICAgICAgICA6IHR5cGVvZiBwcm9wZXJ0eSA9PT0gJ29iamVjdCcgJiYgcHJvcGVydHkgIT09IG51bGxcbiAgICAgICAgICAgID8gSlNPTi5zdHJpbmdpZnkocHJvcGVydHkpXG4gICAgICAgICAgICA6IGAke3Byb3BlcnR5fWAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiBmb3JtRGF0YTtcbiAgICAgIH0sIG5ldyBGb3JtRGF0YSgpKSxcbiAgICBbQ29udGVudFR5cGUuVXJsRW5jb2RlZF06IChpbnB1dDogYW55KSA9PiB0aGlzLnRvUXVlcnlTdHJpbmcoaW5wdXQpLFxuICB9O1xuXG4gIHByb3RlY3RlZCBtZXJnZVJlcXVlc3RQYXJhbXMocGFyYW1zMTogUmVxdWVzdFBhcmFtcywgcGFyYW1zMj86IFJlcXVlc3RQYXJhbXMpOiBSZXF1ZXN0UGFyYW1zIHtcbiAgICByZXR1cm4ge1xuICAgICAgLi4udGhpcy5iYXNlQXBpUGFyYW1zLFxuICAgICAgLi4ucGFyYW1zMSxcbiAgICAgIC4uLihwYXJhbXMyIHx8IHt9KSxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uKHRoaXMuYmFzZUFwaVBhcmFtcy5oZWFkZXJzIHx8IHt9KSxcbiAgICAgICAgLi4uKHBhcmFtczEuaGVhZGVycyB8fCB7fSksXG4gICAgICAgIC4uLigocGFyYW1zMiAmJiBwYXJhbXMyLmhlYWRlcnMpIHx8IHt9KSxcbiAgICAgIH0sXG4gICAgfTtcbiAgfVxuXG4gIHByb3RlY3RlZCBjcmVhdGVBYm9ydFNpZ25hbCA9IChjYW5jZWxUb2tlbjogQ2FuY2VsVG9rZW4pOiBBYm9ydFNpZ25hbCB8IHVuZGVmaW5lZCA9PiB7XG4gICAgaWYgKHRoaXMuYWJvcnRDb250cm9sbGVycy5oYXMoY2FuY2VsVG9rZW4pKSB7XG4gICAgICBjb25zdCBhYm9ydENvbnRyb2xsZXIgPSB0aGlzLmFib3J0Q29udHJvbGxlcnMuZ2V0KGNhbmNlbFRva2VuKTtcbiAgICAgIGlmIChhYm9ydENvbnRyb2xsZXIpIHtcbiAgICAgICAgcmV0dXJuIGFib3J0Q29udHJvbGxlci5zaWduYWw7XG4gICAgICB9XG4gICAgICByZXR1cm4gdm9pZCAwO1xuICAgIH1cblxuICAgIGNvbnN0IGFib3J0Q29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcbiAgICB0aGlzLmFib3J0Q29udHJvbGxlcnMuc2V0KGNhbmNlbFRva2VuLCBhYm9ydENvbnRyb2xsZXIpO1xuICAgIHJldHVybiBhYm9ydENvbnRyb2xsZXIuc2lnbmFsO1xuICB9O1xuXG4gIHB1YmxpYyBhYm9ydFJlcXVlc3QgPSAoY2FuY2VsVG9rZW46IENhbmNlbFRva2VuKSA9PiB7XG4gICAgY29uc3QgYWJvcnRDb250cm9sbGVyID0gdGhpcy5hYm9ydENvbnRyb2xsZXJzLmdldChjYW5jZWxUb2tlbik7XG5cbiAgICBpZiAoYWJvcnRDb250cm9sbGVyKSB7XG4gICAgICBhYm9ydENvbnRyb2xsZXIuYWJvcnQoKTtcbiAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVycy5kZWxldGUoY2FuY2VsVG9rZW4pO1xuICAgIH1cbiAgfTtcblxuICBwdWJsaWMgcmVxdWVzdCA9IGFzeW5jIDxUID0gYW55LCBFID0gYW55Pih7XG4gICAgYm9keSxcbiAgICBzZWN1cmUsXG4gICAgcGF0aCxcbiAgICB0eXBlLFxuICAgIHF1ZXJ5LFxuICAgIGZvcm1hdCxcbiAgICBiYXNlVXJsLFxuICAgIGNhbmNlbFRva2VuLFxuICAgIC4uLnBhcmFtc1xuICB9OiBGdWxsUmVxdWVzdFBhcmFtcyk6IFByb21pc2U8VD4gPT4ge1xuICAgIGNvbnN0IHNlY3VyZVBhcmFtcyA9XG4gICAgICAoKHR5cGVvZiBzZWN1cmUgPT09ICdib29sZWFuJyA/IHNlY3VyZSA6IHRoaXMuYmFzZUFwaVBhcmFtcy5zZWN1cmUpICYmXG4gICAgICAgIHRoaXMuc2VjdXJpdHlXb3JrZXIgJiZcbiAgICAgICAgKGF3YWl0IHRoaXMuc2VjdXJpdHlXb3JrZXIodGhpcy5zZWN1cml0eURhdGEpKSkgfHxcbiAgICAgIHt9O1xuICAgIGNvbnN0IHJlcXVlc3RQYXJhbXMgPSB0aGlzLm1lcmdlUmVxdWVzdFBhcmFtcyhwYXJhbXMsIHNlY3VyZVBhcmFtcyk7XG4gICAgY29uc3QgcXVlcnlTdHJpbmcgPSBxdWVyeSAmJiB0aGlzLnRvUXVlcnlTdHJpbmcocXVlcnkpO1xuICAgIGNvbnN0IHBheWxvYWRGb3JtYXR0ZXIgPSB0aGlzLmNvbnRlbnRGb3JtYXR0ZXJzW3R5cGUgfHwgQ29udGVudFR5cGUuSnNvbl07XG4gICAgY29uc3QgcmVzcG9uc2VGb3JtYXQgPSBmb3JtYXQgfHwgcmVxdWVzdFBhcmFtcy5mb3JtYXQ7XG5cbiAgICByZXR1cm4gdGhpcy5jdXN0b21GZXRjaChgJHtiYXNlVXJsIHx8IHRoaXMuYmFzZVVybCB8fCAnJ30ke3BhdGh9JHtxdWVyeVN0cmluZyA/IGA/JHtxdWVyeVN0cmluZ31gIDogJyd9YCwge1xuICAgICAgLi4ucmVxdWVzdFBhcmFtcyxcbiAgICAgIGhlYWRlcnM6IHtcbiAgICAgICAgLi4uKHJlcXVlc3RQYXJhbXMuaGVhZGVycyB8fCB7fSksXG4gICAgICAgIC4uLih0eXBlICYmIHR5cGUgIT09IENvbnRlbnRUeXBlLkZvcm1EYXRhID8geyAnQ29udGVudC1UeXBlJzogdHlwZSB9IDoge30pLFxuICAgICAgfSxcbiAgICAgIHNpZ25hbDogKGNhbmNlbFRva2VuID8gdGhpcy5jcmVhdGVBYm9ydFNpZ25hbChjYW5jZWxUb2tlbikgOiByZXF1ZXN0UGFyYW1zLnNpZ25hbCkgfHwgbnVsbCxcbiAgICAgIGJvZHk6IHR5cGVvZiBib2R5ID09PSAndW5kZWZpbmVkJyB8fCBib2R5ID09PSBudWxsID8gbnVsbCA6IHBheWxvYWRGb3JtYXR0ZXIoYm9keSksXG4gICAgfSkudGhlbihhc3luYyAocmVzcG9uc2UpID0+IHtcbiAgICAgIGNvbnN0IHIgPSByZXNwb25zZSBhcyBIdHRwUmVzcG9uc2U8VCwgRT47XG4gICAgICByLmRhdGEgPSBudWxsIGFzIHVua25vd24gYXMgVDtcbiAgICAgIHIuZXJyb3IgPSBudWxsIGFzIHVua25vd24gYXMgRTtcblxuICAgICAgY29uc3QgZGF0YSA9ICFyZXNwb25zZUZvcm1hdFxuICAgICAgICA/IHJcbiAgICAgICAgOiBhd2FpdCByZXNwb25zZVtyZXNwb25zZUZvcm1hdF0oKVxuICAgICAgICAgICAgLnRoZW4oKGRhdGEpID0+IHtcbiAgICAgICAgICAgICAgaWYgKHIub2spIHtcbiAgICAgICAgICAgICAgICByLmRhdGEgPSBkYXRhO1xuICAgICAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgICAgIHIuZXJyb3IgPSBkYXRhO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIHJldHVybiByO1xuICAgICAgICAgICAgfSlcbiAgICAgICAgICAgIC5jYXRjaCgoZSkgPT4ge1xuICAgICAgICAgICAgICByLmVycm9yID0gZTtcbiAgICAgICAgICAgICAgcmV0dXJuIHI7XG4gICAgICAgICAgICB9KTtcblxuICAgICAgaWYgKGNhbmNlbFRva2VuKSB7XG4gICAgICAgIHRoaXMuYWJvcnRDb250cm9sbGVycy5kZWxldGUoY2FuY2VsVG9rZW4pO1xuICAgICAgfVxuXG4gICAgICBpZiAoIXJlc3BvbnNlLm9rKSB0aHJvdyBkYXRhO1xuICAgICAgcmV0dXJuIGRhdGEuZGF0YTtcbiAgICB9KTtcbiAgfTtcbn1cblxuLyoqXG4gKiBAdGl0bGUgQHNxdWl6L2FpLXNlcnZpY2VcbiAqIEB2ZXJzaW9uIDAuMy4xXG4gKiBAbGljZW5zZSBJU0NcbiAqIEBiYXNlVXJsIC9cbiAqIEBjb250YWN0XG4gKi9cbmV4cG9ydCBjbGFzcyBBcGk8U2VjdXJpdHlEYXRhVHlwZSBleHRlbmRzIHVua25vd24+IHtcbiAgaHR0cDogSHR0cENsaWVudDxTZWN1cml0eURhdGFUeXBlPjtcblxuICBjb25zdHJ1Y3RvcihodHRwOiBIdHRwQ2xpZW50PFNlY3VyaXR5RGF0YVR5cGU+KSB7XG4gICAgdGhpcy5odHRwID0gaHR0cDtcbiAgfVxuXG4gIGNoYXRib3QgPSB7XG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBDcmVhdGVcbiAgICAgKiBAcmVxdWVzdCBQT1NUOi9jaGF0Ym90XG4gICAgICogQHNlY3VyZVxuICAgICAqIEByZXNwb25zZSBgMjAxYCBgQWlSZXNwb25zZWAgQ3JlYXRlZFxuICAgICAqL1xuICAgIGNyZWF0ZTogKGRhdGE6IENoYXRCb3RXcml0ZSwgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zID0ge30pID0+XG4gICAgICB0aGlzLmh0dHAucmVxdWVzdDxBaVJlc3BvbnNlLCBhbnk+KHtcbiAgICAgICAgcGF0aDogYC9jaGF0Ym90YCxcbiAgICAgICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgICAgIGJvZHk6IGRhdGEsXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgdHlwZTogQ29udGVudFR5cGUuSnNvbixcbiAgICAgICAgZm9ybWF0OiAnanNvbicsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBEZWxldGVcbiAgICAgKiBAcmVxdWVzdCBERUxFVEU6L2NoYXRib3Qve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwNGAgYHZvaWRgIE5vIGNvbnRlbnRcbiAgICAgKi9cbiAgICBkZWxldGU6IChpZDogc3RyaW5nLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PHZvaWQsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2NoYXRib3QvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdERUxFVEUnLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBHZXRcbiAgICAgKiBAcmVxdWVzdCBHRVQ6L2NoYXRib3Qve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAgICovXG4gICAgZ2V0OiAoaWQ6IHN0cmluZywgcGFyYW1zOiBSZXF1ZXN0UGFyYW1zID0ge30pID0+XG4gICAgICB0aGlzLmh0dHAucmVxdWVzdDxBaVJlc3BvbnNlLCBhbnk+KHtcbiAgICAgICAgcGF0aDogYC9jaGF0Ym90LyR7aWR9YCxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgICAgc2VjdXJlOiB0cnVlLFxuICAgICAgICBmb3JtYXQ6ICdqc29uJyxcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgY2hhdGJvdFxuICAgICAqIEBuYW1lIExpc3RcbiAgICAgKiBAcmVxdWVzdCBHRVQ6L2NoYXRib3RcbiAgICAgKiBAc2VjdXJlXG4gICAgICogQHJlc3BvbnNlIGAyMDBgIGBQYWdlUmVzdWx0QWlSZXNwb25zZWAgT2tcbiAgICAgKi9cbiAgICBsaXN0OiAocXVlcnk6IExpc3RQYXJhbXMsIHBhcmFtczogUmVxdWVzdFBhcmFtcyA9IHt9KSA9PlxuICAgICAgdGhpcy5odHRwLnJlcXVlc3Q8UGFnZVJlc3VsdEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2NoYXRib3RgLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBxdWVyeTogcXVlcnksXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgZm9ybWF0OiAnanNvbicsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGNoYXRib3RcbiAgICAgKiBAbmFtZSBVcGRhdGVcbiAgICAgKiBAcmVxdWVzdCBQVVQ6L2NoYXRib3Qve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAgICovXG4gICAgdXBkYXRlOiAoaWQ6IHN0cmluZywgZGF0YTogQ2hhdEJvdFdyaXRlLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2NoYXRib3QvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgICBib2R5OiBkYXRhLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIHR5cGU6IENvbnRlbnRUeXBlLkpzb24sXG4gICAgICAgIGZvcm1hdDogJ2pzb24nLFxuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICB9KSxcbiAgfTtcbiAgZ2VuZXJhdGl2ZSA9IHtcbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgICAqIEBuYW1lIENyZWF0ZVxuICAgICAqIEByZXF1ZXN0IFBPU1Q6L2dlbmVyYXRpdmVcbiAgICAgKiBAc2VjdXJlXG4gICAgICogQHJlc3BvbnNlIGAyMDFgIGBBaVJlc3BvbnNlYCBDcmVhdGVkXG4gICAgICovXG4gICAgY3JlYXRlOiAoZGF0YTogR2VuZXJhdGl2ZVdyaXRlLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmVgLFxuICAgICAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICAgICAgYm9keTogZGF0YSxcbiAgICAgICAgc2VjdXJlOiB0cnVlLFxuICAgICAgICB0eXBlOiBDb250ZW50VHlwZS5Kc29uLFxuICAgICAgICBmb3JtYXQ6ICdqc29uJyxcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgICAqIEBuYW1lIERlbGV0ZVxuICAgICAqIEByZXF1ZXN0IERFTEVURTovZ2VuZXJhdGl2ZS97aWR9XG4gICAgICogQHNlY3VyZVxuICAgICAqIEByZXNwb25zZSBgMjA0YCBgdm9pZGAgTm8gY29udGVudFxuICAgICAqL1xuICAgIGRlbGV0ZTogKGlkOiBzdHJpbmcsIHBhcmFtczogUmVxdWVzdFBhcmFtcyA9IHt9KSA9PlxuICAgICAgdGhpcy5odHRwLnJlcXVlc3Q8dm9pZCwgYW55Pih7XG4gICAgICAgIHBhdGg6IGAvZ2VuZXJhdGl2ZS8ke2lkfWAsXG4gICAgICAgIG1ldGhvZDogJ0RFTEVURScsXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgLi4ucGFyYW1zLFxuICAgICAgfSksXG5cbiAgICAvKipcbiAgICAgKiBObyBkZXNjcmlwdGlvblxuICAgICAqXG4gICAgICogQHRhZ3MgZ2VuZXJhdGl2ZVxuICAgICAqIEBuYW1lIEdldFxuICAgICAqIEByZXF1ZXN0IEdFVDovZ2VuZXJhdGl2ZS97aWR9XG4gICAgICogQHNlY3VyZVxuICAgICAqIEByZXNwb25zZSBgMjAwYCBgQWlSZXNwb25zZWAgT2tcbiAgICAgKi9cbiAgICBnZXQ6IChpZDogc3RyaW5nLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmUvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIGZvcm1hdDogJ2pzb24nLFxuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICB9KSxcblxuICAgIC8qKlxuICAgICAqIE5vIGRlc2NyaXB0aW9uXG4gICAgICpcbiAgICAgKiBAdGFncyBnZW5lcmF0aXZlXG4gICAgICogQG5hbWUgTGlzdFxuICAgICAqIEByZXF1ZXN0IEdFVDovZ2VuZXJhdGl2ZVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYFBhZ2VSZXN1bHRBaVJlc3BvbnNlYCBPa1xuICAgICAqL1xuICAgIGxpc3Q6IChxdWVyeTogTGlzdFBhcmFtczIsIHBhcmFtczogUmVxdWVzdFBhcmFtcyA9IHt9KSA9PlxuICAgICAgdGhpcy5odHRwLnJlcXVlc3Q8UGFnZVJlc3VsdEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmVgLFxuICAgICAgICBtZXRob2Q6ICdHRVQnLFxuICAgICAgICBxdWVyeTogcXVlcnksXG4gICAgICAgIHNlY3VyZTogdHJ1ZSxcbiAgICAgICAgZm9ybWF0OiAnanNvbicsXG4gICAgICAgIC4uLnBhcmFtcyxcbiAgICAgIH0pLFxuXG4gICAgLyoqXG4gICAgICogTm8gZGVzY3JpcHRpb25cbiAgICAgKlxuICAgICAqIEB0YWdzIGdlbmVyYXRpdmVcbiAgICAgKiBAbmFtZSBVcGRhdGVcbiAgICAgKiBAcmVxdWVzdCBQVVQ6L2dlbmVyYXRpdmUve2lkfVxuICAgICAqIEBzZWN1cmVcbiAgICAgKiBAcmVzcG9uc2UgYDIwMGAgYEFpUmVzcG9uc2VgIE9rXG4gICAgICovXG4gICAgdXBkYXRlOiAoaWQ6IHN0cmluZywgZGF0YTogR2VuZXJhdGl2ZVdyaXRlLCBwYXJhbXM6IFJlcXVlc3RQYXJhbXMgPSB7fSkgPT5cbiAgICAgIHRoaXMuaHR0cC5yZXF1ZXN0PEFpUmVzcG9uc2UsIGFueT4oe1xuICAgICAgICBwYXRoOiBgL2dlbmVyYXRpdmUvJHtpZH1gLFxuICAgICAgICBtZXRob2Q6ICdQVVQnLFxuICAgICAgICBib2R5OiBkYXRhLFxuICAgICAgICBzZWN1cmU6IHRydWUsXG4gICAgICAgIHR5cGU6IENvbnRlbnRUeXBlLkpzb24sXG4gICAgICAgIGZvcm1hdDogJ2pzb24nLFxuICAgICAgICAuLi5wYXJhbXMsXG4gICAgICB9KSxcbiAgfTtcbn1cbiJdfQ== |
{ | ||
"name": "@squiz/dxp-ai-client", | ||
"repository": "https://gitlab.squiz.net/dxp/dxp-ai-service/", | ||
"private": false, | ||
"version": "0.2.0", | ||
"version": "0.3.0", | ||
"description": "Exposes the DXP AI service as a package for consumers", | ||
@@ -19,5 +20,5 @@ "main": "dist/index.js", | ||
"jest": "^29.7.0", | ||
"@squiz/ai-service": "0.3.0" | ||
"@squiz/ai-service": "0.4.0" | ||
}, | ||
"dependencies": {} | ||
} |
@@ -55,2 +55,2 @@ ### DXP AI SERVICE CLIENT LIB | ||
2. **Contribute and Extend**: If your service requires changes to the package generation settings or extension in its interaction with the `dxp-ai-service` service (requiring changes to the service code). Please see the [Contribution guidelines]((./docs/development/contributing.md)) | ||
2. **Contribute and Extend**: If your service requires changes to the package generation settings or extension in its interaction with the `dxp-ai-service` service (requiring changes to the service code). Please see the [Contribution guidelines](../../docs/development/contributing.md) |
Sorry, the diff of this file is not supported yet
No repository
Supply chain riskPackage does not have a linked source code repository. Without this field, a package will have no reference to the location of the source code use to generate the package.
Found 1 instance in 1 package
115652