@rudderstack/integrations-lib 0.2.2 → 0.2.5
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/build/constants.js +1 -1
- package/build/errors/aborted_error.d.ts +1 -1
- package/build/errors/aborted_error.d.ts.map +1 -1
- package/build/errors/aborted_error.js +1 -1
- package/build/errors/base.d.ts.map +1 -1
- package/build/errors/base.js +2 -2
- package/build/errors/configuration_auth_error.d.ts +1 -1
- package/build/errors/configuration_auth_error.d.ts.map +1 -1
- package/build/errors/configuration_auth_error.js +1 -1
- package/build/errors/configuration_error.d.ts +1 -1
- package/build/errors/configuration_error.js +1 -1
- package/build/errors/instrumentation_error.d.ts +1 -1
- package/build/errors/instrumentation_error.js +1 -1
- package/build/errors/invalid_auth_token_error.d.ts +1 -1
- package/build/errors/invalid_auth_token_error.d.ts.map +1 -1
- package/build/errors/invalid_auth_token_error.js +1 -1
- package/build/errors/network_error.d.ts +1 -1
- package/build/errors/network_error.d.ts.map +1 -1
- package/build/errors/network_error.js +2 -2
- package/build/errors/oauth_secret_error.d.ts +1 -1
- package/build/errors/oauth_secret_error.js +1 -1
- package/build/errors/platform_error.d.ts +1 -1
- package/build/errors/platform_error.js +1 -1
- package/build/errors/redis_error.d.ts +1 -1
- package/build/errors/redis_error.js +1 -1
- package/build/errors/retryable_error.d.ts +1 -1
- package/build/errors/retryable_error.d.ts.map +1 -1
- package/build/errors/retryable_error.js +1 -1
- package/build/errors/throttled_error.d.ts +1 -1
- package/build/errors/throttled_error.js +1 -1
- package/build/errors/unauthorized_error.d.ts +1 -1
- package/build/errors/unauthorized_error.d.ts.map +1 -1
- package/build/errors/unauthorized_error.js +1 -1
- package/build/errors/unhandled_status_code_error.d.ts +1 -1
- package/build/errors/unhandled_status_code_error.js +1 -1
- package/build/errors/unsupported_event_error.d.ts +1 -1
- package/build/errors/unsupported_event_error.js +1 -1
- package/build/logger.js +1 -1
- package/build/network/clients/axios_client.d.ts.map +1 -1
- package/build/network/clients/axios_client.js +9 -7
- package/build/network/clients/axios_client.test.js +64 -29
- package/build/network/clients/types.d.ts.map +1 -1
- package/build/network/clients/types.js +1 -1
- package/build/network/factory.d.ts +1 -1
- package/build/network/factory.d.ts.map +1 -1
- package/build/network/factory.js +1 -1
- package/build/network/factory.test.js +3 -2
- package/build/network/index.d.ts.map +1 -1
- package/build/network/index.js +1 -1
- package/build/structured-logger.d.ts +2 -0
- package/build/structured-logger.d.ts.map +1 -1
- package/build/structured-logger.js +11 -8
- package/build/structured-logger.test.d.ts +2 -0
- package/build/structured-logger.test.d.ts.map +1 -0
- package/build/structured-logger.test.js +118 -0
- package/build/tags.js +43 -43
- package/build/types.d.ts.map +1 -1
- package/build/types.js +4 -10
- package/build/utils/json.d.ts.map +1 -1
- package/build/utils/json.js +17 -4
- package/build/utils/json.test.js +703 -1
- package/build/utils/misc.d.ts +8 -1
- package/build/utils/misc.d.ts.map +1 -1
- package/build/utils/misc.js +16 -10
- package/build/utils/misc.test.js +33 -1
- package/build/utils/sem.d.ts.map +1 -1
- package/build/utils/sem.js +1 -1
- package/build/utils/sem.test.js +81 -1
- package/mock/index.d.ts.map +1 -1
- package/mock/index.js +1 -1
- package/package.json +22 -6
package/build/utils/sem.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sem.d.ts","sourceRoot":"","sources":["../../src/utils/sem.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sem.d.ts","sourceRoot":"","sources":["../../src/utils/sem.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,UAAU,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAsIxD,qBAAa,YAAY;IACvB;;;;;OAKG;WACW,kBAAkB,CAAC,OAAO,EAAE,gBAAgB,EAAE,QAAQ,GAAE,MAAW;IAoBjF;;;;;;;;;;;;;;;;OAgBG;WACW,wBAAwB,CAAC,OAAO,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO;IAaxF;;;;;;OAMG;WACW,mCAAmC,CAC/C,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAE,MAAM,GACtB;QACD,qBAAqB,EAAE,OAAO,GAAG,IAAI,CAAC;QACtC,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;QAC1B,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;KAC/B;IAuBD;;;;;;OAMG;WACW,qCAAqC,CACjD,OAAO,EAAE,gBAAgB,EACzB,eAAe,EAAE,MAAM,GACtB,UAAU,GAAG,SAAS;CAkB1B"}
|
package/build/utils/sem.js
CHANGED
|
@@ -244,4 +244,4 @@ class SemanticUtil {
|
|
|
244
244
|
}
|
|
245
245
|
}
|
|
246
246
|
exports.SemanticUtil = SemanticUtil;
|
|
247
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3NlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFDQSxtQ0FBaUM7QUFDakMsMERBQTRCO0FBRTVCLE1BQU0sMkJBQTJCLEdBQWdDO0lBQy9ELFFBQVEsRUFBRTtRQUNSLFVBQVU7UUFDVixVQUFVO1FBQ1YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixVQUFVO1FBQ1YsZ0JBQWdCO0tBQ2pCO0lBQ0QsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDMUMsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDOUMsY0FBYyxFQUFFO1FBQ2QsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixlQUFlO0tBQ2hCO0lBQ0QsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkYsYUFBYSxFQUFFO1FBQ2IsZUFBZTtRQUNmLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLGNBQWM7UUFDZCxjQUFjO0tBQ2Y7SUFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckQsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDbEQsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7SUFDdEMsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JELEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2xDLGVBQWUsRUFBRSxDQUFDLGlC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Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0Y7QUExSEQsb0NBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGVzdGluYXRpb24sIEV4dGVybmFsSWQsIFJ1ZGRlclN0YWNrRXZlbnQgfSBmcm9tICcuLi90eXBlcyc7XG5pbXBvcnQgeyBpc0VtcHR5IH0gZnJvbSAnbG9kYXNoJztcbmltcG9ydCBnZXQgZnJvbSAnZ2V0LXZhbHVlJztcblxuY29uc3QgSU5URUdSQVRJT05fQ0FOT05JQ0FMX05BTUVTOiB7IFtrZXk6IHN0cmluZ106IHN0cmluZ1tdIH0gPSB7XG4gIGZiX3BpeGVsOiBbXG4gICAgJ2ZiX3BpeGVsJyxcbiAgICAnZmIgcGl4ZWwnLFxuICAgICdGYWNlYm9va1BpeGVsJyxcbiAgICAnRmFjZWJvb2sgUGl4ZWwnLFxuICAgICdGQiBQaXhlbCcsXG4gICAgJ0ZhY2Vib29rX1BpeGVsJyxcbiAgXSxcbiAgb21ldHJpYTogWydPbWV0cmlhJywgJ29tZXRyaWEnLCAnT01FVFJJQSddLFxuICBzZW5kZ3JpZDogWydzZW5kZ3JpZCcsICdTZW5kZ3JpZCcsICdTRU5ER1JJRCddLFxuICBkY21fZmxvb2RsaWdodDogW1xuICAgICdkY20gZmxvb2RsaWdodCcsXG4gICAgJ2RjbV9mbG9vZGxpZ2h0JyxcbiAgICAnRENNIEZsb29kbGlnaHQnLFxuICAgICdEQ01fRmxvb2RsaWdodCcsXG4gICAgJ0RDTUZsb29kbGlnaHQnLFxuICAgICdkY21mbG9vZGxpZ2h0JyxcbiAgXSxcbiAgbmV3X3JlbGljOiBbJ25ldyByZWxpYycsICduZXdfcmVsaWMnLCAnTmV3IFJlbGljJywgJ05ld19SZWxpYycsICdOZXdSZWxpYycsICduZXdyZWxpYyddLFxuICBhdHRlbnRpdmVfdGFnOiBbXG4gICAgJ2F0dGVudGl2ZSB0YWcnLFxuICAgICdhdHRlbnRpdmVfdGFnJyxcbiAgICAnQXR0ZW50aXZlIFRhZycsXG4gICAgJ0F0dGVudGl2ZV9UYWcnLFxuICAgICdBdHRlbnRpdmVUYWcnLFxuICAgICdhdHRlbnRpdmV0YWcnLFxuICBdLFxuICB3ZWJob29rOiBbJ3dlYmhvb2snLCAnV2ViaG9vaycsICdXZWJIb29rJywgJ1dFQkhPT0snXSxcbiAgbWFpbGNoaW1wOiBbJ21haWxjaGltcCcsICdNYWlsQ2hpbXAnLCAnTUFJTENISU1QJ10sXG4gIG1hdXRpYzogWydNQVVUSUMnLCAnbWF1dGljJywgJ01hdXRpYyddLFxuICBtYWlsamV0OiBbJ01BSUxKRVQnLCAnTWFpbEpldCcsICdtYWlsamV0JywgJ01haWxqZXQnXSxcbiAga2Fma2E6IFsnS0FGS0EnLCAna2Fma2EnLCAnS2Fma2EnXSxcbiAgYXp1cmVfZXZlbnRfaHViOiBbJ0FaVVJFX0VWRU5UX0hVQicsICdhenVyZV9ldmVudF9odWInLCAnQXp1cmVFdmVudEh1YiddLFxuICBjb25mbHVlbnRfY2xvdWQ6IFsnQ09ORkxVRU5UX0NMT1VEJywgJ2NvbmZsdWVudF9jbG91ZCcsICdDb25mbHVlbnRDbG91ZCddLFxuICB2ZXJvOiBbJ3Zlcm8nLCAnVmVybycsICdWRVJPJ10sXG4gIHBpbnRlcmVzdDogWydwaW50ZXJlc3QnLCAnUGludGVyZXN0JywgJ1BJTlRFUkVTVCcsICdwaW50ZXJlc3RDb252ZXJzaW9uJ10sXG4gIHJvY2tlcmJveDogWydyb2NrZXJib3gnLCAnUk9DS0VSQk9YJywgJ1JvY2tlcmJveCcsICdSb2NrZXJCb3gnLCAncm9ja2VyQm94J10sXG4gIGNhbm55OiBbJ2Nhbm55JywgJ0Nhbm55JywgJ0NBTk5ZJ10sXG4gIG9uZV9zaWduYWw6IFsnb25lIHNpZ25hbCcsICdvbmVfc2lnbmFsJywgJ09uZSBTaWduYWwnLCAnT25lX1NpZ25hbCcsICdPbmVTaWduYWwnLCAnb25lc2lnbmFsJ10sXG4gIHdvb3RyaWM6IFsnd29vdHJpYycsICdXb290cmljJywgJ1dPT1RSSUMnXSxcbiAgY2xpY2t1cDogWydDbGlja1VwJywgJ2NsaWNrdXAnLCAnQ0xJQ0tVUCcsICdjbGlja1VwJywgJ0NsaWNrdXAnXSxcbiAgemFwaWVyOiBbJ3phcGllcicsICdaYXBpZXInLCAnWkFQSUVSJ10sXG4gIHNoeW5ldDogWydzaHluZXQnLCAnU0hZTkVUJywgJ3NoeU5ldCcsICdTaHlOZXQnXSxcbiAgd29vcHJhOiBbJ1dPT1BSQScsICdXb29wcmEnLCAnd29vcHJhJ10sXG4gIG1vbmRheTogWydtb25kYXknLCAnTU9OREFZJywgJ21vbkRheScsICdNb25EYXknXSxcbiAgbWFpbG1vZG86IFtcbiAgICAnbWFpbCBtb2RvJyxcbiAgICAnbWFpbF9tb2RvJyxcbiAgICAnTWFpbCBNb2RvJyxcbiAgICAnTWFpbF9Nb2RvJyxcbiAgICAnTWFpbE1vZG8nLFxuICAgICdtYWlsbW9kbycsXG4gICAgJ01BSUxNT0RPJyxcbiAgICAnbWFpbE1vZG8nLFxuICBdLFxuICB1c2VyOiBbJ3VzZXInLCAnVVNFUicsICdVc2VyJywgJ1VzZXIuY29tJywgJ3VzZXIuY29tJywgJ1VTRVIuY29tJ10sXG4gIGVuZ2FnZTogWydlbmdhZ2UnLCAnRW5nYWdlJywgJ0VOR0FHRSddLFxuICBqdW5lOiBbJ2p1bmUnLCAnSlVORScsICdKdW5lJ10sXG4gIGZhY3RvcnNhaTogWydGQUNUT1JTQUknLCAnZmFjdG9yc0FJJywgJ0ZhY3RvcnNBaScsICdmYWN0b3JzQWknXSxcbiAgc25hcGNoYXRfY3VzdG9tX2F1ZGllbmNlOiBbXG4gICAgJ3NuYXBjaGF0IGN1c3RvbSBhdWRpZW5jZScsXG4gICAgJ3NuYXAgY2hhdCBjdXN0b20gYXVkaWVuY2UnLFxuICAgICdzbmFwY2hhdF9jdXN0b21fYXVkaWVuY2UnLFxuICAgICdzbmFwY2hhdEN1c3RvbUF1ZGllbmNlJyxcbiAgICAnU25hcGNoYXQgQ3VzdG9tIEF1ZGllbmNlJyxcbiAgICAnc25hcGNoYXRjdXN0b21hdWRpZW5jZScsXG4gICAgJ1NOQVBDSEFUIENVU1RPTSBBVURJRU5DRScsXG4gICAgJ1NOQVBDSEFUX0NVU1RPTV9BVURJRU5DRScsXG4gICAgJ1NOQVBDSEFUQ1VTVE9NQVVESUVOQ0UnLFxuICBdLFxuICBDQU1QQUlHTl9NQU5BR0VSOiBbXG4gICAgJ2NhbXBhaWduIG1hbmFnZXInLFxuICAgICdjYW1wYWluIE1hbmFnZXInLFxuICAgICdDQU1QQUlHTiBNQU5BR0VSJyxcbiAgICAnY2FtcGFpZ25NYW5hZ2VyJyxcbiAgICAnY2FtcGFpZ25fbWFuYWdlcicsXG4gICAgJ0NBTVBBSUdOX01BTkFHRVInLFxuICBdLFxuICBnYWluc2lnaHRfcHg6IFtcbiAgICAnR0FJTlNJR0hUX1BYJyxcbiAgICAnR0FJTlNJR0hUUFgnLFxuICAgICdnYWluc2lnaHRQeCcsXG4gICAgJ0dhaW5zaWdodCBQWCcsXG4gICAgJ2dhaW5zaWdodCBweCcsXG4gICAgJ0dhaW5zaWdodCBQeCcsXG4gIF0sXG4gIGF3aW46IFsnYXdpbicsICdBd2luJywgJ0FXSU4nXSxcbiAgc2VuZGluYmx1ZTogWydzZW5kaW5ibHVlJywgJ1NFTkRJTkJMVUUnLCAnU2VuZGluYmx1ZScsICdTZW5kaW5CbHVlJ10sXG4gIGdhNDogWydHQTQnLCAnZ2E0JywgJ0dhNCcsICdHb29nbGUgQW5hbHl0aWNzIDQnLCAnZ29vZ2xlQW5hbHl0aWNzNCddLFxuICBwaXBlZHJlYW06IFsnUGlwZWRyZWFtJywgJ1BpcGVEcmVhbScsICdwaXBlZHJlYW0nLCAnUElQRURSRUFNJ10sXG4gIHBhZ2VyZHV0eTogWydwYWdlcmR1dHknLCAnUEFHRVJEVVRZJywgJ1BhZ2VyRHV0eScsICdQYWdlcmR1dHknLCAncGFnZXJEdXR5J10sXG4gIGFkb2JlX2FuYWx5dGljczogW1xuICAgICdhZG9iZV9hbmFseXRpY3MnLFxuICAgICdBRE9CRV9BTkFMWVRJQ1MnLFxuICAgICdhZG9iZSBhbmFseXRpY3MnLFxuICAgICdhZG9iZUFuYWx5dGljcycsXG4gICAgJ0Fkb2JlIEFuYWx5dGljcycsXG4gICAgJ2Fkb2JlYW5hbHl0aWNzJyxcbiAgICAnQURPQkUgQU5BTFlUSUNTJyxcbiAgICAnQURPQkVBTkFMWVRJQ1MnLFxuICBdLFxuICBjcml0ZW9fYXVkaWVuY2U6IFtcbiAgICAnY3JpdGVvIGF1ZGllbmNlJyxcbiAgICAnY3JpdGVvQXVkaWVuY2UnLFxuICAgICdDcml0ZW8gQXVkaWVuY2UnLFxuICAgICdjcml0ZW9hdWRpZW5jZScsXG4gICAgJ0NSSVRFTyBBVURJRU5DRScsXG4gICAgJ0NSSVRFT19BVURJRU5DRScsXG4gICAgJ0NSSVRFT0FVRElFTkNFJyxcbiAgXSxcbiAgb3B0aW1pemVseV9mdWxsc3RhY2s6IFtcbiAgICAnT3B0aW1pemVseSBGdWxsc3RhY2snLFxuICAgICdPUFRJTUlaRUxZIEZVTExTVEFDSycsXG4gICAgJ29wdGltaXplbHkgZnVsbHN0YWNrJyxcbiAgICAnT3B0aW1pemVseUZ1bGxzdGFjaycsXG4gICAgJ09wdGltaXplbHlfRnVsbHN0YWNrJyxcbiAgICAnb3B0aW1pemVseV9mdWxsc3RhY2snLFxuICBdLFxuICB2aXRhbGx5OiBbJ3ZpdGFsbHknLCAnVml0YWxseScsICdWSVRBTExZJ10sXG4gIGNvdXJpZXI6IFsnQ291cmllcicsICdjb3VyaWVyJywgJ0NPVVJJRVInXSxcbiAgVFdJVFRFUl9BRFM6IFtcbiAgICAndHdpdHRlciBhZHMnLFxuICAgICd0d2l0dGVyIE1hbmFnZXInLFxuICAgICdUV0lUVEVSIEFEUycsXG4gICAgJ3R3aXR0ZXJBRFMnLFxuICAgICd0d2l0dGVyX2FkcycsXG4gICAgJ1RXSVRURVJfQURTJyxcbiAgXSxcbiAgQlJBWkU6IFsnQlJBWkUnLCAnQnJhemUnLCAnYnJhemUnXSxcbn07XG5cbmV4cG9ydCBjbGFzcyBTZW1hbnRpY1V0aWwge1xuICAvKipcbiAgICogUmV0cmlldmVzIHRoZSBgaW50ZWdyYXRpb25zYCBvYmplY3QgZm9yIGEgc3BlY2lmaWMgZGVzdGluYXRpb24gaW4gYSBnaXZlbiBgUnVkZGVyU3RhY2tFdmVudGAgbWVzc2FnZS5cbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgUnVkZGVyU3RhY2tFdmVudCBtZXNzYWdlIG9iamVjdC5cbiAgICogQHBhcmFtIGludGdOYW1lIC0gVGhlIGRlc3RpbmF0aW9uIG5hbWUuXG4gICAqIEByZXR1cm5zIFRoZSBgaW50ZWdyYXRpb25zYCBvYmplY3QgZm9yIHRoZSBzcGVjaWZpZWQgZGVzdGluYXRpb24sIG9yIG51bGwgaWYgbm90IGZvdW5kLlxuICAgKi9cbiAgcHVibGljIHN0YXRpYyBnZXRJbnRlZ3JhdGlvbnNPYmoobWVzc2FnZTogUnVkZGVyU3RhY2tFdmVudCwgaW50Z05hbWU6IHN0cmluZyA9ICcnKSB7XG4gICAgaWYgKCFpc0VtcHR5KGludGdOYW1lKSkge1xuICAgICAgY29uc3QgaW50Z0Nhbm9uaWNhbE5hbWVzID0gSU5URUdSQVRJT05fQ0FOT05JQ0FMX05BTUVTW2ludGdOYW1lXTtcbiAgICAgIGlmICghaW50Z0Nhbm9uaWNhbE5hbWVzKSB7XG4gICAgICAgIHJldHVybiBudWxsO1xuICAgICAgfVxuICAgICAgY29uc3QgaW50Z09iaiA9IGludGdDYW5vbmljYWxOYW1lcy5yZWR1Y2UoKGFjYywgY2Fub25pY2FsTmFtZSkgPT4ge1xuICAgICAgICBpZiAoZ2V0KG1lc3NhZ2UsIGBpbnRlZ3JhdGlvbnMuJHtjYW5vbmljYWxOYW1lfWApKSB7XG4gICAgICAgICAgcmV0dXJuIGdldChtZXNzYWdlLCBgaW50ZWdyYXRpb25zLiR7Y2Fub25pY2FsTmFtZX1gKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gYWNjO1xuICAgICAgfSwgbnVsbCk7XG5cbiAgICAgIGlmIChpbnRnT2JqKSB7XG4gICAgICAgIHJldHVybiBpbnRnT2JqO1xuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCBmcm9tIGEgZ2l2ZW4gKm1lc3NhZ2Ugb2JqZWN0LlxuICAgKiB7XG4gICAqICAgIFwiY29udGV4dFwiOiB7XG4gICAqICAgICAgXCJleHRlcm5hbElkXCI6IFtcbiAgICogICAgICAgIHtcbiAgICogICAgICAgICAgXCJ0eXBlXCI6IFwia3VzdG9tZXJJZFwiLFxuICAgKiAgICAgICAgICBcImlkXCI6IFwiMTIzNDU2NzhcIlxuICAgKiAgICAgICAgfVxuICAgKiAgICAgIF1cbiAgICogICAgfVxuICAgKiB9XG4gICAqXG4gICAqIEBwYXJhbSB7UnVkZGVyU3RhY2tFdmVudH0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIG9iamVjdCBjb250YWluaW5nIHRoZSBleHRlcm5hbCBJRC5cbiAgICogQHBhcmFtIHtzdHJpbmd9IHR5cGUgLSBUaGUgdHlwZSBvZiB0aGUgZXh0ZXJuYWwgSUQgdG8gcmV0cmlldmUuXG4gICAqIEByZXR1cm5zIHt1bmtub3dufSAtIFRoZSBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRChtZXNzYWdlOiBSdWRkZXJTdGFja0V2ZW50LCB0eXBlOiBzdHJpbmcpOiB1bmtub3duIHtcbiAgICBjb25zdCB7IGNvbnRleHQgfSA9IG1lc3NhZ2U7XG4gICAgY29uc3QgZXh0ZXJuYWxJZEFycmF5ID0gY29udGV4dD8uZXh0ZXJuYWxJZCA/PyBbXTtcbiAgICBsZXQgZXh0ZXJuYWxJZE9iajogRXh0ZXJuYWxJZCB8IHVuZGVmaW5lZDtcbiAgICBpZiAoQXJyYXkuaXNBcnJheShleHRlcm5hbElkQXJyYXkpKSB7XG4gICAgICBleHRlcm5hbElkT2JqID0gZXh0ZXJuYWxJZEFycmF5LmZpbmQoKGV4dElkT2JqKSA9PiBleHRJZE9iaj8udHlwZSA9PT0gdHlwZSk7XG4gICAgfVxuICAgIGlmICghZXh0ZXJuYWxJZE9iaikge1xuICAgICAgcmV0dXJuIG51bGw7XG4gICAgfVxuICAgIHJldHVybiBleHRlcm5hbElkT2JqLmlkO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCBpbmZvcm1hdGlvbiBmcm9tIGEgZ2l2ZW4gUnVkZGVyU3RhY2tFdmVudCBtZXNzYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIG9iamVjdCBjb250YWluaW5nIHRoZSBleHRlcm5hbCBJRC5cbiAgICogQHBhcmFtIGRlc3RpbmF0aW9uTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBkZXN0aW5hdGlvbiBmb3Igd2hpY2ggdG8gcmV0cmlldmUgdGhlIGV4dGVybmFsIElEIGluZm9ybWF0aW9uLlxuICAgKiBAcmV0dXJucyBBbiBvYmplY3QgY29udGFpbmluZyB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQsIHRoZSBvYmplY3QgdHlwZSwgYW5kIHRoZSBpZGVudGlmaWVyIHR5cGUuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldERlc3RpbmF0aW9uRXh0ZXJuYWxJREluZm9Gb3JSZXRsKFxuICAgIG1lc3NhZ2U6IFJ1ZGRlclN0YWNrRXZlbnQsXG4gICAgZGVzdGluYXRpb25OYW1lOiBzdHJpbmcsXG4gICk6IHtcbiAgICBkZXN0aW5hdGlvbkV4dGVybmFsSWQ6IHVua25vd24gfCBudWxsO1xuICAgIG9iamVjdFR5cGU6IHN0cmluZyB8IG51bGw7XG4gICAgaWRlbnRpZmllclR5cGU6IHN0cmluZyB8IG51bGw7XG4gIH0ge1xuICAgIGxldCBleHRlcm5hbElkQXJyYXk6IEV4dGVybmFsSWRbXSA9IFtdO1xuICAgIGxldCBkZXN0aW5hdGlvbkV4dGVybmFsSWQ6IHVua25vd24gfCBudWxsID0gbnVsbDtcbiAgICBsZXQgaWRlbnRpZmllclR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuICAgIGxldCBvYmplY3RUeXBlOiBzdHJpbmcgfCBudWxsID0gbnVsbDtcblxuICAgIGlmIChtZXNzYWdlLmNvbnRleHQ/LmV4dGVybmFsSWQpIHtcbiAgICAgIGV4dGVybmFsSWRBcnJheSA9IG1lc3NhZ2UuY29udGV4dC5leHRlcm5hbElkO1xuICAgIH1cblxuICAgIGlmIChBcnJheS5pc0FycmF5KGV4dGVybmFsSWRBcnJheSkpIHtcbiAgICAgIGV4dGVybmFsSWRBcnJheS5mb3JFYWNoKChleHRJZE9iaikgPT4ge1xuICAgICAgICBjb25zdCB7IHR5cGUsIGlkIH0gPSBleHRJZE9iajtcbiAgICAgICAgaWYgKHR5cGUuaW5jbHVkZXMoYCR7ZGVzdGluYXRpb25OYW1lfS1gKSkge1xuICAgICAgICAgIGRlc3RpbmF0aW9uRXh0ZXJuYWxJZCA9IGlkID8/IG51bGw7XG4gICAgICAgICAgb2JqZWN0VHlwZSA9IHR5cGUucmVwbGFjZShgJHtkZXN0aW5hdGlvbk5hbWV9LWAsICcnKSA/PyBudWxsO1xuICAgICAgICAgIGlkZW50aWZpZXJUeXBlID0gZXh0SWRPYmouaWRlbnRpZmllclR5cGUgPz8gbnVsbDtcbiAgICAgICAgfVxuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiB7IGRlc3RpbmF0aW9uRXh0ZXJuYWxJZCwgb2JqZWN0VHlwZSwgaWRlbnRpZmllclR5cGUgfTtcbiAgfVxuXG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgYSBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCBvYmplY3QgZnJvbSBhIGdpdmVuIFJ1ZGRlclN0YWNrRXZlbnQgbWVzc2FnZS5cbiAgICpcbiAgICogQHBhcmFtIG1lc3NhZ2UgLSBUaGUgbWVzc2FnZSBvYmplY3QgY29udGFpbmluZyB0aGUgZXh0ZXJuYWwgSUQuXG4gICAqIEBwYXJhbSBkZXN0aW5hdGlvbk5hbWUgLSBUaGUgbmFtZSBvZiB0aGUgZGVzdGluYXRpb24gZm9yIHdoaWNoIHRvIHJldHJpZXZlIHRoZSBleHRlcm5hbCBJRCBvYmplY3QuXG4gICAqIEByZXR1cm5zIFRoZSBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCBvYmplY3QgaWYgZm91bmQsIG9yIHVuZGVmaW5lZCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRE9iamVjdEZvclJldGwoXG4gICAgbWVzc2FnZTogUnVkZGVyU3RhY2tFdmVudCxcbiAgICBkZXN0aW5hdGlvbk5hbWU6IHN0cmluZyxcbiAgKTogRXh0ZXJuYWxJZCB8IHVuZGVmaW5lZCB7XG4gICAgY29uc3QgeyBleHRlcm5hbElkIH0gPSBtZXNzYWdlLmNvbnRleHQgfHwge307XG4gICAgY29uc3QgZXh0ZXJuYWxJZEFycmF5ID0gZXh0ZXJuYWxJZCA/PyBbXTtcblxuICAgIGxldCBvYmo6IEV4dGVybmFsSWQgfCB1bmRlZmluZWQ7XG4gICAgaWYgKGV4dGVybmFsSWRBcnJheS5sZW5ndGggPiAwKSB7XG4gICAgICAvLyBzb21lIHN0b3BzIHRoZSBleGVjdXRpb24gd2hlbiB0aGUgZWxlbWVudCBpcyBmb3VuZFxuICAgICAgZXh0ZXJuYWxJZEFycmF5LnNvbWUoKGV4dElkT2JqKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdHlwZSB9ID0gZXh0SWRPYmo7XG4gICAgICAgIGlmICh0eXBlPy5pbmNsdWRlcyhgJHtkZXN0aW5hdGlvbk5hbWV9LWApKSB7XG4gICAgICAgICAgb2JqID0gZXh0SWRPYmo7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfSk7XG4gICAgfVxuICAgIHJldHVybiBvYmo7XG4gIH1cbn1cbiJdfQ==
|
|
247
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL3NlbS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFBQSxtQ0FBaUM7QUFDakMsMERBQTRCO0FBRzVCLE1BQU0sMkJBQTJCLEdBQWdDO0lBQy9ELFFBQVEsRUFBRTtRQUNSLFVBQVU7UUFDVixVQUFVO1FBQ1YsZUFBZTtRQUNmLGdCQUFnQjtRQUNoQixVQUFVO1FBQ1YsZ0JBQWdCO0tBQ2pCO0lBQ0QsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDMUMsUUFBUSxFQUFFLENBQUMsVUFBVSxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDOUMsY0FBYyxFQUFFO1FBQ2QsZ0JBQWdCO1FBQ2hCLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIsZ0JBQWdCO1FBQ2hCLGVBQWU7UUFDZixlQUFlO0tBQ2hCO0lBQ0QsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxVQUFVLENBQUM7SUFDdkYsYUFBYSxFQUFFO1FBQ2IsZUFBZTtRQUNmLGVBQWU7UUFDZixlQUFlO1FBQ2YsZUFBZTtRQUNmLGNBQWM7UUFDZCxjQUFjO0tBQ2Y7SUFDRCxPQUFPLEVBQUUsQ0FBQyxTQUFTLEVBQUUsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLENBQUM7SUFDckQsU0FBUyxFQUFFLENBQUMsV0FBVyxFQUFFLFdBQVcsRUFBRSxXQUFXLENBQUM7SUFDbEQsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFLFFBQVEsRUFBRSxRQUFRLENBQUM7SUFDdEMsT0FBTyxFQUFFLENBQUMsU0FBUyxFQUFFLFNBQVMsRUFBRSxTQUFTLEVBQUUsU0FBUyxDQUFDO0lBQ3JELEtBQUssRUFBRSxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDO0lBQ2xDLGVBQWUsRUFBRSxDQUFDLGlC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Z0JBQ0QsT0FBTyxLQUFLLENBQUM7WUFDZixDQUFDLENBQUMsQ0FBQztTQUNKO1FBQ0QsT0FBTyxHQUFHLENBQUM7SUFDYixDQUFDO0NBQ0Y7QUExSEQsb0NBMEhDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgaXNFbXB0eSB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgZ2V0IGZyb20gJ2dldC12YWx1ZSc7XG5pbXBvcnQgeyBFeHRlcm5hbElkLCBSdWRkZXJTdGFja0V2ZW50IH0gZnJvbSAnLi4vdHlwZXMnO1xuXG5jb25zdCBJTlRFR1JBVElPTl9DQU5PTklDQUxfTkFNRVM6IHsgW2tleTogc3RyaW5nXTogc3RyaW5nW10gfSA9IHtcbiAgZmJfcGl4ZWw6IFtcbiAgICAnZmJfcGl4ZWwnLFxuICAgICdmYiBwaXhlbCcsXG4gICAgJ0ZhY2Vib29rUGl4ZWwnLFxuICAgICdGYWNlYm9vayBQaXhlbCcsXG4gICAgJ0ZCIFBpeGVsJyxcbiAgICAnRmFjZWJvb2tfUGl4ZWwnLFxuICBdLFxuICBvbWV0cmlhOiBbJ09tZXRyaWEnLCAnb21ldHJpYScsICdPTUVUUklBJ10sXG4gIHNlbmRncmlkOiBbJ3NlbmRncmlkJywgJ1NlbmRncmlkJywgJ1NFTkRHUklEJ10sXG4gIGRjbV9mbG9vZGxpZ2h0OiBbXG4gICAgJ2RjbSBmbG9vZGxpZ2h0JyxcbiAgICAnZGNtX2Zsb29kbGlnaHQnLFxuICAgICdEQ00gRmxvb2RsaWdodCcsXG4gICAgJ0RDTV9GbG9vZGxpZ2h0JyxcbiAgICAnRENNRmxvb2RsaWdodCcsXG4gICAgJ2RjbWZsb29kbGlnaHQnLFxuICBdLFxuICBuZXdfcmVsaWM6IFsnbmV3IHJlbGljJywgJ25ld19yZWxpYycsICdOZXcgUmVsaWMnLCAnTmV3X1JlbGljJywgJ05ld1JlbGljJywgJ25ld3JlbGljJ10sXG4gIGF0dGVudGl2ZV90YWc6IFtcbiAgICAnYXR0ZW50aXZlIHRhZycsXG4gICAgJ2F0dGVudGl2ZV90YWcnLFxuICAgICdBdHRlbnRpdmUgVGFnJyxcbiAgICAnQXR0ZW50aXZlX1RhZycsXG4gICAgJ0F0dGVudGl2ZVRhZycsXG4gICAgJ2F0dGVudGl2ZXRhZycsXG4gIF0sXG4gIHdlYmhvb2s6IFsnd2ViaG9vaycsICdXZWJob29rJywgJ1dlYkhvb2snLCAnV0VCSE9PSyddLFxuICBtYWlsY2hpbXA6IFsnbWFpbGNoaW1wJywgJ01haWxDaGltcCcsICdNQUlMQ0hJTVAnXSxcbiAgbWF1dGljOiBbJ01BVVRJQycsICdtYXV0aWMnLCAnTWF1dGljJ10sXG4gIG1haWxqZXQ6IFsnTUFJTEpFVCcsICdNYWlsSmV0JywgJ21haWxqZXQnLCAnTWFpbGpldCddLFxuICBrYWZrYTogWydLQUZLQScsICdrYWZrYScsICdLYWZrYSddLFxuICBhenVyZV9ldmVudF9odWI6IFsnQVpVUkVfRVZFTlRfSFVCJywgJ2F6dXJlX2V2ZW50X2h1YicsICdBenVyZUV2ZW50SHViJ10sXG4gIGNvbmZsdWVudF9jbG91ZDogWydDT05GTFVFTlRfQ0xPVUQnLCAnY29uZmx1ZW50X2Nsb3VkJywgJ0NvbmZsdWVudENsb3VkJ10sXG4gIHZlcm86IFsndmVybycsICdWZXJvJywgJ1ZFUk8nXSxcbiAgcGludGVyZXN0OiBbJ3BpbnRlcmVzdCcsICdQaW50ZXJlc3QnLCAnUElOVEVSRVNUJywgJ3BpbnRlcmVzdENvbnZlcnNpb24nXSxcbiAgcm9ja2VyYm94OiBbJ3JvY2tlcmJveCcsICdST0NLRVJCT1gnLCAnUm9ja2VyYm94JywgJ1JvY2tlckJveCcsICdyb2NrZXJCb3gnXSxcbiAgY2Fubnk6IFsnY2FubnknLCAnQ2FubnknLCAnQ0FOTlknXSxcbiAgb25lX3NpZ25hbDogWydvbmUgc2lnbmFsJywgJ29uZV9zaWduYWwnLCAnT25lIFNpZ25hbCcsICdPbmVfU2lnbmFsJywgJ09uZVNpZ25hbCcsICdvbmVzaWduYWwnXSxcbiAgd29vdHJpYzogWyd3b290cmljJywgJ1dvb3RyaWMnLCAnV09PVFJJQyddLFxuICBjbGlja3VwOiBbJ0NsaWNrVXAnLCAnY2xpY2t1cCcsICdDTElDS1VQJywgJ2NsaWNrVXAnLCAnQ2xpY2t1cCddLFxuICB6YXBpZXI6IFsnemFwaWVyJywgJ1phcGllcicsICdaQVBJRVInXSxcbiAgc2h5bmV0OiBbJ3NoeW5ldCcsICdTSFlORVQnLCAnc2h5TmV0JywgJ1NoeU5ldCddLFxuICB3b29wcmE6IFsnV09PUFJBJywgJ1dvb3ByYScsICd3b29wcmEnXSxcbiAgbW9uZGF5OiBbJ21vbmRheScsICdNT05EQVknLCAnbW9uRGF5JywgJ01vbkRheSddLFxuICBtYWlsbW9kbzogW1xuICAgICdtYWlsIG1vZG8nLFxuICAgICdtYWlsX21vZG8nLFxuICAgICdNYWlsIE1vZG8nLFxuICAgICdNYWlsX01vZG8nLFxuICAgICdNYWlsTW9kbycsXG4gICAgJ21haWxtb2RvJyxcbiAgICAnTUFJTE1PRE8nLFxuICAgICdtYWlsTW9kbycsXG4gIF0sXG4gIHVzZXI6IFsndXNlcicsICdVU0VSJywgJ1VzZXInLCAnVXNlci5jb20nLCAndXNlci5jb20nLCAnVVNFUi5jb20nXSxcbiAgZW5nYWdlOiBbJ2VuZ2FnZScsICdFbmdhZ2UnLCAnRU5HQUdFJ10sXG4gIGp1bmU6IFsnanVuZScsICdKVU5FJywgJ0p1bmUnXSxcbiAgZmFjdG9yc2FpOiBbJ0ZBQ1RPUlNBSScsICdmYWN0b3JzQUknLCAnRmFjdG9yc0FpJywgJ2ZhY3RvcnNBaSddLFxuICBzbmFwY2hhdF9jdXN0b21fYXVkaWVuY2U6IFtcbiAgICAnc25hcGNoYXQgY3VzdG9tIGF1ZGllbmNlJyxcbiAgICAnc25hcCBjaGF0IGN1c3RvbSBhdWRpZW5jZScsXG4gICAgJ3NuYXBjaGF0X2N1c3RvbV9hdWRpZW5jZScsXG4gICAgJ3NuYXBjaGF0Q3VzdG9tQXVkaWVuY2UnLFxuICAgICdTbmFwY2hhdCBDdXN0b20gQXVkaWVuY2UnLFxuICAgICdzbmFwY2hhdGN1c3RvbWF1ZGllbmNlJyxcbiAgICAnU05BUENIQVQgQ1VTVE9NIEFVRElFTkNFJyxcbiAgICAnU05BUENIQVRfQ1VTVE9NX0FVRElFTkNFJyxcbiAgICAnU05BUENIQVRDVVNUT01BVURJRU5DRScsXG4gIF0sXG4gIENBTVBBSUdOX01BTkFHRVI6IFtcbiAgICAnY2FtcGFpZ24gbWFuYWdlcicsXG4gICAgJ2NhbXBhaW4gTWFuYWdlcicsXG4gICAgJ0NBTVBBSUdOIE1BTkFHRVInLFxuICAgICdjYW1wYWlnbk1hbmFnZXInLFxuICAgICdjYW1wYWlnbl9tYW5hZ2VyJyxcbiAgICAnQ0FNUEFJR05fTUFOQUdFUicsXG4gIF0sXG4gIGdhaW5zaWdodF9weDogW1xuICAgICdHQUlOU0lHSFRfUFgnLFxuICAgICdHQUlOU0lHSFRQWCcsXG4gICAgJ2dhaW5zaWdodFB4JyxcbiAgICAnR2FpbnNpZ2h0IFBYJyxcbiAgICAnZ2FpbnNpZ2h0IHB4JyxcbiAgICAnR2FpbnNpZ2h0IFB4JyxcbiAgXSxcbiAgYXdpbjogWydhd2luJywgJ0F3aW4nLCAnQVdJTiddLFxuICBzZW5kaW5ibHVlOiBbJ3NlbmRpbmJsdWUnLCAnU0VORElOQkxVRScsICdTZW5kaW5ibHVlJywgJ1NlbmRpbkJsdWUnXSxcbiAgZ2E0OiBbJ0dBNCcsICdnYTQnLCAnR2E0JywgJ0dvb2dsZSBBbmFseXRpY3MgNCcsICdnb29nbGVBbmFseXRpY3M0J10sXG4gIHBpcGVkcmVhbTogWydQaXBlZHJlYW0nLCAnUGlwZURyZWFtJywgJ3BpcGVkcmVhbScsICdQSVBFRFJFQU0nXSxcbiAgcGFnZXJkdXR5OiBbJ3BhZ2VyZHV0eScsICdQQUdFUkRVVFknLCAnUGFnZXJEdXR5JywgJ1BhZ2VyZHV0eScsICdwYWdlckR1dHknXSxcbiAgYWRvYmVfYW5hbHl0aWNzOiBbXG4gICAgJ2Fkb2JlX2FuYWx5dGljcycsXG4gICAgJ0FET0JFX0FOQUxZVElDUycsXG4gICAgJ2Fkb2JlIGFuYWx5dGljcycsXG4gICAgJ2Fkb2JlQW5hbHl0aWNzJyxcbiAgICAnQWRvYmUgQW5hbHl0aWNzJyxcbiAgICAnYWRvYmVhbmFseXRpY3MnLFxuICAgICdBRE9CRSBBTkFMWVRJQ1MnLFxuICAgICdBRE9CRUFOQUxZVElDUycsXG4gIF0sXG4gIGNyaXRlb19hdWRpZW5jZTogW1xuICAgICdjcml0ZW8gYXVkaWVuY2UnLFxuICAgICdjcml0ZW9BdWRpZW5jZScsXG4gICAgJ0NyaXRlbyBBdWRpZW5jZScsXG4gICAgJ2NyaXRlb2F1ZGllbmNlJyxcbiAgICAnQ1JJVEVPIEFVRElFTkNFJyxcbiAgICAnQ1JJVEVPX0FVRElFTkNFJyxcbiAgICAnQ1JJVEVPQVVESUVOQ0UnLFxuICBdLFxuICBvcHRpbWl6ZWx5X2Z1bGxzdGFjazogW1xuICAgICdPcHRpbWl6ZWx5IEZ1bGxzdGFjaycsXG4gICAgJ09QVElNSVpFTFkgRlVMTFNUQUNLJyxcbiAgICAnb3B0aW1pemVseSBmdWxsc3RhY2snLFxuICAgICdPcHRpbWl6ZWx5RnVsbHN0YWNrJyxcbiAgICAnT3B0aW1pemVseV9GdWxsc3RhY2snLFxuICAgICdvcHRpbWl6ZWx5X2Z1bGxzdGFjaycsXG4gIF0sXG4gIHZpdGFsbHk6IFsndml0YWxseScsICdWaXRhbGx5JywgJ1ZJVEFMTFknXSxcbiAgY291cmllcjogWydDb3VyaWVyJywgJ2NvdXJpZXInLCAnQ09VUklFUiddLFxuICBUV0lUVEVSX0FEUzogW1xuICAgICd0d2l0dGVyIGFkcycsXG4gICAgJ3R3aXR0ZXIgTWFuYWdlcicsXG4gICAgJ1RXSVRURVIgQURTJyxcbiAgICAndHdpdHRlckFEUycsXG4gICAgJ3R3aXR0ZXJfYWRzJyxcbiAgICAnVFdJVFRFUl9BRFMnLFxuICBdLFxuICBCUkFaRTogWydCUkFaRScsICdCcmF6ZScsICdicmF6ZSddLFxufTtcblxuZXhwb3J0IGNsYXNzIFNlbWFudGljVXRpbCB7XG4gIC8qKlxuICAgKiBSZXRyaWV2ZXMgdGhlIGBpbnRlZ3JhdGlvbnNgIG9iamVjdCBmb3IgYSBzcGVjaWZpYyBkZXN0aW5hdGlvbiBpbiBhIGdpdmVuIGBSdWRkZXJTdGFja0V2ZW50YCBtZXNzYWdlLlxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBSdWRkZXJTdGFja0V2ZW50IG1lc3NhZ2Ugb2JqZWN0LlxuICAgKiBAcGFyYW0gaW50Z05hbWUgLSBUaGUgZGVzdGluYXRpb24gbmFtZS5cbiAgICogQHJldHVybnMgVGhlIGBpbnRlZ3JhdGlvbnNgIG9iamVjdCBmb3IgdGhlIHNwZWNpZmllZCBkZXN0aW5hdGlvbiwgb3IgbnVsbCBpZiBub3QgZm91bmQuXG4gICAqL1xuICBwdWJsaWMgc3RhdGljIGdldEludGVncmF0aW9uc09iaihtZXNzYWdlOiBSdWRkZXJTdGFja0V2ZW50LCBpbnRnTmFtZTogc3RyaW5nID0gJycpIHtcbiAgICBpZiAoIWlzRW1wdHkoaW50Z05hbWUpKSB7XG4gICAgICBjb25zdCBpbnRnQ2Fub25pY2FsTmFtZXMgPSBJTlRFR1JBVElPTl9DQU5PTklDQUxfTkFNRVNbaW50Z05hbWVdO1xuICAgICAgaWYgKCFpbnRnQ2Fub25pY2FsTmFtZXMpIHtcbiAgICAgICAgcmV0dXJuIG51bGw7XG4gICAgICB9XG4gICAgICBjb25zdCBpbnRnT2JqID0gaW50Z0Nhbm9uaWNhbE5hbWVzLnJlZHVjZSgoYWNjLCBjYW5vbmljYWxOYW1lKSA9PiB7XG4gICAgICAgIGlmIChnZXQobWVzc2FnZSwgYGludGVncmF0aW9ucy4ke2Nhbm9uaWNhbE5hbWV9YCkpIHtcbiAgICAgICAgICByZXR1cm4gZ2V0KG1lc3NhZ2UsIGBpbnRlZ3JhdGlvbnMuJHtjYW5vbmljYWxOYW1lfWApO1xuICAgICAgICB9XG4gICAgICAgIHJldHVybiBhY2M7XG4gICAgICB9LCBudWxsKTtcblxuICAgICAgaWYgKGludGdPYmopIHtcbiAgICAgICAgcmV0dXJuIGludGdPYmo7XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiBudWxsO1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIGZyb20gYSBnaXZlbiAqbWVzc2FnZSBvYmplY3QuXG4gICAqIHtcbiAgICogICAgXCJjb250ZXh0XCI6IHtcbiAgICogICAgICBcImV4dGVybmFsSWRcIjogW1xuICAgKiAgICAgICAge1xuICAgKiAgICAgICAgICBcInR5cGVcIjogXCJrdXN0b21lcklkXCIsXG4gICAqICAgICAgICAgIFwiaWRcIjogXCIxMjM0NTY3OFwiXG4gICAqICAgICAgICB9XG4gICAqICAgICAgXVxuICAgKiAgICB9XG4gICAqIH1cbiAgICpcbiAgICogQHBhcmFtIHtSdWRkZXJTdGFja0V2ZW50fSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGV4dGVybmFsIElELlxuICAgKiBAcGFyYW0ge3N0cmluZ30gdHlwZSAtIFRoZSB0eXBlIG9mIHRoZSBleHRlcm5hbCBJRCB0byByZXRyaWV2ZS5cbiAgICogQHJldHVybnMge3Vua25vd259IC0gVGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElELCBvciBudWxsIGlmIG5vdCBmb3VuZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RGVzdGluYXRpb25FeHRlcm5hbElEKG1lc3NhZ2U6IFJ1ZGRlclN0YWNrRXZlbnQsIHR5cGU6IHN0cmluZyk6IHVua25vd24ge1xuICAgIGNvbnN0IHsgY29udGV4dCB9ID0gbWVzc2FnZTtcbiAgICBjb25zdCBleHRlcm5hbElkQXJyYXkgPSBjb250ZXh0Py5leHRlcm5hbElkID8/IFtdO1xuICAgIGxldCBleHRlcm5hbElkT2JqOiBFeHRlcm5hbElkIHwgdW5kZWZpbmVkO1xuICAgIGlmIChBcnJheS5pc0FycmF5KGV4dGVybmFsSWRBcnJheSkpIHtcbiAgICAgIGV4dGVybmFsSWRPYmogPSBleHRlcm5hbElkQXJyYXkuZmluZCgoZXh0SWRPYmopID0+IGV4dElkT2JqPy50eXBlID09PSB0eXBlKTtcbiAgICB9XG4gICAgaWYgKCFleHRlcm5hbElkT2JqKSB7XG4gICAgICByZXR1cm4gbnVsbDtcbiAgICB9XG4gICAgcmV0dXJuIGV4dGVybmFsSWRPYmouaWQ7XG4gIH1cblxuICAvKipcbiAgICogUmV0cmlldmVzIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIGluZm9ybWF0aW9uIGZyb20gYSBnaXZlbiBSdWRkZXJTdGFja0V2ZW50IG1lc3NhZ2UuXG4gICAqXG4gICAqIEBwYXJhbSBtZXNzYWdlIC0gVGhlIG1lc3NhZ2Ugb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGV4dGVybmFsIElELlxuICAgKiBAcGFyYW0gZGVzdGluYXRpb25OYW1lIC0gVGhlIG5hbWUgb2YgdGhlIGRlc3RpbmF0aW9uIGZvciB3aGljaCB0byByZXRyaWV2ZSB0aGUgZXh0ZXJuYWwgSUQgaW5mb3JtYXRpb24uXG4gICAqIEByZXR1cm5zIEFuIG9iamVjdCBjb250YWluaW5nIHRoZSBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCwgdGhlIG9iamVjdCB0eXBlLCBhbmQgdGhlIGlkZW50aWZpZXIgdHlwZS5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RGVzdGluYXRpb25FeHRlcm5hbElESW5mb0ZvclJldGwoXG4gICAgbWVzc2FnZTogUnVkZGVyU3RhY2tFdmVudCxcbiAgICBkZXN0aW5hdGlvbk5hbWU6IHN0cmluZyxcbiAgKToge1xuICAgIGRlc3RpbmF0aW9uRXh0ZXJuYWxJZDogdW5rbm93biB8IG51bGw7XG4gICAgb2JqZWN0VHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgICBpZGVudGlmaWVyVHlwZTogc3RyaW5nIHwgbnVsbDtcbiAgfSB7XG4gICAgbGV0IGV4dGVybmFsSWRBcnJheTogRXh0ZXJuYWxJZFtdID0gW107XG4gICAgbGV0IGRlc3RpbmF0aW9uRXh0ZXJuYWxJZDogdW5rbm93biB8IG51bGwgPSBudWxsO1xuICAgIGxldCBpZGVudGlmaWVyVHlwZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XG4gICAgbGV0IG9iamVjdFR5cGU6IHN0cmluZyB8IG51bGwgPSBudWxsO1xuXG4gICAgaWYgKG1lc3NhZ2UuY29udGV4dD8uZXh0ZXJuYWxJZCkge1xuICAgICAgZXh0ZXJuYWxJZEFycmF5ID0gbWVzc2FnZS5jb250ZXh0LmV4dGVybmFsSWQ7XG4gICAgfVxuXG4gICAgaWYgKEFycmF5LmlzQXJyYXkoZXh0ZXJuYWxJZEFycmF5KSkge1xuICAgICAgZXh0ZXJuYWxJZEFycmF5LmZvckVhY2goKGV4dElkT2JqKSA9PiB7XG4gICAgICAgIGNvbnN0IHsgdHlwZSwgaWQgfSA9IGV4dElkT2JqO1xuICAgICAgICBpZiAodHlwZS5pbmNsdWRlcyhgJHtkZXN0aW5hdGlvbk5hbWV9LWApKSB7XG4gICAgICAgICAgZGVzdGluYXRpb25FeHRlcm5hbElkID0gaWQgPz8gbnVsbDtcbiAgICAgICAgICBvYmplY3RUeXBlID0gdHlwZS5yZXBsYWNlKGAke2Rlc3RpbmF0aW9uTmFtZX0tYCwgJycpID8/IG51bGw7XG4gICAgICAgICAgaWRlbnRpZmllclR5cGUgPSBleHRJZE9iai5pZGVudGlmaWVyVHlwZSA/PyBudWxsO1xuICAgICAgICB9XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIHsgZGVzdGluYXRpb25FeHRlcm5hbElkLCBvYmplY3RUeXBlLCBpZGVudGlmaWVyVHlwZSB9O1xuICB9XG5cbiAgLyoqXG4gICAqIFJldHJpZXZlcyBhIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBmcm9tIGEgZ2l2ZW4gUnVkZGVyU3RhY2tFdmVudCBtZXNzYWdlLlxuICAgKlxuICAgKiBAcGFyYW0gbWVzc2FnZSAtIFRoZSBtZXNzYWdlIG9iamVjdCBjb250YWluaW5nIHRoZSBleHRlcm5hbCBJRC5cbiAgICogQHBhcmFtIGRlc3RpbmF0aW9uTmFtZSAtIFRoZSBuYW1lIG9mIHRoZSBkZXN0aW5hdGlvbiBmb3Igd2hpY2ggdG8gcmV0cmlldmUgdGhlIGV4dGVybmFsIElEIG9iamVjdC5cbiAgICogQHJldHVybnMgVGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBpZiBmb3VuZCwgb3IgdW5kZWZpbmVkIGlmIG5vdCBmb3VuZC5cbiAgICovXG4gIHB1YmxpYyBzdGF0aWMgZ2V0RGVzdGluYXRpb25FeHRlcm5hbElET2JqZWN0Rm9yUmV0bChcbiAgICBtZXNzYWdlOiBSdWRkZXJTdGFja0V2ZW50LFxuICAgIGRlc3RpbmF0aW9uTmFtZTogc3RyaW5nLFxuICApOiBFeHRlcm5hbElkIHwgdW5kZWZpbmVkIHtcbiAgICBjb25zdCB7IGV4dGVybmFsSWQgfSA9IG1lc3NhZ2UuY29udGV4dCB8fCB7fTtcbiAgICBjb25zdCBleHRlcm5hbElkQXJyYXkgPSBleHRlcm5hbElkID8/IFtdO1xuXG4gICAgbGV0IG9iajogRXh0ZXJuYWxJZCB8IHVuZGVmaW5lZDtcbiAgICBpZiAoZXh0ZXJuYWxJZEFycmF5Lmxlbmd0aCA+IDApIHtcbiAgICAgIC8vIHNvbWUgc3RvcHMgdGhlIGV4ZWN1dGlvbiB3aGVuIHRoZSBlbGVtZW50IGlzIGZvdW5kXG4gICAgICBleHRlcm5hbElkQXJyYXkuc29tZSgoZXh0SWRPYmopID0+IHtcbiAgICAgICAgY29uc3QgeyB0eXBlIH0gPSBleHRJZE9iajtcbiAgICAgICAgaWYgKHR5cGU/LmluY2x1ZGVzKGAke2Rlc3RpbmF0aW9uTmFtZX0tYCkpIHtcbiAgICAgICAgICBvYmogPSBleHRJZE9iajtcbiAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9KTtcbiAgICB9XG4gICAgcmV0dXJuIG9iajtcbiAgfVxufVxuIl19
|
package/build/utils/sem.test.js
CHANGED
|
@@ -233,5 +233,85 @@ describe('SemanticUtil', () => {
|
|
|
233
233
|
expect(result).toBeNull();
|
|
234
234
|
});
|
|
235
235
|
});
|
|
236
|
+
describe('getDestinationExternalIDInfoForRetl', () => {
|
|
237
|
+
test('should parse everything successfully', () => {
|
|
238
|
+
const msg = {
|
|
239
|
+
context: {
|
|
240
|
+
externalId: [
|
|
241
|
+
{
|
|
242
|
+
type: 'destination-user',
|
|
243
|
+
id: 1245,
|
|
244
|
+
identifierType: 'some',
|
|
245
|
+
},
|
|
246
|
+
],
|
|
247
|
+
},
|
|
248
|
+
};
|
|
249
|
+
const actual = sem_1.SemanticUtil.getDestinationExternalIDInfoForRetl(msg, 'destination');
|
|
250
|
+
expect(actual.destinationExternalId).toEqual(1245);
|
|
251
|
+
expect(actual.objectType).toEqual('user');
|
|
252
|
+
expect(actual.identifierType).toEqual('some');
|
|
253
|
+
});
|
|
254
|
+
test('should parse everything but return all as null', () => {
|
|
255
|
+
const msg = {
|
|
256
|
+
context: {
|
|
257
|
+
externalId: [
|
|
258
|
+
{
|
|
259
|
+
type: 'destination-',
|
|
260
|
+
},
|
|
261
|
+
],
|
|
262
|
+
},
|
|
263
|
+
};
|
|
264
|
+
const actual = sem_1.SemanticUtil.getDestinationExternalIDInfoForRetl(msg, 'destination');
|
|
265
|
+
expect(actual.destinationExternalId).toEqual(null);
|
|
266
|
+
expect(actual.objectType).toEqual('');
|
|
267
|
+
expect(actual.identifierType).toEqual(null);
|
|
268
|
+
});
|
|
269
|
+
});
|
|
270
|
+
describe('getDestinationExternalIDObjectForRetl', () => {
|
|
271
|
+
test('should parse everything successfully', () => {
|
|
272
|
+
const msg = {
|
|
273
|
+
context: {
|
|
274
|
+
externalId: [
|
|
275
|
+
{
|
|
276
|
+
type: 'destination-user',
|
|
277
|
+
id: 1245,
|
|
278
|
+
identifierType: 'some',
|
|
279
|
+
},
|
|
280
|
+
],
|
|
281
|
+
},
|
|
282
|
+
};
|
|
283
|
+
const actual = sem_1.SemanticUtil.getDestinationExternalIDObjectForRetl(msg, 'destination');
|
|
284
|
+
expect(actual?.id).toEqual(1245);
|
|
285
|
+
// TODO: Is this expected ? Confirm with team
|
|
286
|
+
expect(actual?.type).toEqual('destination-user');
|
|
287
|
+
expect(actual?.identifierType).toEqual('some');
|
|
288
|
+
});
|
|
289
|
+
test('should be undefined when externalId does not have type', () => {
|
|
290
|
+
const msg = {
|
|
291
|
+
context: {
|
|
292
|
+
externalId: [
|
|
293
|
+
{
|
|
294
|
+
id: 1245,
|
|
295
|
+
identifierType: 'some',
|
|
296
|
+
},
|
|
297
|
+
],
|
|
298
|
+
},
|
|
299
|
+
};
|
|
300
|
+
const actual = sem_1.SemanticUtil.getDestinationExternalIDObjectForRetl(msg, 'destination');
|
|
301
|
+
expect(actual).toEqual(undefined);
|
|
302
|
+
});
|
|
303
|
+
test('should be undefined when externalId is not present', () => {
|
|
304
|
+
const msg = {
|
|
305
|
+
context: {},
|
|
306
|
+
};
|
|
307
|
+
const actual = sem_1.SemanticUtil.getDestinationExternalIDObjectForRetl(msg, 'destination');
|
|
308
|
+
expect(actual).toEqual(undefined);
|
|
309
|
+
});
|
|
310
|
+
test('should be undefined when context is not present', () => {
|
|
311
|
+
const msg = {};
|
|
312
|
+
const actual = sem_1.SemanticUtil.getDestinationExternalIDObjectForRetl(msg, 'destination');
|
|
313
|
+
expect(actual).toEqual(undefined);
|
|
314
|
+
});
|
|
315
|
+
});
|
|
236
316
|
});
|
|
237
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc2VtLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUF3Qjs7QUFFeEIsK0JBQXFDO0FBRXJDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzVCLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7UUFDbEMsK0ZBQStGO1FBQy9GLEVBQUUsQ0FBQyxvRUFBb0UsRUFBRSxHQUFHLEVBQUU7WUFDNUUsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUUsT0FBTztxQkFDYjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDNUIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsNkVBQTZFO1FBQzdFLEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7WUFDMUQsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUUsT0FBTztxQkFDYjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDcEIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsK0VBQStFO1FBQy9FLEVBQUUsQ0FBQyxv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QUErRjtRQUMvRixFQUFFLENBQUMsbUdBQW1HLEVBQUUsR0FBRyxFQUFFO1lBQzNHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsRUFBRSxFQUFFLFVBQVU7eUJBQ2Y7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsd0JBQXdCLENBQUMsT0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZWQgYnkgQ29kaXVtQUlcblxuaW1wb3J0IHsgU2VtYW50aWNVdGlsIH0gZnJvbSAnLi9zZW0nO1xuXG5kZXNjcmliZSgnU2VtYW50aWNVdGlsJywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0SW50ZWdyYXRpb25zT2JqJywgKCkgPT4ge1xuICAgIC8vIFRlc3RzIHRoYXQgJ2dldEludGVncmF0aW9uc09iaicgcmV0dXJucyB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCBmb3IgYSB2YWxpZCBpbnRlZ3JhdGlvbiBuYW1lXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGludGVncmF0aW9ucyBvYmplY3QgZm9yIGEgdmFsaWQgaW50ZWdyYXRpb24gbmFtZScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGludGVncmF0aW9uczoge1xuICAgICAgICAgIGZiX3BpeGVsOiB7XG4gICAgICAgICAgICBrZXk6ICd2YWx1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdmYl9waXhlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsga2V5OiAndmFsdWUnIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gVGVzdHMgdGhhdCAnZ2V0SW50ZWdyYXRpb25zT2JqJyByZXR1cm5zIG51bGwgZm9yIGFuIGVtcHR5IGludGVncmF0aW9uIG5hbWVcbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIGZvciBhbiBlbXB0eSBpbnRlZ3JhdGlvbiBuYW1lJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgICAgaW50ZWdyYXRpb25zOiB7XG4gICAgICAgICAgZmJfcGl4ZWw6IHtcbiAgICAgICAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJyc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlTnVsbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gVGVzdHMgdGhhdCAnZ2V0SW50ZWdyYXRpb25zT2JqJyByZXR1cm5zIG51bGwgZm9yIGFuIGludmFsaWQgaW50ZWdyYXRpb24gbmFtZVxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgZm9yIGFuIGludmFsaWQgaW50ZWdyYXRpb24gbmFtZScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGludGVncmF0aW9uczoge1xuICAgICAgICAgIGZiX3BpeGVsOiB7XG4gICAgICAgICAgICBrZXk6ICd2YWx1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdpbnZhbGlkX2ludGVncmF0aW9uJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXRJbnRlZ3JhdGlvbnNPYmoobWVzc2FnZSBhcyBhbnksIGludGdOYW1lKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBUZXN0cyB0aGF0ICdnZXRJbnRlZ3JhdGlvbnNPYmonIHJldHVybnMgbnVsbCB3aGVuIHRoZSBpbnRlZ3JhdGlvbiBuYW1lIGhhcyBtdWx0aXBsZSBjYW5vbmljYWwgbmFtZXMgYnV0IG5vbmUgb2YgdGhlbSBleGlzdCBpbiB0aGUgbWVzc2FnZS5pbnRlZ3JhdGlvbnMgb2JqZWN0XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBpbnRlZ3JhdGlvbiBuYW1lIGhhcyBtdWx0aXBsZSBjYW5vbmljYWwgbmFtZXMgYnV0IG5vbmUgb2YgdGhlbSBleGlzdCBpbiB0aGUgbWVzc2FnZS5pbnRlZ3JhdGlvbnMgb2JqZWN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgICAgaW50ZWdyYXRpb25zOiB7XG4gICAgICAgICAgZmJfcGl4ZWw6IHtcbiAgICAgICAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJ2ludmFsaWRfaW50ZWdyYXRpb24nO1xuICAgICAgY29uc3QgcmVzdWx0ID0gU2VtYW50aWNVdGlsLmdldEludGVncmF0aW9uc09iaihtZXNzYWdlIGFzIGFueSwgaW50Z05hbWUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZU51bGwoKTtcbiAgICB9KTtcblxuICAgIC8vIFRlc3RzIHRoYXQgJ2dldEludGVncmF0aW9uc09iaicgcmV0dXJucyBudWxsIHdoZW4gdGhlIG1lc3NhZ2Ugb2JqZWN0IGhhcyBubyBpbnRlZ3JhdGlvbnMgb2JqZWN0XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBtZXNzYWdlIG9iamVjdCBoYXMgbm8gaW50ZWdyYXRpb25zIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7fTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJ2ZiX3BpeGVsJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXRJbnRlZ3JhdGlvbnNPYmoobWVzc2FnZSBhcyBhbnksIGludGdOYW1lKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBUZXN0cyB0aGF0ICdnZXRJbnRlZ3JhdGlvbnNPYmonIHJldHVybnMgbnVsbCB3aGVuIG5vbmUgb2YgdGhlIGNhbm9uaWNhbCBuYW1lcyBmb3IgdGhlIGludGVncmF0aW9uIG5hbWUgZXhpc3QgaW4gdGhlIGludGVncmF0aW9ucyBvYmplY3RcbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gbm9uZSBvZiB0aGUgY2Fub25pY2FsIG5hbWVzIGZvciB0aGUgaW50ZWdyYXRpb24gbmFtZSBleGlzdCBpbiB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGludGVncmF0aW9uczoge1xuICAgICAgICAgIHNvbWVfaW50ZWdyYXRpb246IHtcbiAgICAgICAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJ2ZiX3BpeGVsJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXRJbnRlZ3JhdGlvbnNPYmoobWVzc2FnZSBhcyBhbnksIGludGdOYW1lKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBUZXN0cyB0aGF0ICdnZXRJbnRlZ3JhdGlvbnNPYmonIHJldHVybnMgbnVsbCB3aGVuIHRoZSBjYW5vbmljYWwgbmFtZSBmb3IgdGhlIGludGVncmF0aW9uIG5hbWUgZXhpc3RzIGluIHRoZSBpbnRlZ3JhdGlvbnMgb2JqZWN0IGJ1dCBpdHMgdmFsdWUgaXMgbnVsbFxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgY2Fub25pY2FsIG5hbWUgZm9yIHRoZSBpbnRlZ3JhdGlvbiBuYW1lIGV4aXN0cyBpbiB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCBidXQgaXRzIHZhbHVlIGlzIG51bGwnLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBpbnRlZ3JhdGlvbnM6IHtcbiAgICAgICAgICBmYl9waXhlbDogbnVsbCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdmYl9waXhlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlTnVsbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gVGVzdHMgdGhhdCAnZ2V0SW50ZWdyYXRpb25zT2JqJyByZXR1cm5zIHRoZSBpbnRlZ3JhdGlvbnMgb2JqZWN0IGZvciBhIHZhbGlkIGludGVncmF0aW9uIG5hbWUgd2hlbiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCBmb3IgYSB2YWxpZCBpbnRlZ3JhdGlvbiBuYW1lIHdoZW4gdGhlIHZhbHVlIGlzIGEgbnVtYmVyJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgICAgaW50ZWdyYXRpb25zOiB7XG4gICAgICAgICAgZmJfcGl4ZWw6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdmYl9waXhlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKDEyMyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXREZXN0aW5hdGlvbkV4dGVybmFsSUQnLCAoKSA9PiB7XG4gICAgLy8gUmV0dXJucyB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgd2hlbiBpdCBleGlzdHMgaW4gdGhlIG1lc3NhZ2UgY29udGV4dC5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgd2hlbiBpdCBleGlzdHMgaW4gdGhlIG1lc3NhZ2UgY29udGV4dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdrdXN0b21lcklkJyxcbiAgICAgICAgICAgICAgaWQ6ICcxMjM0NTY3OCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdrdXN0b21lcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgnMTIzNDU2NzgnKTtcbiAgICB9KTtcblxuICAgIC8vIFJldHVybnMgbnVsbCB3aGVuIHRoZSBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbWVzc2FnZSBjb250ZXh0LlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1lc3NhZ2UgY29udGV4dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdrdXN0b21lcklkJyxcbiAgICAgICAgICAgICAgaWQ6ICcxMjM0NTY3OCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdvdGhlcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZU51bGwoKTtcbiAgICB9KTtcblxuICAgIC8vIFJldHVybnMgbnVsbCB3aGVuIHRoZSBtZXNzYWdlIGNvbnRleHQgaXMgdW5kZWZpbmVkLlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgbWVzc2FnZSBjb250ZXh0IGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7fTtcbiAgICAgIGNvbnN0IHR5cGUgPSAna3VzdG9tZXJJZCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElEKG1lc3NhZ2UgYXMgYW55LCB0eXBlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBSZXR1cm5zIG51bGwgd2hlbiB0aGUgZXh0ZXJuYWxJZCBhcnJheSBpcyBub3QgYW4gYXJyYXkuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBleHRlcm5hbElkIGFycmF5IGlzIG5vdCBhbiBhcnJheScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiAnMTIzNDU2NzgnLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHR5cGUgPSAna3VzdG9tZXJJZCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElEKG1lc3NhZ2UgYXMgYW55LCB0eXBlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBSZXR1cm5zIG51bGwgd2hlbiB0aGUgZXh0ZXJuYWxJZCBhcnJheSBpcyBhbiBlbXB0eSBhcnJheS5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlIGV4dGVybmFsSWQgYXJyYXkgaXMgYW4gZW1wdHkgYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXh0ZXJuYWxJZDogW10sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdrdXN0b21lcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZU51bGwoKTtcbiAgICB9KTtcblxuICAgIC8vIFJldHVybnMgbnVsbCB3aGVuIHRoZSBleHRlcm5hbElkIGFycmF5IGRvZXMgbm90IGNvbnRhaW4gYW4gb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCB0eXBlLlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgZXh0ZXJuYWxJZCBhcnJheSBkb2VzIG5vdCBjb250YWluIGFuIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdrdXN0b21lcklkJyxcbiAgICAgICAgICAgICAgaWQ6ICcxMjM0NTY3OCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdub25FeGlzdGVudFR5cGUnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gU2VtYW50aWNVdGlsLmdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRChtZXNzYWdlIGFzIGFueSwgdHlwZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlTnVsbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gUmV0dXJucyB0aGUgZmlyc3QgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCB0eXBlIHdoZW4gbXVsdGlwbGUgb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHR5cGUgZXhpc3QgaW4gdGhlIGV4dGVybmFsSWQgYXJyYXkuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIHdoZW4gbXVsdGlwbGUgb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHR5cGUgZXhpc3QgaW4gdGhlIGV4dGVybmFsSWQgYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXh0ZXJuYWxJZDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAna3VzdG9tZXJJZCcsXG4gICAgICAgICAgICAgIGlkOiAnMTIzNDU2NzgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ2t1c3RvbWVySWQnLFxuICAgICAgICAgICAgICBpZDogJzg3NjU0MzIxJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCB0eXBlID0gJ2t1c3RvbWVySWQnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gU2VtYW50aWNVdGlsLmdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRChtZXNzYWdlIGFzIGFueSwgdHlwZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCcxMjM0NTY3OCcpO1xuICAgIH0pO1xuXG4gICAgLy8gUmV0dXJucyBudWxsIHdoZW4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBkb2VzIG5vdCBoYXZlIGFuIGlkIHByb3BlcnR5LlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgb2JqZWN0IGRvZXMgbm90IGhhdmUgYW4gaWQgcHJvcGVydHknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXh0ZXJuYWxJZDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAna3VzdG9tZXJJZCcsXG4gICAgICAgICAgICAgIGlkOiAnMTIzNDU2NzgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ290aGVySWQnLFxuICAgICAgICAgICAgICAvLyBpZCBwcm9wZXJ0eSBpcyBtaXNzaW5nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdvdGhlcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgLy8gUmV0dXJucyBudWxsIHdoZW4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdHlwZSBwcm9wZXJ0eS5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdHlwZSBwcm9wZXJ0eScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMTIzNDU2NzgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHR5cGUgPSAna3VzdG9tZXJJZCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElEKG1lc3NhZ2UgYXMgYW55LCB0eXBlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
|
317
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VtLnRlc3QuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvc2VtLnRlc3QudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IjtBQUFBLHdCQUF3Qjs7QUFFeEIsK0JBQXFDO0FBRXJDLFFBQVEsQ0FBQyxjQUFjLEVBQUUsR0FBRyxFQUFFO0lBQzVCLFFBQVEsQ0FBQyxvQkFBb0IsRUFBRSxHQUFHLEVBQUU7UUFDbEMsK0ZBQStGO1FBQy9GLEVBQUUsQ0FBQyxvRUFBb0UsRUFBRSxHQUFHLEVBQUU7WUFDNUUsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUUsT0FBTztxQkFDYjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDNUIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxDQUFDO1FBQzNDLENBQUMsQ0FBQyxDQUFDO1FBRUgsNkVBQTZFO1FBQzdFLEVBQUUsQ0FBQyxrREFBa0QsRUFBRSxHQUFHLEVBQUU7WUFDMUQsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUUsT0FBTztxQkFDYjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxFQUFFLENBQUM7WUFDcEIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsK0VBQStFO1FBQy9FLEVBQUUsQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7WUFDNUQsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFFBQVEsRUFBRTt3QkFDUixHQUFHLEVBQUUsT0FBTztxQkFDYjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxxQkFBcUIsQ0FBQztZQUN2QyxNQUFNLE1BQU0sR0FBRyxrQkFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN6RSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCxnS0FBZ0s7UUFDaEssRUFBRSxDQUFDLHFJQUFxSSxFQUFFLEdBQUcsRUFBRTtZQUM3SSxNQUFNLE9BQU8sR0FBRztnQkFDZCxZQUFZLEVBQUU7b0JBQ1osUUFBUSxFQUFFO3dCQUNSLEdBQUcsRUFBRSxPQUFPO3FCQUNiO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUFHLHFCQUFxQixDQUFDO1lBQ3ZDLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsa0JBQWtCLENBQUMsT0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILGtHQUFrRztRQUNsRyxFQUFFLENBQUMsdUVBQXVFLEVBQUUsR0FBRyxFQUFFO1lBQy9FLE1BQU0sT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNuQixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDNUIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsMElBQTBJO1FBQzFJLEVBQUUsQ0FBQywrR0FBK0csRUFBRSxHQUFHLEVBQUU7WUFDdkgsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLGdCQUFnQixFQUFFO3dCQUNoQixHQUFHLEVBQUUsT0FBTztxQkFDYjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLFFBQVEsR0FBRyxVQUFVLENBQUM7WUFDNUIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxrQkFBa0IsQ0FBQyxPQUFjLEVBQUUsUUFBUSxDQUFDLENBQUM7WUFDekUsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsd0pBQXdKO1FBQ3hKLEVBQUUsQ0FBQyw2SEFBNkgsRUFBRSxHQUFHLEVBQUU7WUFDckksTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsWUFBWSxFQUFFO29CQUNaLFFBQVEsRUFBRSxJQUFJO2lCQUNmO2FBQ0YsQ0FBQztZQUNGLE1BQU0sUUFBUSxHQUFHLFVBQVUsQ0FBQztZQUM1QixNQUFNLE1BQU0sR0FBRyxrQkFBWSxDQUFDLGtCQUFrQixDQUFDLE9BQWMsRUFBRSxRQUFRLENBQUMsQ0FBQztZQUN6RSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCwwSEFBMEg7UUFDMUgsRUFBRSxDQUFDLCtGQUErRixFQUFFLEdBQUcsRUFBRTtZQUN2RyxNQUFNLE9BQU8sR0FBRztnQkFDZCxZQUFZLEVBQUU7b0JBQ1osUUFBUSxFQUFFLEdBQUc7aUJBQ2Q7YUFDRixDQUFDO1lBQ0YsTUFBTSxRQUFRLEdBQUcsVUFBVSxDQUFDO1lBQzVCLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsa0JBQWtCLENBQUMsT0FBYyxFQUFFLFFBQVEsQ0FBQyxDQUFDO1lBQ3pFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7UUFDOUIsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQywwQkFBMEIsRUFBRSxHQUFHLEVBQUU7UUFDeEMsc0ZBQXNGO1FBQ3RGLEVBQUUsQ0FBQywwRkFBMEYsRUFBRSxHQUFHLEVBQUU7WUFDbEcsTUFBTSxPQUFPLEdBQUc7Z0JBQ2QsT0FBTyxFQUFFO29CQUNQLFVBQVUsRUFBRTt3QkFDVjs0QkFDRSxJQUFJLEVBQUUsWUFBWTs0QkFDbEIsRUFBRSxFQUFFLFVBQVU7eUJBQ2Y7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsd0JBQXdCLENBQUMsT0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUM7UUFDbEMsQ0FBQyxDQUFDLENBQUM7UUFFSCxnR0FBZ0c7UUFDaEcsRUFBRSxDQUFDLG9HQUFvRyxFQUFFLEdBQUcsRUFBRTtZQUM1RyxNQUFNLE9BQU8sR0FBRztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsVUFBVSxFQUFFO3dCQUNWOzRCQUNFLElBQUksRUFBRSxZQUFZOzRCQUNsQixFQUFFLEVBQUUsVUFBVTt5QkFDZjtxQkFDRjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLElBQUksR0FBRyxTQUFTLENBQUM7WUFDdkIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDM0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO1FBQzVCLENBQUMsQ0FBQyxDQUFDO1FBRUgsc0RBQXNEO1FBQ3RELEVBQUUsQ0FBQywwREFBMEQsRUFBRSxHQUFHLEVBQUU7WUFDbEUsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDO1lBQ25CLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQztZQUMxQixNQUFNLE1BQU0sR0FBRyxrQkFBWSxDQUFDLHdCQUF3QixDQUFDLE9BQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCwwREFBMEQ7UUFDMUQsRUFBRSxDQUFDLDhEQUE4RCxFQUFFLEdBQUcsRUFBRTtZQUN0RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsVUFBVSxFQUFFLFVBQVU7aUJBQ3ZCO2FBQ0YsQ0FBQztZQUNGLE1BQU0sSUFBSSxHQUFHLFlBQVksQ0FBQztZQUMxQixNQUFNLE1BQU0sR0FBRyxrQkFBWSxDQUFDLHdCQUF3QixDQUFDLE9BQWMsRUFBRSxJQUFJLENBQUMsQ0FBQztZQUMzRSxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsUUFBUSxFQUFFLENBQUM7UUFDNUIsQ0FBQyxDQUFDLENBQUM7UUFFSCw0REFBNEQ7UUFDNUQsRUFBRSxDQUFDLGdFQUFnRSxFQUFFLEdBQUcsRUFBRTtZQUN4RSxNQUFNLE9BQU8sR0FBRztnQkFDZCxPQUFPLEVBQUU7b0JBQ1AsVUFBVSxFQUFFLEVBQUU7aUJBQ2Y7YUFDRixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsd0JBQXdCLENBQUMsT0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILDZGQUE2RjtRQUM3RixFQUFFLENBQUMsaUdBQWlHLEVBQUUsR0FBRyxFQUFFO1lBQ3pHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsSUFBSSxFQUFFLFlBQVk7NEJBQ2xCLEVBQUUsRUFBRSxVQUFVO3lCQUNmO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLE1BQU0sSUFBSSxHQUFHLGlCQUFpQixDQUFDO1lBQy9CLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsd0JBQXdCLENBQUMsT0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztRQUVILDRKQUE0SjtRQUM1SixFQUFFLENBQUMsMkhBQTJILEVBQUUsR0FBRyxFQUFFO1lBQ25JLE1BQU0sT0FBTyxHQUFHO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsSUFBSSxFQUFFLFlBQVk7NEJBQ2xCLEVBQUUsRUFBRSxVQUFVO3lCQUNmO3dCQUNEOzRCQUNFLElBQUksRUFBRSxZQUFZOzRCQUNsQixFQUFFLEVBQUUsVUFBVTt5QkFDZjtxQkFDRjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLElBQUksR0FBRyxZQUFZLENBQUM7WUFDMUIsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyx3QkFBd0IsQ0FBQyxPQUFjLEVBQUUsSUFBSSxDQUFDLENBQUM7WUFDM0UsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxDQUFDLENBQUMsQ0FBQztRQUVILDhGQUE4RjtRQUM5RixFQUFFLENBQUMsa0dBQWtHLEVBQUUsR0FBRyxFQUFFO1lBQzFHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsSUFBSSxFQUFFLFlBQVk7NEJBQ2xCLEVBQUUsRUFBRSxVQUFVO3lCQUNmO3dCQUNEOzRCQUNFLElBQUksRUFBRSxTQUFTOzRCQUNmLHlCQUF5Qjt5QkFDMUI7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsU0FBUyxDQUFDO1lBQ3ZCLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsd0JBQXdCLENBQUMsT0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztRQUVILCtGQUErRjtRQUMvRixFQUFFLENBQUMsbUdBQW1HLEVBQUUsR0FBRyxFQUFFO1lBQzNHLE1BQU0sT0FBTyxHQUFHO2dCQUNkLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsRUFBRSxFQUFFLFVBQVU7eUJBQ2Y7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBQ0YsTUFBTSxJQUFJLEdBQUcsWUFBWSxDQUFDO1lBQzFCLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsd0JBQXdCLENBQUMsT0FBYyxFQUFFLElBQUksQ0FBQyxDQUFDO1lBQzNFLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUM1QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0lBRUgsUUFBUSxDQUFDLHFDQUFxQyxFQUFFLEdBQUcsRUFBRTtRQUNuRCxJQUFJLENBQUMsc0NBQXNDLEVBQUUsR0FBRyxFQUFFO1lBQ2hELE1BQU0sR0FBRyxHQUFHO2dCQUNWLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsSUFBSSxFQUFFLGtCQUFrQjs0QkFDeEIsRUFBRSxFQUFFLElBQUk7NEJBQ1IsY0FBYyxFQUFFLE1BQU07eUJBQ3ZCO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsbUNBQW1DLENBQUMsR0FBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7WUFDMUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDaEQsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsZ0RBQWdELEVBQUUsR0FBRyxFQUFFO1lBQzFELE1BQU0sR0FBRyxHQUFHO2dCQUNWLE9BQU8sRUFBRTtvQkFDUCxVQUFVLEVBQUU7d0JBQ1Y7NEJBQ0UsSUFBSSxFQUFFLGNBQWM7eUJBQ3JCO3FCQUNGO2lCQUNGO2FBQ0YsQ0FBQztZQUNGLE1BQU0sTUFBTSxHQUFHLGtCQUFZLENBQUMsbUNBQW1DLENBQUMsR0FBVSxFQUFFLGFBQWEsQ0FBQyxDQUFDO1lBQzNGLE1BQU0sQ0FBQyxNQUFNLENBQUMscUJBQXFCLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDbkQsTUFBTSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQyxPQUFPLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDdEMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxjQUFjLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDOUMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDLENBQUMsQ0FBQztJQUVILFFBQVEsQ0FBQyx1Q0FBdUMsRUFBRSxHQUFHLEVBQUU7UUFDckQsSUFBSSxDQUFDLHNDQUFzQyxFQUFFLEdBQUcsRUFBRTtZQUNoRCxNQUFNLEdBQUcsR0FBRztnQkFDVixPQUFPLEVBQUU7b0JBQ1AsVUFBVSxFQUFFO3dCQUNWOzRCQUNFLElBQUksRUFBRSxrQkFBa0I7NEJBQ3hCLEVBQUUsRUFBRSxJQUFJOzRCQUNSLGNBQWMsRUFBRSxNQUFNO3lCQUN2QjtxQkFDRjtpQkFDRjthQUNGLENBQUM7WUFDRixNQUFNLE1BQU0sR0FBRyxrQkFBWSxDQUFDLHFDQUFxQyxDQUFDLEdBQVUsRUFBRSxhQUFhLENBQUMsQ0FBQztZQUM3RixNQUFNLENBQUMsTUFBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUNqQyw2Q0FBNkM7WUFDN0MsTUFBTSxDQUFDLE1BQU0sRUFBRSxJQUFJLENBQUMsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztZQUNqRCxNQUFNLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUNqRCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyx3REFBd0QsRUFBRSxHQUFHLEVBQUU7WUFDbEUsTUFBTSxHQUFHLEdBQUc7Z0JBQ1YsT0FBTyxFQUFFO29CQUNQLFVBQVUsRUFBRTt3QkFDVjs0QkFDRSxFQUFFLEVBQUUsSUFBSTs0QkFDUixjQUFjLEVBQUUsTUFBTTt5QkFDdkI7cUJBQ0Y7aUJBQ0Y7YUFDRixDQUFDO1lBQ0YsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDN0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxvREFBb0QsRUFBRSxHQUFHLEVBQUU7WUFDOUQsTUFBTSxHQUFHLEdBQUc7Z0JBQ1YsT0FBTyxFQUFFLEVBQUU7YUFDWixDQUFDO1lBQ0YsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDN0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxpREFBaUQsRUFBRSxHQUFHLEVBQUU7WUFDM0QsTUFBTSxHQUFHLEdBQUcsRUFBRSxDQUFDO1lBQ2YsTUFBTSxNQUFNLEdBQUcsa0JBQVksQ0FBQyxxQ0FBcUMsQ0FBQyxHQUFVLEVBQUUsYUFBYSxDQUFDLENBQUM7WUFDN0YsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxTQUFTLENBQUMsQ0FBQztRQUNwQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQyxDQUFDO0FBQ0wsQ0FBQyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvLyBHZW5lcmF0ZWQgYnkgQ29kaXVtQUlcblxuaW1wb3J0IHsgU2VtYW50aWNVdGlsIH0gZnJvbSAnLi9zZW0nO1xuXG5kZXNjcmliZSgnU2VtYW50aWNVdGlsJywgKCkgPT4ge1xuICBkZXNjcmliZSgnZ2V0SW50ZWdyYXRpb25zT2JqJywgKCkgPT4ge1xuICAgIC8vIFRlc3RzIHRoYXQgJ2dldEludGVncmF0aW9uc09iaicgcmV0dXJucyB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCBmb3IgYSB2YWxpZCBpbnRlZ3JhdGlvbiBuYW1lXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGludGVncmF0aW9ucyBvYmplY3QgZm9yIGEgdmFsaWQgaW50ZWdyYXRpb24gbmFtZScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGludGVncmF0aW9uczoge1xuICAgICAgICAgIGZiX3BpeGVsOiB7XG4gICAgICAgICAgICBrZXk6ICd2YWx1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdmYl9waXhlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKHsga2V5OiAndmFsdWUnIH0pO1xuICAgIH0pO1xuXG4gICAgLy8gVGVzdHMgdGhhdCAnZ2V0SW50ZWdyYXRpb25zT2JqJyByZXR1cm5zIG51bGwgZm9yIGFuIGVtcHR5IGludGVncmF0aW9uIG5hbWVcbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIGZvciBhbiBlbXB0eSBpbnRlZ3JhdGlvbiBuYW1lJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgICAgaW50ZWdyYXRpb25zOiB7XG4gICAgICAgICAgZmJfcGl4ZWw6IHtcbiAgICAgICAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJyc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlTnVsbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gVGVzdHMgdGhhdCAnZ2V0SW50ZWdyYXRpb25zT2JqJyByZXR1cm5zIG51bGwgZm9yIGFuIGludmFsaWQgaW50ZWdyYXRpb24gbmFtZVxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgZm9yIGFuIGludmFsaWQgaW50ZWdyYXRpb24gbmFtZScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGludGVncmF0aW9uczoge1xuICAgICAgICAgIGZiX3BpeGVsOiB7XG4gICAgICAgICAgICBrZXk6ICd2YWx1ZScsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdpbnZhbGlkX2ludGVncmF0aW9uJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXRJbnRlZ3JhdGlvbnNPYmoobWVzc2FnZSBhcyBhbnksIGludGdOYW1lKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBUZXN0cyB0aGF0ICdnZXRJbnRlZ3JhdGlvbnNPYmonIHJldHVybnMgbnVsbCB3aGVuIHRoZSBpbnRlZ3JhdGlvbiBuYW1lIGhhcyBtdWx0aXBsZSBjYW5vbmljYWwgbmFtZXMgYnV0IG5vbmUgb2YgdGhlbSBleGlzdCBpbiB0aGUgbWVzc2FnZS5pbnRlZ3JhdGlvbnMgb2JqZWN0XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBpbnRlZ3JhdGlvbiBuYW1lIGhhcyBtdWx0aXBsZSBjYW5vbmljYWwgbmFtZXMgYnV0IG5vbmUgb2YgdGhlbSBleGlzdCBpbiB0aGUgbWVzc2FnZS5pbnRlZ3JhdGlvbnMgb2JqZWN0JywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgICAgaW50ZWdyYXRpb25zOiB7XG4gICAgICAgICAgZmJfcGl4ZWw6IHtcbiAgICAgICAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJ2ludmFsaWRfaW50ZWdyYXRpb24nO1xuICAgICAgY29uc3QgcmVzdWx0ID0gU2VtYW50aWNVdGlsLmdldEludGVncmF0aW9uc09iaihtZXNzYWdlIGFzIGFueSwgaW50Z05hbWUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZU51bGwoKTtcbiAgICB9KTtcblxuICAgIC8vIFRlc3RzIHRoYXQgJ2dldEludGVncmF0aW9uc09iaicgcmV0dXJucyBudWxsIHdoZW4gdGhlIG1lc3NhZ2Ugb2JqZWN0IGhhcyBubyBpbnRlZ3JhdGlvbnMgb2JqZWN0XG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBtZXNzYWdlIG9iamVjdCBoYXMgbm8gaW50ZWdyYXRpb25zIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7fTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJ2ZiX3BpeGVsJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXRJbnRlZ3JhdGlvbnNPYmoobWVzc2FnZSBhcyBhbnksIGludGdOYW1lKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBUZXN0cyB0aGF0ICdnZXRJbnRlZ3JhdGlvbnNPYmonIHJldHVybnMgbnVsbCB3aGVuIG5vbmUgb2YgdGhlIGNhbm9uaWNhbCBuYW1lcyBmb3IgdGhlIGludGVncmF0aW9uIG5hbWUgZXhpc3QgaW4gdGhlIGludGVncmF0aW9ucyBvYmplY3RcbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gbm9uZSBvZiB0aGUgY2Fub25pY2FsIG5hbWVzIGZvciB0aGUgaW50ZWdyYXRpb24gbmFtZSBleGlzdCBpbiB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGludGVncmF0aW9uczoge1xuICAgICAgICAgIHNvbWVfaW50ZWdyYXRpb246IHtcbiAgICAgICAgICAgIGtleTogJ3ZhbHVlJyxcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGludGdOYW1lID0gJ2ZiX3BpeGVsJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXRJbnRlZ3JhdGlvbnNPYmoobWVzc2FnZSBhcyBhbnksIGludGdOYW1lKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBUZXN0cyB0aGF0ICdnZXRJbnRlZ3JhdGlvbnNPYmonIHJldHVybnMgbnVsbCB3aGVuIHRoZSBjYW5vbmljYWwgbmFtZSBmb3IgdGhlIGludGVncmF0aW9uIG5hbWUgZXhpc3RzIGluIHRoZSBpbnRlZ3JhdGlvbnMgb2JqZWN0IGJ1dCBpdHMgdmFsdWUgaXMgbnVsbFxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgY2Fub25pY2FsIG5hbWUgZm9yIHRoZSBpbnRlZ3JhdGlvbiBuYW1lIGV4aXN0cyBpbiB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCBidXQgaXRzIHZhbHVlIGlzIG51bGwnLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBpbnRlZ3JhdGlvbnM6IHtcbiAgICAgICAgICBmYl9waXhlbDogbnVsbCxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdmYl9waXhlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlTnVsbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gVGVzdHMgdGhhdCAnZ2V0SW50ZWdyYXRpb25zT2JqJyByZXR1cm5zIHRoZSBpbnRlZ3JhdGlvbnMgb2JqZWN0IGZvciBhIHZhbGlkIGludGVncmF0aW9uIG5hbWUgd2hlbiB0aGUgdmFsdWUgaXMgYSBudW1iZXJcbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgaW50ZWdyYXRpb25zIG9iamVjdCBmb3IgYSB2YWxpZCBpbnRlZ3JhdGlvbiBuYW1lIHdoZW4gdGhlIHZhbHVlIGlzIGEgbnVtYmVyJywgKCkgPT4ge1xuICAgICAgY29uc3QgbWVzc2FnZSA9IHtcbiAgICAgICAgaW50ZWdyYXRpb25zOiB7XG4gICAgICAgICAgZmJfcGl4ZWw6IDEyMyxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBpbnRnTmFtZSA9ICdmYl9waXhlbCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0SW50ZWdyYXRpb25zT2JqKG1lc3NhZ2UgYXMgYW55LCBpbnRnTmFtZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0VxdWFsKDEyMyk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXREZXN0aW5hdGlvbkV4dGVybmFsSUQnLCAoKSA9PiB7XG4gICAgLy8gUmV0dXJucyB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgd2hlbiBpdCBleGlzdHMgaW4gdGhlIG1lc3NhZ2UgY29udGV4dC5cbiAgICBpdCgnc2hvdWxkIHJldHVybiB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgd2hlbiBpdCBleGlzdHMgaW4gdGhlIG1lc3NhZ2UgY29udGV4dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdrdXN0b21lcklkJyxcbiAgICAgICAgICAgICAgaWQ6ICcxMjM0NTY3OCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdrdXN0b21lcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZSgnMTIzNDU2NzgnKTtcbiAgICB9KTtcblxuICAgIC8vIFJldHVybnMgbnVsbCB3aGVuIHRoZSBkZXN0aW5hdGlvbi1zcGVjaWZpYyBleHRlcm5hbCBJRCBkb2VzIG5vdCBleGlzdCBpbiB0aGUgbWVzc2FnZSBjb250ZXh0LlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgZG9lcyBub3QgZXhpc3QgaW4gdGhlIG1lc3NhZ2UgY29udGV4dCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdrdXN0b21lcklkJyxcbiAgICAgICAgICAgICAgaWQ6ICcxMjM0NTY3OCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdvdGhlcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZU51bGwoKTtcbiAgICB9KTtcblxuICAgIC8vIFJldHVybnMgbnVsbCB3aGVuIHRoZSBtZXNzYWdlIGNvbnRleHQgaXMgdW5kZWZpbmVkLlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgbWVzc2FnZSBjb250ZXh0IGlzIHVuZGVmaW5lZCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7fTtcbiAgICAgIGNvbnN0IHR5cGUgPSAna3VzdG9tZXJJZCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElEKG1lc3NhZ2UgYXMgYW55LCB0eXBlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBSZXR1cm5zIG51bGwgd2hlbiB0aGUgZXh0ZXJuYWxJZCBhcnJheSBpcyBub3QgYW4gYXJyYXkuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gbnVsbCB3aGVuIHRoZSBleHRlcm5hbElkIGFycmF5IGlzIG5vdCBhbiBhcnJheScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiAnMTIzNDU2NzgnLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHR5cGUgPSAna3VzdG9tZXJJZCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElEKG1lc3NhZ2UgYXMgYW55LCB0eXBlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG5cbiAgICAvLyBSZXR1cm5zIG51bGwgd2hlbiB0aGUgZXh0ZXJuYWxJZCBhcnJheSBpcyBhbiBlbXB0eSBhcnJheS5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlIGV4dGVybmFsSWQgYXJyYXkgaXMgYW4gZW1wdHkgYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXh0ZXJuYWxJZDogW10sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdrdXN0b21lcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZU51bGwoKTtcbiAgICB9KTtcblxuICAgIC8vIFJldHVybnMgbnVsbCB3aGVuIHRoZSBleHRlcm5hbElkIGFycmF5IGRvZXMgbm90IGNvbnRhaW4gYW4gb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCB0eXBlLlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgZXh0ZXJuYWxJZCBhcnJheSBkb2VzIG5vdCBjb250YWluIGFuIG9iamVjdCB3aXRoIHRoZSBzcGVjaWZpZWQgdHlwZScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdrdXN0b21lcklkJyxcbiAgICAgICAgICAgICAgaWQ6ICcxMjM0NTY3OCcsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdub25FeGlzdGVudFR5cGUnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gU2VtYW50aWNVdGlsLmdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRChtZXNzYWdlIGFzIGFueSwgdHlwZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlTnVsbCgpO1xuICAgIH0pO1xuXG4gICAgLy8gUmV0dXJucyB0aGUgZmlyc3QgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgb2JqZWN0IHdpdGggdGhlIHNwZWNpZmllZCB0eXBlIHdoZW4gbXVsdGlwbGUgb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHR5cGUgZXhpc3QgaW4gdGhlIGV4dGVybmFsSWQgYXJyYXkuXG4gICAgaXQoJ3Nob3VsZCByZXR1cm4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIHdoZW4gbXVsdGlwbGUgb2JqZWN0cyB3aXRoIHRoZSBzYW1lIHR5cGUgZXhpc3QgaW4gdGhlIGV4dGVybmFsSWQgYXJyYXknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXh0ZXJuYWxJZDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAna3VzdG9tZXJJZCcsXG4gICAgICAgICAgICAgIGlkOiAnMTIzNDU2NzgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ2t1c3RvbWVySWQnLFxuICAgICAgICAgICAgICBpZDogJzg3NjU0MzIxJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCB0eXBlID0gJ2t1c3RvbWVySWQnO1xuICAgICAgY29uc3QgcmVzdWx0ID0gU2VtYW50aWNVdGlsLmdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRChtZXNzYWdlIGFzIGFueSwgdHlwZSk7XG4gICAgICBleHBlY3QocmVzdWx0KS50b0JlKCcxMjM0NTY3OCcpO1xuICAgIH0pO1xuXG4gICAgLy8gUmV0dXJucyBudWxsIHdoZW4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBkb2VzIG5vdCBoYXZlIGFuIGlkIHByb3BlcnR5LlxuICAgIGl0KCdzaG91bGQgcmV0dXJuIG51bGwgd2hlbiB0aGUgZGVzdGluYXRpb24tc3BlY2lmaWMgZXh0ZXJuYWwgSUQgb2JqZWN0IGRvZXMgbm90IGhhdmUgYW4gaWQgcHJvcGVydHknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtZXNzYWdlID0ge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXh0ZXJuYWxJZDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAna3VzdG9tZXJJZCcsXG4gICAgICAgICAgICAgIGlkOiAnMTIzNDU2NzgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdHlwZTogJ290aGVySWQnLFxuICAgICAgICAgICAgICAvLyBpZCBwcm9wZXJ0eSBpcyBtaXNzaW5nXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgdHlwZSA9ICdvdGhlcklkJztcbiAgICAgIGNvbnN0IHJlc3VsdCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSUQobWVzc2FnZSBhcyBhbnksIHR5cGUpO1xuICAgICAgZXhwZWN0KHJlc3VsdCkudG9CZVVuZGVmaW5lZCgpO1xuICAgIH0pO1xuXG4gICAgLy8gUmV0dXJucyBudWxsIHdoZW4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdHlwZSBwcm9wZXJ0eS5cbiAgICBpdCgnc2hvdWxkIHJldHVybiBudWxsIHdoZW4gdGhlIGRlc3RpbmF0aW9uLXNwZWNpZmljIGV4dGVybmFsIElEIG9iamVjdCBkb2VzIG5vdCBoYXZlIGEgdHlwZSBwcm9wZXJ0eScsICgpID0+IHtcbiAgICAgIGNvbnN0IG1lc3NhZ2UgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAnMTIzNDU2NzgnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IHR5cGUgPSAna3VzdG9tZXJJZCc7XG4gICAgICBjb25zdCByZXN1bHQgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElEKG1lc3NhZ2UgYXMgYW55LCB0eXBlKTtcbiAgICAgIGV4cGVjdChyZXN1bHQpLnRvQmVOdWxsKCk7XG4gICAgfSk7XG4gIH0pO1xuXG4gIGRlc2NyaWJlKCdnZXREZXN0aW5hdGlvbkV4dGVybmFsSURJbmZvRm9yUmV0bCcsICgpID0+IHtcbiAgICB0ZXN0KCdzaG91bGQgcGFyc2UgZXZlcnl0aGluZyBzdWNjZXNzZnVsbHknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtc2cgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdkZXN0aW5hdGlvbi11c2VyJyxcbiAgICAgICAgICAgICAgaWQ6IDEyNDUsXG4gICAgICAgICAgICAgIGlkZW50aWZpZXJUeXBlOiAnc29tZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgYWN0dWFsID0gU2VtYW50aWNVdGlsLmdldERlc3RpbmF0aW9uRXh0ZXJuYWxJREluZm9Gb3JSZXRsKG1zZyBhcyBhbnksICdkZXN0aW5hdGlvbicpO1xuICAgICAgZXhwZWN0KGFjdHVhbC5kZXN0aW5hdGlvbkV4dGVybmFsSWQpLnRvRXF1YWwoMTI0NSk7XG4gICAgICBleHBlY3QoYWN0dWFsLm9iamVjdFR5cGUpLnRvRXF1YWwoJ3VzZXInKTtcbiAgICAgIGV4cGVjdChhY3R1YWwuaWRlbnRpZmllclR5cGUpLnRvRXF1YWwoJ3NvbWUnKTtcbiAgICB9KTtcbiAgICB0ZXN0KCdzaG91bGQgcGFyc2UgZXZlcnl0aGluZyBidXQgcmV0dXJuIGFsbCBhcyBudWxsJywgKCkgPT4ge1xuICAgICAgY29uc3QgbXNnID0ge1xuICAgICAgICBjb250ZXh0OiB7XG4gICAgICAgICAgZXh0ZXJuYWxJZDogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0eXBlOiAnZGVzdGluYXRpb24tJyxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIH07XG4gICAgICBjb25zdCBhY3R1YWwgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElESW5mb0ZvclJldGwobXNnIGFzIGFueSwgJ2Rlc3RpbmF0aW9uJyk7XG4gICAgICBleHBlY3QoYWN0dWFsLmRlc3RpbmF0aW9uRXh0ZXJuYWxJZCkudG9FcXVhbChudWxsKTtcbiAgICAgIGV4cGVjdChhY3R1YWwub2JqZWN0VHlwZSkudG9FcXVhbCgnJyk7XG4gICAgICBleHBlY3QoYWN0dWFsLmlkZW50aWZpZXJUeXBlKS50b0VxdWFsKG51bGwpO1xuICAgIH0pO1xuICB9KTtcblxuICBkZXNjcmliZSgnZ2V0RGVzdGluYXRpb25FeHRlcm5hbElET2JqZWN0Rm9yUmV0bCcsICgpID0+IHtcbiAgICB0ZXN0KCdzaG91bGQgcGFyc2UgZXZlcnl0aGluZyBzdWNjZXNzZnVsbHknLCAoKSA9PiB7XG4gICAgICBjb25zdCBtc2cgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHR5cGU6ICdkZXN0aW5hdGlvbi11c2VyJyxcbiAgICAgICAgICAgICAgaWQ6IDEyNDUsXG4gICAgICAgICAgICAgIGlkZW50aWZpZXJUeXBlOiAnc29tZScsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9O1xuICAgICAgY29uc3QgYWN0dWFsID0gU2VtYW50aWNVdGlsLmdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRE9iamVjdEZvclJldGwobXNnIGFzIGFueSwgJ2Rlc3RpbmF0aW9uJyk7XG4gICAgICBleHBlY3QoYWN0dWFsPy5pZCkudG9FcXVhbCgxMjQ1KTtcbiAgICAgIC8vIFRPRE86IElzIHRoaXMgZXhwZWN0ZWQgPyBDb25maXJtIHdpdGggdGVhbVxuICAgICAgZXhwZWN0KGFjdHVhbD8udHlwZSkudG9FcXVhbCgnZGVzdGluYXRpb24tdXNlcicpO1xuICAgICAgZXhwZWN0KGFjdHVhbD8uaWRlbnRpZmllclR5cGUpLnRvRXF1YWwoJ3NvbWUnKTtcbiAgICB9KTtcbiAgICB0ZXN0KCdzaG91bGQgYmUgdW5kZWZpbmVkIHdoZW4gZXh0ZXJuYWxJZCBkb2VzIG5vdCBoYXZlIHR5cGUnLCAoKSA9PiB7XG4gICAgICBjb25zdCBtc2cgPSB7XG4gICAgICAgIGNvbnRleHQ6IHtcbiAgICAgICAgICBleHRlcm5hbElkOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIGlkOiAxMjQ1LFxuICAgICAgICAgICAgICBpZGVudGlmaWVyVHlwZTogJ3NvbWUnLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgfTtcbiAgICAgIGNvbnN0IGFjdHVhbCA9IFNlbWFudGljVXRpbC5nZXREZXN0aW5hdGlvbkV4dGVybmFsSURPYmplY3RGb3JSZXRsKG1zZyBhcyBhbnksICdkZXN0aW5hdGlvbicpO1xuICAgICAgZXhwZWN0KGFjdHVhbCkudG9FcXVhbCh1bmRlZmluZWQpO1xuICAgIH0pO1xuICAgIHRlc3QoJ3Nob3VsZCBiZSB1bmRlZmluZWQgd2hlbiBleHRlcm5hbElkIGlzIG5vdCBwcmVzZW50JywgKCkgPT4ge1xuICAgICAgY29uc3QgbXNnID0ge1xuICAgICAgICBjb250ZXh0OiB7fSxcbiAgICAgIH07XG4gICAgICBjb25zdCBhY3R1YWwgPSBTZW1hbnRpY1V0aWwuZ2V0RGVzdGluYXRpb25FeHRlcm5hbElET2JqZWN0Rm9yUmV0bChtc2cgYXMgYW55LCAnZGVzdGluYXRpb24nKTtcbiAgICAgIGV4cGVjdChhY3R1YWwpLnRvRXF1YWwodW5kZWZpbmVkKTtcbiAgICB9KTtcbiAgICB0ZXN0KCdzaG91bGQgYmUgdW5kZWZpbmVkIHdoZW4gY29udGV4dCBpcyBub3QgcHJlc2VudCcsICgpID0+IHtcbiAgICAgIGNvbnN0IG1zZyA9IHt9O1xuICAgICAgY29uc3QgYWN0dWFsID0gU2VtYW50aWNVdGlsLmdldERlc3RpbmF0aW9uRXh0ZXJuYWxJRE9iamVjdEZvclJldGwobXNnIGFzIGFueSwgJ2Rlc3RpbmF0aW9uJyk7XG4gICAgICBleHBlY3QoYWN0dWFsKS50b0VxdWFsKHVuZGVmaW5lZCk7XG4gICAgfSk7XG4gIH0pO1xufSk7XG4iXX0=
|
package/mock/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/mock_utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/mock_utils/index.ts"],"names":[],"mappings":"AAAA,cAAc,0BAA0B,CAAC"}
|
package/mock/index.js
CHANGED
|
@@ -15,4 +15,4 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./axios_client_mock_util"), exports);
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvbW9ja191dGlscy9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7O0FBQUEsMkRBQXlDIiwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0ICogZnJvbSAnLi9heGlvc19jbGllbnRfbW9ja191dGlsJztcbiJdfQ==
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@rudderstack/integrations-lib",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.5",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "build/index.js",
|
|
6
6
|
"module": "build/index.js",
|
|
@@ -12,7 +12,13 @@
|
|
|
12
12
|
"build": "npm run build:ci && npm run copy && npm run build:mock",
|
|
13
13
|
"clean": "rm -rf ./build && rm -rf ./mock",
|
|
14
14
|
"clean:build": "npm run clean && npm run build",
|
|
15
|
-
"test": "jest --coverage --verbose"
|
|
15
|
+
"test": "jest --coverage --verbose",
|
|
16
|
+
"commit-msg": "commitlint --edit",
|
|
17
|
+
"format": "prettier . --write",
|
|
18
|
+
"lint:fix": "eslint '**/*.ts' --fix",
|
|
19
|
+
"lint": "npm run format && npm run lint:fix",
|
|
20
|
+
"prepare": "husky install",
|
|
21
|
+
"pre-commit": "npm run test && npx lint-staged"
|
|
16
22
|
},
|
|
17
23
|
"pre-commit": [
|
|
18
24
|
"clean:build",
|
|
@@ -28,17 +34,16 @@
|
|
|
28
34
|
"keywords": [
|
|
29
35
|
"rudder",
|
|
30
36
|
"rudderstack",
|
|
31
|
-
"cdp"
|
|
32
|
-
"workflow",
|
|
33
|
-
"engine"
|
|
37
|
+
"cdp"
|
|
34
38
|
],
|
|
35
39
|
"author": "RudderStack",
|
|
36
40
|
"license": "MIT",
|
|
37
41
|
"dependencies": {
|
|
38
|
-
"@rudderstack/workflow-engine": "^0.5.7",
|
|
39
42
|
"axios": "^1.4.0",
|
|
40
43
|
"axios-mock-adapter": "^1.22.0",
|
|
41
44
|
"crypto": "^1.0.1",
|
|
45
|
+
"eslint-config-airbnb-base": "^15.0.0",
|
|
46
|
+
"eslint-config-airbnb-typescript": "^17.1.0",
|
|
42
47
|
"get-value": "^3.0.1",
|
|
43
48
|
"handlebars": "^4.7.8",
|
|
44
49
|
"lodash": "^4.17.21",
|
|
@@ -50,12 +55,19 @@
|
|
|
50
55
|
"winston": "^3.11.0"
|
|
51
56
|
},
|
|
52
57
|
"devDependencies": {
|
|
58
|
+
"@commitlint/config-conventional": "^18.5.0",
|
|
53
59
|
"@types/get-value": "^3.0.3",
|
|
54
60
|
"@types/jest": "^29.5.4",
|
|
55
61
|
"@types/lodash": "^4.14.195",
|
|
56
62
|
"@types/node": "^20.3.3",
|
|
57
63
|
"@types/set-value": "^4.0.1",
|
|
58
64
|
"@types/sha256": "^0.2.0",
|
|
65
|
+
"@typescript-eslint/eslint-plugin": "^6.20.0",
|
|
66
|
+
"@typescript-eslint/parser": "^6.20.0",
|
|
67
|
+
"commitlint": "^18.6.0",
|
|
68
|
+
"eslint": "^8.56.0",
|
|
69
|
+
"eslint-config-prettier": "^9.1.0",
|
|
70
|
+
"husky": "^8.0.0",
|
|
59
71
|
"jest": "^29.4.3",
|
|
60
72
|
"pre-commit": "^1.2.2",
|
|
61
73
|
"prettier": "^2.8.4",
|
|
@@ -63,6 +75,10 @@
|
|
|
63
75
|
"ts-node": "^10.9.1",
|
|
64
76
|
"typescript": "^5.1.6"
|
|
65
77
|
},
|
|
78
|
+
"lint-staged": {
|
|
79
|
+
"*.{ts}": "eslint --cache --fix",
|
|
80
|
+
"*.{json,js,ts,md,yml}": "prettier --write"
|
|
81
|
+
},
|
|
66
82
|
"files": [
|
|
67
83
|
"build",
|
|
68
84
|
"mock",
|