@rosen-bridge/abstract-scanner 0.2.0 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -1,5 +1,24 @@
1
1
  # @rosen-bridge/abstract-scanner
2
2
 
3
+ ## 0.2.1
4
+
5
+ ### Patch Changes
6
+
7
+ - Fix package-lock and move typescript and types/node into root
8
+ - Update eslint and plugins:
9
+ - Apply new rules such as sort imports and file name
10
+ - Update dependencies
11
+ - @rosen-bridge/extended-typeorm@1.0.1
12
+ - @rosen-clients/rate-limited-axios@1.1.0
13
+ - @rosen-bridge/rosen-extractor@10.1.1
14
+ - @rosen-bridge/tokens@4.0.1
15
+ - @rosen-bridge/abstract-logger@3.0.1
16
+ - @rosen-bridge/json-bigint@1.1.0
17
+ - @rosen-clients/ergo-explorer@2.1.0
18
+ - @rosen-clients/ergo-node@3.1.0
19
+ - @rosen-bridge/abstract-extractor@2.1.2
20
+ - @rosen-bridge/scanner-interfaces@0.2.1
21
+
3
22
  ## 0.2.0
4
23
 
5
24
  ### Minor Changes
package/dist/index.d.ts CHANGED
@@ -5,7 +5,7 @@ export { ExtractorStatusEntity } from './entities/extractorStatusEntity';
5
5
  export { AbstractScanner } from './scanner/abstract/scanner';
6
6
  export { GeneralScanner } from './scanner/abstract/generalScanner';
7
7
  export { WebSocketScanner } from './scanner/abstract/webSocketScanner';
8
- export { ConnectorSelectionStrategy, FailoverStrategy, RoundRobinStrategy, } from './scanner/network/ConnectorSelectionStrategies';
9
- export { NetworkConnectorManager } from './scanner/network/NetworkConnectorManager';
8
+ export { ConnectorSelectionStrategy, FailoverStrategy, RoundRobinStrategy, } from './scanner/network/connectorSelectionStrategies';
9
+ export { NetworkConnectorManager } from './scanner/network/networkConnectorManager';
10
10
  export { ScannerConfig } from './scanner/interfaces';
11
11
  //# sourceMappingURL=index.d.ts.map
package/dist/index.js CHANGED
@@ -5,6 +5,6 @@ export { ExtractorStatusEntity } from './entities/extractorStatusEntity';
5
5
  export { AbstractScanner } from './scanner/abstract/scanner';
6
6
  export { GeneralScanner } from './scanner/abstract/generalScanner';
7
7
  export { WebSocketScanner } from './scanner/abstract/webSocketScanner';
8
- export { FailoverStrategy, RoundRobinStrategy, } from './scanner/network/ConnectorSelectionStrategies';
9
- export { NetworkConnectorManager } from './scanner/network/NetworkConnectorManager';
10
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEdBQ25CLE1BQU0sZ0RBQWdELENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCbG9ja0RiQWN0aW9uIH0gZnJvbSAnLi9zY2FubmVyL2FjdGlvbic7XG5leHBvcnQgeyBtaWdyYXRpb25zIH0gZnJvbSAnLi9taWdyYXRpb25zJztcbmV4cG9ydCB7IFBST0NFRUQsIEJsb2NrRW50aXR5IH0gZnJvbSAnLi9lbnRpdGllcy9ibG9ja0VudGl0eSc7XG5leHBvcnQgeyBFeHRyYWN0b3JTdGF0dXNFbnRpdHkgfSBmcm9tICcuL2VudGl0aWVzL2V4dHJhY3RvclN0YXR1c0VudGl0eSc7XG5leHBvcnQgeyBBYnN0cmFjdFNjYW5uZXIgfSBmcm9tICcuL3NjYW5uZXIvYWJzdHJhY3Qvc2Nhbm5lcic7XG5leHBvcnQgeyBHZW5lcmFsU2Nhbm5lciB9IGZyb20gJy4vc2Nhbm5lci9hYnN0cmFjdC9nZW5lcmFsU2Nhbm5lcic7XG5leHBvcnQgeyBXZWJTb2NrZXRTY2FubmVyIH0gZnJvbSAnLi9zY2FubmVyL2Fic3RyYWN0L3dlYlNvY2tldFNjYW5uZXInO1xuZXhwb3J0IHtcbiAgQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIEZhaWxvdmVyU3RyYXRlZ3ksXG4gIFJvdW5kUm9iaW5TdHJhdGVneSxcbn0gZnJvbSAnLi9zY2FubmVyL25ldHdvcmsvQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ2llcyc7XG5leHBvcnQgeyBOZXR3b3JrQ29ubmVjdG9yTWFuYWdlciB9IGZyb20gJy4vc2Nhbm5lci9uZXR3b3JrL05ldHdvcmtDb25uZWN0b3JNYW5hZ2VyJztcbmV4cG9ydCB7IFNjYW5uZXJDb25maWcgfSBmcm9tICcuL3NjYW5uZXIvaW50ZXJmYWNlcyc7XG4iXX0=
8
+ export { FailoverStrategy, RoundRobinStrategy, } from './scanner/network/connectorSelectionStrategies';
9
+ export { NetworkConnectorManager } from './scanner/network/networkConnectorManager';
10
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9saWIvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGtCQUFrQixDQUFDO0FBQ2pELE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUM5RCxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxrQ0FBa0MsQ0FBQztBQUN6RSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sNEJBQTRCLENBQUM7QUFDN0QsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG1DQUFtQyxDQUFDO0FBQ25FLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHFDQUFxQyxDQUFDO0FBQ3ZFLE9BQU8sRUFFTCxnQkFBZ0IsRUFDaEIsa0JBQWtCLEdBQ25CLE1BQU0sZ0RBQWdELENBQUM7QUFDeEQsT0FBTyxFQUFFLHVCQUF1QixFQUFFLE1BQU0sMkNBQTJDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBCbG9ja0RiQWN0aW9uIH0gZnJvbSAnLi9zY2FubmVyL2FjdGlvbic7XG5leHBvcnQgeyBtaWdyYXRpb25zIH0gZnJvbSAnLi9taWdyYXRpb25zJztcbmV4cG9ydCB7IFBST0NFRUQsIEJsb2NrRW50aXR5IH0gZnJvbSAnLi9lbnRpdGllcy9ibG9ja0VudGl0eSc7XG5leHBvcnQgeyBFeHRyYWN0b3JTdGF0dXNFbnRpdHkgfSBmcm9tICcuL2VudGl0aWVzL2V4dHJhY3RvclN0YXR1c0VudGl0eSc7XG5leHBvcnQgeyBBYnN0cmFjdFNjYW5uZXIgfSBmcm9tICcuL3NjYW5uZXIvYWJzdHJhY3Qvc2Nhbm5lcic7XG5leHBvcnQgeyBHZW5lcmFsU2Nhbm5lciB9IGZyb20gJy4vc2Nhbm5lci9hYnN0cmFjdC9nZW5lcmFsU2Nhbm5lcic7XG5leHBvcnQgeyBXZWJTb2NrZXRTY2FubmVyIH0gZnJvbSAnLi9zY2FubmVyL2Fic3RyYWN0L3dlYlNvY2tldFNjYW5uZXInO1xuZXhwb3J0IHtcbiAgQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIEZhaWxvdmVyU3RyYXRlZ3ksXG4gIFJvdW5kUm9iaW5TdHJhdGVneSxcbn0gZnJvbSAnLi9zY2FubmVyL25ldHdvcmsvY29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ2llcyc7XG5leHBvcnQgeyBOZXR3b3JrQ29ubmVjdG9yTWFuYWdlciB9IGZyb20gJy4vc2Nhbm5lci9uZXR3b3JrL25ldHdvcmtDb25uZWN0b3JNYW5hZ2VyJztcbmV4cG9ydCB7IFNjYW5uZXJDb25maWcgfSBmcm9tICcuL3NjYW5uZXIvaW50ZXJmYWNlcyc7XG4iXX0=
@@ -1,8 +1,8 @@
1
- import { AbstractScanner } from './scanner';
2
- import { AbstractNetworkConnector, Block } from '@rosen-bridge/scanner-interfaces';
3
- import { BlockEntity } from '../../entities/blockEntity';
4
1
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
5
2
  import { DataSource } from '@rosen-bridge/extended-typeorm';
3
+ import { AbstractNetworkConnector, Block } from '@rosen-bridge/scanner-interfaces';
4
+ import { BlockEntity } from '../../entities/blockEntity';
5
+ import { AbstractScanner } from './scanner';
6
6
  declare abstract class GeneralScanner<TransactionType> extends AbstractScanner<TransactionType> {
7
7
  private scannerName;
8
8
  private dataSource;
@@ -1 +1 @@
1
- {"version":3,"file":"generalScanner.d.ts","sourceRoot":"","sources":["../../../lib/scanner/abstract/generalScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EACL,wBAAwB,EACxB,KAAK,EACN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAE/D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,uBAAe,cAAc,CAC3B,eAAe,CACf,SAAQ,eAAe,CAAC,eAAe,CAAC;IAOtC,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IAExB,OAAO,CAAC,MAAM,CAAC;IAZjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,SAAS,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAa;IAE/D,IAAI,eAAmE;gBAG7D,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EAC9B,aAAa,EAAE,MAAM,EACb,OAAO,EAAE,wBAAwB,CAAC,eAAe,CAAC,EAClD,gBAAgB,SAAI,EAC5B,MAAM,CAAC,EAAE,cAAc,EACf,MAAM,CAAC,oBAAQ;IAYzB;;;OAGG;IACH,SAAS,CAAC,aAAa,QAAO,QAAQ,KAAK,CAAC,CAE1C;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,QAAa,QAAQ,OAAO,CAAC,CAUjD;IAEF;;OAEG;IACH,SAAS,CAAC,4BAA4B,cAAqB,MAAM,mBAK/D;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,UAAiB,KAAK,kCAyB1C;IAEF;;;OAGG;IACH,SAAS,CAAC,WAAW,mBAA0B,WAAW,mBA8BxD;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,sBAepB;IAEF;;;;OAIG;IACH,SAAS,CAAC,UAAU,6BAYlB;IAEF;;;OAGG;IACI,uBAAuB,QAAO,MAAM,GAAG,SAAS,CAC3B;IAE5B;;;OAGG;IACH,MAAM,sBAqBJ;CACH;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"generalScanner.d.ts","sourceRoot":"","sources":["../../../lib/scanner/abstract/generalScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,UAAU,EAAE,MAAM,gCAAgC,CAAC;AAE5D,OAAO,EACL,wBAAwB,EACxB,KAAK,EACN,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAE5C,uBAAe,cAAc,CAC3B,eAAe,CACf,SAAQ,eAAe,CAAC,eAAe,CAAC;IAOtC,OAAO,CAAC,WAAW;IACnB,OAAO,CAAC,UAAU;IAElB,OAAO,CAAC,OAAO;IACf,OAAO,CAAC,gBAAgB;IAExB,OAAO,CAAC,MAAM,CAAC;IAZjB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAS;IACvC,SAAS,CAAC,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAa;IAE/D,IAAI,eAAmE;gBAG7D,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,UAAU,EAC9B,aAAa,EAAE,MAAM,EACb,OAAO,EAAE,wBAAwB,CAAC,eAAe,CAAC,EAClD,gBAAgB,SAAI,EAC5B,MAAM,CAAC,EAAE,cAAc,EACf,MAAM,CAAC,EAAE,MAAM,YAAA;IAYzB;;;OAGG;IACH,SAAS,CAAC,aAAa,QAAO,OAAO,CAAC,KAAK,CAAC,CAE1C;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,QAAa,OAAO,CAAC,OAAO,CAAC,CAUjD;IAEF;;OAEG;IACH,SAAS,CAAC,4BAA4B,GAAU,WAAW,MAAM,mBAK/D;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,GAAU,OAAO,KAAK,kCAyB1C;IAEF;;;OAGG;IACH,SAAS,CAAC,WAAW,GAAU,gBAAgB,WAAW,mBA8BxD;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,sBAepB;IAEF;;;;OAIG;IACH,SAAS,CAAC,UAAU,6BAYlB;IAEF;;;OAGG;IACI,uBAAuB,QAAO,MAAM,GAAG,SAAS,CAC3B;IAE5B;;;OAGG;IACH,MAAM,sBAqBJ;CACH;AAED,OAAO,EAAE,cAAc,EAAE,CAAC"}
@@ -1,6 +1,6 @@
1
- import { AbstractScanner } from './scanner';
2
1
  import JsonBI from '@rosen-bridge/json-bigint';
3
2
  import { BlockDbAction } from '../action';
3
+ import { AbstractScanner } from './scanner';
4
4
  class GeneralScanner extends AbstractScanner {
5
5
  scannerName;
6
6
  dataSource;
@@ -171,4 +171,4 @@ class GeneralScanner extends AbstractScanner {
171
171
  };
172
172
  }
173
173
  export { GeneralScanner };
174
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbFNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2Nhbm5lci9hYnN0cmFjdC9nZW5lcmFsU2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBTTVDLE9BQU8sTUFBTSxNQUFNLDJCQUEyQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFHMUMsTUFBZSxjQUViLFNBQVEsZUFBZ0M7SUFPOUI7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQVpPLGFBQWEsQ0FBUztJQUM3QixvQkFBb0IsR0FBdUIsU0FBUyxDQUFDO0lBRS9ELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZFLFlBQ1UsV0FBbUIsRUFDbkIsVUFBc0IsRUFDOUIsYUFBcUIsRUFDYixPQUFrRCxFQUNsRCxtQkFBbUIsQ0FBQyxFQUM1QixNQUF1QixFQUNmLE1BQWU7UUFFdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBUk4sZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUV0QixZQUFPLEdBQVAsT0FBTyxDQUEyQztRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQUk7UUFFcEIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUd2Qjs7O1dBR0c7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFB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Q0FBQztZQUNILE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNELElBQ0UsQ0FBQyxJQUFJLENBQUMsb0JBQW9CO2dCQUMxQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsWUFBWTtnQkFFeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztZQUUzQyxJQUFJLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BCLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQyxDQUFDOztnQkFBTSxNQUFNLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNENBQTRDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUMsQ0FBQztDQUNIO0FBRUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RTY2FubmVyIH0gZnJvbSAnLi9zY2FubmVyJztcbmltcG9ydCB7XG4gIEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcixcbiAgQmxvY2ssXG59IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IEJsb2NrRW50aXR5IH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvYmxvY2tFbnRpdHknO1xuaW1wb3J0IEpzb25CSSBmcm9tICdAcm9zZW4tYnJpZGdlL2pzb24tYmlnaW50JztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgQmxvY2tEYkFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcblxuYWJzdHJhY3QgY2xhc3MgR2VuZXJhbFNjYW5uZXI8XG4gIFRyYW5zYWN0aW9uVHlwZSxcbj4gZXh0ZW5kcyBBYnN0cmFjdFNjYW5uZXI8VHJhbnNhY3Rpb25UeXBlPiB7XG4gIHByaXZhdGUgcmVhZG9ubHkgaW5pdGlhbEhlaWdodDogbnVtYmVyO1xuICBwcm90ZWN0ZWQgYmxvY2tDaGFpbkxhc3RIZWlnaHQ6IG51bWJlciB8IHVuZGVmaW5lZCA9IHVuZGVmaW5lZDtcblxuICBuYW1lID0gKCkgPT4gdGhpcy5zY2FubmVyTmFtZSArICh0aGlzLnN1ZmZpeCA/IGAtJHt0aGlzLnN1ZmZpeH1gIDogJycpO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgc2Nhbm5lck5hbWU6IHN0cmluZyxcbiAgICBwcml2YXRlIGRhdGFTb3VyY2U6IERhdGFTb3VyY2UsXG4gICAgaW5pdGlhbEhlaWdodDogbnVtYmVyLFxuICAgIHByaXZhdGUgbmV0d29yazogQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPFRyYW5zYWN0aW9uVHlwZT4sXG4gICAgcHJpdmF0ZSBibG9ja1JldHJpZXZlR2FwID0gMCxcbiAgICBsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcixcbiAgICBwcml2YXRlIHN1ZmZpeD86IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIobG9nZ2VyKTtcbiAgICAvKipcbiAgICAgKiBJbiBvcmRlciB0byBrZWVwIHRoZSBzY2FubmVycyBmdW5jdGlvbmFsaXRpZXMgY29uc2lzdGVudCwgd2UgYWRkIGNvbmZpZ1xuICAgICAqIGBpbml0aWFsSGVpZ2h0YCBieSBvbmUgc28gdGhhdCBpdCBtYXRjaGVzIGhvdyBvdGhlciBzY2FubmVycyB3b3JrLlxuICAgICAqL1xuICAgIHRoaXMuaW5pdGlhbEhlaWdodCA9IGluaXRpYWxIZWlnaHQgKyAxO1xuICAgIHRoaXMuc3VmZml4ID0gc3VmZml4O1xuICAgIHRoaXMuYWN0aW9uID0gbmV3IEJsb2NrRGJBY3Rpb24odGhpcy5kYXRhU291cmNlLCB0aGlzLm5hbWUoKSwgdGhpcy5sb2dnZXIpO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgZmlyc3QgYmxvY2sgdG8gcHJvY2Vzc1xuICAgKiBAcmV0dXJucyBUaGUgZmlyc3QgYmxvY2sgYXQgdGhlIGNvbmZpZ3VyZWQgaW5pdGlhbCBoZWlnaHRcbiAgICovXG4gIHByb3RlY3RlZCBnZXRGaXJzdEJsb2NrID0gKCk6IFByb21pc2U8QmxvY2s+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5uZXR3b3JrLmdldEJsb2NrQXRIZWlnaHQodGhpcy5pbml0aWFsSGVpZ2h0KTtcbiAgfTtcblxuICAvKipcbiAgICogZnVuY3Rpb24gdGhhdCBjaGVja3MgaWYgZm9yayBpcyBoYXBwZW4gaW4gdGhlIGJsb2NrY2hhaW4gb3Igbm90XG4gICAqIEByZXR1cm4gUHJvbWlzZTxCb29sZWFuPlxuICAgKi9cbiAgcHJvdGVjdGVkIGlzRm9ya0hhcHBlbiA9IGFzeW5jICgpOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBjb25zdCBsYXN0U2F2ZWRCbG9jayA9IGF3YWl0IHRoaXMuYWN0aW9uLmdldExhc3RTYXZlZEJsb2NrKCk7XG4gICAgaWYgKGxhc3RTYXZlZEJsb2NrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnN0IGxhc3RTYXZlZEJsb2NrRnJvbU5ldHdvcmsgPSBhd2FpdCB0aGlzLm5ldHdvcmsuZ2V0QmxvY2tBdEhlaWdodChcbiAgICAgICAgbGFzdFNhdmVkQmxvY2suaGVpZ2h0LFxuICAgICAgKTtcbiAgICAgIHJldHVybiBsYXN0U2F2ZWRCbG9ja0Zyb21OZXR3b3JrLmhhc2ggIT09IGxhc3RTYXZlZEJsb2NrLmhhc2g7XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIFRoaXMgbWV0aG9kIGludHJvZHVjZXMgZGVsYXkgYmV0d2VlbiBjb25zZWN1dGl2ZSBibG9jayBwcm9jZXNzaW5nIG9wZXJhdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBkZWxheUJldHdlZW5CbG9ja3NQcm9jZXNzaW5nID0gYXN5bmMgKHN0YXJ0VGltZTogbnVtYmVyKSA9PiB7XG4gICAgY29uc3Qgc3BlbnRUaW1lID0gbmV3IERhdGUoKS5nZXRUaW1lKCkgLSBzdGFydFRpbWU7XG4gICAgYXdhaXQgbmV3IFByb21pc2UoKHJlc29sdmUpID0+XG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHJlc29sdmUobnVsbCksIHRoaXMuYmxvY2tSZXRyaWV2ZUdhcCAtIHNwZW50VGltZSksXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogcHJvY2VzcyBhIGJsb2NrIGFuZCBleGVjdXRlIGFsbCBleHRyYWN0b3Igb24gaXQuXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgcHJvdGVjdGVkIHByb2Nlc3NCbG9jayA9IGFzeW5jIChibG9jazogQmxvY2spID0+IHtcbiAgICBjb25zdCBzdGFydFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBQcm9jZXNzaW5nIGJsb2NrIGF0IGhlaWdodCBbJHtibG9jay5oZWlnaHR9XSBpbiBzY2FubmVyICR7dGhpcy5uYW1lKCl9YCxcbiAgICApO1xuICAgIGNvbnN0IHR4cyA9IGF3YWl0IHRoaXMubmV0d29yay5nZXRCbG9ja1R4cyhibG9jay5oYXNoKTtcbiAgICBpZiAoYmxvY2sudHhDb3VudCkge1xuICAgICAgaWYgKHR4cy5sZW5ndGggIT0gYmxvY2sudHhDb3VudCkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgQWJvcnRpbmcgYmxvY2sgcHJvY2VzcyB3aXRoIGhhc2ggWyR7YmxvY2suaGFzaH1dIGV4cGVjdGVkIHRvIGhhdmUgJHtibG9jay50eENvdW50fSB0cmFuc2FjdGlvbnMgYnV0IGhhZCAke3R4cy5sZW5ndGh9YCxcbiAgICAgICAgKTtcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xuICAgICAgfVxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBwcm9jZXNzaW5nICR7YmxvY2sudHhDb3VudH0gdHJhbnNhY3Rpb25zIG9mIGJsb2NrIHdpdGggaGFzaCBbJHtibG9jay5oYXNofV1gLFxuICAgICAgKTtcbiAgICB9XG5cbiAgICBjb25zdCByZXN1bHQgPSBhd2FpdCB0aGlzLnByb2Nlc3NCbG9ja1RyYW5zYWN0aW9ucyhibG9jaywgdHhzKTtcblxuICAgIC8vIFNwZW5kaW5nIHRpbWUgYmV0d2VlbiBibG9jayBmZXRjaGVzIGlmIHRoZSBzZXR0aW5nIGlzIGVuYWJsZWRcbiAgICBpZiAodGhpcy5ibG9ja1JldHJpZXZlR2FwKVxuICAgICAgYXdhaXQgdGhpcy5kZWxheUJldHdlZW5CbG9ja3NQcm9jZXNzaW5nKHN0YXJ0VGltZSk7XG5cbiAgICByZXR1cm4gcmVzdWx0O1xuICB9O1xuXG4gIC8qKlxuICAgKiBwcm9jZXNzIGZvcndhcmQgaW4gc2Nhbm5lci4gZ2V0IGJsb2NrcyBhbmQgc3RvcmUgaW5mb3JtYXRpb24gZnJvbSB0cmFuc2FjdGlvbnMuXG4gICAqIEBwYXJhbSBsYXN0U2F2ZWRCbG9jazogbGFzdCBzYXZlZCBibG9jayBlbnRpdHkgaW4gZGF0YWJhc2VcbiAgICovXG4gIHByb3RlY3RlZCBzdGVwRm9yd2FyZCA9IGFzeW5jIChsYXN0U2F2ZWRCbG9jazogQmxvY2tFbnRpdHkpID0+IHtcbiAgICBjb25zdCBjdXJyZW50SGVpZ2h0ID0gYXdhaXQgdGhpcy5uZXR3b3JrLmdldEN1cnJlbnRIZWlnaHQoKTtcbiAgICBjb25zdCBmaXJzdEJsb2NrID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0Rmlyc3RTYXZlZEJsb2NrKCk7XG4gICAgaWYgKCFmaXJzdEJsb2NrIHx8IGZpcnN0QmxvY2suaGVpZ2h0ID49IGN1cnJlbnRIZWlnaHQpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZm9yIChcbiAgICAgIGxldCBoZWlnaHQgPSBsYXN0U2F2ZWRCbG9jay5oZWlnaHQgKyAxO1xuICAgICAgaGVpZ2h0IDw9IGN1cnJlbnRIZWlnaHQ7XG4gICAgICBoZWlnaHQrK1xuICAgICkge1xuICAgICAgY29uc3QgYmxvY2sgPSBhd2FpdCB0aGlzLm5ldHdvcmsuZ2V0QmxvY2tBdEhlaWdodChoZWlnaHQpO1xuICAgICAgaWYgKGxhc3RTYXZlZEJsb2NrICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgaWYgKGJsb2NrLnBhcmVudEhhc2ggPT09IGxhc3RTYXZlZEJsb2NrLmhhc2gpIHtcbiAgICAgICAgICBjb25zdCBzYXZlZEJsb2NrID0gYXdhaXQgdGhpcy5wcm9jZXNzQmxvY2soYmxvY2spO1xuICAgICAgICAgIGlmICh0eXBlb2Ygc2F2ZWRCbG9jayA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgbGFzdFNhdmVkQmxvY2sgPSBzYXZlZEJsb2NrO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICAgIGBJbnZhbGlkIGJsb2NrIGF0IGhlaWdodCAke2hlaWdodH0uIEJsb2NrIGluZm8gaXMgWyR7SnNvbkJJLnN0cmluZ2lmeShcbiAgICAgICAgICAgICAgYmxvY2ssXG4gICAgICAgICAgICApfSBhbmQgdGhlIGV4cGVjdGVkIHBhcmVudCBoYXNoIGlzIFske2xhc3RTYXZlZEJsb2NrLmhhc2h9XWAsXG4gICAgICAgICAgKTtcbiAgICAgICAgICBicmVhaztcbiAgICAgICAgfVxuICAgICAgfVxuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogU3RlcCBiYWNrd2FyZCBpbiBibG9ja2NoYWluIGFuZCBmaW5kIGZvcmsgcG9pbnQuXG4gICAqIGFuZCByZW1vdmUgYWxsIGZvcmtlZCBibG9ja3MgZnJvbSBkYXRhYmFzZVxuICAgKi9cbiAgcHJvdGVjdGVkIHN0ZXBCYWNrd2FyZCA9IGFzeW5jICgpID0+IHtcbiAgICBsZXQgYmxvY2sgPSBhd2FpdCB0aGlzLmFjdGlvbi5nZXRMYXN0U2F2ZWRCbG9jaygpO1xuICAgIHdoaWxlIChibG9jaykge1xuICAgICAgY29uc3QgYmxvY2tGcm9tTmV0d29yayA9IGF3YWl0IHRoaXMubmV0d29yay5nZXRCbG9ja0F0SGVpZ2h0KFxuICAgICAgICBibG9jay5oZWlnaHQsXG4gICAgICApO1xuICAgICAgaWYgKFxuICAgICAgICBibG9ja0Zyb21OZXR3b3JrLmhhc2ggPT09IGJsb2NrLmhhc2ggJiZcbiAgICAgICAgYmxvY2sucGFyZW50SGFzaCA9PT0gYmxvY2tGcm9tTmV0d29yay5wYXJlbnRIYXNoXG4gICAgICApIHtcbiAgICAgICAgcmV0dXJuO1xuICAgICAgfVxuICAgICAgYXdhaXQgdGhpcy5mb3JrQmxvY2soYmxvY2suaGVpZ2h0KTtcbiAgICAgIGJsb2NrID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0TGFzdFNhdmVkQmxvY2soKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemUgdGhlIGV4dHJhY3RvcnMgd2l0aCB0aGUgZmlyc3QgYmxvY2tcbiAgICogUHJvY2VzcyBhbmQgc3RvcmUgdGhlIGZpcnN0IGJsb2NrIGluIGRhdGFiYXNlXG4gICAqIEByZXR1cm5zXG4gICAqL1xuICBwcm90ZWN0ZWQgaW5pdGlhbGl6ZSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCBibG9jayA9IGF3YWl0IHRoaXMuZ2V0Rmlyc3RCbG9jaygpO1xuICAgIGF3YWl0IHRoaXMudmVyaWZ5RXh0cmFjdG9yc0luaXRpYWxpemF0aW9uKHtcbiAgICAgIGhlaWdodDogYmxvY2suaGVpZ2h0IC0gMSxcbiAgICAgIGhhc2g6IGJsb2NrLnBhcmVudEhhc2gsXG4gICAgfSk7XG4gICAgYXdhaXQgdGhpcy5wcm9jZXNzQmxvY2soYmxvY2spO1xuICAgIGNvbnN0IGVudGl0eSA9IGF3YWl0IHRoaXMuYWN0aW9uLmdldEZpcnN0U2F2ZWRCbG9jaygpO1xuICAgIGlmIChlbnRpdHkgPT09IHVuZGVmaW5lZCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdDYW4gbm90IHN0b3JlIGJsb2NrIGluIGRhdGFiYXNlJyk7XG4gICAgfVxuICAgIHJldHVybiBlbnRpdHk7XG4gIH07XG5cbiAgLyoqXG4gICAqIFJldHVybiB0aGUgbGF0ZXN0IGhlaWdodCBvZiB0aGUgYmxvY2tjaGFpblxuICAgKiBAcmV0dXJucyB7IG51bWJlciB8IHVuZGVmaW5lZCB9XG4gICAqL1xuICBwdWJsaWMgZ2V0QmxvY2tDaGFpbkxhc3RIZWlnaHQgPSAoKTogbnVtYmVyIHwgdW5kZWZpbmVkID0+XG4gICAgdGhpcy5ibG9ja0NoYWluTGFzdEhlaWdodDtcblxuICAvKipcbiAgICogd29ya2VyIGZ1bmN0aW9uIHRoYXQgcnVucyBmb3Igc3luY2luZyB0aGUgZGF0YWJhc2Ugd2l0aCB0aGUgQ2FyZGFubyBibG9ja2NoYWluIGFuZCBjaGVja3MgaWYgd2UgaGF2ZSBhbnkgZm9ya1xuICAgKiBzY2VuYXJpbyBpbiB0aGUgYmxvY2tjaGFpbiBhbmQgaW52YWxpZGF0ZSB0aGUgZGF0YWJhc2UgdGlsbCB0aGUgZGF0YWJhc2Ugc3luY2VkIGFnYWluLlxuICAgKi9cbiAgdXBkYXRlID0gYXN5bmMgKCkgPT4ge1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBsYXRlc3RIZWlnaHQgPSBhd2FpdCB0aGlzLm5ldHdvcmsuZ2V0Q3VycmVudEhlaWdodCgpO1xuICAgICAgaWYgKFxuICAgICAgICAhdGhpcy5ibG9ja0NoYWluTGFzdEhlaWdodCB8fFxuICAgICAgICB0aGlzLmJsb2NrQ2hhaW5MYXN0SGVpZ2h0IDwgbGF0ZXN0SGVpZ2h0XG4gICAgICApXG4gICAgICAgIHRoaXMuYmxvY2tDaGFpbkxhc3RIZWlnaHQgPSBsYXRlc3RIZWlnaHQ7XG5cbiAgICAgIGxldCBsYXN0U2F2ZWRCbG9jayA9IGF3YWl0IHRoaXMuYWN0aW9uLmdldExhc3RTYXZlZEJsb2NrKCk7XG4gICAgICBpZiAoIWxhc3RTYXZlZEJsb2NrKSB7XG4gICAgICAgIGxhc3RTYXZlZEJsb2NrID0gYXdhaXQgdGhpcy5pbml0aWFsaXplKCk7XG4gICAgICB9IGVsc2UgYXdhaXQgdGhpcy52ZXJpZnlFeHRyYWN0b3JzSW5pdGlhbGl6YXRpb24obGFzdFNhdmVkQmxvY2spO1xuICAgICAgaWYgKCEoYXdhaXQgdGhpcy5pc0ZvcmtIYXBwZW4oKSkpIHtcbiAgICAgICAgYXdhaXQgdGhpcy5zdGVwRm9yd2FyZChsYXN0U2F2ZWRCbG9jayk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBhd2FpdCB0aGlzLnN0ZXBCYWNrd2FyZCgpO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgdXBkYXRlIHByb2Nlc3MuICR7ZX1gKTtcbiAgICB9XG4gIH07XG59XG5cbmV4cG9ydCB7IEdlbmVyYWxTY2FubmVyIH07XG4iXX0=
174
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2VuZXJhbFNjYW5uZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2Nhbm5lci9hYnN0cmFjdC9nZW5lcmFsU2Nhbm5lci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFFQSxPQUFPLE1BQU0sTUFBTSwyQkFBMkIsQ0FBQztBQU8vQyxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFNUMsTUFBZSxjQUViLFNBQVEsZUFBZ0M7SUFPOUI7SUFDQTtJQUVBO0lBQ0E7SUFFQTtJQVpPLGFBQWEsQ0FBUztJQUM3QixvQkFBb0IsR0FBdUIsU0FBUyxDQUFDO0lBRS9ELElBQUksR0FBRyxHQUFHLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxHQUFHLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDO0lBRXZFLFlBQ1UsV0FBbUIsRUFDbkIsVUFBc0IsRUFDOUIsYUFBcUIsRUFDYixPQUFrRCxFQUNsRCxtQkFBbUIsQ0FBQyxFQUM1QixNQUF1QixFQUNmLE1BQWU7UUFFdkIsS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBUk4sZ0JBQVcsR0FBWCxXQUFXLENBQVE7UUFDbkIsZUFBVSxHQUFWLFVBQVUsQ0FBWTtRQUV0QixZQUFPLEdBQVAsT0FBTyxDQUEyQztRQUNsRCxxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQUk7UUFFcEIsV0FBTSxHQUFOLE1BQU0sQ0FBUztRQUd2Qjs7O1dBR0c7UUFDSCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsR0FBRyxDQUFDLENBQUM7UUFDdkMsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDckIsSUFBSSxDQUFDLE1BQU0sR0FBRyxJQUFJLGFBQWEsQ0FBQyxJQUFJLENBQUMsVUFB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Q0FBQztZQUNILE1BQU0sWUFBWSxHQUFHLE1BQU0sSUFBSSxDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1lBQzNELElBQ0UsQ0FBQyxJQUFJLENBQUMsb0JBQW9CO2dCQUMxQixJQUFJLENBQUMsb0JBQW9CLEdBQUcsWUFBWTtnQkFFeEMsSUFBSSxDQUFDLG9CQUFvQixHQUFHLFlBQVksQ0FBQztZQUUzQyxJQUFJLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztZQUMzRCxJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7Z0JBQ3BCLGNBQWMsR0FBRyxNQUFNLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztZQUMzQyxDQUFDOztnQkFBTSxNQUFNLElBQUksQ0FBQyw4QkFBOEIsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUNqRSxJQUFJLENBQUMsQ0FBQyxNQUFNLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLENBQUM7Z0JBQ2pDLE1BQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUN6QyxDQUFDO2lCQUFNLENBQUM7Z0JBQ04sTUFBTSxJQUFJLENBQUMsWUFBWSxFQUFFLENBQUM7WUFDNUIsQ0FBQztRQUNILENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNENBQTRDLENBQUMsRUFBRSxDQUFDLENBQUM7UUFDckUsQ0FBQztJQUNILENBQUMsQ0FBQztDQUNIO0FBRUQsT0FBTyxFQUFFLGNBQWMsRUFBRSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBEYXRhU291cmNlIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9leHRlbmRlZC10eXBlb3JtJztcbmltcG9ydCBKc29uQkkgZnJvbSAnQHJvc2VuLWJyaWRnZS9qc29uLWJpZ2ludCc7XG5pbXBvcnQge1xuICBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3IsXG4gIEJsb2NrLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEJsb2NrRW50aXR5IH0gZnJvbSAnLi4vLi4vZW50aXRpZXMvYmxvY2tFbnRpdHknO1xuaW1wb3J0IHsgQmxvY2tEYkFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbic7XG5pbXBvcnQgeyBBYnN0cmFjdFNjYW5uZXIgfSBmcm9tICcuL3NjYW5uZXInO1xuXG5hYnN0cmFjdCBjbGFzcyBHZW5lcmFsU2Nhbm5lcjxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuPiBleHRlbmRzIEFic3RyYWN0U2Nhbm5lcjxUcmFuc2FjdGlvblR5cGU+IHtcbiAgcHJpdmF0ZSByZWFkb25seSBpbml0aWFsSGVpZ2h0OiBudW1iZXI7XG4gIHByb3RlY3RlZCBibG9ja0NoYWluTGFzdEhlaWdodDogbnVtYmVyIHwgdW5kZWZpbmVkID0gdW5kZWZpbmVkO1xuXG4gIG5hbWUgPSAoKSA9PiB0aGlzLnNjYW5uZXJOYW1lICsgKHRoaXMuc3VmZml4ID8gYC0ke3RoaXMuc3VmZml4fWAgOiAnJyk7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzY2FubmVyTmFtZTogc3RyaW5nLFxuICAgIHByaXZhdGUgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBpbml0aWFsSGVpZ2h0OiBudW1iZXIsXG4gICAgcHJpdmF0ZSBuZXR3b3JrOiBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8VHJhbnNhY3Rpb25UeXBlPixcbiAgICBwcml2YXRlIGJsb2NrUmV0cmlldmVHYXAgPSAwLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyLFxuICAgIHByaXZhdGUgc3VmZml4Pzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihsb2dnZXIpO1xuICAgIC8qKlxuICAgICAqIEluIG9yZGVyIHRvIGtlZXAgdGhlIHNjYW5uZXJzIGZ1bmN0aW9uYWxpdGllcyBjb25zaXN0ZW50LCB3ZSBhZGQgY29uZmlnXG4gICAgICogYGluaXRpYWxIZWlnaHRgIGJ5IG9uZSBzbyB0aGF0IGl0IG1hdGNoZXMgaG93IG90aGVyIHNjYW5uZXJzIHdvcmsuXG4gICAgICovXG4gICAgdGhpcy5pbml0aWFsSGVpZ2h0ID0gaW5pdGlhbEhlaWdodCArIDE7XG4gICAgdGhpcy5zdWZmaXggPSBzdWZmaXg7XG4gICAgdGhpcy5hY3Rpb24gPSBuZXcgQmxvY2tEYkFjdGlvbih0aGlzLmRhdGFTb3VyY2UsIHRoaXMubmFtZSgpLCB0aGlzLmxvZ2dlcik7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBmaXJzdCBibG9jayB0byBwcm9jZXNzXG4gICAqIEByZXR1cm5zIFRoZSBmaXJzdCBibG9jayBhdCB0aGUgY29uZmlndXJlZCBpbml0aWFsIGhlaWdodFxuICAgKi9cbiAgcHJvdGVjdGVkIGdldEZpcnN0QmxvY2sgPSAoKTogUHJvbWlzZTxCbG9jaz4gPT4ge1xuICAgIHJldHVybiB0aGlzLm5ldHdvcmsuZ2V0QmxvY2tBdEhlaWdodCh0aGlzLmluaXRpYWxIZWlnaHQpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBmdW5jdGlvbiB0aGF0IGNoZWNrcyBpZiBmb3JrIGlzIGhhcHBlbiBpbiB0aGUgYmxvY2tjaGFpbiBvciBub3RcbiAgICogQHJldHVybiBQcm9taXNlPEJvb2xlYW4+XG4gICAqL1xuICBwcm90ZWN0ZWQgaXNGb3JrSGFwcGVuID0gYXN5bmMgKCk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGNvbnN0IGxhc3RTYXZlZEJsb2NrID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0TGFzdFNhdmVkQmxvY2soKTtcbiAgICBpZiAobGFzdFNhdmVkQmxvY2sgIT09IHVuZGVmaW5lZCkge1xuICAgICAgY29uc3QgbGFzdFNhdmVkQmxvY2tGcm9tTmV0d29yayA9IGF3YWl0IHRoaXMubmV0d29yay5nZXRCbG9ja0F0SGVpZ2h0KFxuICAgICAgICBsYXN0U2F2ZWRCbG9jay5oZWlnaHQsXG4gICAgICApO1xuICAgICAgcmV0dXJuIGxhc3RTYXZlZEJsb2NrRnJvbU5ldHdvcmsuaGFzaCAhPT0gbGFzdFNhdmVkQmxvY2suaGFzaDtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogVGhpcyBtZXRob2QgaW50cm9kdWNlcyBkZWxheSBiZXR3ZWVuIGNvbnNlY3V0aXZlIGJsb2NrIHByb2Nlc3Npbmcgb3BlcmF0aW9uc1xuICAgKi9cbiAgcHJvdGVjdGVkIGRlbGF5QmV0d2VlbkJsb2Nrc1Byb2Nlc3NpbmcgPSBhc3luYyAoc3RhcnRUaW1lOiBudW1iZXIpID0+IHtcbiAgICBjb25zdCBzcGVudFRpbWUgPSBuZXcgRGF0ZSgpLmdldFRpbWUoKSAtIHN0YXJ0VGltZTtcbiAgICBhd2FpdCBuZXcgUHJvbWlzZSgocmVzb2x2ZSkgPT5cbiAgICAgIHNldFRpbWVvdXQoKCkgPT4gcmVzb2x2ZShudWxsKSwgdGhpcy5ibG9ja1JldHJpZXZlR2FwIC0gc3BlbnRUaW1lKSxcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBwcm9jZXNzIGEgYmxvY2sgYW5kIGV4ZWN1dGUgYWxsIGV4dHJhY3RvciBvbiBpdC5cbiAgICogQHBhcmFtIGJsb2NrXG4gICAqL1xuICBwcm90ZWN0ZWQgcHJvY2Vzc0Jsb2NrID0gYXN5bmMgKGJsb2NrOiBCbG9jaykgPT4ge1xuICAgIGNvbnN0IHN0YXJ0VGltZSA9IG5ldyBEYXRlKCkuZ2V0VGltZSgpO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgYFByb2Nlc3NpbmcgYmxvY2sgYXQgaGVpZ2h0IFske2Jsb2NrLmhlaWdodH1dIGluIHNjYW5uZXIgJHt0aGlzLm5hbWUoKX1gLFxuICAgICk7XG4gICAgY29uc3QgdHhzID0gYXdhaXQgdGhpcy5uZXR3b3JrLmdldEJsb2NrVHhzKGJsb2NrLmhhc2gpO1xuICAgIGlmIChibG9jay50eENvdW50KSB7XG4gICAgICBpZiAodHhzLmxlbmd0aCAhPSBibG9jay50eENvdW50KSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBBYm9ydGluZyBibG9jayBwcm9jZXNzIHdpdGggaGFzaCBbJHtibG9jay5oYXNofV0gZXhwZWN0ZWQgdG8gaGF2ZSAke2Jsb2NrLnR4Q291bnR9IHRyYW5zYWN0aW9ucyBidXQgaGFkICR7dHhzLmxlbmd0aH1gLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICB9XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYHByb2Nlc3NpbmcgJHtibG9jay50eENvdW50fSB0cmFuc2FjdGlvbnMgb2YgYmxvY2sgd2l0aCBoYXNoIFske2Jsb2NrLmhhc2h9XWAsXG4gICAgICApO1xuICAgIH1cblxuICAgIGNvbnN0IHJlc3VsdCA9IGF3YWl0IHRoaXMucHJvY2Vzc0Jsb2NrVHJhbnNhY3Rpb25zKGJsb2NrLCB0eHMpO1xuXG4gICAgLy8gU3BlbmRpbmcgdGltZSBiZXR3ZWVuIGJsb2NrIGZldGNoZXMgaWYgdGhlIHNldHRpbmcgaXMgZW5hYmxlZFxuICAgIGlmICh0aGlzLmJsb2NrUmV0cmlldmVHYXApXG4gICAgICBhd2FpdCB0aGlzLmRlbGF5QmV0d2VlbkJsb2Nrc1Byb2Nlc3Npbmcoc3RhcnRUaW1lKTtcblxuICAgIHJldHVybiByZXN1bHQ7XG4gIH07XG5cbiAgLyoqXG4gICAqIHByb2Nlc3MgZm9yd2FyZCBpbiBzY2FubmVyLiBnZXQgYmxvY2tzIGFuZCBzdG9yZSBpbmZvcm1hdGlvbiBmcm9tIHRyYW5zYWN0aW9ucy5cbiAgICogQHBhcmFtIGxhc3RTYXZlZEJsb2NrOiBsYXN0IHNhdmVkIGJsb2NrIGVudGl0eSBpbiBkYXRhYmFzZVxuICAgKi9cbiAgcHJvdGVjdGVkIHN0ZXBGb3J3YXJkID0gYXN5bmMgKGxhc3RTYXZlZEJsb2NrOiBCbG9ja0VudGl0eSkgPT4ge1xuICAgIGNvbnN0IGN1cnJlbnRIZWlnaHQgPSBhd2FpdCB0aGlzLm5ldHdvcmsuZ2V0Q3VycmVudEhlaWdodCgpO1xuICAgIGNvbnN0IGZpcnN0QmxvY2sgPSBhd2FpdCB0aGlzLmFjdGlvbi5nZXRGaXJzdFNhdmVkQmxvY2soKTtcbiAgICBpZiAoIWZpcnN0QmxvY2sgfHwgZmlyc3RCbG9jay5oZWlnaHQgPj0gY3VycmVudEhlaWdodCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBmb3IgKFxuICAgICAgbGV0IGhlaWdodCA9IGxhc3RTYXZlZEJsb2NrLmhlaWdodCArIDE7XG4gICAgICBoZWlnaHQgPD0gY3VycmVudEhlaWdodDtcbiAgICAgIGhlaWdodCsrXG4gICAgKSB7XG4gICAgICBjb25zdCBibG9jayA9IGF3YWl0IHRoaXMubmV0d29yay5nZXRCbG9ja0F0SGVpZ2h0KGhlaWdodCk7XG4gICAgICBpZiAobGFzdFNhdmVkQmxvY2sgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBpZiAoYmxvY2sucGFyZW50SGFzaCA9PT0gbGFzdFNhdmVkQmxvY2suaGFzaCkge1xuICAgICAgICAgIGNvbnN0IHNhdmVkQmxvY2sgPSBhd2FpdCB0aGlzLnByb2Nlc3NCbG9jayhibG9jayk7XG4gICAgICAgICAgaWYgKHR5cGVvZiBzYXZlZEJsb2NrID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBsYXN0U2F2ZWRCbG9jayA9IHNhdmVkQmxvY2s7XG4gICAgICAgICAgfVxuICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgICAgYEludmFsaWQgYmxvY2sgYXQgaGVpZ2h0ICR7aGVpZ2h0fS4gQmxvY2sgaW5mbyBpcyBbJHtKc29uQkkuc3RyaW5naWZ5KFxuICAgICAgICAgICAgICBibG9jayxcbiAgICAgICAgICAgICl9IGFuZCB0aGUgZXhwZWN0ZWQgcGFyZW50IGhhc2ggaXMgWyR7bGFzdFNhdmVkQmxvY2suaGFzaH1dYCxcbiAgICAgICAgICApO1xuICAgICAgICAgIGJyZWFrO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBTdGVwIGJhY2t3YXJkIGluIGJsb2NrY2hhaW4gYW5kIGZpbmQgZm9yayBwb2ludC5cbiAgICogYW5kIHJlbW92ZSBhbGwgZm9ya2VkIGJsb2NrcyBmcm9tIGRhdGFiYXNlXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RlcEJhY2t3YXJkID0gYXN5bmMgKCkgPT4ge1xuICAgIGxldCBibG9jayA9IGF3YWl0IHRoaXMuYWN0aW9uLmdldExhc3RTYXZlZEJsb2NrKCk7XG4gICAgd2hpbGUgKGJsb2NrKSB7XG4gICAgICBjb25zdCBibG9ja0Zyb21OZXR3b3JrID0gYXdhaXQgdGhpcy5uZXR3b3JrLmdldEJsb2NrQXRIZWlnaHQoXG4gICAgICAgIGJsb2NrLmhlaWdodCxcbiAgICAgICk7XG4gICAgICBpZiAoXG4gICAgICAgIGJsb2NrRnJvbU5ldHdvcmsuaGFzaCA9PT0gYmxvY2suaGFzaCAmJlxuICAgICAgICBibG9jay5wYXJlbnRIYXNoID09PSBibG9ja0Zyb21OZXR3b3JrLnBhcmVudEhhc2hcbiAgICAgICkge1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLmZvcmtCbG9jayhibG9jay5oZWlnaHQpO1xuICAgICAgYmxvY2sgPSBhd2FpdCB0aGlzLmFjdGlvbi5nZXRMYXN0U2F2ZWRCbG9jaygpO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSB0aGUgZXh0cmFjdG9ycyB3aXRoIHRoZSBmaXJzdCBibG9ja1xuICAgKiBQcm9jZXNzIGFuZCBzdG9yZSB0aGUgZmlyc3QgYmxvY2sgaW4gZGF0YWJhc2VcbiAgICogQHJldHVybnNcbiAgICovXG4gIHByb3RlY3RlZCBpbml0aWFsaXplID0gYXN5bmMgKCkgPT4ge1xuICAgIGNvbnN0IGJsb2NrID0gYXdhaXQgdGhpcy5nZXRGaXJzdEJsb2NrKCk7XG4gICAgYXdhaXQgdGhpcy52ZXJpZnlFeHRyYWN0b3JzSW5pdGlhbGl6YXRpb24oe1xuICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQgLSAxLFxuICAgICAgaGFzaDogYmxvY2sucGFyZW50SGFzaCxcbiAgICB9KTtcbiAgICBhd2FpdCB0aGlzLnByb2Nlc3NCbG9jayhibG9jayk7XG4gICAgY29uc3QgZW50aXR5ID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0Rmlyc3RTYXZlZEJsb2NrKCk7XG4gICAgaWYgKGVudGl0eSA9PT0gdW5kZWZpbmVkKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0NhbiBub3Qgc3RvcmUgYmxvY2sgaW4gZGF0YWJhc2UnKTtcbiAgICB9XG4gICAgcmV0dXJuIGVudGl0eTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIHRoZSBsYXRlc3QgaGVpZ2h0IG9mIHRoZSBibG9ja2NoYWluXG4gICAqIEByZXR1cm5zIHsgbnVtYmVyIHwgdW5kZWZpbmVkIH1cbiAgICovXG4gIHB1YmxpYyBnZXRCbG9ja0NoYWluTGFzdEhlaWdodCA9ICgpOiBudW1iZXIgfCB1bmRlZmluZWQgPT5cbiAgICB0aGlzLmJsb2NrQ2hhaW5MYXN0SGVpZ2h0O1xuXG4gIC8qKlxuICAgKiB3b3JrZXIgZnVuY3Rpb24gdGhhdCBydW5zIGZvciBzeW5jaW5nIHRoZSBkYXRhYmFzZSB3aXRoIHRoZSBDYXJkYW5vIGJsb2NrY2hhaW4gYW5kIGNoZWNrcyBpZiB3ZSBoYXZlIGFueSBmb3JrXG4gICAqIHNjZW5hcmlvIGluIHRoZSBibG9ja2NoYWluIGFuZCBpbnZhbGlkYXRlIHRoZSBkYXRhYmFzZSB0aWxsIHRoZSBkYXRhYmFzZSBzeW5jZWQgYWdhaW4uXG4gICAqL1xuICB1cGRhdGUgPSBhc3luYyAoKSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGxhdGVzdEhlaWdodCA9IGF3YWl0IHRoaXMubmV0d29yay5nZXRDdXJyZW50SGVpZ2h0KCk7XG4gICAgICBpZiAoXG4gICAgICAgICF0aGlzLmJsb2NrQ2hhaW5MYXN0SGVpZ2h0IHx8XG4gICAgICAgIHRoaXMuYmxvY2tDaGFpbkxhc3RIZWlnaHQgPCBsYXRlc3RIZWlnaHRcbiAgICAgIClcbiAgICAgICAgdGhpcy5ibG9ja0NoYWluTGFzdEhlaWdodCA9IGxhdGVzdEhlaWdodDtcblxuICAgICAgbGV0IGxhc3RTYXZlZEJsb2NrID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0TGFzdFNhdmVkQmxvY2soKTtcbiAgICAgIGlmICghbGFzdFNhdmVkQmxvY2spIHtcbiAgICAgICAgbGFzdFNhdmVkQmxvY2sgPSBhd2FpdCB0aGlzLmluaXRpYWxpemUoKTtcbiAgICAgIH0gZWxzZSBhd2FpdCB0aGlzLnZlcmlmeUV4dHJhY3RvcnNJbml0aWFsaXphdGlvbihsYXN0U2F2ZWRCbG9jayk7XG4gICAgICBpZiAoIShhd2FpdCB0aGlzLmlzRm9ya0hhcHBlbigpKSkge1xuICAgICAgICBhd2FpdCB0aGlzLnN0ZXBGb3J3YXJkKGxhc3RTYXZlZEJsb2NrKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIGF3YWl0IHRoaXMuc3RlcEJhY2t3YXJkKCk7XG4gICAgICB9XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyB1cGRhdGUgcHJvY2Vzcy4gJHtlfWApO1xuICAgIH1cbiAgfTtcbn1cblxuZXhwb3J0IHsgR2VuZXJhbFNjYW5uZXIgfTtcbiJdfQ==
@@ -1,7 +1,7 @@
1
1
  import { Mutex } from 'await-semaphore';
2
- import { Block, BlockInfo } from '@rosen-bridge/scanner-interfaces';
3
- import { AbstractLogger } from '@rosen-bridge/abstract-logger';
4
2
  import { AbstractExtractor } from '@rosen-bridge/abstract-extractor';
3
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
4
+ import { Block, BlockInfo } from '@rosen-bridge/scanner-interfaces';
5
5
  import { BlockDbAction } from '../action';
6
6
  export declare abstract class AbstractScanner<TransactionType> {
7
7
  action: BlockDbAction;
@@ -1 +1 @@
1
- {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../lib/scanner/abstract/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AACpE,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAE5E,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AAErE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,8BAAsB,eAAe,CAAC,eAAe;IACnD,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IACtD,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC;gBAEX,MAAM,CAAC,EAAE,cAAc;IAOnC,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAE5B;;;OAGG;IACH,SAAS,CAAC,SAAS,WAAkB,MAAM,mBAuBzC;IAEF;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,UACzB,KAAK,gBACE,MAAM,eAAe,CAAC,kDAyBpC;IAEF;;;OAGG;IACH,iBAAiB,cACJ,kBAAkB,eAAe,CAAC,KAC5C,QAAQ,IAAI,CAAC,CAmBd;IAEF;;;OAGG;IACH,eAAe,cACF,kBAAkB,eAAe,CAAC,KAC5C,QAAQ,IAAI,CAAC,CAQd;IAEF;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAkB1B;IAEF;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,UAAiB,SAAS,mBA2DhE;CACH"}
1
+ {"version":3,"file":"scanner.d.ts","sourceRoot":"","sources":["../../../lib/scanner/abstract/scanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAGxC,OAAO,EAAE,iBAAiB,EAAE,MAAM,kCAAkC,CAAC;AACrE,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,KAAK,EAAE,SAAS,EAAE,MAAM,kCAAkC,CAAC;AAEpE,OAAO,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE1C,8BAAsB,eAAe,CAAC,eAAe;IACnD,MAAM,EAAE,aAAa,CAAC;IACtB,UAAU,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IACtD,aAAa,EAAE,KAAK,CAAC,iBAAiB,CAAC,eAAe,CAAC,CAAC,CAAC;IACzD,MAAM,EAAE,cAAc,CAAC;IACvB,eAAe,EAAE,KAAK,CAAC;gBAEX,MAAM,CAAC,EAAE,cAAc;IAOnC,QAAQ,CAAC,IAAI,EAAE,MAAM,MAAM,CAAC;IAE5B;;;OAGG;IACH,SAAS,CAAC,SAAS,GAAU,QAAQ,MAAM,mBAuBzC;IAEF;;;;OAIG;IACH,SAAS,CAAC,wBAAwB,GAChC,OAAO,KAAK,EACZ,cAAc,KAAK,CAAC,eAAe,CAAC,kDAyBpC;IAEF;;;OAGG;IACH,iBAAiB,GACf,WAAW,iBAAiB,CAAC,eAAe,CAAC,KAC5C,OAAO,CAAC,IAAI,CAAC,CAmBd;IAEF;;;OAGG;IACH,eAAe,GACb,WAAW,iBAAiB,CAAC,eAAe,CAAC,KAC5C,OAAO,CAAC,IAAI,CAAC,CAQd;IAEF;;;;OAIG;IACH,OAAO,CAAC,oBAAoB,CAkB1B;IAEF;;;;OAIG;IACH,SAAS,CAAC,8BAA8B,GAAU,OAAO,SAAS,mBA2DhE;CACH"}
@@ -1,6 +1,6 @@
1
1
  import { Mutex } from 'await-semaphore';
2
- import { DummyLogger } from '@rosen-bridge/abstract-logger';
3
2
  import { difference, remove } from 'lodash-es';
3
+ import { DummyLogger } from '@rosen-bridge/abstract-logger';
4
4
  export class AbstractScanner {
5
5
  action;
6
6
  extractors;
@@ -151,4 +151,4 @@ export class AbstractScanner {
151
151
  throw new Error(`Initialization failed for new extractors ${getIds(this.newExtractors)}`);
152
152
  };
153
153
  }
154
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2FubmVyL2Fic3RyYWN0L3NjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhDLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFLL0MsTUFBTSxPQUFnQixlQUFlO0lBQ25DLE1BQU0sQ0FBZ0I7SUFDdEIsVUFBVSxDQUE0QztJQUN0RCxhQUFhLENBQTRDO0lBQ3pELE1BQU0sQ0FBaUI7SUFDdkIsZUFBZSxDQUFRO0lBRXZCLFlBQVksTUFBdUI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUlEOzs7T0FHRztJQUNPLFNBQVMsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFFLEVBQUU7UUFDN0MsSUFBSSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdEQsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixtQkFBbUIsU0FBUyxDQUFDLElBQUksY0FBYyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQ2xFLENBQUM7WUFDRixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJB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QUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU87WUFDVixNQUFNLElBQUksS0FBSyxDQUNiLDRDQUE0QyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQ3pFLENBQUM7SUFDTixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGV4IH0gZnJvbSAnYXdhaXQtc2VtYXBob3JlJztcbmltcG9ydCB7IEJsb2NrLCBCbG9ja0luZm8gfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBkaWZmZXJlbmNlLCByZW1vdmUgfSBmcm9tICdsb2Rhc2gtZXMnO1xuaW1wb3J0IHsgQWJzdHJhY3RFeHRyYWN0b3IgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWV4dHJhY3Rvcic7XG5cbmltcG9ydCB7IEJsb2NrRGJBY3Rpb24gfSBmcm9tICcuLi9hY3Rpb24nO1xuXG5leHBvcnQgYWJzdHJhY3QgY2xhc3MgQWJzdHJhY3RTY2FubmVyPFRyYW5zYWN0aW9uVHlwZT4ge1xuICBhY3Rpb246IEJsb2NrRGJBY3Rpb247XG4gIGV4dHJhY3RvcnM6IEFycmF5PEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uVHlwZT4+O1xuICBuZXdFeHRyYWN0b3JzOiBBcnJheTxBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvblR5cGU+PjtcbiAgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcbiAgaW5pdGlhbGl6ZU11dGV4OiBNdXRleDtcblxuICBjb25zdHJ1Y3Rvcihsb2dnZXI/OiBBYnN0cmFjdExvZ2dlcikge1xuICAgIHRoaXMuZXh0cmFjdG9ycyA9IFtdO1xuICAgIHRoaXMubmV3RXh0cmFjdG9ycyA9IFtdO1xuICAgIHRoaXMubG9nZ2VyID0gbG9nZ2VyID8gbG9nZ2VyIDogbmV3IER1bW15TG9nZ2VyKCk7XG4gICAgdGhpcy5pbml0aWFsaXplTXV0ZXggPSBuZXcgTXV0ZXgoKTtcbiAgfVxuXG4gIGFic3RyYWN0IG5hbWU6ICgpID0+IHN0cmluZztcblxuICAvKipcbiAgICogZm9yayBibG9ja3MgZnJvbSBzcGVjaWZpYyBoZWlnaHQgZnJvbSBzY2FubmVyLlxuICAgKiBAcGFyYW0gaGVpZ2h0OiBzZWxlY3RlZCBoZWlnaHRcbiAgICovXG4gIHByb3RlY3RlZCBmb3JrQmxvY2sgPSBhc3luYyAoaGVpZ2h0OiBudW1iZXIpID0+IHtcbiAgICBsZXQgbGFzdEJsb2NrID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0TGFzdFNhdmVkQmxvY2soKTtcbiAgICB3aGlsZSAobGFzdEJsb2NrICYmIGxhc3RCbG9jay5oZWlnaHQgPj0gaGVpZ2h0KSB7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYFJldmVydGluZyBibG9jayAke2xhc3RCbG9jay5oYXNofSBhdCBoZWlnaHQgJHtsYXN0QmxvY2suaGVpZ2h0fWAsXG4gICAgICApO1xuICAgICAgYXdhaXQgdGhpcy5hY3Rpb24ucmV2ZXJ0QmxvY2tTdGF0dXMoXG4gICAgICAgIGxhc3RCbG9jay5oZWlnaHQsXG4gICAgICAgIGxhc3RCbG9jay5wYXJlbnRIYXNoLFxuICAgICAgICB0aGlzLmV4dHJhY3RvcnMubWFwKChlKSA9PiBlLmdldElkKCkpLFxuICAgICAgKTtcbiAgICAgIGZvciAoY29uc3QgZXh0cmFjdG9yIG9mIHRoaXMuZXh0cmFjdG9ycykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGF3YWl0IGV4dHJhY3Rvci5mb3JrQmxvY2sobGFzdEJsb2NrLmhhc2gpO1xuICAgICAgICB9IGNhdGNoIChlKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICBgQW4gZXJyb3Igb2NjdXJyZWQgZHVyaW5nIGZvcmsgYmxvY2sgaW4gZXh0cmFjdG9yICR7ZXh0cmFjdG9yLmdldElkKCl9OiAke2V9YCxcbiAgICAgICAgICApO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBhd2FpdCB0aGlzLmFjdGlvbi5yZW1vdmVCbG9ja3NGcm9tSGVpZ2h0KGxhc3RCbG9jay5oZWlnaHQpO1xuICAgICAgbGFzdEJsb2NrID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0QmxvY2tBdEhlaWdodChsYXN0QmxvY2suaGVpZ2h0IC0gMSk7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBwcm9jZXNzIGEgYmxvY2sgYW5kIGFsbCBvZiBpdHMgdHJhbnNhY3Rpb25zLiBzdG9yZSBhbnkgaW5mb3JtYXRpb24gaW50byBkYXRhYmFzZVxuICAgKiBAcGFyYW0gYmxvY2s6IHNlbGVjdGVkIGJsb2NrXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnM6IGxpc3Qgb2YgdHJhbnNhY3Rpb24gZm9yIHNlbGVjdGVkIGJsb2NrXG4gICAqL1xuICBwcm90ZWN0ZWQgcHJvY2Vzc0Jsb2NrVHJhbnNhY3Rpb25zID0gYXN5bmMgKFxuICAgIGJsb2NrOiBCbG9jayxcbiAgICB0cmFuc2FjdGlvbnM6IEFycmF5PFRyYW5zYWN0aW9uVHlwZT4sXG4gICkgPT4ge1xuICAgIGNvbnN0IHNhdmVkQmxvY2sgPSBhd2FpdCB0aGlzLmFjdGlvbi5zYXZlQmxvY2soYmxvY2spO1xuICAgIGlmICh0eXBlb2Ygc2F2ZWRCbG9jayA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBmb3IgKGNvbnN0IGV4dHJhY3RvciBvZiB0aGlzLmV4dHJhY3RvcnMpIHtcbiAgICAgIGlmICghKGF3YWl0IGV4dHJhY3Rvci5wcm9jZXNzVHJhbnNhY3Rpb25zKHRyYW5zYWN0aW9ucywgc2F2ZWRCbG9jaykpKSB7XG4gICAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICAgICAgYnJlYWs7XG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKFxuICAgICAgc3VjY2VzcyAmJlxuICAgICAgKGF3YWl0IHRoaXMuYWN0aW9uLnVwZGF0ZUJsb2NrU3RhdHVzKFxuICAgICAgICBibG9jay5oZWlnaHQsXG4gICAgICAgIGJsb2NrLmhhc2gsXG4gICAgICAgIHRoaXMuZXh0cmFjdG9ycy5tYXAoKGUpID0+IGUuZ2V0SWQoKSksXG4gICAgICApKVxuICAgICkge1xuICAgICAgcmV0dXJuIHNhdmVkQmxvY2s7XG4gICAgfVxuICAgIHJldHVybiBmYWxzZTtcbiAgfTtcblxuICAvKipcbiAgICogcmVnaXN0ZXIgYSBucmUgZXh0cmFjdG9yIHRvIHNjYW5uZXIuXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHJlZ2lzdGVyRXh0cmFjdG9yID0gYXN5bmMgKFxuICAgIGV4dHJhY3RvcjogQWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb25UeXBlPixcbiAgKTogUHJvbWlzZTx2b2lkPiA9PiB7XG4gICAgY29uc3Qgbm90UmVnaXN0ZXJlZEluID0gKFxuICAgICAgZXh0cmFjdG9yczogQXJyYXk8QWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb25UeXBlPj4sXG4gICAgKSA9PlxuICAgICAgZXh0cmFjdG9ycy5maWx0ZXIoXG4gICAgICAgIChleHRyYWN0b3JJdGVtKSA9PiBleHRyYWN0b3JJdGVtLmdldElkKCkgPT09IGV4dHJhY3Rvci5nZXRJZCgpLFxuICAgICAgKS5sZW5ndGggPT09IDA7XG4gICAgY29uc3QgcmVsZWFzZSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZU11dGV4LmFjcXVpcmUoKTtcbiAgICBpZiAoXG4gICAgICBub3RSZWdpc3RlcmVkSW4odGhpcy5leHRyYWN0b3JzKSAmJlxuICAgICAgbm90UmVnaXN0ZXJlZEluKHRoaXMubmV3RXh0cmFjdG9ycylcbiAgICApIHtcbiAgICAgIHRoaXMubmV3RXh0cmFjdG9ycy5wdXNoKGV4dHJhY3Rvcik7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgIGBFeHRyYWN0b3Igd2l0aCBpZCAke2V4dHJhY3Rvci5nZXRJZCgpfSBpcyBhbHJlYWR5IHJlZ2lzdGVyZWRgLFxuICAgICAgKTtcbiAgICB9XG4gICAgcmVsZWFzZSgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiByZW1vdmUgYW4gZXh0cmFjdG9yIGZyb20gc2Nhbm5lclxuICAgKiBAcGFyYW0gZXh0cmFjdG9yXG4gICAqL1xuICByZW1vdmVFeHRyYWN0b3IgPSBhc3luYyAoXG4gICAgZXh0cmFjdG9yOiBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvblR5cGU+LFxuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCByZW1vdmVGbiA9IChleDogQWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb25UeXBlPikgPT5cbiAgICAgIGV4LmdldElkKCkgPT09IGV4dHJhY3Rvci5nZXRJZCgpO1xuXG4gICAgY29uc3QgcmVsZWFzZSA9IGF3YWl0IHRoaXMuaW5pdGlhbGl6ZU11dGV4LmFjcXVpcmUoKTtcbiAgICByZW1vdmUodGhpcy5leHRyYWN0b3JzLCByZW1vdmVGbik7XG4gICAgcmVtb3ZlKHRoaXMubmV3RXh0cmFjdG9ycywgcmVtb3ZlRm4pO1xuICAgIHJlbGVhc2UoKTtcbiAgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZSBhbGwgc3BlY2lmaWVkIGV4dHJhY3RvcnMgYW5kIHN0b3JlIHRoZSB1cGRhdGVkIHN0YXR1c1xuICAgKiBAcGFyYW0gZXh0cmFjdG9ySWRzXG4gICAqIEBwYXJhbSBoZWlnaHRcbiAgICovXG4gIHByaXZhdGUgaW5pdGlhbGl6ZUV4dHJhY3RvcnMgPSBhc3luYyAoXG4gICAgZXh0cmFjdG9ySWRzOiBzdHJpbmdbXSxcbiAgICBibG9jazogQmxvY2tJbmZvLFxuICApID0+IHtcbiAgICBjb25zdCBhbGxFeHRyYWN0b3JzID0gWy4uLnRoaXMuZXh0cmFjdG9ycywgLi4udGhpcy5uZXdFeHRyYWN0b3JzXTtcbiAgICBjb25zdCBpbml0UmVxdWlyZWRFeHRyYWN0b3JzID0gYWxsRXh0cmFjdG9ycy5maWx0ZXIoKGV4dHJhY3RvcikgPT5cbiAgICAgIGV4dHJhY3Rvcklkcy5pbmNsdWRlcyhleHRyYWN0b3IuZ2V0SWQoKSksXG4gICAgKTtcbiAgICBmb3IgKGNvbnN0IGV4dHJhY3RvciBvZiBpbml0UmVxdWlyZWRFeHRyYWN0b3JzKSB7XG4gICAgICB0aGlzLmxvZ2dlci5pbmZvKGBJbml0aWFsaXppbmcgWyR7ZXh0cmFjdG9yLmdldElkKCl9XSBib3hlc2ApO1xuICAgICAgYXdhaXQgZXh0cmFjdG9yLmluaXRpYWxpemVCb3hlcyhibG9jayk7XG4gICAgICBhd2FpdCB0aGlzLmFjdGlvbi51cGRhdGVPckluc2VydEV4dHJhY3RvclN0YXR1cyhcbiAgICAgICAgZXh0cmFjdG9yLmdldElkKCksXG4gICAgICAgIGJsb2NrLmhlaWdodCxcbiAgICAgICAgYmxvY2suaGFzaCxcbiAgICAgICk7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgSW5pdGlhbGl6YXRpb24gZmluaXNoZWQgZm9yIFske2V4dHJhY3Rvci5nZXRJZCgpfV1gKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIEluaXRpYWxpemVzIHRoZSBleHRyYWN0b3JzIGlmIHRoZXkncmUgbm90IHN5bmNlZCBvciBub3QgaW5pdGlhbGl6ZWQgeWV0LFxuICAgKiBhbmQgdXBkYXRlIHRoZSBhY3RpdmUgZXh0cmFjdG9ycyBsaXN0XG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgcHJvdGVjdGVkIHZlcmlmeUV4dHJhY3RvcnNJbml0aWFsaXphdGlvbiA9IGFzeW5jIChibG9jazogQmxvY2tJbmZvKSA9PiB7XG4gICAgY29uc3QgZ2V0SWRzID0gKGV4dHJhY3RvcnM6IEFycmF5PEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uVHlwZT4+KSA9PiB7XG4gICAgICByZXR1cm4gZXh0cmFjdG9ycy5tYXAoKGV4dHJhY3RvcikgPT4gZXh0cmFjdG9yLmdldElkKCkpO1xuICAgIH07XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoYEluaXRpYWxpemluZyBleHRyYWN0b3JzIGZvciBibG9jayBbJHtibG9jay5oZWlnaHR9XWApO1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgdGhpcy5pbml0aWFsaXplTXV0ZXguYWNxdWlyZSgpO1xuICAgIHRyeSB7XG4gICAgICBjb25zdCBleHRyYWN0b3JzU3RhdHVzID0gYXdhaXQgdGhpcy5hY3Rpb24uZ2V0RXh0cmFjdG9yc1N0YXR1cyhbXG4gICAgICAgIC4uLmdldElkcyh0aGlzLmV4dHJhY3RvcnMpLFxuICAgICAgICAuLi5nZXRJZHModGhpcy5uZXdFeHRyYWN0b3JzKSxcbiAgICAgIF0pO1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBTdG9yZWQgZXh0cmFjdG9ycyBzdGF0dXMgYXJlIFske0pTT04uc3RyaW5naWZ5KGV4dHJhY3RvcnNTdGF0dXMpfV1gLFxuICAgICAgKTtcbiAgICAgIC8vIEZpbmQgZXh0cmFjdG9ycyBub3Qgc3luY2VkIHdpdGggdGhlIGxhdGVzdCBoZWlnaHRcbiAgICAgIGNvbnN0IG5vdFN5bmNlZEV4dHJhY3RvcklkcyA9IGV4dHJhY3RvcnNTdGF0dXNcbiAgICAgICAgLmZpbHRlcigoZXMpID0+IGVzLnVwZGF0ZUJsb2NrSGFzaCAhPSBibG9jay5oYXNoKVxuICAgICAgICAubWFwKChlcykgPT4gZXMuZXh0cmFjdG9ySWQpO1xuICAgICAgaWYgKG5vdFN5bmNlZEV4dHJhY3Rvcklkcy5sZW5ndGggPiAwKVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgT2xkIG5vdCBzeW5jZWQgZXh0cmFjdG9ycyBhcmUgJHtub3RTeW5jZWRFeHRyYWN0b3JJZHN9YCxcbiAgICAgICAgKTtcbiAgICAgIC8vIEZpbmQgbmV3IGV4dHJhY3RvcnMgbm90IGF2YWlsYWJsZSBpbiBkYXRhYmFzZVxuICAgICAgY29uc3Qgc3RvcmVkRXh0cmFjdG9ySWRzID0gZXh0cmFjdG9yc1N0YXR1cy5tYXAoKGVzKSA9PiBlcy5leHRyYWN0b3JJZCk7XG4gICAgICBjb25zdCBuZXdSZWdpc3RlcmVkRXh0cmFjdG9ySWRzID0gZGlmZmVyZW5jZShcbiAgICAgICAgZ2V0SWRzKHRoaXMubmV3RXh0cmFjdG9ycyksXG4gICAgICAgIHN0b3JlZEV4dHJhY3RvcklkcyxcbiAgICAgICk7XG4gICAgICBpZiAobmV3UmVnaXN0ZXJlZEV4dHJhY3Rvcklkcy5sZW5ndGggPiAwKVxuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgTmV3IHJlZ2lzdGVyZWQgZXh0cmFjdG9ycyBhcmUgJHtuZXdSZWdpc3RlcmVkRXh0cmFjdG9ySWRzfWAsXG4gICAgICAgICk7XG4gICAgICAvLyBJbml0aWFsaXplIHJlcXVpcmVkIGV4dHJhY3RvcnNcbiAgICAgIGNvbnN0IGluaXRSZXF1aXJlZEV4dHJhY3RvcnMgPSBbXG4gICAgICAgIC4uLm5ld1JlZ2lzdGVyZWRFeHRyYWN0b3JJZHMsXG4gICAgICAgIC4uLm5vdFN5bmNlZEV4dHJhY3RvcklkcyxcbiAgICAgIF07XG4gICAgICBpZiAoaW5pdFJlcXVpcmVkRXh0cmFjdG9ycy5sZW5ndGggPiAwKSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmluZm8oXG4gICAgICAgICAgYEluaXRpYWxpemluZyAke1xuICAgICAgICAgICAgaW5pdFJlcXVpcmVkRXh0cmFjdG9ycy5sZW5ndGhcbiAgICAgICAgICB9IGV4dHJhY3RvcihzKSBmb3IgWyR7dGhpcy5uYW1lKCl9XWAsXG4gICAgICAgICAgeyBpbml0UmVxdWlyZWRFeHRyYWN0b3JzIH0sXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRoaXMuaW5pdGlhbGl6ZUV4dHJhY3RvcnMoaW5pdFJlcXVpcmVkRXh0cmFjdG9ycywgYmxvY2spO1xuICAgICAgfVxuICAgICAgdGhpcy5leHRyYWN0b3JzLnB1c2goLi4udGhpcy5uZXdFeHRyYWN0b3JzKTtcbiAgICAgIHRoaXMubmV3RXh0cmFjdG9ycyA9IFtdO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIHRoaXMubG9nZ2VyLndhcm4oYEluaXRpYWxpemF0aW9uIGZvciBleHRyYWN0b3JzIGZhaWxlZCB3aXRoIGVycm9yICR7ZX1gKTtcbiAgICAgIHN1Y2Nlc3MgPSBmYWxzZTtcbiAgICB9IGZpbmFsbHkge1xuICAgICAgcmVsZWFzZSgpO1xuICAgIH1cbiAgICBpZiAoIXN1Y2Nlc3MpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBJbml0aWFsaXphdGlvbiBmYWlsZWQgZm9yIG5ldyBleHRyYWN0b3JzICR7Z2V0SWRzKHRoaXMubmV3RXh0cmFjdG9ycyl9YCxcbiAgICAgICk7XG4gIH07XG59XG4iXX0=
154
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2FubmVyL2Fic3RyYWN0L3NjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3hDLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFLE1BQU0sV0FBVyxDQUFDO0FBRy9DLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFLNUUsTUFBTSxPQUFnQixlQUFlO0lBQ25DLE1BQU0sQ0FBZ0I7SUFDdEIsVUFBVSxDQUE0QztJQUN0RCxhQUFhLENBQTRDO0lBQ3pELE1BQU0sQ0FBaUI7SUFDdkIsZUFBZSxDQUFRO0lBRXZCLFlBQVksTUFBdUI7UUFDakMsSUFBSSxDQUFDLFVBQVUsR0FBRyxFQUFFLENBQUM7UUFDckIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsSUFBSSxXQUFXLEVBQUUsQ0FBQztRQUNsRCxJQUFJLENBQUMsZUFBZSxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFDckMsQ0FBQztJQUlEOzs7T0FHRztJQUNPLFNBQVMsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUFFLEVBQUU7UUFDN0MsSUFBSSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDdEQsT0FBTyxTQUFTLElBQUksU0FBUyxDQUFDLE1BQU0sSUFBSSxNQUFNLEVBQUUsQ0FBQztZQUMvQyxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZixtQkFBbUIsU0FBUyxDQUFDLElBQUksY0FBYyxTQUFTLENBQUMsTUFBTSxFQUFFLENBQ2xFLENBQUM7WUFDRixNQUFNLElBQUksQ0FBQyxNQUFNLENBQUMsaUJB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QUM1QyxJQUFJLENBQUMsYUFBYSxHQUFHLEVBQUUsQ0FBQztRQUMxQixDQUFDO1FBQUMsT0FBTyxDQUFDLEVBQUUsQ0FBQztZQUNYLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLG1EQUFtRCxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ3pFLE9BQU8sR0FBRyxLQUFLLENBQUM7UUFDbEIsQ0FBQztnQkFBUyxDQUFDO1lBQ1QsT0FBTyxFQUFFLENBQUM7UUFDWixDQUFDO1FBQ0QsSUFBSSxDQUFDLE9BQU87WUFDVixNQUFNLElBQUksS0FBSyxDQUNiLDRDQUE0QyxNQUFNLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxFQUFFLENBQ3pFLENBQUM7SUFDTixDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGV4IH0gZnJvbSAnYXdhaXQtc2VtYXBob3JlJztcbmltcG9ydCB7IGRpZmZlcmVuY2UsIHJlbW92ZSB9IGZyb20gJ2xvZGFzaC1lcyc7XG5cbmltcG9ydCB7IEFic3RyYWN0RXh0cmFjdG9yIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1leHRyYWN0b3InO1xuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHsgQmxvY2ssIEJsb2NrSW5mbyB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQmxvY2tEYkFjdGlvbiB9IGZyb20gJy4uL2FjdGlvbic7XG5cbmV4cG9ydCBhYnN0cmFjdCBjbGFzcyBBYnN0cmFjdFNjYW5uZXI8VHJhbnNhY3Rpb25UeXBlPiB7XG4gIGFjdGlvbjogQmxvY2tEYkFjdGlvbjtcbiAgZXh0cmFjdG9yczogQXJyYXk8QWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb25UeXBlPj47XG4gIG5ld0V4dHJhY3RvcnM6IEFycmF5PEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uVHlwZT4+O1xuICBsb2dnZXI6IEFic3RyYWN0TG9nZ2VyO1xuICBpbml0aWFsaXplTXV0ZXg6IE11dGV4O1xuXG4gIGNvbnN0cnVjdG9yKGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyKSB7XG4gICAgdGhpcy5leHRyYWN0b3JzID0gW107XG4gICAgdGhpcy5uZXdFeHRyYWN0b3JzID0gW107XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXIgPyBsb2dnZXIgOiBuZXcgRHVtbXlMb2dnZXIoKTtcbiAgICB0aGlzLmluaXRpYWxpemVNdXRleCA9IG5ldyBNdXRleCgpO1xuICB9XG5cbiAgYWJzdHJhY3QgbmFtZTogKCkgPT4gc3RyaW5nO1xuXG4gIC8qKlxuICAgKiBmb3JrIGJsb2NrcyBmcm9tIHNwZWNpZmljIGhlaWdodCBmcm9tIHNjYW5uZXIuXG4gICAqIEBwYXJhbSBoZWlnaHQ6IHNlbGVjdGVkIGhlaWdodFxuICAgKi9cbiAgcHJvdGVjdGVkIGZvcmtCbG9jayA9IGFzeW5jIChoZWlnaHQ6IG51bWJlcikgPT4ge1xuICAgIGxldCBsYXN0QmxvY2sgPSBhd2FpdCB0aGlzLmFjdGlvbi5nZXRMYXN0U2F2ZWRCbG9jaygpO1xuICAgIHdoaWxlIChsYXN0QmxvY2sgJiYgbGFzdEJsb2NrLmhlaWdodCA+PSBoZWlnaHQpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICBgUmV2ZXJ0aW5nIGJsb2NrICR7bGFzdEJsb2NrLmhhc2h9IGF0IGhlaWdodCAke2xhc3RCbG9jay5oZWlnaHR9YCxcbiAgICAgICk7XG4gICAgICBhd2FpdCB0aGlzLmFjdGlvbi5yZXZlcnRCbG9ja1N0YXR1cyhcbiAgICAgICAgbGFzdEJsb2NrLmhlaWdodCxcbiAgICAgICAgbGFzdEJsb2NrLnBhcmVudEhhc2gsXG4gICAgICAgIHRoaXMuZXh0cmFjdG9ycy5tYXAoKGUpID0+IGUuZ2V0SWQoKSksXG4gICAgICApO1xuICAgICAgZm9yIChjb25zdCBleHRyYWN0b3Igb2YgdGhpcy5leHRyYWN0b3JzKSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgYXdhaXQgZXh0cmFjdG9yLmZvcmtCbG9jayhsYXN0QmxvY2suaGFzaCk7XG4gICAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgIGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgZm9yayBibG9jayBpbiBleHRyYWN0b3IgJHtleHRyYWN0b3IuZ2V0SWQoKX06ICR7ZX1gLFxuICAgICAgICAgICk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGF3YWl0IHRoaXMuYWN0aW9uLnJlbW92ZUJsb2Nrc0Zyb21IZWlnaHQobGFzdEJsb2NrLmhlaWdodCk7XG4gICAgICBsYXN0QmxvY2sgPSBhd2FpdCB0aGlzLmFjdGlvbi5nZXRCbG9ja0F0SGVpZ2h0KGxhc3RCbG9jay5oZWlnaHQgLSAxKTtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIHByb2Nlc3MgYSBibG9jayBhbmQgYWxsIG9mIGl0cyB0cmFuc2FjdGlvbnMuIHN0b3JlIGFueSBpbmZvcm1hdGlvbiBpbnRvIGRhdGFiYXNlXG4gICAqIEBwYXJhbSBibG9jazogc2VsZWN0ZWQgYmxvY2tcbiAgICogQHBhcmFtIHRyYW5zYWN0aW9uczogbGlzdCBvZiB0cmFuc2FjdGlvbiBmb3Igc2VsZWN0ZWQgYmxvY2tcbiAgICovXG4gIHByb3RlY3RlZCBwcm9jZXNzQmxvY2tUcmFuc2FjdGlvbnMgPSBhc3luYyAoXG4gICAgYmxvY2s6IEJsb2NrLFxuICAgIHRyYW5zYWN0aW9uczogQXJyYXk8VHJhbnNhY3Rpb25UeXBlPixcbiAgKSA9PiB7XG4gICAgY29uc3Qgc2F2ZWRCbG9jayA9IGF3YWl0IHRoaXMuYWN0aW9uLnNhdmVCbG9jayhibG9jayk7XG4gICAgaWYgKHR5cGVvZiBzYXZlZEJsb2NrID09PSAnYm9vbGVhbicpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICAgIGZvciAoY29uc3QgZXh0cmFjdG9yIG9mIHRoaXMuZXh0cmFjdG9ycykge1xuICAgICAgaWYgKCEoYXdhaXQgZXh0cmFjdG9yLnByb2Nlc3NUcmFuc2FjdGlvbnModHJhbnNhY3Rpb25zLCBzYXZlZEJsb2NrKSkpIHtcbiAgICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgICAgICBicmVhaztcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoXG4gICAgICBzdWNjZXNzICYmXG4gICAgICAoYXdhaXQgdGhpcy5hY3Rpb24udXBkYXRlQmxvY2tTdGF0dXMoXG4gICAgICAgIGJsb2NrLmhlaWdodCxcbiAgICAgICAgYmxvY2suaGFzaCxcbiAgICAgICAgdGhpcy5leHRyYWN0b3JzLm1hcCgoZSkgPT4gZS5nZXRJZCgpKSxcbiAgICAgICkpXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2F2ZWRCbG9jaztcbiAgICB9XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIC8qKlxuICAgKiByZWdpc3RlciBhIG5yZSBleHRyYWN0b3IgdG8gc2Nhbm5lci5cbiAgICogQHBhcmFtIGV4dHJhY3RvclxuICAgKi9cbiAgcmVnaXN0ZXJFeHRyYWN0b3IgPSBhc3luYyAoXG4gICAgZXh0cmFjdG9yOiBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvblR5cGU+LFxuICApOiBQcm9taXNlPHZvaWQ+ID0+IHtcbiAgICBjb25zdCBub3RSZWdpc3RlcmVkSW4gPSAoXG4gICAgICBleHRyYWN0b3JzOiBBcnJheTxBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvblR5cGU+PixcbiAgICApID0+XG4gICAgICBleHRyYWN0b3JzLmZpbHRlcihcbiAgICAgICAgKGV4dHJhY3Rvckl0ZW0pID0+IGV4dHJhY3Rvckl0ZW0uZ2V0SWQoKSA9PT0gZXh0cmFjdG9yLmdldElkKCksXG4gICAgICApLmxlbmd0aCA9PT0gMDtcbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgdGhpcy5pbml0aWFsaXplTXV0ZXguYWNxdWlyZSgpO1xuICAgIGlmIChcbiAgICAgIG5vdFJlZ2lzdGVyZWRJbih0aGlzLmV4dHJhY3RvcnMpICYmXG4gICAgICBub3RSZWdpc3RlcmVkSW4odGhpcy5uZXdFeHRyYWN0b3JzKVxuICAgICkge1xuICAgICAgdGhpcy5uZXdFeHRyYWN0b3JzLnB1c2goZXh0cmFjdG9yKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgYEV4dHJhY3RvciB3aXRoIGlkICR7ZXh0cmFjdG9yLmdldElkKCl9IGlzIGFscmVhZHkgcmVnaXN0ZXJlZGAsXG4gICAgICApO1xuICAgIH1cbiAgICByZWxlYXNlKCk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHJlbW92ZSBhbiBleHRyYWN0b3IgZnJvbSBzY2FubmVyXG4gICAqIEBwYXJhbSBleHRyYWN0b3JcbiAgICovXG4gIHJlbW92ZUV4dHJhY3RvciA9IGFzeW5jIChcbiAgICBleHRyYWN0b3I6IEFic3RyYWN0RXh0cmFjdG9yPFRyYW5zYWN0aW9uVHlwZT4sXG4gICk6IFByb21pc2U8dm9pZD4gPT4ge1xuICAgIGNvbnN0IHJlbW92ZUZuID0gKGV4OiBBYnN0cmFjdEV4dHJhY3RvcjxUcmFuc2FjdGlvblR5cGU+KSA9PlxuICAgICAgZXguZ2V0SWQoKSA9PT0gZXh0cmFjdG9yLmdldElkKCk7XG5cbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgdGhpcy5pbml0aWFsaXplTXV0ZXguYWNxdWlyZSgpO1xuICAgIHJlbW92ZSh0aGlzLmV4dHJhY3RvcnMsIHJlbW92ZUZuKTtcbiAgICByZW1vdmUodGhpcy5uZXdFeHRyYWN0b3JzLCByZW1vdmVGbik7XG4gICAgcmVsZWFzZSgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBJbml0aWFsaXplIGFsbCBzcGVjaWZpZWQgZXh0cmFjdG9ycyBhbmQgc3RvcmUgdGhlIHVwZGF0ZWQgc3RhdHVzXG4gICAqIEBwYXJhbSBleHRyYWN0b3JJZHNcbiAgICogQHBhcmFtIGhlaWdodFxuICAgKi9cbiAgcHJpdmF0ZSBpbml0aWFsaXplRXh0cmFjdG9ycyA9IGFzeW5jIChcbiAgICBleHRyYWN0b3JJZHM6IHN0cmluZ1tdLFxuICAgIGJsb2NrOiBCbG9ja0luZm8sXG4gICkgPT4ge1xuICAgIGNvbnN0IGFsbEV4dHJhY3RvcnMgPSBbLi4udGhpcy5leHRyYWN0b3JzLCAuLi50aGlzLm5ld0V4dHJhY3RvcnNdO1xuICAgIGNvbnN0IGluaXRSZXF1aXJlZEV4dHJhY3RvcnMgPSBhbGxFeHRyYWN0b3JzLmZpbHRlcigoZXh0cmFjdG9yKSA9PlxuICAgICAgZXh0cmFjdG9ySWRzLmluY2x1ZGVzKGV4dHJhY3Rvci5nZXRJZCgpKSxcbiAgICApO1xuICAgIGZvciAoY29uc3QgZXh0cmFjdG9yIG9mIGluaXRSZXF1aXJlZEV4dHJhY3RvcnMpIHtcbiAgICAgIHRoaXMubG9nZ2VyLmluZm8oYEluaXRpYWxpemluZyBbJHtleHRyYWN0b3IuZ2V0SWQoKX1dIGJveGVzYCk7XG4gICAgICBhd2FpdCBleHRyYWN0b3IuaW5pdGlhbGl6ZUJveGVzKGJsb2NrKTtcbiAgICAgIGF3YWl0IHRoaXMuYWN0aW9uLnVwZGF0ZU9ySW5zZXJ0RXh0cmFjdG9yU3RhdHVzKFxuICAgICAgICBleHRyYWN0b3IuZ2V0SWQoKSxcbiAgICAgICAgYmxvY2suaGVpZ2h0LFxuICAgICAgICBibG9jay5oYXNoLFxuICAgICAgKTtcbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBJbml0aWFsaXphdGlvbiBmaW5pc2hlZCBmb3IgWyR7ZXh0cmFjdG9yLmdldElkKCl9XWApO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogSW5pdGlhbGl6ZXMgdGhlIGV4dHJhY3RvcnMgaWYgdGhleSdyZSBub3Qgc3luY2VkIG9yIG5vdCBpbml0aWFsaXplZCB5ZXQsXG4gICAqIGFuZCB1cGRhdGUgdGhlIGFjdGl2ZSBleHRyYWN0b3JzIGxpc3RcbiAgICogQHBhcmFtIGJsb2NrXG4gICAqL1xuICBwcm90ZWN0ZWQgdmVyaWZ5RXh0cmFjdG9yc0luaXRpYWxpemF0aW9uID0gYXN5bmMgKGJsb2NrOiBCbG9ja0luZm8pID0+IHtcbiAgICBjb25zdCBnZXRJZHMgPSAoZXh0cmFjdG9yczogQXJyYXk8QWJzdHJhY3RFeHRyYWN0b3I8VHJhbnNhY3Rpb25UeXBlPj4pID0+IHtcbiAgICAgIHJldHVybiBleHRyYWN0b3JzLm1hcCgoZXh0cmFjdG9yKSA9PiBleHRyYWN0b3IuZ2V0SWQoKSk7XG4gICAgfTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgSW5pdGlhbGl6aW5nIGV4dHJhY3RvcnMgZm9yIGJsb2NrIFske2Jsb2NrLmhlaWdodH1dYCk7XG4gICAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICAgIGNvbnN0IHJlbGVhc2UgPSBhd2FpdCB0aGlzLmluaXRpYWxpemVNdXRleC5hY3F1aXJlKCk7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGV4dHJhY3RvcnNTdGF0dXMgPSBhd2FpdCB0aGlzLmFjdGlvbi5nZXRFeHRyYWN0b3JzU3RhdHVzKFtcbiAgICAgICAgLi4uZ2V0SWRzKHRoaXMuZXh0cmFjdG9ycyksXG4gICAgICAgIC4uLmdldElkcyh0aGlzLm5ld0V4dHJhY3RvcnMpLFxuICAgICAgXSk7XG4gICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgYFN0b3JlZCBleHRyYWN0b3JzIHN0YXR1cyBhcmUgWyR7SlNPTi5zdHJpbmdpZnkoZXh0cmFjdG9yc1N0YXR1cyl9XWAsXG4gICAgICApO1xuICAgICAgLy8gRmluZCBleHRyYWN0b3JzIG5vdCBzeW5jZWQgd2l0aCB0aGUgbGF0ZXN0IGhlaWdodFxuICAgICAgY29uc3Qgbm90U3luY2VkRXh0cmFjdG9ySWRzID0gZXh0cmFjdG9yc1N0YXR1c1xuICAgICAgICAuZmlsdGVyKChlcykgPT4gZXMudXBkYXRlQmxvY2tIYXNoICE9IGJsb2NrLmhhc2gpXG4gICAgICAgIC5tYXAoKGVzKSA9PiBlcy5leHRyYWN0b3JJZCk7XG4gICAgICBpZiAobm90U3luY2VkRXh0cmFjdG9ySWRzLmxlbmd0aCA+IDApXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBPbGQgbm90IHN5bmNlZCBleHRyYWN0b3JzIGFyZSAke25vdFN5bmNlZEV4dHJhY3Rvcklkc31gLFxuICAgICAgICApO1xuICAgICAgLy8gRmluZCBuZXcgZXh0cmFjdG9ycyBub3QgYXZhaWxhYmxlIGluIGRhdGFiYXNlXG4gICAgICBjb25zdCBzdG9yZWRFeHRyYWN0b3JJZHMgPSBleHRyYWN0b3JzU3RhdHVzLm1hcCgoZXMpID0+IGVzLmV4dHJhY3RvcklkKTtcbiAgICAgIGNvbnN0IG5ld1JlZ2lzdGVyZWRFeHRyYWN0b3JJZHMgPSBkaWZmZXJlbmNlKFxuICAgICAgICBnZXRJZHModGhpcy5uZXdFeHRyYWN0b3JzKSxcbiAgICAgICAgc3RvcmVkRXh0cmFjdG9ySWRzLFxuICAgICAgKTtcbiAgICAgIGlmIChuZXdSZWdpc3RlcmVkRXh0cmFjdG9ySWRzLmxlbmd0aCA+IDApXG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBOZXcgcmVnaXN0ZXJlZCBleHRyYWN0b3JzIGFyZSAke25ld1JlZ2lzdGVyZWRFeHRyYWN0b3JJZHN9YCxcbiAgICAgICAgKTtcbiAgICAgIC8vIEluaXRpYWxpemUgcmVxdWlyZWQgZXh0cmFjdG9yc1xuICAgICAgY29uc3QgaW5pdFJlcXVpcmVkRXh0cmFjdG9ycyA9IFtcbiAgICAgICAgLi4ubmV3UmVnaXN0ZXJlZEV4dHJhY3RvcklkcyxcbiAgICAgICAgLi4ubm90U3luY2VkRXh0cmFjdG9ySWRzLFxuICAgICAgXTtcbiAgICAgIGlmIChpbml0UmVxdWlyZWRFeHRyYWN0b3JzLmxlbmd0aCA+IDApIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgICAgICBgSW5pdGlhbGl6aW5nICR7XG4gICAgICAgICAgICBpbml0UmVxdWlyZWRFeHRyYWN0b3JzLmxlbmd0aFxuICAgICAgICAgIH0gZXh0cmFjdG9yKHMpIGZvciBbJHt0aGlzLm5hbWUoKX1dYCxcbiAgICAgICAgICB7IGluaXRSZXF1aXJlZEV4dHJhY3RvcnMgfSxcbiAgICAgICAgKTtcbiAgICAgICAgYXdhaXQgdGhpcy5pbml0aWFsaXplRXh0cmFjdG9ycyhpbml0UmVxdWlyZWRFeHRyYWN0b3JzLCBibG9jayk7XG4gICAgICB9XG4gICAgICB0aGlzLmV4dHJhY3RvcnMucHVzaCguLi50aGlzLm5ld0V4dHJhY3RvcnMpO1xuICAgICAgdGhpcy5uZXdFeHRyYWN0b3JzID0gW107XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgdGhpcy5sb2dnZXIud2FybihgSW5pdGlhbGl6YXRpb24gZm9yIGV4dHJhY3RvcnMgZmFpbGVkIHdpdGggZXJyb3IgJHtlfWApO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICByZWxlYXNlKCk7XG4gICAgfVxuICAgIGlmICghc3VjY2VzcylcbiAgICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgICAgYEluaXRpYWxpemF0aW9uIGZhaWxlZCBmb3IgbmV3IGV4dHJhY3RvcnMgJHtnZXRJZHModGhpcy5uZXdFeHRyYWN0b3JzKX1gLFxuICAgICAgKTtcbiAgfTtcbn1cbiJdfQ==
@@ -1,7 +1,7 @@
1
- import { AbstractScanner } from './scanner';
2
- import { Block } from '@rosen-bridge/scanner-interfaces';
3
1
  import { Mutex } from 'await-semaphore';
4
2
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
3
+ import { Block } from '@rosen-bridge/scanner-interfaces';
4
+ import { AbstractScanner } from './scanner';
5
5
  declare abstract class WebSocketScanner<TransactionType> extends AbstractScanner<TransactionType> {
6
6
  protected scannerName: string;
7
7
  protected suffix?: string | undefined;
@@ -1 +1 @@
1
- {"version":3,"file":"webSocketScanner.d.ts","sourceRoot":"","sources":["../../../lib/scanner/abstract/webSocketScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAI/D,uBAAe,gBAAgB,CAC7B,eAAe,CACf,SAAQ,eAAe,CAAC,eAAe,CAAC;IAMtC,SAAS,CAAC,WAAW,EAAE,MAAM;IAG7B,SAAS,CAAC,MAAM,CAAC;IARnB,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,KAAK,QAAe;IAE9B,SAAS,aACG,WAAW,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,cAAc,EACvB,WAAW,GAAE,MAA8B,EACjC,MAAM,CAAC,oBAAQ;IAK3B,IAAI,eAAmE;IAEvE,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,SAAS,CAAC,kBAAkB,OACtB,MAAM,QAAQ,OAAO,CAAC,OACrB,MAAM,KACV,QAAQ,OAAO,CAAC,CAUjB;IAEF;;;;;OAKG;IACH,SAAS,CAAC,WAAW,UACZ,KAAK,gBACE,MAAM,eAAe,CAAC,mBAkCpC;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,UAAiB,KAAK,mBAe1C;CACH;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
1
+ {"version":3,"file":"webSocketScanner.d.ts","sourceRoot":"","sources":["../../../lib/scanner/abstract/webSocketScanner.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,iBAAiB,CAAC;AAExC,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,eAAe,EAAE,MAAM,WAAW,CAAC;AAI5C,uBAAe,gBAAgB,CAC7B,eAAe,CACf,SAAQ,eAAe,CAAC,eAAe,CAAC;IAMtC,SAAS,CAAC,WAAW,EAAE,MAAM;IAG7B,SAAS,CAAC,MAAM,CAAC,EAAE,MAAM;IAR3B,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAE7B,SAAS,CAAC,KAAK,QAAe;IAE9B,SAAS,aACG,WAAW,EAAE,MAAM,EAC7B,MAAM,CAAC,EAAE,cAAc,EACvB,WAAW,GAAE,MAA8B,EACjC,MAAM,CAAC,EAAE,MAAM,YAAA;IAK3B,IAAI,eAAmE;IAEvE,QAAQ,CAAC,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IACpC,QAAQ,CAAC,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAEnC,SAAS,CAAC,kBAAkB,GAC1B,IAAI,MAAM,OAAO,CAAC,OAAO,CAAC,EAC1B,KAAK,MAAM,KACV,OAAO,CAAC,OAAO,CAAC,CAUjB;IAEF;;;;;OAKG;IACH,SAAS,CAAC,WAAW,GACnB,OAAO,KAAK,EACZ,cAAc,KAAK,CAAC,eAAe,CAAC,mBAkCpC;IAEF;;;OAGG;IACH,SAAS,CAAC,YAAY,GAAU,OAAO,KAAK,mBAe1C;CACH;AAED,OAAO,EAAE,gBAAgB,EAAE,CAAC"}
@@ -1,5 +1,5 @@
1
- import { AbstractScanner } from './scanner';
2
1
  import { Mutex } from 'await-semaphore';
2
+ import { AbstractScanner } from './scanner';
3
3
  const DEFAULT_MAX_TRY_BLOCK = 10;
4
4
  class WebSocketScanner extends AbstractScanner {
5
5
  scannerName;
@@ -86,4 +86,4 @@ class WebSocketScanner extends AbstractScanner {
86
86
  };
87
87
  }
88
88
  export { WebSocketScanner };
89
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViU29ja2V0U2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2FubmVyL2Fic3RyYWN0L3dlYlNvY2tldFNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUU1QyxPQUFPLEVBQUUsS0FBSyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFHeEMsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7QUFFakMsTUFBZSxnQkFFYixTQUFRLGVBQWdDO0lBTTVCO0lBR0E7SUFSSCxXQUFXLENBQVM7SUFFbkIsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFFOUIsWUFDWSxXQUFtQixFQUM3QixNQUF1QixFQUN2QixjQUFzQixxQkFBcUIsRUFDakMsTUFBZTtRQUV6QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFMSixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUduQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBR3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUs3RCxrQkFBa0IsR0FBRyxLQUFLLEVBQ2xDLEVBQTBCLEVBQzFCLEdBQVcsRUFDTyxFQUFFO1FBQ3BCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDaEUsSUFBSSxNQUFNLEVBQUUsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0s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LENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUUsMkJBQTJCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDO0NBQ0g7QUFFRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0U2Nhbm5lciB9IGZyb20gJy4vc2Nhbm5lcic7XG5pbXBvcnQgeyBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcbmltcG9ydCB7IE11dGV4IH0gZnJvbSAnYXdhaXQtc2VtYXBob3JlJztcbmltcG9ydCB7IEFic3RyYWN0TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuXG5jb25zdCBERUZBVUxUX01BWF9UUllfQkxPQ0sgPSAxMDtcblxuYWJzdHJhY3QgY2xhc3MgV2ViU29ja2V0U2Nhbm5lcjxcbiAgVHJhbnNhY3Rpb25UeXBlLFxuPiBleHRlbmRzIEFic3RyYWN0U2Nhbm5lcjxUcmFuc2FjdGlvblR5cGU+IHtcbiAgcmVhZG9ubHkgbWF4VHJ5QmxvY2s6IG51bWJlcjtcblxuICBwcm90ZWN0ZWQgbXV0ZXggPSBuZXcgTXV0ZXgoKTtcblxuICBwcm90ZWN0ZWQgY29uc3RydWN0b3IoXG4gICAgcHJvdGVjdGVkIHNjYW5uZXJOYW1lOiBzdHJpbmcsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIsXG4gICAgbWF4VHJ5QmxvY2s6IG51bWJlciA9IERFRkFVTFRfTUFYX1RSWV9CTE9DSyxcbiAgICBwcm90ZWN0ZWQgc3VmZml4Pzogc3RyaW5nLFxuICApIHtcbiAgICBzdXBlcihsb2dnZXIpO1xuICAgIHRoaXMubWF4VHJ5QmxvY2sgPSBtYXhUcnlCbG9jaztcbiAgfVxuICBuYW1lID0gKCkgPT4gdGhpcy5zY2FubmVyTmFtZSArICh0aGlzLnN1ZmZpeCA/IGAtJHt0aGlzLnN1ZmZpeH1gIDogJycpO1xuXG4gIGFic3RyYWN0IHN0YXJ0OiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuICBhYnN0cmFjdCBzdG9wOiAoKSA9PiBQcm9taXNlPHZvaWQ+O1xuXG4gIHByb3RlY3RlZCB0cnlSdW5uaW5nRnVuY3Rpb24gPSBhc3luYyAoXG4gICAgZm46ICgpID0+IFByb21pc2U8Ym9vbGVhbj4sXG4gICAgbXNnOiBzdHJpbmcsXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGZvciAobGV0IHRyeVJvdW5kID0gMTsgdHJ5Um91bmQgPD0gdGhpcy5tYXhUcnlCbG9jazsgdHJ5Um91bmQrKykge1xuICAgICAgaWYgKGF3YWl0IGZuKCkpIHJldHVybiB0cnVlO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgIGAke21zZ30gY2FuIG5vdCBiZSBwcm9jZWVkIGluICR7dGhpcy5tYXhUcnlCbG9ja30gdHJ5LiBzY2FubmVyIHJlc3RhcnRlZCBhdXRvbWF0aWNhbGx5YCxcbiAgICApO1xuICAgIGF3YWl0IHRoaXMuc3RvcCgpO1xuICAgIGF3YWl0IHRoaXMuc3RhcnQoKTtcbiAgICByZXR1cm4gZmFsc2U7XG4gIH07XG5cbiAgLyoqXG4gICAqIEhhbmRsZSBuZXcgYmxvY2sgYXJyaXZlZC5cbiAgICogc2F2ZSBibG9jayBhbmQgaXRzIHRyYW5zYWN0aW9ucy5cbiAgICogQHBhcmFtIGJsb2NrXG4gICAqIEBwYXJhbSB0cmFuc2FjdGlvbnNcbiAgICovXG4gIHByb3RlY3RlZCBzdGVwRm9yd2FyZCA9IGFzeW5jIChcbiAgICBibG9jazogQmxvY2ssXG4gICAgdHJhbnNhY3Rpb25zOiBBcnJheTxUcmFuc2FjdGlvblR5cGU+LFxuICApID0+IHtcbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgdGhpcy5tdXRleC5hY3F1aXJlKCk7XG4gICAgYXdhaXQgdGhpcy50cnlSdW5uaW5nRnVuY3Rpb24oYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5mb3JrQmxvY2soYmxvY2suaGVpZ2h0KTtcblxuICAgICAgICBjb25zdCBsYXN0U2F2ZWRCbG9jayA9IGF3YWl0IHRoaXMuYWN0aW9uLmdldExhc3RTYXZlZEJsb2NrKCk7XG4gICAgICAgIGlmIChsYXN0U2F2ZWRCbG9jayAmJiBibG9jay5wYXJlbnRIYXNoICE9PSBsYXN0U2F2ZWRCbG9jay5oYXNoKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoJ0l0IHNlZW1zIHNhdmVkIGJsb2NrIGlzIG5vdCB2YWxpZCBpbiBzY2FubmVyLicpO1xuICAgICAgICAgIHJldHVybiBmYWxzZTtcbiAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICBhd2FpdCB0aGlzLnZlcmlmeUV4dHJhY3RvcnNJbml0aWFsaXphdGlvbih7XG4gICAgICAgICAgICBoZWlnaHQ6IGJsb2NrLmhlaWdodCAtIDEsXG4gICAgICAgICAgICBoYXNoOiBibG9jay5wYXJlbnRIYXNoLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMucHJvY2Vzc0Jsb2NrVHJhbnNhY3Rpb25zKGJsb2NrLCB0cmFuc2FjdGlvbnMpO1xuICAgICAgICAgIGlmIChyZXMgPT09IGZhbHNlKSB7XG4gICAgICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihcbiAgICAgICAgICAgICAgYENhbiBub3QgcHJvY2VzcyBibG9jayBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YCxcbiAgICAgICAgICAgICk7XG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGB1bmtub3duIGVycm9yIG9jY3VycmVkICR7ZX1gKTtcbiAgICAgICAgaWYgKGUgaW5zdGFuY2VvZiBFcnJvciAmJiBlLnN0YWNrKSB7XG4gICAgICAgICAgdGhpcy5sb2dnZXIud2FybihlLnN0YWNrKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0sIGBCbG9jayBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YCk7XG4gICAgcmVsZWFzZSgpO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGUgZm9ya2luZyBhIGJsb2NrXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgcHJvdGVjdGVkIHN0ZXBCYWNrd2FyZCA9IGFzeW5jIChibG9jazogQmxvY2spID0+IHtcbiAgICBjb25zdCByZWxlYXNlID0gYXdhaXQgdGhpcy5tdXRleC5hY3F1aXJlKCk7XG4gICAgYXdhaXQgdGhpcy50cnlSdW5uaW5nRnVuY3Rpb24oYXN5bmMgKCkgPT4ge1xuICAgICAgdHJ5IHtcbiAgICAgICAgYXdhaXQgdGhpcy5mb3JrQmxvY2soYmxvY2suaGVpZ2h0ICsgMSk7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfSBjYXRjaCAoZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5lcnJvcihgdW5rbm93biBlcnJvciBvY2N1cnJlZCAke2V9YCk7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oZS5zdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LCBgRm9ya2luZyBibG9jayBhdCBoZWlnaHQgJHtibG9jay5oZWlnaHR9YCk7XG4gICAgcmVsZWFzZSgpO1xuICB9O1xufVxuXG5leHBvcnQgeyBXZWJTb2NrZXRTY2FubmVyIH07XG4iXX0=
89
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2ViU29ja2V0U2Nhbm5lci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2FubmVyL2Fic3RyYWN0L3dlYlNvY2tldFNjYW5uZXIudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLEtBQUssRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBS3hDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFNUMsTUFBTSxxQkFBcUIsR0FBRyxFQUFFLENBQUM7QUFFakMsTUFBZSxnQkFFYixTQUFRLGVBQWdDO0lBTTVCO0lBR0E7SUFSSCxXQUFXLENBQVM7SUFFbkIsS0FBSyxHQUFHLElBQUksS0FBSyxFQUFFLENBQUM7SUFFOUIsWUFDWSxXQUFtQixFQUM3QixNQUF1QixFQUN2QixjQUFzQixxQkFBcUIsRUFDakMsTUFBZTtRQUV6QixLQUFLLENBQUMsTUFBTSxDQUFDLENBQUM7UUFMSixnQkFBVyxHQUFYLFdBQVcsQ0FBUTtRQUduQixXQUFNLEdBQU4sTUFBTSxDQUFTO1FBR3pCLElBQUksQ0FBQyxXQUFXLEdBQUcsV0FBVyxDQUFDO0lBQ2pDLENBQUM7SUFDRCxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsR0FBRyxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLElBQUksSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUs3RCxrQkFBa0IsR0FBRyxLQUFLLEVBQ2xDLEVBQTBCLEVBQzFCLEdBQVcsRUFDTyxFQUFFO1FBQ3BCLEtBQUssSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFLFFBQVEsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLFFBQVEsRUFBRSxFQUFFLENBQUM7WUFDaEUsSUFBSSxNQUFNLEVBQUUsRUFBRTtnQkFBRSxPQUFPLElBQUksQ0FBQztRQUM5QixDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0s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LENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUM7Z0JBQzVCLENBQUM7WUFDSCxDQUFDO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLEVBQUUsMkJBQTJCLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQyxDQUFDO0NBQ0g7QUFFRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE11dGV4IH0gZnJvbSAnYXdhaXQtc2VtYXBob3JlJztcblxuaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBCbG9jayB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuaW1wb3J0IHsgQWJzdHJhY3RTY2FubmVyIH0gZnJvbSAnLi9zY2FubmVyJztcblxuY29uc3QgREVGQVVMVF9NQVhfVFJZX0JMT0NLID0gMTA7XG5cbmFic3RyYWN0IGNsYXNzIFdlYlNvY2tldFNjYW5uZXI8XG4gIFRyYW5zYWN0aW9uVHlwZSxcbj4gZXh0ZW5kcyBBYnN0cmFjdFNjYW5uZXI8VHJhbnNhY3Rpb25UeXBlPiB7XG4gIHJlYWRvbmx5IG1heFRyeUJsb2NrOiBudW1iZXI7XG5cbiAgcHJvdGVjdGVkIG11dGV4ID0gbmV3IE11dGV4KCk7XG5cbiAgcHJvdGVjdGVkIGNvbnN0cnVjdG9yKFxuICAgIHByb3RlY3RlZCBzY2FubmVyTmFtZTogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyLFxuICAgIG1heFRyeUJsb2NrOiBudW1iZXIgPSBERUZBVUxUX01BWF9UUllfQkxPQ0ssXG4gICAgcHJvdGVjdGVkIHN1ZmZpeD86IHN0cmluZyxcbiAgKSB7XG4gICAgc3VwZXIobG9nZ2VyKTtcbiAgICB0aGlzLm1heFRyeUJsb2NrID0gbWF4VHJ5QmxvY2s7XG4gIH1cbiAgbmFtZSA9ICgpID0+IHRoaXMuc2Nhbm5lck5hbWUgKyAodGhpcy5zdWZmaXggPyBgLSR7dGhpcy5zdWZmaXh9YCA6ICcnKTtcblxuICBhYnN0cmFjdCBzdGFydDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcbiAgYWJzdHJhY3Qgc3RvcDogKCkgPT4gUHJvbWlzZTx2b2lkPjtcblxuICBwcm90ZWN0ZWQgdHJ5UnVubmluZ0Z1bmN0aW9uID0gYXN5bmMgKFxuICAgIGZuOiAoKSA9PiBQcm9taXNlPGJvb2xlYW4+LFxuICAgIG1zZzogc3RyaW5nLFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBmb3IgKGxldCB0cnlSb3VuZCA9IDE7IHRyeVJvdW5kIDw9IHRoaXMubWF4VHJ5QmxvY2s7IHRyeVJvdW5kKyspIHtcbiAgICAgIGlmIChhd2FpdCBmbigpKSByZXR1cm4gdHJ1ZTtcbiAgICB9XG4gICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICBgJHttc2d9IGNhbiBub3QgYmUgcHJvY2VlZCBpbiAke3RoaXMubWF4VHJ5QmxvY2t9IHRyeS4gc2Nhbm5lciByZXN0YXJ0ZWQgYXV0b21hdGljYWxseWAsXG4gICAgKTtcbiAgICBhd2FpdCB0aGlzLnN0b3AoKTtcbiAgICBhd2FpdCB0aGlzLnN0YXJ0KCk7XG4gICAgcmV0dXJuIGZhbHNlO1xuICB9O1xuXG4gIC8qKlxuICAgKiBIYW5kbGUgbmV3IGJsb2NrIGFycml2ZWQuXG4gICAqIHNhdmUgYmxvY2sgYW5kIGl0cyB0cmFuc2FjdGlvbnMuXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKiBAcGFyYW0gdHJhbnNhY3Rpb25zXG4gICAqL1xuICBwcm90ZWN0ZWQgc3RlcEZvcndhcmQgPSBhc3luYyAoXG4gICAgYmxvY2s6IEJsb2NrLFxuICAgIHRyYW5zYWN0aW9uczogQXJyYXk8VHJhbnNhY3Rpb25UeXBlPixcbiAgKSA9PiB7XG4gICAgY29uc3QgcmVsZWFzZSA9IGF3YWl0IHRoaXMubXV0ZXguYWNxdWlyZSgpO1xuICAgIGF3YWl0IHRoaXMudHJ5UnVubmluZ0Z1bmN0aW9uKGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZm9ya0Jsb2NrKGJsb2NrLmhlaWdodCk7XG5cbiAgICAgICAgY29uc3QgbGFzdFNhdmVkQmxvY2sgPSBhd2FpdCB0aGlzLmFjdGlvbi5nZXRMYXN0U2F2ZWRCbG9jaygpO1xuICAgICAgICBpZiAobGFzdFNhdmVkQmxvY2sgJiYgYmxvY2sucGFyZW50SGFzaCAhPT0gbGFzdFNhdmVkQmxvY2suaGFzaCkge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLmVycm9yKCdJdCBzZWVtcyBzYXZlZCBibG9jayBpcyBub3QgdmFsaWQgaW4gc2Nhbm5lci4nKTtcbiAgICAgICAgICByZXR1cm4gZmFsc2U7XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgYXdhaXQgdGhpcy52ZXJpZnlFeHRyYWN0b3JzSW5pdGlhbGl6YXRpb24oe1xuICAgICAgICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQgLSAxLFxuICAgICAgICAgICAgaGFzaDogYmxvY2sucGFyZW50SGFzaCxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLnByb2Nlc3NCbG9ja1RyYW5zYWN0aW9ucyhibG9jaywgdHJhbnNhY3Rpb25zKTtcbiAgICAgICAgICBpZiAocmVzID09PSBmYWxzZSkge1xuICAgICAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoXG4gICAgICAgICAgICAgIGBDYW4gbm90IHByb2Nlc3MgYmxvY2sgYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fWAsXG4gICAgICAgICAgICApO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybihgdW5rbm93biBlcnJvciBvY2N1cnJlZCAke2V9YCk7XG4gICAgICAgIGlmIChlIGluc3RhbmNlb2YgRXJyb3IgJiYgZS5zdGFjaykge1xuICAgICAgICAgIHRoaXMubG9nZ2VyLndhcm4oZS5zdGFjayk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9LCBgQmxvY2sgYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fWApO1xuICAgIHJlbGVhc2UoKTtcbiAgfTtcblxuICAvKipcbiAgICogSGFuZGxlIGZvcmtpbmcgYSBibG9ja1xuICAgKiBAcGFyYW0gYmxvY2tcbiAgICovXG4gIHByb3RlY3RlZCBzdGVwQmFja3dhcmQgPSBhc3luYyAoYmxvY2s6IEJsb2NrKSA9PiB7XG4gICAgY29uc3QgcmVsZWFzZSA9IGF3YWl0IHRoaXMubXV0ZXguYWNxdWlyZSgpO1xuICAgIGF3YWl0IHRoaXMudHJ5UnVubmluZ0Z1bmN0aW9uKGFzeW5jICgpID0+IHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGF3YWl0IHRoaXMuZm9ya0Jsb2NrKGJsb2NrLmhlaWdodCArIDEpO1xuICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYHVua25vd24gZXJyb3Igb2NjdXJyZWQgJHtlfWApO1xuICAgICAgICBpZiAoZSBpbnN0YW5jZW9mIEVycm9yICYmIGUuc3RhY2spIHtcbiAgICAgICAgICB0aGlzLmxvZ2dlci53YXJuKGUuc3RhY2spO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfSwgYEZvcmtpbmcgYmxvY2sgYXQgaGVpZ2h0ICR7YmxvY2suaGVpZ2h0fWApO1xuICAgIHJlbGVhc2UoKTtcbiAgfTtcbn1cblxuZXhwb3J0IHsgV2ViU29ja2V0U2Nhbm5lciB9O1xuIl19
@@ -1,7 +1,7 @@
1
- import { BlockEntity } from '../entities/blockEntity';
1
+ import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
2
  import { DataSource, DeleteResult, Repository } from '@rosen-bridge/extended-typeorm';
3
3
  import { Block } from '@rosen-bridge/scanner-interfaces';
4
- import { AbstractLogger } from '@rosen-bridge/abstract-logger';
4
+ import { BlockEntity } from '../entities/blockEntity';
5
5
  import { ExtractorStatusEntity } from '../entities/extractorStatusEntity';
6
6
  export declare class BlockDbAction {
7
7
  readonly blockRepository: Repository<BlockEntity>;
@@ -1 +1 @@
1
- {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../lib/scanner/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EACL,UAAU,EACV,YAAY,EAEZ,UAAU,EAEX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AACzD,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,qBAAa,aAAa;IACxB,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,yBAAyB,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACtE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAG9B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAWzB,QAAQ,CAAC,IAAI,eAA0B;IAEvC;;;OAGG;IACH,iBAAiB,QAAa,QAAQ,WAAW,GAAG,SAAS,CAAC,CAW5D;IAEF;;;;OAIG;IACH,kBAAkB,SACV,MAAM,SACL,MAAM,KACZ,QAAQ,MAAM,WAAW,CAAC,CAAC,CAO5B;IAEF;;;OAGG;IACH,kBAAkB,QAAa,QAAQ,WAAW,GAAG,SAAS,CAAC,CAW7D;IAEF;;;;;OAKG;IACH,gBAAgB,WACN,MAAM,WACN,MAAM,KACb,QAAQ,WAAW,GAAG,SAAS,CAAC,CAWjC;IAEF;;;;OAIG;IACH,gBAAgB,SAAgB,MAAM,WAAU,MAAM,iCAMpD;IAEF;;;;OAIG;IACH,sBAAsB,WAAkB,MAAM,KAAG,QAAQ,YAAY,CAAC,CAMpE;IAEF;;;OAGG;IACH,SAAS,UAAiB,KAAK,KAAG,QAAQ,WAAW,GAAG,OAAO,CAAC,CA0C9D;IAEF;;;OAGG;IACH,iBAAiB,WACP,MAAM,aACH,MAAM,gBACH,MAAM,EAAE,KACrB,QAAQ,OAAO,CAAC,CAqCjB;IAEF;;;OAGG;IACH,iBAAiB,WACP,MAAM,cACF,MAAM,gBACJ,MAAM,EAAE,KACrB,QAAQ,OAAO,CAAC,CAsCjB;IAEF;;;;;OAKG;IACH,6BAA6B,gBACd,MAAM,UACX,MAAM,aACH,MAAM;;;;;+BAgBjB;IAEF;;;;OAIG;IACH,mBAAmB,iBACH,MAAM,EAAE,KACrB,QAAQ,qBAAqB,EAAE,CAAC,CAKjC;CACH"}
1
+ {"version":3,"file":"action.d.ts","sourceRoot":"","sources":["../../lib/scanner/action.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,UAAU,EACV,YAAY,EAEZ,UAAU,EAEX,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,KAAK,EAAE,MAAM,kCAAkC,CAAC;AAEzD,OAAO,EAAE,WAAW,EAAuB,MAAM,yBAAyB,CAAC;AAC3E,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAE1E,qBAAa,aAAa;IACxB,QAAQ,CAAC,eAAe,EAAE,UAAU,CAAC,WAAW,CAAC,CAAC;IAClD,QAAQ,CAAC,yBAAyB,EAAE,UAAU,CAAC,qBAAqB,CAAC,CAAC;IACtE,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,MAAM,CAAC;IAC7B,QAAQ,CAAC,MAAM,EAAE,cAAc,CAAC;gBAG9B,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,MAAM,EACnB,MAAM,CAAC,EAAE,cAAc;IAWzB,QAAQ,CAAC,IAAI,eAA0B;IAEvC;;;OAGG;IACH,iBAAiB,QAAa,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAW5D;IAEF;;;;OAIG;IACH,kBAAkB,GAChB,MAAM,MAAM,EACZ,OAAO,MAAM,KACZ,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAO5B;IAEF;;;OAGG;IACH,kBAAkB,QAAa,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAW7D;IAEF;;;;;OAKG;IACH,gBAAgB,GACd,QAAQ,MAAM,EACd,SAAQ,MAAgB,KACvB,OAAO,CAAC,WAAW,GAAG,SAAS,CAAC,CAWjC;IAEF;;;;OAIG;IACH,gBAAgB,GAAU,MAAM,MAAM,EAAE,SAAQ,MAAgB,iCAM9D;IAEF;;;;OAIG;IACH,sBAAsB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,YAAY,CAAC,CAMpE;IAEF;;;OAGG;IACH,SAAS,GAAU,OAAO,KAAK,KAAG,OAAO,CAAC,WAAW,GAAG,OAAO,CAAC,CA0C9D;IAEF;;;OAGG;IACH,iBAAiB,GACf,QAAQ,MAAM,EACd,WAAW,MAAM,EACjB,cAAc,MAAM,EAAE,KACrB,OAAO,CAAC,OAAO,CAAC,CAqCjB;IAEF;;;OAGG;IACH,iBAAiB,GACf,QAAQ,MAAM,EACd,YAAY,MAAM,EAClB,cAAc,MAAM,EAAE,KACrB,OAAO,CAAC,OAAO,CAAC,CAsCjB;IAEF;;;;;OAKG;IACH,6BAA6B,GAC3B,aAAa,MAAM,EACnB,QAAQ,MAAM,EACd,WAAW,MAAM;;;;;+BAgBjB;IAEF;;;;OAIG;IACH,mBAAmB,GACjB,cAAc,MAAM,EAAE,KACrB,OAAO,CAAC,qBAAqB,EAAE,CAAC,CAKjC;CACH"}
@@ -1,6 +1,6 @@
1
- import { BlockEntity, PROCEED, PROCESSING } from '../entities/blockEntity';
2
- import { MoreThanOrEqual, In, } from '@rosen-bridge/extended-typeorm';
3
1
  import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
+ import { MoreThanOrEqual, In, } from '@rosen-bridge/extended-typeorm';
3
+ import { BlockEntity, PROCEED, PROCESSING } from '../entities/blockEntity';
4
4
  import { ExtractorStatusEntity } from '../entities/extractorStatusEntity';
5
5
  export class BlockDbAction {
6
6
  blockRepository;
@@ -174,7 +174,7 @@ export class BlockDbAction {
174
174
  .update({ extractorId: In(extractorIds), scannerId: this.name() }, { updateHeight: height, updateBlockHash: blockHash });
175
175
  await runner.commitTransaction();
176
176
  }
177
- catch (e) {
177
+ catch {
178
178
  await runner.rollbackTransaction();
179
179
  success = false;
180
180
  }
@@ -248,4 +248,4 @@ export class BlockDbAction {
248
248
  });
249
249
  };
250
250
  }
251
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3NjYW5uZXIvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxXQUFXLEVBQUUsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLHlCQUF5QixDQUFDO0FBQzNFLE9BQU8sRUFHTCxlQUFlLEVBRWYsRUFBRSxHQUNILE1BQU0sZ0NBQWdDLENBQUM7QUFFeEMsT0FBTyxFQUFrQixXQUFXLEVBQUUsTUFBTSwrQkFBK0IsQ0FBQztBQUM1RSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRSxNQUFNLE9BQU8sYUFBYTtJQUNmLGVBQWUsQ0FBMEI7SUFDekMseUJBQXlCLENBQW9DO0lBQzdELFVBQVUsQ0FBYTtJQUN2QixXQUFXLENBQVM7SUFDcEIsTUFBTSxDQUFpQjtJQUVoQyxZQUNFLFVBQXNCLEVBQ3RCLFdBQW1CLEVBQ25CLE1BQXVCO1FBRXZCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMseUJBQXlCLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FDdkQscUJBQXFCLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFUSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUV2Qzs7O09BR0c7SUFDSCxpQkFBaUIsR0FBRyxLQUFLLElBQXNDLEVBQUU7UUFDL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFD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O1FBQ0QsT0FBTyxPQUFPLENBQUM7SUFDakIsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCw2QkFBNkIsR0FBRyxLQUFLLEVBQ25DLFdBQW1CLEVBQ25CLE1BQWMsRUFDZCxTQUFpQixFQUNqQixFQUFFO1FBQ0YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsK0VBQStFLEVBQy9FO1lBQ0UsV0FBVztZQUNYLE1BQU07WUFDTixTQUFTO1NBQ1YsQ0FDRixDQUFDO1FBQ0YsT0FBTyxNQUFNLElBQUksQ0FBQyx5QkFBeUIsQ0FBQyxJQUFJLENBQUM7WUFDL0MsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUU7WUFDdEIsV0FBVztZQUNYLFlBQVksRUFBRSxNQUFNO1lBQ3BCLGVBQWUsRUFBRSxTQUFTO1NBQzNCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxtQkFBbUIsR0FBRyxLQUFLLEVBQ3pCLFlBQXNCLEVBQ1ksRUFBRTtRQUNwQyxPQUFPLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLE1BQU0sQ0FBQztZQUNqRCxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN0QixXQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQztTQUM5QixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7Q0FDSCIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEJsb2NrRW50aXR5LCBQUk9DRUVELCBQUk9DRVNTSU5HIH0gZnJvbSAnLi4vZW50aXRpZXMvYmxvY2tFbnRpdHknO1xuaW1wb3J0IHtcbiAgRGF0YVNvdXJjZSxcbiAgRGVsZXRlUmVzdWx0LFxuICBNb3JlVGhhbk9yRXF1YWwsXG4gIFJlcG9zaXRvcnksXG4gIEluLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5pbXBvcnQgeyBFeHRyYWN0b3JTdGF0dXNFbnRpdHkgfSBmcm9tICcuLi9lbnRpdGllcy9leHRyYWN0b3JTdGF0dXNFbnRpdHknO1xuXG5leHBvcnQgY2xhc3MgQmxvY2tEYkFjdGlvbiB7XG4gIHJlYWRvbmx5IGJsb2NrUmVwb3NpdG9yeTogUmVwb3NpdG9yeTxCbG9ja0VudGl0eT47XG4gIHJlYWRvbmx5IGV4dHJhY3RvclN0YXR1c1JlcG9zaXRvcnk6IFJlcG9zaXRvcnk8RXh0cmFjdG9yU3RhdHVzRW50aXR5PjtcbiAgcmVhZG9ubHkgZGF0YVNvdXJjZTogRGF0YVNvdXJjZTtcbiAgcmVhZG9ubHkgc2Nhbm5lck5hbWU6IHN0cmluZztcbiAgcmVhZG9ubHkgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBkYXRhU291cmNlOiBEYXRhU291cmNlLFxuICAgIHNjYW5uZXJOYW1lOiBzdHJpbmcsXG4gICAgbG9nZ2VyPzogQWJzdHJhY3RMb2dnZXIsXG4gICkge1xuICAgIHRoaXMuYmxvY2tSZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KEJsb2NrRW50aXR5KTtcbiAgICB0aGlzLmV4dHJhY3RvclN0YXR1c1JlcG9zaXRvcnkgPSBkYXRhU291cmNlLmdldFJlcG9zaXRvcnkoXG4gICAgICBFeHRyYWN0b3JTdGF0dXNFbnRpdHksXG4gICAgKTtcbiAgICB0aGlzLmRhdGFTb3VyY2UgPSBkYXRhU291cmNlO1xuICAgIHRoaXMuc2Nhbm5lck5hbWUgPSBzY2FubmVyTmFtZTtcbiAgICB0aGlzLmxvZ2dlciA9IGxvZ2dlciA/IGxvZ2dlciA6IG5ldyBEdW1teUxvZ2dlcigpO1xuICB9XG5cbiAgcmVhZG9ubHkgbmFtZSA9ICgpID0+IHRoaXMuc2Nhbm5lck5hbWU7XG5cbiAgLyoqXG4gICAqIGdldCBsYXN0IHNhdmVkIGJsb2NrXG4gICAqIEByZXR1cm4gUHJvbWlzZTxCbG9ja0VudGl0eSBvciB1bmRlZmluZWQ+XG4gICAqL1xuICBnZXRMYXN0U2F2ZWRCbG9jayA9IGFzeW5jICgpOiBQcm9taXNlPEJsb2NrRW50aXR5IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgbGFzdEJsb2NrID0gYXdhaXQgdGhpcy5ibG9ja1JlcG9zaXRvcnkuZmluZCh7XG4gICAgICB3aGVyZTogeyBzdGF0dXM6IFBST0NFRUQsIHNjYW5uZXI6IHRoaXMubmFtZSgpIH0sXG4gICAgICBvcmRlcjogeyBoZWlnaHQ6ICdERVNDJyB9LFxuICAgICAgdGFrZTogMSxcbiAgICB9KTtcbiAgICBpZiAobGFzdEJsb2NrLmxlbmd0aCAhPT0gMCkge1xuICAgICAgcmV0dXJuIGxhc3RCbG9ja1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGdldCBsYXN0IG4gc3RvcmVkIGJsb2NrcyBpbiBkYXRhYmFzZVxuICAgKiBAcGFyYW0gc2tpcFxuICAgKiBAcGFyYW0gY291bnRcbiAgICovXG4gIGdldExhc3RTYXZlZEJsb2NrcyA9IGFzeW5jIChcbiAgICBza2lwOiBudW1iZXIsXG4gICAgY291bnQ6IG51bWJlcixcbiAgKTogUHJvbWlzZTxBcnJheTxCbG9ja0VudGl0eT4+ID0+IHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5ibG9ja1JlcG9zaXRvcnkuZmluZCh7XG4gICAgICB3aGVyZTogeyBzdGF0dXM6IFBST0NFRUQsIHNjYW5uZXI6IHRoaXMubmFtZSgpIH0sXG4gICAgICBvcmRlcjogeyBoZWlnaHQ6ICdERVNDJyB9LFxuICAgICAgc2tpcDogc2tpcCxcbiAgICAgIHRha2U6IGNvdW50LFxuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBnZXQgZmlyc3Qgc2F2ZWQgYmxvY2tcbiAgICogQHJldHVybiBQcm9taXNlPEJsb2NrRW50aXR5IG9yIHVuZGVmaW5lZD5cbiAgICovXG4gIGdldEZpcnN0U2F2ZWRCbG9jayA9IGFzeW5jICgpOiBQcm9taXNlPEJsb2NrRW50aXR5IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgbGFzdEJsb2NrID0gYXdhaXQgdGhpcy5ibG9ja1JlcG9zaXRvcnkuZmluZCh7XG4gICAgICB3aGVyZTogeyBzdGF0dXM6IFBST0NFRUQsIHNjYW5uZXI6IHRoaXMubmFtZSgpIH0sXG4gICAgICBvcmRlcjogeyBoZWlnaHQ6ICdBU0MnIH0sXG4gICAgICB0YWtlOiAxLFxuICAgIH0pO1xuICAgIGlmIChsYXN0QmxvY2subGVuZ3RoICE9PSAwKSB7XG4gICAgICByZXR1cm4gbGFzdEJsb2NrWzBdO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogZ2V0IGJsb2NrIGhhc2ggYW5kIGhlaWdodFxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEBwYXJhbSBzdGF0dXNcbiAgICogQHJldHVybiBQcm9taXNlPEJsb2NrRW50aXR5fHVuZGVmaW5lZD5cbiAgICovXG4gIGdldEJsb2NrQXRIZWlnaHQgPSBhc3luYyAoXG4gICAgaGVpZ2h0OiBudW1iZXIsXG4gICAgc3RhdHVzOiBzdHJpbmcgPSBQUk9DRUVELFxuICApOiBQcm9taXNlPEJsb2NrRW50aXR5IHwgdW5kZWZpbmVkPiA9PiB7XG4gICAgY29uc3QgYmxvY2sgPSBhd2FpdCB0aGlzLmJsb2NrUmVwb3NpdG9yeS5maW5kT25lQnkoe1xuICAgICAgc3RhdHVzOiBzdGF0dXMsXG4gICAgICBoZWlnaHQ6IGhlaWdodCxcbiAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgIH0pO1xuICAgIGlmIChibG9jayAhPT0gbnVsbCkge1xuICAgICAgcmV0dXJuIGJsb2NrO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogZ2V0IGJsb2NrIHdpdGggZW50ZXJlZCBibG9ja2hhc2hcbiAgICogQHBhcmFtIGhhc2hcbiAgICogQHBhcmFtIHN0YXR1c1xuICAgKi9cbiAgZ2V0QmxvY2tXaXRoSGFzaCA9IGFzeW5jIChoYXNoOiBzdHJpbmcsIHN0YXR1czogc3RyaW5nID0gUFJPQ0VFRCkgPT4ge1xuICAgIHJldHVybiB0aGlzLmJsb2NrUmVwb3NpdG9yeS5maW5kT25lQnkoe1xuICAgICAgaGFzaDogaGFzaCxcbiAgICAgIHN0YXR1czogc3RhdHVzLFxuICAgICAgc2Nhbm5lcjogdGhpcy5uYW1lKCksXG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIGl0IGRlbGV0ZXMgZXZlcnkgYmxvY2sgdGhhdCBtb3JlIHRoYW4gb3IgZXF1YWwgaGVpZ2h0XG4gICAqIEBwYXJhbSBoZWlnaHRcbiAgICogQHJldHVybiBQcm9taXNlPERlbGV0ZVJlc3VsdD5cbiAgICovXG4gIHJlbW92ZUJsb2Nrc0Zyb21IZWlnaHQgPSBhc3luYyAoaGVpZ2h0OiBudW1iZXIpOiBQcm9taXNlPERlbGV0ZVJlc3VsdD4gPT4ge1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBSZW1vdmluZyBibG9ja3MgZnJvbSBoZWlnaHQgJHtoZWlnaHR9YCk7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYmxvY2tSZXBvc2l0b3J5LmRlbGV0ZSh7XG4gICAgICBoZWlnaHQ6IE1vcmVUaGFuT3JFcXVhbChoZWlnaHQpLFxuICAgICAgc2Nhbm5lcjogdGhpcy5uYW1lKCksXG4gICAgfSk7XG4gIH07XG5cbiAgLyoqXG4gICAqIHN0b3JlIGEgYmxvY2sgaW50byBkYXRhYmFzZS5cbiAgICogQHBhcmFtIGJsb2NrXG4gICAqL1xuICBzYXZlQmxvY2sgPSBhc3luYyAoYmxvY2s6IEJsb2NrKTogUHJvbWlzZTxCbG9ja0VudGl0eSB8IGJvb2xlYW4+ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgaW5zdGFuY2UgPSBhd2FpdCB0aGlzLmJsb2NrUmVwb3NpdG9yeS5maW5kT25lQnkoe1xuICAgICAgICBoZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgc2Nhbm5lcjogdGhpcy5uYW1lKCksXG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGRhdGUgPSBuZXcgRGF0ZShibG9jay50aW1lc3RhbXAgKiAxMDAwKTtcbiAgICAgIGNvbnN0IGJsb2NrSW5mbyA9IHtcbiAgICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgIGhhc2g6IGJsb2NrLmhhc2gsXG4gICAgICAgIHBhcmVudEhhc2g6IGJsb2NrLnBhcmVudEhhc2gsXG4gICAgICAgIHN0YXR1czogUFJPQ0VTU0lORyxcbiAgICAgICAgc2Nhbm5lcjogdGhpcy5uYW1lKCksXG4gICAgICAgIGV4dHJhOiBibG9jay5leHRyYSxcbiAgICAgICAgdGltZXN0YW1wOiBibG9jay50aW1lc3RhbXAsXG4gICAgICAgIHllYXI6IGRhdGUuZ2V0RnVsbFllYXIoKSxcbiAgICAgICAgbW9udGg6IGRhdGUuZ2V0TW9udGgoKSArIDEsXG4gICAgICAgIGRheTogZGF0ZS5nZXREYXRlKCksXG4gICAgICB9O1xuICAgICAgaWYgKCFpbnN0YW5jZSkge1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgSW5zZXJ0aW5nIGJsb2NrIHdpdGggaW5mbzogJHtKU09OLnN0cmluZ2lmeShibG9ja0luZm8pfWAsXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRoaXMuYmxvY2tSZXBvc2l0b3J5Lmluc2VydChibG9ja0luZm8pO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYFVwZGF0aW5nIGJsb2NrIHdpdGggaW5mbzogJHtKU09OLnN0cmluZ2lmeShibG9ja0luZm8pfWAsXG4gICAgICAgICk7XG4gICAgICAgIGF3YWl0IHRoaXMuYmxvY2tSZXBvc2l0b3J5LnVwZGF0ZShcbiAgICAgICAgICB7IGhlaWdodDogYmxvY2suaGVpZ2h0LCBzY2FubmVyOiB0aGlzLm5hbWUoKSB9LFxuICAgICAgICAgIGJsb2NrSW5mbyxcbiAgICAgICAgKTtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHJlcyA9IGF3YWl0IHRoaXMuYmxvY2tSZXBvc2l0b3J5LmZpbmRPbmVCeSh7XG4gICAgICAgIGhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgICBzY2FubmVyOiB0aGlzLm5hbWUoKSxcbiAgICAgIH0pO1xuICAgICAgcmV0dXJuIHJlcyA/IHJlcyA6IGZhbHNlO1xuICAgIH0gY2F0Y2ggKGV4cCkge1xuICAgICAgdGhpcy5sb2dnZXIuZXJyb3IoYEFuIGVycm9yIG9jY3VycmVkIGR1cmluZyBzYXZlIG5ldyBibG9jazogJHtleHB9YCk7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgc3RhdHVzIG9mIGEgYmxvY2sgdG8gcHJvY2VlZFxuICAgKiBAcGFyYW0gaGVpZ2h0OiBoZWlnaHQgb2YgZXhwZWN0ZWQgYmxvY2tcbiAgICovXG4gIHVwZGF0ZUJsb2NrU3RhdHVzID0gYXN5bmMgKFxuICAgIGhlaWdodDogbnVtYmVyLFxuICAgIGJsb2NrSGFzaDogc3RyaW5nLFxuICAgIGV4dHJhY3Rvcklkczogc3RyaW5nW10sXG4gICk6IFByb21pc2U8Ym9vbGVhbj4gPT4ge1xuICAgIGxldCBzdWNjZXNzID0gdHJ1ZTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgIGBCbG9jayBhdCBoZWlnaHQgJHtoZWlnaHR9IGhhcyBiZWVuIHByb2NlZWQgaW4gc2Nhbm5lciAke3RoaXMubmFtZSgpfSwgdXBkYXRpbmcgc3RhdHVzYCxcbiAgICApO1xuICAgIGNvbnN0IHJ1bm5lciA9IHRoaXMuZGF0YVNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcnVubmVyLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgcnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShCbG9ja0VudGl0eSkudXBkYXRlKFxuICAgICAgICB7XG4gICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICAgICAgc3RhdHVzOiBQUk9DRVNTSU5HLFxuICAgICAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdHVzOiBQUk9DRUVELFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoJ1VwZGF0aW5nIGV4dHJhY3RvcnMgc3RhdHVzJywge1xuICAgICAgICBleHRyYWN0b3JJZHMsXG4gICAgICB9KTtcbiAgICAgIGF3YWl0IHJ1bm5lci5tYW5hZ2VyXG4gICAgICAgIC5nZXRSZXBvc2l0b3J5KEV4dHJhY3RvclN0YXR1c0VudGl0eSlcbiAgICAgICAgLnVwZGF0ZShcbiAgICAgICAgICB7IGV4dHJhY3RvcklkOiBJbihleHRyYWN0b3JJZHMpLCBzY2FubmVySWQ6IHRoaXMubmFtZSgpIH0sXG4gICAgICAgICAgeyB1cGRhdGVIZWlnaHQ6IGhlaWdodCwgdXBkYXRlQmxvY2tIYXNoOiBibG9ja0hhc2ggfSxcbiAgICAgICAgKTtcbiAgICAgIGF3YWl0IHJ1bm5lci5jb21taXRUcmFuc2FjdGlvbigpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGF3YWl0IHJ1bm5lci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICBzdWNjZXNzID0gZmFsc2U7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgc3RhdHVzIG9mIGEgYmxvY2sgdG8gcHJvY2Vzc2luZyBpbiBjYXNlIG9mIGZvcmtcbiAgICogQHBhcmFtIGhlaWdodDogaGVpZ2h0IG9mIGV4cGVjdGVkIGJsb2NrXG4gICAqL1xuICByZXZlcnRCbG9ja1N0YXR1cyA9IGFzeW5jIChcbiAgICBoZWlnaHQ6IG51bWJlcixcbiAgICBwYXJlbnRIYXNoOiBzdHJpbmcsXG4gICAgZXh0cmFjdG9ySWRzOiBzdHJpbmdbXSxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICAgIGNvbnN0IHJ1bm5lciA9IHRoaXMuZGF0YVNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcnVubmVyLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFJldmVydGluZyBibG9jayBzdGF0dXMgYXQgaGVpZ2h0ICR7aGVpZ2h0fWApO1xuICAgICAgYXdhaXQgcnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShCbG9ja0VudGl0eSkudXBkYXRlKFxuICAgICAgICB7XG4gICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICAgICAgc3RhdHVzOiBQUk9DRUVELFxuICAgICAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdHVzOiBQUk9DRVNTSU5HLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBSZXZlcnRpbmcgZXh0cmFjdG9ycyB1cGRhdGUgaGVpZ2h0IHRvIHByZXZpb3VzIGJsb2NrIGF0IGhlaWdodCAke1xuICAgICAgICAgIGhlaWdodCAtIDFcbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgICAgYXdhaXQgcnVubmVyLm1hbmFnZXJcbiAgICAgICAgLmdldFJlcG9zaXRvcnkoRXh0cmFjdG9yU3RhdHVzRW50aXR5KVxuICAgICAgICAudXBkYXRlKFxuICAgICAgICAgIHsgZXh0cmFjdG9ySWQ6IEluKGV4dHJhY3RvcklkcyksIHNjYW5uZXJJZDogdGhpcy5uYW1lKCkgfSxcbiAgICAgICAgICB7IHVwZGF0ZUhlaWdodDogaGVpZ2h0IC0gMSwgdXBkYXRlQmxvY2tIYXNoOiBwYXJlbnRIYXNoIH0sXG4gICAgICAgICk7XG4gICAgICBhd2FpdCBydW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKGBBbiBFcnJvciBvY2N1cnJlZCB3aGlsZSByZXZlcnRpbmcgYmxvY2sgc3RhdHVzOiAke2V9YCk7XG4gICAgICBhd2FpdCBydW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBydW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfTtcblxuICAvKipcbiAgICogSW5zZXJ0IGEgbmV3bHkgaW5pdGlhbGl6ZWQgZXh0cmFjdG9yIG9yIHVwZGF0ZSBhbiBleGlzdGluZyBleHRyYWN0b3Igc3RhdHVzXG4gICAqIEBwYXJhbSBleHRyYWN0b3JJZFxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEByZXR1cm5zXG4gICAqL1xuICB1cGRhdGVPckluc2VydEV4dHJhY3RvclN0YXR1cyA9IGFzeW5jIChcbiAgICBleHRyYWN0b3JJZDogc3RyaW5nLFxuICAgIGhlaWdodDogbnVtYmVyLFxuICAgIGJsb2NrSGFzaDogc3RyaW5nLFxuICApID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICdJbnNlcnRpbmcgbmV3IGV4dHJhY3RvciBzdGF0dXMgb3IgVXBkYXRpbmcgZXhpc3RpbmcgcmVzeW5jZWQgZXh0cmFjdG9yIHN0YXR1cycsXG4gICAgICB7XG4gICAgICAgIGV4dHJhY3RvcklkLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIGJsb2NrSGFzaCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5leHRyYWN0b3JTdGF0dXNSZXBvc2l0b3J5LnNhdmUoe1xuICAgICAgc2Nhbm5lcklkOiB0aGlzLm5hbWUoKSxcbiAgICAgIGV4dHJhY3RvcklkLFxuICAgICAgdXBkYXRlSGVpZ2h0OiBoZWlnaHQsXG4gICAgICB1cGRhdGVCbG9ja0hhc2g6IGJsb2NrSGFzaCxcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIGV4dHJhY3RvcnNgIHN0YXR1cyBzcGVjaWZpZWQgYnkgaWRcbiAgICogQHBhcmFtIGV4dHJhY3Rvcklkc1xuICAgKiBAcmV0dXJucyBleHRyYWN0b3JzYCBzdGF0dXNcbiAgICovXG4gIGdldEV4dHJhY3RvcnNTdGF0dXMgPSBhc3luYyAoXG4gICAgZXh0cmFjdG9ySWRzOiBzdHJpbmdbXSxcbiAgKTogUHJvbWlzZTxFeHRyYWN0b3JTdGF0dXNFbnRpdHlbXT4gPT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmV4dHJhY3RvclN0YXR1c1JlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgIHNjYW5uZXJJZDogdGhpcy5uYW1lKCksXG4gICAgICBleHRyYWN0b3JJZDogSW4oZXh0cmFjdG9ySWRzKSxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
251
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vbGliL3NjYW5uZXIvYWN0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFDNUUsT0FBTyxFQUdMLGVBQWUsRUFFZixFQUFFLEdBQ0gsTUFBTSxnQ0FBZ0MsQ0FBQztBQUd4QyxPQUFPLEVBQUUsV0FBVyxFQUFFLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSx5QkFBeUIsQ0FBQztBQUMzRSxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSxtQ0FBbUMsQ0FBQztBQUUxRSxNQUFNLE9BQU8sYUFBYTtJQUNmLGVBQWUsQ0FBMEI7SUFDekMseUJBQXlCLENBQW9DO0lBQzdELFVBQVUsQ0FBYTtJQUN2QixXQUFXLENBQVM7SUFDcEIsTUFBTSxDQUFpQjtJQUVoQyxZQUNFLFVBQXNCLEVBQ3RCLFdBQW1CLEVBQ25CLE1BQXVCO1FBRXZCLElBQUksQ0FBQyxlQUFlLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FBQyxXQUFXLENBQUMsQ0FBQztRQUM3RCxJQUFJLENBQUMseUJBQXlCLEdBQUcsVUFBVSxDQUFDLGFBQWEsQ0FDdkQscUJBQXFCLENBQ3RCLENBQUM7UUFDRixJQUFJLENBQUMsVUFBVSxHQUFHLFVBQVUsQ0FBQztRQUM3QixJQUFJLENBQUMsV0FBVyxHQUFHLFdBQVcsQ0FBQztRQUMvQixJQUFJLENBQUMsTUFBTSxHQUFHLE1BQU0sQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxJQUFJLFdBQVcsRUFBRSxDQUFDO0lBQ3BELENBQUM7SUFFUSxJQUFJLEdBQUcsR0FBRyxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQztJQUV2Qzs7O09BR0c7SUFDSCxpQkFBaUIsR0FBRyxLQUFLLElBQXNDLEVBQUU7UUFDL0QsTUFBTSxTQUFTLEdBQUcsTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNoRCxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEQsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUN6QixJQUFJLEVBQUUsQ0FBQztTQUNSLENBQUMsQ0FBQztRQUNILElBQUksU0FBUyxDQUFDLE1BQU0sS0FBSyxDQUFDLEVBQUUsQ0FBQztZQUMzQixPQUFPLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUN0QixDQUFDO2FBQU0sQ0FBQztZQUNOLE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7SUFDSCxDQUFDLENBQUM7SUFFRjs7OztPQUlHO0lBQ0gsa0JBQWtCLEdBQUcsS0FBSyxFQUN4QixJQUFZLEVBQ1osS0FBYSxFQUNnQixFQUFFO1FBQy9CLE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQztZQUNyQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsT0FBTyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUU7WUFDaEQsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE1BQU0sRUFBRTtZQUN6QixJQUFJLEVBQUUsSUFBSTtZQUNWLElBQUksRUFBRSxLQUFLO1NBQ1osQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUY7OztPQUdHO0lBQ0gsa0JBQWtCLEdBQUcsS0FBSyxJQUFzQyxFQUFFO1FBQ2hFLE1BQU0sU0FBUyxHQUFHLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUM7WUFDaEQsS0FBSyxFQUFFLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxFQUFFO1lBQ2hELEtBQUssRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7WUFDeEIsSUFBSSxFQUFFLENBQUM7U0FDUixDQUFDLENBQUM7UUFDSCxJQUFJLFNBQVMsQ0FBQyxNQUFNLEtBQUssQ0FBQyxFQUFFLENBQUM7WUFDM0IsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEIsQ0FBQzthQUFNLENBQUM7WUFDTixPQUFPLFNBQVMsQ0FBQztRQUNuQixDQUFDO0lBQ0gsQ0FBQyxDQUFDO0lBRUY7Ozs7O09BS0c7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQ3RCLE1BQWMsRUFDZCxTQUFpQixPQUFPLEVBQ1UsRUFBRTtRQUNwQyxNQUFNLEtBQUssR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO1lBQ2pELE1BQU0sRUFBRSxNQUFNO1lBQ2QsTUFBTSxFQUFFLE1BQU07WUFDZCxPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUNyQixDQUFDLENBQUM7UUFDSCxJQUFJLEtBQUssS0FBSyxJQUFJLEVBQUUsQ0FBQztZQUNuQixPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7YUFBTSxDQUFDO1lBQ04sT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxnQkFBZ0IsR0FBRyxLQUFLLEVBQUUsSUFBWSxFQUFFLFNBQWlCLE9BQU8sRUFBRSxFQUFFO1FBQ2xFLE9BQU8sSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUM7WUFDcEMsSUFBSSxFQUFFLElBQUk7WUFDVixNQUFNLEVBQUUsTUFBTTtZQUNkLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1NBQ3JCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztJQUVGOzs7O09BSUc7SUFDSCxzQkFBc0IsR0FBRyxLQUFLLEVBQUUsTUFBYyxFQUF5QixFQUFFO1FBQ3ZFLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLCtCQUErQixNQUFNLEVBQUUsQ0FBQyxDQUFDO1FBQzNELE9BQU8sTUFBTSxJQUFJLENBQUMsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUN2QyxNQUFNLEVBQUUsZUFBZSxDQUFDLE1BQU0sQ0FBQztZQUMvQixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtTQUNyQixDQUFDLENBQUM7SUFDTCxDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxTQUFTLEdBQUcsS0FBSyxFQUFFLEtBQVksRUFBa0MsRUFBRTtRQUNqRSxJQUFJLENBQUM7WUFDSCxNQUFNLFFBQVEsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO2dCQUNwRCxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ3JCLENBQUMsQ0FBQztZQUNILE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLENBQUM7WUFDOUMsTUFBTSxTQUFTLEdBQUc7Z0JBQ2hCLE1BQU0sRUFBRSxLQUFLLENBQUMsTUFBTTtnQkFDcEIsSUFBSSxFQUFFLEtBQUssQ0FBQyxJQUFJO2dCQUNoQixVQUFVLEVBQUUsS0FBSyxDQUFDLFVBQVU7Z0JBQzVCLE1BQU0sRUFBRSxVQUFVO2dCQUNsQixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtnQkFDcEIsS0FBSyxFQUFFLEtBQUssQ0FBQyxLQUFLO2dCQUNsQixTQUFTLEVBQUUsS0FBSyxDQUFDLFNBQVM7Z0JBQzFCLElBQUksRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFFO2dCQUN4QixLQUFLLEVBQUUsSUFBSSxDQUFDLFFBQVEsRUFBRSxHQUFHLENBQUM7Z0JBQzFCLEdBQUcsRUFBRSxJQUFJLENBQUMsT0FBTyxFQUFFO2FBQ3BCLENBQUM7WUFDRixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUM7Z0JBQ2QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsOEJBQThCLElBQUksQ0FBQyxTQUFTLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FDMUQsQ0FBQztnQkFDRixNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1lBQy9DLENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiw2QkFBNkIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxTQUFTLENBQUMsRUFBRSxDQUN6RCxDQUFDO2dCQUNGLE1BQU0sSUFBSSxDQUFDLGVBQWUsQ0FBQyxNQUFNLENBQy9CLEVBQUUsTUFBTSxFQUFFLEtBQUssQ0FBQyxNQUFNLEVBQUUsT0FBTyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUM5QyxTQUFTLENBQ1YsQ0FBQztZQUNKLENBQUM7WUFDRCxNQUFNLEdBQUcsR0FBRyxNQUFNLElBQUksQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO2dCQUMvQyxNQUFNLEVBQUUsS0FBSyxDQUFDLE1BQU07Z0JBQ3BCLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ3JCLENBQUMsQ0FBQztZQUNILE9BQU8sR0FBRyxDQUFDLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztRQUMzQixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLDRDQUE0QyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3JFLE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztJQUNILENBQUMsQ0FBQztJQUVGOzs7T0FHRztJQUNILGlCQUFpQixHQUFHLEtBQUssRUFDdkIsTUFBYyxFQUNkLFNBQWlCLEVBQ2pCLFlBQXNCLEVBQ0osRUFBRTtRQUNwQixJQUFJLE9BQU8sR0FBRyxJQUFJLENBQUM7UUFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQ2YsbUJBQW1CLE1BQU0sZ0NBQWdDLElBQUksQ0FBQyxJQUFJLEVBQUUsbUJBQW1CLENBQ3hGLENBQUM7UUFDRixNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsVUFBVSxDQUFDLGlCQUFpQixFQUFFLENBQUM7UUFDbkQsTUFBTSxNQUFNLENBQUMsT0FBTyxFQUFFLENBQUM7UUFDdkIsTUFBTSxNQUFNLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUM7WUFDSCxNQUFNLE1BQU0sQ0FBQyxPQUFPLENBQUMsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FDcEQ7Z0JBQ0UsTUFBTSxFQUFFLE1BQU07Z0JBQ2QsTUFBTSxFQUFFLFVBQVU7Z0JBQ2xCLE9BQU8sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO2FBQ3JCLEVBQ0Q7Z0JBQ0UsTUFBTSxFQUFFLE9BQU87YUFDaEIsQ0FDRixDQUFDO1lBRUYsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEVBQUU7Z0JBQzlDLFlBQVk7YUFDYixDQUFDLENBQUM7WUFDSCxNQUFNLE1BQU0sQ0FBQyxPQUFPO2lCQUNqQixhQUFhLENBQUMscUJBQXFCLENBQUM7aUJBQ3BDLE1BQU0sQ0FDTCxFQUFFLFdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDLEVBQUUsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsRUFBRSxFQUN6RCxFQUFFLFlBQVksRUFBRSxNQUFNLEVBQUUsZUFBZSxFQUFFLFNBQVMsRUFBRSxDQUNyRCxDQUFDO1lBQ0osTUFBTSxNQUFNLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNuQyxDQUFDO1FBQUMsTUFBTSxDQUFDO1lBQ1AsTUFBTSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNuQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSCxpQkFBaUIsR0FBRyxLQUFLLEVBQ3ZCLE1BQWMsRUFDZCxVQUFrQixFQUNsQixZQUFzQixFQUNKLEVBQUU7UUFDcEIsSUFBSSxPQUFPLEdBQUcsSUFBSSxDQUFDO1FBQ25CLE1BQU0sTUFBTSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsaUJBQWlCLEVBQUUsQ0FBQztRQUNuRCxNQUFNLE1BQU0sQ0FBQyxPQUFPLEVBQUUsQ0FBQztRQUN2QixNQUFNLE1BQU0sQ0FBQyxnQkFBZ0IsRUFBRSxDQUFDO1FBQ2hDLElBQUksQ0FBQztZQUNILElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLG9DQUFvQyxNQUFNLEVBQUUsQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxDQUNwRDtnQkFDRSxNQUFNLEVBQUUsTUFBTTtnQkFDZCxNQUFNLEVBQUUsT0FBTztnQkFDZixPQUFPLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTthQUNyQixFQUNEO2dCQUNFLE1BQU0sRUFBRSxVQUFVO2FBQ25CLENBQ0YsQ0FBQztZQUVGLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUNmLGtFQUNFLE1BQU0sR0FBRyxDQUNYLEVBQUUsQ0FDSCxDQUFDO1lBQ0YsTUFBTSxNQUFNLENBQUMsT0FBTztpQkFDakIsYUFBYSxDQUFDLHFCQUFxQixDQUFDO2lCQUNwQyxNQUFNLENBQ0wsRUFBRSxXQUFXLEVBQUUsRUFBRSxDQUFDLFlBQVksQ0FBQyxFQUFFLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEVBQUUsRUFDekQsRUFBRSxZQUFZLEVBQUUsTUFBTSxHQUFHLENBQUMsRUFBRSxlQUFlLEVBQUUsVUFBVSxFQUFFLENBQzFELENBQUM7WUFDSixNQUFNLE1BQU0sQ0FBQyxpQkFBaUIsRUFBRSxDQUFDO1FBQ25DLENBQUM7UUFBQyxPQUFPLENBQUMsRUFBRSxDQUFDO1lBQ1gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsbURBQW1ELENBQUMsRUFBRSxDQUFDLENBQUM7WUFDekUsTUFBTSxNQUFNLENBQUMsbUJBQW1CLEVBQUUsQ0FBQztZQUNuQyxPQUFPLEdBQUcsS0FBSyxDQUFDO1FBQ2xCLENBQUM7Z0JBQVMsQ0FBQztZQUNULE1BQU0sTUFBTSxDQUFDLE9BQU8sRUFBRSxDQUFDO1FBQ3pCLENBQUM7UUFDRCxPQUFPLE9BQU8sQ0FBQztJQUNqQixDQUFDLENBQUM7SUFFRjs7Ozs7T0FLRztJQUNILDZCQUE2QixHQUFHLEtBQUssRUFDbkMsV0FBbUIsRUFDbkIsTUFBYyxFQUNkLFNBQWlCLEVBQ2pCLEVBQUU7UUFDRixJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FDZiwrRUFBK0UsRUFDL0U7WUFDRSxXQUFXO1lBQ1gsTUFBTTtZQUNOLFNBQVM7U0FDVixDQUNGLENBQUM7UUFDRixPQUFPLE1BQU0sSUFBSSxDQUFDLHlCQUF5QixDQUFDLElBQUksQ0FBQztZQUMvQyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRTtZQUN0QixXQUFXO1lBQ1gsWUFBWSxFQUFFLE1BQU07WUFDcEIsZUFBZSxFQUFFLFNBQVM7U0FDM0IsQ0FBQyxDQUFDO0lBQ0wsQ0FBQyxDQUFDO0lBRUY7Ozs7T0FJRztJQUNILG1CQUFtQixHQUFHLEtBQUssRUFDekIsWUFBc0IsRUFDWSxFQUFFO1FBQ3BDLE9BQU8sTUFBTSxJQUFJLENBQUMseUJBQXlCLENBQUMsTUFBTSxDQUFDO1lBQ2pELFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFO1lBQ3RCLFdBQVcsRUFBRSxFQUFFLENBQUMsWUFBWSxDQUFDO1NBQzlCLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztDQUNIIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHtcbiAgRGF0YVNvdXJjZSxcbiAgRGVsZXRlUmVzdWx0LFxuICBNb3JlVGhhbk9yRXF1YWwsXG4gIFJlcG9zaXRvcnksXG4gIEluLFxufSBmcm9tICdAcm9zZW4tYnJpZGdlL2V4dGVuZGVkLXR5cGVvcm0nO1xuaW1wb3J0IHsgQmxvY2sgfSBmcm9tICdAcm9zZW4tYnJpZGdlL3NjYW5uZXItaW50ZXJmYWNlcyc7XG5cbmltcG9ydCB7IEJsb2NrRW50aXR5LCBQUk9DRUVELCBQUk9DRVNTSU5HIH0gZnJvbSAnLi4vZW50aXRpZXMvYmxvY2tFbnRpdHknO1xuaW1wb3J0IHsgRXh0cmFjdG9yU3RhdHVzRW50aXR5IH0gZnJvbSAnLi4vZW50aXRpZXMvZXh0cmFjdG9yU3RhdHVzRW50aXR5JztcblxuZXhwb3J0IGNsYXNzIEJsb2NrRGJBY3Rpb24ge1xuICByZWFkb25seSBibG9ja1JlcG9zaXRvcnk6IFJlcG9zaXRvcnk8QmxvY2tFbnRpdHk+O1xuICByZWFkb25seSBleHRyYWN0b3JTdGF0dXNSZXBvc2l0b3J5OiBSZXBvc2l0b3J5PEV4dHJhY3RvclN0YXR1c0VudGl0eT47XG4gIHJlYWRvbmx5IGRhdGFTb3VyY2U6IERhdGFTb3VyY2U7XG4gIHJlYWRvbmx5IHNjYW5uZXJOYW1lOiBzdHJpbmc7XG4gIHJlYWRvbmx5IGxvZ2dlcjogQWJzdHJhY3RMb2dnZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgZGF0YVNvdXJjZTogRGF0YVNvdXJjZSxcbiAgICBzY2FubmVyTmFtZTogc3RyaW5nLFxuICAgIGxvZ2dlcj86IEFic3RyYWN0TG9nZ2VyLFxuICApIHtcbiAgICB0aGlzLmJsb2NrUmVwb3NpdG9yeSA9IGRhdGFTb3VyY2UuZ2V0UmVwb3NpdG9yeShCbG9ja0VudGl0eSk7XG4gICAgdGhpcy5leHRyYWN0b3JTdGF0dXNSZXBvc2l0b3J5ID0gZGF0YVNvdXJjZS5nZXRSZXBvc2l0b3J5KFxuICAgICAgRXh0cmFjdG9yU3RhdHVzRW50aXR5LFxuICAgICk7XG4gICAgdGhpcy5kYXRhU291cmNlID0gZGF0YVNvdXJjZTtcbiAgICB0aGlzLnNjYW5uZXJOYW1lID0gc2Nhbm5lck5hbWU7XG4gICAgdGhpcy5sb2dnZXIgPSBsb2dnZXIgPyBsb2dnZXIgOiBuZXcgRHVtbXlMb2dnZXIoKTtcbiAgfVxuXG4gIHJlYWRvbmx5IG5hbWUgPSAoKSA9PiB0aGlzLnNjYW5uZXJOYW1lO1xuXG4gIC8qKlxuICAgKiBnZXQgbGFzdCBzYXZlZCBibG9ja1xuICAgKiBAcmV0dXJuIFByb21pc2U8QmxvY2tFbnRpdHkgb3IgdW5kZWZpbmVkPlxuICAgKi9cbiAgZ2V0TGFzdFNhdmVkQmxvY2sgPSBhc3luYyAoKTogUHJvbWlzZTxCbG9ja0VudGl0eSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIGNvbnN0IGxhc3RCbG9jayA9IGF3YWl0IHRoaXMuYmxvY2tSZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgd2hlcmU6IHsgc3RhdHVzOiBQUk9DRUVELCBzY2FubmVyOiB0aGlzLm5hbWUoKSB9LFxuICAgICAgb3JkZXI6IHsgaGVpZ2h0OiAnREVTQycgfSxcbiAgICAgIHRha2U6IDEsXG4gICAgfSk7XG4gICAgaWYgKGxhc3RCbG9jay5sZW5ndGggIT09IDApIHtcbiAgICAgIHJldHVybiBsYXN0QmxvY2tbMF07XG4gICAgfSBlbHNlIHtcbiAgICAgIHJldHVybiB1bmRlZmluZWQ7XG4gICAgfVxuICB9O1xuXG4gIC8qKlxuICAgKiBnZXQgbGFzdCBuIHN0b3JlZCBibG9ja3MgaW4gZGF0YWJhc2VcbiAgICogQHBhcmFtIHNraXBcbiAgICogQHBhcmFtIGNvdW50XG4gICAqL1xuICBnZXRMYXN0U2F2ZWRCbG9ja3MgPSBhc3luYyAoXG4gICAgc2tpcDogbnVtYmVyLFxuICAgIGNvdW50OiBudW1iZXIsXG4gICk6IFByb21pc2U8QXJyYXk8QmxvY2tFbnRpdHk+PiA9PiB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuYmxvY2tSZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgd2hlcmU6IHsgc3RhdHVzOiBQUk9DRUVELCBzY2FubmVyOiB0aGlzLm5hbWUoKSB9LFxuICAgICAgb3JkZXI6IHsgaGVpZ2h0OiAnREVTQycgfSxcbiAgICAgIHNraXA6IHNraXAsXG4gICAgICB0YWtlOiBjb3VudCxcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogZ2V0IGZpcnN0IHNhdmVkIGJsb2NrXG4gICAqIEByZXR1cm4gUHJvbWlzZTxCbG9ja0VudGl0eSBvciB1bmRlZmluZWQ+XG4gICAqL1xuICBnZXRGaXJzdFNhdmVkQmxvY2sgPSBhc3luYyAoKTogUHJvbWlzZTxCbG9ja0VudGl0eSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIGNvbnN0IGxhc3RCbG9jayA9IGF3YWl0IHRoaXMuYmxvY2tSZXBvc2l0b3J5LmZpbmQoe1xuICAgICAgd2hlcmU6IHsgc3RhdHVzOiBQUk9DRUVELCBzY2FubmVyOiB0aGlzLm5hbWUoKSB9LFxuICAgICAgb3JkZXI6IHsgaGVpZ2h0OiAnQVNDJyB9LFxuICAgICAgdGFrZTogMSxcbiAgICB9KTtcbiAgICBpZiAobGFzdEJsb2NrLmxlbmd0aCAhPT0gMCkge1xuICAgICAgcmV0dXJuIGxhc3RCbG9ja1swXTtcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGdldCBibG9jayBoYXNoIGFuZCBoZWlnaHRcbiAgICogQHBhcmFtIGhlaWdodFxuICAgKiBAcGFyYW0gc3RhdHVzXG4gICAqIEByZXR1cm4gUHJvbWlzZTxCbG9ja0VudGl0eXx1bmRlZmluZWQ+XG4gICAqL1xuICBnZXRCbG9ja0F0SGVpZ2h0ID0gYXN5bmMgKFxuICAgIGhlaWdodDogbnVtYmVyLFxuICAgIHN0YXR1czogc3RyaW5nID0gUFJPQ0VFRCxcbiAgKTogUHJvbWlzZTxCbG9ja0VudGl0eSB8IHVuZGVmaW5lZD4gPT4ge1xuICAgIGNvbnN0IGJsb2NrID0gYXdhaXQgdGhpcy5ibG9ja1JlcG9zaXRvcnkuZmluZE9uZUJ5KHtcbiAgICAgIHN0YXR1czogc3RhdHVzLFxuICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICBzY2FubmVyOiB0aGlzLm5hbWUoKSxcbiAgICB9KTtcbiAgICBpZiAoYmxvY2sgIT09IG51bGwpIHtcbiAgICAgIHJldHVybiBibG9jaztcbiAgICB9IGVsc2Uge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICB9XG4gIH07XG5cbiAgLyoqXG4gICAqIGdldCBibG9jayB3aXRoIGVudGVyZWQgYmxvY2toYXNoXG4gICAqIEBwYXJhbSBoYXNoXG4gICAqIEBwYXJhbSBzdGF0dXNcbiAgICovXG4gIGdldEJsb2NrV2l0aEhhc2ggPSBhc3luYyAoaGFzaDogc3RyaW5nLCBzdGF0dXM6IHN0cmluZyA9IFBST0NFRUQpID0+IHtcbiAgICByZXR1cm4gdGhpcy5ibG9ja1JlcG9zaXRvcnkuZmluZE9uZUJ5KHtcbiAgICAgIGhhc2g6IGhhc2gsXG4gICAgICBzdGF0dXM6IHN0YXR1cyxcbiAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBpdCBkZWxldGVzIGV2ZXJ5IGJsb2NrIHRoYXQgbW9yZSB0aGFuIG9yIGVxdWFsIGhlaWdodFxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEByZXR1cm4gUHJvbWlzZTxEZWxldGVSZXN1bHQ+XG4gICAqL1xuICByZW1vdmVCbG9ja3NGcm9tSGVpZ2h0ID0gYXN5bmMgKGhlaWdodDogbnVtYmVyKTogUHJvbWlzZTxEZWxldGVSZXN1bHQ+ID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgUmVtb3ZpbmcgYmxvY2tzIGZyb20gaGVpZ2h0ICR7aGVpZ2h0fWApO1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmJsb2NrUmVwb3NpdG9yeS5kZWxldGUoe1xuICAgICAgaGVpZ2h0OiBNb3JlVGhhbk9yRXF1YWwoaGVpZ2h0KSxcbiAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgIH0pO1xuICB9O1xuXG4gIC8qKlxuICAgKiBzdG9yZSBhIGJsb2NrIGludG8gZGF0YWJhc2UuXG4gICAqIEBwYXJhbSBibG9ja1xuICAgKi9cbiAgc2F2ZUJsb2NrID0gYXN5bmMgKGJsb2NrOiBCbG9jayk6IFByb21pc2U8QmxvY2tFbnRpdHkgfCBib29sZWFuPiA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGluc3RhbmNlID0gYXdhaXQgdGhpcy5ibG9ja1JlcG9zaXRvcnkuZmluZE9uZUJ5KHtcbiAgICAgICAgaGVpZ2h0OiBibG9jay5oZWlnaHQsXG4gICAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgICAgfSk7XG4gICAgICBjb25zdCBkYXRlID0gbmV3IERhdGUoYmxvY2sudGltZXN0YW1wICogMTAwMCk7XG4gICAgICBjb25zdCBibG9ja0luZm8gPSB7XG4gICAgICAgIGhlaWdodDogYmxvY2suaGVpZ2h0LFxuICAgICAgICBoYXNoOiBibG9jay5oYXNoLFxuICAgICAgICBwYXJlbnRIYXNoOiBibG9jay5wYXJlbnRIYXNoLFxuICAgICAgICBzdGF0dXM6IFBST0NFU1NJTkcsXG4gICAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgICAgICBleHRyYTogYmxvY2suZXh0cmEsXG4gICAgICAgIHRpbWVzdGFtcDogYmxvY2sudGltZXN0YW1wLFxuICAgICAgICB5ZWFyOiBkYXRlLmdldEZ1bGxZZWFyKCksXG4gICAgICAgIG1vbnRoOiBkYXRlLmdldE1vbnRoKCkgKyAxLFxuICAgICAgICBkYXk6IGRhdGUuZ2V0RGF0ZSgpLFxuICAgICAgfTtcbiAgICAgIGlmICghaW5zdGFuY2UpIHtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYEluc2VydGluZyBibG9jayB3aXRoIGluZm86ICR7SlNPTi5zdHJpbmdpZnkoYmxvY2tJbmZvKX1gLFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0aGlzLmJsb2NrUmVwb3NpdG9yeS5pbnNlcnQoYmxvY2tJbmZvKTtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBVcGRhdGluZyBibG9jayB3aXRoIGluZm86ICR7SlNPTi5zdHJpbmdpZnkoYmxvY2tJbmZvKX1gLFxuICAgICAgICApO1xuICAgICAgICBhd2FpdCB0aGlzLmJsb2NrUmVwb3NpdG9yeS51cGRhdGUoXG4gICAgICAgICAgeyBoZWlnaHQ6IGJsb2NrLmhlaWdodCwgc2Nhbm5lcjogdGhpcy5uYW1lKCkgfSxcbiAgICAgICAgICBibG9ja0luZm8sXG4gICAgICAgICk7XG4gICAgICB9XG4gICAgICBjb25zdCByZXMgPSBhd2FpdCB0aGlzLmJsb2NrUmVwb3NpdG9yeS5maW5kT25lQnkoe1xuICAgICAgICBoZWlnaHQ6IGJsb2NrLmhlaWdodCxcbiAgICAgICAgc2Nhbm5lcjogdGhpcy5uYW1lKCksXG4gICAgICB9KTtcbiAgICAgIHJldHVybiByZXMgPyByZXMgOiBmYWxzZTtcbiAgICB9IGNhdGNoIChleHApIHtcbiAgICAgIHRoaXMubG9nZ2VyLmVycm9yKGBBbiBlcnJvciBvY2N1cnJlZCBkdXJpbmcgc2F2ZSBuZXcgYmxvY2s6ICR7ZXhwfWApO1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfTtcblxuICAvKipcbiAgICogVXBkYXRlIHN0YXR1cyBvZiBhIGJsb2NrIHRvIHByb2NlZWRcbiAgICogQHBhcmFtIGhlaWdodDogaGVpZ2h0IG9mIGV4cGVjdGVkIGJsb2NrXG4gICAqL1xuICB1cGRhdGVCbG9ja1N0YXR1cyA9IGFzeW5jIChcbiAgICBoZWlnaHQ6IG51bWJlcixcbiAgICBibG9ja0hhc2g6IHN0cmluZyxcbiAgICBleHRyYWN0b3JJZHM6IHN0cmluZ1tdLFxuICApOiBQcm9taXNlPGJvb2xlYW4+ID0+IHtcbiAgICBsZXQgc3VjY2VzcyA9IHRydWU7XG4gICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICBgQmxvY2sgYXQgaGVpZ2h0ICR7aGVpZ2h0fSBoYXMgYmVlbiBwcm9jZWVkIGluIHNjYW5uZXIgJHt0aGlzLm5hbWUoKX0sIHVwZGF0aW5nIHN0YXR1c2AsXG4gICAgKTtcbiAgICBjb25zdCBydW5uZXIgPSB0aGlzLmRhdGFTb3VyY2UuY3JlYXRlUXVlcnlSdW5uZXIoKTtcbiAgICBhd2FpdCBydW5uZXIuY29ubmVjdCgpO1xuICAgIGF3YWl0IHJ1bm5lci5zdGFydFRyYW5zYWN0aW9uKCk7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IHJ1bm5lci5tYW5hZ2VyLmdldFJlcG9zaXRvcnkoQmxvY2tFbnRpdHkpLnVwZGF0ZShcbiAgICAgICAge1xuICAgICAgICAgIGhlaWdodDogaGVpZ2h0LFxuICAgICAgICAgIHN0YXR1czogUFJPQ0VTU0lORyxcbiAgICAgICAgICBzY2FubmVyOiB0aGlzLm5hbWUoKSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHN0YXR1czogUFJPQ0VFRCxcbiAgICAgICAgfSxcbiAgICAgICk7XG5cbiAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdVcGRhdGluZyBleHRyYWN0b3JzIHN0YXR1cycsIHtcbiAgICAgICAgZXh0cmFjdG9ySWRzLFxuICAgICAgfSk7XG4gICAgICBhd2FpdCBydW5uZXIubWFuYWdlclxuICAgICAgICAuZ2V0UmVwb3NpdG9yeShFeHRyYWN0b3JTdGF0dXNFbnRpdHkpXG4gICAgICAgIC51cGRhdGUoXG4gICAgICAgICAgeyBleHRyYWN0b3JJZDogSW4oZXh0cmFjdG9ySWRzKSwgc2Nhbm5lcklkOiB0aGlzLm5hbWUoKSB9LFxuICAgICAgICAgIHsgdXBkYXRlSGVpZ2h0OiBoZWlnaHQsIHVwZGF0ZUJsb2NrSGFzaDogYmxvY2tIYXNoIH0sXG4gICAgICAgICk7XG4gICAgICBhd2FpdCBydW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIHtcbiAgICAgIGF3YWl0IHJ1bm5lci5yb2xsYmFja1RyYW5zYWN0aW9uKCk7XG4gICAgICBzdWNjZXNzID0gZmFsc2U7XG4gICAgfSBmaW5hbGx5IHtcbiAgICAgIGF3YWl0IHJ1bm5lci5yZWxlYXNlKCk7XG4gICAgfVxuICAgIHJldHVybiBzdWNjZXNzO1xuICB9O1xuXG4gIC8qKlxuICAgKiBVcGRhdGUgc3RhdHVzIG9mIGEgYmxvY2sgdG8gcHJvY2Vzc2luZyBpbiBjYXNlIG9mIGZvcmtcbiAgICogQHBhcmFtIGhlaWdodDogaGVpZ2h0IG9mIGV4cGVjdGVkIGJsb2NrXG4gICAqL1xuICByZXZlcnRCbG9ja1N0YXR1cyA9IGFzeW5jIChcbiAgICBoZWlnaHQ6IG51bWJlcixcbiAgICBwYXJlbnRIYXNoOiBzdHJpbmcsXG4gICAgZXh0cmFjdG9ySWRzOiBzdHJpbmdbXSxcbiAgKTogUHJvbWlzZTxib29sZWFuPiA9PiB7XG4gICAgbGV0IHN1Y2Nlc3MgPSB0cnVlO1xuICAgIGNvbnN0IHJ1bm5lciA9IHRoaXMuZGF0YVNvdXJjZS5jcmVhdGVRdWVyeVJ1bm5lcigpO1xuICAgIGF3YWl0IHJ1bm5lci5jb25uZWN0KCk7XG4gICAgYXdhaXQgcnVubmVyLnN0YXJ0VHJhbnNhY3Rpb24oKTtcbiAgICB0cnkge1xuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoYFJldmVydGluZyBibG9jayBzdGF0dXMgYXQgaGVpZ2h0ICR7aGVpZ2h0fWApO1xuICAgICAgYXdhaXQgcnVubmVyLm1hbmFnZXIuZ2V0UmVwb3NpdG9yeShCbG9ja0VudGl0eSkudXBkYXRlKFxuICAgICAgICB7XG4gICAgICAgICAgaGVpZ2h0OiBoZWlnaHQsXG4gICAgICAgICAgc3RhdHVzOiBQUk9DRUVELFxuICAgICAgICAgIHNjYW5uZXI6IHRoaXMubmFtZSgpLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgc3RhdHVzOiBQUk9DRVNTSU5HLFxuICAgICAgICB9LFxuICAgICAgKTtcblxuICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgIGBSZXZlcnRpbmcgZXh0cmFjdG9ycyB1cGRhdGUgaGVpZ2h0IHRvIHByZXZpb3VzIGJsb2NrIGF0IGhlaWdodCAke1xuICAgICAgICAgIGhlaWdodCAtIDFcbiAgICAgICAgfWAsXG4gICAgICApO1xuICAgICAgYXdhaXQgcnVubmVyLm1hbmFnZXJcbiAgICAgICAgLmdldFJlcG9zaXRvcnkoRXh0cmFjdG9yU3RhdHVzRW50aXR5KVxuICAgICAgICAudXBkYXRlKFxuICAgICAgICAgIHsgZXh0cmFjdG9ySWQ6IEluKGV4dHJhY3RvcklkcyksIHNjYW5uZXJJZDogdGhpcy5uYW1lKCkgfSxcbiAgICAgICAgICB7IHVwZGF0ZUhlaWdodDogaGVpZ2h0IC0gMSwgdXBkYXRlQmxvY2tIYXNoOiBwYXJlbnRIYXNoIH0sXG4gICAgICAgICk7XG4gICAgICBhd2FpdCBydW5uZXIuY29tbWl0VHJhbnNhY3Rpb24oKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICB0aGlzLmxvZ2dlci53YXJuKGBBbiBFcnJvciBvY2N1cnJlZCB3aGlsZSByZXZlcnRpbmcgYmxvY2sgc3RhdHVzOiAke2V9YCk7XG4gICAgICBhd2FpdCBydW5uZXIucm9sbGJhY2tUcmFuc2FjdGlvbigpO1xuICAgICAgc3VjY2VzcyA9IGZhbHNlO1xuICAgIH0gZmluYWxseSB7XG4gICAgICBhd2FpdCBydW5uZXIucmVsZWFzZSgpO1xuICAgIH1cbiAgICByZXR1cm4gc3VjY2VzcztcbiAgfTtcblxuICAvKipcbiAgICogSW5zZXJ0IGEgbmV3bHkgaW5pdGlhbGl6ZWQgZXh0cmFjdG9yIG9yIHVwZGF0ZSBhbiBleGlzdGluZyBleHRyYWN0b3Igc3RhdHVzXG4gICAqIEBwYXJhbSBleHRyYWN0b3JJZFxuICAgKiBAcGFyYW0gaGVpZ2h0XG4gICAqIEByZXR1cm5zXG4gICAqL1xuICB1cGRhdGVPckluc2VydEV4dHJhY3RvclN0YXR1cyA9IGFzeW5jIChcbiAgICBleHRyYWN0b3JJZDogc3RyaW5nLFxuICAgIGhlaWdodDogbnVtYmVyLFxuICAgIGJsb2NrSGFzaDogc3RyaW5nLFxuICApID0+IHtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICdJbnNlcnRpbmcgbmV3IGV4dHJhY3RvciBzdGF0dXMgb3IgVXBkYXRpbmcgZXhpc3RpbmcgcmVzeW5jZWQgZXh0cmFjdG9yIHN0YXR1cycsXG4gICAgICB7XG4gICAgICAgIGV4dHJhY3RvcklkLFxuICAgICAgICBoZWlnaHQsXG4gICAgICAgIGJsb2NrSGFzaCxcbiAgICAgIH0sXG4gICAgKTtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5leHRyYWN0b3JTdGF0dXNSZXBvc2l0b3J5LnNhdmUoe1xuICAgICAgc2Nhbm5lcklkOiB0aGlzLm5hbWUoKSxcbiAgICAgIGV4dHJhY3RvcklkLFxuICAgICAgdXBkYXRlSGVpZ2h0OiBoZWlnaHQsXG4gICAgICB1cGRhdGVCbG9ja0hhc2g6IGJsb2NrSGFzaCxcbiAgICB9KTtcbiAgfTtcblxuICAvKipcbiAgICogUmV0dXJuIGV4dHJhY3RvcnNgIHN0YXR1cyBzcGVjaWZpZWQgYnkgaWRcbiAgICogQHBhcmFtIGV4dHJhY3Rvcklkc1xuICAgKiBAcmV0dXJucyBleHRyYWN0b3JzYCBzdGF0dXNcbiAgICovXG4gIGdldEV4dHJhY3RvcnNTdGF0dXMgPSBhc3luYyAoXG4gICAgZXh0cmFjdG9ySWRzOiBzdHJpbmdbXSxcbiAgKTogUHJvbWlzZTxFeHRyYWN0b3JTdGF0dXNFbnRpdHlbXT4gPT4ge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmV4dHJhY3RvclN0YXR1c1JlcG9zaXRvcnkuZmluZEJ5KHtcbiAgICAgIHNjYW5uZXJJZDogdGhpcy5uYW1lKCksXG4gICAgICBleHRyYWN0b3JJZDogSW4oZXh0cmFjdG9ySWRzKSxcbiAgICB9KTtcbiAgfTtcbn1cbiJdfQ==
@@ -24,4 +24,4 @@ export declare class FailoverStrategy<TransactionType> implements ConnectorSelec
24
24
  export declare class RoundRobinStrategy<TransactionType> implements ConnectorSelectionStrategy<TransactionType> {
25
25
  selectNextConnector(connectors: Array<AbstractNetworkConnector<TransactionType>>, currentIndex: number): number;
26
26
  }
27
- //# sourceMappingURL=ConnectorSelectionStrategies.d.ts.map
27
+ //# sourceMappingURL=connectorSelectionStrategies.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"ConnectorSelectionStrategies.d.ts","sourceRoot":"","sources":["../../../lib/scanner/network/ConnectorSelectionStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,eAAe;IACzD;;;;;;OAMG;IACH,mBAAmB,CACjB,UAAU,EAAE,KAAK,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EAC5D,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC;CACX;AAED;;GAEG;AACH,qBAAa,gBAAgB,CAAC,eAAe,CAC3C,YAAW,0BAA0B,CAAC,eAAe,CAAC;IAEtD,mBAAmB,CACjB,UAAU,EAAE,KAAK,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EAC5D,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM;CAQV;AAED;;GAEG;AACH,qBAAa,kBAAkB,CAAC,eAAe,CAC7C,YAAW,0BAA0B,CAAC,eAAe,CAAC;IAEtD,mBAAmB,CACjB,UAAU,EAAE,KAAK,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EAC5D,YAAY,EAAE,MAAM,GACnB,MAAM;CAGV"}
1
+ {"version":3,"file":"connectorSelectionStrategies.d.ts","sourceRoot":"","sources":["../../../lib/scanner/network/connectorSelectionStrategies.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,wBAAwB,EAAE,MAAM,kCAAkC,CAAC;AAE5E;;GAEG;AACH,MAAM,WAAW,0BAA0B,CAAC,eAAe;IACzD;;;;;;OAMG;IACH,mBAAmB,CACjB,UAAU,EAAE,KAAK,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EAC5D,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM,CAAC;CACX;AAED;;GAEG;AACH,qBAAa,gBAAgB,CAAC,eAAe,CAC3C,YAAW,0BAA0B,CAAC,eAAe,CAAC;IAEtD,mBAAmB,CACjB,UAAU,EAAE,KAAK,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EAC5D,YAAY,EAAE,MAAM,EACpB,SAAS,CAAC,EAAE,KAAK,GAChB,MAAM;CAQV;AAED;;GAEG;AACH,qBAAa,kBAAkB,CAAC,eAAe,CAC7C,YAAW,0BAA0B,CAAC,eAAe,CAAC;IAEtD,mBAAmB,CACjB,UAAU,EAAE,KAAK,CAAC,wBAAwB,CAAC,eAAe,CAAC,CAAC,EAC5D,YAAY,EAAE,MAAM,GACnB,MAAM;CAGV"}
@@ -19,4 +19,4 @@ export class RoundRobinStrategy {
19
19
  return (currentIndex + 1) % connectors.length;
20
20
  }
21
21
  }
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2FubmVyL25ldHdvcmsvQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLG1CQUFtQixDQUNqQixVQUE0RCxFQUM1RCxZQUFvQixFQUNwQixTQUFpQjtRQUVqQixnREFBZ0Q7UUFDaEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDO1FBQ0Qsd0NBQXdDO1FBQ3hDLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixtQkFBbUIsQ0FDakIsVUFBNEQsRUFDNUQsWUFBb0I7UUFFcEIsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbm5lY3RvciBzZWxlY3Rpb24gc3RyYXRlZ2llc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RvclNlbGVjdGlvblN0cmF0ZWd5PFRyYW5zYWN0aW9uVHlwZT4ge1xuICAvKipcbiAgICogU2VsZWN0IHRoZSBuZXh0IGNvbm5lY3RvciB0byB1c2VcbiAgICogQHBhcmFtIGNvbm5lY3RvcnMgQXJyYXkgb2YgYXZhaWxhYmxlIGNvbm5lY3RvcnNcbiAgICogQHBhcmFtIGN1cnJlbnRJbmRleCBDdXJyZW50IGNvbm5lY3RvciBpbmRleFxuICAgKiBAcGFyYW0gbGFzdEVycm9yIEVycm9yIGZyb20gdGhlIGxhc3Qgb3BlcmF0aW9uLCBpZiBhbnlcbiAgICogQHJldHVybnMgVGhlIGluZGV4IG9mIHRoZSBuZXh0IGNvbm5lY3RvciB0byB1c2VcbiAgICovXG4gIHNlbGVjdE5leHRDb25uZWN0b3IoXG4gICAgY29ubmVjdG9yczogQXJyYXk8QWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPFRyYW5zYWN0aW9uVHlwZT4+LFxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICAgIGxhc3RFcnJvcj86IEVycm9yLFxuICApOiBudW1iZXI7XG59XG5cbi8qKlxuICogRmFpbG92ZXIgc3RyYXRlZ3kgLSBzd2l0Y2hlcyB0byBuZXh0IGNvbm5lY3RvciBvbmx5IG9uIGZhaWx1cmVcbiAqL1xuZXhwb3J0IGNsYXNzIEZhaWxvdmVyU3RyYXRlZ3k8VHJhbnNhY3Rpb25UeXBlPlxuICBpbXBsZW1lbnRzIENvbm5lY3RvclNlbGVjdGlvblN0cmF0ZWd5PFRyYW5zYWN0aW9uVHlwZT5cbntcbiAgc2VsZWN0TmV4dENvbm5lY3RvcihcbiAgICBjb25uZWN0b3JzOiBBcnJheTxBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8VHJhbnNhY3Rpb25UeXBlPj4sXG4gICAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gICAgbGFzdEVycm9yPzogRXJyb3IsXG4gICk6IG51bWJlciB7XG4gICAgLy8gSWYgdGhlcmUgd2FzIGFuIGVycm9yLCB0cnkgdGhlIG5leHQgY29ubmVjdG9yXG4gICAgaWYgKGxhc3RFcnJvcikge1xuICAgICAgcmV0dXJuIChjdXJyZW50SW5kZXggKyAxKSAlIGNvbm5lY3RvcnMubGVuZ3RoO1xuICAgIH1cbiAgICAvLyBPdGhlcndpc2Ugc3RheSB3aXRoIGN1cnJlbnQgY29ubmVjdG9yXG4gICAgcmV0dXJuIGN1cnJlbnRJbmRleDtcbiAgfVxufVxuXG4vKipcbiAqIFJvdW5kLXJvYmluIHN0cmF0ZWd5IC0gc3dpdGNoZXMgdG8gbmV4dCBjb25uZWN0b3IgYWZ0ZXIgZWFjaCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdW5kUm9iaW5TdHJhdGVneTxUcmFuc2FjdGlvblR5cGU+XG4gIGltcGxlbWVudHMgQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ3k8VHJhbnNhY3Rpb25UeXBlPlxue1xuICBzZWxlY3ROZXh0Q29ubmVjdG9yKFxuICAgIGNvbm5lY3RvcnM6IEFycmF5PEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcjxUcmFuc2FjdGlvblR5cGU+PixcbiAgICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGN1cnJlbnRJbmRleCArIDEpICUgY29ubmVjdG9ycy5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
22
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ2llcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL2xpYi9zY2FubmVyL25ldHdvcmsvY29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ2llcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFvQkE7O0dBRUc7QUFDSCxNQUFNLE9BQU8sZ0JBQWdCO0lBRzNCLG1CQUFtQixDQUNqQixVQUE0RCxFQUM1RCxZQUFvQixFQUNwQixTQUFpQjtRQUVqQixnREFBZ0Q7UUFDaEQsSUFBSSxTQUFTLEVBQUUsQ0FBQztZQUNkLE9BQU8sQ0FBQyxZQUFZLEdBQUcsQ0FBQyxDQUFDLEdBQUcsVUFBVSxDQUFDLE1BQU0sQ0FBQztRQUNoRCxDQUFDO1FBQ0Qsd0NBQXdDO1FBQ3hDLE9BQU8sWUFBWSxDQUFDO0lBQ3RCLENBQUM7Q0FDRjtBQUVEOztHQUVHO0FBQ0gsTUFBTSxPQUFPLGtCQUFrQjtJQUc3QixtQkFBbUIsQ0FDakIsVUFBNEQsRUFDNUQsWUFBb0I7UUFFcEIsT0FBTyxDQUFDLFlBQVksR0FBRyxDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsTUFBTSxDQUFDO0lBQ2hELENBQUM7Q0FDRiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvciB9IGZyb20gJ0Byb3Nlbi1icmlkZ2Uvc2Nhbm5lci1pbnRlcmZhY2VzJztcblxuLyoqXG4gKiBJbnRlcmZhY2UgZm9yIGNvbm5lY3RvciBzZWxlY3Rpb24gc3RyYXRlZ2llc1xuICovXG5leHBvcnQgaW50ZXJmYWNlIENvbm5lY3RvclNlbGVjdGlvblN0cmF0ZWd5PFRyYW5zYWN0aW9uVHlwZT4ge1xuICAvKipcbiAgICogU2VsZWN0IHRoZSBuZXh0IGNvbm5lY3RvciB0byB1c2VcbiAgICogQHBhcmFtIGNvbm5lY3RvcnMgQXJyYXkgb2YgYXZhaWxhYmxlIGNvbm5lY3RvcnNcbiAgICogQHBhcmFtIGN1cnJlbnRJbmRleCBDdXJyZW50IGNvbm5lY3RvciBpbmRleFxuICAgKiBAcGFyYW0gbGFzdEVycm9yIEVycm9yIGZyb20gdGhlIGxhc3Qgb3BlcmF0aW9uLCBpZiBhbnlcbiAgICogQHJldHVybnMgVGhlIGluZGV4IG9mIHRoZSBuZXh0IGNvbm5lY3RvciB0byB1c2VcbiAgICovXG4gIHNlbGVjdE5leHRDb25uZWN0b3IoXG4gICAgY29ubmVjdG9yczogQXJyYXk8QWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPFRyYW5zYWN0aW9uVHlwZT4+LFxuICAgIGN1cnJlbnRJbmRleDogbnVtYmVyLFxuICAgIGxhc3RFcnJvcj86IEVycm9yLFxuICApOiBudW1iZXI7XG59XG5cbi8qKlxuICogRmFpbG92ZXIgc3RyYXRlZ3kgLSBzd2l0Y2hlcyB0byBuZXh0IGNvbm5lY3RvciBvbmx5IG9uIGZhaWx1cmVcbiAqL1xuZXhwb3J0IGNsYXNzIEZhaWxvdmVyU3RyYXRlZ3k8VHJhbnNhY3Rpb25UeXBlPlxuICBpbXBsZW1lbnRzIENvbm5lY3RvclNlbGVjdGlvblN0cmF0ZWd5PFRyYW5zYWN0aW9uVHlwZT5cbntcbiAgc2VsZWN0TmV4dENvbm5lY3RvcihcbiAgICBjb25uZWN0b3JzOiBBcnJheTxBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8VHJhbnNhY3Rpb25UeXBlPj4sXG4gICAgY3VycmVudEluZGV4OiBudW1iZXIsXG4gICAgbGFzdEVycm9yPzogRXJyb3IsXG4gICk6IG51bWJlciB7XG4gICAgLy8gSWYgdGhlcmUgd2FzIGFuIGVycm9yLCB0cnkgdGhlIG5leHQgY29ubmVjdG9yXG4gICAgaWYgKGxhc3RFcnJvcikge1xuICAgICAgcmV0dXJuIChjdXJyZW50SW5kZXggKyAxKSAlIGNvbm5lY3RvcnMubGVuZ3RoO1xuICAgIH1cbiAgICAvLyBPdGhlcndpc2Ugc3RheSB3aXRoIGN1cnJlbnQgY29ubmVjdG9yXG4gICAgcmV0dXJuIGN1cnJlbnRJbmRleDtcbiAgfVxufVxuXG4vKipcbiAqIFJvdW5kLXJvYmluIHN0cmF0ZWd5IC0gc3dpdGNoZXMgdG8gbmV4dCBjb25uZWN0b3IgYWZ0ZXIgZWFjaCBvcGVyYXRpb25cbiAqL1xuZXhwb3J0IGNsYXNzIFJvdW5kUm9iaW5TdHJhdGVneTxUcmFuc2FjdGlvblR5cGU+XG4gIGltcGxlbWVudHMgQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ3k8VHJhbnNhY3Rpb25UeXBlPlxue1xuICBzZWxlY3ROZXh0Q29ubmVjdG9yKFxuICAgIGNvbm5lY3RvcnM6IEFycmF5PEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcjxUcmFuc2FjdGlvblR5cGU+PixcbiAgICBjdXJyZW50SW5kZXg6IG51bWJlcixcbiAgKTogbnVtYmVyIHtcbiAgICByZXR1cm4gKGN1cnJlbnRJbmRleCArIDEpICUgY29ubmVjdG9ycy5sZW5ndGg7XG4gIH1cbn1cbiJdfQ==
@@ -1,6 +1,6 @@
1
- import { AbstractNetworkConnector, Block } from '@rosen-bridge/scanner-interfaces';
2
- import { ConnectorSelectionStrategy } from './ConnectorSelectionStrategies';
3
1
  import { AbstractLogger } from '@rosen-bridge/abstract-logger';
2
+ import { AbstractNetworkConnector, Block } from '@rosen-bridge/scanner-interfaces';
3
+ import { ConnectorSelectionStrategy } from './connectorSelectionStrategies';
4
4
  /**
5
5
  * Network connector manager that can handle multiple connectors
6
6
  * for a single network with pluggable selection strategy
@@ -61,4 +61,4 @@ export declare class NetworkConnectorManager<TransactionType> implements Abstrac
61
61
  */
62
62
  removeConnector(index: number): void;
63
63
  }
64
- //# sourceMappingURL=NetworkConnectorManager.d.ts.map
64
+ //# sourceMappingURL=networkConnectorManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"networkConnectorManager.d.ts","sourceRoot":"","sources":["../../../lib/scanner/network/networkConnectorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAC5E,OAAO,EACL,wBAAwB,EACxB,KAAK,EACN,MAAM,kCAAkC,CAAC;AAE1C,OAAO,EACL,0BAA0B,EAE3B,MAAM,gCAAgC,CAAC;AAExC;;;GAGG;AACH,qBAAa,uBAAuB,CAAC,eAAe,CAClD,YAAW,wBAAwB,CAAC,eAAe,CAAC;IAMlD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,UAAU,CAAmD;IACrE,OAAO,CAAC,qBAAqB,CAAS;gBAG5B,QAAQ,GAAE,0BAA0B,CAAC,eAAe,CAA2C,EAC/F,MAAM,GAAE,cAAkC;IAQpD;;;OAGG;IACI,YAAY,CACjB,SAAS,EAAE,wBAAwB,CAAC,eAAe,CAAC,GACnD,IAAI;IAOP;;;;OAIG;IACH,mBAAmB,IAAI,wBAAwB,CAAC,eAAe,CAAC;IAQhE;;;;OAIG;YACW,mBAAmB;IA8CjC;;;OAGG;IACI,WAAW,CAChB,QAAQ,EAAE,0BAA0B,CAAC,eAAe,CAAC,GACpD,IAAI;IAKP;;;;OAIG;IACH,gBAAgB,GAAU,QAAQ,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,CAIvD;IAEF;;;OAGG;IACH,gBAAgB,QAAa,OAAO,CAAC,MAAM,CAAC,CAI1C;IAEF;;;;OAIG;IACH,WAAW,GAAU,WAAW,MAAM,KAAG,OAAO,CAAC,KAAK,CAAC,eAAe,CAAC,CAAC,CAItE;IAEF;;;OAGG;IACI,iBAAiB,IAAI,MAAM;IAMlC;;;OAGG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAU5C"}
@@ -1,5 +1,5 @@
1
- import { FailoverStrategy, } from './ConnectorSelectionStrategies';
2
1
  import { DummyLogger } from '@rosen-bridge/abstract-logger';
2
+ import { FailoverStrategy, } from './connectorSelectionStrategies';
3
3
  /**
4
4
  * Network connector manager that can handle multiple connectors
5
5
  * for a single network with pluggable selection strategy
@@ -122,4 +122,4 @@ export class NetworkConnectorManager {
122
122
  }
123
123
  }
124
124
  }
125
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiTmV0d29ya0Nvbm5lY3Rvck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2Nhbm5lci9uZXR3b3JrL05ldHdvcmtDb25uZWN0b3JNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUlBLE9BQU8sRUFFTCxnQkFBZ0IsR0FDakIsTUFBTSxnQ0FBZ0MsQ0FBQztBQUN4QyxPQUFPLEVBQWtCLFdBQVcsRUFBRSxNQUFNLCtCQUErQixDQUFDO0FBRTVFOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFPeEI7SUFDQTtJQUxGLFVBQVUsQ0FBbUQ7SUFDN0QscUJBQXFCLENBQVM7SUFFdEMsWUFDVSxXQUF3RCxJQUFJLGdCQUFnQixFQUFtQixFQUMvRixTQUF5QixJQUFJLFdBQVcsRUFBRTtRQUQxQyxhQUFRLEdBQVIsUUFBUSxDQUF1RjtRQUMvRixXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUVsRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FDakIsU0FBb0Q7UUFFcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsMENBQTBDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENB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RUFBbUMsRUFBRTtRQUN6RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQzVDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQ2pDLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSSxpQkFBaUI7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yLFxuICBCbG9jayxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuaW1wb3J0IHtcbiAgQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ3ksXG4gIEZhaWxvdmVyU3RyYXRlZ3ksXG59IGZyb20gJy4vQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ2llcyc7XG5pbXBvcnQgeyBBYnN0cmFjdExvZ2dlciwgRHVtbXlMb2dnZXIgfSBmcm9tICdAcm9zZW4tYnJpZGdlL2Fic3RyYWN0LWxvZ2dlcic7XG5cbi8qKlxuICogTmV0d29yayBjb25uZWN0b3IgbWFuYWdlciB0aGF0IGNhbiBoYW5kbGUgbXVsdGlwbGUgY29ubmVjdG9yc1xuICogZm9yIGEgc2luZ2xlIG5ldHdvcmsgd2l0aCBwbHVnZ2FibGUgc2VsZWN0aW9uIHN0cmF0ZWd5XG4gKi9cbmV4cG9ydCBjbGFzcyBOZXR3b3JrQ29ubmVjdG9yTWFuYWdlcjxUcmFuc2FjdGlvblR5cGU+XG4gIGltcGxlbWVudHMgQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPFRyYW5zYWN0aW9uVHlwZT5cbntcbiAgcHJpdmF0ZSBjb25uZWN0b3JzOiBBcnJheTxBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8VHJhbnNhY3Rpb25UeXBlPj47XG4gIHByaXZhdGUgY3VycmVudENvbm5lY3RvckluZGV4OiBudW1iZXI7XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHJpdmF0ZSBzdHJhdGVneTogQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ3k8VHJhbnNhY3Rpb25UeXBlPiA9IG5ldyBGYWlsb3ZlclN0cmF0ZWd5PFRyYW5zYWN0aW9uVHlwZT4oKSxcbiAgICBwcml2YXRlIGxvZ2dlcjogQWJzdHJhY3RMb2dnZXIgPSBuZXcgRHVtbXlMb2dnZXIoKSxcbiAgKSB7XG4gICAgdGhpcy5jb25uZWN0b3JzID0gW107XG4gICAgdGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXggPSAwO1xuICAgIHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZygnTmV0d29ya0Nvbm5lY3Rvck1hbmFnZXIgaW5pdGlhbGl6ZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBBZGQgYSBuZXcgY29ubmVjdG9yIHRvIHRoZSBtYW5hZ2VyXG4gICAqIEBwYXJhbSBjb25uZWN0b3IgVGhlIG5ldHdvcmsgY29ubmVjdG9yIGluc3RhbmNlXG4gICAqL1xuICBwdWJsaWMgYWRkQ29ubmVjdG9yKFxuICAgIGNvbm5lY3RvcjogQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPFRyYW5zYWN0aW9uVHlwZT4sXG4gICk6IHZvaWQge1xuICAgIHRoaXMuY29ubmVjdG9ycy5wdXNoKGNvbm5lY3Rvcik7XG4gICAgdGhpcy5sb2dnZXIuaW5mbyhcbiAgICAgIGBBZGRlZCBuZXcgY29ubmVjdG9yLiBUb3RhbCBjb25uZWN0b3JzOiAke3RoaXMuY29ubmVjdG9ycy5sZW5ndGh9YCxcbiAgICApO1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBhY3RpdmUgY29ubmVjdG9yXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IG5ldHdvcmsgY29ubmVjdG9yIGluc3RhbmNlXG4gICAqIEB0aHJvd3MgRXJyb3IgaWYgbm8gY29ubmVjdG9ycyBhcmUgYXZhaWxhYmxlXG4gICAqL1xuICBnZXRDdXJyZW50Q29ubmVjdG9yKCk6IEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcjxUcmFuc2FjdGlvblR5cGU+IHtcbiAgICBpZiAodGhpcy5jb25uZWN0b3JzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBjb25uZWN0b3JzIGF2YWlsYWJsZScpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgVXNpbmcgY29ubmVjdG9yIGF0IGluZGV4ICR7dGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXh9YCk7XG4gICAgcmV0dXJuIHRoaXMuY29ubmVjdG9yc1t0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleF07XG4gIH1cblxuICAvKipcbiAgICogRXhlY3V0ZSBhbiBvcGVyYXRpb24gdXNpbmcgdGhlIGNvbmZpZ3VyZWQgc3RyYXRlZ3lcbiAgICogQHBhcmFtIG9wZXJhdGlvbiBUaGUgb3BlcmF0aW9uIHRvIGV4ZWN1dGVcbiAgICogQHJldHVybnMgVGhlIHJlc3VsdCBvZiB0aGUgb3BlcmF0aW9uXG4gICAqL1xuICBwcml2YXRlIGFzeW5jIGV4ZWN1dGVXaXRoU3RyYXRlZ3k8VD4oXG4gICAgb3BlcmF0aW9uOiAoXG4gICAgICBjb25uZWN0b3I6IEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcjxUcmFuc2FjdGlvblR5cGU+LFxuICAgICkgPT4gUHJvbWlzZTxUPixcbiAgKTogUHJvbWlzZTxUPiB7XG4gICAgaWYgKHRoaXMuY29ubmVjdG9ycy5sZW5ndGggPT09IDApIHtcbiAgICAgIHRocm93IG5ldyBFcnJvcignTm8gY29ubmVjdG9ycyBhdmFpbGFibGUgZm9yIG9wZXJhdGlvbicpO1xuICAgIH1cblxuICAgIGxldCBsYXN0RXJyb3I6IEVycm9yIHwgdW5kZWZpbmVkO1xuICAgIGxldCBhdHRlbXB0cyA9IDA7XG4gICAgY29uc3QgbWF4QXR0ZW1wdHMgPSB0aGlzLmNvbm5lY3RvcnMubGVuZ3RoO1xuXG4gICAgd2hpbGUgKGF0dGVtcHRzIDwgbWF4QXR0ZW1wdHMpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIGNvbnN0IGNvbm5lY3RvciA9IHRoaXMuY29ubmVjdG9yc1t0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleF07XG4gICAgICAgIHRoaXMubG9nZ2VyLmRlYnVnKFxuICAgICAgICAgIGBBdHRlbXB0ICR7YXR0ZW1wdHMgKyAxfS8ke21heEF0dGVtcHRzfSB3aXRoIGNvbm5lY3RvciBhdCBpbmRleCAke1xuICAgICAgICAgICAgdGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXhcbiAgICAgICAgICB9YCxcbiAgICAgICAgKTtcbiAgICAgICAgY29uc3QgcmVzdWx0ID0gYXdhaXQgb3BlcmF0aW9uKGNvbm5lY3Rvcik7XG4gICAgICAgIHRoaXMuY3VycmVudENvbm5lY3RvckluZGV4ID0gdGhpcy5zdHJhdGVneS5zZWxlY3ROZXh0Q29ubmVjdG9yKFxuICAgICAgICAgIHRoaXMuY29ubmVjdG9ycyxcbiAgICAgICAgICB0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYE9wZXJhdGlvbiBzdWNjZXNzZnVsLCBuZXh0IGNvbm5lY3RvciBpbmRleDogJHt0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleH1gLFxuICAgICAgICApO1xuICAgICAgICByZXR1cm4gcmVzdWx0O1xuICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgbGFzdEVycm9yID0gZXJyb3IgYXMgRXJyb3I7XG4gICAgICAgIHRoaXMubG9nZ2VyLndhcm4oXG4gICAgICAgICAgYE9wZXJhdGlvbiBmYWlsZWQgd2l0aCBjb25uZWN0b3IgYXQgaW5kZXggJHt0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleH06ICR7bGFzdEVycm9yLm1lc3NhZ2V9YCxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXggPSB0aGlzLnN0cmF0ZWd5LnNlbGVjdE5leHRDb25uZWN0b3IoXG4gICAgICAgICAgdGhpcy5jb25uZWN0b3JzLFxuICAgICAgICAgIHRoaXMuY3VycmVudENvbm5lY3RvckluZGV4LFxuICAgICAgICAgIGxhc3RFcnJvcixcbiAgICAgICAgKTtcbiAgICAgICAgYXR0ZW1wdHMrKztcbiAgICAgIH1cbiAgICB9XG4gICAgdGhyb3cgbGFzdEVycm9yIHx8IG5ldyBFcnJvcignQWxsIGNvbm5lY3RvcnMgZmFpbGVkJyk7XG4gIH1cblxuICAvKipcbiAgICogU2V0IHRoZSBzdHJhdGVneSB0byB1c2UgZm9yIGNvbm5lY3RvciBzZWxlY3Rpb25cbiAgICogQHBhcmFtIHN0cmF0ZWd5IFRoZSBzdHJhdGVneSB0byB1c2VcbiAgICovXG4gIHB1YmxpYyBzZXRTdHJhdGVneShcbiAgICBzdHJhdGVneTogQ29ubmVjdG9yU2VsZWN0aW9uU3RyYXRlZ3k8VHJhbnNhY3Rpb25UeXBlPixcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5sb2dnZXIuaW5mbygnU2V0dGluZyBuZXcgY29ubmVjdG9yIHNlbGVjdGlvbiBzdHJhdGVneScpO1xuICAgIHRoaXMuc3RyYXRlZ3kgPSBzdHJhdGVneTtcbiAgfVxuXG4gIC8qKlxuICAgKiBHZXQgYSBibG9jayBhdCBhIHNwZWNpZmljIGhlaWdodFxuICAgKiBAcGFyYW0gaGVpZ2h0IFRoZSBoZWlnaHQgb2YgdGhlIGJsb2NrIHRvIGdldFxuICAgKiBAcmV0dXJucyBUaGUgYmxvY2sgYXQgdGhlIHNwZWNpZmllZCBoZWlnaHRcbiAgICovXG4gIGdldEJsb2NrQXRIZWlnaHQgPSBhc3luYyAoaGVpZ2h0OiBudW1iZXIpOiBQcm9taXNlPEJsb2NrPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZVdpdGhTdHJhdGVneSgoY29ubmVjdG9yKSA9PlxuICAgICAgY29ubmVjdG9yLmdldEJsb2NrQXRIZWlnaHQoaGVpZ2h0KSxcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIGN1cnJlbnQgaGVpZ2h0IG9mIHRoZSBibG9ja2NoYWluXG4gICAqIEByZXR1cm5zIFRoZSBjdXJyZW50IGhlaWdodFxuICAgKi9cbiAgZ2V0Q3VycmVudEhlaWdodCA9IGFzeW5jICgpOiBQcm9taXNlPG51bWJlcj4gPT4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVXaXRoU3RyYXRlZ3koKGNvbm5lY3RvcikgPT5cbiAgICAgIGNvbm5lY3Rvci5nZXRDdXJyZW50SGVpZ2h0KCksXG4gICAgKTtcbiAgfTtcblxuICAvKipcbiAgICogR2V0IGFsbCB0cmFuc2FjdGlvbnMgaW4gYSBibG9ja1xuICAgKiBAcGFyYW0gYmxvY2tIYXNoIFRoZSBoYXNoIG9mIHRoZSBibG9jayB0byBnZXQgdHJhbnNhY3Rpb25zIGZyb21cbiAgICogQHJldHVybnMgQXJyYXkgb2YgdHJhbnNhY3Rpb25zIGluIHRoZSBibG9ja1xuICAgKi9cbiAgZ2V0QmxvY2tUeHMgPSBhc3luYyAoYmxvY2tIYXNoOiBzdHJpbmcpOiBQcm9taXNlPEFycmF5PFRyYW5zYWN0aW9uVHlwZT4+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlV2l0aFN0cmF0ZWd5KChjb25uZWN0b3IpID0+XG4gICAgICBjb25uZWN0b3IuZ2V0QmxvY2tUeHMoYmxvY2tIYXNoKSxcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZXQgdGhlIG51bWJlciBvZiBhdmFpbGFibGUgY29ubmVjdG9yc1xuICAgKiBAcmV0dXJucyBUaGUgbnVtYmVyIG9mIGNvbm5lY3RvcnNcbiAgICovXG4gIHB1YmxpYyBnZXRDb25uZWN0b3JDb3VudCgpOiBudW1iZXIge1xuICAgIGNvbnN0IGNvdW50ID0gdGhpcy5jb25uZWN0b3JzLmxlbmd0aDtcbiAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhgQ3VycmVudCBjb25uZWN0b3IgY291bnQ6ICR7Y291bnR9YCk7XG4gICAgcmV0dXJuIGNvdW50O1xuICB9XG5cbiAgLyoqXG4gICAqIFJlbW92ZSBhIGNvbm5lY3RvciBhdCB0aGUgc3BlY2lmaWVkIGluZGV4XG4gICAqIEBwYXJhbSBpbmRleCBUaGUgaW5kZXggb2YgdGhlIGNvbm5lY3RvciB0byByZW1vdmVcbiAgICovXG4gIHB1YmxpYyByZW1vdmVDb25uZWN0b3IoaW5kZXg6IG51bWJlcik6IHZvaWQge1xuICAgIGlmIChpbmRleCA8IDAgfHwgaW5kZXggPj0gdGhpcy5jb25uZWN0b3JzLmxlbmd0aCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdJbnZhbGlkIGNvbm5lY3RvciBpbmRleCcpO1xuICAgIH1cbiAgICB0aGlzLmxvZ2dlci5pbmZvKGBSZW1vdmluZyBjb25uZWN0b3IgYXQgaW5kZXggJHtpbmRleH1gKTtcbiAgICB0aGlzLmNvbm5lY3RvcnMuc3BsaWNlKGluZGV4LCAxKTtcbiAgICBpZiAodGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXggPj0gdGhpcy5jb25uZWN0b3JzLmxlbmd0aCkge1xuICAgICAgdGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXggPSAwO1xuICAgIH1cbiAgfVxufVxuIl19
125
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV0d29ya0Nvbm5lY3Rvck1hbmFnZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvc2Nhbm5lci9uZXR3b3JrL25ldHdvcmtDb25uZWN0b3JNYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBa0IsV0FBVyxFQUFFLE1BQU0sK0JBQStCLENBQUM7QUFNNUUsT0FBTyxFQUVMLGdCQUFnQixHQUNqQixNQUFNLGdDQUFnQyxDQUFDO0FBRXhDOzs7R0FHRztBQUNILE1BQU0sT0FBTyx1QkFBdUI7SUFPeEI7SUFDQTtJQUxGLFVBQVUsQ0FBbUQ7SUFDN0QscUJBQXFCLENBQVM7SUFFdEMsWUFDVSxXQUF3RCxJQUFJLGdCQUFnQixFQUFtQixFQUMvRixTQUF5QixJQUFJLFdBQVcsRUFBRTtRQUQxQyxhQUFRLEdBQVIsUUFBUSxDQUF1RjtRQUMvRixXQUFNLEdBQU4sTUFBTSxDQUFvQztRQUVsRCxJQUFJLENBQUMsVUFBVSxHQUFHLEVBQUUsQ0FBQztRQUNyQixJQUFJLENBQUMscUJBQXFCLEdBQUcsQ0FBQyxDQUFDO1FBQy9CLElBQUksQ0FBQyxRQUFRLEdBQUcsUUFBUSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLHFDQUFxQyxDQUFDLENBQUM7SUFDM0QsQ0FBQztJQUVEOzs7T0FHRztJQUNJLFlBQVksQ0FDakIsU0FBb0Q7UUFFcEQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQ2QsMENBQTBDLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQ25FLENBQUM7SUFDSixDQUFDO0lBRUQ7Ozs7T0FJRztJQUNILG1CQUFtQjtRQUNqQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxLQUFLLENBQUMsRUFBRSxDQUFDO1lBQ2pDLE1BQU0sSUFBSSxLQUFLLENB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RUFBbUMsRUFBRTtRQUN6RSxPQUFPLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLFNBQVMsRUFBRSxFQUFFLENBQzVDLFNBQVMsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQ2pDLENBQUM7SUFDSixDQUFDLENBQUM7SUFFRjs7O09BR0c7SUFDSSxpQkFBaUI7UUFDdEIsTUFBTSxLQUFLLEdBQUcsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUM7UUFDckMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsNEJBQTRCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDdkQsT0FBTyxLQUFLLENBQUM7SUFDZixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZSxDQUFDLEtBQWE7UUFDbEMsSUFBSSxLQUFLLEdBQUcsQ0FBQyxJQUFJLEtBQUssSUFBSSxJQUFJLENBQUMsVUFBVSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ2pELE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLENBQUMsQ0FBQztRQUM3QyxDQUFDO1FBQ0QsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsK0JBQStCLEtBQUssRUFBRSxDQUFDLENBQUM7UUFDekQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUMsQ0FBQyxDQUFDO1FBQ2pDLElBQUksSUFBSSxDQUFDLHFCQUFxQixJQUFJLElBQUksQ0FBQyxVQUFVLENBQUMsTUFBTSxFQUFFLENBQUM7WUFDekQsSUFBSSxDQUFDLHFCQUFxQixHQUFHLENBQUMsQ0FBQztRQUNqQyxDQUFDO0lBQ0gsQ0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQWJzdHJhY3RMb2dnZXIsIER1bW15TG9nZ2VyIH0gZnJvbSAnQHJvc2VuLWJyaWRnZS9hYnN0cmFjdC1sb2dnZXInO1xuaW1wb3J0IHtcbiAgQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yLFxuICBCbG9jayxcbn0gZnJvbSAnQHJvc2VuLWJyaWRnZS9zY2FubmVyLWludGVyZmFjZXMnO1xuXG5pbXBvcnQge1xuICBDb25uZWN0b3JTZWxlY3Rpb25TdHJhdGVneSxcbiAgRmFpbG92ZXJTdHJhdGVneSxcbn0gZnJvbSAnLi9jb25uZWN0b3JTZWxlY3Rpb25TdHJhdGVnaWVzJztcblxuLyoqXG4gKiBOZXR3b3JrIGNvbm5lY3RvciBtYW5hZ2VyIHRoYXQgY2FuIGhhbmRsZSBtdWx0aXBsZSBjb25uZWN0b3JzXG4gKiBmb3IgYSBzaW5nbGUgbmV0d29yayB3aXRoIHBsdWdnYWJsZSBzZWxlY3Rpb24gc3RyYXRlZ3lcbiAqL1xuZXhwb3J0IGNsYXNzIE5ldHdvcmtDb25uZWN0b3JNYW5hZ2VyPFRyYW5zYWN0aW9uVHlwZT5cbiAgaW1wbGVtZW50cyBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8VHJhbnNhY3Rpb25UeXBlPlxue1xuICBwcml2YXRlIGNvbm5lY3RvcnM6IEFycmF5PEFic3RyYWN0TmV0d29ya0Nvbm5lY3RvcjxUcmFuc2FjdGlvblR5cGU+PjtcbiAgcHJpdmF0ZSBjdXJyZW50Q29ubmVjdG9ySW5kZXg6IG51bWJlcjtcblxuICBjb25zdHJ1Y3RvcihcbiAgICBwcml2YXRlIHN0cmF0ZWd5OiBDb25uZWN0b3JTZWxlY3Rpb25TdHJhdGVneTxUcmFuc2FjdGlvblR5cGU+ID0gbmV3IEZhaWxvdmVyU3RyYXRlZ3k8VHJhbnNhY3Rpb25UeXBlPigpLFxuICAgIHByaXZhdGUgbG9nZ2VyOiBBYnN0cmFjdExvZ2dlciA9IG5ldyBEdW1teUxvZ2dlcigpLFxuICApIHtcbiAgICB0aGlzLmNvbm5lY3RvcnMgPSBbXTtcbiAgICB0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleCA9IDA7XG4gICAgdGhpcy5zdHJhdGVneSA9IHN0cmF0ZWd5O1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKCdOZXR3b3JrQ29ubmVjdG9yTWFuYWdlciBpbml0aWFsaXplZCcpO1xuICB9XG5cbiAgLyoqXG4gICAqIEFkZCBhIG5ldyBjb25uZWN0b3IgdG8gdGhlIG1hbmFnZXJcbiAgICogQHBhcmFtIGNvbm5lY3RvciBUaGUgbmV0d29yayBjb25uZWN0b3IgaW5zdGFuY2VcbiAgICovXG4gIHB1YmxpYyBhZGRDb25uZWN0b3IoXG4gICAgY29ubmVjdG9yOiBBYnN0cmFjdE5ldHdvcmtDb25uZWN0b3I8VHJhbnNhY3Rpb25UeXBlPixcbiAgKTogdm9pZCB7XG4gICAgdGhpcy5jb25uZWN0b3JzLnB1c2goY29ubmVjdG9yKTtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKFxuICAgICAgYEFkZGVkIG5ldyBjb25uZWN0b3IuIFRvdGFsIGNvbm5lY3RvcnM6ICR7dGhpcy5jb25uZWN0b3JzLmxlbmd0aH1gLFxuICAgICk7XG4gIH1cblxuICAvKipcbiAgICogR2V0IHRoZSBjdXJyZW50IGFjdGl2ZSBjb25uZWN0b3JcbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgbmV0d29yayBjb25uZWN0b3IgaW5zdGFuY2VcbiAgICogQHRocm93cyBFcnJvciBpZiBubyBjb25uZWN0b3JzIGFyZSBhdmFpbGFibGVcbiAgICovXG4gIGdldEN1cnJlbnRDb25uZWN0b3IoKTogQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPFRyYW5zYWN0aW9uVHlwZT4ge1xuICAgIGlmICh0aGlzLmNvbm5lY3RvcnMubGVuZ3RoID09PSAwKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ05vIGNvbm5lY3RvcnMgYXZhaWxhYmxlJyk7XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBVc2luZyBjb25uZWN0b3IgYXQgaW5kZXggJHt0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleH1gKTtcbiAgICByZXR1cm4gdGhpcy5jb25uZWN0b3JzW3RoaXMuY3VycmVudENvbm5lY3RvckluZGV4XTtcbiAgfVxuXG4gIC8qKlxuICAgKiBFeGVjdXRlIGFuIG9wZXJhdGlvbiB1c2luZyB0aGUgY29uZmlndXJlZCBzdHJhdGVneVxuICAgKiBAcGFyYW0gb3BlcmF0aW9uIFRoZSBvcGVyYXRpb24gdG8gZXhlY3V0ZVxuICAgKiBAcmV0dXJucyBUaGUgcmVzdWx0IG9mIHRoZSBvcGVyYXRpb25cbiAgICovXG4gIHByaXZhdGUgYXN5bmMgZXhlY3V0ZVdpdGhTdHJhdGVneTxUPihcbiAgICBvcGVyYXRpb246IChcbiAgICAgIGNvbm5lY3RvcjogQWJzdHJhY3ROZXR3b3JrQ29ubmVjdG9yPFRyYW5zYWN0aW9uVHlwZT4sXG4gICAgKSA9PiBQcm9taXNlPFQ+LFxuICApOiBQcm9taXNlPFQ+IHtcbiAgICBpZiAodGhpcy5jb25uZWN0b3JzLmxlbmd0aCA9PT0gMCkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKCdObyBjb25uZWN0b3JzIGF2YWlsYWJsZSBmb3Igb3BlcmF0aW9uJyk7XG4gICAgfVxuXG4gICAgbGV0IGxhc3RFcnJvcjogRXJyb3IgfCB1bmRlZmluZWQ7XG4gICAgbGV0IGF0dGVtcHRzID0gMDtcbiAgICBjb25zdCBtYXhBdHRlbXB0cyA9IHRoaXMuY29ubmVjdG9ycy5sZW5ndGg7XG5cbiAgICB3aGlsZSAoYXR0ZW1wdHMgPCBtYXhBdHRlbXB0cykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgY29ubmVjdG9yID0gdGhpcy5jb25uZWN0b3JzW3RoaXMuY3VycmVudENvbm5lY3RvckluZGV4XTtcbiAgICAgICAgdGhpcy5sb2dnZXIuZGVidWcoXG4gICAgICAgICAgYEF0dGVtcHQgJHthdHRlbXB0cyArIDF9LyR7bWF4QXR0ZW1wdHN9IHdpdGggY29ubmVjdG9yIGF0IGluZGV4ICR7XG4gICAgICAgICAgICB0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleFxuICAgICAgICAgIH1gLFxuICAgICAgICApO1xuICAgICAgICBjb25zdCByZXN1bHQgPSBhd2FpdCBvcGVyYXRpb24oY29ubmVjdG9yKTtcbiAgICAgICAgdGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXggPSB0aGlzLnN0cmF0ZWd5LnNlbGVjdE5leHRDb25uZWN0b3IoXG4gICAgICAgICAgdGhpcy5jb25uZWN0b3JzLFxuICAgICAgICAgIHRoaXMuY3VycmVudENvbm5lY3RvckluZGV4LFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmxvZ2dlci5kZWJ1ZyhcbiAgICAgICAgICBgT3BlcmF0aW9uIHN1Y2Nlc3NmdWwsIG5leHQgY29ubmVjdG9yIGluZGV4OiAke3RoaXMuY3VycmVudENvbm5lY3RvckluZGV4fWAsXG4gICAgICAgICk7XG4gICAgICAgIHJldHVybiByZXN1bHQ7XG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBsYXN0RXJyb3IgPSBlcnJvciBhcyBFcnJvcjtcbiAgICAgICAgdGhpcy5sb2dnZXIud2FybihcbiAgICAgICAgICBgT3BlcmF0aW9uIGZhaWxlZCB3aXRoIGNvbm5lY3RvciBhdCBpbmRleCAke3RoaXMuY3VycmVudENvbm5lY3RvckluZGV4fTogJHtsYXN0RXJyb3IubWVzc2FnZX1gLFxuICAgICAgICApO1xuICAgICAgICB0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleCA9IHRoaXMuc3RyYXRlZ3kuc2VsZWN0TmV4dENvbm5lY3RvcihcbiAgICAgICAgICB0aGlzLmNvbm5lY3RvcnMsXG4gICAgICAgICAgdGhpcy5jdXJyZW50Q29ubmVjdG9ySW5kZXgsXG4gICAgICAgICAgbGFzdEVycm9yLFxuICAgICAgICApO1xuICAgICAgICBhdHRlbXB0cysrO1xuICAgICAgfVxuICAgIH1cbiAgICB0aHJvdyBsYXN0RXJyb3IgfHwgbmV3IEVycm9yKCdBbGwgY29ubmVjdG9ycyBmYWlsZWQnKTtcbiAgfVxuXG4gIC8qKlxuICAgKiBTZXQgdGhlIHN0cmF0ZWd5IHRvIHVzZSBmb3IgY29ubmVjdG9yIHNlbGVjdGlvblxuICAgKiBAcGFyYW0gc3RyYXRlZ3kgVGhlIHN0cmF0ZWd5IHRvIHVzZVxuICAgKi9cbiAgcHVibGljIHNldFN0cmF0ZWd5KFxuICAgIHN0cmF0ZWd5OiBDb25uZWN0b3JTZWxlY3Rpb25TdHJhdGVneTxUcmFuc2FjdGlvblR5cGU+LFxuICApOiB2b2lkIHtcbiAgICB0aGlzLmxvZ2dlci5pbmZvKCdTZXR0aW5nIG5ldyBjb25uZWN0b3Igc2VsZWN0aW9uIHN0cmF0ZWd5Jyk7XG4gICAgdGhpcy5zdHJhdGVneSA9IHN0cmF0ZWd5O1xuICB9XG5cbiAgLyoqXG4gICAqIEdldCBhIGJsb2NrIGF0IGEgc3BlY2lmaWMgaGVpZ2h0XG4gICAqIEBwYXJhbSBoZWlnaHQgVGhlIGhlaWdodCBvZiB0aGUgYmxvY2sgdG8gZ2V0XG4gICAqIEByZXR1cm5zIFRoZSBibG9jayBhdCB0aGUgc3BlY2lmaWVkIGhlaWdodFxuICAgKi9cbiAgZ2V0QmxvY2tBdEhlaWdodCA9IGFzeW5jIChoZWlnaHQ6IG51bWJlcik6IFByb21pc2U8QmxvY2s+ID0+IHtcbiAgICByZXR1cm4gdGhpcy5leGVjdXRlV2l0aFN0cmF0ZWd5KChjb25uZWN0b3IpID0+XG4gICAgICBjb25uZWN0b3IuZ2V0QmxvY2tBdEhlaWdodChoZWlnaHQpLFxuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgY3VycmVudCBoZWlnaHQgb2YgdGhlIGJsb2NrY2hhaW5cbiAgICogQHJldHVybnMgVGhlIGN1cnJlbnQgaGVpZ2h0XG4gICAqL1xuICBnZXRDdXJyZW50SGVpZ2h0ID0gYXN5bmMgKCk6IFByb21pc2U8bnVtYmVyPiA9PiB7XG4gICAgcmV0dXJuIHRoaXMuZXhlY3V0ZVdpdGhTdHJhdGVneSgoY29ubmVjdG9yKSA9PlxuICAgICAgY29ubmVjdG9yLmdldEN1cnJlbnRIZWlnaHQoKSxcbiAgICApO1xuICB9O1xuXG4gIC8qKlxuICAgKiBHZXQgYWxsIHRyYW5zYWN0aW9ucyBpbiBhIGJsb2NrXG4gICAqIEBwYXJhbSBibG9ja0hhc2ggVGhlIGhhc2ggb2YgdGhlIGJsb2NrIHRvIGdldCB0cmFuc2FjdGlvbnMgZnJvbVxuICAgKiBAcmV0dXJucyBBcnJheSBvZiB0cmFuc2FjdGlvbnMgaW4gdGhlIGJsb2NrXG4gICAqL1xuICBnZXRCbG9ja1R4cyA9IGFzeW5jIChibG9ja0hhc2g6IHN0cmluZyk6IFByb21pc2U8QXJyYXk8VHJhbnNhY3Rpb25UeXBlPj4gPT4ge1xuICAgIHJldHVybiB0aGlzLmV4ZWN1dGVXaXRoU3RyYXRlZ3koKGNvbm5lY3RvcikgPT5cbiAgICAgIGNvbm5lY3Rvci5nZXRCbG9ja1R4cyhibG9ja0hhc2gpLFxuICAgICk7XG4gIH07XG5cbiAgLyoqXG4gICAqIEdldCB0aGUgbnVtYmVyIG9mIGF2YWlsYWJsZSBjb25uZWN0b3JzXG4gICAqIEByZXR1cm5zIFRoZSBudW1iZXIgb2YgY29ubmVjdG9yc1xuICAgKi9cbiAgcHVibGljIGdldENvbm5lY3RvckNvdW50KCk6IG51bWJlciB7XG4gICAgY29uc3QgY291bnQgPSB0aGlzLmNvbm5lY3RvcnMubGVuZ3RoO1xuICAgIHRoaXMubG9nZ2VyLmRlYnVnKGBDdXJyZW50IGNvbm5lY3RvciBjb3VudDogJHtjb3VudH1gKTtcbiAgICByZXR1cm4gY291bnQ7XG4gIH1cblxuICAvKipcbiAgICogUmVtb3ZlIGEgY29ubmVjdG9yIGF0IHRoZSBzcGVjaWZpZWQgaW5kZXhcbiAgICogQHBhcmFtIGluZGV4IFRoZSBpbmRleCBvZiB0aGUgY29ubmVjdG9yIHRvIHJlbW92ZVxuICAgKi9cbiAgcHVibGljIHJlbW92ZUNvbm5lY3RvcihpbmRleDogbnVtYmVyKTogdm9pZCB7XG4gICAgaWYgKGluZGV4IDwgMCB8fCBpbmRleCA+PSB0aGlzLmNvbm5lY3RvcnMubGVuZ3RoKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoJ0ludmFsaWQgY29ubmVjdG9yIGluZGV4Jyk7XG4gICAgfVxuICAgIHRoaXMubG9nZ2VyLmluZm8oYFJlbW92aW5nIGNvbm5lY3RvciBhdCBpbmRleCAke2luZGV4fWApO1xuICAgIHRoaXMuY29ubmVjdG9ycy5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIGlmICh0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleCA+PSB0aGlzLmNvbm5lY3RvcnMubGVuZ3RoKSB7XG4gICAgICB0aGlzLmN1cnJlbnRDb25uZWN0b3JJbmRleCA9IDA7XG4gICAgfVxuICB9XG59XG4iXX0=
package/package.json CHANGED
@@ -1,44 +1,45 @@
1
1
  {
2
2
  "name": "@rosen-bridge/abstract-scanner",
3
- "version": "0.2.0",
3
+ "version": "0.2.1",
4
4
  "description": "Abstract scanner toolkit for blockchain scanning with logging.",
5
- "author": "Rosen Team",
5
+ "repository": {
6
+ "type": "git",
7
+ "url": "git+https://github.com/rosen-bridge/scanner.git"
8
+ },
6
9
  "license": "MIT",
10
+ "author": "Rosen Team",
11
+ "type": "module",
7
12
  "main": "dist/index.js",
8
13
  "types": "dist/index.d.ts",
14
+ "files": [
15
+ "dist",
16
+ "CHANGELOG.md"
17
+ ],
9
18
  "scripts": {
10
19
  "build": "tsc --build tsconfig.build.json",
20
+ "clean": "rimraf dist && rimraf tsconfig.build.tsbuildinfo",
11
21
  "coverage": "npm run test -- --coverage",
12
22
  "lint": "eslint --fix . && npm run prettify",
23
+ "lint:check": "eslint . && npm run prettify:check",
13
24
  "prettify": "prettier --write . --ignore-path ../../.gitignore",
14
- "release": "npm run test -- --run && npm run build && npm publish --access public",
25
+ "prettify:check": "prettier --check . --ignore-path ../../.gitignore",
26
+ "release": "npm run test -- --run && npm run clean && npm run build && npm publish --access public",
15
27
  "test": "NODE_OPTIONS='--import tsx' vitest",
16
28
  "type-check": "tsc --noEmit"
17
29
  },
18
- "repository": {
19
- "type": "git",
20
- "url": "git+https://github.com/rosen-bridge/scanner.git"
21
- },
22
- "files": [
23
- "dist",
24
- "CHANGELOG.md"
25
- ],
26
30
  "dependencies": {
27
- "@rosen-bridge/abstract-extractor": "^2.1.1",
28
- "@rosen-bridge/abstract-logger": "^3.0.0",
29
- "@rosen-bridge/extended-typeorm": "^1.0.0",
30
- "@rosen-bridge/json-bigint": "^1.0.0",
31
- "@rosen-bridge/scanner-interfaces": "^0.2.0",
31
+ "@rosen-bridge/abstract-extractor": "^2.1.2",
32
+ "@rosen-bridge/abstract-logger": "^3.0.1",
33
+ "@rosen-bridge/extended-typeorm": "^1.0.1",
34
+ "@rosen-bridge/json-bigint": "^1.1.0",
35
+ "@rosen-bridge/scanner-interfaces": "^0.2.1",
32
36
  "await-semaphore": "^0.1.3",
33
37
  "lodash-es": "^4.17.21"
34
38
  },
35
- "type": "module",
36
39
  "devDependencies": {
37
40
  "@types/lodash-es": "^4.17.12",
38
- "@types/node": "^22.18.0",
39
41
  "@vitest/coverage-istanbul": "^3.1.4",
40
42
  "tsx": "^4.19.4",
41
- "typescript": "^5.3.3",
42
43
  "vitest": "^3.1.4"
43
44
  },
44
45
  "engines": {
@@ -1 +0,0 @@
1
- {"version":3,"file":"NetworkConnectorManager.d.ts","sourceRoot":"","sources":["../../../lib/scanner/network/NetworkConnectorManager.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,wBAAwB,EACxB,KAAK,EACN,MAAM,kCAAkC,CAAC;AAC1C,OAAO,EACL,0BAA0B,EAE3B,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,cAAc,EAAe,MAAM,+BAA+B,CAAC;AAE5E;;;GAGG;AACH,qBAAa,uBAAuB,CAAC,eAAe,CAClD,YAAW,wBAAwB,CAAC,eAAe,CAAC;IAMlD,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,MAAM;IALhB,OAAO,CAAC,UAAU,CAAmD;IACrE,OAAO,CAAC,qBAAqB,CAAS;gBAG5B,QAAQ,GAAE,0BAA0B,CAAC,eAAe,CAA2C,EAC/F,MAAM,GAAE,cAAkC;IAQpD;;;OAGG;IACI,YAAY,CACjB,SAAS,EAAE,wBAAwB,CAAC,eAAe,CAAC,GACnD,IAAI;IAOP;;;;OAIG;IACH,mBAAmB,IAAI,wBAAwB,CAAC,eAAe,CAAC;IAQhE;;;;OAIG;YACW,mBAAmB;IA8CjC;;;OAGG;IACI,WAAW,CAChB,QAAQ,EAAE,0BAA0B,CAAC,eAAe,CAAC,GACpD,IAAI;IAKP;;;;OAIG;IACH,gBAAgB,WAAkB,MAAM,KAAG,QAAQ,KAAK,CAAC,CAIvD;IAEF;;;OAGG;IACH,gBAAgB,QAAa,QAAQ,MAAM,CAAC,CAI1C;IAEF;;;;OAIG;IACH,WAAW,cAAqB,MAAM,KAAG,QAAQ,MAAM,eAAe,CAAC,CAAC,CAItE;IAEF;;;OAGG;IACI,iBAAiB,IAAI,MAAM;IAMlC;;;OAGG;IACI,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAU5C"}