@rosen-bridge/watcher-data-extractor 7.0.3 → 8.0.1

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.
@@ -1 +1 @@
1
- {"version":3,"file":"EventTriggerExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/EventTriggerExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAK5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,cAAM,qBAAsB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAG3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc;IAmBzB,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,KAAK,KACX,QAAQ,OAAO,CAAC,CAsIjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;;OAGG;IACH,eAAe,sBAEb;IAEF;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,gBAAiB,WAAW;;;MAsCtD;CACH;AAED,eAAe,qBAAqB,CAAC"}
1
+ {"version":3,"file":"EventTriggerExtractor.d.ts","sourceRoot":"","sources":["../../lib/extractor/EventTriggerExtractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,OAAO,EAAE,WAAW,EAAE,MAAM,uBAAuB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,iBAAiB,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAK5E,OAAO,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAEvC,cAAM,qBAAsB,SAAQ,iBAAiB,CAAC,WAAW,CAAC;IAChE,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;IAChC,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAqB;IAC7C,OAAO,CAAC,QAAQ,CAAC,oBAAoB,CAAS;IAC9C,OAAO,CAAC,QAAQ,CAAC,cAAc,CAAS;IACxC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,OAAO,CAAC,QAAQ,CAAC,GAAG,CAAS;gBAG3B,EAAE,EAAE,MAAM,EACV,UAAU,EAAE,UAAU,EACtB,OAAO,EAAE,MAAM,EACf,GAAG,EAAE,MAAM,EACX,aAAa,EAAE,MAAM,EACrB,YAAY,EAAE,MAAM,EACpB,MAAM,CAAC,EAAE,cAAc;IAmBzB,KAAK,eAAiB;IAEtB;;;;;OAKG;IACH,mBAAmB,QACZ,MAAM,WAAW,CAAC,SAChB,KAAK,KACX,QAAQ,OAAO,CAAC,CAsIjB;IAEF,SAAS,SAAgB,MAAM,mBAE7B;IAEF;;;OAGG;IACH,eAAe,sBAEb;IAEF;;;;;OAKG;IACH,SAAS,CAAC,kBAAkB,gBAAiB,WAAW;;;MA0CtD;CACH;AAED,eAAe,qBAAqB,CAAC"}
@@ -162,11 +162,14 @@ class EventTriggerExtractor extends AbstractExtractor {
162
162
  .register_value(wasm.NonMandatoryRegisterId.R4)
163
163
  ?.to_byte_array();
164
164
  if (R4Serialized !== undefined && R4Serialized.length > 0) {
165
- const txId = Buffer.from(R4Serialized).toString('hex');
165
+ let txId = Buffer.from(R4Serialized).toString();
166
+ // we assumed txId only includes these characters
167
+ if (!txId.match(/^[0-9a-zA-Z\-_.]+$/)) {
168
+ // backward compatibility
169
+ txId = Buffer.from(R4Serialized).toString('hex');
170
+ }
166
171
  paymentTxId = txId;
167
- if (txId !== '')
168
- paymentTxId = txId;
169
- else {
172
+ if (txId === '') {
170
173
  paymentTxId = transaction.id;
171
174
  this.logger.debug(`successful event is spent. tx [${transaction.id}] is both payment and reward distribution tx`);
172
175
  }
@@ -186,4 +189,4 @@ class EventTriggerExtractor extends AbstractExtractor {
186
189
  };
187
190
  }
188
191
  export default EventTriggerExtractor;
189
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9FdmVudFRyaWdnZXJFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFTLE1BQU0sa0NBQWtDLENBQUM7QUFFNUUsT0FBTyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxxQkFBc0IsU0FBUSxpQkFBOEI7SUFDdkQsTUFBTSxDQUFpQjtJQUNoQyxFQUFFLENBQVM7SUFDTSxVQUFVLENBQWE7SUFDdkIsT0FBTyxDQUFxQjtJQUM1QixvQkFBb0IsQ0FBUztJQUM3QixjQUFjLENBQVM7SUFDdkIsYUFBYSxDQUFTO0lBQ3RCLEdBQUcsQ0FBUztJQUU3QixZQUNFLEVBQVUsRUFDVixVQUFzQixFQUN0QixPQUFlLEVBQ2YsR0FBVyxFQUNYLGFBQXFCLEVBQ3JCLFlBQW9CLEVBQ3BCLE1BQXVCO1FBRXZCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2FBQzFELFlBQVksRUFBRTthQUNkLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxD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LENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQzt3QkFDL0MsRUFBRSxhQUFhLEVBQUUsQ0FBQztvQkFDcEIsSUFBSSxZQUFZLEtBQUssU0FBUyxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUN6RCxNQUFNLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDdkQsV0FBVyxHQUFHLElBQUksQ0FBQzt3QkFDbkIsSUFBSSxJQUFJLEtBQUssRUFBRTs0QkFBRSxXQUFXLEdBQUcsSUFBSSxDQUFDOzZCQUMvQjs0QkFDSCxXQUFXLEdBQUcsV0FBVyxDQUFDLEVBQUUsQ0FBQzs0QkFDN0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2Ysa0NBQWtDLFdBQVcsQ0FBQyxFQUFFLDhDQUE4QyxDQUMvRixDQUFDO3lCQUNIO3dCQUNELDBEQUEwRDt3QkFDMUQsTUFBTTtxQkFDUDtpQkFDRjtnQkFBQyxPQUFPLENBQUMsRUFBRTtvQkFDVixTQUFTO2lCQUNWO2FBQ0Y7U0FDRjtRQUNELE9BQU87WUFDTCxNQUFNO1lBQ04sV0FBVztTQUNaLENBQUM7SUFDSixDQUFDLENBQUM7Q0FDSDtBQUVELGVBQWUscUJBQXFCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAndHlwZW9ybSc7XG5pbXBvcnQgKiBhcyB3YXNtIGZyb20gJ2VyZ28tbGliLXdhc20tbm9kZWpzJztcbmltcG9ydCB7IGJsYWtlMmIgfSBmcm9tICdibGFrZWpzJztcbmltcG9ydCB7IFRyYW5zYWN0aW9uIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyLCBEdW1teUxvZ2dlciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtbG9nZ2VyJztcbmltcG9ydCB7IEFic3RyYWN0RXh0cmFjdG9yLCBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2UvYWJzdHJhY3QtZXh0cmFjdG9yJztcblxuaW1wb3J0IEV2ZW50VHJpZ2dlckFjdGlvbiBmcm9tICcuLi9hY3Rpb25zL0V2ZW50VHJpZ2dlckFjdGlvbic7XG5pbXBvcnQgeyBFeHRyYWN0ZWRFdmVudFRyaWdnZXIgfSBmcm9tICcuLi9pbnRlcmZhY2VzL2V4dHJhY3RlZEV2ZW50VHJpZ2dlcic7XG5pbXBvcnQgeyBKc29uQkkgfSBmcm9tICcuLi91dGlscyc7XG5pbXBvcnQgeyBFdmVudFJlc3VsdCB9IGZyb20gJy4uL3R5cGVzJztcblxuY2xhc3MgRXZlbnRUcmlnZ2VyRXh0cmFjdG9yIGV4dGVuZHMgQWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb24+IHtcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgaWQ6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBkYXRhU291cmNlOiBEYXRhU291cmNlO1xuICBwcml2YXRlIHJlYWRvbmx5IGFjdGlvbnM6IEV2ZW50VHJpZ2dlckFjdGlvbjtcbiAgcHJpdmF0ZSByZWFkb25seSBldmVudFRyaWdnZXJFcmdvVHJlZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IHBlcm1pdEVyZ29UcmVlOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZnJhdWRFcmdvVHJlZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IFJXVDogc3RyaW5nO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIGlkOiBzdHJpbmcsXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBhZGRyZXNzOiBzdHJpbmcsXG4gICAgUldUOiBzdHJpbmcsXG4gICAgcGVybWl0QWRkcmVzczogc3RyaW5nLFxuICAgIGZyYXVkQWRkcmVzczogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyXG4gICkge1xuICAgIHN1cGVyKCk7XG4gICAgdGhpcy5pZCA9IGlkO1xuICAgIHRoaXMuZGF0YVNvdXJjZSA9IGRhdGFTb3VyY2U7XG4gICAgdGhpcy5ldmVudFRyaWdnZXJFcmdvVHJlZSA9IHdhc20uQWRkcmVzcy5mcm9tX2Jhc2U1OChhZGRyZXNzKVxuICAgICAgLnRvX2VyZ29fdHJlZSgpXG4gICAgICAudG9fYmFzZTE2X2J5dGVzKCk7XG4gICAgdGhpcy5wZXJtaXRFcmdvVHJlZSA9IHdhc20uQWRkcmVzcy5mcm9tX2Jhc2U1OChwZXJtaXRBZGRyZXNzKVxuICAgICAgLnRvX2VyZ29fdHJlZSgpXG4gICAgICAudG9fYmFzZTE2X2J5dGVzKCk7XG4gICAgdGhpcy5mcmF1ZEVyZ29UcmVlID0gd2FzbS5BZGRyZXNzLmZyb21fYmFzZTU4KGZyYXVkQWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMuUldUID0gUldUO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyID8gbG9nZ2VyIDogbmV3IER1bW15TG9nZ2VyKCk7XG4gICAgdGhpcy5hY3Rpb25zID0gbmV3IEV2ZW50VHJpZ2dlckFjdGlvbihkYXRhU291cmNlLCB0aGlzLmxvZ2dlcik7XG4gIH1cblxuICBnZXRJZCA9ICgpID0+IHRoaXMuaWQ7XG5cbiAgLyoqXG4gICAqIGdldHMgYmxvY2sgaWQgYW5kIHRyYW5zYWN0aW9ucyBjb3JyZXNwb25kaW5nIHRvIHRoZSBibG9jayBhbmQgc2F2ZXMgaWYgdGhleSBhcmUgdmFsaWQgcm9zZW5cbiAgICogIHRyYW5zYWN0aW9ucyBhbmQgaW4gY2FzZSBvZiBzdWNjZXNzIHJldHVybiB0cnVlIGFuZCBpbiBjYXNlIG9mIGZhaWx1cmUgcmV0dXJucyBmYWxzZVxuICAgKiBAcGFyYW0gYmxvY2tcbiAgICogQHBhcmFtIHR4c1xuICAgKi9cbiAgcHJvY2Vzc1RyYW5zYWN0aW9ucyA9IChcbiAgICB0eHM6IEFycmF5PFRyYW5zYWN0aW9uPixcbiAgICBibG9jazogQmxvY2tcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGJveGVzOiBBcnJheTxFeHRyYWN0ZWRFdmVudFRyaWdnZXI+ID0gW107XG4gICAgICAgIGNvbnN0IHR4U3BlbmRJZHM6IEFycmF5PHtcbiAgICAgICAgICB0eElkOiBzdHJpbmc7XG4gICAgICAgICAgc3BlbmRCb3hlczogQXJyYXk8c3RyaW5nPjtcbiAgICAgICAgICByZXN1bHQ6IHN0cmluZztcbiAgICAgICAgICBwYXltZW50VHhJZDogc3RyaW5nO1xuICAgICAgICB9PiA9IFtdO1xuICAgICAgICB0eHMuZm9yRWFjaCgodHJhbnNhY3Rpb24pID0+IHtcbiAgICAgICAgICAvLyBleHRyYWN0IGV2ZW50IHJlc3VsdFxuICAgICAgICAgIGNvbnN0IHsgcmVzdWx0LCBwYXltZW50VHhJZCB9ID0gdGhpcy5leHRyYWN0RXZlbnRSZXN1bHQodHJhbnNhY3Rpb24pO1xuICAgICAgICAgIGZvciAoY29uc3Qgb3V0cHV0IG9mIHRyYW5zYWN0aW9uLm91dHB1dHMpIHtcbiAgICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICAgIGlmIChcbiAgICAgICAgICAgICAgICBvdXRwdXQuYWRkaXRpb25hbFJlZ2lzdGVycyAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5hc3NldHMgJiZcbiAgICAgICAgICAgICAgICBvdXRwdXQuYXNzZXRzLmxlbmd0aCA+IDAgJiZcbiAgICAgICAgICAgICAgICBvdXRwdXQuYXNzZXRzWzBdLnRva2VuSWQgPT09IHRoaXMuUldUICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmVyZ29UcmVlID09PSB0aGlzLmV2ZW50VHJpZ2dlckVyZ29UcmVlXG4gICAgICAgICAgICAgICkge1xuICAgICAgICAgICAgICAgIGNvbnN0IFI0ID0gb3V0cHV0LmFkZGl0aW9uYWxSZWdpc3RlcnMuUjQ7XG4gICAgICAgICAgICAgICAgY29uc3QgUjUgPSBvdXRwdXQuYWRkaXRpb25hbFJlZ2lzdGVycy5SNTtcbiAgICAgICAgICAgICAgICBjb25zdCBSNyA9IG91dHB1dC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI3O1xuICAgICAgICAgICAgICAgIGlmIChSNCAmJiBSNSAmJiBSNykge1xuICAgICAgICAgICAgICAgICAgY29uc3Qgb3V0cHV0UGFyc2VkID0gd2FzbS5FcmdvQm94LmZyb21fanNvbihcbiAgICAgICAgICAgICAgICAgICAgSnNvbkJJLnN0cmluZ2lmeShvdXRwdXQpXG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY29uc3QgUjRDb25zdCA9IG91dHB1dFBhcnNlZC5yZWdpc3Rlcl92YWx1ZShcbiAgICAgICAgICAgICAgICAgICAgd2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY29uc3QgUjVDb25zdCA9IG91dHB1dFBhcnNlZC5yZWdpc3Rlcl92YWx1ZShcbiAgICAgICAgICAgICAgICAgICAgd2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI1XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgY29uc3QgUjdDb25zdCA9IG91dHB1dFBhcnNlZC5yZWdpc3Rlcl92YWx1ZShcbiAgICAgICAgICAgICAgICAgICAgd2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI3XG4gICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgaWYgKFI0Q29uc3QgJiYgUjVDb25zdCAmJiBSN0NvbnN0KSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IFI0U2VyaWFsaXplZCA9IFI0Q29uc3QudG9fYnl0ZV9hcnJheSgpO1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBSNVNlcmlhbGl6ZWQgPSBSNUNvbnN0LnRvX2NvbGxfY29sbF9ieXRlKCk7XG4gICAgICAgICAgICAgICAgICAgIGlmIChSNFNlcmlhbGl6ZWQubGVuZ3RoID49IDEgJiYgUjVTZXJpYWxpemVkLmxlbmd0aCA+PSAxMikge1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdJRHNDb3VudCA9IFI3Q29uc3QudG9faTMyKCk7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3QgV0lEc0hhc2ggPVxuICAgICAgICAgICAgICAgICAgICAgICAgQnVmZmVyLmZyb20oUjRTZXJpYWxpemVkKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgY29uc3Qgc291cmNlVHhJZCA9IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICAgICAgUjVTZXJpYWxpemVkWzBdXG4gICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IGV2ZW50SWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgIGJsYWtlMmIoc291cmNlVHhJZCwgdW5kZWZpbmVkLCAzMilcbiAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgICAgICAgICAgICAgICBib3hlcy5wdXNoKHtcbiAgICAgICAgICAgICAgICAgICAgICAgIGV2ZW50SWQ6IGV2ZW50SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICB0eElkOiB0cmFuc2FjdGlvbi5pZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJveElkOiBvdXRwdXQuYm94SWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3hTZXJpYWxpemVkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb3V0cHV0UGFyc2VkLnNpZ21hX3NlcmlhbGl6ZV9ieXRlcygpXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCdiYXNlNjQnKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvQ2hhaW46IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsyXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRvQWRkcmVzczogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzRdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgbmV0d29ya0ZlZTogQmlnSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzddKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoMTApLFxuICAgICAgICAgICAgICAgICAgICAgICAgYnJpZGdlRmVlOiBCaWdJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbNl0pLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygxMCksXG4gICAgICAgICAgICAgICAgICAgICAgICBhbW91bnQ6IEJpZ0ludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJzB4JyArIEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs1XSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKDEwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUNoYWluVG9rZW5JZDogQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFI1U2VyaWFsaXplZFs4XVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgdGFyZ2V0Q2hhaW5Ub2tlbklkOiBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgICAgUjVTZXJpYWxpemVkWzldXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VUeElkOiBzb3VyY2VUeElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbUNoYWluOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMV0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBmcm9tQWRkcmVzczogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzNdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQmxvY2tJZDogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzEwXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIFdJRHNDb3VudDogV0lEc0NvdW50LFxuICAgICAgICAgICAgICAgICAgICAgICAgV0lEc0hhc2g6IFdJRHNIYXNoLFxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlQ2hhaW5IZWlnaHQ6IE51bWJlcihcbiAgICAgICAgICAgICAgICAgICAgICAgICAgQmlnSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMTFdKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygxMClcbiAgICAgICAgICAgICAgICAgICAgICAgICksXG4gICAgICAgICAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0gY2F0Y2gge1xuICAgICAgICAgICAgICBjb250aW51ZTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLy8gcHJvY2VzcyBpbnB1dHNcbiAgICAgICAgICB0eFNwZW5kSWRzLnB1c2goe1xuICAgICAgICAgICAgdHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgICBzcGVuZEJveGVzOiB0cmFuc2FjdGlvbi5pbnB1dHMubWFwKChib3gpID0+IGJveC5ib3hJZCksXG4gICAgICAgICAgICByZXN1bHQ6IHJlc3VsdCxcbiAgICAgICAgICAgIHBheW1lbnRUeElkOiBwYXltZW50VHhJZCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgICAgIHRoaXMuYWN0aW9uc1xuICAgICAgICAgIC5zdG9yZUV2ZW50VHJpZ2dlcnMoYm94ZXMsIGJsb2NrLCB0aGlzLmdldElkKCkpXG4gICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgdHhTcGVuZElkcy5mb3JFYWNoKCh0eFNwZW5kcykgPT4ge1xuICAgICAgICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAgICAgICAuc3BlbmRFdmVudFRyaWdnZXJzKFxuICAgICAgICAgICAgICAgICAgdHhTcGVuZHMuc3BlbmRCb3hlcyxcbiAgICAgICAgICAgICAgICAgIGJsb2NrLFxuICAgICAgICAgICAgICAgICAgdGhpcy5pZCxcbiAgICAgICAgICAgICAgICAgIHR4U3BlbmRzLnR4SWQsXG4gICAgICAgICAgICAgICAgICB0eFNwZW5kcy5yZXN1bHQsXG4gICAgICAgICAgICAgICAgICB0eFNwZW5kcy5wYXltZW50VHhJZFxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAudGhlbigoKSA9PiB7XG4gICAgICAgICAgICAgICAgICByZXNvbHZlKHRydWUpO1xuICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgfSk7XG4gICAgICAgICAgfSlcbiAgICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgICAgICBgRXJyb3IgaW4gc3RvcmluZyBwZXJtaXRzIG9mIHRoZSBibG9jayAke2Jsb2NrfTogJHtlfWBcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgICByZWplY3QoZSk7XG4gICAgICAgICAgfSk7XG4gICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKFxuICAgICAgICAgIGBibG9jayAke2Jsb2NrfSBkb2Vzbid0IHNhdmUgaW4gdGhlIGRhdGFiYXNlIHdpdGggZXJyb3I6ICR7ZX1gXG4gICAgICAgICk7XG4gICAgICAgIHJlamVjdChlKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfTtcblxuICBmb3JrQmxvY2sgPSBhc3luYyAoaGFzaDogc3RyaW5nKSA9PiB7XG4gICAgYXdhaXQgdGhpcy5hY3Rpb25zLmRlbGV0ZUJsb2NrKGhhc2gsIHRoaXMuZ2V0SWQoKSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEV4dHJhY3RvciBib3ggaW5pdGlhbGl6YXRpb25cbiAgICogTm8gYWN0aW9uIG5lZWRlZCBpbiBldmVudCB0cmlnZ2VyIGV4dHJhY3RvcnNcbiAgICovXG4gIGluaXRpYWxpemVCb3hlcyA9IGFzeW5jICgpID0+IHtcbiAgICByZXR1cm47XG4gIH07XG5cbiAgLyoqXG4gICAqIGV4dHJhY3RzIHJlc3VsdCBhbmQgcGF5bWVudFR4SWQgZnJvbSBhIHRyYW5zYWN0aW9uXG4gICAqIHJldHVybnMgJ3Vua25vd24nIGFzIHJlc3VsdCB3aGVuIHR4IGlzIG5laXRoZXIgZnJhdWQgb3Igc3VjY2Vzc2Z1bFxuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25cbiAgICogQHJldHVybnNcbiAgICovXG4gIHByb3RlY3RlZCBleHRyYWN0RXZlbnRSZXN1bHQgPSAodHJhbnNhY3Rpb246IFRyYW5zYWN0aW9uKSA9PiB7XG4gICAgbGV0IHJlc3VsdCA9IEV2ZW50UmVzdWx0LnVua25vd247XG4gICAgbGV0IHBheW1lbnRUeElkID0gJyc7XG4gICAgaWYgKHRyYW5zYWN0aW9uLm91dHB1dHNbMF0uZXJnb1RyZWUgPT09IHRoaXMuZnJhdWRFcmdvVHJlZSlcbiAgICAgIHJlc3VsdCA9IEV2ZW50UmVzdWx0LmZyYXVkO1xuICAgIGVsc2UgaWYgKHRyYW5zYWN0aW9uLm91dHB1dHNbMF0uZXJnb1RyZWUgPT09IHRoaXMucGVybWl0RXJnb1RyZWUpIHtcbiAgICAgIHJlc3VsdCA9IEV2ZW50UmVzdWx0LnN1Y2Nlc3NmdWw7XG4gICAgICAvLyBmaW5kIGZpcnN0IG5vbi13YXRjaGVyIGJveCB3aXRoIFI0IHZhbHVlXG4gICAgICBmb3IgKGNvbnN0IGJveCBvZiB0cmFuc2FjdGlvbi5vdXRwdXRzKSB7XG4gICAgICAgIC8vIGlmIGl0J3Mgd2F0Y2hlciBib3gsIHNraXAgaXRcbiAgICAgICAgaWYgKGJveC5lcmdvVHJlZSA9PT0gdGhpcy5wZXJtaXRFcmdvVHJlZSkgY29udGludWU7XG4gICAgICAgIGNvbnN0IG91dHB1dFBhcnNlZCA9IHdhc20uRXJnb0JveC5mcm9tX2pzb24oSnNvbkJJLnN0cmluZ2lmeShib3gpKTtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSBvdXRwdXRQYXJzZWRcbiAgICAgICAgICAgIC5yZWdpc3Rlcl92YWx1ZSh3YXNtLk5vbk1hbmRhdG9yeVJlZ2lzdGVySWQuUjQpXG4gICAgICAgICAgICA/LnRvX2J5dGVfYXJyYXkoKTtcbiAgICAgICAgICBpZiAoUjRTZXJpYWxpemVkICE9PSB1bmRlZmluZWQgJiYgUjRTZXJpYWxpemVkLmxlbmd0aCA+IDApIHtcbiAgICAgICAgICAgIGNvbnN0IHR4SWQgPSBCdWZmZXIuZnJvbShSNFNlcmlhbGl6ZWQpLnRvU3RyaW5nKCdoZXgnKTtcbiAgICAgICAgICAgIHBheW1lbnRUeElkID0gdHhJZDtcbiAgICAgICAgICAgIGlmICh0eElkICE9PSAnJykgcGF5bWVudFR4SWQgPSB0eElkO1xuICAgICAgICAgICAgZWxzZSB7XG4gICAgICAgICAgICAgIHBheW1lbnRUeElkID0gdHJhbnNhY3Rpb24uaWQ7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICAgIGBzdWNjZXNzZnVsIGV2ZW50IGlzIHNwZW50LiB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dIGlzIGJvdGggcGF5bWVudCBhbmQgcmV3YXJkIGRpc3RyaWJ1dGlvbiB0eGBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHBheW1lbnRUeElkIGlzIGV4dHJhY3RlZC4gbm8gbmVlZCB0byBwcm9jZXNzIG5leHQgYm94ZXNcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICByZXN1bHQsXG4gICAgICBwYXltZW50VHhJZCxcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudFRyaWdnZXJFeHRyYWN0b3I7XG4iXX0=
192
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiRXZlbnRUcmlnZ2VyRXh0cmFjdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL2V4dHJhY3Rvci9FdmVudFRyaWdnZXJFeHRyYWN0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxLQUFLLElBQUksTUFBTSxzQkFBc0IsQ0FBQztBQUM3QyxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sU0FBUyxDQUFDO0FBRWxDLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLGlCQUFpQixFQUFTLE1BQU0sa0NBQWtDLENBQUM7QUFFNUUsT0FBTyxrQkFBa0IsTUFBTSwrQkFBK0IsQ0FBQztBQUUvRCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0sVUFBVSxDQUFDO0FBQ2xDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxVQUFVLENBQUM7QUFFdkMsTUFBTSxxQkFBc0IsU0FBUSxpQkFBOEI7SUFDdkQsTUFBTSxDQUFpQjtJQUNoQyxFQUFFLENBQVM7SUFDTSxVQUFVLENBQWE7SUFDdkIsT0FBTyxDQUFxQjtJQUM1QixvQkFBb0IsQ0FBUztJQUM3QixjQUFjLENBQVM7SUFDdkIsYUFBYSxDQUFTO0lBQ3RCLEdBQUcsQ0FBUztJQUU3QixZQUNFLEVBQVUsRUFDVixVQUFzQixFQUN0QixPQUFlLEVBQ2YsR0FBVyxFQUNYLGFBQXFCLEVBQ3JCLFlBQW9CLEVBQ3BCLE1BQXVCO1FBRXZCLEtBQUssRUFBRSxDQUFDO1FBQ1IsSUFBSSxDQUFDLEVBQUUsR0FBRyxFQUFFLENBQUM7UUFDYixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsb0JBQW9CLEdBQUcsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDO2FBQzFELFlBQVksRUFBRTthQUNkLGVBQWUsRUFBRSxDQUFDO1FBQ3JCLElBQUksQ0FBQyxjQUFjLEdBQUcsSUFBSSxD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LENBQUMsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEVBQUUsQ0FBQzt3QkFDL0MsRUFBRSxhQUFhLEVBQUUsQ0FBQztvQkFDcEIsSUFBSSxZQUFZLEtBQUssU0FBUyxJQUFJLFlBQVksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO3dCQUN6RCxJQUFJLElBQUksR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDO3dCQUNoRCxpREFBaUQ7d0JBQ2pELElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLG9CQUFvQixDQUFDLEVBQUU7NEJBQ3JDLHlCQUF5Qjs0QkFDekIsSUFBSSxHQUFHLE1BQU0sQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDO3lCQUNsRDt3QkFDRCxXQUFXLEdBQUcsSUFBSSxDQUFDO3dCQUNuQixJQUFJLElBQUksS0FBSyxFQUFFLEVBQUU7NEJBQ2YsV0FBVyxHQUFHLFdBQVcsQ0FBQyxFQUFFLENBQUM7NEJBQzdCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGtDQUFrQyxXQUFXLENBQUMsRUFBRSw4Q0FBOEMsQ0FDL0YsQ0FBQzt5QkFDSDt3QkFDRCwwREFBMEQ7d0JBQzFELE1BQU07cUJBQ1A7aUJBQ0Y7Z0JBQUMsT0FBTyxDQUFDLEVBQUU7b0JBQ1YsU0FBUztpQkFDVjthQUNGO1NBQ0Y7UUFDRCxPQUFPO1lBQ0wsTUFBTTtZQUNOLFdBQVc7U0FDWixDQUFDO0lBQ0osQ0FBQyxDQUFDO0NBQ0g7QUFFRCxlQUFlLHFCQUFxQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRGF0YVNvdXJjZSB9IGZyb20gJ3R5cGVvcm0nO1xuaW1wb3J0ICogYXMgd2FzbSBmcm9tICdlcmdvLWxpYi13YXNtLW5vZGVqcyc7XG5pbXBvcnQgeyBibGFrZTJiIH0gZnJvbSAnYmxha2Vqcyc7XG5pbXBvcnQgeyBUcmFuc2FjdGlvbiB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lcic7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBBYnN0cmFjdEV4dHJhY3RvciwgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5cbmltcG9ydCBFdmVudFRyaWdnZXJBY3Rpb24gZnJvbSAnLi4vYWN0aW9ucy9FdmVudFRyaWdnZXJBY3Rpb24nO1xuaW1wb3J0IHsgRXh0cmFjdGVkRXZlbnRUcmlnZ2VyIH0gZnJvbSAnLi4vaW50ZXJmYWNlcy9leHRyYWN0ZWRFdmVudFRyaWdnZXInO1xuaW1wb3J0IHsgSnNvbkJJIH0gZnJvbSAnLi4vdXRpbHMnO1xuaW1wb3J0IHsgRXZlbnRSZXN1bHQgfSBmcm9tICcuLi90eXBlcyc7XG5cbmNsYXNzIEV2ZW50VHJpZ2dlckV4dHJhY3RvciBleHRlbmRzIEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uPiB7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG4gIGlkOiBzdHJpbmc7XG4gIHByaXZhdGUgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcHJpdmF0ZSByZWFkb25seSBhY3Rpb25zOiBFdmVudFRyaWdnZXJBY3Rpb247XG4gIHByaXZhdGUgcmVhZG9ubHkgZXZlbnRUcmlnZ2VyRXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBwZXJtaXRFcmdvVHJlZTogc3RyaW5nO1xuICBwcml2YXRlIHJlYWRvbmx5IGZyYXVkRXJnb1RyZWU6IHN0cmluZztcbiAgcHJpdmF0ZSByZWFkb25seSBSV1Q6IHN0cmluZztcblxuICBjb25zdHJ1Y3RvcihcbiAgICBpZDogc3RyaW5nLFxuICAgIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgYWRkcmVzczogc3RyaW5nLFxuICAgIFJXVDogc3RyaW5nLFxuICAgIHBlcm1pdEFkZHJlc3M6IHN0cmluZyxcbiAgICBmcmF1ZEFkZHJlc3M6IHN0cmluZyxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlclxuICApIHtcbiAgICBzdXBlcigpO1xuICAgIHRoaXMuaWQgPSBpZDtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIHRoaXMuZXZlbnRUcmlnZ2VyRXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgoYWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMucGVybWl0RXJnb1RyZWUgPSB3YXNtLkFkZHJlc3MuZnJvbV9iYXNlNTgocGVybWl0QWRkcmVzcylcbiAgICAgIC50b19lcmdvX3RyZWUoKVxuICAgICAgLnRvX2Jhc2UxNl9ieXRlcygpO1xuICAgIHRoaXMuZnJhdWRFcmdvVHJlZSA9IHdhc20uQWRkcmVzcy5mcm9tX2Jhc2U1OChmcmF1ZEFkZHJlc3MpXG4gICAgICAudG9fZXJnb190cmVlKClcbiAgICAgIC50b19iYXNlMTZfYnl0ZXMoKTtcbiAgICB0aGlzLlJXVCA9IFJXVDtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICAgIHRoaXMuYWN0aW9ucyA9IG5ldyBFdmVudFRyaWdnZXJBY3Rpb24oZGF0YVNvdXJjZSwgdGhpcy5sb2dnZXIpO1xuICB9XG5cbiAgZ2V0SWQgPSAoKSA9PiB0aGlzLmlkO1xuXG4gIC8qKlxuICAgKiBnZXRzIGJsb2NrIGlkIGFuZCB0cmFuc2FjdGlvbnMgY29ycmVzcG9uZGluZyB0byB0aGUgYmxvY2sgYW5kIHNhdmVzIGlmIHRoZXkgYXJlIHZhbGlkIHJvc2VuXG4gICAqICB0cmFuc2FjdGlvbnMgYW5kIGluIGNhc2Ugb2Ygc3VjY2VzcyByZXR1cm4gdHJ1ZSBhbmQgaW4gY2FzZSBvZiBmYWlsdXJlIHJldHVybnMgZmFsc2VcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0eHNcbiAgICovXG4gIHByb2Nlc3NUcmFuc2FjdGlvbnMgPSAoXG4gICAgdHhzOiBBcnJheTxUcmFuc2FjdGlvbj4sXG4gICAgYmxvY2s6IEJsb2NrXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICB0cnkge1xuICAgICAgICBjb25zdCBib3hlczogQXJyYXk8RXh0cmFjdGVkRXZlbnRUcmlnZ2VyPiA9IFtdO1xuICAgICAgICBjb25zdCB0eFNwZW5kSWRzOiBBcnJheTx7XG4gICAgICAgICAgdHhJZDogc3RyaW5nO1xuICAgICAgICAgIHNwZW5kQm94ZXM6IEFycmF5PHN0cmluZz47XG4gICAgICAgICAgcmVzdWx0OiBzdHJpbmc7XG4gICAgICAgICAgcGF5bWVudFR4SWQ6IHN0cmluZztcbiAgICAgICAgfT4gPSBbXTtcbiAgICAgICAgdHhzLmZvckVhY2goKHRyYW5zYWN0aW9uKSA9PiB7XG4gICAgICAgICAgLy8gZXh0cmFjdCBldmVudCByZXN1bHRcbiAgICAgICAgICBjb25zdCB7IHJlc3VsdCwgcGF5bWVudFR4SWQgfSA9IHRoaXMuZXh0cmFjdEV2ZW50UmVzdWx0KHRyYW5zYWN0aW9uKTtcbiAgICAgICAgICBmb3IgKGNvbnN0IG91dHB1dCBvZiB0cmFuc2FjdGlvbi5vdXRwdXRzKSB7XG4gICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFkZGl0aW9uYWxSZWdpc3RlcnMgJiZcbiAgICAgICAgICAgICAgICBvdXRwdXQuYXNzZXRzICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0cy5sZW5ndGggPiAwICYmXG4gICAgICAgICAgICAgICAgb3V0cHV0LmFzc2V0c1swXS50b2tlbklkID09PSB0aGlzLlJXVCAmJlxuICAgICAgICAgICAgICAgIG91dHB1dC5lcmdvVHJlZSA9PT0gdGhpcy5ldmVudFRyaWdnZXJFcmdvVHJlZVxuICAgICAgICAgICAgICApIHtcbiAgICAgICAgICAgICAgICBjb25zdCBSNCA9IG91dHB1dC5hZGRpdGlvbmFsUmVnaXN0ZXJzLlI0O1xuICAgICAgICAgICAgICAgIGNvbnN0IFI1ID0gb3V0cHV0LmFkZGl0aW9uYWxSZWdpc3RlcnMuUjU7XG4gICAgICAgICAgICAgICAgY29uc3QgUjcgPSBvdXRwdXQuYWRkaXRpb25hbFJlZ2lzdGVycy5SNztcbiAgICAgICAgICAgICAgICBpZiAoUjQgJiYgUjUgJiYgUjcpIHtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IG91dHB1dFBhcnNlZCA9IHdhc20uRXJnb0JveC5mcm9tX2pzb24oXG4gICAgICAgICAgICAgICAgICAgIEpzb25CSS5zdHJpbmdpZnkob3V0cHV0KVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFI0Q29uc3QgPSBvdXRwdXRQYXJzZWQucmVnaXN0ZXJfdmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIHdhc20uTm9uTWFuZGF0b3J5UmVnaXN0ZXJJZC5SNFxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFI1Q29uc3QgPSBvdXRwdXRQYXJzZWQucmVnaXN0ZXJfdmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIHdhc20uTm9uTWFuZGF0b3J5UmVnaXN0ZXJJZC5SNVxuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGNvbnN0IFI3Q29uc3QgPSBvdXRwdXRQYXJzZWQucmVnaXN0ZXJfdmFsdWUoXG4gICAgICAgICAgICAgICAgICAgIHdhc20uTm9uTWFuZGF0b3J5UmVnaXN0ZXJJZC5SN1xuICAgICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgICAgIGlmIChSNENvbnN0ICYmIFI1Q29uc3QgJiYgUjdDb25zdCkge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBSNFNlcmlhbGl6ZWQgPSBSNENvbnN0LnRvX2J5dGVfYXJyYXkoKTtcbiAgICAgICAgICAgICAgICAgICAgY29uc3QgUjVTZXJpYWxpemVkID0gUjVDb25zdC50b19jb2xsX2NvbGxfYnl0ZSgpO1xuICAgICAgICAgICAgICAgICAgICBpZiAoUjRTZXJpYWxpemVkLmxlbmd0aCA+PSAxICYmIFI1U2VyaWFsaXplZC5sZW5ndGggPj0gMTIpIHtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBXSURzQ291bnQgPSBSN0NvbnN0LnRvX2kzMigpO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IFdJRHNIYXNoID1cbiAgICAgICAgICAgICAgICAgICAgICAgIEJ1ZmZlci5mcm9tKFI0U2VyaWFsaXplZCkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbnN0IHNvdXJjZVR4SWQgPSBCdWZmZXIuZnJvbShcbiAgICAgICAgICAgICAgICAgICAgICAgIFI1U2VyaWFsaXplZFswXVxuICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25zdCBldmVudElkID0gQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICBibGFrZTJiKHNvdXJjZVR4SWQsIHVuZGVmaW5lZCwgMzIpXG4gICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygnaGV4Jyk7XG4gICAgICAgICAgICAgICAgICAgICAgYm94ZXMucHVzaCh7XG4gICAgICAgICAgICAgICAgICAgICAgICBldmVudElkOiBldmVudElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgdHhJZDogdHJhbnNhY3Rpb24uaWQsXG4gICAgICAgICAgICAgICAgICAgICAgICBib3hJZDogb3V0cHV0LmJveElkLFxuICAgICAgICAgICAgICAgICAgICAgICAgYm94U2VyaWFsaXplZDogQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG91dHB1dFBhcnNlZC5zaWdtYV9zZXJpYWxpemVfYnl0ZXMoKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygnYmFzZTY0JyksXG4gICAgICAgICAgICAgICAgICAgICAgICB0b0NoYWluOiBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbMl0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICB0b0FkZHJlc3M6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs0XSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIG5ldHdvcmtGZWU6IEJpZ0ludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJzB4JyArIEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFs3XSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICAgICAgICApLnRvU3RyaW5nKDEwKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIGJyaWRnZUZlZTogQmlnSW50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzZdKS50b1N0cmluZygnaGV4JylcbiAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoMTApLFxuICAgICAgICAgICAgICAgICAgICAgICAgYW1vdW50OiBCaWdJbnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICcweCcgKyBCdWZmZXIuZnJvbShSNVNlcmlhbGl6ZWRbNV0pLnRvU3RyaW5nKCdoZXgnKVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygxMCksXG4gICAgICAgICAgICAgICAgICAgICAgICBzb3VyY2VDaGFpblRva2VuSWQ6IEJ1ZmZlci5mcm9tKFxuICAgICAgICAgICAgICAgICAgICAgICAgICBSNVNlcmlhbGl6ZWRbOF1cbiAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHRhcmdldENoYWluVG9rZW5JZDogQnVmZmVyLmZyb20oXG4gICAgICAgICAgICAgICAgICAgICAgICAgIFI1U2VyaWFsaXplZFs5XVxuICAgICAgICAgICAgICAgICAgICAgICAgKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgc291cmNlVHhJZDogc291cmNlVHhJZCxcbiAgICAgICAgICAgICAgICAgICAgICAgIGZyb21DaGFpbjogQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzFdKS50b1N0cmluZygpLFxuICAgICAgICAgICAgICAgICAgICAgICAgZnJvbUFkZHJlc3M6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFszXSkudG9TdHJpbmcoKSxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUJsb2NrSWQ6IEJ1ZmZlci5mcm9tKFI1U2VyaWFsaXplZFsxMF0pLnRvU3RyaW5nKCksXG4gICAgICAgICAgICAgICAgICAgICAgICBXSURzQ291bnQ6IFdJRHNDb3VudCxcbiAgICAgICAgICAgICAgICAgICAgICAgIFdJRHNIYXNoOiBXSURzSGFzaCxcbiAgICAgICAgICAgICAgICAgICAgICAgIHNvdXJjZUNoYWluSGVpZ2h0OiBOdW1iZXIoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIEJpZ0ludChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnMHgnICsgQnVmZmVyLmZyb20oUjVTZXJpYWxpemVkWzExXSkudG9TdHJpbmcoJ2hleCcpXG4gICAgICAgICAgICAgICAgICAgICAgICAgICkudG9TdHJpbmcoMTApXG4gICAgICAgICAgICAgICAgICAgICAgICApLFxuICAgICAgICAgICAgICAgICAgICAgIH0pO1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9IGNhdGNoIHtcbiAgICAgICAgICAgICAgY29udGludWU7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC8vIHByb2Nlc3MgaW5wdXRzXG4gICAgICAgICAgdHhTcGVuZElkcy5wdXNoKHtcbiAgICAgICAgICAgIHR4SWQ6IHRyYW5zYWN0aW9uLmlkLFxuICAgICAgICAgICAgc3BlbmRCb3hlczogdHJhbnNhY3Rpb24uaW5wdXRzLm1hcCgoYm94KSA9PiBib3guYm94SWQpLFxuICAgICAgICAgICAgcmVzdWx0OiByZXN1bHQsXG4gICAgICAgICAgICBwYXltZW50VHhJZDogcGF5bWVudFR4SWQsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgICAgICB0aGlzLmFjdGlvbnNcbiAgICAgICAgICAuc3RvcmVFdmVudFRyaWdnZXJzKGJveGVzLCBibG9jaywgdGhpcy5nZXRJZCgpKVxuICAgICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICAgIHR4U3BlbmRJZHMuZm9yRWFjaCgodHhTcGVuZHMpID0+IHtcbiAgICAgICAgICAgICAgdGhpcy5hY3Rpb25zXG4gICAgICAgICAgICAgICAgLnNwZW5kRXZlbnRUcmlnZ2VycyhcbiAgICAgICAgICAgICAgICAgIHR4U3BlbmRzLnNwZW5kQm94ZXMsXG4gICAgICAgICAgICAgICAgICBibG9jayxcbiAgICAgICAgICAgICAgICAgIHRoaXMuaWQsXG4gICAgICAgICAgICAgICAgICB0eFNwZW5kcy50eElkLFxuICAgICAgICAgICAgICAgICAgdHhTcGVuZHMucmVzdWx0LFxuICAgICAgICAgICAgICAgICAgdHhTcGVuZHMucGF5bWVudFR4SWRcbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgLnRoZW4oKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgcmVzb2x2ZSh0cnVlKTtcbiAgICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH0pXG4gICAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgYEVycm9yIGluIHN0b3JpbmcgcGVybWl0cyBvZiB0aGUgYmxvY2sgJHtibG9ja306ICR7ZX1gXG4gICAgICAgICAgICApO1xuICAgICAgICAgICAgcmVqZWN0KGUpO1xuICAgICAgICAgIH0pO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICBgYmxvY2sgJHtibG9ja30gZG9lc24ndCBzYXZlIGluIHRoZSBkYXRhYmFzZSB3aXRoIGVycm9yOiAke2V9YFxuICAgICAgICApO1xuICAgICAgICByZWplY3QoZSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH07XG5cbiAgZm9ya0Jsb2NrID0gYXN5bmMgKGhhc2g6IHN0cmluZykgPT4ge1xuICAgIGF3YWl0IHRoaXMuYWN0aW9ucy5kZWxldGVCbG9jayhoYXNoLCB0aGlzLmdldElkKCkpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBFeHRyYWN0b3IgYm94IGluaXRpYWxpemF0aW9uXG4gICAqIE5vIGFjdGlvbiBuZWVkZWQgaW4gZXZlbnQgdHJpZ2dlciBleHRyYWN0b3JzXG4gICAqL1xuICBpbml0aWFsaXplQm94ZXMgPSBhc3luYyAoKSA9PiB7XG4gICAgcmV0dXJuO1xuICB9O1xuXG4gIC8qKlxuICAgKiBleHRyYWN0cyByZXN1bHQgYW5kIHBheW1lbnRUeElkIGZyb20gYSB0cmFuc2FjdGlvblxuICAgKiByZXR1cm5zICd1bmtub3duJyBhcyByZXN1bHQgd2hlbiB0eCBpcyBuZWl0aGVyIGZyYXVkIG9yIHN1Y2Nlc3NmdWxcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcm90ZWN0ZWQgZXh0cmFjdEV2ZW50UmVzdWx0ID0gKHRyYW5zYWN0aW9uOiBUcmFuc2FjdGlvbikgPT4ge1xuICAgIGxldCByZXN1bHQgPSBFdmVudFJlc3VsdC51bmtub3duO1xuICAgIGxldCBwYXltZW50VHhJZCA9ICcnO1xuICAgIGlmICh0cmFuc2FjdGlvbi5vdXRwdXRzWzBdLmVyZ29UcmVlID09PSB0aGlzLmZyYXVkRXJnb1RyZWUpXG4gICAgICByZXN1bHQgPSBFdmVudFJlc3VsdC5mcmF1ZDtcbiAgICBlbHNlIGlmICh0cmFuc2FjdGlvbi5vdXRwdXRzWzBdLmVyZ29UcmVlID09PSB0aGlzLnBlcm1pdEVyZ29UcmVlKSB7XG4gICAgICByZXN1bHQgPSBFdmVudFJlc3VsdC5zdWNjZXNzZnVsO1xuICAgICAgLy8gZmluZCBmaXJzdCBub24td2F0Y2hlciBib3ggd2l0aCBSNCB2YWx1ZVxuICAgICAgZm9yIChjb25zdCBib3ggb2YgdHJhbnNhY3Rpb24ub3V0cHV0cykge1xuICAgICAgICAvLyBpZiBpdCdzIHdhdGNoZXIgYm94LCBza2lwIGl0XG4gICAgICAgIGlmIChib3guZXJnb1RyZWUgPT09IHRoaXMucGVybWl0RXJnb1RyZWUpIGNvbnRpbnVlO1xuICAgICAgICBjb25zdCBvdXRwdXRQYXJzZWQgPSB3YXNtLkVyZ29Cb3guZnJvbV9qc29uKEpzb25CSS5zdHJpbmdpZnkoYm94KSk7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgUjRTZXJpYWxpemVkID0gb3V0cHV0UGFyc2VkXG4gICAgICAgICAgICAucmVnaXN0ZXJfdmFsdWUod2FzbS5Ob25NYW5kYXRvcnlSZWdpc3RlcklkLlI0KVxuICAgICAgICAgICAgPy50b19ieXRlX2FycmF5KCk7XG4gICAgICAgICAgaWYgKFI0U2VyaWFsaXplZCAhPT0gdW5kZWZpbmVkICYmIFI0U2VyaWFsaXplZC5sZW5ndGggPiAwKSB7XG4gICAgICAgICAgICBsZXQgdHhJZCA9IEJ1ZmZlci5mcm9tKFI0U2VyaWFsaXplZCkudG9TdHJpbmcoKTtcbiAgICAgICAgICAgIC8vIHdlIGFzc3VtZWQgdHhJZCBvbmx5IGluY2x1ZGVzIHRoZXNlIGNoYXJhY3RlcnNcbiAgICAgICAgICAgIGlmICghdHhJZC5tYXRjaCgvXlswLTlhLXpBLVpcXC1fLl0rJC8pKSB7XG4gICAgICAgICAgICAgIC8vIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAgICAgICAgICAgICAgdHhJZCA9IEJ1ZmZlci5mcm9tKFI0U2VyaWFsaXplZCkudG9TdHJpbmcoJ2hleCcpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgcGF5bWVudFR4SWQgPSB0eElkO1xuICAgICAgICAgICAgaWYgKHR4SWQgPT09ICcnKSB7XG4gICAgICAgICAgICAgIHBheW1lbnRUeElkID0gdHJhbnNhY3Rpb24uaWQ7XG4gICAgICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgICAgIGBzdWNjZXNzZnVsIGV2ZW50IGlzIHNwZW50LiB0eCBbJHt0cmFuc2FjdGlvbi5pZH1dIGlzIGJvdGggcGF5bWVudCBhbmQgcmV3YXJkIGRpc3RyaWJ1dGlvbiB0eGBcbiAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIC8vIHBheW1lbnRUeElkIGlzIGV4dHJhY3RlZC4gbm8gbmVlZCB0byBwcm9jZXNzIG5leHQgYm94ZXNcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICAgIHJldHVybiB7XG4gICAgICByZXN1bHQsXG4gICAgICBwYXltZW50VHhJZCxcbiAgICB9O1xuICB9O1xufVxuXG5leHBvcnQgZGVmYXVsdCBFdmVudFRyaWdnZXJFeHRyYWN0b3I7XG4iXX0=
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@rosen-bridge/watcher-data-extractor",
3
- "version": "7.0.3",
3
+ "version": "8.0.1",
4
4
  "description": "Extractor for rosen specific boxes on ergo blockchain",
5
5
  "author": "Rosen Team",
6
6
  "license": "GPL-3.0",