valtech-components 4.0.34 → 4.0.37
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/services/auth/auth.service.mjs +28 -20
- package/esm2022/lib/services/auth/oauth-callback.component.mjs +13 -1
- package/esm2022/lib/services/auth/oauth.service.mjs +83 -8
- package/esm2022/lib/services/auth/storage.service.mjs +7 -11
- package/esm2022/lib/services/auth/types.mjs +1 -1
- package/esm2022/lib/services/link-processor.service.mjs +27 -5
- package/esm2022/lib/services/requests/request-visibility.mjs +41 -0
- package/esm2022/lib/services/requests/types.mjs +1 -1
- package/esm2022/lib/version.mjs +2 -2
- package/esm2022/public-api.mjs +2 -1
- package/fesm2022/valtech-components.mjs +195 -41
- package/fesm2022/valtech-components.mjs.map +1 -1
- package/lib/components/atoms/rights-footer/rights-footer.component.d.ts +2 -2
- package/lib/components/atoms/text/text.component.d.ts +1 -1
- package/lib/components/atoms/user-avatar/user-avatar.component.d.ts +1 -1
- package/lib/components/molecules/cta-card/cta-card.component.d.ts +1 -1
- package/lib/components/molecules/features-list/features-list.component.d.ts +1 -1
- package/lib/components/molecules/metric-card/metric-card.component.d.ts +1 -1
- package/lib/components/organisms/article/article.component.d.ts +6 -6
- package/lib/components/organisms/auth-cta/auth-cta.component.d.ts +1 -1
- package/lib/components/organisms/notification-preferences-view/notification-preferences-view.component.d.ts +1 -1
- package/lib/services/auth/oauth-callback.component.d.ts +6 -0
- package/lib/services/auth/oauth.service.d.ts +28 -0
- package/lib/services/auth/storage.service.d.ts +1 -1
- package/lib/services/auth/types.d.ts +6 -0
- package/lib/services/link-processor.service.d.ts +12 -0
- package/lib/services/requests/request-visibility.d.ts +35 -0
- package/lib/services/requests/types.d.ts +7 -2
- package/lib/version.d.ts +1 -1
- package/package.json +1 -1
- package/public-api.d.ts +1 -0
|
@@ -28,4 +28,4 @@ export const INITIAL_MFA_STATE = {
|
|
|
28
28
|
mfaToken: null,
|
|
29
29
|
method: null,
|
|
30
30
|
};
|
|
31
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2F1dGgvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBNEhIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWM7SUFDM0MsZUFBZSxFQUFFLEtBQUs7SUFDdEIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULFdBQVcsRUFBRSxFQUFFO0lBQ2YsWUFBWSxFQUFFLEtBQUs7SUFDbkIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFrQkY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBb0I7SUFDaEQsUUFBUSxFQUFFLEtBQUs7SUFDZixRQUFRLEVBQUUsSUFBSTtJQUNkLE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGlwb3MgZSBpbnRlcmZhY2VzIHBhcmEgZWwgc2VydmljaW8gZGUgYXV0ZW50aWNhY2nDs24gZGUgVmFsdGVjaC5cbiAqIEFsaW5lYWRvcyBjb24gZWwgYmFja2VuZCBBdXRoVjIuXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTkZJR1VSQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIHBhcmEgZWwgc2VydmljaW8gZGUgYXV0ZW50aWNhY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsdGVjaEF1dGhDb25maWcge1xuICAvKiogVVJMIGJhc2UgZGUgbGEgQVBJIChlajogJ2h0dHBzOi8vYXBpLm15dmFsdGVjaC5jb20nKSAqL1xuICBhcGlVcmw6IHN0cmluZztcbiAgLyoqIFByZWZpam8gcGFyYSBlbmRwb2ludHMgZGUgYXV0aCAoZGVmYXVsdDogJy92Mi9hdXRoJykgKi9cbiAgYXV0aFByZWZpeD86IHN0cmluZztcbiAgLyoqIFByZWZpam8gcGFyYSBsYXMgY2xhdmVzIGRlIGxvY2FsU3RvcmFnZSAoZGVmYXVsdDogJ3ZhbHRlY2hfYXV0aF8nKSAqL1xuICBzdG9yYWdlUHJlZml4Pzogc3RyaW5nO1xuICAvKiogVGllbXBvIGFudGVzIGRlIGV4cGlyYWNpw7NuIHBhcmEgcmVmcmVzY2FyIHRva2VuIGVuIHNlZ3VuZG9zIChkZWZhdWx0OiA2MCkgKi9cbiAgcmVmcmVzaEJlZm9yZUV4cGlyeT86IG51bWJlcjtcbiAgLyoqIEhhYmlsaXRhciBzaW5jcm9uaXphY2nDs24gZW50cmUgcGVzdGHDsWFzIChkZWZhdWx0OiB0cnVlKSAqL1xuICBlbmFibGVUYWJTeW5jPzogYm9vbGVhbjtcbiAgLyoqIFJ1dGEgZGUgcmVkaXJlY2Npw7NuIGN1YW5kbyBubyBhdXRlbnRpY2FkbyAoZGVmYXVsdDogJy9sb2dpbicpICovXG4gIGxvZ2luUm91dGU/OiBzdHJpbmc7XG4gIC8qKiBSdXRhIGRlIHJlZGlyZWNjacOzbiBjdWFuZG8geWEgYXV0ZW50aWNhZG8gKGRlZmF1bHQ6ICcvJykgKi9cbiAgaG9tZVJvdXRlPzogc3RyaW5nO1xuICAvKiogUnV0YSBwYXJhIGFjY2VzbyBkZW5lZ2FkbyAoZGVmYXVsdDogJy91bmF1dGhvcml6ZWQnKSAqL1xuICB1bmF1dGhvcml6ZWRSb3V0ZT86IHN0cmluZztcbiAgLyoqIEhhYmlsaXRhciBpbnRlZ3JhY2nDs24gY29uIEZpcmViYXNlU2VydmljZSAoZGVmYXVsdDogZmFsc2UpICovXG4gIGVuYWJsZUZpcmViYXNlSW50ZWdyYXRpb24/OiBib29sZWFuO1xuICAvKiogSGFiaWxpdGFyIHJlZ2lzdHJvIGF1dG9tw6F0aWNvIGRlIGRldmljZSB0b2tlbnMgcGFyYSBwdXNoIG5vdGlmaWNhdGlvbnMgKGRlZmF1bHQ6IGZhbHNlKSAqL1xuICBlbmFibGVEZXZpY2VSZWdpc3RyYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogQXBwSUQgZGUgZXN0YSBhcHAgZGVudHJvIGRlbCBmYWN0b3J5IChlajogJ3Nob3djYXNlJywgJ3NpZ2lmeScsICdteXZhbHRlY2gnKS5cbiAgICogVXNhZG8gcG9yIE5vdGlmaWNhdGlvbkFjdGlvblNlcnZpY2UgcGFyYSBkZWNpZGlyIHNpIHVuYSBub3RpZmljYWNpw7NuXG4gICAqIGFwdW50YSBhIGxhIGFwcCBhY3R1YWwgbyByZXF1aWVyZSBoYW5kb2ZmIGNyb3NzLWFwcC5cbiAgICovXG4gIGFwcElkPzogc3RyaW5nO1xuICAvKipcbiAgICogTWFwYSBhcHBJZCDihpIgYmFzZVVybCBhYnNvbHV0YSBwYXJhIGhhbmRvZmYgY3Jvc3MtYXBwLlxuICAgKiBFajogeyBzaWdpZnk6ICdodHRwczovL3NpZ2lmeS5jb20nLCBteXZhbHRlY2g6ICdodHRwczovL2FwcC5teXZhbHRlY2guY29tJyB9XG4gICAqIE5vdGlmaWNhdGlvbkFjdGlvblNlcnZpY2UgdXNhIGVzdGUgbWFwIGFsIGRpc3BhcmFyIGhhbmRvZmYgYSBvdHJhIGFwcC5cbiAgICovXG4gIGFwcFVybHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogSGFiaWxpdGFyIHNpbmNyb25pemFjacOzbiByZWFjdGl2YSBkZSBwZXJtaXNvcyB2aWEgRmlyZXN0b3JlIG9uU25hcHNob3QgKGRlZmF1bHQ6IGZhbHNlKS5cbiAgICogUmVxdWllcmUgZW5hYmxlRmlyZWJhc2VJbnRlZ3JhdGlvbjogdHJ1ZS4gQ3VhbmRvIHVuIGFkbWluIGFzaWduYSBvIHJldm9jYSB1biByb2wsXG4gICAqIGVsIGZyb250ZW5kIGFjdHVhbGl6YSByb2xlcy9wZXJtaXNvcyBzaW4gcmVjYXJnYXIgbGEgcMOhZ2luYSAofjEtM3MgbGF0ZW5jaWEpLlxuICAgKiBSZXF1aWVyZSBxdWUgZWwgYmFja2VuZCB0ZW5nYSBTeW5jUkJBQ1RvRmlyZXN0b3JlIGFjdGl2by5cbiAgICovXG4gIGVuYWJsZUZpcmVzdG9yZVJCQUM/OiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVNUQURPIERFIEFVVEVOVElDQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVzdGFkbyBjb21wbGV0byBkZSBhdXRlbnRpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoU3RhdGUge1xuICAvKiogVXN1YXJpbyBlc3TDoSBhdXRlbnRpY2FkbyAqL1xuICBpc0F1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XG4gIC8qKiBFc3RhZG8gZGUgY2FyZ2EgaW5pY2lhbCAqL1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gIC8qKiBUb2tlbiBkZSBhY2Nlc28gYWN0dWFsICovXG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmcgfCBudWxsO1xuICAvKiogVG9rZW4gZGUgcmVmcmVzY28gYWN0dWFsICovXG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIElEIGRlbCB1c3VhcmlvICovXG4gIHVzZXJJZDogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIEVtYWlsIGRlbCB1c3VhcmlvICovXG4gIGVtYWlsOiBzdHJpbmcgfCBudWxsO1xuICAvKiogTm9tYnJlIGNvbXBsZXRvIGRlbCB1c3VhcmlvIChwb2JsYWRvIHRyYXMgYGdldFByb2ZpbGUoKWApICovXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogVXNlcm5hbWUvaGFuZGxlIChwb2JsYWRvIHRyYXMgYGdldFByb2ZpbGUoKWApICovXG4gIGhhbmRsZT86IHN0cmluZyB8IG51bGw7XG4gIC8qKiBVUkwgZGVsIGF2YXRhciAocG9ibGFkbyB0cmFzIGBnZXRQcm9maWxlKClgKSAqL1xuICBhdmF0YXJVcmw/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogVGVsw6lmb25vIChwb2JsYWRvIHRyYXMgYGdldFByb2ZpbGUoKWApICovXG4gIHBob25lPzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIElEIGRlIGxhIG9yZ2FuaXphY2nDs24gYWN0aXZhICovXG4gIGFjdGl2ZU9yZz86IHN0cmluZyB8IG51bGw7XG4gIC8qKiBSb2xlcyBkZWwgdXN1YXJpbyAqL1xuICByb2xlczogc3RyaW5nW107XG4gIC8qKiBQZXJtaXNvcyBkZWwgdXN1YXJpbyAoZm9ybWF0byAncmVzb3VyY2U6YWN0aW9uJykgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICAvKiogVXN1YXJpbyBlcyBzdXBlciBhZG1pbiAqL1xuICBpc1N1cGVyQWRtaW46IGJvb2xlYW47XG4gIC8qKiBVc3VhcmlvIHRpZW5lIHN1c2NyaXBjacOzbiBwcmVtaXVtIGFjdGl2YSAobm8gdmUgYWRzKSAqL1xuICBpc1ByZW1pdW06IGJvb2xlYW47XG4gIC8qKiBUaW1lc3RhbXAgZGUgZXhwaXJhY2nDs24gZGVsIGFjY2Vzc1Rva2VuIChtcykgKi9cbiAgZXhwaXJlc0F0OiBudW1iZXIgfCBudWxsO1xuICAvKiogRXJyb3IgZGUgYXV0ZW50aWNhY2nDs24gKHNpIGV4aXN0ZSkgKi9cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGw7XG59XG5cbi8qKlxuICogSW5mb3JtYWNpw7NuIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhVc2VyIHtcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xuICAvKiogVXNlcm5hbWUvaGFuZGxlIGRlbCB1c3VhcmlvIChlajogQHZpY3RvcnYpICovXG4gIGhhbmRsZT86IHN0cmluZztcbiAgLyoqIElEIGRlIGxhIG9yZ2FuaXphY2nDs24gYWN0aXZhICovXG4gIGFjdGl2ZU9yZz86IHN0cmluZztcbiAgLyoqIFVSTCBkZWwgYXZhdGFyIGRlbCB1c3VhcmlvICovXG4gIGF2YXRhclVybD86IHN0cmluZztcbiAgcm9sZXM6IHN0cmluZ1tdO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGlzU3VwZXJBZG1pbjogYm9vbGVhbjtcbiAgbWZhRW5hYmxlZD86IGJvb2xlYW47XG4gIG1mYU1ldGhvZD86IE1GQU1ldGhvZDtcbn1cblxuLyoqXG4gKiBFcnJvciBkZSBhdXRlbnRpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoRXJyb3Ige1xuICBjb2RlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBFc3RhZG8gaW5pY2lhbCBkZSBhdXRlbnRpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGNvbnN0IElOSVRJQUxfQVVUSF9TVEFURTogQXV0aFN0YXRlID0ge1xuICBpc0F1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxuICBpc0xvYWRpbmc6IHRydWUsXG4gIGFjY2Vzc1Rva2VuOiBudWxsLFxuICByZWZyZXNoVG9rZW46IG51bGwsXG4gIHVzZXJJZDogbnVsbCxcbiAgZW1haWw6IG51bGwsXG4gIGFjdGl2ZU9yZzogbnVsbCxcbiAgcm9sZXM6IFtdLFxuICBwZXJtaXNzaW9uczogW10sXG4gIGlzU3VwZXJBZG1pbjogZmFsc2UsXG4gIGlzUHJlbWl1bTogZmFsc2UsXG4gIGV4cGlyZXNBdDogbnVsbCxcbiAgZXJyb3I6IG51bGwsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTUZBXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogTcOpdG9kb3MgZGUgTUZBIHNvcG9ydGFkb3MgKi9cbmV4cG9ydCB0eXBlIE1GQU1ldGhvZCA9ICdFTUFJTCcgfCAnU01TJyB8ICdUT1RQJztcblxuLyoqXG4gKiBFc3RhZG8gZGUgTUZBIHBlbmRpZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFQZW5kaW5nU3RhdGUge1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgbWZhVG9rZW46IHN0cmluZyB8IG51bGw7XG4gIG1ldGhvZDogTUZBTWV0aG9kIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFc3RhZG8gaW5pY2lhbCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBjb25zdCBJTklUSUFMX01GQV9TVEFURTogTUZBUGVuZGluZ1N0YXRlID0ge1xuICByZXF1aXJlZDogZmFsc2UsXG4gIG1mYVRva2VuOiBudWxsLFxuICBtZXRob2Q6IG51bGwsXG59O1xuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBzZXR1cCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU2V0dXBSZXN1bHQge1xuICBjb2RlU2VudDogYm9vbGVhbjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBNRkEgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU3RhdHVzIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgbWV0aG9kOiBNRkFNZXRob2QgfCBudWxsO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9UUCBNRkEgKEdvb2dsZSBBdXRoZW50aWNhdG9yKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBzZXR1cCBkZSBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBTZXR1cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFNlY3JldG8gVE9UUCBlbiBiYXNlMzIgKHBhcmEgZW50cmFkYSBtYW51YWwpICovXG4gIHNlY3JldDogc3RyaW5nO1xuICAvKiogVVJMIHBhcmEgZ2VuZXJhciBRUiBjb2RlIChvdHBhdXRoOi8vLi4uKSAqL1xuICBxckNvZGVVcmw6IHN0cmluZztcbiAgLyoqIEPDs2RpZ29zIGRlIHJlc3BhbGRvIGRlIHVuIHNvbG8gdXNvICovXG4gIGJhY2t1cENvZGVzOiBzdHJpbmdbXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgc2V0dXAgZGUgVE9UUC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUT1RQVmVyaWZ5U2V0dXBSZXF1ZXN0IHtcbiAgLyoqIEPDs2RpZ28gVE9UUCBkZSA2IGTDrWdpdG9zICovXG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIHNldHVwIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUFZlcmlmeVNldHVwUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBlbmFibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGRlc2hhYmlsaXRhciBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBEaXNhYmxlUmVxdWVzdCB7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZGVzaGFiaWxpdGFyIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUERpc2FibGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVnZW5lcmFyIGPDs2RpZ29zIGRlIHJlc3BhbGRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2VuZXJhdGVCYWNrdXBDb2Rlc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgYmFja3VwQ29kZXM6IHN0cmluZ1tdO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgY2FudGlkYWQgZGUgY8OzZGlnb3MgZGUgcmVzcGFsZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3VwQ29kZXNDb3VudFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFUVVFU1RTL1JFU1BPTlNFUyAoYWxpbmVhZG9zIGNvbiBiYWNrZW5kIEF1dGhWMilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgdmVyaWZpY2FyIGVtYWlsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIGVtYWlsLlxuICogU2kgZXMgZXhpdG9zbywgaW5jbHV5ZSB0b2tlbnMgcGFyYSBhdXRvLWxvZ2luLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB2ZXJpZmllZDogYm9vbGVhbjtcbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luPzogbnVtYmVyO1xuICB0b2tlblR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGFjdGl2YXIgdW5hIGN1ZW50YSBwcmUtYXByb3Zpc2lvbmFkYSBwb3IgdW5hIG9yZ2FuaXphY2nDs25cbiAqIChBRFItMDIzKTogZWwgdXN1YXJpbyBkZWZpbmUgc3UgY29udHJhc2XDsWEgY29uIGVsIHRva2VuIGRlbCBlbmxhY2UgZGUgZW1haWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZhdGVBY2NvdW50UmVxdWVzdCB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgYWN0aXZhY2nDs24gZGUgY3VlbnRhLiBFbiDDqXhpdG8gaW5jbHV5ZSB0b2tlbnMgZGUgYXV0by1zaWduaW5cbiAqIChtaXNtbyBzaGFwZSBxdWUgdmVyaWZ5LWVtYWlsKSDigJQgZWwgdXN1YXJpbyBxdWVkYSBsb2d1ZWFkbyB0cmFzIGFjdGl2YXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZhdGVBY2NvdW50UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhY3RpdmF0ZWQ6IGJvb2xlYW47XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIGZpcmViYXNlVG9rZW4/OiBzdHJpbmc7XG4gIGV4cGlyZXNJbj86IG51bWJlcjtcbiAgdG9rZW5UeXBlPzogc3RyaW5nO1xuICByb2xlcz86IHN0cmluZ1tdO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSByZWVudmlhciBjw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZW5kQ29kZVJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICB0eXBlOiAnRU1BSUxfVkVSSUZZJyB8ICdQQVNTV09SRF9SRVNFVCc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVlbnbDrW8gZGUgY8OzZGlnby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNlbmRDb2RlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzZW50OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBzaWduaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmluUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIC8qKiBQbGF0YWZvcm1hIGRlbCBkaXNwb3NpdGl2byAocGFyYSBkZXRlY2Npw7NuIGRlIG51ZXZvIGRpc3Bvc2l0aXZvKSAqL1xuICBwbGF0Zm9ybT86IERldmljZVBsYXRmb3JtO1xuICAvKiogTmF2ZWdhZG9yIChzb2xvIHdlYikgKi9cbiAgYnJvd3Nlcj86IHN0cmluZztcbiAgLyoqIFNpc3RlbWEgb3BlcmF0aXZvICovXG4gIG9zPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBkZXZpY2VOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNpZ25pbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduaW5SZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIGZpcmViYXNlVG9rZW4/OiBzdHJpbmc7XG4gIGV4cGlyZXNJbj86IG51bWJlcjtcbiAgdG9rZW5UeXBlPzogc3RyaW5nO1xuICBtZmFSZXF1aXJlZD86IGJvb2xlYW47XG4gIG1mYVRva2VuPzogc3RyaW5nO1xuICBtZmFNZXRob2Q/OiBNRkFNZXRob2Q7XG4gIHJvbGVzPzogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIC8qKiBJbmRpY2Egc2kgZWwgbG9naW4gZnVlIGRlc2RlIHVuIGRpc3Bvc2l0aXZvIG51ZXZvL25vIHJlY29ub2NpZG8gKi9cbiAgaXNOZXdEZXZpY2U/OiBib29sZWFuO1xuICAvKiogSUQgZGVsIGRpc3Bvc2l0aXZvIHVzYWRvIHBhcmEgZWwgbG9naW4gKi9cbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIC8qKiBJZGlvbWEgcHJlZmVyaWRvIGRlbCB1c3VhcmlvIChwYXJhIHNpbmNyb25pemFyIGNvbiBpMThuKSAqL1xuICBsYW5ndWFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgdmVyaWZpY2FyIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFWZXJpZnlSZXF1ZXN0IHtcbiAgbWZhVG9rZW46IHN0cmluZztcbiAgY29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHZlcmlmaWNhciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBVmVyaWZ5UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luOiBudW1iZXI7XG4gIHRva2VuVHlwZTogc3RyaW5nO1xuICByb2xlcz86IHN0cmluZ1tdO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuICAvKiogSWRpb21hIHByZWZlcmlkbyBkZWwgdXN1YXJpbyAocGFyYSBzaW5jcm9uaXphciBjb24gaTE4bikgKi9cbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHJlZnJlc2NhciB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoUmVxdWVzdCB7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHJlZnJlc2NhciB0b2tlbi5cbiAqIEltcGxlbWVudGEgdG9rZW4gcm90YXRpb246IGNhZGEgcmVmcmVzaCBnZW5lcmEgdW4gbnVldm8gcmVmcmVzaCB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICByZWZyZXNoVG9rZW46IHN0cmluZzsgLy8gVG9rZW4gcm90YXRpb246IG51ZXZvIHJlZnJlc2ggdG9rZW5cbiAgZXhwaXJlc0luOiBudW1iZXI7XG4gIGZpcmViYXNlVG9rZW4/OiBzdHJpbmc7XG4gIHJvbGVzPzogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGxvZ291dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dvdXRSZXF1ZXN0IHtcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgbG9nb3V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ291dFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgc3VjY2VzczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBvYnRlbmVyIHBlcm1pc29zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFBlcm1pc3Npb25zUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICByb2xlczogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgaXNTdXBlckFkbWluOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBzZXR1cCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU2V0dXBSZXF1ZXN0IHtcbiAgbWV0aG9kOiBNRkFNZXRob2Q7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNldHVwIGRlIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFTZXR1cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgY29kZVNlbnQ6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgY29uZmlybWFyIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFDb25maXJtUmVxdWVzdCB7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBjb25maXJtYXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQUNvbmZpcm1SZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG1mYUVuYWJsZWQ6IGJvb2xlYW47XG4gIG1ldGhvZDogTUZBTWV0aG9kO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBkZXNoYWJpbGl0YXIgTUZBLlxuICovXG4vKipcbiAqIEFjZXB0YSBgcGFzc3dvcmRgIChjdWVudGEgY29uIGNvbnRyYXNlw7FhKSBvIGBtZmFDb2RlYCAoY3VlbnRhIE9BdXRoLW9ubHlcbiAqIGNvbiBUT1RQIHF1ZSBwcnVlYmEgcG9zZXNpw7NuIGRlbCBzZWd1bmRvIGZhY3RvcikuIFVubyByZXF1ZXJpZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBRGlzYWJsZVJlcXVlc3Qge1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgbWZhQ29kZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBkZXNoYWJpbGl0YXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQURpc2FibGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG1mYURpc2FibGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBpbmljaWFyIHJlY3VwZXJhY2nDs24gZGUgY29udHJhc2XDsWEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9yZ290UGFzc3dvcmRSZXF1ZXN0IHtcbiAgZW1haWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBmb3Jnb3QgcGFzc3dvcmQgKHNpZW1wcmUgaWd1YWwgcG9yIHNlZ3VyaWRhZCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9yZ290UGFzc3dvcmRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgcmVzZXRlYXIgY29udHJhc2XDsWEgY29uIGPDs2RpZ28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBjb2RlOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVzZXQgcGFzc3dvcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgc3VjY2VzczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgY2FtYmlhciBjb250cmFzZcOxYSAodXN1YXJpbyBhdXRlbnRpY2FkbykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0IHtcbiAgY3VycmVudFBhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgY2FtYmlvIGRlIGNvbnRyYXNlw7FhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZVBhc3N3b3JkUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBlbGltaW5hciBjdWVudGEuXG4gKiBVc3VhcmlvcyBjb24gY29udHJhc2XDsWE6IGVudmlhciBgcGFzc3dvcmRgLlxuICogVXN1YXJpb3MgT0F1dGggc2luIGNvbnRyYXNlw7FhOiBlbnZpYXIgYGNvZGVgIChvYnRlbmlkbyB2aWEgc2VuZERlbGV0ZUFjY291bnRDb2RlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxldGVBY2NvdW50UmVxdWVzdCB7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGVudmlhciBjw7NkaWdvIGRlIGNvbmZpcm1hY2nDs24gZGUgZWxpbWluYWNpw7NuIGRlIGN1ZW50YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZW5kRGVsZXRlQWNjb3VudENvZGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZWxpbWluYXIgY3VlbnRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZUFjY291bnRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGRlbGV0ZWQ6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBvYnRlbmVyIHBlcmZpbCBkZWwgdXN1YXJpby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRQcm9maWxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwaG9uZT86IHN0cmluZztcbiAgLyoqIFVzZXJuYW1lL2hhbmRsZSBkZWwgdXN1YXJpbyAqL1xuICBoYW5kbGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgZGVsIGF2YXRhciBkZWwgdXN1YXJpbyAqL1xuICBhdmF0YXJVcmw/OiBzdHJpbmc7XG4gIGVtYWlsVmVyaWZpZWQ6IGJvb2xlYW47XG4gIHBob25lVmVyaWZpZWQ6IGJvb2xlYW47XG4gIG1mYUVuYWJsZWQ6IGJvb2xlYW47XG4gIG1mYU1ldGhvZD86IE1GQU1ldGhvZDtcbiAgLyoqIFRydWUgc2kgbGEgY3VlbnRhIHRpZW5lIGNvbnRyYXNlw7FhIHNldGVhZGEgKGZhbHNlIHBhcmEgT0F1dGgtb25seSBzaW4gcGFzc3dvcmQpLiAqL1xuICBoYXNQYXNzd29yZD86IGJvb2xlYW47XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBwZXJmaWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUHJvZmlsZVJlcXVlc3Qge1xuICBuYW1lPzogc3RyaW5nO1xuICBwaG9uZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBhY3R1YWxpemFyIHBlcmZpbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQcm9maWxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1cGRhdGVkOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVBEQVRFIEFWQVRBUlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBhdmF0YXIgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXZhdGFyUmVxdWVzdCB7XG4gIC8qKiBVUkwgZGVsIGF2YXRhciBlbiBGaXJlYmFzZSBTdG9yYWdlICovXG4gIGF2YXRhclVybDogc3RyaW5nO1xuICAvKiogVVJMIGRlbCB0aHVtYm5haWwgKG9wY2lvbmFsKSAqL1xuICBhdmF0YXJUaHVtYm5haWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgYWN0dWFsaXphciBhdmF0YXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXZhdGFyUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhdmF0YXJVcmw6IHN0cmluZztcbiAgYXZhdGFyVGh1bWJuYWlsPzogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UT1MgREUgU0lOQ1JPTklaQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU1dJVENIIE9SR0FOSVpBVElPTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgY2FtYmlhciBkZSBvcmdhbml6YWNpw7NuIGFjdGl2YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hPcmdSZXF1ZXN0IHtcbiAgb3JnYW5pemF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBjYW1iaW8gZGUgb3JnYW5pemFjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hPcmdSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGZpcmViYXNlVG9rZW46IHN0cmluZztcbiAgYWN0aXZlT3JnOiBzdHJpbmc7XG4gIC8qKiBOdWV2byBKV1QgY29uIGFjdGl2ZU9yZyBhY3R1YWxpemFkby4gRWwgRkUgbG8gYWxtYWNlbmEgcGFyYSBxdWUgZWxcbiAgICogIGJvb3RzdHJhcCBwb3N0LXJlZnJlc2ggdXNlIGxhIG9yZyBjb3JyZWN0YSBlbiB2ZXogZGVsIEpXVCBjYWNoZWFkby4gKi9cbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIGV4cGlyZXNJbj86IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UT1MgREUgU0lOQ1JPTklaQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogVGlwb3MgZGUgZXZlbnRvcyBkZSBzaW5jcm9uaXphY2nDs24gZW50cmUgcGVzdGHDsWFzICovXG5leHBvcnQgdHlwZSBBdXRoU3luY0V2ZW50VHlwZSA9XG4gIHwgJ0xPR0lOJ1xuICB8ICdMT0dPVVQnXG4gIHwgJ1RPS0VOX1JFRlJFU0gnXG4gIHwgJ1BFUk1JU1NJT05TX1VQREFURSdcbiAgfCAnT1JHX1NXSVRDSCc7XG5cbi8qKlxuICogRXZlbnRvIGRlIHNpbmNyb25pemFjacOzbiBlbnRyZSBwZXN0YcOxYXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFN5bmNFdmVudCB7XG4gIHR5cGU6IEF1dGhTeW5jRXZlbnRUeXBlO1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgcGF5bG9hZD86IHtcbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7IC8vIFRva2VuIHJvdGF0aW9uIHN1cHBvcnRcbiAgICBleHBpcmVzQXQ/OiBudW1iZXI7XG4gICAgYWN0aXZlT3JnPzogc3RyaW5nO1xuICB9O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSldUIENMQUlNU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDbGFpbXMgZGVsIEpXVCBkZSBhY2Nlc28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSldUQ2xhaW1zIHtcbiAgLyoqIFVzZXIgSUQgKi9cbiAgdWlkOiBzdHJpbmc7XG4gIC8qKiBFbWFpbCAqL1xuICBlbWFpbDogc3RyaW5nO1xuICAvKiogU2Vzc2lvbiBJRCAqL1xuICBzaWQ/OiBzdHJpbmc7XG4gIC8qKiBVc3VhcmlvIHRpZW5lIHN1c2NyaXBjacOzbiBwcmVtaXVtIGFjdGl2YSAqL1xuICBwcmVtaXVtPzogYm9vbGVhbjtcbiAgLyoqIEFjdGl2ZSBvcmdhbml6YXRpb24gSUQgKEpXVCBjbGFpbSBcIm9yZ1wiKSAqL1xuICBvcmc/OiBzdHJpbmc7XG4gIC8qKiBJc3N1ZWQgYXQgKi9cbiAgaWF0OiBudW1iZXI7XG4gIC8qKiBFeHBpcmF0aW9uICovXG4gIGV4cDogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU1RPUkFHRVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBEYXRvcyBwZXJzaXN0aWRvcyBlbiBzdG9yYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlZEF1dGhTdGF0ZSB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICByb2xlczogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgaXNTdXBlckFkbWluOiBib29sZWFuO1xuICBpc1ByZW1pdW0/OiBib29sZWFuO1xuICBleHBpcmVzQXQ/OiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBERVZJQ0UgUkVHSVNUUkFUSU9OIChQdXNoIE5vdGlmaWNhdGlvbnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFBsYXRhZm9ybWFzIHNvcG9ydGFkYXMgcGFyYSBwdXNoIG5vdGlmaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIERldmljZVBsYXRmb3JtID0gJ3dlYicgfCAnaW9zJyB8ICdhbmRyb2lkJztcblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgcmVnaXN0cmFyIHVuIGRpc3Bvc2l0aXZvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyRGV2aWNlUmVxdWVzdCB7XG4gIC8qKiBGQ00gdG9rZW4gZGVsIGRpc3Bvc2l0aXZvICovXG4gIHRva2VuOiBzdHJpbmc7XG4gIC8qKiBQbGF0YWZvcm1hIGRlbCBkaXNwb3NpdGl2byAqL1xuICBwbGF0Zm9ybTogRGV2aWNlUGxhdGZvcm07XG4gIC8qKiBOYXZlZ2Fkb3IgKHNvbG8gd2ViKSAqL1xuICBicm93c2VyPzogc3RyaW5nO1xuICAvKiogU2lzdGVtYSBvcGVyYXRpdm8gKi9cbiAgb3M/OiBzdHJpbmc7XG4gIC8qKiBWZXJzacOzbiBkZSBsYSBhcGxpY2FjacOzbiAqL1xuICBhcHBWZXJzaW9uPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgYWRpY2lvbmFsICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSByZWdpc3RybyBkZSBkaXNwb3NpdGl2by5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckRldmljZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZGV2aWNlOiB7XG4gICAgZGV2aWNlSWQ6IHN0cmluZztcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIHBsYXRmb3JtOiBEZXZpY2VQbGF0Zm9ybTtcbiAgICBicm93c2VyPzogc3RyaW5nO1xuICAgIG9zPzogc3RyaW5nO1xuICAgIGxhc3RBY3RpdmU6IHN0cmluZztcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgfTtcbiAgLyoqIHRydWUgc2kgZXMgdW4gbnVldm8gZGlzcG9zaXRpdm8sIGZhbHNlIHNpIHNlIGFjdHVhbGl6w7MgdW5vIGV4aXN0ZW50ZSAqL1xuICBpc05ldzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXN1bHRhZG8gZGUgaGFiaWxpdGFyIG5vdGlmaWNhY2lvbmVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuYWJsZU5vdGlmaWNhdGlvbnNSZXN1bHQge1xuICAvKiogU2kgc2Ugb3Rvcmdhcm9uIGxvcyBwZXJtaXNvcyAqL1xuICBncmFudGVkOiBib29sZWFuO1xuICAvKiogRkNNIHRva2VuIChzb2xvIHNpIGdyYW50ZWQ9dHJ1ZSkgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBTaSBlbCBkaXNwb3NpdGl2byBmdWUgcmVnaXN0cmFkbyBlbiBlbCBiYWNrZW5kICovXG4gIHJlZ2lzdGVyZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBwZXJtaXNvcyBkZSBub3RpZmljYWNpw7NuLlxuICovXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uU3RhdGUgPSAnZ3JhbnRlZCcgfCAnZGVuaWVkJyB8ICdkZWZhdWx0JyB8ICd1bnN1cHBvcnRlZCc7XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlbCByZWdpc3RybyBtYW51YWwgZGUgZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJEZXZpY2VSZXN1bHQge1xuICAvKiogU2kgZWwgZGlzcG9zaXRpdm8gZnVlIHJlZ2lzdHJhZG8gZXhpdG9zYW1lbnRlICovXG4gIHJlZ2lzdGVyZWQ6IGJvb2xlYW47XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gKHNvbG8gc2kgcmVnaXN0ZXJlZD10cnVlKSAqL1xuICBkZXZpY2VJZD86IHN0cmluZztcbiAgLyoqIEZDTSB0b2tlbiB1c2FkbyBwYXJhIGVsIHJlZ2lzdHJvICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKiogTWVuc2FqZSBkZSBlcnJvciAoc29sbyBzaSByZWdpc3RlcmVkPWZhbHNlKSAqL1xuICBlcnJvcj86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERFVklDRSBNQU5BR0VNRU5UIChEZXRlY2Npw7NuIGRlIGRpc3Bvc2l0aXZvcyBudWV2b3MpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVzdGFkb3MgcG9zaWJsZXMgZGUgdW4gZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCB0eXBlIERldmljZVN0YXR1cyA9ICdhY3RpdmUnIHwgJ3BlbmRpbmdfYXBwcm92YWwnIHwgJ2Jsb2NrZWQnO1xuXG4vKipcbiAqIEluZm9ybWFjacOzbiBjb21wbGV0YSBkZSB1biBkaXNwb3NpdGl2byByZWdpc3RyYWRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUluZm8ge1xuICAvKiogSUQgw7puaWNvIGRlbCBkaXNwb3NpdGl2byAqL1xuICBkZXZpY2VJZDogc3RyaW5nO1xuICAvKiogUGxhdGFmb3JtYSBkZWwgZGlzcG9zaXRpdm8gKi9cbiAgcGxhdGZvcm06IERldmljZVBsYXRmb3JtO1xuICAvKiogTmF2ZWdhZG9yIChzb2xvIHdlYikgKi9cbiAgYnJvd3Nlcj86IHN0cmluZztcbiAgLyoqIFNpc3RlbWEgb3BlcmF0aXZvICovXG4gIG9zPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogRXN0YWRvIGFjdHVhbCBkZWwgZGlzcG9zaXRpdm8gKi9cbiAgc3RhdHVzOiBEZXZpY2VTdGF0dXM7XG4gIC8qKiBEaXJlY2Npw7NuIElQIGRlbCDDumx0aW1vIGFjY2VzbyAqL1xuICBpcEFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKiBVYmljYWNpw7NuIGdlb2dyw6FmaWNhIGFwcm94aW1hZGEgKi9cbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIC8qKiDDmmx0aW1hIGFjdGl2aWRhZCAqL1xuICBsYXN0QWN0aXZlOiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBjcmVhY2nDs24vcmVnaXN0cm8gKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBhcHJvYmFjacOzbiAoc2kgYXBsaWNhKSAqL1xuICBhcHByb3ZlZEF0Pzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgYmxvcXVlbyAoc2kgYXBsaWNhKSAqL1xuICBibG9ja2VkQXQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgbGlzdGFyIGRpc3Bvc2l0aXZvcyBkZWwgdXN1YXJpby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0RGV2aWNlc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZGV2aWNlczogRGV2aWNlSW5mb1tdO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGFjY2nDs24gc29icmUgZGlzcG9zaXRpdm8gKGJsb2NrL2FwcHJvdmUvZGVsZXRlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBY3Rpb25SZXN1bHQge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTRVNTSU9OIE1BTkFHRU1FTlQgKEdlc3Rpw7NuIGRlIHNlc2lvbmVzIGFjdGl2YXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEluZm9ybWFjacOzbiBkZSB1bmEgc2VzacOzbiBhY3RpdmEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvbkluZm8ge1xuICAvKiogSUQgw7puaWNvIGRlIGxhIHNlc2nDs24gKi9cbiAgc2Vzc2lvbklkOiBzdHJpbmc7XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gYXNvY2lhZG8gKHNpIGV4aXN0ZSkgKi9cbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIC8qKiBJbmZvcm1hY2nDs24gZGVsIGRpc3Bvc2l0aXZvIChVc2VyLUFnZW50KSAqL1xuICBkZXZpY2VJbmZvPzogc3RyaW5nO1xuICAvKiogRGlyZWNjacOzbiBJUCBkZSBsYSBzZXNpw7NuICovXG4gIGlwPzogc3RyaW5nO1xuICAvKiogVWJpY2FjacOzbiBnZW9ncsOhZmljYSBhcHJveGltYWRhICovXG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgY3JlYWNpw7NuIGRlIGxhIHNlc2nDs24gKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBleHBpcmFjacOzbiBkZSBsYSBzZXNpw7NuICovXG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICAvKiogSW5kaWNhIHNpIGVzIGxhIHNlc2nDs24gYWN0dWFsIGRlbCB1c3VhcmlvICovXG4gIGlzQ3VycmVudDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBsaXN0YXIgc2VzaW9uZXMgYWN0aXZhcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U2Vzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHNlc3Npb25zOiBTZXNzaW9uSW5mb1tdO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHJldm9jYXIgc2VzacOzbihlcykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV2b2tlU2Vzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIC8qKiBOw7ptZXJvIGRlIHNlc2lvbmVzIHJldm9jYWRhcyAqL1xuICBzZXNzaW9uc1Jldm9rZWQ6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERFVklDRSBBQ1RJT04gKEFjY2lvbmVzIGRlc2RlIGVtYWlsIGRlIGFsZXJ0YSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGVqZWN1dGFyIGFjY2nDs24gZGUgZGlzcG9zaXRpdm8gZGVzZGUgZW1haWwuXG4gKiBFbCB0b2tlbiB2aWVuZSBlbiBsYSBVUkwgZGVsIGVtYWlsIGRlIGFsZXJ0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBY3Rpb25SZXF1ZXN0IHtcbiAgLyoqIFRva2VuIEpXVCBkZSBhY2Npw7NuICgyNGgsIHVuIHNvbG8gdXNvKSAqL1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGVqZWN1dGFyIGFjY2nDs24gZGUgZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlQWN0aW9uUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAvKiogU2kgbGEgYWNjacOzbiBmdWUgZWplY3V0YWRhIGV4aXRvc2FtZW50ZSAqL1xuICBzdWNjZXNzOiBib29sZWFuO1xuICAvKiogQWNjacOzbiBlamVjdXRhZGEgKHJlZnVzZSwgYXBwcm92ZSwgYmxvY2spICovXG4gIGFjdGlvbjogc3RyaW5nO1xuICAvKiogSUQgZGVsIGRpc3Bvc2l0aXZvIGFmZWN0YWRvICovXG4gIGRldmljZUlkOiBzdHJpbmc7XG4gIC8qKiBOw7ptZXJvIGRlIHNlc2lvbmVzIHJldm9jYWRhcyAoc2kgYWN0aW9uPXJlZnVzZS9ibG9jaykgKi9cbiAgc2Vzc2lvbnNSZXZva2VkPzogbnVtYmVyO1xuICAvKiogTWVuc2FqZSBkZXNjcmlwdGl2byAqL1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgdmFsaWRhciB0b2tlbiBkZSBhY2Npw7NuIChzaW4gZWplY3V0YXIpLlxuICogVXNhZG8gcGFyYSBtb3N0cmFyIGNvbmZpcm1hY2nDs24gYWwgdXN1YXJpbyBhbnRlcyBkZSBlamVjdXRhci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZUFjdGlvblJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFNpIGVsIHRva2VuIGVzIHbDoWxpZG8gKi9cbiAgdmFsaWQ6IGJvb2xlYW47XG4gIC8qKiBUaXBvIGRlIGFjY2nDs24gKGRldmljZTpyZWZ1c2UsIGRldmljZTphcHByb3ZlLCBldGMuKSAqL1xuICBhY3Rpb25UeXBlPzogc3RyaW5nO1xuICAvKiogVGlwbyBkZSByZWN1cnNvIG9iamV0aXZvIChkZXZpY2UsIGRvY3VtZW50LCBldGMuKSAqL1xuICB0YXJnZXRUeXBlPzogc3RyaW5nO1xuICAvKiogSUQgZGVsIHJlY3Vyc28gb2JqZXRpdm8gKi9cbiAgdGFyZ2V0SWQ/OiBzdHJpbmc7XG4gIC8qKiBNZW5zYWplIGRlIGVycm9yIChzaSB2YWxpZD1mYWxzZSkgKi9cbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9BVVRIIChMb2dpbiBzb2NpYWwpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFByb3ZlZWRvcmVzIE9BdXRoIHNvcG9ydGFkb3MuXG4gKi9cbmV4cG9ydCB0eXBlIE9BdXRoUHJvdmlkZXIgPSAnZ29vZ2xlJyB8ICdhcHBsZScgfCAnbWljcm9zb2Z0JztcblxuLyoqXG4gKiBSZXN1bHRhZG8gZXhpdG9zbyBkZSBmbHVqbyBPQXV0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPQXV0aFJlc3VsdCB7XG4gIC8qKiBUb2tlbiBkZSBhY2Nlc28gSldUICovXG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIC8qKiBUb2tlbiBkZSByZWZyZXNjbyAqL1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgLyoqIFRva2VuIGRlIEZpcmViYXNlIChzaSBlc3TDoSBoYWJpbGl0YWRvKSAqL1xuICBmaXJlYmFzZVRva2VuPzogc3RyaW5nO1xuICAvKiogVGllbXBvIGRlIGV4cGlyYWNpw7NuIGVuIHNlZ3VuZG9zICovXG4gIGV4cGlyZXNJbjogbnVtYmVyO1xuICAvKiogUm9sZXMgZGVsIHVzdWFyaW8gKi9cbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgLyoqIFBlcm1pc29zIGRlbCB1c3VhcmlvICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIC8qKiBJbmRpY2Egc2kgZXMgdW4gdXN1YXJpbyBudWV2byAocmVjacOpbiBjcmVhZG8pICovXG4gIGlzTmV3VXNlcj86IGJvb2xlYW47XG4gIC8qKiBJbmRpY2Egc2kgbGEgY3VlbnRhIGZ1ZSB2aW5jdWxhZGEgYSB1c3VhcmlvIGV4aXN0ZW50ZSAqL1xuICBsaW5rZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogYHRydWVgIHNpIGVsIGJhY2tlbmQgZXhpZ2UgdmVyaWZpY2FjacOzbiBNRkEgdHJhcyBlbCBPQXV0aC4gRW4gZXNlIGNhc29cbiAgICogTk8gdmllbmVuIGBhY2Nlc3NUb2tlbmAvYHJlZnJlc2hUb2tlbmAg4oCUIGVsIGZsdWpvIGNvbnRpbsO6YSBjb24gYG1mYVRva2VuYC5cbiAgICovXG4gIG1mYVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFRva2VuIHRlbXBvcmFsIHBhcmEgZWwgY2hhbGxlbmdlIE1GQSAocHJlc2VudGUgc2kgYG1mYVJlcXVpcmVkYCkuICovXG4gIG1mYVRva2VuPzogc3RyaW5nO1xuICAvKiogTcOpdG9kbyBNRkEgY29uZmlndXJhZG8gcG9yIGVsIHVzdWFyaW8gKHByZXNlbnRlIHNpIGBtZmFSZXF1aXJlZGApLiAqL1xuICBtZmFNZXRob2Q/OiBNRkFNZXRob2Q7XG59XG5cbi8qKlxuICogRXJyb3IgZGUgT0F1dGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0F1dGhFcnJvciB7XG4gIC8qKiBDw7NkaWdvIGRlIGVycm9yICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIE1lbnNhamUgZGVzY3JpcHRpdm8gKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdG9zIGVudmlhZG9zIGRlc2RlIHBvcHVwIGNhbGxiYWNrIHZpYSBwb3N0TWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPQXV0aENhbGxiYWNrRGF0YSB7XG4gIC8qKiBUaXBvIGRlIG1lbnNhamUgKi9cbiAgdHlwZTogJ29hdXRoLWNhbGxiYWNrJztcbiAgLyoqIFRva2VucyAoc2kgw6l4aXRvKSAqL1xuICB0b2tlbnM/OiBPQXV0aFJlc3VsdDtcbiAgLyoqIEVycm9yIChzaSBmYWxsw7MpICovXG4gIGVycm9yPzogT0F1dGhFcnJvcjtcbn1cblxuLyoqXG4gKiBQcm92ZWVkb3IgT0F1dGggdmluY3VsYWRvIGFsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTGlua2VkUHJvdmlkZXIge1xuICAvKiogTm9tYnJlIGRlbCBwcm92ZWVkb3IgKi9cbiAgcHJvdmlkZXI6IE9BdXRoUHJvdmlkZXI7XG4gIC8qKiBFbWFpbCBhc29jaWFkbyBhbCBwcm92ZWVkb3IgKi9cbiAgZW1haWw6IHN0cmluZztcbiAgLyoqIE5vbWJyZSBkZWwgdXN1YXJpbyBlbiBlbCBwcm92ZWVkb3IgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqIFVSTCBkZSBpbWFnZW4gZGUgcGVyZmlsICovXG4gIHBpY3R1cmU/OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSB2aW5jdWxhY2nDs24gKi9cbiAgbGlua2VkQXQ6IHN0cmluZztcbiAgLyoqIMOabHRpbWEgdmV6IHF1ZSBzZSB1c8OzIHBhcmEgbG9naW4gKi9cbiAgbGFzdFVzZWRBdD86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYXIgc2kgdGllbmUgY29udHJhc2XDsWEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSGFzUGFzc3dvcmRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGhhc1Bhc3N3b3JkOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSEFORExFIChVc2VybmFtZSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGFjdHVhbGl6YXIgaGFuZGxlIChAdXNlcm5hbWUpLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUhhbmRsZVJlcXVlc3Qge1xuICBoYW5kbGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBhY3R1YWxpemFyIGhhbmRsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVIYW5kbGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGhhbmRsZTogc3RyaW5nO1xuICB1cGRhdGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgZGlzcG9uaWJpbGlkYWQgZGUgaGFuZGxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoZWNrSGFuZGxlUmVxdWVzdCB7XG4gIGhhbmRsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHZlcmlmaWNhciBkaXNwb25pYmlsaWRhZCBkZSBoYW5kbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tIYW5kbGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGhhbmRsZTogc3RyaW5nO1xuICBhdmFpbGFibGU6IGJvb2xlYW47XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBMSU5LRUQgUFJPVklERVJTIChPQXV0aClcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgb2J0ZW5lciBwcm92ZWVkb3JlcyBPQXV0aCB2aW5jdWxhZG9zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldExpbmtlZFByb3ZpZGVyc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgcHJvdmlkZXJzOiBMaW5rZWRQcm92aWRlcltdO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBkZXN2aW5jdWxhciB1biBwcm92ZWVkb3IgT0F1dGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5saW5rUHJvdmlkZXJSZXF1ZXN0IHtcbiAgcHJvdmlkZXI6IE9BdXRoUHJvdmlkZXI7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZGVzdmluY3VsYXIgcHJvdmVlZG9yLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVubGlua1Byb3ZpZGVyUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1bmxpbmtlZDogYm9vbGVhbjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBFTUFJTCBDSEFOR0Ug4oCUIDMtc3RlcCBmbG93XG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuZXhwb3J0IGludGVyZmFjZSBJbml0aWF0ZUVtYWlsQ2hhbmdlUmVxdWVzdCB7XG4gIGN1cnJlbnRQYXNzd29yZDogc3RyaW5nO1xuICBuZXdFbWFpbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYXRlRW1haWxDaGFuZ2VSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHBlbmRpbmdFbWFpbDogc3RyaW5nO1xuICByZXF1ZXN0TG9jYXRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRW1haWxDaGFuZ2VTdGVwMVJlcXVlc3Qge1xuICBjb2RlOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybUVtYWlsQ2hhbmdlU3RlcDFSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHZlcmlmaWVkOiBib29sZWFuO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1FbWFpbENoYW5nZVN0ZXAyUmVxdWVzdCB7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRW1haWxDaGFuZ2VTdGVwMlJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgc3VjY2VzczogYm9vbGVhbjtcbiAgbmV3RW1haWw6IHN0cmluZztcbn1cbiJdfQ==
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL2F1dGgvdHlwZXMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7OztHQUdHO0FBNEhIOztHQUVHO0FBQ0gsTUFBTSxDQUFDLE1BQU0sa0JBQWtCLEdBQWM7SUFDM0MsZUFBZSxFQUFFLEtBQUs7SUFDdEIsU0FBUyxFQUFFLElBQUk7SUFDZixXQUFXLEVBQUUsSUFBSTtJQUNqQixZQUFZLEVBQUUsSUFBSTtJQUNsQixNQUFNLEVBQUUsSUFBSTtJQUNaLEtBQUssRUFBRSxJQUFJO0lBQ1gsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVBQUUsRUFBRTtJQUNULFdBQVcsRUFBRSxFQUFFO0lBQ2YsWUFBWSxFQUFFLEtBQUs7SUFDbkIsU0FBUyxFQUFFLEtBQUs7SUFDaEIsU0FBUyxFQUFFLElBQUk7SUFDZixLQUFLLEVBQUUsSUFBSTtDQUNaLENBQUM7QUFrQkY7O0dBRUc7QUFDSCxNQUFNLENBQUMsTUFBTSxpQkFBaUIsR0FBb0I7SUFDaEQsUUFBUSxFQUFFLEtBQUs7SUFDZixRQUFRLEVBQUUsSUFBSTtJQUNkLE1BQU0sRUFBRSxJQUFJO0NBQ2IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogVGlwb3MgZSBpbnRlcmZhY2VzIHBhcmEgZWwgc2VydmljaW8gZGUgYXV0ZW50aWNhY2nDs24gZGUgVmFsdGVjaC5cbiAqIEFsaW5lYWRvcyBjb24gZWwgYmFja2VuZCBBdXRoVjIuXG4gKi9cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIENPTkZJR1VSQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIENvbmZpZ3VyYWNpw7NuIHBhcmEgZWwgc2VydmljaW8gZGUgYXV0ZW50aWNhY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVmFsdGVjaEF1dGhDb25maWcge1xuICAvKiogVVJMIGJhc2UgZGUgbGEgQVBJIChlajogJ2h0dHBzOi8vYXBpLm15dmFsdGVjaC5jb20nKSAqL1xuICBhcGlVcmw6IHN0cmluZztcbiAgLyoqIFByZWZpam8gcGFyYSBlbmRwb2ludHMgZGUgYXV0aCAoZGVmYXVsdDogJy92Mi9hdXRoJykgKi9cbiAgYXV0aFByZWZpeD86IHN0cmluZztcbiAgLyoqIFByZWZpam8gcGFyYSBsYXMgY2xhdmVzIGRlIGxvY2FsU3RvcmFnZSAoZGVmYXVsdDogJ3ZhbHRlY2hfYXV0aF8nKSAqL1xuICBzdG9yYWdlUHJlZml4Pzogc3RyaW5nO1xuICAvKiogVGllbXBvIGFudGVzIGRlIGV4cGlyYWNpw7NuIHBhcmEgcmVmcmVzY2FyIHRva2VuIGVuIHNlZ3VuZG9zIChkZWZhdWx0OiA2MCkgKi9cbiAgcmVmcmVzaEJlZm9yZUV4cGlyeT86IG51bWJlcjtcbiAgLyoqIEhhYmlsaXRhciBzaW5jcm9uaXphY2nDs24gZW50cmUgcGVzdGHDsWFzIChkZWZhdWx0OiB0cnVlKSAqL1xuICBlbmFibGVUYWJTeW5jPzogYm9vbGVhbjtcbiAgLyoqIFJ1dGEgZGUgcmVkaXJlY2Npw7NuIGN1YW5kbyBubyBhdXRlbnRpY2FkbyAoZGVmYXVsdDogJy9sb2dpbicpICovXG4gIGxvZ2luUm91dGU/OiBzdHJpbmc7XG4gIC8qKiBSdXRhIGRlIHJlZGlyZWNjacOzbiBjdWFuZG8geWEgYXV0ZW50aWNhZG8gKGRlZmF1bHQ6ICcvJykgKi9cbiAgaG9tZVJvdXRlPzogc3RyaW5nO1xuICAvKiogUnV0YSBwYXJhIGFjY2VzbyBkZW5lZ2FkbyAoZGVmYXVsdDogJy91bmF1dGhvcml6ZWQnKSAqL1xuICB1bmF1dGhvcml6ZWRSb3V0ZT86IHN0cmluZztcbiAgLyoqIEhhYmlsaXRhciBpbnRlZ3JhY2nDs24gY29uIEZpcmViYXNlU2VydmljZSAoZGVmYXVsdDogZmFsc2UpICovXG4gIGVuYWJsZUZpcmViYXNlSW50ZWdyYXRpb24/OiBib29sZWFuO1xuICAvKiogSGFiaWxpdGFyIHJlZ2lzdHJvIGF1dG9tw6F0aWNvIGRlIGRldmljZSB0b2tlbnMgcGFyYSBwdXNoIG5vdGlmaWNhdGlvbnMgKGRlZmF1bHQ6IGZhbHNlKSAqL1xuICBlbmFibGVEZXZpY2VSZWdpc3RyYXRpb24/OiBib29sZWFuO1xuICAvKipcbiAgICogQXBwSUQgZGUgZXN0YSBhcHAgZGVudHJvIGRlbCBmYWN0b3J5IChlajogJ3Nob3djYXNlJywgJ3NpZ2lmeScsICdteXZhbHRlY2gnKS5cbiAgICogVXNhZG8gcG9yIE5vdGlmaWNhdGlvbkFjdGlvblNlcnZpY2UgcGFyYSBkZWNpZGlyIHNpIHVuYSBub3RpZmljYWNpw7NuXG4gICAqIGFwdW50YSBhIGxhIGFwcCBhY3R1YWwgbyByZXF1aWVyZSBoYW5kb2ZmIGNyb3NzLWFwcC5cbiAgICovXG4gIGFwcElkPzogc3RyaW5nO1xuICAvKipcbiAgICogTWFwYSBhcHBJZCDihpIgYmFzZVVybCBhYnNvbHV0YSBwYXJhIGhhbmRvZmYgY3Jvc3MtYXBwLlxuICAgKiBFajogeyBzaWdpZnk6ICdodHRwczovL3NpZ2lmeS5jb20nLCBteXZhbHRlY2g6ICdodHRwczovL2FwcC5teXZhbHRlY2guY29tJyB9XG4gICAqIE5vdGlmaWNhdGlvbkFjdGlvblNlcnZpY2UgdXNhIGVzdGUgbWFwIGFsIGRpc3BhcmFyIGhhbmRvZmYgYSBvdHJhIGFwcC5cbiAgICovXG4gIGFwcFVybHM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAvKipcbiAgICogSGFiaWxpdGFyIHNpbmNyb25pemFjacOzbiByZWFjdGl2YSBkZSBwZXJtaXNvcyB2aWEgRmlyZXN0b3JlIG9uU25hcHNob3QgKGRlZmF1bHQ6IGZhbHNlKS5cbiAgICogUmVxdWllcmUgZW5hYmxlRmlyZWJhc2VJbnRlZ3JhdGlvbjogdHJ1ZS4gQ3VhbmRvIHVuIGFkbWluIGFzaWduYSBvIHJldm9jYSB1biByb2wsXG4gICAqIGVsIGZyb250ZW5kIGFjdHVhbGl6YSByb2xlcy9wZXJtaXNvcyBzaW4gcmVjYXJnYXIgbGEgcMOhZ2luYSAofjEtM3MgbGF0ZW5jaWEpLlxuICAgKiBSZXF1aWVyZSBxdWUgZWwgYmFja2VuZCB0ZW5nYSBTeW5jUkJBQ1RvRmlyZXN0b3JlIGFjdGl2by5cbiAgICovXG4gIGVuYWJsZUZpcmVzdG9yZVJCQUM/OiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gRVNUQURPIERFIEFVVEVOVElDQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVzdGFkbyBjb21wbGV0byBkZSBhdXRlbnRpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoU3RhdGUge1xuICAvKiogVXN1YXJpbyBlc3TDoSBhdXRlbnRpY2FkbyAqL1xuICBpc0F1dGhlbnRpY2F0ZWQ6IGJvb2xlYW47XG4gIC8qKiBFc3RhZG8gZGUgY2FyZ2EgaW5pY2lhbCAqL1xuICBpc0xvYWRpbmc6IGJvb2xlYW47XG4gIC8qKiBUb2tlbiBkZSBhY2Nlc28gYWN0dWFsICovXG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmcgfCBudWxsO1xuICAvKiogVG9rZW4gZGUgcmVmcmVzY28gYWN0dWFsICovXG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIElEIGRlbCB1c3VhcmlvICovXG4gIHVzZXJJZDogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIEVtYWlsIGRlbCB1c3VhcmlvICovXG4gIGVtYWlsOiBzdHJpbmcgfCBudWxsO1xuICAvKiogTm9tYnJlIGNvbXBsZXRvIGRlbCB1c3VhcmlvIChwb2JsYWRvIHRyYXMgYGdldFByb2ZpbGUoKWApICovXG4gIG5hbWU/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogVXNlcm5hbWUvaGFuZGxlIChwb2JsYWRvIHRyYXMgYGdldFByb2ZpbGUoKWApICovXG4gIGhhbmRsZT86IHN0cmluZyB8IG51bGw7XG4gIC8qKiBVUkwgZGVsIGF2YXRhciAocG9ibGFkbyB0cmFzIGBnZXRQcm9maWxlKClgKSAqL1xuICBhdmF0YXJVcmw/OiBzdHJpbmcgfCBudWxsO1xuICAvKiogVGVsw6lmb25vIChwb2JsYWRvIHRyYXMgYGdldFByb2ZpbGUoKWApICovXG4gIHBob25lPzogc3RyaW5nIHwgbnVsbDtcbiAgLyoqIElEIGRlIGxhIG9yZ2FuaXphY2nDs24gYWN0aXZhICovXG4gIGFjdGl2ZU9yZz86IHN0cmluZyB8IG51bGw7XG4gIC8qKiBSb2xlcyBkZWwgdXN1YXJpbyAqL1xuICByb2xlczogc3RyaW5nW107XG4gIC8qKiBQZXJtaXNvcyBkZWwgdXN1YXJpbyAoZm9ybWF0byAncmVzb3VyY2U6YWN0aW9uJykgKi9cbiAgcGVybWlzc2lvbnM6IHN0cmluZ1tdO1xuICAvKiogVXN1YXJpbyBlcyBzdXBlciBhZG1pbiAqL1xuICBpc1N1cGVyQWRtaW46IGJvb2xlYW47XG4gIC8qKiBVc3VhcmlvIHRpZW5lIHN1c2NyaXBjacOzbiBwcmVtaXVtIGFjdGl2YSAobm8gdmUgYWRzKSAqL1xuICBpc1ByZW1pdW06IGJvb2xlYW47XG4gIC8qKiBUaW1lc3RhbXAgZGUgZXhwaXJhY2nDs24gZGVsIGFjY2Vzc1Rva2VuIChtcykgKi9cbiAgZXhwaXJlc0F0OiBudW1iZXIgfCBudWxsO1xuICAvKiogRXJyb3IgZGUgYXV0ZW50aWNhY2nDs24gKHNpIGV4aXN0ZSkgKi9cbiAgZXJyb3I6IEF1dGhFcnJvciB8IG51bGw7XG59XG5cbi8qKlxuICogSW5mb3JtYWNpw7NuIGRlbCB1c3VhcmlvIGF1dGVudGljYWRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEF1dGhVc2VyIHtcbiAgdXNlcklkOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIG5hbWU/OiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xuICAvKiogVXNlcm5hbWUvaGFuZGxlIGRlbCB1c3VhcmlvIChlajogQHZpY3RvcnYpICovXG4gIGhhbmRsZT86IHN0cmluZztcbiAgLyoqIElEIGRlIGxhIG9yZ2FuaXphY2nDs24gYWN0aXZhICovXG4gIGFjdGl2ZU9yZz86IHN0cmluZztcbiAgLyoqIFVSTCBkZWwgYXZhdGFyIGRlbCB1c3VhcmlvICovXG4gIGF2YXRhclVybD86IHN0cmluZztcbiAgcm9sZXM6IHN0cmluZ1tdO1xuICBwZXJtaXNzaW9uczogc3RyaW5nW107XG4gIGlzU3VwZXJBZG1pbjogYm9vbGVhbjtcbiAgbWZhRW5hYmxlZD86IGJvb2xlYW47XG4gIG1mYU1ldGhvZD86IE1GQU1ldGhvZDtcbn1cblxuLyoqXG4gKiBFcnJvciBkZSBhdXRlbnRpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBBdXRoRXJyb3Ige1xuICBjb2RlOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBFc3RhZG8gaW5pY2lhbCBkZSBhdXRlbnRpY2FjacOzbi5cbiAqL1xuZXhwb3J0IGNvbnN0IElOSVRJQUxfQVVUSF9TVEFURTogQXV0aFN0YXRlID0ge1xuICBpc0F1dGhlbnRpY2F0ZWQ6IGZhbHNlLFxuICBpc0xvYWRpbmc6IHRydWUsXG4gIGFjY2Vzc1Rva2VuOiBudWxsLFxuICByZWZyZXNoVG9rZW46IG51bGwsXG4gIHVzZXJJZDogbnVsbCxcbiAgZW1haWw6IG51bGwsXG4gIGFjdGl2ZU9yZzogbnVsbCxcbiAgcm9sZXM6IFtdLFxuICBwZXJtaXNzaW9uczogW10sXG4gIGlzU3VwZXJBZG1pbjogZmFsc2UsXG4gIGlzUHJlbWl1bTogZmFsc2UsXG4gIGV4cGlyZXNBdDogbnVsbCxcbiAgZXJyb3I6IG51bGwsXG59O1xuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gTUZBXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogTcOpdG9kb3MgZGUgTUZBIHNvcG9ydGFkb3MgKi9cbmV4cG9ydCB0eXBlIE1GQU1ldGhvZCA9ICdFTUFJTCcgfCAnU01TJyB8ICdUT1RQJztcblxuLyoqXG4gKiBFc3RhZG8gZGUgTUZBIHBlbmRpZW50ZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFQZW5kaW5nU3RhdGUge1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgbWZhVG9rZW46IHN0cmluZyB8IG51bGw7XG4gIG1ldGhvZDogTUZBTWV0aG9kIHwgbnVsbDtcbn1cblxuLyoqXG4gKiBFc3RhZG8gaW5pY2lhbCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBjb25zdCBJTklUSUFMX01GQV9TVEFURTogTUZBUGVuZGluZ1N0YXRlID0ge1xuICByZXF1aXJlZDogZmFsc2UsXG4gIG1mYVRva2VuOiBudWxsLFxuICBtZXRob2Q6IG51bGwsXG59O1xuXG4vKipcbiAqIFJlc3VsdGFkbyBkZSBzZXR1cCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU2V0dXBSZXN1bHQge1xuICBjb2RlU2VudDogYm9vbGVhbjtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBNRkEgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU3RhdHVzIHtcbiAgZW5hYmxlZDogYm9vbGVhbjtcbiAgbWV0aG9kOiBNRkFNZXRob2QgfCBudWxsO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVE9UUCBNRkEgKEdvb2dsZSBBdXRoZW50aWNhdG9yKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBzZXR1cCBkZSBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBTZXR1cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFNlY3JldG8gVE9UUCBlbiBiYXNlMzIgKHBhcmEgZW50cmFkYSBtYW51YWwpICovXG4gIHNlY3JldDogc3RyaW5nO1xuICAvKiogVVJMIHBhcmEgZ2VuZXJhciBRUiBjb2RlIChvdHBhdXRoOi8vLi4uKSAqL1xuICBxckNvZGVVcmw6IHN0cmluZztcbiAgLyoqIEPDs2RpZ29zIGRlIHJlc3BhbGRvIGRlIHVuIHNvbG8gdXNvICovXG4gIGJhY2t1cENvZGVzOiBzdHJpbmdbXTtcbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSB2ZXJpZmljYXIgc2V0dXAgZGUgVE9UUC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBUT1RQVmVyaWZ5U2V0dXBSZXF1ZXN0IHtcbiAgLyoqIEPDs2RpZ28gVE9UUCBkZSA2IGTDrWdpdG9zICovXG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIHNldHVwIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUFZlcmlmeVNldHVwUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBlbmFibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGRlc2hhYmlsaXRhciBUT1RQLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFRPVFBEaXNhYmxlUmVxdWVzdCB7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZGVzaGFiaWxpdGFyIFRPVFAuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVE9UUERpc2FibGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGRpc2FibGVkOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVnZW5lcmFyIGPDs2RpZ29zIGRlIHJlc3BhbGRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2VuZXJhdGVCYWNrdXBDb2Rlc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgYmFja3VwQ29kZXM6IHN0cmluZ1tdO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgY2FudGlkYWQgZGUgY8OzZGlnb3MgZGUgcmVzcGFsZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQmFja3VwQ29kZXNDb3VudFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgY291bnQ6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIFJFUVVFU1RTL1JFU1BPTlNFUyAoYWxpbmVhZG9zIGNvbiBiYWNrZW5kIEF1dGhWMilcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBwYXNzd29yZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNpZ251cCAocmVnaXN0cm8pLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFNpZ251cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdXNlcklkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgdmVyaWZpY2FyIGVtYWlsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSB2ZXJpZmljYWNpw7NuIGRlIGVtYWlsLlxuICogU2kgZXMgZXhpdG9zbywgaW5jbHV5ZSB0b2tlbnMgcGFyYSBhdXRvLWxvZ2luLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFZlcmlmeUVtYWlsUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB2ZXJpZmllZDogYm9vbGVhbjtcbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbj86IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luPzogbnVtYmVyO1xuICB0b2tlblR5cGU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGFjdGl2YXIgdW5hIGN1ZW50YSBwcmUtYXByb3Zpc2lvbmFkYSBwb3IgdW5hIG9yZ2FuaXphY2nDs25cbiAqIChBRFItMDIzKTogZWwgdXN1YXJpbyBkZWZpbmUgc3UgY29udHJhc2XDsWEgY29uIGVsIHRva2VuIGRlbCBlbmxhY2UgZGUgZW1haWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZhdGVBY2NvdW50UmVxdWVzdCB7XG4gIHRva2VuOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgYWN0aXZhY2nDs24gZGUgY3VlbnRhLiBFbiDDqXhpdG8gaW5jbHV5ZSB0b2tlbnMgZGUgYXV0by1zaWduaW5cbiAqIChtaXNtbyBzaGFwZSBxdWUgdmVyaWZ5LWVtYWlsKSDigJQgZWwgdXN1YXJpbyBxdWVkYSBsb2d1ZWFkbyB0cmFzIGFjdGl2YXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQWN0aXZhdGVBY2NvdW50UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhY3RpdmF0ZWQ6IGJvb2xlYW47XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIGZpcmViYXNlVG9rZW4/OiBzdHJpbmc7XG4gIGV4cGlyZXNJbj86IG51bWJlcjtcbiAgdG9rZW5UeXBlPzogc3RyaW5nO1xuICByb2xlcz86IHN0cmluZ1tdO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSByZWVudmlhciBjw7NkaWdvIGRlIHZlcmlmaWNhY2nDs24uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZW5kQ29kZVJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICB0eXBlOiAnRU1BSUxfVkVSSUZZJyB8ICdQQVNTV09SRF9SRVNFVCc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVlbnbDrW8gZGUgY8OzZGlnby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXNlbmRDb2RlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzZW50OiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBzaWduaW4uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2lnbmluUmVxdWVzdCB7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBhc3N3b3JkOiBzdHJpbmc7XG4gIC8qKiBQbGF0YWZvcm1hIGRlbCBkaXNwb3NpdGl2byAocGFyYSBkZXRlY2Npw7NuIGRlIG51ZXZvIGRpc3Bvc2l0aXZvKSAqL1xuICBwbGF0Zm9ybT86IERldmljZVBsYXRmb3JtO1xuICAvKiogTmF2ZWdhZG9yIChzb2xvIHdlYikgKi9cbiAgYnJvd3Nlcj86IHN0cmluZztcbiAgLyoqIFNpc3RlbWEgb3BlcmF0aXZvICovXG4gIG9zPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBkZXZpY2VOYW1lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNpZ25pbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTaWduaW5SZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGFjY2Vzc1Rva2VuPzogc3RyaW5nO1xuICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7XG4gIGZpcmViYXNlVG9rZW4/OiBzdHJpbmc7XG4gIGV4cGlyZXNJbj86IG51bWJlcjtcbiAgdG9rZW5UeXBlPzogc3RyaW5nO1xuICBtZmFSZXF1aXJlZD86IGJvb2xlYW47XG4gIG1mYVRva2VuPzogc3RyaW5nO1xuICBtZmFNZXRob2Q/OiBNRkFNZXRob2Q7XG4gIHJvbGVzPzogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIC8qKiBJbmRpY2Egc2kgZWwgbG9naW4gZnVlIGRlc2RlIHVuIGRpc3Bvc2l0aXZvIG51ZXZvL25vIHJlY29ub2NpZG8gKi9cbiAgaXNOZXdEZXZpY2U/OiBib29sZWFuO1xuICAvKiogSUQgZGVsIGRpc3Bvc2l0aXZvIHVzYWRvIHBhcmEgZWwgbG9naW4gKi9cbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIC8qKiBJZGlvbWEgcHJlZmVyaWRvIGRlbCB1c3VhcmlvIChwYXJhIHNpbmNyb25pemFyIGNvbiBpMThuKSAqL1xuICBsYW5ndWFnZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgdmVyaWZpY2FyIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFWZXJpZnlSZXF1ZXN0IHtcbiAgbWZhVG9rZW46IHN0cmluZztcbiAgY29kZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHZlcmlmaWNhciBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBVmVyaWZ5UmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgZmlyZWJhc2VUb2tlbj86IHN0cmluZztcbiAgZXhwaXJlc0luOiBudW1iZXI7XG4gIHRva2VuVHlwZTogc3RyaW5nO1xuICByb2xlcz86IHN0cmluZ1tdO1xuICBwZXJtaXNzaW9ucz86IHN0cmluZ1tdO1xuICAvKiogSWRpb21hIHByZWZlcmlkbyBkZWwgdXN1YXJpbyAocGFyYSBzaW5jcm9uaXphciBjb24gaTE4bikgKi9cbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHJlZnJlc2NhciB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoUmVxdWVzdCB7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHJlZnJlc2NhciB0b2tlbi5cbiAqIEltcGxlbWVudGEgdG9rZW4gcm90YXRpb246IGNhZGEgcmVmcmVzaCBnZW5lcmEgdW4gbnVldm8gcmVmcmVzaCB0b2tlbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWZyZXNoUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhY2Nlc3NUb2tlbjogc3RyaW5nO1xuICByZWZyZXNoVG9rZW46IHN0cmluZzsgLy8gVG9rZW4gcm90YXRpb246IG51ZXZvIHJlZnJlc2ggdG9rZW5cbiAgZXhwaXJlc0luOiBudW1iZXI7XG4gIGZpcmViYXNlVG9rZW4/OiBzdHJpbmc7XG4gIHJvbGVzPzogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGxvZ291dC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMb2dvdXRSZXF1ZXN0IHtcbiAgcmVmcmVzaFRva2VuOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgbG9nb3V0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIExvZ291dFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgc3VjY2VzczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBvYnRlbmVyIHBlcm1pc29zLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEdldFBlcm1pc3Npb25zUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICByb2xlczogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgaXNTdXBlckFkbWluOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBzZXR1cCBkZSBNRkEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBU2V0dXBSZXF1ZXN0IHtcbiAgbWV0aG9kOiBNRkFNZXRob2Q7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHNldHVwIGRlIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFTZXR1cFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgY29kZVNlbnQ6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgY29uZmlybWFyIE1GQS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBNRkFDb25maXJtUmVxdWVzdCB7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBjb25maXJtYXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQUNvbmZpcm1SZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG1mYUVuYWJsZWQ6IGJvb2xlYW47XG4gIG1ldGhvZDogTUZBTWV0aG9kO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBkZXNoYWJpbGl0YXIgTUZBLlxuICovXG4vKipcbiAqIEFjZXB0YSBgcGFzc3dvcmRgIChjdWVudGEgY29uIGNvbnRyYXNlw7FhKSBvIGBtZmFDb2RlYCAoY3VlbnRhIE9BdXRoLW9ubHlcbiAqIGNvbiBUT1RQIHF1ZSBwcnVlYmEgcG9zZXNpw7NuIGRlbCBzZWd1bmRvIGZhY3RvcikuIFVubyByZXF1ZXJpZG8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgTUZBRGlzYWJsZVJlcXVlc3Qge1xuICBwYXNzd29yZD86IHN0cmluZztcbiAgbWZhQ29kZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBkZXNoYWJpbGl0YXIgTUZBLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIE1GQURpc2FibGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG1mYURpc2FibGVkOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBpbmljaWFyIHJlY3VwZXJhY2nDs24gZGUgY29udHJhc2XDsWEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9yZ290UGFzc3dvcmRSZXF1ZXN0IHtcbiAgZW1haWw6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBmb3Jnb3QgcGFzc3dvcmQgKHNpZW1wcmUgaWd1YWwgcG9yIHNlZ3VyaWRhZCkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRm9yZ290UGFzc3dvcmRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgcmVzZXRlYXIgY29udHJhc2XDsWEgY29uIGPDs2RpZ28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZFJlcXVlc3Qge1xuICBlbWFpbDogc3RyaW5nO1xuICBjb2RlOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgcmVzZXQgcGFzc3dvcmQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVzZXRQYXNzd29yZFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgc3VjY2VzczogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgY2FtYmlhciBjb250cmFzZcOxYSAodXN1YXJpbyBhdXRlbnRpY2FkbykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhbmdlUGFzc3dvcmRSZXF1ZXN0IHtcbiAgY3VycmVudFBhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld1Bhc3N3b3JkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgY2FtYmlvIGRlIGNvbnRyYXNlw7FhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIENoYW5nZVBhc3N3b3JkUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xufVxuXG4vKipcbiAqIFJlcXVlc3QgcGFyYSBlbGltaW5hciBjdWVudGEuXG4gKiBVc3VhcmlvcyBjb24gY29udHJhc2XDsWE6IGVudmlhciBgcGFzc3dvcmRgLlxuICogVXN1YXJpb3MgT0F1dGggc2luIGNvbnRyYXNlw7FhOiBlbnZpYXIgYGNvZGVgIChvYnRlbmlkbyB2aWEgc2VuZERlbGV0ZUFjY291bnRDb2RlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZWxldGVBY2NvdW50UmVxdWVzdCB7XG4gIHBhc3N3b3JkPzogc3RyaW5nO1xuICBjb2RlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGVudmlhciBjw7NkaWdvIGRlIGNvbmZpcm1hY2nDs24gZGUgZWxpbWluYWNpw7NuIGRlIGN1ZW50YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTZW5kRGVsZXRlQWNjb3VudENvZGVSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgZWxpbWluYXIgY3VlbnRhLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERlbGV0ZUFjY291bnRSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGRlbGV0ZWQ6IGJvb2xlYW47XG4gIG1lc3NhZ2U6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBvYnRlbmVyIHBlcmZpbCBkZWwgdXN1YXJpby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBHZXRQcm9maWxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1c2VySWQ6IHN0cmluZztcbiAgZW1haWw6IHN0cmluZztcbiAgbmFtZTogc3RyaW5nO1xuICBwaG9uZT86IHN0cmluZztcbiAgLyoqIFVzZXJuYW1lL2hhbmRsZSBkZWwgdXN1YXJpbyAqL1xuICBoYW5kbGU/OiBzdHJpbmc7XG4gIC8qKiBVUkwgZGVsIGF2YXRhciBkZWwgdXN1YXJpbyAqL1xuICBhdmF0YXJVcmw/OiBzdHJpbmc7XG4gIGVtYWlsVmVyaWZpZWQ6IGJvb2xlYW47XG4gIHBob25lVmVyaWZpZWQ6IGJvb2xlYW47XG4gIG1mYUVuYWJsZWQ6IGJvb2xlYW47XG4gIG1mYU1ldGhvZD86IE1GQU1ldGhvZDtcbiAgLyoqIFRydWUgc2kgbGEgY3VlbnRhIHRpZW5lIGNvbnRyYXNlw7FhIHNldGVhZGEgKGZhbHNlIHBhcmEgT0F1dGgtb25seSBzaW4gcGFzc3dvcmQpLiAqL1xuICBoYXNQYXNzd29yZD86IGJvb2xlYW47XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBwZXJmaWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlUHJvZmlsZVJlcXVlc3Qge1xuICBuYW1lPzogc3RyaW5nO1xuICBwaG9uZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBhY3R1YWxpemFyIHBlcmZpbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVcGRhdGVQcm9maWxlUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICB1cGRhdGVkOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gVVBEQVRFIEFWQVRBUlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBhdmF0YXIgZGVsIHVzdWFyaW8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXZhdGFyUmVxdWVzdCB7XG4gIC8qKiBVUkwgZGVsIGF2YXRhciBlbiBGaXJlYmFzZSBTdG9yYWdlICovXG4gIGF2YXRhclVybDogc3RyaW5nO1xuICAvKiogVVJMIGRlbCB0aHVtYm5haWwgKG9wY2lvbmFsKSAqL1xuICBhdmF0YXJUaHVtYm5haWw/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgYWN0dWFsaXphciBhdmF0YXIuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlQXZhdGFyUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBhdmF0YXJVcmw6IHN0cmluZztcbiAgYXZhdGFyVGh1bWJuYWlsPzogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UT1MgREUgU0lOQ1JPTklaQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU1dJVENIIE9SR0FOSVpBVElPTlxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgY2FtYmlhciBkZSBvcmdhbml6YWNpw7NuIGFjdGl2YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hPcmdSZXF1ZXN0IHtcbiAgb3JnYW5pemF0aW9uSWQ6IHN0cmluZztcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBjYW1iaW8gZGUgb3JnYW5pemFjacOzbi5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBTd2l0Y2hPcmdSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIGZpcmViYXNlVG9rZW46IHN0cmluZztcbiAgYWN0aXZlT3JnOiBzdHJpbmc7XG4gIC8qKiBOdWV2byBKV1QgY29uIGFjdGl2ZU9yZyBhY3R1YWxpemFkby4gRWwgRkUgbG8gYWxtYWNlbmEgcGFyYSBxdWUgZWxcbiAgICogIGJvb3RzdHJhcCBwb3N0LXJlZnJlc2ggdXNlIGxhIG9yZyBjb3JyZWN0YSBlbiB2ZXogZGVsIEpXVCBjYWNoZWFkby4gKi9cbiAgYWNjZXNzVG9rZW4/OiBzdHJpbmc7XG4gIGV4cGlyZXNJbj86IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVWRU5UT1MgREUgU0lOQ1JPTklaQUNJw5NOXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKiogVGlwb3MgZGUgZXZlbnRvcyBkZSBzaW5jcm9uaXphY2nDs24gZW50cmUgcGVzdGHDsWFzICovXG5leHBvcnQgdHlwZSBBdXRoU3luY0V2ZW50VHlwZSA9XG4gIHwgJ0xPR0lOJ1xuICB8ICdMT0dPVVQnXG4gIHwgJ1RPS0VOX1JFRlJFU0gnXG4gIHwgJ1BFUk1JU1NJT05TX1VQREFURSdcbiAgfCAnT1JHX1NXSVRDSCc7XG5cbi8qKlxuICogRXZlbnRvIGRlIHNpbmNyb25pemFjacOzbiBlbnRyZSBwZXN0YcOxYXMuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQXV0aFN5bmNFdmVudCB7XG4gIHR5cGU6IEF1dGhTeW5jRXZlbnRUeXBlO1xuICB0aW1lc3RhbXA6IG51bWJlcjtcbiAgcGF5bG9hZD86IHtcbiAgICBhY2Nlc3NUb2tlbj86IHN0cmluZztcbiAgICByZWZyZXNoVG9rZW4/OiBzdHJpbmc7IC8vIFRva2VuIHJvdGF0aW9uIHN1cHBvcnRcbiAgICBleHBpcmVzQXQ/OiBudW1iZXI7XG4gICAgYWN0aXZlT3JnPzogc3RyaW5nO1xuICB9O1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gSldUIENMQUlNU1xuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBDbGFpbXMgZGVsIEpXVCBkZSBhY2Nlc28uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSldUQ2xhaW1zIHtcbiAgLyoqIFVzZXIgSUQgKi9cbiAgdWlkOiBzdHJpbmc7XG4gIC8qKiBFbWFpbCAqL1xuICBlbWFpbDogc3RyaW5nO1xuICAvKiogU2Vzc2lvbiBJRCAqL1xuICBzaWQ/OiBzdHJpbmc7XG4gIC8qKiBVc3VhcmlvIHRpZW5lIHN1c2NyaXBjacOzbiBwcmVtaXVtIGFjdGl2YSAqL1xuICBwcmVtaXVtPzogYm9vbGVhbjtcbiAgLyoqIEFjdGl2ZSBvcmdhbml6YXRpb24gSUQgKEpXVCBjbGFpbSBcIm9yZ1wiKSAqL1xuICBvcmc/OiBzdHJpbmc7XG4gIC8qKiBJc3N1ZWQgYXQgKi9cbiAgaWF0OiBudW1iZXI7XG4gIC8qKiBFeHBpcmF0aW9uICovXG4gIGV4cDogbnVtYmVyO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuLy8gU1RPUkFHRVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBEYXRvcyBwZXJzaXN0aWRvcyBlbiBzdG9yYWdlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFN0b3JlZEF1dGhTdGF0ZSB7XG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIHJlZnJlc2hUb2tlbjogc3RyaW5nO1xuICByb2xlczogc3RyaW5nW107XG4gIHBlcm1pc3Npb25zOiBzdHJpbmdbXTtcbiAgaXNTdXBlckFkbWluOiBib29sZWFuO1xuICBpc1ByZW1pdW0/OiBib29sZWFuO1xuICBleHBpcmVzQXQ/OiBudW1iZXI7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBERVZJQ0UgUkVHSVNUUkFUSU9OIChQdXNoIE5vdGlmaWNhdGlvbnMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFBsYXRhZm9ybWFzIHNvcG9ydGFkYXMgcGFyYSBwdXNoIG5vdGlmaWNhdGlvbnMuXG4gKi9cbmV4cG9ydCB0eXBlIERldmljZVBsYXRmb3JtID0gJ3dlYicgfCAnaW9zJyB8ICdhbmRyb2lkJztcblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgcmVnaXN0cmFyIHVuIGRpc3Bvc2l0aXZvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFJlZ2lzdGVyRGV2aWNlUmVxdWVzdCB7XG4gIC8qKiBGQ00gdG9rZW4gZGVsIGRpc3Bvc2l0aXZvICovXG4gIHRva2VuOiBzdHJpbmc7XG4gIC8qKiBQbGF0YWZvcm1hIGRlbCBkaXNwb3NpdGl2byAqL1xuICBwbGF0Zm9ybTogRGV2aWNlUGxhdGZvcm07XG4gIC8qKiBOYXZlZ2Fkb3IgKHNvbG8gd2ViKSAqL1xuICBicm93c2VyPzogc3RyaW5nO1xuICAvKiogU2lzdGVtYSBvcGVyYXRpdm8gKi9cbiAgb3M/OiBzdHJpbmc7XG4gIC8qKiBWZXJzacOzbiBkZSBsYSBhcGxpY2FjacOzbiAqL1xuICBhcHBWZXJzaW9uPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogTWV0YWRhdGEgYWRpY2lvbmFsICovXG4gIG1ldGFkYXRhPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSByZWdpc3RybyBkZSBkaXNwb3NpdGl2by5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZWdpc3RlckRldmljZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZGV2aWNlOiB7XG4gICAgZGV2aWNlSWQ6IHN0cmluZztcbiAgICB0b2tlbjogc3RyaW5nO1xuICAgIHBsYXRmb3JtOiBEZXZpY2VQbGF0Zm9ybTtcbiAgICBicm93c2VyPzogc3RyaW5nO1xuICAgIG9zPzogc3RyaW5nO1xuICAgIGxhc3RBY3RpdmU6IHN0cmluZztcbiAgICBjcmVhdGVkQXQ6IHN0cmluZztcbiAgfTtcbiAgLyoqIHRydWUgc2kgZXMgdW4gbnVldm8gZGlzcG9zaXRpdm8sIGZhbHNlIHNpIHNlIGFjdHVhbGl6w7MgdW5vIGV4aXN0ZW50ZSAqL1xuICBpc05ldzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXN1bHRhZG8gZGUgaGFiaWxpdGFyIG5vdGlmaWNhY2lvbmVzLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIEVuYWJsZU5vdGlmaWNhdGlvbnNSZXN1bHQge1xuICAvKiogU2kgc2Ugb3Rvcmdhcm9uIGxvcyBwZXJtaXNvcyAqL1xuICBncmFudGVkOiBib29sZWFuO1xuICAvKiogRkNNIHRva2VuIChzb2xvIHNpIGdyYW50ZWQ9dHJ1ZSkgKi9cbiAgdG9rZW4/OiBzdHJpbmc7XG4gIC8qKiBTaSBlbCBkaXNwb3NpdGl2byBmdWUgcmVnaXN0cmFkbyBlbiBlbCBiYWNrZW5kICovXG4gIHJlZ2lzdGVyZWQ/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIEVzdGFkbyBkZSBwZXJtaXNvcyBkZSBub3RpZmljYWNpw7NuLlxuICovXG5leHBvcnQgdHlwZSBOb3RpZmljYXRpb25QZXJtaXNzaW9uU3RhdGUgPSAnZ3JhbnRlZCcgfCAnZGVuaWVkJyB8ICdkZWZhdWx0JyB8ICd1bnN1cHBvcnRlZCc7XG5cbi8qKlxuICogUmVzdWx0YWRvIGRlbCByZWdpc3RybyBtYW51YWwgZGUgZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmVnaXN0ZXJEZXZpY2VSZXN1bHQge1xuICAvKiogU2kgZWwgZGlzcG9zaXRpdm8gZnVlIHJlZ2lzdHJhZG8gZXhpdG9zYW1lbnRlICovXG4gIHJlZ2lzdGVyZWQ6IGJvb2xlYW47XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gKHNvbG8gc2kgcmVnaXN0ZXJlZD10cnVlKSAqL1xuICBkZXZpY2VJZD86IHN0cmluZztcbiAgLyoqIEZDTSB0b2tlbiB1c2FkbyBwYXJhIGVsIHJlZ2lzdHJvICovXG4gIHRva2VuPzogc3RyaW5nO1xuICAvKiogTWVuc2FqZSBkZSBlcnJvciAoc29sbyBzaSByZWdpc3RlcmVkPWZhbHNlKSAqL1xuICBlcnJvcj86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERFVklDRSBNQU5BR0VNRU5UIChEZXRlY2Npw7NuIGRlIGRpc3Bvc2l0aXZvcyBudWV2b3MpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEVzdGFkb3MgcG9zaWJsZXMgZGUgdW4gZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCB0eXBlIERldmljZVN0YXR1cyA9ICdhY3RpdmUnIHwgJ3BlbmRpbmdfYXBwcm92YWwnIHwgJ2Jsb2NrZWQnO1xuXG4vKipcbiAqIEluZm9ybWFjacOzbiBjb21wbGV0YSBkZSB1biBkaXNwb3NpdGl2byByZWdpc3RyYWRvLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIERldmljZUluZm8ge1xuICAvKiogSUQgw7puaWNvIGRlbCBkaXNwb3NpdGl2byAqL1xuICBkZXZpY2VJZDogc3RyaW5nO1xuICAvKiogUGxhdGFmb3JtYSBkZWwgZGlzcG9zaXRpdm8gKi9cbiAgcGxhdGZvcm06IERldmljZVBsYXRmb3JtO1xuICAvKiogTmF2ZWdhZG9yIChzb2xvIHdlYikgKi9cbiAgYnJvd3Nlcj86IHN0cmluZztcbiAgLyoqIFNpc3RlbWEgb3BlcmF0aXZvICovXG4gIG9zPzogc3RyaW5nO1xuICAvKiogTm9tYnJlIGFtaWdhYmxlIGRlbCBkaXNwb3NpdGl2byAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogRXN0YWRvIGFjdHVhbCBkZWwgZGlzcG9zaXRpdm8gKi9cbiAgc3RhdHVzOiBEZXZpY2VTdGF0dXM7XG4gIC8qKiBEaXJlY2Npw7NuIElQIGRlbCDDumx0aW1vIGFjY2VzbyAqL1xuICBpcEFkZHJlc3M/OiBzdHJpbmc7XG4gIC8qKiBVYmljYWNpw7NuIGdlb2dyw6FmaWNhIGFwcm94aW1hZGEgKi9cbiAgbG9jYXRpb24/OiBzdHJpbmc7XG4gIC8qKiDDmmx0aW1hIGFjdGl2aWRhZCAqL1xuICBsYXN0QWN0aXZlOiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBjcmVhY2nDs24vcmVnaXN0cm8gKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBhcHJvYmFjacOzbiAoc2kgYXBsaWNhKSAqL1xuICBhcHByb3ZlZEF0Pzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgYmxvcXVlbyAoc2kgYXBsaWNhKSAqL1xuICBibG9ja2VkQXQ/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgbGlzdGFyIGRpc3Bvc2l0aXZvcyBkZWwgdXN1YXJpby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0RGV2aWNlc1Jlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgZGV2aWNlczogRGV2aWNlSW5mb1tdO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGFjY2nDs24gc29icmUgZGlzcG9zaXRpdm8gKGJsb2NrL2FwcHJvdmUvZGVsZXRlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBY3Rpb25SZXN1bHQge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBTRVNTSU9OIE1BTkFHRU1FTlQgKEdlc3Rpw7NuIGRlIHNlc2lvbmVzIGFjdGl2YXMpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIEluZm9ybWFjacOzbiBkZSB1bmEgc2VzacOzbiBhY3RpdmEuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgU2Vzc2lvbkluZm8ge1xuICAvKiogSUQgw7puaWNvIGRlIGxhIHNlc2nDs24gKi9cbiAgc2Vzc2lvbklkOiBzdHJpbmc7XG4gIC8qKiBJRCBkZWwgZGlzcG9zaXRpdm8gYXNvY2lhZG8gKHNpIGV4aXN0ZSkgKi9cbiAgZGV2aWNlSWQ/OiBzdHJpbmc7XG4gIC8qKiBJbmZvcm1hY2nDs24gZGVsIGRpc3Bvc2l0aXZvIChVc2VyLUFnZW50KSAqL1xuICBkZXZpY2VJbmZvPzogc3RyaW5nO1xuICAvKiogRGlyZWNjacOzbiBJUCBkZSBsYSBzZXNpw7NuICovXG4gIGlwPzogc3RyaW5nO1xuICAvKiogVWJpY2FjacOzbiBnZW9ncsOhZmljYSBhcHJveGltYWRhICovXG4gIGxvY2F0aW9uPzogc3RyaW5nO1xuICAvKiogRmVjaGEgZGUgY3JlYWNpw7NuIGRlIGxhIHNlc2nDs24gKi9cbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIC8qKiBGZWNoYSBkZSBleHBpcmFjacOzbiBkZSBsYSBzZXNpw7NuICovXG4gIGV4cGlyZXNBdDogc3RyaW5nO1xuICAvKiogSW5kaWNhIHNpIGVzIGxhIHNlc2nDs24gYWN0dWFsIGRlbCB1c3VhcmlvICovXG4gIGlzQ3VycmVudDogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBsaXN0YXIgc2VzaW9uZXMgYWN0aXZhcy5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaXN0U2Vzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHNlc3Npb25zOiBTZXNzaW9uSW5mb1tdO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHJldm9jYXIgc2VzacOzbihlcykuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgUmV2b2tlU2Vzc2lvbnNSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHN1Y2Nlc3M6IGJvb2xlYW47XG4gIC8qKiBOw7ptZXJvIGRlIHNlc2lvbmVzIHJldm9jYWRhcyAqL1xuICBzZXNzaW9uc1Jldm9rZWQ6IG51bWJlcjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIERFVklDRSBBQ1RJT04gKEFjY2lvbmVzIGRlc2RlIGVtYWlsIGRlIGFsZXJ0YSlcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGVqZWN1dGFyIGFjY2nDs24gZGUgZGlzcG9zaXRpdm8gZGVzZGUgZW1haWwuXG4gKiBFbCB0b2tlbiB2aWVuZSBlbiBsYSBVUkwgZGVsIGVtYWlsIGRlIGFsZXJ0YS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBEZXZpY2VBY3Rpb25SZXF1ZXN0IHtcbiAgLyoqIFRva2VuIEpXVCBkZSBhY2Npw7NuICgyNGgsIHVuIHNvbG8gdXNvKSAqL1xuICB0b2tlbjogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGVqZWN1dGFyIGFjY2nDs24gZGUgZGlzcG9zaXRpdm8uXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgRGV2aWNlQWN0aW9uUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICAvKiogU2kgbGEgYWNjacOzbiBmdWUgZWplY3V0YWRhIGV4aXRvc2FtZW50ZSAqL1xuICBzdWNjZXNzOiBib29sZWFuO1xuICAvKiogQWNjacOzbiBlamVjdXRhZGEgKHJlZnVzZSwgYXBwcm92ZSwgYmxvY2spICovXG4gIGFjdGlvbjogc3RyaW5nO1xuICAvKiogSUQgZGVsIGRpc3Bvc2l0aXZvIGFmZWN0YWRvICovXG4gIGRldmljZUlkOiBzdHJpbmc7XG4gIC8qKiBOw7ptZXJvIGRlIHNlc2lvbmVzIHJldm9jYWRhcyAoc2kgYWN0aW9uPXJlZnVzZS9ibG9jaykgKi9cbiAgc2Vzc2lvbnNSZXZva2VkPzogbnVtYmVyO1xuICAvKiogTWVuc2FqZSBkZXNjcmlwdGl2byAqL1xuICBtZXNzYWdlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgdmFsaWRhciB0b2tlbiBkZSBhY2Npw7NuIChzaW4gZWplY3V0YXIpLlxuICogVXNhZG8gcGFyYSBtb3N0cmFyIGNvbmZpcm1hY2nDs24gYWwgdXN1YXJpbyBhbnRlcyBkZSBlamVjdXRhci5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBWYWxpZGF0ZUFjdGlvblJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgLyoqIFNpIGVsIHRva2VuIGVzIHbDoWxpZG8gKi9cbiAgdmFsaWQ6IGJvb2xlYW47XG4gIC8qKiBUaXBvIGRlIGFjY2nDs24gKGRldmljZTpyZWZ1c2UsIGRldmljZTphcHByb3ZlLCBldGMuKSAqL1xuICBhY3Rpb25UeXBlPzogc3RyaW5nO1xuICAvKiogVGlwbyBkZSByZWN1cnNvIG9iamV0aXZvIChkZXZpY2UsIGRvY3VtZW50LCBldGMuKSAqL1xuICB0YXJnZXRUeXBlPzogc3RyaW5nO1xuICAvKiogSUQgZGVsIHJlY3Vyc28gb2JqZXRpdm8gKi9cbiAgdGFyZ2V0SWQ/OiBzdHJpbmc7XG4gIC8qKiBNZW5zYWplIGRlIGVycm9yIChzaSB2YWxpZD1mYWxzZSkgKi9cbiAgbWVzc2FnZT86IHN0cmluZztcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIE9BVVRIIChMb2dpbiBzb2NpYWwpXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG4vKipcbiAqIFByb3ZlZWRvcmVzIE9BdXRoIHNvcG9ydGFkb3MuXG4gKi9cbmV4cG9ydCB0eXBlIE9BdXRoUHJvdmlkZXIgPSAnZ29vZ2xlJyB8ICdhcHBsZScgfCAnbWljcm9zb2Z0JztcblxuLyoqXG4gKiBSZXN1bHRhZG8gZXhpdG9zbyBkZSBmbHVqbyBPQXV0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPQXV0aFJlc3VsdCB7XG4gIC8qKiBUb2tlbiBkZSBhY2Nlc28gSldUICovXG4gIGFjY2Vzc1Rva2VuOiBzdHJpbmc7XG4gIC8qKiBUb2tlbiBkZSByZWZyZXNjbyAqL1xuICByZWZyZXNoVG9rZW46IHN0cmluZztcbiAgLyoqIFRva2VuIGRlIEZpcmViYXNlIChzaSBlc3TDoSBoYWJpbGl0YWRvKSAqL1xuICBmaXJlYmFzZVRva2VuPzogc3RyaW5nO1xuICAvKiogVGllbXBvIGRlIGV4cGlyYWNpw7NuIGVuIHNlZ3VuZG9zICovXG4gIGV4cGlyZXNJbjogbnVtYmVyO1xuICAvKiogUm9sZXMgZGVsIHVzdWFyaW8gKi9cbiAgcm9sZXM/OiBzdHJpbmdbXTtcbiAgLyoqIFBlcm1pc29zIGRlbCB1c3VhcmlvICovXG4gIHBlcm1pc3Npb25zPzogc3RyaW5nW107XG4gIC8qKiBJbmRpY2Egc2kgZXMgdW4gdXN1YXJpbyBudWV2byAocmVjacOpbiBjcmVhZG8pICovXG4gIGlzTmV3VXNlcj86IGJvb2xlYW47XG4gIC8qKiBJbmRpY2Egc2kgbGEgY3VlbnRhIGZ1ZSB2aW5jdWxhZGEgYSB1c3VhcmlvIGV4aXN0ZW50ZSAqL1xuICBsaW5rZWQ/OiBib29sZWFuO1xuICAvKipcbiAgICogYHRydWVgIHNpIGVsIGJhY2tlbmQgZXhpZ2UgdmVyaWZpY2FjacOzbiBNRkEgdHJhcyBlbCBPQXV0aC4gRW4gZXNlIGNhc29cbiAgICogTk8gdmllbmVuIGBhY2Nlc3NUb2tlbmAvYHJlZnJlc2hUb2tlbmAg4oCUIGVsIGZsdWpvIGNvbnRpbsO6YSBjb24gYG1mYVRva2VuYC5cbiAgICovXG4gIG1mYVJlcXVpcmVkPzogYm9vbGVhbjtcbiAgLyoqIFRva2VuIHRlbXBvcmFsIHBhcmEgZWwgY2hhbGxlbmdlIE1GQSAocHJlc2VudGUgc2kgYG1mYVJlcXVpcmVkYCkuICovXG4gIG1mYVRva2VuPzogc3RyaW5nO1xuICAvKiogTcOpdG9kbyBNRkEgY29uZmlndXJhZG8gcG9yIGVsIHVzdWFyaW8gKHByZXNlbnRlIHNpIGBtZmFSZXF1aXJlZGApLiAqL1xuICBtZmFNZXRob2Q/OiBNRkFNZXRob2Q7XG59XG5cbi8qKlxuICogRXJyb3IgZGUgT0F1dGguXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgT0F1dGhFcnJvciB7XG4gIC8qKiBDw7NkaWdvIGRlIGVycm9yICovXG4gIGNvZGU6IHN0cmluZztcbiAgLyoqIE1lbnNhamUgZGVzY3JpcHRpdm8gKi9cbiAgbWVzc2FnZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIERhdG9zIGVudmlhZG9zIGRlc2RlIHBvcHVwIGNhbGxiYWNrIHZpYSBwb3N0TWVzc2FnZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBPQXV0aENhbGxiYWNrRGF0YSB7XG4gIC8qKiBUaXBvIGRlIG1lbnNhamUgKi9cbiAgdHlwZTogJ29hdXRoLWNhbGxiYWNrJztcbiAgLyoqIFRva2VucyAoc2kgw6l4aXRvKSAqL1xuICB0b2tlbnM/OiBPQXV0aFJlc3VsdDtcbiAgLyoqIEVycm9yIChzaSBmYWxsw7MpICovXG4gIGVycm9yPzogT0F1dGhFcnJvcjtcbiAgLyoqXG4gICAqIE5vbmNlIGRlbCBvcGVuZXIgKE0tMDcpLiBFbCBwb3B1cCBsbyByZWNpYmUgZGVsIGJhY2tlbmQgKHJvdW5kLXRyaXAgcG9yIGVsXG4gICAqIE9BdXRoU3RhdGUgZmlybWFkbykgeSBsbyByZWVudsOtYTsgZWwgb3BlbmVyIGxvIHZlcmlmaWNhIGNvbnRyYSBlbCBxdWUgZ2VuZXLDs1xuICAgKiBlbiBtZW1vcmlhIOKGkiByZWNoYXphIHVuIG9hdXRoX2NhbGxiYWNrX2RhdGEgZm9yamFkbyBlbiBsb2NhbFN0b3JhZ2UgcG9yIFhTUy5cbiAgICovXG4gIG5vbmNlPzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFByb3ZlZWRvciBPQXV0aCB2aW5jdWxhZG8gYWwgdXN1YXJpby5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBMaW5rZWRQcm92aWRlciB7XG4gIC8qKiBOb21icmUgZGVsIHByb3ZlZWRvciAqL1xuICBwcm92aWRlcjogT0F1dGhQcm92aWRlcjtcbiAgLyoqIEVtYWlsIGFzb2NpYWRvIGFsIHByb3ZlZWRvciAqL1xuICBlbWFpbDogc3RyaW5nO1xuICAvKiogTm9tYnJlIGRlbCB1c3VhcmlvIGVuIGVsIHByb3ZlZWRvciAqL1xuICBuYW1lPzogc3RyaW5nO1xuICAvKiogVVJMIGRlIGltYWdlbiBkZSBwZXJmaWwgKi9cbiAgcGljdHVyZT86IHN0cmluZztcbiAgLyoqIEZlY2hhIGRlIHZpbmN1bGFjacOzbiAqL1xuICBsaW5rZWRBdDogc3RyaW5nO1xuICAvKiogw5psdGltYSB2ZXogcXVlIHNlIHVzw7MgcGFyYSBsb2dpbiAqL1xuICBsYXN0VXNlZEF0Pzogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIHZlcmlmaWNhciBzaSB0aWVuZSBjb250cmFzZcOxYS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBIYXNQYXNzd29yZFJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaGFzUGFzc3dvcmQ6IGJvb2xlYW47XG59XG5cbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4vLyBIQU5ETEUgKFVzZXJuYW1lKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXF1ZXN0IHBhcmEgYWN0dWFsaXphciBoYW5kbGUgKEB1c2VybmFtZSkuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVXBkYXRlSGFuZGxlUmVxdWVzdCB7XG4gIGhhbmRsZTogc3RyaW5nO1xufVxuXG4vKipcbiAqIFJlc3BvbnNlIGRlIGFjdHVhbGl6YXIgaGFuZGxlLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZUhhbmRsZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaGFuZGxlOiBzdHJpbmc7XG4gIHVwZGF0ZWQ6IGJvb2xlYW47XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIHZlcmlmaWNhciBkaXNwb25pYmlsaWRhZCBkZSBoYW5kbGUuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgQ2hlY2tIYW5kbGVSZXF1ZXN0IHtcbiAgaGFuZGxlOiBzdHJpbmc7XG59XG5cbi8qKlxuICogUmVzcG9uc2UgZGUgdmVyaWZpY2FyIGRpc3BvbmliaWxpZGFkIGRlIGhhbmRsZS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBDaGVja0hhbmRsZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgaGFuZGxlOiBzdHJpbmc7XG4gIGF2YWlsYWJsZTogYm9vbGVhbjtcbn1cblxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIExJTktFRCBQUk9WSURFUlMgKE9BdXRoKVxuLy8gPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBvYnRlbmVyIHByb3ZlZWRvcmVzIE9BdXRoIHZpbmN1bGFkb3MuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgR2V0TGlua2VkUHJvdmlkZXJzUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBwcm92aWRlcnM6IExpbmtlZFByb3ZpZGVyW107XG59XG5cbi8qKlxuICogUmVxdWVzdCBwYXJhIGRlc3ZpbmN1bGFyIHVuIHByb3ZlZWRvciBPQXV0aC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBVbmxpbmtQcm92aWRlclJlcXVlc3Qge1xuICBwcm92aWRlcjogT0F1dGhQcm92aWRlcjtcbn1cblxuLyoqXG4gKiBSZXNwb25zZSBkZSBkZXN2aW5jdWxhciBwcm92ZWVkb3IuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgVW5saW5rUHJvdmlkZXJSZXNwb25zZSB7XG4gIG9wZXJhdGlvbklkOiBzdHJpbmc7XG4gIHVubGlua2VkOiBib29sZWFuO1xufVxuXG4vLyA9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT1cbi8vIEVNQUlMIENIQU5HRSDigJQgMy1zdGVwIGZsb3dcbi8vID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PVxuXG5leHBvcnQgaW50ZXJmYWNlIEluaXRpYXRlRW1haWxDaGFuZ2VSZXF1ZXN0IHtcbiAgY3VycmVudFBhc3N3b3JkOiBzdHJpbmc7XG4gIG5ld0VtYWlsOiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgSW5pdGlhdGVFbWFpbENoYW5nZVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgcGVuZGluZ0VtYWlsOiBzdHJpbmc7XG4gIHJlcXVlc3RMb2NhdGlvbjogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1FbWFpbENoYW5nZVN0ZXAxUmVxdWVzdCB7XG4gIGNvZGU6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDb25maXJtRW1haWxDaGFuZ2VTdGVwMVJlc3BvbnNlIHtcbiAgb3BlcmF0aW9uSWQ6IHN0cmluZztcbiAgdmVyaWZpZWQ6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlybUVtYWlsQ2hhbmdlU3RlcDJSZXF1ZXN0IHtcbiAgY29kZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpcm1FbWFpbENoYW5nZVN0ZXAyUmVzcG9uc2Uge1xuICBvcGVyYXRpb25JZDogc3RyaW5nO1xuICBzdWNjZXNzOiBib29sZWFuO1xuICBuZXdFbWFpbDogc3RyaW5nO1xufVxuIl19
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { Injectable } from '@angular/core';
|
|
1
|
+
import { Injectable, SecurityContext } from '@angular/core';
|
|
2
2
|
import * as i0 from "@angular/core";
|
|
3
3
|
import * as i1 from "@angular/platform-browser";
|
|
4
4
|
/**
|
|
@@ -98,7 +98,7 @@ export class LinkProcessorService {
|
|
|
98
98
|
: '';
|
|
99
99
|
const typeClass = isExternal ? externalLinkClass : internalLinkClass;
|
|
100
100
|
const classes = `${linkClass} ${typeClass}`.trim();
|
|
101
|
-
const linkHtml = `<a href="${url}"${target} class="${classes}">${linkText}</a>`;
|
|
101
|
+
const linkHtml = `<a href="${this.safeHref(url)}"${target} class="${classes}">${this.escapeHtml(linkText)}</a>`;
|
|
102
102
|
processedText =
|
|
103
103
|
processedText.substring(0, startIndex) + linkHtml + processedText.substring(endIndex);
|
|
104
104
|
}
|
|
@@ -132,7 +132,7 @@ export class LinkProcessorService {
|
|
|
132
132
|
hasLinks = true;
|
|
133
133
|
const target = openExternalInNewTab ? ' target="_blank" rel="noopener noreferrer"' : '';
|
|
134
134
|
const classes = `${linkClass} ${externalLinkClass}`.trim();
|
|
135
|
-
const linkHtml = `<a href="${cleanUrl}"${target} class="${classes}">${cleanUrl}</a>`;
|
|
135
|
+
const linkHtml = `<a href="${this.safeHref(cleanUrl)}"${target} class="${classes}">${this.escapeHtml(cleanUrl)}</a>`;
|
|
136
136
|
// Reemplazar el URL original con el enlace + puntuación si existía
|
|
137
137
|
const replacement = punctuationRemoved ? linkHtml + punctuation : linkHtml;
|
|
138
138
|
processedText =
|
|
@@ -163,7 +163,7 @@ export class LinkProcessorService {
|
|
|
163
163
|
hasLinks = true;
|
|
164
164
|
const target = openInternalInNewTab ? ' target="_blank"' : '';
|
|
165
165
|
const classes = `${linkClass} ${internalLinkClass}`.trim();
|
|
166
|
-
const linkHtml = `<a href="${route}"${target} class="${classes}">${route}</a>`;
|
|
166
|
+
const linkHtml = `<a href="${this.safeHref(route)}"${target} class="${classes}">${this.escapeHtml(route)}</a>`;
|
|
167
167
|
const replacement = `${prefix}${linkHtml}`;
|
|
168
168
|
processedText =
|
|
169
169
|
processedText.substring(0, startIndex) + replacement + processedText.substring(endIndex);
|
|
@@ -174,6 +174,28 @@ export class LinkProcessorService {
|
|
|
174
174
|
}
|
|
175
175
|
return text;
|
|
176
176
|
}
|
|
177
|
+
/**
|
|
178
|
+
* Devuelve un valor seguro para el atributo href. Como processLinks usa
|
|
179
|
+
* bypassSecurityTrustHtml (desactiva la sanitización automática de Angular),
|
|
180
|
+
* cada URL se valida explícitamente: el sanitizador de Angular neutraliza
|
|
181
|
+
* esquemas peligrosos (javascript:, data:, vbscript:) prefijándolos con
|
|
182
|
+
* `unsafe:`, y luego se escapa el resultado para el contexto de atributo —
|
|
183
|
+
* evitando que una URL como `[x](javascript:alert(1))` o `http://a" onx="..."`
|
|
184
|
+
* inyecte script o atributos.
|
|
185
|
+
*/
|
|
186
|
+
safeHref(url) {
|
|
187
|
+
const sanitized = this.sanitizer.sanitize(SecurityContext.URL, url) ?? '';
|
|
188
|
+
return this.escapeHtml(sanitized);
|
|
189
|
+
}
|
|
190
|
+
/** Escapa los caracteres especiales de HTML (texto y valores de atributo). */
|
|
191
|
+
escapeHtml(value) {
|
|
192
|
+
return value
|
|
193
|
+
.replace(/&/g, '&')
|
|
194
|
+
.replace(/</g, '<')
|
|
195
|
+
.replace(/>/g, '>')
|
|
196
|
+
.replace(/"/g, '"')
|
|
197
|
+
.replace(/'/g, ''');
|
|
198
|
+
}
|
|
177
199
|
/**
|
|
178
200
|
* Detecta si un texto contiene enlaces (URLs, rutas internas o enlaces Markdown).
|
|
179
201
|
*
|
|
@@ -256,4 +278,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.14", ngImpo
|
|
|
256
278
|
providedIn: 'root',
|
|
257
279
|
}]
|
|
258
280
|
}], ctorParameters: () => [{ type: i1.DomSanitizer }] });
|
|
259
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wcm9jZXNzb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbGluay1wcm9jZXNzb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFrQjNDOzs7Ozs7Ozs7Ozs7Ozs7O0dBZ0JHO0FBSUgsTUFBTSxPQUFPLG9CQUFvQjtJQVUvQixZQUFvQixTQUF1QjtRQUF2QixjQUFTLEdBQVQsU0FBUyxDQUFjO1FBVDNDLHFHQUFxRztRQUNwRixhQUFRLEdBQUcsc0JBQXNCLENBQUM7UUFFbkQseUZBQXlGO1FBQ3hFLHVCQUFrQixHQUFHLG1CQUFtQixDQUFDO1FBRTFELDJEQUEyRDtRQUMxQyxzQkFBaUIsR0FBRywwQkFBMEIsQ0FBQztJQUVsQixDQUFDO0lBRS9DOzs7O09BSUc7SUFDSyxtQkFBbUIsQ0FBQyxHQUFXO1FBQ3JDLG9GQUFvRjtRQUNwRixvRkFBb0Y7UUFDcEYsTUFBTSxtQkFBbUIsR0FBRyxZQUFZLENBQUM7UUFFekMsMEZBQTBGO1FBQzFGLG9EQUFvRDtRQUNwRCxNQUFNLGVBQWUsR0FBRyxHQUFHLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDO1FBQzFDLE1BQU0sb0JBQW9CLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUUvQyxJQUFJLG9CQUFvQixJQUFJLENBQUMsZUFBZSxFQUFFLENBQUM7WUFDN0MsNERBQTREO1lBQzVELEdBQUcsR0FBRyxHQUFHLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxFQUFFLENBQUMsQ0FBQztRQUMvQixDQUFDO1FBRUQsT0FBTyxHQUFHLENBQUMsT0FBTyxDQUFDLG1CQUFtQixFQUFFLEVBQUUsQ0FBQyxDQUFDO0lBQzlDLENBQUM7SUFFRDs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7T0FvQkc7SUFDSCxZ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TUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IERvbVNhbml0aXplciwgU2FmZUh0bWwgfSBmcm9tICdAYW5ndWxhci9wbGF0Zm9ybS1icm93c2VyJztcblxuZXhwb3J0IGludGVyZmFjZSBMaW5rUHJvY2Vzc29yQ29uZmlnIHtcbiAgLyoqIFdoZXRoZXIgdG8gb3BlbiBleHRlcm5hbCBsaW5rcyBpbiBuZXcgdGFiIChkZWZhdWx0OiB0cnVlKSAqL1xuICBvcGVuRXh0ZXJuYWxJbk5ld1RhYj86IGJvb2xlYW47XG4gIC8qKiBXaGV0aGVyIHRvIG9wZW4gaW50ZXJuYWwgbGlua3MgaW4gbmV3IHRhYiAoZGVmYXVsdDogZmFsc2UpICovXG4gIG9wZW5JbnRlcm5hbEluTmV3VGFiPzogYm9vbGVhbjtcbiAgLyoqIEN1c3RvbSBDU1MgY2xhc3NlcyBmb3IgbGlua3MgKi9cbiAgbGlua0NsYXNzPzogc3RyaW5nO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIGZvciBleHRlcm5hbCBsaW5rcyAqL1xuICBleHRlcm5hbExpbmtDbGFzcz86IHN0cmluZztcbiAgLyoqIEN1c3RvbSBDU1MgY2xhc3NlcyBmb3IgaW50ZXJuYWwgbGlua3MgKi9cbiAgaW50ZXJuYWxMaW5rQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBXaGV0aGVyIHRvIHByb2Nlc3MgTWFya2Rvd24tc3R5bGUgbGlua3MgW3RleHRdKHVybCkgKGRlZmF1bHQ6IHRydWUpICovXG4gIHByb2Nlc3NNYXJrZG93bkxpbmtzPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBMaW5rUHJvY2Vzc29yU2VydmljZSAtIFNlcnZpY2UgZm9yIHByb2Nlc3NpbmcgdGV4dCBjb250ZW50IHRvIGNvbnZlcnQgVVJMcyBhbmQgaW50ZXJuYWwgcm91dGVzIGludG8gY2xpY2thYmxlIGxpbmtzLlxuICpcbiAqIFRoaXMgc2VydmljZSBhdXRvbWF0aWNhbGx5IGRldGVjdHMgZXh0ZXJuYWwgVVJMcyAoaHR0cC9odHRwcyksIGludGVybmFsIHJvdXRlcyAoc3RhcnRpbmcgd2l0aCAvKSxcbiAqIGFuZCBNYXJrZG93bi1zdHlsZSBsaW5rcyBbdGV4dF0odXJsKSBhbmQgY29udmVydHMgdGhlbSBpbnRvIEhUTUwgYW5jaG9yIGVsZW1lbnRzIHdpdGggYXBwcm9wcmlhdGUgYXR0cmlidXRlcy5cbiAqXG4gKiBAZXhhbXBsZSBCYXNpYyB1c2FnZTpcbiAqIGBgYHR5cGVzY3JpcHRcbiAqIGNvbnN0cnVjdG9yKHByaXZhdGUgbGlua1Byb2Nlc3NvcjogTGlua1Byb2Nlc3NvclNlcnZpY2UpIHt9XG4gKlxuICogcHJvY2Vzc1RleHQoKSB7XG4gKiAgIGNvbnN0IHRleHQgPSAnVmlzaXQgaHR0cHM6Ly9leGFtcGxlLmNvbSwgZ28gdG8gL3Byb2ZpbGUsIG9yIFtjaGVjayBkb2NzXShodHRwczovL2RvY3MuZXhhbXBsZS5jb20pJztcbiAqICAgY29uc3QgcHJvY2Vzc2VkID0gdGhpcy5saW5rUHJvY2Vzc29yLnByb2Nlc3NMaW5rcyh0ZXh0KTtcbiAqICAgLy8gUmV0dXJucyBTYWZlSHRtbCB3aXRoIGNsaWNrYWJsZSBsaW5rc1xuICogfVxuICogYGBgXG4gKi9cbkBJbmplY3RhYmxlKHtcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnLFxufSlcbmV4cG9ydCBjbGFzcyBMaW5rUHJvY2Vzc29yU2VydmljZSB7XG4gIC8vIFJlZ2V4IHBhcmEgZGV0ZWN0YXIgVVJMcyBjb21wbGV0YXMgKGh0dHAvaHR0cHMpIC0gY2FwdHVyYSB0b2RhIGxhIFVSTCB5IGx1ZWdvIGxpbXBpYW1vcyBwdW50dWFjacOzblxuICBwcml2YXRlIHJlYWRvbmx5IHVybFJlZ2V4ID0gLyhodHRwcz86XFwvXFwvW15cXHNdKykvZztcblxuICAvLyBSZWdleCBwYXJhIGRldGVjdGFyIHJ1dGFzIGludGVybmFzIC0gY2FwdHVyYSB0b2RhIGxhIHJ1dGEgeSBsdWVnbyBsaW1waWFtb3MgcHVudHVhY2nDs25cbiAgcHJpdmF0ZSByZWFkb25seSBpbnRlcm5hbFJvdXRlUmVnZXggPSAvKFxcc3xeKShcXC9bXlxcc10qKS9nO1xuXG4gIC8vIFJlZ2V4IHBhcmEgZGV0ZWN0YXIgZW5sYWNlcyBlc3RpbG8gTWFya2Rvd24gW3RleHRvXSh1cmwpXG4gIHByaXZhdGUgcmVhZG9ubHkgbWFya2Rvd25MaW5rUmVnZXggPSAvXFxbKFteXFxdXSspXFxdXFwoKFteKV0rKVxcKS9nO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgc2FuaXRpemVyOiBEb21TYW5pdGl6ZXIpIHt9XG5cbiAgLyoqXG4gICAqIExpbXBpYSBsYSBwdW50dWFjacOzbiBkZWwgZmluYWwgZGUgdW5hIFVSTC5cbiAgICogTWFudGllbmUgY2FyYWN0ZXJlcyB2w6FsaWRvcyBkZSBVUkwgcGVybyByZW11ZXZlIHNpZ25vcyBkZSBwdW50dWFjacOzbiBjb211bmVzIGFsIGZpbmFsLlxuICAgKiBQcmVzZXJ2YSBwYXLDoW1ldHJvcyBkZSBjb25zdWx0YSwgZnJhZ21lbnRvcyB5IGNhcmFjdGVyZXMgdsOhbGlkb3MgZW4gVVJMcy5cbiAgICovXG4gIHByaXZhdGUgY2xlYW5VcmxQdW5jdHVhdGlvbih1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgLy8gQ2FyYWN0ZXJlcyBxdWUgY29uc2lkZXJhbW9zIHB1bnR1YWNpw7NuIGFsIGZpbmFsIGRlIG9yYWNpw7NuLCBwZXJvIE5PIHBhcnRlIGRlIFVSTHNcbiAgICAvLyBObyBpbmNsdWltb3MgJiBvID0gcXVlIHNvbiBwYXJ0ZSBkZSBxdWVyeSBwYXJhbXMsIG5pICMgcXVlIGVzIHBhcnRlIGRlIGZyYWdtZW50b3NcbiAgICBjb25zdCB0cmFpbGluZ1B1bmN0dWF0aW9uID0gL1suLDshPyldKyQvO1xuXG4gICAgLy8gQ2Fzb3MgZXNwZWNpYWxlczogc2kgbGEgVVJMIHRlcm1pbmEgY29uIHBhcsOpbnRlc2lzIHBlcm8gbm8gdGllbmUgcGFyw6ludGVzaXMgZGUgYXBlcnR1cmFcbiAgICAvLyBwcm9iYWJsZW1lbnRlIGVsIHBhcsOpbnRlc2lzIG5vIGVzIHBhcnRlIGRlIGxhIFVSTFxuICAgIGNvbnN0IGhhc09wZW5pbmdQYXJlbiA9IHVybC5pbmNsdWRlcygnKCcpO1xuICAgIGNvbnN0IGVuZHNXaXRoQ2xvc2luZ1BhcmVuID0gdXJsLmVuZHNXaXRoKCcpJyk7XG5cbiAgICBpZiAoZW5kc1dpdGhDbG9zaW5nUGFyZW4gJiYgIWhhc09wZW5pbmdQYXJlbikge1xuICAgICAgLy8gUmVtb3ZlciBlbCBwYXLDqW50ZXNpcyBkZSBjaWVycmUgc2kgbm8gaGF5IHVubyBkZSBhcGVydHVyYVxuICAgICAgdXJsID0gdXJsLnJlcGxhY2UoL1xcKSQvLCAnJyk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHVybC5yZXBsYWNlKHRyYWlsaW5nUHVuY3R1YXRpb24sICcnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBQcm9jZXNhIHRleHRvIHBhcmEgY29udmVydGlyIGVubGFjZXMgZW4gZWxlbWVudG9zIDxhPiBjbGlja2VhYmxlcy5cbiAgICogRGV0ZWN0YSBhdXRvbcOhdGljYW1lbnRlIFVSTHMgZXh0ZXJuYXMsIHJ1dGFzIGludGVybmFzIHkgZW5sYWNlcyBlc3RpbG8gTWFya2Rvd24uXG4gICAqXG4gICAqIEBwYXJhbSB0ZXh0IC0gVGV4dG8gYSBwcm9jZXNhclxuICAgKiBAcGFyYW0gY29uZmlnIC0gQ29uZmlndXJhY2nDs24gZGVsIHByb2Nlc2FtaWVudG9cbiAgICogQHJldHVybnMgU2FmZUh0bWwgY29uIGVubGFjZXMgcHJvY2VzYWRvcyBvIHN0cmluZyBvcmlnaW5hbFxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IHJlc3VsdCA9IHRoaXMubGlua1Byb2Nlc3Nvci5wcm9jZXNzTGlua3MoXG4gICAqICAgJ1Zpc2l0IGh0dHBzOi8vZXhhbXBsZS5jb20sIGdvIHRvIC9wcm9maWxlLCBvciBbY2hlY2sgZG9jc10oaHR0cHM6Ly9kb2NzLmV4YW1wbGUuY29tKScsXG4gICAqICAge1xuICAgKiAgICAgb3BlbkV4dGVybmFsSW5OZXdUYWI6IHRydWUsXG4gICAqICAgICBvcGVuSW50ZXJuYWxJbk5ld1RhYjogZmFsc2UsXG4gICAqICAgICBwcm9jZXNzTWFya2Rvd25MaW5rczogdHJ1ZSxcbiAgICogICAgIGxpbmtDbGFzczogJ2N1c3RvbS1saW5rJ1xuICAgKiAgIH1cbiAgICogKTtcbiAgICogYGBgXG4gICAqL1xuICBwcm9jZXNzTGlua3ModGV4dDogc3RyaW5nLCBjb25maWc6IExpbmtQcm9jZXNzb3JDb25maWcgPSB7fSk6IFNhZmVIdG1sIHwgc3RyaW5nIHtcbiAgICBpZiAoIXRleHQpIHJldHVybiAnJztcblxuICAgIGNvbnN0IHtcbiAgICAgIG9wZW5FeHRlcm5hbEluTmV3VGFiID0gdHJ1ZSxcbiAgICAgIG9wZW5JbnRlcm5hbEluTmV3VGFiID0gZmFsc2UsXG4gICAgICBsaW5rQ2xhc3MgPSAncHJvY2Vzc2VkLWxpbmsnLFxuICAgICAgZXh0ZXJuYWxMaW5rQ2xhc3MgPSAnZXh0ZXJuYWwtbGluaycsXG4gICAgICBpbnRlcm5hbExpbmtDbGFzcyA9ICdpbnRlcm5hbC1saW5rJyxcbiAgICAgIHByb2Nlc3NNYXJrZG93bkxpbmtzID0gdHJ1ZSxcbiAgICB9ID0gY29uZmlnO1xuXG4gICAgbGV0IGhhc0xpbmtzID0gZmFsc2U7XG4gICAgbGV0IHByb2Nlc3NlZFRleHQgPSB0ZXh0O1xuXG4gICAgLy8gMS4gUHJvY2VzYXIgZW5sYWNlcyBlc3RpbG8gTWFya2Rvd24gW3RleHRvXSh1cmwpIHByaW1lcm9cbiAgICBpZiAocHJvY2Vzc01hcmtkb3duTGlua3MpIHtcbiAgICAgIC8vIFVzYXIgZXhlYyBlbiBidWNsZSAoY29tcGF0aWJsZSBjb24gRVMyMDE4KVxuICAgICAgY29uc3QgbWFya2Rvd25NYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXlbXSA9IFtdO1xuICAgICAgdGhpcy5tYXJrZG93bkxpbmtSZWdleC5sYXN0SW5kZXggPSAwO1xuICAgICAgbGV0IG1kTWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gICAgICB3aGlsZSAoKG1kTWF0Y2ggPSB0aGlzLm1hcmtkb3duTGlua1JlZ2V4LmV4ZWMocHJvY2Vzc2VkVGV4dCkpICE9PSBudWxsKSB7XG4gICAgICAgIG1hcmtkb3duTWF0Y2hlcy5wdXNoKG1kTWF0Y2gpO1xuICAgICAgfVxuXG4gICAgICAvLyBQcm9jZXNhciBkZSBhdHLDoXMgaGFjaWEgYWRlbGFudGUgcGFyYSBtYW50ZW5lciBsYXMgcG9zaWNpb25lc1xuICAgICAgZm9yIChsZXQgaSA9IG1hcmtkb3duTWF0Y2hlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgICBjb25zdCBtYXRjaCA9IG1hcmtkb3duTWF0Y2hlc1tpXTtcbiAgICAgICAgY29uc3QgW2Z1bGxNYXRjaCwgbGlua1RleHQsIHVybF0gPSBtYXRjaDtcbiAgICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IG1hdGNoLmluZGV4ITtcbiAgICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgZnVsbE1hdGNoLmxlbmd0aDtcblxuICAgICAgICBoYXNMaW5rcyA9IHRydWU7XG4gICAgICAgIGNvbnN0IGlzRXh0ZXJuYWwgPSAvXmh0dHBzPzpcXC9cXC8vLnRlc3QodXJsKTtcbiAgICAgICAgY29uc3QgdGFyZ2V0ID0gKGlzRXh0ZXJuYWwgPyBvcGVuRXh0ZXJuYWxJbk5ld1RhYiA6IG9wZW5JbnRlcm5hbEluTmV3VGFiKVxuICAgICAgICAgID8gaXNFeHRlcm5hbFxuICAgICAgICAgICAgPyAnIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIidcbiAgICAgICAgICAgIDogJyB0YXJnZXQ9XCJfYmxhbmtcIidcbiAgICAgICAgICA6ICcnO1xuICAgICAgICBjb25zdCB0eXBlQ2xhc3MgPSBpc0V4dGVybmFsID8gZXh0ZXJuYWxMaW5rQ2xhc3MgOiBpbnRlcm5hbExpbmtDbGFzcztcbiAgICAgICAgY29uc3QgY2xhc3NlcyA9IGAke2xpbmtDbGFzc30gJHt0eXBlQ2xhc3N9YC50cmltKCk7XG4gICAgICAgIGNvbnN0IGxpbmtIdG1sID0gYDxhIGhyZWY9XCIke3VybH1cIiR7dGFyZ2V0fSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj4ke2xpbmtUZXh0fTwvYT5gO1xuXG4gICAgICAgIHByb2Nlc3NlZFRleHQgPVxuICAgICAgICAgIHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKDAsIHN0YXJ0SW5kZXgpICsgbGlua0h0bWwgKyBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZyhlbmRJbmRleCk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gMi4gUHJvY2VzYXIgVVJMcyBleHRlcm5hcyBkaXJlY3Rhc1xuICAgIC8vIFVzYXIgZXhlYyBlbiBidWNsZSAoY29tcGF0aWJsZSBjb24gRVMyMDE4KVxuICAgIGNvbnN0IHVybE1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheVtdID0gW107XG4gICAgdGhpcy51cmxSZWdleC5sYXN0SW5kZXggPSAwO1xuICAgIGxldCB1cmxNYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICB3aGlsZSAoKHVybE1hdGNoID0gdGhpcy51cmxSZWdleC5leGVjKHByb2Nlc3NlZFRleHQpKSAhPT0gbnVsbCkge1xuICAgICAgdXJsTWF0Y2hlcy5wdXNoKHVybE1hdGNoKTtcbiAgICB9XG5cbiAgICAvLyBQcm9jZXNhciBkZSBhdHLDoXMgaGFjaWEgYWRlbGFudGUgcGFyYSBtYW50ZW5lciBsYXMgcG9zaWNpb25lc1xuICAgIGZvciAobGV0IGkgPSB1cmxNYXRjaGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IHVybE1hdGNoZXNbaV07XG4gICAgICBjb25zdCBbZnVsbE1hdGNoLCB1cmxdID0gbWF0Y2g7XG4gICAgICBjb25zdCBzdGFydEluZGV4ID0gbWF0Y2guaW5kZXghO1xuICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgZnVsbE1hdGNoLmxlbmd0aDtcblxuICAgICAgLy8gVmVyaWZpY2FyIHF1ZSBubyBlc3TDqSB5YSBkZW50cm8gZGUgdW4gZW5sYWNlIEhUTUwgZXhpc3RlbnRlXG4gICAgICBjb25zdCB0ZXh0QmVmb3JlID0gcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCk7XG4gICAgICBjb25zdCBsYXN0T3BlblRhZyA9IHRleHRCZWZvcmUubGFzdEluZGV4T2YoJzxhICcpO1xuICAgICAgY29uc3QgbGFzdENsb3NlVGFnID0gdGV4dEJlZm9yZS5sYXN0SW5kZXhPZignPC9hPicpO1xuXG4gICAgICAvLyBTaSBoYXkgdW4gdGFnIDxhIGFiaWVydG8gc2luIGNlcnJhciwgbm8gcHJvY2VzYW1vc1xuICAgICAgaWYgKGxhc3RPcGVuVGFnID4gbGFzdENsb3NlVGFnKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICAvLyBMaW1waWFyIHB1bnR1YWNpw7NuIGRlbCBmaW5hbCBkZSBsYSBVUkxcbiAgICAgIGNvbnN0IGNsZWFuVXJsID0gdGhpcy5jbGVhblVybFB1bmN0dWF0aW9uKHVybCk7XG4gICAgICBjb25zdCBwdW5jdHVhdGlvblJlbW92ZWQgPSB1cmwgIT09IGNsZWFuVXJsO1xuICAgICAgY29uc3QgcHVuY3R1YXRpb24gPSBwdW5jdHVhdGlvblJlbW92ZWQgPyB1cmwuc3Vic3RyaW5nKGNsZWFuVXJsLmxlbmd0aCkgOiAnJztcblxuICAgICAgaGFzTGlua3MgPSB0cnVlO1xuICAgICAgY29uc3QgdGFyZ2V0ID0gb3BlbkV4dGVybmFsSW5OZXdUYWIgPyAnIHRhcmdldD1cIl9ibGFua1wiIHJlbD1cIm5vb3BlbmVyIG5vcmVmZXJyZXJcIicgOiAnJztcbiAgICAgIGNvbnN0IGNsYXNzZXMgPSBgJHtsaW5rQ2xhc3N9ICR7ZXh0ZXJuYWxMaW5rQ2xhc3N9YC50cmltKCk7XG4gICAgICBjb25zdCBsaW5rSHRtbCA9IGA8YSBocmVmPVwiJHtjbGVhblVybH1cIiR7dGFyZ2V0fSBjbGFzcz1cIiR7Y2xhc3Nlc31cIj4ke2NsZWFuVXJsfTwvYT5gO1xuXG4gICAgICAvLyBSZWVtcGxhemFyIGVsIFVSTCBvcmlnaW5hbCBjb24gZWwgZW5sYWNlICsgcHVudHVhY2nDs24gc2kgZXhpc3TDrWFcbiAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gcHVuY3R1YXRpb25SZW1vdmVkID8gbGlua0h0bWwgKyBwdW5jdHVhdGlvbiA6IGxpbmtIdG1sO1xuICAgICAgcHJvY2Vzc2VkVGV4dCA9XG4gICAgICAgIHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKDAsIHN0YXJ0SW5kZXgpICsgcmVwbGFjZW1lbnQgKyBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZyhlbmRJbmRleCk7XG4gICAgfVxuXG4gICAgLy8gMy4gUHJvY2VzYXIgcnV0YXMgaW50ZXJuYXNcbiAgICAvLyBVc2FyIGV4ZWMgZW4gYnVjbGUgKGNvbXBhdGlibGUgY29uIEVTMjAxOClcbiAgICBjb25zdCBpbnRlcm5hbE1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheVtdID0gW107XG4gICAgdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICBsZXQgaW50ZXJuYWxNYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICB3aGlsZSAoKGludGVybmFsTWF0Y2ggPSB0aGlzLmludGVybmFsUm91dGVSZWdleC5leGVjKHByb2Nlc3NlZFRleHQpKSAhPT0gbnVsbCkge1xuICAgICAgaW50ZXJuYWxNYXRjaGVzLnB1c2goaW50ZXJuYWxNYXRjaCk7XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzYXIgZGUgYXRyw6FzIGhhY2lhIGFkZWxhbnRlIHBhcmEgbWFudGVuZXIgbGFzIHBvc2ljaW9uZXNcbiAgICBmb3IgKGxldCBpID0gaW50ZXJuYWxNYXRjaGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IGludGVybmFsTWF0Y2hlc1tpXTtcbiAgICAgIGNvbnN0IFtmdWxsTWF0Y2gsIHByZWZpeCwgcm91dGVdID0gbWF0Y2g7XG4gICAgICBjb25zdCBzdGFydEluZGV4ID0gbWF0Y2guaW5kZXghO1xuICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgZnVsbE1hdGNoLmxlbmd0aDtcblxuICAgICAgLy8gVmVyaWZpY2FyIHF1ZSBubyBlc3TDqSB5YSBkZW50cm8gZGUgdW4gZW5sYWNlIEhUTUwgZXhpc3RlbnRlXG4gICAgICBjb25zdCB0ZXh0QmVmb3JlID0gcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCk7XG4gICAgICBjb25zdCBsYXN0T3BlblRhZyA9IHRleHRCZWZvcmUubGFzdEluZGV4T2YoJzxhICcpO1xuICAgICAgY29uc3QgbGFzdENsb3NlVGFnID0gdGV4dEJlZm9yZS5sYXN0SW5kZXhPZignPC9hPicpO1xuXG4gICAgICAvLyBTaSBoYXkgdW4gdGFnIDxhIGFiaWVydG8gc2luIGNlcnJhciwgbm8gcHJvY2VzYW1vc1xuICAgICAgaWYgKGxhc3RPcGVuVGFnID4gbGFzdENsb3NlVGFnKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBoYXNMaW5rcyA9IHRydWU7XG4gICAgICBjb25zdCB0YXJnZXQgPSBvcGVuSW50ZXJuYWxJbk5ld1RhYiA/ICcgdGFyZ2V0PVwiX2JsYW5rXCInIDogJyc7XG4gICAgICBjb25zdCBjbGFzc2VzID0gYCR7bGlua0NsYXNzfSAke2ludGVybmFsTGlua0NsYXNzfWAudHJpbSgpO1xuICAgICAgY29uc3QgbGlua0h0bWwgPSBgPGEgaHJlZj1cIiR7cm91dGV9XCIke3RhcmdldH0gY2xhc3M9XCIke2NsYXNzZXN9XCI+JHtyb3V0ZX08L2E+YDtcblxuICAgICAgY29uc3QgcmVwbGFjZW1lbnQgPSBgJHtwcmVmaXh9JHtsaW5rSHRtbH1gO1xuICAgICAgcHJvY2Vzc2VkVGV4dCA9XG4gICAgICAgIHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKDAsIHN0YXJ0SW5kZXgpICsgcmVwbGFjZW1lbnQgKyBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZyhlbmRJbmRleCk7XG4gICAgfVxuXG4gICAgLy8gU2kgaGF5IGVubGFjZXMsIHNhbml0aXphciBlbCBIVE1MXG4gICAgaWYgKGhhc0xpbmtzKSB7XG4gICAgICByZXR1cm4gdGhpcy5zYW5pdGl6ZXIuYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwocHJvY2Vzc2VkVGV4dCk7XG4gICAgfVxuXG4gICAgcmV0dXJuIHRleHQ7XG4gIH1cblxuICAvKipcbiAgICogRGV0ZWN0YSBzaSB1biB0ZXh0byBjb250aWVuZSBlbmxhY2VzIChVUkxzLCBydXRhcyBpbnRlcm5hcyBvIGVubGFjZXMgTWFya2Rvd24pLlxuICAgKlxuICAgKiBAcGFyYW0gdGV4dCAtIFRleHRvIGEgYW5hbGl6YXJcbiAgICogQHJldHVybnMgdHJ1ZSBzaSBjb250aWVuZSBlbmxhY2VzXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgaGFzTGlua3MgPSB0aGlzLmxpbmtQcm9jZXNzb3IuaGFzTGlua3MoJ1Zpc2l0IGh0dHBzOi8vZXhhbXBsZS5jb20gb3IgW2RvY3NdKGh0dHBzOi8vZG9jcy5jb20pJyk7XG4gICAqIC8vIFJldHVybnM6IHRydWVcbiAgICogYGBgXG4gICAqL1xuICBoYXNMaW5rcyh0ZXh0OiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAoIXRleHQpIHJldHVybiBmYWxzZTtcblxuICAgIC8vIFJlc2V0IHJlZ2V4IGluZGljZXNcbiAgICB0aGlzLnVybFJlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4Lmxhc3RJbmRleCA9IDA7XG5cbiAgICByZXR1cm4gKFxuICAgICAgdGhpcy51cmxSZWdleC50ZXN0KHRleHQpIHx8XG4gICAgICB0aGlzLmludGVybmFsUm91dGVSZWdleC50ZXN0KHRleHQpIHx8XG4gICAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4LnRlc3QodGV4dClcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEV4dHJhZSB0b2RvcyBsb3MgZW5sYWNlcyBkZSB1biB0ZXh0by5cbiAgICpcbiAgICogQHBhcmFtIHRleHQgLSBUZXh0byBhIGFuYWxpemFyXG4gICAqIEByZXR1cm5zIEFycmF5IGRlIGVubGFjZXMgZW5jb250cmFkb3MgY29uIHN1IHRpcG8geSB0ZXh0byAoc2kgZXMgTWFya2Rvd24pXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgbGlua3MgPSB0aGlzLmxpbmtQcm9jZXNzb3IuZXh0cmFjdExpbmtzKCdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tLCAvcHJvZmlsZSwgb3IgW2RvY3NdKGh0dHBzOi8vZG9jcy5jb20pJyk7XG4gICAqIC8vIFJldHVybnM6IFtcbiAgICogLy8gICB7IHVybDogJ2h0dHBzOi8vZXhhbXBsZS5jb20nLCB0eXBlOiAnZXh0ZXJuYWwnLCB0ZXh0OiAnaHR0cHM6Ly9leGFtcGxlLmNvbScgfSxcbiAgICogLy8gICB7IHVybDogJy9wcm9maWxlJywgdHlwZTogJ2ludGVybmFsJywgdGV4dDogJy9wcm9maWxlJyB9LFxuICAgKiAvLyAgIHsgdXJsOiAnaHR0cHM6Ly9kb2NzLmNvbScsIHR5cGU6ICdleHRlcm5hbCcsIHRleHQ6ICdkb2NzJyB9XG4gICAqIC8vIF1cbiAgICogYGBgXG4gICAqL1xuICBleHRyYWN0TGlua3ModGV4dDogc3RyaW5nKTogQXJyYXk8eyB1cmw6IHN0cmluZzsgdHlwZTogJ2V4dGVybmFsJyB8ICdpbnRlcm5hbCc7IHRleHQ6IHN0cmluZyB9PiB7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gW107XG5cbiAgICBjb25zdCBsaW5rczogQXJyYXk8eyB1cmw6IHN0cmluZzsgdHlwZTogJ2V4dGVybmFsJyB8ICdpbnRlcm5hbCc7IHRleHQ6IHN0cmluZyB9PiA9IFtdO1xuXG4gICAgLy8gUmVzZXQgcmVnZXggaW5kaWNlc1xuICAgIHRoaXMudXJsUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLmludGVybmFsUm91dGVSZWdleC5sYXN0SW5kZXggPSAwO1xuICAgIHRoaXMubWFya2Rvd25MaW5rUmVnZXgubGFzdEluZGV4ID0gMDtcblxuICAgIC8vIEV4dHJhZXIgZW5sYWNlcyBNYXJrZG93biBwcmltZXJvXG4gICAgbGV0IG1hdGNoO1xuICAgIHdoaWxlICgobWF0Y2ggPSB0aGlzLm1hcmtkb3duTGlua1JlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cmwgPSBtYXRjaFsyXTtcbiAgICAgIGNvbnN0IGxpbmtUZXh0ID0gbWF0Y2hbMV07XG4gICAgICBjb25zdCB0eXBlID0gL15odHRwcz86XFwvXFwvLy50ZXN0KHVybCkgPyAnZXh0ZXJuYWwnIDogJ2ludGVybmFsJztcbiAgICAgIGxpbmtzLnB1c2goeyB1cmwsIHR5cGUsIHRleHQ6IGxpbmtUZXh0IH0pO1xuICAgIH1cblxuICAgIC8vIEV4dHJhZXIgVVJMcyBleHRlcm5hcyBkaXJlY3Rhc1xuICAgIHdoaWxlICgobWF0Y2ggPSB0aGlzLnVybFJlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cmwgPSBtYXRjaFsxXTtcbiAgICAgIC8vIFZlcmlmaWNhciBxdWUgbm8gZXN0w6kgeWEgY2FwdHVyYWRvIGNvbW8gTWFya2Rvd24gbGlua1xuICAgICAgaWYgKCFsaW5rcy5zb21lKGxpbmsgPT4gbGluay51cmwgPT09IHVybCkpIHtcbiAgICAgICAgbGlua3MucHVzaCh7IHVybCwgdHlwZTogJ2V4dGVybmFsJywgdGV4dDogdXJsIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEV4dHJhZXIgcnV0YXMgaW50ZXJuYXMgZGlyZWN0YXNcbiAgICB3aGlsZSAoKG1hdGNoID0gdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXguZXhlYyh0ZXh0KSkgIT09IG51bGwpIHtcbiAgICAgIGNvbnN0IHVybCA9IG1hdGNoWzJdO1xuICAgICAgLy8gVmVyaWZpY2FyIHF1ZSBubyBlc3TDqSB5YSBjYXB0dXJhZG8gY29tbyBNYXJrZG93biBsaW5rXG4gICAgICBpZiAoIWxpbmtzLnNvbWUobGluayA9PiBsaW5rLnVybCA9PT0gdXJsKSkge1xuICAgICAgICBsaW5rcy5wdXNoKHsgdXJsLCB0eXBlOiAnaW50ZXJuYWwnLCB0ZXh0OiB1cmwgfSk7XG4gICAgICB9XG4gICAgfVxuXG4gICAgcmV0dXJuIGxpbmtzO1xuICB9XG59XG4iXX0=
|
|
281
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGluay1wcm9jZXNzb3Iuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9saWIvc2VydmljZXMvbGluay1wcm9jZXNzb3Iuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLGVBQWUsRUFBRSxNQUFNLGVBQWUsQ0FBQzs7O0FBa0I1RDs7Ozs7Ozs7Ozs7Ozs7OztHQWdCRztBQUlILE1BQU0sT0FBTyxvQkFBb0I7SUFVL0IsWUFBb0IsU0FBdUI7UUFBdkIsY0FBUyxHQUFULFNBQVMsQ0FBYztRQVQzQyxxR0FBcUc7UUFDcEYsYUFBUSxHQUFHLHNCQUFzQixDQUFDO1FBRW5ELHlGQUF5RjtRQUN4RSx1QkFBa0IsR0FBRyxtQkFBbUIsQ0FBQztRQUUxRCwyREFBMkQ7UUFDMUMsc0JBQWlCLEdBQUcsMEJBQTBCLENBQUM7SUFFbEIsQ0FBQztJQUUvQzs7OztPQUlHO0lBQ0ssbUJBQW1CLENBQUMsR0FBVztRQUNyQyxvRkFBb0Y7UUFDcEYsb0ZBQW9GO1FBQ3BGLE1BQU0sbUJBQW1CLEdBQUcsWUFBWSxDQUFDO1FBRXpDLDBGQUEwRjtRQUMxRixvREFBb0Q7UUFDcEQsTUFBTSxlQUFlLEdBQUcsR0FBRyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQztRQUMxQyxNQUFNLG9CQUFvQixHQUFHLEdBQUcsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUM7UUFFL0MsSUFBSSxvQkFBb0IsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO1lBQzdDLDREQUE0RDtZQUM1RCxHQUFHLEdBQUcsR0FBRyxDQUFDLE9BQU8sQ0FBQyxLQUFLLEVBQUUsRUFBRSxDQUFDLENBQUM7UUFDL0IsQ0FBQztRQUVELE9BQU8sR0FBRyxDQUFDLE9BQU8sQ0FBQyxtQkFBbUIsRUFBRSxFQUFFLENBQUMsQ0FBQztJQUM5QyxDQUFDO0lBRUQ7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O09B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QUFDLElBQUksQ0FBQyxHQUFHLEtBQUssR0FBRyxDQUFDLEVBQUUsQ0FBQztnQkFDMUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ25ELENBQUM7UUFDSCxDQUFDO1FBRUQsa0NBQWtDO1FBQ2xDLE9BQU8sQ0FBQyxLQUFLLEdBQUcsSUFBSSxDQUFDLGtCQUFrQixDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxLQUFLLElBQUksRUFBRSxDQUFDO1lBQzdELE1BQU0sR0FBRyxHQUFHLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQztZQUNyQix3REFBd0Q7WUFDeEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsR0FBRyxLQUFLLEdBQUcsQ0FBQyxFQUFFLENBQUM7Z0JBQzFDLEtBQUssQ0FBQyxJQUFJLENBQUMsRUFBRSxHQUFHLEVBQUUsSUFBSSxFQUFFLFVBQVUsRUFBRSxJQUFJLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztZQUNuRCxDQUFDO1FBQ0gsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDO0lBQ2YsQ0FBQzsrR0F2U1Usb0JBQW9CO21IQUFwQixvQkFBb0IsY0FGbkIsTUFBTTs7NEZBRVAsb0JBQW9CO2tCQUhoQyxVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUsIFNlY3VyaXR5Q29udGV4dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgRG9tU2FuaXRpemVyLCBTYWZlSHRtbCB9IGZyb20gJ0Bhbmd1bGFyL3BsYXRmb3JtLWJyb3dzZXInO1xuXG5leHBvcnQgaW50ZXJmYWNlIExpbmtQcm9jZXNzb3JDb25maWcge1xuICAvKiogV2hldGhlciB0byBvcGVuIGV4dGVybmFsIGxpbmtzIGluIG5ldyB0YWIgKGRlZmF1bHQ6IHRydWUpICovXG4gIG9wZW5FeHRlcm5hbEluTmV3VGFiPzogYm9vbGVhbjtcbiAgLyoqIFdoZXRoZXIgdG8gb3BlbiBpbnRlcm5hbCBsaW5rcyBpbiBuZXcgdGFiIChkZWZhdWx0OiBmYWxzZSkgKi9cbiAgb3BlbkludGVybmFsSW5OZXdUYWI/OiBib29sZWFuO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIGZvciBsaW5rcyAqL1xuICBsaW5rQ2xhc3M/OiBzdHJpbmc7XG4gIC8qKiBDdXN0b20gQ1NTIGNsYXNzZXMgZm9yIGV4dGVybmFsIGxpbmtzICovXG4gIGV4dGVybmFsTGlua0NsYXNzPzogc3RyaW5nO1xuICAvKiogQ3VzdG9tIENTUyBjbGFzc2VzIGZvciBpbnRlcm5hbCBsaW5rcyAqL1xuICBpbnRlcm5hbExpbmtDbGFzcz86IHN0cmluZztcbiAgLyoqIFdoZXRoZXIgdG8gcHJvY2VzcyBNYXJrZG93bi1zdHlsZSBsaW5rcyBbdGV4dF0odXJsKSAoZGVmYXVsdDogdHJ1ZSkgKi9cbiAgcHJvY2Vzc01hcmtkb3duTGlua3M/OiBib29sZWFuO1xufVxuXG4vKipcbiAqIExpbmtQcm9jZXNzb3JTZXJ2aWNlIC0gU2VydmljZSBmb3IgcHJvY2Vzc2luZyB0ZXh0IGNvbnRlbnQgdG8gY29udmVydCBVUkxzIGFuZCBpbnRlcm5hbCByb3V0ZXMgaW50byBjbGlja2FibGUgbGlua3MuXG4gKlxuICogVGhpcyBzZXJ2aWNlIGF1dG9tYXRpY2FsbHkgZGV0ZWN0cyBleHRlcm5hbCBVUkxzIChodHRwL2h0dHBzKSwgaW50ZXJuYWwgcm91dGVzIChzdGFydGluZyB3aXRoIC8pLFxuICogYW5kIE1hcmtkb3duLXN0eWxlIGxpbmtzIFt0ZXh0XSh1cmwpIGFuZCBjb252ZXJ0cyB0aGVtIGludG8gSFRNTCBhbmNob3IgZWxlbWVudHMgd2l0aCBhcHByb3ByaWF0ZSBhdHRyaWJ1dGVzLlxuICpcbiAqIEBleGFtcGxlIEJhc2ljIHVzYWdlOlxuICogYGBgdHlwZXNjcmlwdFxuICogY29uc3RydWN0b3IocHJpdmF0ZSBsaW5rUHJvY2Vzc29yOiBMaW5rUHJvY2Vzc29yU2VydmljZSkge31cbiAqXG4gKiBwcm9jZXNzVGV4dCgpIHtcbiAqICAgY29uc3QgdGV4dCA9ICdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tLCBnbyB0byAvcHJvZmlsZSwgb3IgW2NoZWNrIGRvY3NdKGh0dHBzOi8vZG9jcy5leGFtcGxlLmNvbSknO1xuICogICBjb25zdCBwcm9jZXNzZWQgPSB0aGlzLmxpbmtQcm9jZXNzb3IucHJvY2Vzc0xpbmtzKHRleHQpO1xuICogICAvLyBSZXR1cm5zIFNhZmVIdG1sIHdpdGggY2xpY2thYmxlIGxpbmtzXG4gKiB9XG4gKiBgYGBcbiAqL1xuQEluamVjdGFibGUoe1xuICBwcm92aWRlZEluOiAncm9vdCcsXG59KVxuZXhwb3J0IGNsYXNzIExpbmtQcm9jZXNzb3JTZXJ2aWNlIHtcbiAgLy8gUmVnZXggcGFyYSBkZXRlY3RhciBVUkxzIGNvbXBsZXRhcyAoaHR0cC9odHRwcykgLSBjYXB0dXJhIHRvZGEgbGEgVVJMIHkgbHVlZ28gbGltcGlhbW9zIHB1bnR1YWNpw7NuXG4gIHByaXZhdGUgcmVhZG9ubHkgdXJsUmVnZXggPSAvKGh0dHBzPzpcXC9cXC9bXlxcc10rKS9nO1xuXG4gIC8vIFJlZ2V4IHBhcmEgZGV0ZWN0YXIgcnV0YXMgaW50ZXJuYXMgLSBjYXB0dXJhIHRvZGEgbGEgcnV0YSB5IGx1ZWdvIGxpbXBpYW1vcyBwdW50dWFjacOzblxuICBwcml2YXRlIHJlYWRvbmx5IGludGVybmFsUm91dGVSZWdleCA9IC8oXFxzfF4pKFxcL1teXFxzXSopL2c7XG5cbiAgLy8gUmVnZXggcGFyYSBkZXRlY3RhciBlbmxhY2VzIGVzdGlsbyBNYXJrZG93biBbdGV4dG9dKHVybClcbiAgcHJpdmF0ZSByZWFkb25seSBtYXJrZG93bkxpbmtSZWdleCA9IC9cXFsoW15cXF1dKylcXF1cXCgoW14pXSspXFwpL2c7XG5cbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikge31cblxuICAvKipcbiAgICogTGltcGlhIGxhIHB1bnR1YWNpw7NuIGRlbCBmaW5hbCBkZSB1bmEgVVJMLlxuICAgKiBNYW50aWVuZSBjYXJhY3RlcmVzIHbDoWxpZG9zIGRlIFVSTCBwZXJvIHJlbXVldmUgc2lnbm9zIGRlIHB1bnR1YWNpw7NuIGNvbXVuZXMgYWwgZmluYWwuXG4gICAqIFByZXNlcnZhIHBhcsOhbWV0cm9zIGRlIGNvbnN1bHRhLCBmcmFnbWVudG9zIHkgY2FyYWN0ZXJlcyB2w6FsaWRvcyBlbiBVUkxzLlxuICAgKi9cbiAgcHJpdmF0ZSBjbGVhblVybFB1bmN0dWF0aW9uKHVybDogc3RyaW5nKTogc3RyaW5nIHtcbiAgICAvLyBDYXJhY3RlcmVzIHF1ZSBjb25zaWRlcmFtb3MgcHVudHVhY2nDs24gYWwgZmluYWwgZGUgb3JhY2nDs24sIHBlcm8gTk8gcGFydGUgZGUgVVJMc1xuICAgIC8vIE5vIGluY2x1aW1vcyAmIG8gPSBxdWUgc29uIHBhcnRlIGRlIHF1ZXJ5IHBhcmFtcywgbmkgIyBxdWUgZXMgcGFydGUgZGUgZnJhZ21lbnRvc1xuICAgIGNvbnN0IHRyYWlsaW5nUHVuY3R1YXRpb24gPSAvWy4sOyE/KV0rJC87XG5cbiAgICAvLyBDYXNvcyBlc3BlY2lhbGVzOiBzaSBsYSBVUkwgdGVybWluYSBjb24gcGFyw6ludGVzaXMgcGVybyBubyB0aWVuZSBwYXLDqW50ZXNpcyBkZSBhcGVydHVyYVxuICAgIC8vIHByb2JhYmxlbWVudGUgZWwgcGFyw6ludGVzaXMgbm8gZXMgcGFydGUgZGUgbGEgVVJMXG4gICAgY29uc3QgaGFzT3BlbmluZ1BhcmVuID0gdXJsLmluY2x1ZGVzKCcoJyk7XG4gICAgY29uc3QgZW5kc1dpdGhDbG9zaW5nUGFyZW4gPSB1cmwuZW5kc1dpdGgoJyknKTtcblxuICAgIGlmIChlbmRzV2l0aENsb3NpbmdQYXJlbiAmJiAhaGFzT3BlbmluZ1BhcmVuKSB7XG4gICAgICAvLyBSZW1vdmVyIGVsIHBhcsOpbnRlc2lzIGRlIGNpZXJyZSBzaSBubyBoYXkgdW5vIGRlIGFwZXJ0dXJhXG4gICAgICB1cmwgPSB1cmwucmVwbGFjZSgvXFwpJC8sICcnKTtcbiAgICB9XG5cbiAgICByZXR1cm4gdXJsLnJlcGxhY2UodHJhaWxpbmdQdW5jdHVhdGlvbiwgJycpO1xuICB9XG5cbiAgLyoqXG4gICAqIFByb2Nlc2EgdGV4dG8gcGFyYSBjb252ZXJ0aXIgZW5sYWNlcyBlbiBlbGVtZW50b3MgPGE+IGNsaWNrZWFibGVzLlxuICAgKiBEZXRlY3RhIGF1dG9tw6F0aWNhbWVudGUgVVJMcyBleHRlcm5hcywgcnV0YXMgaW50ZXJuYXMgeSBlbmxhY2VzIGVzdGlsbyBNYXJrZG93bi5cbiAgICpcbiAgICogQHBhcmFtIHRleHQgLSBUZXh0byBhIHByb2Nlc2FyXG4gICAqIEBwYXJhbSBjb25maWcgLSBDb25maWd1cmFjacOzbiBkZWwgcHJvY2VzYW1pZW50b1xuICAgKiBAcmV0dXJucyBTYWZlSHRtbCBjb24gZW5sYWNlcyBwcm9jZXNhZG9zIG8gc3RyaW5nIG9yaWdpbmFsXG4gICAqXG4gICAqIEBleGFtcGxlXG4gICAqIGBgYHR5cGVzY3JpcHRcbiAgICogY29uc3QgcmVzdWx0ID0gdGhpcy5saW5rUHJvY2Vzc29yLnByb2Nlc3NMaW5rcyhcbiAgICogICAnVmlzaXQgaHR0cHM6Ly9leGFtcGxlLmNvbSwgZ28gdG8gL3Byb2ZpbGUsIG9yIFtjaGVjayBkb2NzXShodHRwczovL2RvY3MuZXhhbXBsZS5jb20pJyxcbiAgICogICB7XG4gICAqICAgICBvcGVuRXh0ZXJuYWxJbk5ld1RhYjogdHJ1ZSxcbiAgICogICAgIG9wZW5JbnRlcm5hbEluTmV3VGFiOiBmYWxzZSxcbiAgICogICAgIHByb2Nlc3NNYXJrZG93bkxpbmtzOiB0cnVlLFxuICAgKiAgICAgbGlua0NsYXNzOiAnY3VzdG9tLWxpbmsnXG4gICAqICAgfVxuICAgKiApO1xuICAgKiBgYGBcbiAgICovXG4gIHByb2Nlc3NMaW5rcyh0ZXh0OiBzdHJpbmcsIGNvbmZpZzogTGlua1Byb2Nlc3NvckNvbmZpZyA9IHt9KTogU2FmZUh0bWwgfCBzdHJpbmcge1xuICAgIGlmICghdGV4dCkgcmV0dXJuICcnO1xuXG4gICAgY29uc3Qge1xuICAgICAgb3BlbkV4dGVybmFsSW5OZXdUYWIgPSB0cnVlLFxuICAgICAgb3BlbkludGVybmFsSW5OZXdUYWIgPSBmYWxzZSxcbiAgICAgIGxpbmtDbGFzcyA9ICdwcm9jZXNzZWQtbGluaycsXG4gICAgICBleHRlcm5hbExpbmtDbGFzcyA9ICdleHRlcm5hbC1saW5rJyxcbiAgICAgIGludGVybmFsTGlua0NsYXNzID0gJ2ludGVybmFsLWxpbmsnLFxuICAgICAgcHJvY2Vzc01hcmtkb3duTGlua3MgPSB0cnVlLFxuICAgIH0gPSBjb25maWc7XG5cbiAgICBsZXQgaGFzTGlua3MgPSBmYWxzZTtcbiAgICBsZXQgcHJvY2Vzc2VkVGV4dCA9IHRleHQ7XG5cbiAgICAvLyAxLiBQcm9jZXNhciBlbmxhY2VzIGVzdGlsbyBNYXJrZG93biBbdGV4dG9dKHVybCkgcHJpbWVyb1xuICAgIGlmIChwcm9jZXNzTWFya2Rvd25MaW5rcykge1xuICAgICAgLy8gVXNhciBleGVjIGVuIGJ1Y2xlIChjb21wYXRpYmxlIGNvbiBFUzIwMTgpXG4gICAgICBjb25zdCBtYXJrZG93bk1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheVtdID0gW107XG4gICAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgICBsZXQgbWRNYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICAgIHdoaWxlICgobWRNYXRjaCA9IHRoaXMubWFya2Rvd25MaW5rUmVnZXguZXhlYyhwcm9jZXNzZWRUZXh0KSkgIT09IG51bGwpIHtcbiAgICAgICAgbWFya2Rvd25NYXRjaGVzLnB1c2gobWRNYXRjaCk7XG4gICAgICB9XG5cbiAgICAgIC8vIFByb2Nlc2FyIGRlIGF0csOhcyBoYWNpYSBhZGVsYW50ZSBwYXJhIG1hbnRlbmVyIGxhcyBwb3NpY2lvbmVzXG4gICAgICBmb3IgKGxldCBpID0gbWFya2Rvd25NYXRjaGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICAgIGNvbnN0IG1hdGNoID0gbWFya2Rvd25NYXRjaGVzW2ldO1xuICAgICAgICBjb25zdCBbZnVsbE1hdGNoLCBsaW5rVGV4dCwgdXJsXSA9IG1hdGNoO1xuICAgICAgICBjb25zdCBzdGFydEluZGV4ID0gbWF0Y2guaW5kZXghO1xuICAgICAgICBjb25zdCBlbmRJbmRleCA9IHN0YXJ0SW5kZXggKyBmdWxsTWF0Y2gubGVuZ3RoO1xuXG4gICAgICAgIGhhc0xpbmtzID0gdHJ1ZTtcbiAgICAgICAgY29uc3QgaXNFeHRlcm5hbCA9IC9eaHR0cHM/OlxcL1xcLy8udGVzdCh1cmwpO1xuICAgICAgICBjb25zdCB0YXJnZXQgPSAoaXNFeHRlcm5hbCA/IG9wZW5FeHRlcm5hbEluTmV3VGFiIDogb3BlbkludGVybmFsSW5OZXdUYWIpXG4gICAgICAgICAgPyBpc0V4dGVybmFsXG4gICAgICAgICAgICA/ICcgdGFyZ2V0PVwiX2JsYW5rXCIgcmVsPVwibm9vcGVuZXIgbm9yZWZlcnJlclwiJ1xuICAgICAgICAgICAgOiAnIHRhcmdldD1cIl9ibGFua1wiJ1xuICAgICAgICAgIDogJyc7XG4gICAgICAgIGNvbnN0IHR5cGVDbGFzcyA9IGlzRXh0ZXJuYWwgPyBleHRlcm5hbExpbmtDbGFzcyA6IGludGVybmFsTGlua0NsYXNzO1xuICAgICAgICBjb25zdCBjbGFzc2VzID0gYCR7bGlua0NsYXNzfSAke3R5cGVDbGFzc31gLnRyaW0oKTtcbiAgICAgICAgY29uc3QgbGlua0h0bWwgPSBgPGEgaHJlZj1cIiR7dGhpcy5zYWZlSHJlZih1cmwpfVwiJHt0YXJnZXR9IGNsYXNzPVwiJHtjbGFzc2VzfVwiPiR7dGhpcy5lc2NhcGVIdG1sKGxpbmtUZXh0KX08L2E+YDtcblxuICAgICAgICBwcm9jZXNzZWRUZXh0ID1cbiAgICAgICAgICBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZygwLCBzdGFydEluZGV4KSArIGxpbmtIdG1sICsgcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoZW5kSW5kZXgpO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIDIuIFByb2Nlc2FyIFVSTHMgZXh0ZXJuYXMgZGlyZWN0YXNcbiAgICAvLyBVc2FyIGV4ZWMgZW4gYnVjbGUgKGNvbXBhdGlibGUgY29uIEVTMjAxOClcbiAgICBjb25zdCB1cmxNYXRjaGVzOiBSZWdFeHBFeGVjQXJyYXlbXSA9IFtdO1xuICAgIHRoaXMudXJsUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICBsZXQgdXJsTWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGw7XG4gICAgd2hpbGUgKCh1cmxNYXRjaCA9IHRoaXMudXJsUmVnZXguZXhlYyhwcm9jZXNzZWRUZXh0KSkgIT09IG51bGwpIHtcbiAgICAgIHVybE1hdGNoZXMucHVzaCh1cmxNYXRjaCk7XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzYXIgZGUgYXRyw6FzIGhhY2lhIGFkZWxhbnRlIHBhcmEgbWFudGVuZXIgbGFzIHBvc2ljaW9uZXNcbiAgICBmb3IgKGxldCBpID0gdXJsTWF0Y2hlcy5sZW5ndGggLSAxOyBpID49IDA7IGktLSkge1xuICAgICAgY29uc3QgbWF0Y2ggPSB1cmxNYXRjaGVzW2ldO1xuICAgICAgY29uc3QgW2Z1bGxNYXRjaCwgdXJsXSA9IG1hdGNoO1xuICAgICAgY29uc3Qgc3RhcnRJbmRleCA9IG1hdGNoLmluZGV4ITtcbiAgICAgIGNvbnN0IGVuZEluZGV4ID0gc3RhcnRJbmRleCArIGZ1bGxNYXRjaC5sZW5ndGg7XG5cbiAgICAgIC8vIFZlcmlmaWNhciBxdWUgbm8gZXN0w6kgeWEgZGVudHJvIGRlIHVuIGVubGFjZSBIVE1MIGV4aXN0ZW50ZVxuICAgICAgY29uc3QgdGV4dEJlZm9yZSA9IHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKDAsIHN0YXJ0SW5kZXgpO1xuICAgICAgY29uc3QgbGFzdE9wZW5UYWcgPSB0ZXh0QmVmb3JlLmxhc3RJbmRleE9mKCc8YSAnKTtcbiAgICAgIGNvbnN0IGxhc3RDbG9zZVRhZyA9IHRleHRCZWZvcmUubGFzdEluZGV4T2YoJzwvYT4nKTtcblxuICAgICAgLy8gU2kgaGF5IHVuIHRhZyA8YSBhYmllcnRvIHNpbiBjZXJyYXIsIG5vIHByb2Nlc2Ftb3NcbiAgICAgIGlmIChsYXN0T3BlblRhZyA+IGxhc3RDbG9zZVRhZykge1xuICAgICAgICBjb250aW51ZTtcbiAgICAgIH1cblxuICAgICAgLy8gTGltcGlhciBwdW50dWFjacOzbiBkZWwgZmluYWwgZGUgbGEgVVJMXG4gICAgICBjb25zdCBjbGVhblVybCA9IHRoaXMuY2xlYW5VcmxQdW5jdHVhdGlvbih1cmwpO1xuICAgICAgY29uc3QgcHVuY3R1YXRpb25SZW1vdmVkID0gdXJsICE9PSBjbGVhblVybDtcbiAgICAgIGNvbnN0IHB1bmN0dWF0aW9uID0gcHVuY3R1YXRpb25SZW1vdmVkID8gdXJsLnN1YnN0cmluZyhjbGVhblVybC5sZW5ndGgpIDogJyc7XG5cbiAgICAgIGhhc0xpbmtzID0gdHJ1ZTtcbiAgICAgIGNvbnN0IHRhcmdldCA9IG9wZW5FeHRlcm5hbEluTmV3VGFiID8gJyB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCInIDogJyc7XG4gICAgICBjb25zdCBjbGFzc2VzID0gYCR7bGlua0NsYXNzfSAke2V4dGVybmFsTGlua0NsYXNzfWAudHJpbSgpO1xuICAgICAgY29uc3QgbGlua0h0bWwgPSBgPGEgaHJlZj1cIiR7dGhpcy5zYWZlSHJlZihjbGVhblVybCl9XCIke3RhcmdldH0gY2xhc3M9XCIke2NsYXNzZXN9XCI+JHt0aGlzLmVzY2FwZUh0bWwoY2xlYW5VcmwpfTwvYT5gO1xuXG4gICAgICAvLyBSZWVtcGxhemFyIGVsIFVSTCBvcmlnaW5hbCBjb24gZWwgZW5sYWNlICsgcHVudHVhY2nDs24gc2kgZXhpc3TDrWFcbiAgICAgIGNvbnN0IHJlcGxhY2VtZW50ID0gcHVuY3R1YXRpb25SZW1vdmVkID8gbGlua0h0bWwgKyBwdW5jdHVhdGlvbiA6IGxpbmtIdG1sO1xuICAgICAgcHJvY2Vzc2VkVGV4dCA9XG4gICAgICAgIHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKDAsIHN0YXJ0SW5kZXgpICsgcmVwbGFjZW1lbnQgKyBwcm9jZXNzZWRUZXh0LnN1YnN0cmluZyhlbmRJbmRleCk7XG4gICAgfVxuXG4gICAgLy8gMy4gUHJvY2VzYXIgcnV0YXMgaW50ZXJuYXNcbiAgICAvLyBVc2FyIGV4ZWMgZW4gYnVjbGUgKGNvbXBhdGlibGUgY29uIEVTMjAxOClcbiAgICBjb25zdCBpbnRlcm5hbE1hdGNoZXM6IFJlZ0V4cEV4ZWNBcnJheVtdID0gW107XG4gICAgdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICBsZXQgaW50ZXJuYWxNYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbDtcbiAgICB3aGlsZSAoKGludGVybmFsTWF0Y2ggPSB0aGlzLmludGVybmFsUm91dGVSZWdleC5leGVjKHByb2Nlc3NlZFRleHQpKSAhPT0gbnVsbCkge1xuICAgICAgaW50ZXJuYWxNYXRjaGVzLnB1c2goaW50ZXJuYWxNYXRjaCk7XG4gICAgfVxuXG4gICAgLy8gUHJvY2VzYXIgZGUgYXRyw6FzIGhhY2lhIGFkZWxhbnRlIHBhcmEgbWFudGVuZXIgbGFzIHBvc2ljaW9uZXNcbiAgICBmb3IgKGxldCBpID0gaW50ZXJuYWxNYXRjaGVzLmxlbmd0aCAtIDE7IGkgPj0gMDsgaS0tKSB7XG4gICAgICBjb25zdCBtYXRjaCA9IGludGVybmFsTWF0Y2hlc1tpXTtcbiAgICAgIGNvbnN0IFtmdWxsTWF0Y2gsIHByZWZpeCwgcm91dGVdID0gbWF0Y2g7XG4gICAgICBjb25zdCBzdGFydEluZGV4ID0gbWF0Y2guaW5kZXghO1xuICAgICAgY29uc3QgZW5kSW5kZXggPSBzdGFydEluZGV4ICsgZnVsbE1hdGNoLmxlbmd0aDtcblxuICAgICAgLy8gVmVyaWZpY2FyIHF1ZSBubyBlc3TDqSB5YSBkZW50cm8gZGUgdW4gZW5sYWNlIEhUTUwgZXhpc3RlbnRlXG4gICAgICBjb25zdCB0ZXh0QmVmb3JlID0gcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCk7XG4gICAgICBjb25zdCBsYXN0T3BlblRhZyA9IHRleHRCZWZvcmUubGFzdEluZGV4T2YoJzxhICcpO1xuICAgICAgY29uc3QgbGFzdENsb3NlVGFnID0gdGV4dEJlZm9yZS5sYXN0SW5kZXhPZignPC9hPicpO1xuXG4gICAgICAvLyBTaSBoYXkgdW4gdGFnIDxhIGFiaWVydG8gc2luIGNlcnJhciwgbm8gcHJvY2VzYW1vc1xuICAgICAgaWYgKGxhc3RPcGVuVGFnID4gbGFzdENsb3NlVGFnKSB7XG4gICAgICAgIGNvbnRpbnVlO1xuICAgICAgfVxuXG4gICAgICBoYXNMaW5rcyA9IHRydWU7XG4gICAgICBjb25zdCB0YXJnZXQgPSBvcGVuSW50ZXJuYWxJbk5ld1RhYiA/ICcgdGFyZ2V0PVwiX2JsYW5rXCInIDogJyc7XG4gICAgICBjb25zdCBjbGFzc2VzID0gYCR7bGlua0NsYXNzfSAke2ludGVybmFsTGlua0NsYXNzfWAudHJpbSgpO1xuICAgICAgY29uc3QgbGlua0h0bWwgPSBgPGEgaHJlZj1cIiR7dGhpcy5zYWZlSHJlZihyb3V0ZSl9XCIke3RhcmdldH0gY2xhc3M9XCIke2NsYXNzZXN9XCI+JHt0aGlzLmVzY2FwZUh0bWwocm91dGUpfTwvYT5gO1xuXG4gICAgICBjb25zdCByZXBsYWNlbWVudCA9IGAke3ByZWZpeH0ke2xpbmtIdG1sfWA7XG4gICAgICBwcm9jZXNzZWRUZXh0ID1cbiAgICAgICAgcHJvY2Vzc2VkVGV4dC5zdWJzdHJpbmcoMCwgc3RhcnRJbmRleCkgKyByZXBsYWNlbWVudCArIHByb2Nlc3NlZFRleHQuc3Vic3RyaW5nKGVuZEluZGV4KTtcbiAgICB9XG5cbiAgICAvLyBTaSBoYXkgZW5sYWNlcywgc2FuaXRpemFyIGVsIEhUTUxcbiAgICBpZiAoaGFzTGlua3MpIHtcbiAgICAgIHJldHVybiB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbChwcm9jZXNzZWRUZXh0KTtcbiAgICB9XG5cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuXG4gIC8qKlxuICAgKiBEZXZ1ZWx2ZSB1biB2YWxvciBzZWd1cm8gcGFyYSBlbCBhdHJpYnV0byBocmVmLiBDb21vIHByb2Nlc3NMaW5rcyB1c2FcbiAgICogYnlwYXNzU2VjdXJpdHlUcnVzdEh0bWwgKGRlc2FjdGl2YSBsYSBzYW5pdGl6YWNpw7NuIGF1dG9tw6F0aWNhIGRlIEFuZ3VsYXIpLFxuICAgKiBjYWRhIFVSTCBzZSB2YWxpZGEgZXhwbMOtY2l0YW1lbnRlOiBlbCBzYW5pdGl6YWRvciBkZSBBbmd1bGFyIG5ldXRyYWxpemFcbiAgICogZXNxdWVtYXMgcGVsaWdyb3NvcyAoamF2YXNjcmlwdDosIGRhdGE6LCB2YnNjcmlwdDopIHByZWZpasOhbmRvbG9zIGNvblxuICAgKiBgdW5zYWZlOmAsIHkgbHVlZ28gc2UgZXNjYXBhIGVsIHJlc3VsdGFkbyBwYXJhIGVsIGNvbnRleHRvIGRlIGF0cmlidXRvIOKAlFxuICAgKiBldml0YW5kbyBxdWUgdW5hIFVSTCBjb21vIGBbeF0oamF2YXNjcmlwdDphbGVydCgxKSlgIG8gYGh0dHA6Ly9hXCIgb254PVwiLi4uXCJgXG4gICAqIGlueWVjdGUgc2NyaXB0IG8gYXRyaWJ1dG9zLlxuICAgKi9cbiAgcHJpdmF0ZSBzYWZlSHJlZih1cmw6IHN0cmluZyk6IHN0cmluZyB7XG4gICAgY29uc3Qgc2FuaXRpemVkID0gdGhpcy5zYW5pdGl6ZXIuc2FuaXRpemUoU2VjdXJpdHlDb250ZXh0LlVSTCwgdXJsKSA/PyAnJztcbiAgICByZXR1cm4gdGhpcy5lc2NhcGVIdG1sKHNhbml0aXplZCk7XG4gIH1cblxuICAvKiogRXNjYXBhIGxvcyBjYXJhY3RlcmVzIGVzcGVjaWFsZXMgZGUgSFRNTCAodGV4dG8geSB2YWxvcmVzIGRlIGF0cmlidXRvKS4gKi9cbiAgcHJpdmF0ZSBlc2NhcGVIdG1sKHZhbHVlOiBzdHJpbmcpOiBzdHJpbmcge1xuICAgIHJldHVybiB2YWx1ZVxuICAgICAgLnJlcGxhY2UoLyYvZywgJyZhbXA7JylcbiAgICAgIC5yZXBsYWNlKC88L2csICcmbHQ7JylcbiAgICAgIC5yZXBsYWNlKC8+L2csICcmZ3Q7JylcbiAgICAgIC5yZXBsYWNlKC9cIi9nLCAnJnF1b3Q7JylcbiAgICAgIC5yZXBsYWNlKC8nL2csICcmIzM5OycpO1xuICB9XG5cbiAgLyoqXG4gICAqIERldGVjdGEgc2kgdW4gdGV4dG8gY29udGllbmUgZW5sYWNlcyAoVVJMcywgcnV0YXMgaW50ZXJuYXMgbyBlbmxhY2VzIE1hcmtkb3duKS5cbiAgICpcbiAgICogQHBhcmFtIHRleHQgLSBUZXh0byBhIGFuYWxpemFyXG4gICAqIEByZXR1cm5zIHRydWUgc2kgY29udGllbmUgZW5sYWNlc1xuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGhhc0xpbmtzID0gdGhpcy5saW5rUHJvY2Vzc29yLmhhc0xpbmtzKCdWaXNpdCBodHRwczovL2V4YW1wbGUuY29tIG9yIFtkb2NzXShodHRwczovL2RvY3MuY29tKScpO1xuICAgKiAvLyBSZXR1cm5zOiB0cnVlXG4gICAqIGBgYFxuICAgKi9cbiAgaGFzTGlua3ModGV4dDogc3RyaW5nKTogYm9vbGVhbiB7XG4gICAgaWYgKCF0ZXh0KSByZXR1cm4gZmFsc2U7XG5cbiAgICAvLyBSZXNldCByZWdleCBpbmRpY2VzXG4gICAgdGhpcy51cmxSZWdleC5sYXN0SW5kZXggPSAwO1xuICAgIHRoaXMuaW50ZXJuYWxSb3V0ZVJlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgdGhpcy5tYXJrZG93bkxpbmtSZWdleC5sYXN0SW5kZXggPSAwO1xuXG4gICAgcmV0dXJuIChcbiAgICAgIHRoaXMudXJsUmVnZXgudGVzdCh0ZXh0KSB8fFxuICAgICAgdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgudGVzdCh0ZXh0KSB8fFxuICAgICAgdGhpcy5tYXJrZG93bkxpbmtSZWdleC50ZXN0KHRleHQpXG4gICAgKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeHRyYWUgdG9kb3MgbG9zIGVubGFjZXMgZGUgdW4gdGV4dG8uXG4gICAqXG4gICAqIEBwYXJhbSB0ZXh0IC0gVGV4dG8gYSBhbmFsaXphclxuICAgKiBAcmV0dXJucyBBcnJheSBkZSBlbmxhY2VzIGVuY29udHJhZG9zIGNvbiBzdSB0aXBvIHkgdGV4dG8gKHNpIGVzIE1hcmtkb3duKVxuICAgKlxuICAgKiBAZXhhbXBsZVxuICAgKiBgYGB0eXBlc2NyaXB0XG4gICAqIGNvbnN0IGxpbmtzID0gdGhpcy5saW5rUHJvY2Vzc29yLmV4dHJhY3RMaW5rcygnVmlzaXQgaHR0cHM6Ly9leGFtcGxlLmNvbSwgL3Byb2ZpbGUsIG9yIFtkb2NzXShodHRwczovL2RvY3MuY29tKScpO1xuICAgKiAvLyBSZXR1cm5zOiBbXG4gICAqIC8vICAgeyB1cmw6ICdodHRwczovL2V4YW1wbGUuY29tJywgdHlwZTogJ2V4dGVybmFsJywgdGV4dDogJ2h0dHBzOi8vZXhhbXBsZS5jb20nIH0sXG4gICAqIC8vICAgeyB1cmw6ICcvcHJvZmlsZScsIHR5cGU6ICdpbnRlcm5hbCcsIHRleHQ6ICcvcHJvZmlsZScgfSxcbiAgICogLy8gICB7IHVybDogJ2h0dHBzOi8vZG9jcy5jb20nLCB0eXBlOiAnZXh0ZXJuYWwnLCB0ZXh0OiAnZG9jcycgfVxuICAgKiAvLyBdXG4gICAqIGBgYFxuICAgKi9cbiAgZXh0cmFjdExpbmtzKHRleHQ6IHN0cmluZyk6IEFycmF5PHsgdXJsOiBzdHJpbmc7IHR5cGU6ICdleHRlcm5hbCcgfCAnaW50ZXJuYWwnOyB0ZXh0OiBzdHJpbmcgfT4ge1xuICAgIGlmICghdGV4dCkgcmV0dXJuIFtdO1xuXG4gICAgY29uc3QgbGlua3M6IEFycmF5PHsgdXJsOiBzdHJpbmc7IHR5cGU6ICdleHRlcm5hbCcgfCAnaW50ZXJuYWwnOyB0ZXh0OiBzdHJpbmcgfT4gPSBbXTtcblxuICAgIC8vIFJlc2V0IHJlZ2V4IGluZGljZXNcbiAgICB0aGlzLnVybFJlZ2V4Lmxhc3RJbmRleCA9IDA7XG4gICAgdGhpcy5pbnRlcm5hbFJvdXRlUmVnZXgubGFzdEluZGV4ID0gMDtcbiAgICB0aGlzLm1hcmtkb3duTGlua1JlZ2V4Lmxhc3RJbmRleCA9IDA7XG5cbiAgICAvLyBFeHRyYWVyIGVubGFjZXMgTWFya2Rvd24gcHJpbWVyb1xuICAgIGxldCBtYXRjaDtcbiAgICB3aGlsZSAoKG1hdGNoID0gdGhpcy5tYXJrZG93bkxpbmtSZWdleC5leGVjKHRleHQpKSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdXJsID0gbWF0Y2hbMl07XG4gICAgICBjb25zdCBsaW5rVGV4dCA9IG1hdGNoWzFdO1xuICAgICAgY29uc3QgdHlwZSA9IC9eaHR0cHM/OlxcL1xcLy8udGVzdCh1cmwpID8gJ2V4dGVybmFsJyA6ICdpbnRlcm5hbCc7XG4gICAgICBsaW5rcy5wdXNoKHsgdXJsLCB0eXBlLCB0ZXh0OiBsaW5rVGV4dCB9KTtcbiAgICB9XG5cbiAgICAvLyBFeHRyYWVyIFVSTHMgZXh0ZXJuYXMgZGlyZWN0YXNcbiAgICB3aGlsZSAoKG1hdGNoID0gdGhpcy51cmxSZWdleC5leGVjKHRleHQpKSAhPT0gbnVsbCkge1xuICAgICAgY29uc3QgdXJsID0gbWF0Y2hbMV07XG4gICAgICAvLyBWZXJpZmljYXIgcXVlIG5vIGVzdMOpIHlhIGNhcHR1cmFkbyBjb21vIE1hcmtkb3duIGxpbmtcbiAgICAgIGlmICghbGlua3Muc29tZShsaW5rID0+IGxpbmsudXJsID09PSB1cmwpKSB7XG4gICAgICAgIGxpbmtzLnB1c2goeyB1cmwsIHR5cGU6ICdleHRlcm5hbCcsIHRleHQ6IHVybCB9KTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAvLyBFeHRyYWVyIHJ1dGFzIGludGVybmFzIGRpcmVjdGFzXG4gICAgd2hpbGUgKChtYXRjaCA9IHRoaXMuaW50ZXJuYWxSb3V0ZVJlZ2V4LmV4ZWModGV4dCkpICE9PSBudWxsKSB7XG4gICAgICBjb25zdCB1cmwgPSBtYXRjaFsyXTtcbiAgICAgIC8vIFZlcmlmaWNhciBxdWUgbm8gZXN0w6kgeWEgY2FwdHVyYWRvIGNvbW8gTWFya2Rvd24gbGlua1xuICAgICAgaWYgKCFsaW5rcy5zb21lKGxpbmsgPT4gbGluay51cmwgPT09IHVybCkpIHtcbiAgICAgICAgbGlua3MucHVzaCh7IHVybCwgdHlwZTogJ2ludGVybmFsJywgdGV4dDogdXJsIH0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIHJldHVybiBsaW5rcztcbiAgfVxufVxuIl19
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
const DEFAULT_VISIBILITY = 'ORG';
|
|
2
|
+
/**
|
|
3
|
+
* ¿Este viewer puede ENVIAR una solicitud de este tipo? Espeja el gate
|
|
4
|
+
* server-side (`backend/.../request: submissionTargetOrg`). Es solo UX — el
|
|
5
|
+
* backend siempre valida —, pero evita que cada app reimplemente (mal) el filtro:
|
|
6
|
+
*
|
|
7
|
+
* - PUBLIC → cualquiera (anónimo solo si allowAnonymous).
|
|
8
|
+
* - AUTHENTICATED → logueado + verificado (cross-org).
|
|
9
|
+
* - ORG/INTERNAL → miembro de la org dueña (activeOrg === type.orgId).
|
|
10
|
+
*/
|
|
11
|
+
export function canSubmitRequestType(type, ctx) {
|
|
12
|
+
const visibility = type.visibility ?? DEFAULT_VISIBILITY;
|
|
13
|
+
switch (visibility) {
|
|
14
|
+
case 'PUBLIC':
|
|
15
|
+
return ctx.isAuthenticated || type.allowAnonymous;
|
|
16
|
+
case 'AUTHENTICATED':
|
|
17
|
+
return ctx.isAuthenticated && (ctx.isVerified ?? true);
|
|
18
|
+
case 'ORG':
|
|
19
|
+
case 'INTERNAL':
|
|
20
|
+
return ctx.isAuthenticated && (!type.orgId || ctx.activeOrg === type.orgId);
|
|
21
|
+
default:
|
|
22
|
+
return false;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
/** Filtra el catálogo a los tipos que el viewer puede enviar. */
|
|
26
|
+
export function selectableRequestTypes(types, ctx) {
|
|
27
|
+
return types.filter(t => canSubmitRequestType(t, ctx));
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* Modo de envío a usar: `'anonymous'` solo para tipos PUBLIC + allowAnonymous sin
|
|
31
|
+
* sesión; en el resto `'authenticated'`. Mapea a
|
|
32
|
+
* `RequestService.createAnonymousRequest` vs `createRequest`.
|
|
33
|
+
*/
|
|
34
|
+
export function requestSubmitMode(type, ctx) {
|
|
35
|
+
const visibility = type.visibility ?? DEFAULT_VISIBILITY;
|
|
36
|
+
if (visibility === 'PUBLIC' && !ctx.isAuthenticated && type.allowAnonymous) {
|
|
37
|
+
return 'anonymous';
|
|
38
|
+
}
|
|
39
|
+
return 'authenticated';
|
|
40
|
+
}
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVxdWVzdC12aXNpYmlsaXR5LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2xpYi9zZXJ2aWNlcy9yZXF1ZXN0cy9yZXF1ZXN0LXZpc2liaWxpdHkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBbUJBLE1BQU0sa0JBQWtCLEdBQXNCLEtBQUssQ0FBQztBQUVwRDs7Ozs7Ozs7R0FRRztBQUNILE1BQU0sVUFBVSxvQkFBb0IsQ0FBQyxJQUF1QixFQUFFLEdBQXlCO0lBQ3JGLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksa0JBQWtCLENBQUM7SUFDekQsUUFBUSxVQUFVLEVBQUUsQ0FBQztRQUNuQixLQUFLLFFBQVE7WUFDWCxPQUFPLEdBQUcsQ0FBQyxlQUFlLElBQUksSUFBSSxDQUFDLGNBQWMsQ0FBQztRQUNwRCxLQUFLLGVBQWU7WUFDbEIsT0FBTyxHQUFHLENBQUMsZUFBZSxJQUFJLENBQUMsR0FBRyxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsQ0FBQztRQUN6RCxLQUFLLEtBQUssQ0FBQztRQUNYLEtBQUssVUFBVTtZQUNiLE9BQU8sR0FBRyxDQUFDLGVBQWUsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLEtBQUssSUFBSSxHQUFHLENBQUMsU0FBUyxLQUFLLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUM5RTtZQUNFLE9BQU8sS0FBSyxDQUFDO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsaUVBQWlFO0FBQ2pFLE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsS0FBMEIsRUFDMUIsR0FBeUI7SUFFekIsT0FBTyxLQUFLLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsb0JBQW9CLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQyxDQUFDLENBQUM7QUFDekQsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsaUJBQWlCLENBQy9CLElBQXVCLEVBQ3ZCLEdBQXlCO0lBRXpCLE1BQU0sVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLElBQUksa0JBQWtCLENBQUM7SUFDekQsSUFBSSxVQUFVLEtBQUssUUFBUSxJQUFJLENBQUMsR0FBRyxDQUFDLGVBQWUsSUFBSSxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7UUFDM0UsT0FBTyxXQUFXLENBQUM7SUFDckIsQ0FBQztJQUNELE9BQU8sZUFBZSxDQUFDO0FBQ3pCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXF1ZXN0VHlwZUNvbmZpZywgUmVxdWVzdFZpc2liaWxpdHkgfSBmcm9tICcuL3R5cGVzJztcblxuLyoqXG4gKiBDb250ZXh0byBkZWwgdmlld2VyIHBhcmEgZGVjaWRpciBxdcOpIHRpcG9zIGRlIHNvbGljaXR1ZCBwdWVkZSB2ZXIvZW52aWFyLlxuICogTG8gYXJtYSBsYSBhcHAgZGVzZGUgc3UgZXN0YWRvIGRlIGF1dGggKEF1dGhTZXJ2aWNlKS5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0Vmlld2VyQ29udGV4dCB7XG4gIC8qKiBIYXkgc2VzacOzbiBhY3RpdmEuICovXG4gIGlzQXV0aGVudGljYXRlZDogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFVzdWFyaW8gYWN0aXZvL3ZlcmlmaWNhZG8gKGNsYWltIGB2ZXJpZmllZGAgZGVsIHRva2VuID0gU3RhdHVzIEFDVElWRSkuXG4gICAqIFNvbG8gcmVsZXZhbnRlIHNpIGlzQXV0aGVudGljYXRlZC4gU2kgc2Ugb21pdGUsIHNlIGFzdW1lIHZlcmlmaWNhZG9cbiAgICogKGVuIGxhIHByw6FjdGljYSBlbCBzaWduaW4gc29sbyBlbWl0ZSB0b2tlbnMgYSBjdWVudGFzIEFDVElWRSkuXG4gICAqL1xuICBpc1ZlcmlmaWVkPzogYm9vbGVhbjtcbiAgLyoqIE9yZyBhY3RpdmEgZGVsIHVzdWFyaW8gKHBhcmEgdGlwb3MgT1JHL0lOVEVSTkFMKS4gKi9cbiAgYWN0aXZlT3JnPzogc3RyaW5nO1xufVxuXG5jb25zdCBERUZBVUxUX1ZJU0lCSUxJVFk6IFJlcXVlc3RWaXNpYmlsaXR5ID0gJ09SRyc7XG5cbi8qKlxuICogwr9Fc3RlIHZpZXdlciBwdWVkZSBFTlZJQVIgdW5hIHNvbGljaXR1ZCBkZSBlc3RlIHRpcG8/IEVzcGVqYSBlbCBnYXRlXG4gKiBzZXJ2ZXItc2lkZSAoYGJhY2tlbmQvLi4uL3JlcXVlc3Q6IHN1Ym1pc3Npb25UYXJnZXRPcmdgKS4gRXMgc29sbyBVWCDigJQgZWxcbiAqIGJhY2tlbmQgc2llbXByZSB2YWxpZGEg4oCULCBwZXJvIGV2aXRhIHF1ZSBjYWRhIGFwcCByZWltcGxlbWVudGUgKG1hbCkgZWwgZmlsdHJvOlxuICpcbiAqICAtIFBVQkxJQyAgICAgICAg4oaSIGN1YWxxdWllcmEgKGFuw7NuaW1vIHNvbG8gc2kgYWxsb3dBbm9ueW1vdXMpLlxuICogIC0gQVVUSEVOVElDQVRFRCDihpIgbG9ndWVhZG8gKyB2ZXJpZmljYWRvIChjcm9zcy1vcmcpLlxuICogIC0gT1JHL0lOVEVSTkFMICDihpIgbWllbWJybyBkZSBsYSBvcmcgZHVlw7FhIChhY3RpdmVPcmcgPT09IHR5cGUub3JnSWQpLlxuICovXG5leHBvcnQgZnVuY3Rpb24gY2FuU3VibWl0UmVxdWVzdFR5cGUodHlwZTogUmVxdWVzdFR5cGVDb25maWcsIGN0eDogUmVxdWVzdFZpZXdlckNvbnRleHQpOiBib29sZWFuIHtcbiAgY29uc3QgdmlzaWJpbGl0eSA9IHR5cGUudmlzaWJpbGl0eSA/PyBERUZBVUxUX1ZJU0lCSUxJVFk7XG4gIHN3aXRjaCAodmlzaWJpbGl0eSkge1xuICAgIGNhc2UgJ1BVQkxJQyc6XG4gICAgICByZXR1cm4gY3R4LmlzQXV0aGVudGljYXRlZCB8fCB0eXBlLmFsbG93QW5vbnltb3VzO1xuICAgIGNhc2UgJ0FVVEhFTlRJQ0FURUQnOlxuICAgICAgcmV0dXJuIGN0eC5pc0F1dGhlbnRpY2F0ZWQgJiYgKGN0eC5pc1ZlcmlmaWVkID8/IHRydWUpO1xuICAgIGNhc2UgJ09SRyc6XG4gICAgY2FzZSAnSU5URVJOQUwnOlxuICAgICAgcmV0dXJuIGN0eC5pc0F1dGhlbnRpY2F0ZWQgJiYgKCF0eXBlLm9yZ0lkIHx8IGN0eC5hY3RpdmVPcmcgPT09IHR5cGUub3JnSWQpO1xuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gZmFsc2U7XG4gIH1cbn1cblxuLyoqIEZpbHRyYSBlbCBjYXTDoWxvZ28gYSBsb3MgdGlwb3MgcXVlIGVsIHZpZXdlciBwdWVkZSBlbnZpYXIuICovXG5leHBvcnQgZnVuY3Rpb24gc2VsZWN0YWJsZVJlcXVlc3RUeXBlcyhcbiAgdHlwZXM6IFJlcXVlc3RUeXBlQ29uZmlnW10sXG4gIGN0eDogUmVxdWVzdFZpZXdlckNvbnRleHRcbik6IFJlcXVlc3RUeXBlQ29uZmlnW10ge1xuICByZXR1cm4gdHlwZXMuZmlsdGVyKHQgPT4gY2FuU3VibWl0UmVxdWVzdFR5cGUodCwgY3R4KSk7XG59XG5cbi8qKlxuICogTW9kbyBkZSBlbnbDrW8gYSB1c2FyOiBgJ2Fub255bW91cydgIHNvbG8gcGFyYSB0aXBvcyBQVUJMSUMgKyBhbGxvd0Fub255bW91cyBzaW5cbiAqIHNlc2nDs247IGVuIGVsIHJlc3RvIGAnYXV0aGVudGljYXRlZCdgLiBNYXBlYSBhXG4gKiBgUmVxdWVzdFNlcnZpY2UuY3JlYXRlQW5vbnltb3VzUmVxdWVzdGAgdnMgYGNyZWF0ZVJlcXVlc3RgLlxuICovXG5leHBvcnQgZnVuY3Rpb24gcmVxdWVzdFN1Ym1pdE1vZGUoXG4gIHR5cGU6IFJlcXVlc3RUeXBlQ29uZmlnLFxuICBjdHg6IFJlcXVlc3RWaWV3ZXJDb250ZXh0XG4pOiAnYW5vbnltb3VzJyB8ICdhdXRoZW50aWNhdGVkJyB7XG4gIGNvbnN0IHZpc2liaWxpdHkgPSB0eXBlLnZpc2liaWxpdHkgPz8gREVGQVVMVF9WSVNJQklMSVRZO1xuICBpZiAodmlzaWJpbGl0eSA9PT0gJ1BVQkxJQycgJiYgIWN0eC5pc0F1dGhlbnRpY2F0ZWQgJiYgdHlwZS5hbGxvd0Fub255bW91cykge1xuICAgIHJldHVybiAnYW5vbnltb3VzJztcbiAgfVxuICByZXR1cm4gJ2F1dGhlbnRpY2F0ZWQnO1xufVxuIl19
|
|
@@ -6,4 +6,4 @@ export const REQUEST_STATUSES = [
|
|
|
6
6
|
'cancelled',
|
|
7
7
|
'closed',
|
|
8
8
|
];
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3RzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFvQjtJQUMvQyxTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7Q0FDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXR1cyA9XG4gIHwgJ3BlbmRpbmcnXG4gIHwgJ2luX3JldmlldydcbiAgfCAnYXBwcm92ZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdjYW5jZWxsZWQnXG4gIHwgJ2Nsb3NlZCc7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1NUQVRVU0VTOiBSZXF1ZXN0U3RhdHVzW10gPSBbXG4gICdwZW5kaW5nJyxcbiAgJ2luX3JldmlldycsXG4gICdhcHByb3ZlZCcsXG4gICdyZWplY3RlZCcsXG4gICdjYW5jZWxsZWQnLFxuICAnY2xvc2VkJyxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEFjdG9yIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFJlcXVlc3Qge1xuICBpZDogc3RyaW5nO1xuICBhcHBJZDogc3RyaW5nO1xuICBvcmdJZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHN0YXR1czogUmVxdWVzdFN0YXR1cztcbiAgdGl0bGU6IHN0cmluZztcbiAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBwcmlvcml0eT86IHN0cmluZztcbiAgc3VibWl0dGVyOiBSZXF1ZXN0QWN0b3I7XG4gIGFzc2lnbmVlPzogUmVxdWVzdEFjdG9yO1xuICBkdWVBdD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBjbG9zZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0Q29tbWVudCB7XG4gIGNvbW1lbnRJZDogc3RyaW5nO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgYXV0aG9yOiBSZXF1ZXN0QWN0b3I7XG4gIGJvZHk6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTY2hlbWFEZWYge1xuICAvKiogSW5wdXRUeXBlIGVudW0gbmFtZSBhcyBzdHJpbmc6ICdURVhUJywgJ1RFWFRBUkVBJywgJ1NFTEVDVCcsIGV0Yy4gKi9cbiAgdHlwZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxhYmVsS2V5OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgLyoqIGUuZy4gJ3JlcXVpcmVkJywgJ2VtYWlsJywgJ21heExlbmd0aDo1MDAnLCAnbWluTGVuZ3RoOjMnICovXG4gIHZhbGlkYXRvcnM/
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvbGliL3NlcnZpY2VzL3JlcXVlc3RzL3R5cGVzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVFBLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFvQjtJQUMvQyxTQUFTO0lBQ1QsV0FBVztJQUNYLFVBQVU7SUFDVixVQUFVO0lBQ1YsV0FBVztJQUNYLFFBQVE7Q0FDVCxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IHR5cGUgUmVxdWVzdFN0YXR1cyA9XG4gIHwgJ3BlbmRpbmcnXG4gIHwgJ2luX3JldmlldydcbiAgfCAnYXBwcm92ZWQnXG4gIHwgJ3JlamVjdGVkJ1xuICB8ICdjYW5jZWxsZWQnXG4gIHwgJ2Nsb3NlZCc7XG5cbmV4cG9ydCBjb25zdCBSRVFVRVNUX1NUQVRVU0VTOiBSZXF1ZXN0U3RhdHVzW10gPSBbXG4gICdwZW5kaW5nJyxcbiAgJ2luX3JldmlldycsXG4gICdhcHByb3ZlZCcsXG4gICdyZWplY3RlZCcsXG4gICdjYW5jZWxsZWQnLFxuICAnY2xvc2VkJyxcbl07XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdEFjdG9yIHtcbiAgdXNlcklkPzogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGVtYWlsOiBzdHJpbmc7XG4gIHBob25lPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcFJlcXVlc3Qge1xuICBpZDogc3RyaW5nO1xuICBhcHBJZDogc3RyaW5nO1xuICBvcmdJZDogc3RyaW5nO1xuICB0eXBlOiBzdHJpbmc7XG4gIHN0YXR1czogUmVxdWVzdFN0YXR1cztcbiAgdGl0bGU6IHN0cmluZztcbiAgZmllbGRzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgbWV0YWRhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPjtcbiAgdGFncz86IHN0cmluZ1tdO1xuICBwcmlvcml0eT86IHN0cmluZztcbiAgc3VibWl0dGVyOiBSZXF1ZXN0QWN0b3I7XG4gIGFzc2lnbmVlPzogUmVxdWVzdEFjdG9yO1xuICBkdWVBdD86IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG4gIHVwZGF0ZWRBdDogc3RyaW5nO1xuICBjbG9zZWRBdD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBSZXF1ZXN0Q29tbWVudCB7XG4gIGNvbW1lbnRJZDogc3RyaW5nO1xuICByZXF1ZXN0SWQ6IHN0cmluZztcbiAgYXV0aG9yOiBSZXF1ZXN0QWN0b3I7XG4gIGJvZHk6IHN0cmluZztcbiAgY3JlYXRlZEF0OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRPcHRpb24ge1xuICBpZDogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIG9yZGVyOiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRmllbGRTY2hlbWFEZWYge1xuICAvKiogSW5wdXRUeXBlIGVudW0gbmFtZSBhcyBzdHJpbmc6ICdURVhUJywgJ1RFWFRBUkVBJywgJ1NFTEVDVCcsIGV0Yy4gKi9cbiAgdHlwZTogc3RyaW5nO1xuICBuYW1lOiBzdHJpbmc7XG4gIGxhYmVsS2V5OiBzdHJpbmc7XG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xuICByZXF1aXJlZDogYm9vbGVhbjtcbiAgLyoqIGUuZy4gJ3JlcXVpcmVkJywgJ2VtYWlsJywgJ21heExlbmd0aDo1MDAnLCAnbWluTGVuZ3RoOjMnICovXG4gIHZhbGlkYXRvcnM/OiBzdHJpbmdbXTtcbiAgb3B0aW9ucz86IEZpZWxkT3B0aW9uW107XG4gIG9yZGVyOiBudW1iZXI7XG59XG5cbi8qKiBRdWnDqW4gcHVlZGUgbGVlciB1biB0aXBvIGRlIHNvbGljaXR1ZCAoeSBzdXMgc29saWNpdHVkZXMgcMO6YmxpY2FzKS4gKi9cbmV4cG9ydCB0eXBlIFJlcXVlc3RWaXNpYmlsaXR5ID0gJ1BVQkxJQycgfCAnQVVUSEVOVElDQVRFRCcgfCAnT1JHJyB8ICdJTlRFUk5BTCc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgUmVxdWVzdFR5cGVDb25maWcge1xuICB0eXBlSWQ6IHN0cmluZztcbiAgYXBwSWQ6IHN0cmluZztcbiAgb3JnSWQ6IHN0cmluZztcbiAgbGFiZWxFczogc3RyaW5nO1xuICBsYWJlbEVuOiBzdHJpbmc7XG4gIGZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYURlZltdO1xuICBhbGxvd0Fub255bW91czogYm9vbGVhbjtcbiAgLyoqXG4gICAqIFF1acOpbiBwdWVkZSBsZWVyL2VudmlhciBlc3RlIHRpcG8gKGRlYmUgY29pbmNpZGlyIGNvbiBlbCBiYWNrZW5kKTpcbiAgICogIC0gUFVCTElDICAgICAgICBjdWFscXVpZXJhLCBpbmNsdXNvIHNpbiBsb2dpbiAoYW7Ds25pbW8gc2kgYWxsb3dBbm9ueW1vdXMpLlxuICAgKiAgLSBBVVRIRU5USUNBVEVEIGN1YWxxdWllciB1c3VhcmlvIGxvZ3VlYWRvICsgdmVyaWZpY2FkbywgY3Jvc3Mtb3JnLlxuICAgKiAgLSBPUkcvSU5URVJOQUwgIHNvbG8gbWllbWJyb3MgZGUgbGEgb3JnIGR1ZcOxYS4gRGVmYXVsdCBPUkcuXG4gICAqL1xuICB2aXNpYmlsaXR5PzogUmVxdWVzdFZpc2liaWxpdHk7XG4gIGNyZWF0ZWRBdDogc3RyaW5nO1xuICB1cGRhdGVkQXQ6IHN0cmluZztcbn1cblxuLy8g4pSA4pSAIFJlcXVlc3QgLyBSZXNwb25zZSDilIDilIBcblxuZXhwb3J0IGludGVyZmFjZSBDcmVhdGVSZXF1ZXN0UGF5bG9hZCB7XG4gIHR5cGU6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgZmllbGRzPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj47XG4gIHRhZ3M/OiBzdHJpbmdbXTtcbiAgcHJpb3JpdHk/OiBzdHJpbmc7XG4gIC8qKiBQYXJhIHNvbGljaXR1ZGVzIGFuw7NuaW1hcyAqL1xuICBzdWJtaXR0ZXI/OiBSZXF1ZXN0QWN0b3I7XG4gIGR1ZUF0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJlcXVlc3RQYXlsb2FkIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGZpZWxkcz86IFJlY29yZDxzdHJpbmcsIHVua25vd24+O1xuICB0YWdzPzogc3RyaW5nW107XG4gIHByaW9yaXR5Pzogc3RyaW5nO1xuICBhc3NpZ25lZT86IFJlcXVlc3RBY3RvcjtcbiAgZHVlQXQ/OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhbnNpdGlvblBheWxvYWQge1xuICBzdGF0dXM6IFJlcXVlc3RTdGF0dXM7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWRkQ29tbWVudFBheWxvYWQge1xuICBib2R5OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlcXVlc3RzUGFyYW1zIHtcbiAgdHlwZT86IHN0cmluZztcbiAgc3RhdHVzPzogc3RyaW5nO1xuICBsaW1pdD86IG51bWJlcjtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RSZXF1ZXN0c1Jlc3BvbnNlIHtcbiAgcmVxdWVzdHM6IEFwcFJlcXVlc3RbXTtcbiAgbmV4dFRva2VuPzogc3RyaW5nO1xuICBjb3VudDogbnVtYmVyO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIExpc3RDb21tZW50c1Jlc3BvbnNlIHtcbiAgY29tbWVudHM6IFJlcXVlc3RDb21tZW50W107XG4gIGNvdW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgTGlzdFJlcXVlc3RUeXBlc1Jlc3BvbnNlIHtcbiAgdHlwZXM6IFJlcXVlc3RUeXBlQ29uZmlnW107XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ3JlYXRlUmVxdWVzdFR5cGVQYXlsb2FkIHtcbiAgdHlwZUlkPzogc3RyaW5nOyAvLyBvcGNpb25hbDogYmFja2VuZCBnZW5lcmEgZGVzZGUgbGFiZWxFcyBzaSBubyBzZSBlbnbDrWFcbiAgbGFiZWxFczogc3RyaW5nO1xuICBsYWJlbEVuOiBzdHJpbmc7XG4gIGZpZWxkU2NoZW1hOiBGaWVsZFNjaGVtYURlZltdO1xuICBhbGxvd0Fub255bW91czogYm9vbGVhbjtcbiAgdmlzaWJpbGl0eT86IFJlcXVlc3RWaXNpYmlsaXR5O1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFVwZGF0ZVJlcXVlc3RUeXBlUGF5bG9hZCB7XG4gIGxhYmVsRXM6IHN0cmluZztcbiAgbGFiZWxFbjogc3RyaW5nO1xuICBmaWVsZFNjaGVtYTogRmllbGRTY2hlbWFEZWZbXTtcbiAgYWxsb3dBbm9ueW1vdXM6IGJvb2xlYW47XG4gIHZpc2liaWxpdHk/OiBSZXF1ZXN0VmlzaWJpbGl0eTtcbn1cbiJdfQ==
|
package/esm2022/lib/version.mjs
CHANGED
|
@@ -2,5 +2,5 @@
|
|
|
2
2
|
* Current version of valtech-components.
|
|
3
3
|
* This is automatically updated during the publish process.
|
|
4
4
|
*/
|
|
5
|
-
export const VERSION = '4.0.
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
5
|
+
export const VERSION = '4.0.37';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVyc2lvbi5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvdmVyc2lvbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7O0dBR0c7QUFDSCxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBDdXJyZW50IHZlcnNpb24gb2YgdmFsdGVjaC1jb21wb25lbnRzLlxuICogVGhpcyBpcyBhdXRvbWF0aWNhbGx5IHVwZGF0ZWQgZHVyaW5nIHRoZSBwdWJsaXNoIHByb2Nlc3MuXG4gKi9cbmV4cG9ydCBjb25zdCBWRVJTSU9OID0gJzQuMC4zNyc7XG4iXX0=
|