@waku/rln 0.1.1-8928376 → 0.1.1-fa49e29

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/bundle/index.js CHANGED
@@ -2064,7 +2064,7 @@ const RLN_STORAGE_ABI = [
2064
2064
  ];
2065
2065
  const SEPOLIA_CONTRACT = {
2066
2066
  chainId: 11155111,
2067
- address: "0xF1935b338321013f11068abCafC548A7B0db732C",
2067
+ address: "0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4",
2068
2068
  abi: RLN_REGISTRY_ABI,
2069
2069
  };
2070
2070
 
@@ -24528,11 +24528,11 @@ class Keystore {
24528
24528
  // TODO: add runtime validation of nwaku credentials
24529
24529
  return {
24530
24530
  identity: {
24531
- IDCommitment: _.get(obj, "identityCredential.idCommitment"),
24532
- IDTrapdoor: _.get(obj, "identityCredential.idTrapdoor"),
24533
- IDNullifier: _.get(obj, "identityCredential.idNullifier"),
24534
- IDCommitmentBigInt: buildBigIntFromUint8Array(new Uint8Array(_.get(obj, "identityCredential.idCommitment", []))),
24535
- IDSecretHash: _.get(obj, "identityCredential.idSecretHash"),
24531
+ IDCommitment: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", [])),
24532
+ IDTrapdoor: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idTrapdoor", [])),
24533
+ IDNullifier: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idNullifier", [])),
24534
+ IDCommitmentBigInt: buildBigIntFromUint8Array(Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", []))),
24535
+ IDSecretHash: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idSecretHash", [])),
24536
24536
  },
24537
24537
  membership: {
24538
24538
  treeIndex: _.get(obj, "treeIndex"),
@@ -24546,6 +24546,17 @@ class Keystore {
24546
24546
  return null;
24547
24547
  }
24548
24548
  }
24549
+ static fromArraylikeToBytes(obj) {
24550
+ const bytes = [];
24551
+ let index = 0;
24552
+ let lastElement = obj[index];
24553
+ while (lastElement !== undefined) {
24554
+ bytes.push(lastElement);
24555
+ index += 1;
24556
+ lastElement = obj[index];
24557
+ }
24558
+ return new Uint8Array(bytes);
24559
+ }
24549
24560
  // follows nwaku implementation
24550
24561
  // https://github.com/waku-org/nwaku/blob/f05528d4be3d3c876a8b07f9bb7dfaae8aa8ec6e/waku/waku_keystore/protocol_types.nim#L111
24551
24562
  static computeMembershipHash(info) {
@@ -49745,10 +49756,10 @@ class MerkleRootTracker {
49745
49756
  }
49746
49757
 
49747
49758
  class RLNContract {
49748
- constructor(rlnInstance, { address, provider }) {
49749
- this._members = [];
49759
+ constructor(rlnInstance, { registryAddress, provider }) {
49760
+ this._members = new Map();
49750
49761
  const initialRoot = rlnInstance.getMerkleRoot();
49751
- this.registryContract = new Contract(address, RLN_REGISTRY_ABI, provider);
49762
+ this.registryContract = new Contract(registryAddress, RLN_REGISTRY_ABI, provider);
49752
49763
  this.merkleRootTracker = new MerkleRootTracker(5, initialRoot);
49753
49764
  }
49754
49765
  static async init(rlnInstance, options) {
@@ -49758,22 +49769,28 @@ class RLNContract {
49758
49769
  rlnContract.subscribeToMembers(rlnInstance);
49759
49770
  return rlnContract;
49760
49771
  }
49761
- async initStorageContract(provider) {
49762
- const index = await this.registryContract.usingStorageIndex();
49763
- const address = await this.registryContract.storages(index);
49764
- this.storageIndex = index;
49765
- this.storageContract = new Contract(address, RLN_STORAGE_ABI, provider);
49772
+ async initStorageContract(provider, options = {}) {
49773
+ const storageIndex = options?.storageIndex
49774
+ ? options.storageIndex
49775
+ : await this.registryContract.usingStorageIndex();
49776
+ const storageAddress = await this.registryContract.storages(storageIndex);
49777
+ if (!storageAddress || storageAddress === AddressZero) {
49778
+ throw Error("No RLN Storage initialized on registry contract.");
49779
+ }
49780
+ this.storageIndex = storageIndex;
49781
+ this.storageContract = new Contract(storageAddress, RLN_STORAGE_ABI, provider);
49766
49782
  this._membersFilter = this.storageContract.filters.MemberRegistered();
49767
49783
  this.deployBlock = await this.storageContract.deployedBlockNumber();
49768
49784
  }
49769
49785
  get contract() {
49770
49786
  if (!this.storageContract) {
49771
- throw Error("Storage contract was not initialized.");
49787
+ throw Error("Storage contract was not initialized");
49772
49788
  }
49773
49789
  return this.storageContract;
49774
49790
  }
49775
49791
  get members() {
49776
- return this._members;
49792
+ const sortedMembers = Array.from(this._members.values()).sort((left, right) => left.index.toNumber() - right.index.toNumber());
49793
+ return sortedMembers;
49777
49794
  }
49778
49795
  get membersFilter() {
49779
49796
  if (!this._membersFilter) {
@@ -49800,11 +49817,11 @@ class RLNContract {
49800
49817
  const index = evt.args.index;
49801
49818
  const toRemoveVal = toRemoveTable.get(evt.blockNumber);
49802
49819
  if (toRemoveVal != undefined) {
49803
- toRemoveVal.push(index);
49820
+ toRemoveVal.push(index.toNumber());
49804
49821
  toRemoveTable.set(evt.blockNumber, toRemoveVal);
49805
49822
  }
49806
49823
  else {
49807
- toRemoveTable.set(evt.blockNumber, [index]);
49824
+ toRemoveTable.set(evt.blockNumber, [index.toNumber()]);
49808
49825
  }
49809
49826
  }
49810
49827
  else {
@@ -49822,14 +49839,17 @@ class RLNContract {
49822
49839
  insertMembers(rlnInstance, toInsert) {
49823
49840
  toInsert.forEach((events, blockNumber) => {
49824
49841
  events.forEach((evt) => {
49825
- if (!evt.args) {
49842
+ const _idCommitment = evt?.args?.idCommitment;
49843
+ const index = evt?.args?.index;
49844
+ if (!_idCommitment || !index) {
49826
49845
  return;
49827
49846
  }
49828
- const pubkey = evt.args.pubkey;
49829
- const index = evt.args.index;
49830
- const idCommitment = zeroPad(arrayify(pubkey), 32);
49847
+ const idCommitment = zeroPad(arrayify(_idCommitment), 32);
49831
49848
  rlnInstance.insertMember(idCommitment);
49832
- this.members.push({ index, pubkey });
49849
+ this._members.set(index.toNumber(), {
49850
+ index,
49851
+ idCommitment: _idCommitment?._hex || hexlify(idCommitment),
49852
+ });
49833
49853
  });
49834
49854
  const currentRoot = rlnInstance.getMerkleRoot();
49835
49855
  this.merkleRootTracker.pushRoot(blockNumber, currentRoot);
@@ -49839,9 +49859,8 @@ class RLNContract {
49839
49859
  const removeDescending = new Map([...toRemove].sort().reverse());
49840
49860
  removeDescending.forEach((indexes, blockNumber) => {
49841
49861
  indexes.forEach((index) => {
49842
- const idx = this.members.findIndex((m) => m.index === index);
49843
- if (idx > -1) {
49844
- this.members.splice(idx, 1);
49862
+ if (this._members.has(index)) {
49863
+ this._members.delete(index);
49845
49864
  }
49846
49865
  rlnInstance.deleteMember(index);
49847
49866
  });
@@ -49849,21 +49868,28 @@ class RLNContract {
49849
49868
  });
49850
49869
  }
49851
49870
  subscribeToMembers(rlnInstance) {
49852
- this.contract.on(this.membersFilter, (_pubkey, _index, event) => this.processEvents(rlnInstance, event));
49871
+ this.contract.on(this.membersFilter, (_pubkey, _index, event) => this.processEvents(rlnInstance, [event]));
49853
49872
  }
49854
49873
  async registerWithSignature(rlnInstance, signature) {
49855
49874
  const identityCredential = await rlnInstance.generateSeededIdentityCredential(signature);
49856
49875
  return this.registerWithKey(identityCredential);
49857
49876
  }
49858
49877
  async registerWithKey(credential) {
49859
- if (!this.storageIndex) {
49878
+ if (this.storageIndex === undefined) {
49860
49879
  throw Error("Cannot register credential, no storage contract index found.");
49861
49880
  }
49862
- const txRegisterResponse = await this.registryContract.register(this.storageIndex, credential.IDCommitmentBigInt, {
49863
- gasLimit: 100000,
49864
- });
49881
+ const txRegisterResponse = await this.registryContract["register(uint16,uint256)"](this.storageIndex, credential.IDCommitmentBigInt, { gasLimit: 100000 });
49865
49882
  const txRegisterReceipt = await txRegisterResponse.wait();
49866
- return txRegisterReceipt?.events?.[0];
49883
+ // assumption: register(uint16,uint256) emits one event
49884
+ const memberRegistered = txRegisterReceipt?.events?.[0];
49885
+ if (!memberRegistered) {
49886
+ return undefined;
49887
+ }
49888
+ const decodedData = this.contract.interface.decodeEventLog("MemberRegistered", memberRegistered.data);
49889
+ return {
49890
+ idCommitment: decodedData.idCommitment,
49891
+ index: decodedData.index,
49892
+ };
49867
49893
  }
49868
49894
  roots() {
49869
49895
  return this.merkleRootTracker.roots();
package/dist/.tsbuildinfo CHANGED
@@ -1 +1 @@
1
- {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/byte_utils.ts","../node_modules/multiformats/dist/types/src/hashes/interface.d.ts","../node_modules/multiformats/dist/types/src/bases/interface.d.ts","../node_modules/multiformats/dist/types/src/block/interface.d.ts","../node_modules/multiformats/dist/types/src/link/interface.d.ts","../node_modules/multiformats/dist/types/src/cid.d.ts","../node_modules/@libp2p/interface-peer-id/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-info/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/enr.d.ts","../node_modules/@libp2p/interfaces/dist/src/events.d.ts","../node_modules/uint8arraylist/dist/src/index.d.ts","../node_modules/@libp2p/interface-record/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-store/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/index.d.ts","../node_modules/it-stream-types/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interface-stream-muxer/dist/src/index.d.ts","../node_modules/@libp2p/interface-transport/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/startable.d.ts","../node_modules/@libp2p/interface-metrics/dist/src/index.d.ts","../node_modules/@libp2p/interface-address-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/transport-manager.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/pb/message.d.ts","../node_modules/@libp2p/interface-registrar/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/index.d.ts","../node_modules/@libp2p/interface-peer-discovery/dist/src/index.d.ts","../node_modules/@libp2p/interface-dht/dist/src/index.d.ts","../node_modules/libp2p/node_modules/interface-store/dist/src/index.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/bases/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/hashes/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/link/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/cid.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/block/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/codecs/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/hashes/digest.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/hashes/hasher.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/varint.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/bytes.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/index.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/codecs/raw.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/codecs/json.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/bases/base.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/basics.d.ts","../node_modules/uint8arrays/dist/src/util/bases.d.ts","../node_modules/uint8arrays/dist/src/to-string.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/key.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/index.d.ts","../node_modules/@libp2p/interface-content-routing/dist/src/index.d.ts","../node_modules/libp2p/dist/src/circuit/index.d.ts","../node_modules/@libp2p/interface-connection-encrypter/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-routing/dist/src/index.d.ts","../node_modules/it-pushable/dist/src/index.d.ts","../node_modules/@libp2p/interface-pubsub/dist/src/index.d.ts","../node_modules/libp2p/dist/src/ping/index.d.ts","../node_modules/libp2p/dist/src/fetch/index.d.ts","../node_modules/libp2p/dist/src/components.d.ts","../node_modules/@libp2p/interface-keychain/dist/src/index.d.ts","../node_modules/@libp2p/interface-libp2p/dist/src/index.d.ts","../node_modules/libp2p/dist/src/keychain/cms.d.ts","../node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/keys.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/interface.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ecdh.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.d.ts","../node_modules/multiformats/dist/types/src/codecs/interface.d.ts","../node_modules/multiformats/dist/types/src/interface.d.ts","../node_modules/multiformats/dist/types/src/hashes/digest.d.ts","../node_modules/multiformats/dist/types/src/hashes/hasher.d.ts","../node_modules/multiformats/dist/types/src/varint.d.ts","../node_modules/multiformats/dist/types/src/bytes.d.ts","../node_modules/multiformats/dist/types/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/rsa-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ed25519-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/secp256k1-class.d.ts","../node_modules/@libp2p/interface-keys/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/index.d.ts","../node_modules/libp2p/dist/src/keychain/index.d.ts","../node_modules/@achingbrain/nat-port-mapper/dist/src/index.d.ts","../node_modules/libp2p/dist/src/nat-manager.d.ts","../node_modules/libp2p/dist/src/address-manager/index.d.ts","../node_modules/libp2p/dist/src/peer-routing.d.ts","../node_modules/libp2p/dist/src/connection-manager/latency-monitor.d.ts","../node_modules/libp2p/dist/src/connection-manager/index.d.ts","../node_modules/libp2p/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/message.d.ts","../node_modules/@waku/interfaces/dist/protocols.d.ts","../node_modules/@waku/interfaces/dist/misc.d.ts","../node_modules/@waku/interfaces/dist/receiver.d.ts","../node_modules/@waku/interfaces/dist/filter.d.ts","../node_modules/@waku/interfaces/dist/sender.d.ts","../node_modules/@waku/interfaces/dist/light_push.d.ts","../node_modules/@waku/interfaces/dist/peer_exchange.d.ts","../node_modules/@waku/interfaces/dist/relay.d.ts","../node_modules/@waku/interfaces/dist/store.d.ts","../node_modules/@waku/interfaces/dist/waku.d.ts","../node_modules/@waku/interfaces/dist/connection_manager.d.ts","../node_modules/@waku/interfaces/dist/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@waku/utils/dist/bytes/index.d.ts","../src/epoch.ts","../node_modules/@waku/zerokit-rln-wasm/rln_wasm.d.ts","../src/resources/verification_key.js","../src/witness_calculator.d.ts","../src/rln.ts","../src/message.ts","../src/codec.ts","../src/constants.ts","../node_modules/@chainsafe/bls-keystore/lib/types.d.ts","../node_modules/@chainsafe/bls-keystore/lib/kdf.d.ts","../node_modules/@chainsafe/bls-keystore/lib/checksum.d.ts","../node_modules/@chainsafe/bls-keystore/lib/cipher.d.ts","../node_modules/@chainsafe/bls-keystore/lib/functional.d.ts","../node_modules/@chainsafe/bls-keystore/lib/class.d.ts","../node_modules/@chainsafe/bls-keystore/lib/schema-validation.d.ts","../node_modules/@chainsafe/bls-keystore/lib/index.d.ts","../node_modules/ethereum-cryptography/sha256.d.ts","../node_modules/ethereum-cryptography/node_modules/@noble/hashes/utils.d.ts","../node_modules/ethereum-cryptography/node_modules/@noble/hashes/_assert.d.ts","../node_modules/ethereum-cryptography/utils.d.ts","../node_modules/@types/lodash/common/common.d.ts","../node_modules/@types/lodash/common/array.d.ts","../node_modules/@types/lodash/common/collection.d.ts","../node_modules/@types/lodash/common/date.d.ts","../node_modules/@types/lodash/common/function.d.ts","../node_modules/@types/lodash/common/lang.d.ts","../node_modules/@types/lodash/common/math.d.ts","../node_modules/@types/lodash/common/number.d.ts","../node_modules/@types/lodash/common/object.d.ts","../node_modules/@types/lodash/common/seq.d.ts","../node_modules/@types/lodash/common/string.d.ts","../node_modules/@types/lodash/common/util.d.ts","../node_modules/@types/lodash/index.d.ts","../node_modules/@types/uuid/index.d.ts","../node_modules/@types/uuid/index.d.mts","../node_modules/@chainsafe/bls-keystore/lib/password.d.ts","../node_modules/ethereum-cryptography/node_modules/@noble/hashes/sha3.d.ts","../node_modules/ethereum-cryptography/keccak.d.ts","../src/keystore/types.ts","../src/keystore/cipher.ts","../src/keystore/credential_validation_generated.ts","../src/keystore/keystore_validation_generated.ts","../src/keystore/schema_validator.ts","../src/keystore/keystore.ts","../src/keystore/index.ts","../node_modules/@ethersproject/bytes/lib/index.d.ts","../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../node_modules/@ethersproject/bignumber/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/fragments.d.ts","../node_modules/@ethersproject/abi/lib/coders/abstract-coder.d.ts","../node_modules/@ethersproject/abi/lib/abi-coder.d.ts","../node_modules/@ethersproject/properties/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/interface.d.ts","../node_modules/@ethersproject/abi/lib/index.d.ts","../node_modules/@ethersproject/networks/lib/types.d.ts","../node_modules/@ethersproject/networks/lib/index.d.ts","../node_modules/@ethersproject/transactions/lib/index.d.ts","../node_modules/@ethersproject/web/lib/index.d.ts","../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../node_modules/@ethersproject/abstract-signer/lib/index.d.ts","../node_modules/@ethersproject/contracts/lib/index.d.ts","../node_modules/@ethersproject/logger/lib/index.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlist.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlists.d.ts","../node_modules/@ethersproject/wordlists/lib/index.d.ts","../node_modules/@ethersproject/hdnode/lib/index.d.ts","../node_modules/@ethersproject/signing-key/lib/index.d.ts","../node_modules/@ethersproject/json-wallets/lib/crowdsale.d.ts","../node_modules/@ethersproject/json-wallets/lib/inspect.d.ts","../node_modules/@ethersproject/json-wallets/lib/keystore.d.ts","../node_modules/@ethersproject/json-wallets/lib/index.d.ts","../node_modules/@ethersproject/wallet/lib/index.d.ts","../node_modules/@ethersproject/constants/lib/addresses.d.ts","../node_modules/@ethersproject/constants/lib/bignumbers.d.ts","../node_modules/@ethersproject/constants/lib/hashes.d.ts","../node_modules/@ethersproject/constants/lib/strings.d.ts","../node_modules/@ethersproject/constants/lib/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@ethersproject/providers/lib/formatter.d.ts","../node_modules/@ethersproject/providers/lib/base-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/websocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/url-json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/alchemy-provider.d.ts","../node_modules/@ethersproject/providers/lib/ankr-provider.d.ts","../node_modules/@ethersproject/providers/lib/cloudflare-provider.d.ts","../node_modules/@ethersproject/providers/lib/etherscan-provider.d.ts","../node_modules/@ethersproject/providers/lib/fallback-provider.d.ts","../node_modules/@ethersproject/providers/lib/ipc-provider.d.ts","../node_modules/@ethersproject/providers/lib/infura-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.d.ts","../node_modules/@ethersproject/providers/lib/nodesmith-provider.d.ts","../node_modules/@ethersproject/providers/lib/pocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/web3-provider.d.ts","../node_modules/@ethersproject/providers/lib/index.d.ts","../node_modules/@ethersproject/address/lib/index.d.ts","../node_modules/@ethersproject/base64/lib/base64.d.ts","../node_modules/@ethersproject/base64/lib/index.d.ts","../node_modules/@ethersproject/basex/lib/index.d.ts","../node_modules/@ethersproject/hash/lib/id.d.ts","../node_modules/@ethersproject/hash/lib/namehash.d.ts","../node_modules/@ethersproject/hash/lib/message.d.ts","../node_modules/@ethersproject/hash/lib/typed-data.d.ts","../node_modules/@ethersproject/hash/lib/index.d.ts","../node_modules/@ethersproject/keccak256/lib/index.d.ts","../node_modules/@ethersproject/sha2/lib/types.d.ts","../node_modules/@ethersproject/sha2/lib/sha2.d.ts","../node_modules/@ethersproject/sha2/lib/index.d.ts","../node_modules/@ethersproject/solidity/lib/index.d.ts","../node_modules/@ethersproject/random/lib/random.d.ts","../node_modules/@ethersproject/random/lib/shuffle.d.ts","../node_modules/@ethersproject/random/lib/index.d.ts","../node_modules/@ethersproject/rlp/lib/index.d.ts","../node_modules/@ethersproject/strings/lib/bytes32.d.ts","../node_modules/@ethersproject/strings/lib/idna.d.ts","../node_modules/@ethersproject/strings/lib/utf8.d.ts","../node_modules/@ethersproject/strings/lib/index.d.ts","../node_modules/@ethersproject/units/lib/index.d.ts","../node_modules/ethers/lib/utils.d.ts","../node_modules/ethers/lib/_version.d.ts","../node_modules/ethers/lib/ethers.d.ts","../node_modules/ethers/lib/index.d.ts","../src/root_tracker.ts","../src/rln_contract.ts","../src/index.ts","../src/witness_calculator.js","../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"ff77107ca6bf9d21ba1eb7eeefff1a0b951ebc57c04b171c1956360ba630eef0","signature":"60fd8e1d8095e876caeb2704b71d332cbda552ecdfc1f36919256a463e4d2567","impliedFormat":99},{"version":"65da6f0b8f50b27e05ebf35c88a8757eb4308751cdf2b1064a0e310a2a485895","impliedFormat":99},{"version":"2e3dc1d28f2467b2af0c931a3b0d2c595746a2f21818fc3c7b5d050996ace788","impliedFormat":99},{"version":"237be372eeb9a7ce07c6b2a21358f22772cde924614d67de175a4ac0ba3eb486","impliedFormat":99},{"version":"862eacc247d6c92524d7879feac6da363f55428cc78270bce7b14f2d3d0b0cef","impliedFormat":99},{"version":"f55f3ab9485b5fd1a3ba3a5a53e680cb8d3acc3552816a5d58a1fa26324262d0","impliedFormat":99},{"version":"ee93f3313289b31afd1544da65086607942df227eb61aedf488b7c072aa1128f","impliedFormat":99},{"version":"5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","impliedFormat":99},{"version":"42b5333564fef3c9becbe8daf55b1ea124514cd86c2f8bed401d2a3f0037b3b1","impliedFormat":99},{"version":"109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","impliedFormat":99},{"version":"edb50eace77052203c3bc6eb251fe31f44ab0107e2b6d949ec983a918726aaf4","impliedFormat":99},{"version":"a5419b108da7e4c0241d74ab53bf2041c62e77815965d24605c2407415f11c5d","impliedFormat":99},{"version":"4a5612eb59f581a5b8e05d22e668b4199787751266a0291e3e07113fc52abf2a","impliedFormat":99},{"version":"ea86fe238f679714f2b3662d9d932bc3b47a0500894985718243167043f2bda8","impliedFormat":99},{"version":"866f0c4f16380a56653adc6cbeac08c58c626dabb431f0fa6cc2ba07874836d8","impliedFormat":99},{"version":"e8c5b68c1182684e8cfc177430b80fef003976d1dbde326087c28f5125fe4b5d","impliedFormat":99},{"version":"a807c0a82557d68f6f0464d6af0a6566d1ef708f57c7d1d7dd8dde28879635bc","impliedFormat":99},{"version":"a2023e18c62b1109f17241fb1f90a84e75fffcb3ee9265d2e9bc0fa40b6ede42","impliedFormat":99},{"version":"6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","impliedFormat":99},{"version":"3ccf65e2230413ab1facbad92a2fb77b8e2bcd314618d0ebc12f6cb7aaa21619","impliedFormat":99},{"version":"4c5e54a2d502770a63859a00fbf77e8b91ce76b18080278f62866e7cdb582798","impliedFormat":99},{"version":"71dfda7df8d05d2d54627963af1c3c675ef99363d421b7ff42ae237d038db4ce","impliedFormat":99},{"version":"5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","impliedFormat":99},{"version":"1b03f8d19b753269d85e2e50ec2a2866bf349fb4f6e72aef6559e94c64511dee","impliedFormat":99},{"version":"109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","impliedFormat":99},{"version":"6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","impliedFormat":99},{"version":"6377354dd753557d479933e0bec6ca6836f839c87394ecb071e85f062b708058","impliedFormat":99},{"version":"16c594cd8a44be9f5398d3fc7dbc9575f0b67d91a6553f35bd3576136862b32b","impliedFormat":99},{"version":"0fc1e0effc8ea83ceca9a1ff36c2696489fefea040d33fc5cbe244111333fcd4","impliedFormat":99},{"version":"0dd67171a4a3fa82044faec51befa11ab96f9205fd8cc96be09de275b65d36ab","impliedFormat":99},{"version":"42570779c28480ae0d1fa0695974a888305ee2b2efd37bacdeb57204dec843db","impliedFormat":99},{"version":"20e85d1b2ce7381a938a25a725a90f8610e68862c5a661acfeffaacd6513d392","impliedFormat":99},{"version":"667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","impliedFormat":99},{"version":"eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","impliedFormat":99},{"version":"01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","impliedFormat":99},{"version":"76513b0c51c81a929f4f90694edf4dcc85f71bb46121b4192b5530e0601f9d81","impliedFormat":99},{"version":"a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","impliedFormat":99},{"version":"df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","impliedFormat":99},{"version":"0820608ae5bf3995d77eedf0fa7f987c0d5c7c9592fdc0bcb391fb742d5067a0","impliedFormat":99},{"version":"14b8a1dd226271e6b045d91262602b15820ff871b3dab24510a15e6989d05a5d","impliedFormat":99},{"version":"2596013e7e3f002455e29bad0a70e0ae1a1364cac8584d2590b73133e63d6073","impliedFormat":99},{"version":"274b714a925cc417f249f430b9c5c3ec80986044d8322d41e40fd39a7d154fa8","impliedFormat":99},{"version":"70cbb43b1e838bb77b16e1085115494c8b6925a954edf7fbdd494ad56a88adb8","impliedFormat":99},{"version":"ad716342f559ff88871c01a351dbf89fe72c8313f329cd2a714f09f532c50eab","impliedFormat":99},{"version":"6adc54eb855f3fda2603173a431be81830172099df37ddda11b6730c1c8d9147","impliedFormat":1},{"version":"438ad3eed057c98e23b55ffa592f96269f07242cce80ecb8ed823574de77aab0","impliedFormat":99},{"version":"8eef7568d606bb74f6fa6411b6c067637777f85c00079723a9397120dd92b350","impliedFormat":99},{"version":"2b74d6d9875fc0b0b512b5c6f1f1ca53d050da82909f72b4cc2cdef317695aba","impliedFormat":99},{"version":"2a4905817a3f71d0739ed8bfb7399ec43994c9a11b20ff872b1a958edbad1cba","impliedFormat":99},{"version":"ae330d2797dc8a25dc36f0ade8a4a84c826d6dd4f108af61448327c9e8acac4a","impliedFormat":99},{"version":"fc018e192395d4243f43355c9eec40d33b8e7e7b461d693b84472aba9b099e98","impliedFormat":99},{"version":"e1fe04ff1ffecfb18420f0895d0cd2652f98a27def5c33aae5ef328f186c905b","impliedFormat":99},{"version":"635e7c978a30ab2013a37c4d05d0d081e58e4ad867db46a009412ad24ee426d7","impliedFormat":99},{"version":"9ebc2216a784e7fc97775fb7ab6976c6e2eb88662ff02a1a3c89a10546dac173","impliedFormat":99},{"version":"87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","impliedFormat":99},{"version":"32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","impliedFormat":99},{"version":"4e3ffdea3d82359fb81c9187e3d1f3ca4101963ae5e664ab47484cf61af50ee9","impliedFormat":99},{"version":"474ab86e676e0c1b664bfcd21b1e58bed351f3390ba1d892e8da703f371b7a4e","impliedFormat":99},{"version":"fb7a601066e19b5d0c173b564bd46b358cf00c9040e79fb6fd427b7aa223eed1","impliedFormat":99},{"version":"cf59d474e0bb4c2f3bb3be647b435891c75115f1aa9e2908b28df9dea1604be2","impliedFormat":99},{"version":"1535a7688c7368b2d187873760dd26c14ed28fbc0802e521aae65c30bfbb434e","impliedFormat":99},{"version":"c0fdc1c9e8770da790089cb0d263670cb7a22ff4193b352717936d0dd08fe26b","impliedFormat":99},{"version":"a7975589eea94f2a13153955364398522d9a265aa2a52def61d29f752b48cc91","impliedFormat":99},{"version":"531556008024c69163c0d120823a69e7a6a5be1279ea87fc725a63dc386278b7","impliedFormat":99},{"version":"df99b5b6041e9e37b46c876cd487020e4bc9e02a519fa4a735cbe18f5c4f2f38","impliedFormat":99},{"version":"272cd5e6428b68d973ce707329c3f621ac6b3eb4bf5bd4421b1106299600ddde","impliedFormat":99},{"version":"2202644315d85ab8985d4f72fe136c00e53db91ac06a0646eff7980e55bdacb3","impliedFormat":99},{"version":"cd5ab2f30a27d53001804b7ef51758a79b73e4ccb7716b8e2ab8e17d69a7183b","impliedFormat":99},{"version":"9080b537cd4fa24273477f33faf5f983e5f10aa386c2de8fcb6de837c9cc9763","impliedFormat":99},{"version":"d34a8917095f11006957bed03e1e60dacc0b82906f5d0ddc87b959e283fbb5cc","impliedFormat":99},{"version":"bffe8a5db9410d2f3320df7016f83e9de47328e377aa78b9aaed1fe6d5db9d66","impliedFormat":99},{"version":"a9dc4418352bc4a8d1e9314aba1e29327b17d06c604b397c6140d6488c5b022a","impliedFormat":99},{"version":"6adcf362e079c177ea4730c8b7beb3e9848b3f970ef08b497a641e034b0a0ece","impliedFormat":99},{"version":"114ef8adba09ab579b6bd6d16b2c83ddea02c1f5ff598f3144f2c3853ef3eb7d","impliedFormat":99},{"version":"1217c84b164e559b2371aea1b8c11eea9f95e123dab98942c8a5a4aacc2ad252","impliedFormat":99},{"version":"28092d5b5aea82adc509a3d522d265d9d5a8a0ddf92f94c8fb336c5787893030","impliedFormat":99},{"version":"995a3938e28f1a7e359847f83b43951c05727b6ca42398982778adc8b9a58609","impliedFormat":99},{"version":"77411d10dad0e74a86ce28dd0f720cce2947421e42f3fb5d1849bc14520f9b5b","impliedFormat":99},{"version":"667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","impliedFormat":99},{"version":"eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","impliedFormat":99},{"version":"01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","impliedFormat":99},{"version":"a380f922477db0b9b4a17cde7d29585e2280036fd62ac4564814d4844b64717a","impliedFormat":99},{"version":"a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","impliedFormat":99},{"version":"df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","impliedFormat":99},{"version":"1a57e52e42a8ff2121d47cba8133c73b4e10ede7252881dc131cf514b28f884e","impliedFormat":99},{"version":"cfb5cd87dcce3ac2d6e4e575ae732791e1d77e047c0018bfc5f9e4d1ba355719","impliedFormat":99},{"version":"a979d3d312f1d879a5c77493697380b6caae9333e2fe0f51bb0fb0473dc211ba","impliedFormat":99},{"version":"aaf4673898dca18c059997aae0e8ae725215c8ee0998e9d4a6fd173384276748","impliedFormat":99},{"version":"b90473059128d1a4c028852a710058a3a8944835188672f5846deba05a1e778e","impliedFormat":99},{"version":"8ad13afb5324460426b210f7c5040d3d19375accd24e22bb52a534c728aca73e","impliedFormat":99},{"version":"e1fe04ff1ffecfb18420f0895d0cd2652f98a27def5c33aae5ef328f186c905b","impliedFormat":99},{"version":"635e7c978a30ab2013a37c4d05d0d081e58e4ad867db46a009412ad24ee426d7","impliedFormat":99},{"version":"b27c2a28daf3e502ae6b631cbf51881247fffd3e0163520bc5904604f9e48096","impliedFormat":99},{"version":"87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","impliedFormat":99},{"version":"32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","impliedFormat":99},{"version":"8747571dae434deca4847b49e09b5421d7068b0956a1df841756812645d4e1ed","impliedFormat":99},{"version":"216601fa3da32170d99a6cbdea143a00dfd5a7bfddcf231126493c0ab992daf4","impliedFormat":99},{"version":"06245aedbc73b4f39fabd67ab13f451e009489bd66dac614184c8f97034f8016","impliedFormat":99},{"version":"b3bff8270798e03d00349137271e3f11074ec5281a393289dd8f33f37627828b","impliedFormat":99},{"version":"3b65ca51bc8915ae230bb40cb6a9662bcdcde83c402f57d7f8b8c803d497d0af","impliedFormat":99},{"version":"28393110732dca5855c0fd444777dc978d010ecba3204c4c48cfa26ee612bc13","impliedFormat":99},{"version":"01fd310805f9c29fc38a6580e32f75291d5dd3918e7acdfc7d50548ba0c4bf9b","impliedFormat":99},{"version":"f569da0d6f4c6fb153811dd6b7d34afb4511c7d85f5089e30a1db78004975ec1","impliedFormat":99},{"version":"537b1070107a0454a2fe365a633555700fff55a4b3e15d55520633b93dbf96d1","impliedFormat":99},{"version":"6b616e00e177a11c8054c70c821ca2d0c976403d11ad466385dddc89245e7ade","impliedFormat":99},{"version":"8dac050016c78a797699221c95d569c47ea4176e403b47f9f5a2e95afe26cdd6","impliedFormat":99},{"version":"d8a63ecc9188f8ef5fce8c82ea2c691acce9a152b8bd07d75a6531c7d4c07df9","impliedFormat":99},{"version":"4967ab74e79f8d087627020dd95dd6f803b79a14410acb11b4c8a33db61bdcf3","impliedFormat":99},{"version":"41326ccdc0707b973e3a285711e4d4ff37b999745d1539e346800a8f1db8e702","impliedFormat":99},{"version":"55ceb2bf66892116339189e65e54fb1b22def0d6aec0a64ff0038e69c079b1c7","impliedFormat":99},{"version":"d645480bf6b4bbea9b456d72dc0bf48db82b8218f80134d6d1f0e23123279d13","impliedFormat":99},{"version":"b2f91bd2d0f60e3dca8217d9e405b594c1268f51306bca54b6b6b50d76177a43","impliedFormat":99},{"version":"a6ba587a908313fff2672c8fa74f1f93c3d74861464488c352304f20d4883e27","impliedFormat":99},{"version":"c4b62e88d338895f62ea1c2eecff4dae3ea7d6c5aa08436f89960bebade12be9","impliedFormat":99},{"version":"0c5bc6a0a6664bfcb6d53bec072fe1b83e129ea965143e826b7e3f40b0c8fa96","impliedFormat":99},{"version":"2e1d641e085f3fad3bfaa36a3aa917703f314cd3e52057538554c8f5a1362872","impliedFormat":99},{"version":"94fc6dd8f95aaf163e5cde84558bf45867fccacfb2632c6e85265efda6dbc0a4","impliedFormat":99},{"version":"eb6527640f6cd73d8b1350ed74cf374d5d08a951f78bebbf8f1f0786ad914e41","impliedFormat":99},{"version":"9baaecd1ece45f7966156fcb69f9d366aed3d1e8e604e58042970de681228929","impliedFormat":99},{"version":"15a6ebf6dc00e8474f7ee0e2c6321b7ad328b4b59d03ee7b103c94a71bbd3a7e","impliedFormat":99},{"version":"3e836ec68dd734248c913405f458ed2c66565c4fa4647aa1d0cb8fe5f35e2d66","impliedFormat":99},{"version":"dd4f10fd0eab2df1b95f1da2de90806cdbe5b9c9552596115521d36e2fd9da4f","impliedFormat":99},{"version":"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","impliedFormat":1},{"version":"78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","impliedFormat":1},{"version":"f98f7fd5c208374f072a67a46306ab9b3f914554b4ebb673fb805e13a4119b6c","impliedFormat":99},{"version":"e9318530496429d8c5f5a39ce1f0eaf39ecf0a779a0e2f0f54ab37cd1ec057b6","signature":"b5b1f8f8b94f35a0a1b59e923899562482f6c99b912a0c2fa9424410fdd6f910","impliedFormat":99},{"version":"4a8ba0a75f66d19e6de5e1af20301769e3c2922b9ed766849e4134d32090854b","impliedFormat":1},{"version":"4e5dd895ed64dedb1a4a959ae8236a5f7fb803267a2986498d946b68a5dbde16","signature":"8e87acd8260ebbda136579bdf35e3535475864e40a3fd7ed09f45bd731fa6c3a","impliedFormat":99},{"version":"23c811b86e2e70be10ba78aba44942fb7dea4d7ca01cfbc14524508c5efbdc27","impliedFormat":99},{"version":"eae2bbd6b338083db08aba545813ac3b69b059143b3db4577a488084baa088dd","signature":"1005bd68c0e2012ed116b83235ecef9a8c05d56f905f31fa091dff6819df2879","impliedFormat":99},{"version":"5cc8e8f6ab452f986e30bdeeba5ed3fbc37300ac3a233af794f505ba41694955","signature":"adb0928b920e0cad8efd70e2c47e84ebad4bec9134e3caae137df49f65160450","impliedFormat":99},{"version":"cc704dd72d42219ff6f6dd38c0585364940763337412b253c9a84bd9440e4226","signature":"7ce814a75931a044a619f099254e6dd5df1f1f96ce1442a24c135e5c68696f58","impliedFormat":99},{"version":"e82a11b5c8d2fe6b0e7bf68f7ef0da1007c1ae51b26d5348ae2e65ce9a17d030","signature":"3b41fe134d571bca09a1302d50c6afba4249f6e8b41235b42f47da2c6660eef2","impliedFormat":99},{"version":"5ccd75f0f34649b7e7e02c4c1fc13ca55245ee2b3fd03afe7b33c479528955ba","impliedFormat":1},{"version":"762eb5c667538d6af830a3d05047850acf463528bfbfc8bc2b136075582a64a8","impliedFormat":1},{"version":"a67d4361c72e0da01d7de8f4e8c72789700f3ff4864ef1ccb939703cbd5e4717","impliedFormat":1},{"version":"b2954c77d0660b17248dba85b262bee3af5e1e526d1a0a4fb63c1583db937589","impliedFormat":1},{"version":"dd5d336287e57034dff2b371d0b79dbd257ef8231752955a35d28bdfaba357b5","impliedFormat":1},{"version":"93f13ccf02b981dac3f2c600effece96e433585c8ae54befe9721b5a818538a7","impliedFormat":1},{"version":"0f0b7504b03d06d78c1bb78d2618c3c017a5e35971b0b51c7d53c3fd29054250","impliedFormat":1},{"version":"cdfc24664ebc99ea6ea6357d75dc30b5dd161f18de7e6512786796fad0a592a7","impliedFormat":1},{"version":"f2ee0a1cea636103bf8ba90c36d798d1c39aaf9c2cbfa4800f09279232900661","impliedFormat":1},{"version":"3c3ca314a2b01902ef19b499be6e052925a849f14e2d9185afb323df3d3a72b6","impliedFormat":1},{"version":"d77dd6161e57ca9e7603f50263cfa1e8bec67e54502f730becb152e79f55324e","impliedFormat":1},{"version":"05b392be92f47b0460bb9b3e8566ef966ed3c691f8ec8198310ffba12f4080ee","impliedFormat":1},{"version":"32ab25b7b28b24a138d879ca371b18c8fdfdd564ad5107e1333c5aa5d5fea494","impliedFormat":1},{"version":"458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","impliedFormat":1},{"version":"da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","impliedFormat":1},{"version":"6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","impliedFormat":1},{"version":"3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","impliedFormat":1},{"version":"b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"30abc554c7ad13063a02ddd06757929b34357aea1f6fcf4ca39114cb0fc19384","impliedFormat":1},{"version":"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","impliedFormat":1},{"version":"27c7c17a5dfd59eedb5a17f17245612eda203b09acd148456a90e12cdbd73769","impliedFormat":99},{"version":"d4c56de1982dffbc7bfea0025093285874f70c259be043a7d1fc281220008418","impliedFormat":1},{"version":"ffc3212863d8ff2caa53d212bdfeee8d19e5528dd3a25337a211692ff6c5e7f5","impliedFormat":1},{"version":"05bb4c3441e49099eea24f828288b34cbccd18d8869039fd5c44832bfefa7408","impliedFormat":1},{"version":"e28b3cfb92dea918065ea34bf185d6365355c2e4c308e190f27e87424a1d133a","signature":"bb3a3a7e5d1abb83649dc4cea1256e898723601884a20851dca5b79b06c370e8","impliedFormat":99},{"version":"3c773b6c03769ce47f10f321bb764b6368f7b42e548ca0921e185efbee24f4af","signature":"3fec22e71eb48a5e3e8fed4d63c21440fa9016ee0eb382db61c3235c4db5281d","impliedFormat":99},{"version":"882dff9c00e22a508777b48688e46fe8c2634e738099f8db4ae0219935184f13","signature":"f18068deda701d47835307f40140659c29aa227073a768c3d8b1814dcbfabda3","impliedFormat":99},{"version":"5c8dba0075f82dbf52309a4cd94a5c4a4f617ee41dbe58ecf29b7676009953b6","signature":"48e23e94b09582adc5aad7072838e17379723f0a7abd4245f873c99b96e4349a","impliedFormat":99},{"version":"8b5dbe118cfa320ca901b6afe1109611fbde78a71d3ae74321da8fb7c3b7044a","signature":"3137f61fb99663553450e70bbea3012fe0986fb81661a10a986e8f1aebbf9d23","impliedFormat":99},{"version":"1934ef1a63c856f682335f2fae1b159d0032ece4dbe34ac51dff47f7923b5e4b","signature":"10f01c7cf50eb7b6f40c284a3784b1d64a5179ffadc8e41cfd0287714367d59e","impliedFormat":99},{"version":"04c6bb78ee4d6f37f14994db6f61605f17f14be87d09a1510f252e392a88201b","signature":"e29616aa8641055d75b3f46bf46a457dcb55a4f57d652c804c6dd4550c3831ea","impliedFormat":99},{"version":"1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","impliedFormat":1},{"version":"bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","impliedFormat":1},{"version":"9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","impliedFormat":1},{"version":"66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","impliedFormat":1},{"version":"a0c8e17f4d1ea2704c62d7349bc3b8d9a12e3761b5960cb44144d3f0333b3fcb","impliedFormat":1},{"version":"3471c0df3d0391e1dffe6e8bf150294531b2b71a2afa5f2b86e52bf84a5db60a","impliedFormat":1},{"version":"5d4df4de055eddf3187094f938a640f8d96e4c551a47d6686596fdb6ba4c3014","impliedFormat":1},{"version":"8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","impliedFormat":1},{"version":"a1059d1bbc8ad46bfe668b8450e7e8002887c4ab987bdb96d6108d8023f8bb8f","impliedFormat":1},{"version":"5134885e9648e2c6745f8aa1c3e7f5ab3b3617258b3d81ca02de6655ede3d74e","impliedFormat":1},{"version":"4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","impliedFormat":1},{"version":"d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","impliedFormat":1},{"version":"d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","impliedFormat":1},{"version":"f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","impliedFormat":1},{"version":"175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7","impliedFormat":1},{"version":"c993f7ed1b8e1023c1f2ee5b262dbc3b70b27475674e40a53a58591f9972dacc","impliedFormat":1},{"version":"c914014ab7c7001178663f29d31a495398234a41219af61f26d7e8e91b46af96","impliedFormat":1},{"version":"b135893253d5e507232d1d0b8639dbc00c2bac453fc0420a9af738f1792f8b29","impliedFormat":1},{"version":"267eb41d7d34151d8b5fdf8b73ddefe0684d7921f4b7db14101f600ea3e8ed02","impliedFormat":1},{"version":"eb848e4da1fa7568c893e0a0e1f221572c56768dedfe21d2f7741d383c381552","impliedFormat":1},{"version":"bd6b7d9ff1992fbde49e974f6bf4e8c35922042fc0b6f5326e61fa17a912ffe6","impliedFormat":1},{"version":"ac443b1f93babbfadff3aef4490044012ff461ba1cf1c7d90ac45f5a26863358","impliedFormat":1},{"version":"42e4cdd55aa23586b9aff929e2c216150276a37d30c2cf7c0f32ba917722b5e0","impliedFormat":1},{"version":"4a1ed19ead46b1dd5a319d533fb92162b4ef052ab1c690889cb2eaee293441a1","impliedFormat":1},{"version":"d0d5b967e5c36354b2f13b4bfb78aae4c1685efa9df3fd946d2e576d370e9302","impliedFormat":1},{"version":"8076164b388640f7856b25e945a2ded7738e0f8674ac50c256734067b0f0b1b9","impliedFormat":1},{"version":"36819a1e04a8dbed754a5b3ba2fd5aca2eafb95977eaad6356d77df596c732f4","impliedFormat":1},{"version":"5fe9c19f085365b73956e27becc5167ad25c5fb024bed4728884966a0faab3f3","impliedFormat":1},{"version":"d67961ebada9a5e5c393d9c46a4155877a9f7a48b02a0afc6bbe4e87061e46f5","impliedFormat":1},{"version":"d5e88cd4816669da170c646844042bc83f4523275f85060cf3e2b5b3bf902ee0","impliedFormat":1},{"version":"137ee20e77a23986e9a1fdf6397b555e6d3073bdcca15927c40671d1ac564aac","impliedFormat":1},{"version":"a28b00d18def7993bc502f19be6abdb89db2548fe946a51f0771b8ed26a6786c","impliedFormat":1},{"version":"0fc6ddce4aabc8d84a6aa6644e1012a1474ba844ed6bddc7bea7115583e8a72e","impliedFormat":1},{"version":"0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af","impliedFormat":1},{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","impliedFormat":1},{"version":"f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894","impliedFormat":1},{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","impliedFormat":1},{"version":"34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","impliedFormat":1},{"version":"d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","impliedFormat":1},{"version":"f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","impliedFormat":1},{"version":"c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","impliedFormat":1},{"version":"f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79","impliedFormat":1},{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","impliedFormat":1},{"version":"ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","impliedFormat":1},{"version":"10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","impliedFormat":1},{"version":"063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","impliedFormat":1},{"version":"bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","impliedFormat":1},{"version":"7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","impliedFormat":1},{"version":"12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","impliedFormat":1},{"version":"08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","impliedFormat":1},{"version":"08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304","impliedFormat":1},{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","impliedFormat":1},{"version":"002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","impliedFormat":1},{"version":"1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","impliedFormat":1},{"version":"a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","impliedFormat":1},{"version":"00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248","impliedFormat":1},{"version":"af9771b066ec35ffa1c7db391b018d2469d55e51b98ae95e62b6cbef1b0169ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","impliedFormat":1},{"version":"103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","impliedFormat":1},{"version":"f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","impliedFormat":1},{"version":"59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7","impliedFormat":1},{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","impliedFormat":1},{"version":"3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","impliedFormat":1},{"version":"a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","impliedFormat":1},{"version":"85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","impliedFormat":1},{"version":"9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","impliedFormat":1},{"version":"f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","impliedFormat":1},{"version":"277afd6ab6ec72889e2988e0ddd7d138c1f512e68a1fa4e90eedfd71e2097a51","impliedFormat":1},{"version":"c0908f85f2b645d375127a3b53a17a65f782e17962d5c1eb68f08b1188acbf15","impliedFormat":1},{"version":"3fadac5d409cc2f27b1d2f4e7568600f02840205f301c9ae7a3068b46476438b","impliedFormat":1},{"version":"da6aae64ad559286830fd44c81e3d33303348f184af7db4fde8dd99ae9749407","impliedFormat":1},{"version":"3633f87c97d359cb55fa7bf0668fb2be8a23342951af6ec2d06e6d0cf7409371","impliedFormat":1},{"version":"cc3a5427d44fc77ff25e80b3edee4650a51f83de761faf5e633994ecf1ab1b44","impliedFormat":1},{"version":"b350eda75c6e47299b36002b31d5b220c405c21c365e708989829db013fadbb4","impliedFormat":1},{"version":"f421882756b6714834ae4687ab1aeadf344a1cc45437d2edffbac020ff3801c1","impliedFormat":1},{"version":"1d61d6ad832dabafbf63b86c5a79d704f2c8763ada9318e135b17a3cb2d09b32","impliedFormat":1},{"version":"e5cef5de3e5ad3436d414d20743231e284733b9cf4375dc79eff4fcca4282f99","impliedFormat":1},{"version":"e624419ba84e33e661e89a28083119ca41f6953dba09a4f82b660684087afe6d","impliedFormat":1},{"version":"942be430bd0feaced2e3e598273b17e50ea565ec9dac840b580b0b99e1a3cd5c","impliedFormat":1},{"version":"73350006cec5a0c6b71d53b0b0ddbfb82be96752a9c4e3c904c59e633bc9485e","impliedFormat":1},{"version":"a7df5c2e9594966c7e0d4a763b13ed5727506d892669df5f7bc9826f539c1d35","impliedFormat":1},{"version":"258cc5cd6891f6bcbaccefd953997038844e7f65d582cac987ffabf7181bcd4c","impliedFormat":1},{"version":"00a6db28fc4df6ddf10adbe630d9df620ec13af19039c1869653e60dafa739d2","impliedFormat":1},{"version":"649324d5abb5464aabe35d86cd0eef16562df811f0971481cee664afa5acbc88","impliedFormat":1},{"version":"f02da9dd36d7a9aa33c9b2e37ef1f54b0d9ad6a713bae372ae4b72890e40c168","impliedFormat":1},{"version":"3a5652c44d7b3ee47b1d294b1893b30253d8fb6a1ecaafaf5fdef5fdc118f54c","impliedFormat":1},{"version":"4fba134e9015779329678ff1fd1afc32bbbf391b1f419f7622a3ecde7bbfc355","impliedFormat":1},{"version":"af75984f58aa9205be02b0a2248d05f6105a8d4bf8be0baca294b5ceaa10e33e","impliedFormat":1},{"version":"45a910666b455daf042c0a0cfa610c20ea59a0aaf702f93d3b467a05f9a27e20","impliedFormat":1},{"version":"5580ff53b5f6f1ecdb68ecb61327e63112f97660912c15444c1f8a08f69c19dc","impliedFormat":1},{"version":"84fb7c52fc116ddcbd1b34535e387053f2a0134d11c5e39b193f4c1328fb1fb5","impliedFormat":1},{"version":"fd3cd8bf3c90ef4694195a617a5daaac561d8be52ba33c607f170c11f3c50154","impliedFormat":1},{"version":"6852fc2f309e330e38694bad95bde670c384d1498bf4fbe3a751761b43279934","impliedFormat":1},{"version":"9f963b28320dd50221cd23f23059bc23cc7799c7025b44942da68974f90c2e6c","impliedFormat":1},{"version":"c17329bcf495af58e3010f8e61af51709aaa24a6664d8557a7d01a82b5397c59","impliedFormat":1},{"version":"4eebb617b12f21864e6641d0a9eefaca77a9ccf93f00bb7d50b26d8073866e53","impliedFormat":1},{"version":"ca0b43e2565d78809383e9a025b0638a5e65bcde4a2b68ff2c6fa5013642db46","impliedFormat":1},{"version":"1d0a0e5c6471d81467c3fecfa4db4e93ee87d364b776feb83b18d773ad9496d5","impliedFormat":1},{"version":"ef6eddcbf08e7ae71cd9ba8da47e9a3cfc7db36650af48f1b440a5ed50eeee7a","impliedFormat":1},{"version":"e14ee3cb4b764895f2ff2fed229df10b59df8a761c79d8e91d868793322b8896","impliedFormat":1},{"version":"7e36003872035a49bc3a5f21351c37d0e418f60d994ecc470a9463b33b4a7c12","impliedFormat":1},{"version":"b862345e219e6a4d829f7b7cf6d2d6e91e6fa00c29a7c6c86a3f68c77c25de39","impliedFormat":1},{"version":"5b919d9204446816876000e03f033458527bde5e3637783b2bc2e7e9ef7ce897","impliedFormat":1},{"version":"213984ba990f03127a98c3f022d5ca0f0d42df64d4dca199f7319448ce6f3021","impliedFormat":1},{"version":"020ab2020569964d12e40c68ceae39f40f6c0bee9d502a180f039fcb59c2e34d","impliedFormat":1},{"version":"aa50dc8a102c76282915e78944293a777866efe6d220a28884ac4a42d7f4c4e2","impliedFormat":1},{"version":"2b88f02598c9de626b35fbe3ffb1ef33ad9fd175e36e06ba27dc79e444796f6c","impliedFormat":1},{"version":"b728dc56eb9b0d27b4044e076c155f3cd3a121a4a9939afe829cfc0d680d423b","impliedFormat":1},{"version":"324b7298f76ce938cd28d2698a0767ca3c740bc843fd9104e171be8eca839555","impliedFormat":1},{"version":"76aa33edb0042dd572d64e4bda231374390d250d29eeab7e7f27010e8f826006","impliedFormat":1},{"version":"03b6d387edf18a9ee8126e705edff759f65d9c602e11b649e13a5261fe6951a4","impliedFormat":1},{"version":"bd417d58253e07264fbeacda216296af3274af2a2fcd335829598d3b04166e09","signature":"a2e0aca3a13a3a6e787129bb908cfe040bd64a3d546be3ce734ee0344627a62e","impliedFormat":99},{"version":"bd467a3e4ed6fa1810be545f1765a1f70d275f8d0958d4928c3767e88cd5fc31","signature":"451ae5368288c8d85f92f4aa9273ee655a3358ae5b64b2c0793e9571dc326691","impliedFormat":99},{"version":"8a77716e90b79ad5f59a46b5736344bf4fcfcd06972e8c0aa047fb4e0b66a1c5","signature":"6840f7184ff26cb974add913dd012ade2b31614f1bb17472da1423b8e2302a77","impliedFormat":99},{"version":"cb732dfea79ca2a9a5fd4ed240df67d6c47fd5b66fe188c645367efd1762ed24","signature":"39257e47f71a52d198342c47d3a6b35338a3c8618e4335b56530f2cb3b0dc511","impliedFormat":99},{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true,"impliedFormat":1}],"options":{"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"module":6,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[288],[175,288],[175,176,177,178,288],[175,179,180,181,288],[212,216,217,288],[212,215,288],[215,288],[216,218,220,288],[212,215,216,217,218,219,288],[212,215,219,223,224,225,288],[212,215,219,226,288],[212,288],[288,314],[212,213,288],[213,214,288],[240,241,242,243,288],[212,215,221,224,226,227,288],[288,317,318,319,320],[227,288],[212,227,232,288],[212,219,227,288],[212,227,235,236,237,288],[212,219,227,233,288],[222,288],[223,225,288,296,299,300],[223,225,288,300],[215,219,223,224,226,288,295,296],[223,288,300],[223,226,288,297],[215,224,226,288],[223,226,288,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311],[223,288,298],[288,295,298],[212,219,223,224,225,226,227,288,297],[223,225,288,296,298],[223,288,297,298],[288,327,328],[288,323,324],[212,288,323],[288,331,332,333],[212,226,227,232,233,234,238,288],[230,231,288],[229,288],[230,288],[127,288],[137,288],[129,288],[126,128,130,138,139,140,141,288],[55,125,288],[51,54,288],[48,59,288],[48,51,54,58,61,288],[48,51,55,58,59,60,288],[47,52,58,288],[47,48,52,58,84,288],[44,48,288],[48,51,52,54,57,58,61,69,70,81,85,107,110,112,116,288],[61,288],[52,54,288],[43,47,288],[48,51,288],[48,52,58,288],[48,51,52,54,56,288],[48,54,55,61,111,288],[48,55,288],[48,61,288],[58,59,61,288],[51,54,58,59,61,62,288],[51,288],[49,50,288],[164,288],[187,189,190,191,192,193,194,195,196,197,198,199,288],[187,188,190,191,192,193,194,195,196,197,198,199,288],[188,189,190,191,192,193,194,195,196,197,198,199,288],[187,188,189,191,192,193,194,195,196,197,198,199,288],[187,188,189,190,192,193,194,195,196,197,198,199,288],[187,188,189,190,191,193,194,195,196,197,198,199,288],[187,188,189,190,191,192,194,195,196,197,198,199,288],[187,188,189,190,191,192,193,195,196,197,198,199,288],[187,188,189,190,191,192,193,194,196,197,198,199,288],[187,188,189,190,191,192,193,194,195,197,198,199,288],[187,188,189,190,191,192,193,194,195,196,198,199,288],[187,188,189,190,191,192,193,194,195,196,197,199,288],[187,188,189,190,191,192,193,194,195,196,197,198,288],[245,288],[248,288],[249,254,288],[250,260,261,268,277,287,288],[250,251,260,268,288],[252,288],[253,254,261,269,288],[254,277,284,288],[255,257,260,268,288],[256,288],[257,258,288],[259,260,288],[260,288],[260,261,262,277,287,288],[260,261,262,277,288],[288,292],[263,268,277,287,288],[260,261,263,264,268,277,284,287,288],[263,265,277,284,287,288],[245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294],[260,266,288],[267,287,288],[257,260,268,277,288],[269,288],[270,288],[248,271,288],[272,286,288,292],[273,288],[274,288],[260,275,288],[275,276,288,290],[260,277,278,279,288],[277,279,288],[277,278,288],[280,288],[281,288],[260,282,283,288],[282,283,288],[254,268,277,284,288],[285,288],[268,286,288],[249,263,274,287,288],[254,288],[277,288,289],[288,290],[288,291],[249,254,260,262,271,277,287,288,290,292],[277,288,293],[200,288],[48,51,52,288],[152,154,288],[53,151,152,153,154,155,156,157,158,159,160,161,162,288],[152,156,288],[151,288],[48,53,57,82,152,288],[48,57,150,151,288],[151,152,153,288],[154,156,288],[151,152,288],[48,51,61,117,152,155,157,159,160,288],[184,203,288],[184,288],[184,185,288],[212,215,224,227,228,229,232,239,244,288,312,336,337],[288,338],[212,219,221,224,225,229,233,234,238,239,288,313,315,316,321,322,325,326,329,330,334,335],[48,54,63,65,71,288],[48,57,63,69,81,82,107,288],[48,57,63,68,69,70,71,81,82,85,106,107,110,112,288],[48,54,57,58,63,65,68,69,70,82,148,288],[54,288],[48,58,68,69,81,82,288],[48,57,58,65,68,69,71,80,81,82,288],[55,79,288],[48,52,57,58,62,63,68,70,72,83,84,85,106,107,108,109,110,112,113,114,115,117,143,145,146,147,149,288],[143,288],[48,106,118,142,288],[48,63,69,71,144,288],[48,52,57,58,69,110,288],[48,58,69,81,82,288],[54,58,63,65,68,69,70,71,288],[48,51,55,58,59,67,288],[64,288],[65,288],[86,105,288],[104,288],[79,288],[73,288],[73,79,288],[55,73,288],[73,74,75,76,77,78,288],[46,47,288],[46,288],[45,288],[43,288],[43,133,288],[47,132,133,134,135,136,288],[43,44,45,46,131,288],[43,44,45,288],[125,288],[119,288],[119,125,288],[55,119,288],[119,120,121,122,123,124,288],[103,288],[98,102,288],[87,288],[98,99,100,101,288],[89,90,288],[89,288],[91,288],[92,288],[88,288],[88,94,288],[90,93,94,95,96,97,288],[87,88,89,91,92,288],[87,88,91,288],[163,165,171,172,288],[165,288],[171,173,174,211,288,340,341],[176,178,182,186,202,204,205,288],[210,288],[42,171,182,183,186,199,201,205,206,209,288],[207,208,288],[163,166,167,171,288],[42,163,167,168,169,170,288],[171,174,288,339,340],[163,171,172],[171,173,174,211,340,341],[182,205],[210],[171,182,205],[163,171],[163,170],[171,339]],"referencedMap":[[144,1],[177,2],[178,2],[180,2],[179,3],[182,4],[176,2],[202,1],[181,2],[175,1],[218,5],[217,6],[216,7],[221,8],[220,9],[226,10],[227,11],[313,6],[314,12],[315,13],[316,12],[213,12],[214,14],[215,15],[212,1],[240,1],[241,7],[242,1],[244,16],[243,1],[228,17],[317,1],[321,18],[319,12],[318,1],[320,19],[233,20],[235,21],[238,22],[236,1],[237,23],[322,12],[229,1],[223,24],[222,1],[219,1],[301,25],[302,26],[297,27],[303,28],[304,29],[305,29],[296,30],[312,31],[307,25],[306,32],[308,33],[298,34],[309,28],[310,26],[300,35],[311,32],[299,36],[329,37],[327,1],[328,1],[330,12],[325,38],[324,39],[323,1],[234,12],[326,1],[331,12],[332,1],[334,40],[333,12],[224,6],[335,7],[239,41],[225,1],[232,42],[230,43],[231,44],[129,45],[139,46],[130,47],[142,48],[127,1],[128,45],[126,49],[138,46],[140,46],[71,50],[109,51],[82,52],[61,53],[60,1],[107,54],[85,55],[116,56],[141,1],[117,57],[70,58],[84,59],[48,60],[52,61],[110,62],[57,63],[112,64],[56,65],[81,66],[62,67],[63,68],[54,1],[58,1],[69,1],[50,69],[51,70],[49,69],[165,71],[188,72],[189,73],[187,74],[190,75],[191,76],[192,77],[193,78],[194,79],[195,80],[196,81],[197,82],[198,83],[199,84],[344,1],[164,1],[245,85],[246,85],[248,86],[249,87],[250,88],[251,89],[252,90],[253,91],[254,92],[255,93],[256,94],[257,95],[258,95],[259,96],[260,97],[261,98],[262,99],[247,100],[294,1],[263,101],[264,102],[265,103],[295,104],[266,105],[267,106],[268,107],[269,108],[270,109],[271,110],[272,111],[273,112],[274,113],[275,114],[276,115],[277,116],[279,117],[278,118],[280,119],[281,120],[282,121],[283,122],[284,123],[285,124],[286,125],[287,126],[288,127],[289,128],[290,129],[291,130],[292,131],[293,132],[201,133],[200,1],[162,1],[53,134],[155,135],[163,136],[157,137],[151,1],[153,138],[158,139],[152,140],[154,141],[159,142],[156,143],[160,143],[161,144],[166,1],[168,1],[204,145],[185,1],[203,146],[184,1],[183,1],[186,147],[337,1],[338,148],[339,149],[336,150],[111,1],[59,1],[146,151],[108,152],[115,153],[149,154],[148,155],[114,156],[83,157],[80,158],[150,159],[118,160],[143,161],[145,162],[147,163],[113,164],[72,165],[68,166],[67,1],[66,70],[65,167],[64,168],[106,169],[105,170],[86,1],[73,171],[76,172],[77,173],[74,174],[75,172],[79,175],[78,171],[44,1],[45,176],[136,1],[47,177],[131,178],[133,179],[134,180],[43,1],[137,181],[132,182],[46,183],[135,1],[119,184],[122,185],[123,186],[120,187],[121,185],[125,188],[124,184],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[104,189],[103,190],[101,191],[87,1],[102,192],[91,193],[97,1],[90,194],[92,195],[100,196],[99,196],[94,197],[95,198],[88,1],[98,199],[93,200],[89,201],[96,1],[42,1],[173,202],[174,1],[167,203],[342,204],[206,205],[207,1],[211,206],[210,207],[208,1],[209,208],[205,1],[172,209],[169,1],[171,210],[341,211],[340,1],[170,1],[343,1]],"exportedModulesMap":[[144,1],[177,2],[178,2],[180,2],[179,3],[182,4],[176,2],[202,1],[181,2],[175,1],[218,5],[217,6],[216,7],[221,8],[220,9],[226,10],[227,11],[313,6],[314,12],[315,13],[316,12],[213,12],[214,14],[215,15],[212,1],[240,1],[241,7],[242,1],[244,16],[243,1],[228,17],[317,1],[321,18],[319,12],[318,1],[320,19],[233,20],[235,21],[238,22],[236,1],[237,23],[322,12],[229,1],[223,24],[222,1],[219,1],[301,25],[302,26],[297,27],[303,28],[304,29],[305,29],[296,30],[312,31],[307,25],[306,32],[308,33],[298,34],[309,28],[310,26],[300,35],[311,32],[299,36],[329,37],[327,1],[328,1],[330,12],[325,38],[324,39],[323,1],[234,12],[326,1],[331,12],[332,1],[334,40],[333,12],[224,6],[335,7],[239,41],[225,1],[232,42],[230,43],[231,44],[129,45],[139,46],[130,47],[142,48],[127,1],[128,45],[126,49],[138,46],[140,46],[71,50],[109,51],[82,52],[61,53],[60,1],[107,54],[85,55],[116,56],[141,1],[117,57],[70,58],[84,59],[48,60],[52,61],[110,62],[57,63],[112,64],[56,65],[81,66],[62,67],[63,68],[54,1],[58,1],[69,1],[50,69],[51,70],[49,69],[165,71],[188,72],[189,73],[187,74],[190,75],[191,76],[192,77],[193,78],[194,79],[195,80],[196,81],[197,82],[198,83],[199,84],[344,1],[164,1],[245,85],[246,85],[248,86],[249,87],[250,88],[251,89],[252,90],[253,91],[254,92],[255,93],[256,94],[257,95],[258,95],[259,96],[260,97],[261,98],[262,99],[247,100],[294,1],[263,101],[264,102],[265,103],[295,104],[266,105],[267,106],[268,107],[269,108],[270,109],[271,110],[272,111],[273,112],[274,113],[275,114],[276,115],[277,116],[279,117],[278,118],[280,119],[281,120],[282,121],[283,122],[284,123],[285,124],[286,125],[287,126],[288,127],[289,128],[290,129],[291,130],[292,131],[293,132],[201,133],[200,1],[162,1],[53,134],[155,135],[163,136],[157,137],[151,1],[153,138],[158,139],[152,140],[154,141],[159,142],[156,143],[160,143],[161,144],[166,1],[168,1],[204,145],[185,1],[203,146],[184,1],[183,1],[186,147],[337,1],[338,148],[339,149],[336,150],[111,1],[59,1],[146,151],[108,152],[115,153],[149,154],[148,155],[114,156],[83,157],[80,158],[150,159],[118,160],[143,161],[145,162],[147,163],[113,164],[72,165],[68,166],[67,1],[66,70],[65,167],[64,168],[106,169],[105,170],[86,1],[73,171],[76,172],[77,173],[74,174],[75,172],[79,175],[78,171],[44,1],[45,176],[136,1],[47,177],[131,178],[133,179],[134,180],[43,1],[137,181],[132,182],[46,183],[135,1],[119,184],[122,185],[123,186],[120,187],[121,185],[125,188],[124,184],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[104,189],[103,190],[101,191],[87,1],[102,192],[91,193],[97,1],[90,194],[92,195],[100,196],[99,196],[94,197],[95,198],[88,1],[98,199],[93,200],[89,201],[96,1],[173,212],[342,213],[206,214],[211,215],[210,216],[172,217],[171,218],[341,219],[170,1]],"semanticDiagnosticsPerFile":[144,177,178,180,179,182,176,202,181,175,218,217,216,221,220,226,227,313,314,315,316,213,214,215,212,240,241,242,244,243,228,317,321,319,318,320,233,235,238,236,237,322,229,223,222,219,301,302,297,303,304,305,296,312,307,306,308,298,309,310,300,311,299,329,327,328,330,325,324,323,234,326,331,332,334,333,224,335,239,225,232,230,231,129,139,130,142,127,128,126,138,140,71,109,82,61,60,107,85,116,141,117,70,84,48,52,110,57,112,56,81,62,63,54,58,69,50,51,49,165,188,189,187,190,191,192,193,194,195,196,197,198,199,344,164,245,246,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,247,294,263,264,265,295,266,267,268,269,270,271,272,273,274,275,276,277,279,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,201,200,162,53,155,163,157,151,153,158,152,154,159,156,160,161,166,168,204,185,203,184,183,186,337,338,339,336,111,59,146,108,115,149,148,114,83,80,150,118,143,145,147,113,72,68,67,66,65,64,106,105,86,73,76,77,74,75,79,78,44,45,136,47,131,133,134,43,137,132,46,135,119,122,123,120,121,125,124,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,55,104,103,101,87,102,91,97,90,92,100,99,94,95,88,98,93,89,96,42,173,174,167,342,206,207,211,210,208,209,205,172,169,171,341,340,170,343]},"version":"4.8.2"}
1
+ {"program":{"fileNames":["../node_modules/typescript/lib/lib.es5.d.ts","../node_modules/typescript/lib/lib.es2015.d.ts","../node_modules/typescript/lib/lib.es2016.d.ts","../node_modules/typescript/lib/lib.es2017.d.ts","../node_modules/typescript/lib/lib.es2018.d.ts","../node_modules/typescript/lib/lib.es2019.d.ts","../node_modules/typescript/lib/lib.es2020.d.ts","../node_modules/typescript/lib/lib.dom.d.ts","../node_modules/typescript/lib/lib.es2015.core.d.ts","../node_modules/typescript/lib/lib.es2015.collection.d.ts","../node_modules/typescript/lib/lib.es2015.generator.d.ts","../node_modules/typescript/lib/lib.es2015.iterable.d.ts","../node_modules/typescript/lib/lib.es2015.promise.d.ts","../node_modules/typescript/lib/lib.es2015.proxy.d.ts","../node_modules/typescript/lib/lib.es2015.reflect.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.d.ts","../node_modules/typescript/lib/lib.es2015.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2016.array.include.d.ts","../node_modules/typescript/lib/lib.es2017.object.d.ts","../node_modules/typescript/lib/lib.es2017.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2017.string.d.ts","../node_modules/typescript/lib/lib.es2017.intl.d.ts","../node_modules/typescript/lib/lib.es2017.typedarrays.d.ts","../node_modules/typescript/lib/lib.es2018.asyncgenerator.d.ts","../node_modules/typescript/lib/lib.es2018.asynciterable.d.ts","../node_modules/typescript/lib/lib.es2018.intl.d.ts","../node_modules/typescript/lib/lib.es2018.promise.d.ts","../node_modules/typescript/lib/lib.es2018.regexp.d.ts","../node_modules/typescript/lib/lib.es2019.array.d.ts","../node_modules/typescript/lib/lib.es2019.object.d.ts","../node_modules/typescript/lib/lib.es2019.string.d.ts","../node_modules/typescript/lib/lib.es2019.symbol.d.ts","../node_modules/typescript/lib/lib.es2020.bigint.d.ts","../node_modules/typescript/lib/lib.es2020.date.d.ts","../node_modules/typescript/lib/lib.es2020.promise.d.ts","../node_modules/typescript/lib/lib.es2020.sharedmemory.d.ts","../node_modules/typescript/lib/lib.es2020.string.d.ts","../node_modules/typescript/lib/lib.es2020.symbol.wellknown.d.ts","../node_modules/typescript/lib/lib.es2020.intl.d.ts","../node_modules/typescript/lib/lib.es2020.number.d.ts","../node_modules/typescript/lib/lib.esnext.intl.d.ts","../src/byte_utils.ts","../node_modules/multiformats/dist/types/src/hashes/interface.d.ts","../node_modules/multiformats/dist/types/src/bases/interface.d.ts","../node_modules/multiformats/dist/types/src/block/interface.d.ts","../node_modules/multiformats/dist/types/src/link/interface.d.ts","../node_modules/multiformats/dist/types/src/cid.d.ts","../node_modules/@libp2p/interface-peer-id/dist/src/index.d.ts","../node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/@multiformats/multiaddr/dist/src/filter/multiaddr-filter.d.ts","../node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-info/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/enr.d.ts","../node_modules/@libp2p/interfaces/dist/src/events.d.ts","../node_modules/uint8arraylist/dist/src/index.d.ts","../node_modules/@libp2p/interface-record/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-store/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/index.d.ts","../node_modules/it-stream-types/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interface-stream-muxer/dist/src/index.d.ts","../node_modules/@libp2p/interface-transport/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/protocols-table.d.ts","../node_modules/libp2p/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/node_modules/@multiformats/multiaddr/dist/src/index.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/status.d.ts","../node_modules/libp2p/node_modules/@libp2p/interface-connection/dist/src/index.d.ts","../node_modules/@libp2p/interfaces/dist/src/startable.d.ts","../node_modules/@libp2p/interface-metrics/dist/src/index.d.ts","../node_modules/@libp2p/interface-address-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/transport-manager.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/libp2p/node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/pb/message.d.ts","../node_modules/@libp2p/interface-registrar/dist/src/index.d.ts","../node_modules/@libp2p/interface-connection-manager/dist/src/index.d.ts","../node_modules/libp2p/dist/src/identify/index.d.ts","../node_modules/@libp2p/interface-peer-discovery/dist/src/index.d.ts","../node_modules/@libp2p/interface-dht/dist/src/index.d.ts","../node_modules/libp2p/node_modules/interface-store/dist/src/index.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/bases/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/hashes/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/link/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/cid.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/block/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/codecs/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/interface.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/hashes/digest.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/hashes/hasher.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/varint.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/bytes.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/index.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/codecs/raw.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/codecs/json.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/bases/base.d.ts","../node_modules/uint8arrays/node_modules/multiformats/dist/types/src/basics.d.ts","../node_modules/uint8arrays/dist/src/util/bases.d.ts","../node_modules/uint8arrays/dist/src/to-string.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/key.d.ts","../node_modules/libp2p/node_modules/interface-datastore/dist/src/index.d.ts","../node_modules/@libp2p/interface-content-routing/dist/src/index.d.ts","../node_modules/libp2p/dist/src/circuit/index.d.ts","../node_modules/@libp2p/interface-connection-encrypter/dist/src/index.d.ts","../node_modules/@libp2p/interface-peer-routing/dist/src/index.d.ts","../node_modules/it-pushable/dist/src/index.d.ts","../node_modules/@libp2p/interface-pubsub/dist/src/index.d.ts","../node_modules/libp2p/dist/src/ping/index.d.ts","../node_modules/libp2p/dist/src/fetch/index.d.ts","../node_modules/libp2p/dist/src/components.d.ts","../node_modules/@libp2p/interface-keychain/dist/src/index.d.ts","../node_modules/@libp2p/interface-libp2p/dist/src/index.d.ts","../node_modules/libp2p/dist/src/keychain/cms.d.ts","../node_modules/protons-runtime/dist/src/codec.d.ts","../node_modules/protons-runtime/dist/src/decode.d.ts","../node_modules/protons-runtime/dist/src/encode.d.ts","../node_modules/protons-runtime/dist/src/codecs/enum.d.ts","../node_modules/protons-runtime/dist/src/codecs/message.d.ts","../node_modules/protons-runtime/dist/src/utils.d.ts","../node_modules/protons-runtime/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/keys.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/interface.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/key-stretcher.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ecdh.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ephemeral-keys.d.ts","../node_modules/multiformats/dist/types/src/codecs/interface.d.ts","../node_modules/multiformats/dist/types/src/interface.d.ts","../node_modules/multiformats/dist/types/src/hashes/digest.d.ts","../node_modules/multiformats/dist/types/src/hashes/hasher.d.ts","../node_modules/multiformats/dist/types/src/varint.d.ts","../node_modules/multiformats/dist/types/src/bytes.d.ts","../node_modules/multiformats/dist/types/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/rsa-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/ed25519-class.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/secp256k1-class.d.ts","../node_modules/@libp2p/interface-keys/dist/src/index.d.ts","../node_modules/@libp2p/crypto/dist/src/keys/index.d.ts","../node_modules/libp2p/dist/src/keychain/index.d.ts","../node_modules/@achingbrain/nat-port-mapper/dist/src/index.d.ts","../node_modules/libp2p/dist/src/nat-manager.d.ts","../node_modules/libp2p/dist/src/address-manager/index.d.ts","../node_modules/libp2p/dist/src/peer-routing.d.ts","../node_modules/libp2p/dist/src/connection-manager/latency-monitor.d.ts","../node_modules/libp2p/dist/src/connection-manager/index.d.ts","../node_modules/libp2p/dist/src/index.d.ts","../node_modules/@waku/interfaces/dist/message.d.ts","../node_modules/@waku/interfaces/dist/protocols.d.ts","../node_modules/@waku/interfaces/dist/misc.d.ts","../node_modules/@waku/interfaces/dist/receiver.d.ts","../node_modules/@waku/interfaces/dist/filter.d.ts","../node_modules/@waku/interfaces/dist/sender.d.ts","../node_modules/@waku/interfaces/dist/light_push.d.ts","../node_modules/@waku/interfaces/dist/peer_exchange.d.ts","../node_modules/@waku/interfaces/dist/relay.d.ts","../node_modules/@waku/interfaces/dist/store.d.ts","../node_modules/@waku/interfaces/dist/waku.d.ts","../node_modules/@waku/interfaces/dist/connection_manager.d.ts","../node_modules/@waku/interfaces/dist/index.d.ts","../node_modules/@types/ms/index.d.ts","../node_modules/@types/debug/index.d.ts","../node_modules/@waku/utils/dist/bytes/index.d.ts","../src/epoch.ts","../node_modules/@waku/zerokit-rln-wasm/rln_wasm.d.ts","../src/resources/verification_key.js","../src/witness_calculator.d.ts","../src/rln.ts","../src/message.ts","../src/codec.ts","../src/constants.ts","../node_modules/@chainsafe/bls-keystore/lib/types.d.ts","../node_modules/@chainsafe/bls-keystore/lib/kdf.d.ts","../node_modules/@chainsafe/bls-keystore/lib/checksum.d.ts","../node_modules/@chainsafe/bls-keystore/lib/cipher.d.ts","../node_modules/@chainsafe/bls-keystore/lib/functional.d.ts","../node_modules/@chainsafe/bls-keystore/lib/class.d.ts","../node_modules/@chainsafe/bls-keystore/lib/schema-validation.d.ts","../node_modules/@chainsafe/bls-keystore/lib/index.d.ts","../node_modules/ethereum-cryptography/sha256.d.ts","../node_modules/ethereum-cryptography/node_modules/@noble/hashes/utils.d.ts","../node_modules/ethereum-cryptography/node_modules/@noble/hashes/_assert.d.ts","../node_modules/ethereum-cryptography/utils.d.ts","../node_modules/@types/lodash/common/common.d.ts","../node_modules/@types/lodash/common/array.d.ts","../node_modules/@types/lodash/common/collection.d.ts","../node_modules/@types/lodash/common/date.d.ts","../node_modules/@types/lodash/common/function.d.ts","../node_modules/@types/lodash/common/lang.d.ts","../node_modules/@types/lodash/common/math.d.ts","../node_modules/@types/lodash/common/number.d.ts","../node_modules/@types/lodash/common/object.d.ts","../node_modules/@types/lodash/common/seq.d.ts","../node_modules/@types/lodash/common/string.d.ts","../node_modules/@types/lodash/common/util.d.ts","../node_modules/@types/lodash/index.d.ts","../node_modules/@types/uuid/index.d.ts","../node_modules/@types/uuid/index.d.mts","../node_modules/@chainsafe/bls-keystore/lib/password.d.ts","../node_modules/ethereum-cryptography/node_modules/@noble/hashes/sha3.d.ts","../node_modules/ethereum-cryptography/keccak.d.ts","../src/keystore/types.ts","../src/keystore/cipher.ts","../src/keystore/credential_validation_generated.ts","../src/keystore/keystore_validation_generated.ts","../src/keystore/schema_validator.ts","../src/keystore/keystore.ts","../src/keystore/index.ts","../node_modules/@ethersproject/bytes/lib/index.d.ts","../node_modules/@ethersproject/bignumber/lib/bignumber.d.ts","../node_modules/@ethersproject/bignumber/lib/fixednumber.d.ts","../node_modules/@ethersproject/bignumber/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/fragments.d.ts","../node_modules/@ethersproject/abi/lib/coders/abstract-coder.d.ts","../node_modules/@ethersproject/abi/lib/abi-coder.d.ts","../node_modules/@ethersproject/properties/lib/index.d.ts","../node_modules/@ethersproject/abi/lib/interface.d.ts","../node_modules/@ethersproject/abi/lib/index.d.ts","../node_modules/@ethersproject/networks/lib/types.d.ts","../node_modules/@ethersproject/networks/lib/index.d.ts","../node_modules/@ethersproject/transactions/lib/index.d.ts","../node_modules/@ethersproject/web/lib/index.d.ts","../node_modules/@ethersproject/abstract-provider/lib/index.d.ts","../node_modules/@ethersproject/abstract-signer/lib/index.d.ts","../node_modules/@ethersproject/contracts/lib/index.d.ts","../node_modules/@ethersproject/logger/lib/index.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlist.d.ts","../node_modules/@ethersproject/wordlists/lib/wordlists.d.ts","../node_modules/@ethersproject/wordlists/lib/index.d.ts","../node_modules/@ethersproject/hdnode/lib/index.d.ts","../node_modules/@ethersproject/signing-key/lib/index.d.ts","../node_modules/@ethersproject/json-wallets/lib/crowdsale.d.ts","../node_modules/@ethersproject/json-wallets/lib/inspect.d.ts","../node_modules/@ethersproject/json-wallets/lib/keystore.d.ts","../node_modules/@ethersproject/json-wallets/lib/index.d.ts","../node_modules/@ethersproject/wallet/lib/index.d.ts","../node_modules/@ethersproject/constants/lib/addresses.d.ts","../node_modules/@ethersproject/constants/lib/bignumbers.d.ts","../node_modules/@ethersproject/constants/lib/hashes.d.ts","../node_modules/@ethersproject/constants/lib/strings.d.ts","../node_modules/@ethersproject/constants/lib/index.d.ts","../node_modules/@types/node/assert.d.ts","../node_modules/@types/node/assert/strict.d.ts","../node_modules/@types/node/globals.d.ts","../node_modules/@types/node/async_hooks.d.ts","../node_modules/@types/node/buffer.d.ts","../node_modules/@types/node/child_process.d.ts","../node_modules/@types/node/cluster.d.ts","../node_modules/@types/node/console.d.ts","../node_modules/@types/node/constants.d.ts","../node_modules/@types/node/crypto.d.ts","../node_modules/@types/node/dgram.d.ts","../node_modules/@types/node/diagnostics_channel.d.ts","../node_modules/@types/node/dns.d.ts","../node_modules/@types/node/dns/promises.d.ts","../node_modules/@types/node/domain.d.ts","../node_modules/@types/node/events.d.ts","../node_modules/@types/node/fs.d.ts","../node_modules/@types/node/fs/promises.d.ts","../node_modules/@types/node/http.d.ts","../node_modules/@types/node/http2.d.ts","../node_modules/@types/node/https.d.ts","../node_modules/@types/node/inspector.d.ts","../node_modules/@types/node/module.d.ts","../node_modules/@types/node/net.d.ts","../node_modules/@types/node/os.d.ts","../node_modules/@types/node/path.d.ts","../node_modules/@types/node/perf_hooks.d.ts","../node_modules/@types/node/process.d.ts","../node_modules/@types/node/punycode.d.ts","../node_modules/@types/node/querystring.d.ts","../node_modules/@types/node/readline.d.ts","../node_modules/@types/node/repl.d.ts","../node_modules/@types/node/stream.d.ts","../node_modules/@types/node/stream/promises.d.ts","../node_modules/@types/node/stream/consumers.d.ts","../node_modules/@types/node/stream/web.d.ts","../node_modules/@types/node/string_decoder.d.ts","../node_modules/@types/node/timers.d.ts","../node_modules/@types/node/timers/promises.d.ts","../node_modules/@types/node/tls.d.ts","../node_modules/@types/node/trace_events.d.ts","../node_modules/@types/node/tty.d.ts","../node_modules/@types/node/url.d.ts","../node_modules/@types/node/util.d.ts","../node_modules/@types/node/v8.d.ts","../node_modules/@types/node/vm.d.ts","../node_modules/@types/node/wasi.d.ts","../node_modules/@types/node/worker_threads.d.ts","../node_modules/@types/node/zlib.d.ts","../node_modules/@types/node/globals.global.d.ts","../node_modules/@types/node/index.d.ts","../node_modules/@ethersproject/providers/lib/formatter.d.ts","../node_modules/@ethersproject/providers/lib/base-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/websocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/url-json-rpc-provider.d.ts","../node_modules/@ethersproject/providers/lib/alchemy-provider.d.ts","../node_modules/@ethersproject/providers/lib/ankr-provider.d.ts","../node_modules/@ethersproject/providers/lib/cloudflare-provider.d.ts","../node_modules/@ethersproject/providers/lib/etherscan-provider.d.ts","../node_modules/@ethersproject/providers/lib/fallback-provider.d.ts","../node_modules/@ethersproject/providers/lib/ipc-provider.d.ts","../node_modules/@ethersproject/providers/lib/infura-provider.d.ts","../node_modules/@ethersproject/providers/lib/json-rpc-batch-provider.d.ts","../node_modules/@ethersproject/providers/lib/nodesmith-provider.d.ts","../node_modules/@ethersproject/providers/lib/pocket-provider.d.ts","../node_modules/@ethersproject/providers/lib/web3-provider.d.ts","../node_modules/@ethersproject/providers/lib/index.d.ts","../node_modules/@ethersproject/address/lib/index.d.ts","../node_modules/@ethersproject/base64/lib/base64.d.ts","../node_modules/@ethersproject/base64/lib/index.d.ts","../node_modules/@ethersproject/basex/lib/index.d.ts","../node_modules/@ethersproject/hash/lib/id.d.ts","../node_modules/@ethersproject/hash/lib/namehash.d.ts","../node_modules/@ethersproject/hash/lib/message.d.ts","../node_modules/@ethersproject/hash/lib/typed-data.d.ts","../node_modules/@ethersproject/hash/lib/index.d.ts","../node_modules/@ethersproject/keccak256/lib/index.d.ts","../node_modules/@ethersproject/sha2/lib/types.d.ts","../node_modules/@ethersproject/sha2/lib/sha2.d.ts","../node_modules/@ethersproject/sha2/lib/index.d.ts","../node_modules/@ethersproject/solidity/lib/index.d.ts","../node_modules/@ethersproject/random/lib/random.d.ts","../node_modules/@ethersproject/random/lib/shuffle.d.ts","../node_modules/@ethersproject/random/lib/index.d.ts","../node_modules/@ethersproject/rlp/lib/index.d.ts","../node_modules/@ethersproject/strings/lib/bytes32.d.ts","../node_modules/@ethersproject/strings/lib/idna.d.ts","../node_modules/@ethersproject/strings/lib/utf8.d.ts","../node_modules/@ethersproject/strings/lib/index.d.ts","../node_modules/@ethersproject/units/lib/index.d.ts","../node_modules/ethers/lib/utils.d.ts","../node_modules/ethers/lib/_version.d.ts","../node_modules/ethers/lib/ethers.d.ts","../node_modules/ethers/lib/index.d.ts","../src/root_tracker.ts","../src/rln_contract.ts","../src/index.ts","../src/witness_calculator.js","../node_modules/@types/mocha/index.d.ts"],"fileInfos":[{"version":"f20c05dbfe50a208301d2a1da37b9931bce0466eb5a1f4fe240971b4ecc82b67","affectsGlobalScope":true,"impliedFormat":1},{"version":"dc47c4fa66b9b9890cf076304de2a9c5201e94b740cffdf09f87296d877d71f6","impliedFormat":1},{"version":"7a387c58583dfca701b6c85e0adaf43fb17d590fb16d5b2dc0a2fbd89f35c467","impliedFormat":1},{"version":"8a12173c586e95f4433e0c6dc446bc88346be73ffe9ca6eec7aa63c8f3dca7f9","impliedFormat":1},{"version":"5f4e733ced4e129482ae2186aae29fde948ab7182844c3a5a51dd346182c7b06","impliedFormat":1},{"version":"e6b724280c694a9f588847f754198fb96c43d805f065c3a5b28bbc9594541c84","impliedFormat":1},{"version":"1fc5ab7a764205c68fa10d381b08417795fc73111d6dd16b5b1ed36badb743d9","impliedFormat":1},{"version":"9b087de7268e4efc5f215347a62656663933d63c0b1d7b624913240367b999ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"adb996790133eb33b33aadb9c09f15c2c575e71fb57a62de8bf74dbf59ec7dfb","affectsGlobalScope":true,"impliedFormat":1},{"version":"8cc8c5a3bac513368b0157f3d8b31cfdcfe78b56d3724f30f80ed9715e404af8","affectsGlobalScope":true,"impliedFormat":1},{"version":"cdccba9a388c2ee3fd6ad4018c640a471a6c060e96f1232062223063b0a5ac6a","affectsGlobalScope":true,"impliedFormat":1},{"version":"c5c05907c02476e4bde6b7e76a79ffcd948aedd14b6a8f56e4674221b0417398","affectsGlobalScope":true,"impliedFormat":1},{"version":"0d5f52b3174bee6edb81260ebcd792692c32c81fd55499d69531496f3f2b25e7","affectsGlobalScope":true,"impliedFormat":1},{"version":"55f400eec64d17e888e278f4def2f254b41b89515d3b88ad75d5e05f019daddd","affectsGlobalScope":true,"impliedFormat":1},{"version":"181f1784c6c10b751631b24ce60c7f78b20665db4550b335be179217bacc0d5f","affectsGlobalScope":true,"impliedFormat":1},{"version":"3013574108c36fd3aaca79764002b3717da09725a36a6fc02eac386593110f93","affectsGlobalScope":true,"impliedFormat":1},{"version":"75ec0bdd727d887f1b79ed6619412ea72ba3c81d92d0787ccb64bab18d261f14","affectsGlobalScope":true,"impliedFormat":1},{"version":"3be5a1453daa63e031d266bf342f3943603873d890ab8b9ada95e22389389006","affectsGlobalScope":true,"impliedFormat":1},{"version":"17bb1fc99591b00515502d264fa55dc8370c45c5298f4a5c2083557dccba5a2a","affectsGlobalScope":true,"impliedFormat":1},{"version":"7ce9f0bde3307ca1f944119f6365f2d776d281a393b576a18a2f2893a2d75c98","affectsGlobalScope":true,"impliedFormat":1},{"version":"6a6b173e739a6a99629a8594bfb294cc7329bfb7b227f12e1f7c11bc163b8577","affectsGlobalScope":true,"impliedFormat":1},{"version":"81cac4cbc92c0c839c70f8ffb94eb61e2d32dc1c3cf6d95844ca099463cf37ea","affectsGlobalScope":true,"impliedFormat":1},{"version":"b0124885ef82641903d232172577f2ceb5d3e60aed4da1153bab4221e1f6dd4e","affectsGlobalScope":true,"impliedFormat":1},{"version":"0eb85d6c590b0d577919a79e0084fa1744c1beba6fd0d4e951432fa1ede5510a","affectsGlobalScope":true,"impliedFormat":1},{"version":"da233fc1c8a377ba9e0bed690a73c290d843c2c3d23a7bd7ec5cd3d7d73ba1e0","affectsGlobalScope":true,"impliedFormat":1},{"version":"d154ea5bb7f7f9001ed9153e876b2d5b8f5c2bb9ec02b3ae0d239ec769f1f2ae","affectsGlobalScope":true,"impliedFormat":1},{"version":"bb2d3fb05a1d2ffbca947cc7cbc95d23e1d053d6595391bd325deb265a18d36c","affectsGlobalScope":true,"impliedFormat":1},{"version":"c80df75850fea5caa2afe43b9949338ce4e2de086f91713e9af1a06f973872b8","affectsGlobalScope":true,"impliedFormat":1},{"version":"9d57b2b5d15838ed094aa9ff1299eecef40b190722eb619bac4616657a05f951","affectsGlobalScope":true,"impliedFormat":1},{"version":"6c51b5dd26a2c31dbf37f00cfc32b2aa6a92e19c995aefb5b97a3a64f1ac99de","affectsGlobalScope":true,"impliedFormat":1},{"version":"6e7997ef61de3132e4d4b2250e75343f487903ddf5370e7ce33cf1b9db9a63ed","affectsGlobalScope":true,"impliedFormat":1},{"version":"2ad234885a4240522efccd77de6c7d99eecf9b4de0914adb9a35c0c22433f993","affectsGlobalScope":true,"impliedFormat":1},{"version":"09aa50414b80c023553090e2f53827f007a301bc34b0495bfb2c3c08ab9ad1eb","affectsGlobalScope":true,"impliedFormat":1},{"version":"d7f680a43f8cd12a6b6122c07c54ba40952b0c8aa140dcfcf32eb9e6cb028596","affectsGlobalScope":true,"impliedFormat":1},{"version":"3787b83e297de7c315d55d4a7c546ae28e5f6c0a361b7a1dcec1f1f50a54ef11","affectsGlobalScope":true,"impliedFormat":1},{"version":"e7e8e1d368290e9295ef18ca23f405cf40d5456fa9f20db6373a61ca45f75f40","affectsGlobalScope":true,"impliedFormat":1},{"version":"faf0221ae0465363c842ce6aa8a0cbda5d9296940a8e26c86e04cc4081eea21e","affectsGlobalScope":true,"impliedFormat":1},{"version":"06393d13ea207a1bfe08ec8d7be562549c5e2da8983f2ee074e00002629d1871","affectsGlobalScope":true,"impliedFormat":1},{"version":"775d9c9fd150d5de79e0450f35bc8b8f94ae64e3eb5da12725ff2a649dccc777","affectsGlobalScope":true,"impliedFormat":1},{"version":"b248e32ca52e8f5571390a4142558ae4f203ae2f94d5bac38a3084d529ef4e58","affectsGlobalScope":true,"impliedFormat":1},{"version":"52d1bb7ab7a3306fd0375c8bff560feed26ed676a5b0457fa8027b563aecb9a4","affectsGlobalScope":true,"impliedFormat":1},{"version":"ff77107ca6bf9d21ba1eb7eeefff1a0b951ebc57c04b171c1956360ba630eef0","signature":"60fd8e1d8095e876caeb2704b71d332cbda552ecdfc1f36919256a463e4d2567","impliedFormat":99},{"version":"65da6f0b8f50b27e05ebf35c88a8757eb4308751cdf2b1064a0e310a2a485895","impliedFormat":99},{"version":"2e3dc1d28f2467b2af0c931a3b0d2c595746a2f21818fc3c7b5d050996ace788","impliedFormat":99},{"version":"237be372eeb9a7ce07c6b2a21358f22772cde924614d67de175a4ac0ba3eb486","impliedFormat":99},{"version":"862eacc247d6c92524d7879feac6da363f55428cc78270bce7b14f2d3d0b0cef","impliedFormat":99},{"version":"f55f3ab9485b5fd1a3ba3a5a53e680cb8d3acc3552816a5d58a1fa26324262d0","impliedFormat":99},{"version":"ee93f3313289b31afd1544da65086607942df227eb61aedf488b7c072aa1128f","impliedFormat":99},{"version":"5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","impliedFormat":99},{"version":"42b5333564fef3c9becbe8daf55b1ea124514cd86c2f8bed401d2a3f0037b3b1","impliedFormat":99},{"version":"109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","impliedFormat":99},{"version":"edb50eace77052203c3bc6eb251fe31f44ab0107e2b6d949ec983a918726aaf4","impliedFormat":99},{"version":"a5419b108da7e4c0241d74ab53bf2041c62e77815965d24605c2407415f11c5d","impliedFormat":99},{"version":"4a5612eb59f581a5b8e05d22e668b4199787751266a0291e3e07113fc52abf2a","impliedFormat":99},{"version":"ea86fe238f679714f2b3662d9d932bc3b47a0500894985718243167043f2bda8","impliedFormat":99},{"version":"866f0c4f16380a56653adc6cbeac08c58c626dabb431f0fa6cc2ba07874836d8","impliedFormat":99},{"version":"e8c5b68c1182684e8cfc177430b80fef003976d1dbde326087c28f5125fe4b5d","impliedFormat":99},{"version":"a807c0a82557d68f6f0464d6af0a6566d1ef708f57c7d1d7dd8dde28879635bc","impliedFormat":99},{"version":"a2023e18c62b1109f17241fb1f90a84e75fffcb3ee9265d2e9bc0fa40b6ede42","impliedFormat":99},{"version":"6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","impliedFormat":99},{"version":"3ccf65e2230413ab1facbad92a2fb77b8e2bcd314618d0ebc12f6cb7aaa21619","impliedFormat":99},{"version":"4c5e54a2d502770a63859a00fbf77e8b91ce76b18080278f62866e7cdb582798","impliedFormat":99},{"version":"71dfda7df8d05d2d54627963af1c3c675ef99363d421b7ff42ae237d038db4ce","impliedFormat":99},{"version":"5d055d8b54e2dec3fe4aa417f5f664658b78123e83e8735047285f99a1d24065","impliedFormat":99},{"version":"1b03f8d19b753269d85e2e50ec2a2866bf349fb4f6e72aef6559e94c64511dee","impliedFormat":99},{"version":"109970171acb66c4c03fa6ba9d0a3bc2bf43c12540db2b0842d25d54fbe11f65","impliedFormat":99},{"version":"6666d48a46dbfd565490e7f8789093e2392c5bdcc3a380dfdd91c77237e43101","impliedFormat":99},{"version":"6377354dd753557d479933e0bec6ca6836f839c87394ecb071e85f062b708058","impliedFormat":99},{"version":"16c594cd8a44be9f5398d3fc7dbc9575f0b67d91a6553f35bd3576136862b32b","impliedFormat":99},{"version":"0fc1e0effc8ea83ceca9a1ff36c2696489fefea040d33fc5cbe244111333fcd4","impliedFormat":99},{"version":"0dd67171a4a3fa82044faec51befa11ab96f9205fd8cc96be09de275b65d36ab","impliedFormat":99},{"version":"42570779c28480ae0d1fa0695974a888305ee2b2efd37bacdeb57204dec843db","impliedFormat":99},{"version":"20e85d1b2ce7381a938a25a725a90f8610e68862c5a661acfeffaacd6513d392","impliedFormat":99},{"version":"667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","impliedFormat":99},{"version":"eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","impliedFormat":99},{"version":"01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","impliedFormat":99},{"version":"76513b0c51c81a929f4f90694edf4dcc85f71bb46121b4192b5530e0601f9d81","impliedFormat":99},{"version":"a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","impliedFormat":99},{"version":"df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","impliedFormat":99},{"version":"0820608ae5bf3995d77eedf0fa7f987c0d5c7c9592fdc0bcb391fb742d5067a0","impliedFormat":99},{"version":"14b8a1dd226271e6b045d91262602b15820ff871b3dab24510a15e6989d05a5d","impliedFormat":99},{"version":"2596013e7e3f002455e29bad0a70e0ae1a1364cac8584d2590b73133e63d6073","impliedFormat":99},{"version":"274b714a925cc417f249f430b9c5c3ec80986044d8322d41e40fd39a7d154fa8","impliedFormat":99},{"version":"70cbb43b1e838bb77b16e1085115494c8b6925a954edf7fbdd494ad56a88adb8","impliedFormat":99},{"version":"ad716342f559ff88871c01a351dbf89fe72c8313f329cd2a714f09f532c50eab","impliedFormat":99},{"version":"6adc54eb855f3fda2603173a431be81830172099df37ddda11b6730c1c8d9147","impliedFormat":1},{"version":"438ad3eed057c98e23b55ffa592f96269f07242cce80ecb8ed823574de77aab0","impliedFormat":99},{"version":"8eef7568d606bb74f6fa6411b6c067637777f85c00079723a9397120dd92b350","impliedFormat":99},{"version":"2b74d6d9875fc0b0b512b5c6f1f1ca53d050da82909f72b4cc2cdef317695aba","impliedFormat":99},{"version":"2a4905817a3f71d0739ed8bfb7399ec43994c9a11b20ff872b1a958edbad1cba","impliedFormat":99},{"version":"ae330d2797dc8a25dc36f0ade8a4a84c826d6dd4f108af61448327c9e8acac4a","impliedFormat":99},{"version":"fc018e192395d4243f43355c9eec40d33b8e7e7b461d693b84472aba9b099e98","impliedFormat":99},{"version":"e1fe04ff1ffecfb18420f0895d0cd2652f98a27def5c33aae5ef328f186c905b","impliedFormat":99},{"version":"635e7c978a30ab2013a37c4d05d0d081e58e4ad867db46a009412ad24ee426d7","impliedFormat":99},{"version":"9ebc2216a784e7fc97775fb7ab6976c6e2eb88662ff02a1a3c89a10546dac173","impliedFormat":99},{"version":"87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","impliedFormat":99},{"version":"32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","impliedFormat":99},{"version":"4e3ffdea3d82359fb81c9187e3d1f3ca4101963ae5e664ab47484cf61af50ee9","impliedFormat":99},{"version":"474ab86e676e0c1b664bfcd21b1e58bed351f3390ba1d892e8da703f371b7a4e","impliedFormat":99},{"version":"fb7a601066e19b5d0c173b564bd46b358cf00c9040e79fb6fd427b7aa223eed1","impliedFormat":99},{"version":"cf59d474e0bb4c2f3bb3be647b435891c75115f1aa9e2908b28df9dea1604be2","impliedFormat":99},{"version":"1535a7688c7368b2d187873760dd26c14ed28fbc0802e521aae65c30bfbb434e","impliedFormat":99},{"version":"c0fdc1c9e8770da790089cb0d263670cb7a22ff4193b352717936d0dd08fe26b","impliedFormat":99},{"version":"a7975589eea94f2a13153955364398522d9a265aa2a52def61d29f752b48cc91","impliedFormat":99},{"version":"531556008024c69163c0d120823a69e7a6a5be1279ea87fc725a63dc386278b7","impliedFormat":99},{"version":"df99b5b6041e9e37b46c876cd487020e4bc9e02a519fa4a735cbe18f5c4f2f38","impliedFormat":99},{"version":"272cd5e6428b68d973ce707329c3f621ac6b3eb4bf5bd4421b1106299600ddde","impliedFormat":99},{"version":"2202644315d85ab8985d4f72fe136c00e53db91ac06a0646eff7980e55bdacb3","impliedFormat":99},{"version":"cd5ab2f30a27d53001804b7ef51758a79b73e4ccb7716b8e2ab8e17d69a7183b","impliedFormat":99},{"version":"9080b537cd4fa24273477f33faf5f983e5f10aa386c2de8fcb6de837c9cc9763","impliedFormat":99},{"version":"d34a8917095f11006957bed03e1e60dacc0b82906f5d0ddc87b959e283fbb5cc","impliedFormat":99},{"version":"bffe8a5db9410d2f3320df7016f83e9de47328e377aa78b9aaed1fe6d5db9d66","impliedFormat":99},{"version":"a9dc4418352bc4a8d1e9314aba1e29327b17d06c604b397c6140d6488c5b022a","impliedFormat":99},{"version":"6adcf362e079c177ea4730c8b7beb3e9848b3f970ef08b497a641e034b0a0ece","impliedFormat":99},{"version":"114ef8adba09ab579b6bd6d16b2c83ddea02c1f5ff598f3144f2c3853ef3eb7d","impliedFormat":99},{"version":"1217c84b164e559b2371aea1b8c11eea9f95e123dab98942c8a5a4aacc2ad252","impliedFormat":99},{"version":"28092d5b5aea82adc509a3d522d265d9d5a8a0ddf92f94c8fb336c5787893030","impliedFormat":99},{"version":"995a3938e28f1a7e359847f83b43951c05727b6ca42398982778adc8b9a58609","impliedFormat":99},{"version":"77411d10dad0e74a86ce28dd0f720cce2947421e42f3fb5d1849bc14520f9b5b","impliedFormat":99},{"version":"667c9ac7c2f61c4a36220c2fa02f848a170aa96d3a58be32a5831aad86330da2","impliedFormat":99},{"version":"eb15dfd1f8b6da5f546fe29a6a0f0de4ae6dbd4a5577af4eba4c8a54548ef0a2","impliedFormat":99},{"version":"01443e5da049881a99f223c72617d4bb1d8854930d03deceb628e4be83df1e4a","impliedFormat":99},{"version":"a380f922477db0b9b4a17cde7d29585e2280036fd62ac4564814d4844b64717a","impliedFormat":99},{"version":"a0263cc045540023e72c993a26fd1bef3adf8674b9719272009134c56ecfc336","impliedFormat":99},{"version":"df162b6f89985144d8aedccc36dfc366ab5e562ba8615125b2bfa25273f3006b","impliedFormat":99},{"version":"1a57e52e42a8ff2121d47cba8133c73b4e10ede7252881dc131cf514b28f884e","impliedFormat":99},{"version":"cfb5cd87dcce3ac2d6e4e575ae732791e1d77e047c0018bfc5f9e4d1ba355719","impliedFormat":99},{"version":"a979d3d312f1d879a5c77493697380b6caae9333e2fe0f51bb0fb0473dc211ba","impliedFormat":99},{"version":"aaf4673898dca18c059997aae0e8ae725215c8ee0998e9d4a6fd173384276748","impliedFormat":99},{"version":"b90473059128d1a4c028852a710058a3a8944835188672f5846deba05a1e778e","impliedFormat":99},{"version":"8ad13afb5324460426b210f7c5040d3d19375accd24e22bb52a534c728aca73e","impliedFormat":99},{"version":"e1fe04ff1ffecfb18420f0895d0cd2652f98a27def5c33aae5ef328f186c905b","impliedFormat":99},{"version":"635e7c978a30ab2013a37c4d05d0d081e58e4ad867db46a009412ad24ee426d7","impliedFormat":99},{"version":"b27c2a28daf3e502ae6b631cbf51881247fffd3e0163520bc5904604f9e48096","impliedFormat":99},{"version":"87b44430497cae7542bbd5ac2fb6663df6a465dea7a46be58a49cd9416530439","impliedFormat":99},{"version":"32b67d761db3999f1e482d0add405b695d3ec5607e07ae4c963a96334c331814","impliedFormat":99},{"version":"8747571dae434deca4847b49e09b5421d7068b0956a1df841756812645d4e1ed","impliedFormat":99},{"version":"216601fa3da32170d99a6cbdea143a00dfd5a7bfddcf231126493c0ab992daf4","impliedFormat":99},{"version":"06245aedbc73b4f39fabd67ab13f451e009489bd66dac614184c8f97034f8016","impliedFormat":99},{"version":"b3bff8270798e03d00349137271e3f11074ec5281a393289dd8f33f37627828b","impliedFormat":99},{"version":"3b65ca51bc8915ae230bb40cb6a9662bcdcde83c402f57d7f8b8c803d497d0af","impliedFormat":99},{"version":"28393110732dca5855c0fd444777dc978d010ecba3204c4c48cfa26ee612bc13","impliedFormat":99},{"version":"01fd310805f9c29fc38a6580e32f75291d5dd3918e7acdfc7d50548ba0c4bf9b","impliedFormat":99},{"version":"f569da0d6f4c6fb153811dd6b7d34afb4511c7d85f5089e30a1db78004975ec1","impliedFormat":99},{"version":"537b1070107a0454a2fe365a633555700fff55a4b3e15d55520633b93dbf96d1","impliedFormat":99},{"version":"6b616e00e177a11c8054c70c821ca2d0c976403d11ad466385dddc89245e7ade","impliedFormat":99},{"version":"8dac050016c78a797699221c95d569c47ea4176e403b47f9f5a2e95afe26cdd6","impliedFormat":99},{"version":"d8a63ecc9188f8ef5fce8c82ea2c691acce9a152b8bd07d75a6531c7d4c07df9","impliedFormat":99},{"version":"4967ab74e79f8d087627020dd95dd6f803b79a14410acb11b4c8a33db61bdcf3","impliedFormat":99},{"version":"41326ccdc0707b973e3a285711e4d4ff37b999745d1539e346800a8f1db8e702","impliedFormat":99},{"version":"55ceb2bf66892116339189e65e54fb1b22def0d6aec0a64ff0038e69c079b1c7","impliedFormat":99},{"version":"d645480bf6b4bbea9b456d72dc0bf48db82b8218f80134d6d1f0e23123279d13","impliedFormat":99},{"version":"b2f91bd2d0f60e3dca8217d9e405b594c1268f51306bca54b6b6b50d76177a43","impliedFormat":99},{"version":"a6ba587a908313fff2672c8fa74f1f93c3d74861464488c352304f20d4883e27","impliedFormat":99},{"version":"c4b62e88d338895f62ea1c2eecff4dae3ea7d6c5aa08436f89960bebade12be9","impliedFormat":99},{"version":"0c5bc6a0a6664bfcb6d53bec072fe1b83e129ea965143e826b7e3f40b0c8fa96","impliedFormat":99},{"version":"2e1d641e085f3fad3bfaa36a3aa917703f314cd3e52057538554c8f5a1362872","impliedFormat":99},{"version":"94fc6dd8f95aaf163e5cde84558bf45867fccacfb2632c6e85265efda6dbc0a4","impliedFormat":99},{"version":"eb6527640f6cd73d8b1350ed74cf374d5d08a951f78bebbf8f1f0786ad914e41","impliedFormat":99},{"version":"9baaecd1ece45f7966156fcb69f9d366aed3d1e8e604e58042970de681228929","impliedFormat":99},{"version":"15a6ebf6dc00e8474f7ee0e2c6321b7ad328b4b59d03ee7b103c94a71bbd3a7e","impliedFormat":99},{"version":"3e836ec68dd734248c913405f458ed2c66565c4fa4647aa1d0cb8fe5f35e2d66","impliedFormat":99},{"version":"dd4f10fd0eab2df1b95f1da2de90806cdbe5b9c9552596115521d36e2fd9da4f","impliedFormat":99},{"version":"6a9c5127096b35264eb7cd21b2417bfc1d42cceca9ba4ce2bb0c3410b7816042","impliedFormat":1},{"version":"78828b06c0d3b586954015e9ebde5480b009e166c71244763bda328ec0920f41","impliedFormat":1},{"version":"f98f7fd5c208374f072a67a46306ab9b3f914554b4ebb673fb805e13a4119b6c","impliedFormat":99},{"version":"e9318530496429d8c5f5a39ce1f0eaf39ecf0a779a0e2f0f54ab37cd1ec057b6","signature":"b5b1f8f8b94f35a0a1b59e923899562482f6c99b912a0c2fa9424410fdd6f910","impliedFormat":99},{"version":"4a8ba0a75f66d19e6de5e1af20301769e3c2922b9ed766849e4134d32090854b","impliedFormat":1},{"version":"4e5dd895ed64dedb1a4a959ae8236a5f7fb803267a2986498d946b68a5dbde16","signature":"8e87acd8260ebbda136579bdf35e3535475864e40a3fd7ed09f45bd731fa6c3a","impliedFormat":99},{"version":"23c811b86e2e70be10ba78aba44942fb7dea4d7ca01cfbc14524508c5efbdc27","impliedFormat":99},{"version":"eae2bbd6b338083db08aba545813ac3b69b059143b3db4577a488084baa088dd","signature":"1005bd68c0e2012ed116b83235ecef9a8c05d56f905f31fa091dff6819df2879","impliedFormat":99},{"version":"5cc8e8f6ab452f986e30bdeeba5ed3fbc37300ac3a233af794f505ba41694955","signature":"adb0928b920e0cad8efd70e2c47e84ebad4bec9134e3caae137df49f65160450","impliedFormat":99},{"version":"cc704dd72d42219ff6f6dd38c0585364940763337412b253c9a84bd9440e4226","signature":"7ce814a75931a044a619f099254e6dd5df1f1f96ce1442a24c135e5c68696f58","impliedFormat":99},{"version":"2f47d3a283b1ebe2e5bf3092e22f62081ca673393b22c511e35f904856b5fc36","signature":"3b41fe134d571bca09a1302d50c6afba4249f6e8b41235b42f47da2c6660eef2","impliedFormat":99},{"version":"5ccd75f0f34649b7e7e02c4c1fc13ca55245ee2b3fd03afe7b33c479528955ba","impliedFormat":1},{"version":"762eb5c667538d6af830a3d05047850acf463528bfbfc8bc2b136075582a64a8","impliedFormat":1},{"version":"a67d4361c72e0da01d7de8f4e8c72789700f3ff4864ef1ccb939703cbd5e4717","impliedFormat":1},{"version":"b2954c77d0660b17248dba85b262bee3af5e1e526d1a0a4fb63c1583db937589","impliedFormat":1},{"version":"dd5d336287e57034dff2b371d0b79dbd257ef8231752955a35d28bdfaba357b5","impliedFormat":1},{"version":"93f13ccf02b981dac3f2c600effece96e433585c8ae54befe9721b5a818538a7","impliedFormat":1},{"version":"0f0b7504b03d06d78c1bb78d2618c3c017a5e35971b0b51c7d53c3fd29054250","impliedFormat":1},{"version":"cdfc24664ebc99ea6ea6357d75dc30b5dd161f18de7e6512786796fad0a592a7","impliedFormat":1},{"version":"f2ee0a1cea636103bf8ba90c36d798d1c39aaf9c2cbfa4800f09279232900661","impliedFormat":1},{"version":"3c3ca314a2b01902ef19b499be6e052925a849f14e2d9185afb323df3d3a72b6","impliedFormat":1},{"version":"d77dd6161e57ca9e7603f50263cfa1e8bec67e54502f730becb152e79f55324e","impliedFormat":1},{"version":"05b392be92f47b0460bb9b3e8566ef966ed3c691f8ec8198310ffba12f4080ee","impliedFormat":1},{"version":"32ab25b7b28b24a138d879ca371b18c8fdfdd564ad5107e1333c5aa5d5fea494","impliedFormat":1},{"version":"458111fc89d11d2151277c822dfdc1a28fa5b6b2493cf942e37d4cd0a6ee5f22","impliedFormat":1},{"version":"da2b6356b84a40111aaecb18304ea4e4fcb43d70efb1c13ca7d7a906445ee0d3","impliedFormat":1},{"version":"187119ff4f9553676a884e296089e131e8cc01691c546273b1d0089c3533ce42","impliedFormat":1},{"version":"febf0b2de54781102b00f61653b21377390a048fbf5262718c91860d11ff34a6","impliedFormat":1},{"version":"6f294731b495c65ecf46a5694f0082954b961cf05463bea823f8014098eaffa0","impliedFormat":1},{"version":"0aaef8cded245bf5036a7a40b65622dd6c4da71f7a35343112edbe112b348a1e","impliedFormat":1},{"version":"00baffbe8a2f2e4875367479489b5d43b5fc1429ecb4a4cc98cfc3009095f52a","impliedFormat":1},{"version":"dcd91d3b697cb650b95db5471189b99815af5db2a1cd28760f91e0b12ede8ed5","impliedFormat":1},{"version":"3c92b6dfd43cc1c2485d9eba5ff0b74a19bb8725b692773ef1d66dac48cda4bd","impliedFormat":1},{"version":"b03afe4bec768ae333582915146f48b161e567a81b5ebc31c4d78af089770ac9","impliedFormat":1},{"version":"df996e25faa505f85aeb294d15ebe61b399cf1d1e49959cdfaf2cc0815c203f9","impliedFormat":1},{"version":"30abc554c7ad13063a02ddd06757929b34357aea1f6fcf4ca39114cb0fc19384","impliedFormat":1},{"version":"fab58e600970e66547644a44bc9918e3223aa2cbd9e8763cec004b2cfb48827e","impliedFormat":1},{"version":"27c7c17a5dfd59eedb5a17f17245612eda203b09acd148456a90e12cdbd73769","impliedFormat":99},{"version":"d4c56de1982dffbc7bfea0025093285874f70c259be043a7d1fc281220008418","impliedFormat":1},{"version":"ffc3212863d8ff2caa53d212bdfeee8d19e5528dd3a25337a211692ff6c5e7f5","impliedFormat":1},{"version":"05bb4c3441e49099eea24f828288b34cbccd18d8869039fd5c44832bfefa7408","impliedFormat":1},{"version":"e28b3cfb92dea918065ea34bf185d6365355c2e4c308e190f27e87424a1d133a","signature":"bb3a3a7e5d1abb83649dc4cea1256e898723601884a20851dca5b79b06c370e8","impliedFormat":99},{"version":"3c773b6c03769ce47f10f321bb764b6368f7b42e548ca0921e185efbee24f4af","signature":"3fec22e71eb48a5e3e8fed4d63c21440fa9016ee0eb382db61c3235c4db5281d","impliedFormat":99},{"version":"882dff9c00e22a508777b48688e46fe8c2634e738099f8db4ae0219935184f13","signature":"f18068deda701d47835307f40140659c29aa227073a768c3d8b1814dcbfabda3","impliedFormat":99},{"version":"5c8dba0075f82dbf52309a4cd94a5c4a4f617ee41dbe58ecf29b7676009953b6","signature":"48e23e94b09582adc5aad7072838e17379723f0a7abd4245f873c99b96e4349a","impliedFormat":99},{"version":"8b5dbe118cfa320ca901b6afe1109611fbde78a71d3ae74321da8fb7c3b7044a","signature":"3137f61fb99663553450e70bbea3012fe0986fb81661a10a986e8f1aebbf9d23","impliedFormat":99},{"version":"8ffbb16c130c319c1cf99202fc4ebe84546d5ecd24301a36f9a802df282bef04","signature":"d92a33486f3e37df2765191a56e562f55eec4bf53b3f9a72546d6537d3086616","impliedFormat":99},{"version":"04c6bb78ee4d6f37f14994db6f61605f17f14be87d09a1510f252e392a88201b","signature":"e29616aa8641055d75b3f46bf46a457dcb55a4f57d652c804c6dd4550c3831ea","impliedFormat":99},{"version":"1fcb8b15db812281d69a3090d488903f9e93033004aef9d8889ca3ad0753a96f","impliedFormat":1},{"version":"bdf5a95eb0a2dd1d39805bdf51b46ba012bb9b92b2ddaae16219595bba7678a5","impliedFormat":1},{"version":"9f794a0e8550a03baff865a3961cc22afbd85bc4ba9672bdda036971928f85f4","impliedFormat":1},{"version":"66a697d1e4cdbf25cdce4644a8085a8563041fa8c7731d4d9f5e8f22e66ba72c","impliedFormat":1},{"version":"a0c8e17f4d1ea2704c62d7349bc3b8d9a12e3761b5960cb44144d3f0333b3fcb","impliedFormat":1},{"version":"3471c0df3d0391e1dffe6e8bf150294531b2b71a2afa5f2b86e52bf84a5db60a","impliedFormat":1},{"version":"5d4df4de055eddf3187094f938a640f8d96e4c551a47d6686596fdb6ba4c3014","impliedFormat":1},{"version":"8bc2cad630da1033c1fd8d7df2bffb18af0da6113bd086a8bbec04a2471a1e00","impliedFormat":1},{"version":"a1059d1bbc8ad46bfe668b8450e7e8002887c4ab987bdb96d6108d8023f8bb8f","impliedFormat":1},{"version":"5134885e9648e2c6745f8aa1c3e7f5ab3b3617258b3d81ca02de6655ede3d74e","impliedFormat":1},{"version":"4f1ae3f24125216cf07c5211a3f00d2bb4782d7cc76c0681603f8249f9232ff0","impliedFormat":1},{"version":"d3fb92a5640f83f7844d60b35317a0f95c27e3658a749d76d218c461ad091668","impliedFormat":1},{"version":"d1f8bfcd91b284657ef8187c55ace7db91a3c43e642c3f14e54364154932f7e4","impliedFormat":1},{"version":"f54c92bfcae54f360fe79514746efce4870e4ddabc064e95d406bba291e9f672","impliedFormat":1},{"version":"175fd7186fa6a70f9db9b270a04a503cae23cf01cb77e3905bac115c38424cf7","impliedFormat":1},{"version":"c993f7ed1b8e1023c1f2ee5b262dbc3b70b27475674e40a53a58591f9972dacc","impliedFormat":1},{"version":"c914014ab7c7001178663f29d31a495398234a41219af61f26d7e8e91b46af96","impliedFormat":1},{"version":"b135893253d5e507232d1d0b8639dbc00c2bac453fc0420a9af738f1792f8b29","impliedFormat":1},{"version":"267eb41d7d34151d8b5fdf8b73ddefe0684d7921f4b7db14101f600ea3e8ed02","impliedFormat":1},{"version":"eb848e4da1fa7568c893e0a0e1f221572c56768dedfe21d2f7741d383c381552","impliedFormat":1},{"version":"bd6b7d9ff1992fbde49e974f6bf4e8c35922042fc0b6f5326e61fa17a912ffe6","impliedFormat":1},{"version":"ac443b1f93babbfadff3aef4490044012ff461ba1cf1c7d90ac45f5a26863358","impliedFormat":1},{"version":"42e4cdd55aa23586b9aff929e2c216150276a37d30c2cf7c0f32ba917722b5e0","impliedFormat":1},{"version":"4a1ed19ead46b1dd5a319d533fb92162b4ef052ab1c690889cb2eaee293441a1","impliedFormat":1},{"version":"d0d5b967e5c36354b2f13b4bfb78aae4c1685efa9df3fd946d2e576d370e9302","impliedFormat":1},{"version":"8076164b388640f7856b25e945a2ded7738e0f8674ac50c256734067b0f0b1b9","impliedFormat":1},{"version":"36819a1e04a8dbed754a5b3ba2fd5aca2eafb95977eaad6356d77df596c732f4","impliedFormat":1},{"version":"5fe9c19f085365b73956e27becc5167ad25c5fb024bed4728884966a0faab3f3","impliedFormat":1},{"version":"d67961ebada9a5e5c393d9c46a4155877a9f7a48b02a0afc6bbe4e87061e46f5","impliedFormat":1},{"version":"d5e88cd4816669da170c646844042bc83f4523275f85060cf3e2b5b3bf902ee0","impliedFormat":1},{"version":"137ee20e77a23986e9a1fdf6397b555e6d3073bdcca15927c40671d1ac564aac","impliedFormat":1},{"version":"a28b00d18def7993bc502f19be6abdb89db2548fe946a51f0771b8ed26a6786c","impliedFormat":1},{"version":"0fc6ddce4aabc8d84a6aa6644e1012a1474ba844ed6bddc7bea7115583e8a72e","impliedFormat":1},{"version":"0cba3a5d7b81356222594442753cf90dd2892e5ccfe1d262aaca6896ba6c1380","impliedFormat":1},{"version":"a69c09dbea52352f479d3e7ac949fde3d17b195abe90b045d619f747b38d6d1a","impliedFormat":1},{"version":"77f0b5c6a193a699c9f7d7fb0578e64e562d271afa740783665d2a827104a873","affectsGlobalScope":true,"impliedFormat":1},{"version":"e5979905796fe2740d85fbaf4f11f42b7ee1851421afe750823220813421b1af","impliedFormat":1},{"version":"fcdcb42da18dd98dc286b1876dd425791772036012ae61263c011a76b13a190f","affectsGlobalScope":true,"impliedFormat":1},{"version":"1dab5ab6bcf11de47ab9db295df8c4f1d92ffa750e8f095e88c71ce4c3299628","impliedFormat":1},{"version":"f71f46ccd5a90566f0a37b25b23bc4684381ab2180bdf6733f4e6624474e1894","impliedFormat":1},{"version":"54e65985a3ee3cec182e6a555e20974ea936fc8b8d1738c14e8ed8a42bd921d4","affectsGlobalScope":true,"impliedFormat":1},{"version":"82408ed3e959ddc60d3e9904481b5a8dc16469928257af22a3f7d1a3bc7fd8c4","impliedFormat":1},{"version":"5b30f550565fd0a7524282c81c27fe8534099e2cd26170ca80852308f07ae68d","impliedFormat":1},{"version":"34e5de87d983bc6aefef8b17658556e3157003e8d9555d3cb098c6bef0b5fbc8","impliedFormat":1},{"version":"d97cd8a4a42f557fc62271369ed0461c8e50d47b7f9c8ad0b5462f53306f6060","impliedFormat":1},{"version":"f27371653aded82b2b160f7a7033fb4a5b1534b6f6081ef7be1468f0f15327d3","impliedFormat":1},{"version":"c762cd6754b13a461c54b59d0ae0ab7aeef3c292c6cf889873f786ee4d8e75c9","impliedFormat":1},{"version":"f4ea7d5df644785bd9fbf419930cbaec118f0d8b4160037d2339b8e23c059e79","impliedFormat":1},{"version":"bfea28e6162ed21a0aeed181b623dcf250aa79abf49e24a6b7e012655af36d81","affectsGlobalScope":true,"impliedFormat":1},{"version":"b8aca9d0c81abb02bec9b7621983ae65bde71da6727580070602bd2500a9ce2a","impliedFormat":1},{"version":"ae97e20f2e10dbeec193d6a2f9cd9a367a1e293e7d6b33b68bacea166afd7792","impliedFormat":1},{"version":"10d4796a130577d57003a77b95d8723530bbec84718e364aa2129fa8ffba0378","impliedFormat":1},{"version":"063f53ff674228c190efa19dd9448bcbd540acdbb48a928f4cf3a1b9f9478e43","impliedFormat":1},{"version":"bf73c576885408d4a176f44a9035d798827cc5020d58284cb18d7573430d9022","impliedFormat":1},{"version":"7ae078ca42a670445ae0c6a97c029cb83d143d62abd1730efb33f68f0b2c0e82","impliedFormat":1},{"version":"e8b18c6385ff784228a6f369694fcf1a6b475355ba89090a88de13587a9391d5","affectsGlobalScope":true,"impliedFormat":1},{"version":"287b21dc1d1b9701c92e15e7dd673dfe6044b15812956377adffb6f08825b1bc","impliedFormat":1},{"version":"12eea70b5e11e924bb0543aea5eadc16ced318aa26001b453b0d561c2fd0bd1e","impliedFormat":1},{"version":"08777cd9318d294646b121838574e1dd7acbb22c21a03df84e1f2c87b1ad47f2","impliedFormat":1},{"version":"08a90bcdc717df3d50a2ce178d966a8c353fd23e5c392fd3594a6e39d9bb6304","impliedFormat":1},{"version":"4cd4cff679c9b3d9239fd7bf70293ca4594583767526916af8e5d5a47d0219c7","affectsGlobalScope":true,"impliedFormat":1},{"version":"2a12d2da5ac4c4979401a3f6eaafa874747a37c365e4bc18aa2b171ae134d21b","impliedFormat":1},{"version":"002b837927b53f3714308ecd96f72ee8a053b8aeb28213d8ec6de23ed1608b66","impliedFormat":1},{"version":"1dc9c847473bb47279e398b22c740c83ea37a5c88bf66629666e3cf4c5b9f99c","impliedFormat":1},{"version":"a9e4a5a24bf2c44de4c98274975a1a705a0abbaad04df3557c2d3cd8b1727949","impliedFormat":1},{"version":"00fa7ce8bc8acc560dc341bbfdf37840a8c59e6a67c9bfa3fa5f36254df35db2","impliedFormat":1},{"version":"1b952304137851e45bc009785de89ada562d9376177c97e37702e39e60c2f1ff","impliedFormat":1},{"version":"806ef4cac3b3d9fa4a48d849c8e084d7c72fcd7b16d76e06049a9ed742ff79c0","affectsGlobalScope":true,"impliedFormat":1},{"version":"44b8b584a338b190a59f4f6929d072431950c7bd92ec2694821c11bce180c8a5","impliedFormat":1},{"version":"5f0ed51db151c2cdc4fa3bb0f44ce6066912ad001b607a34e65a96c52eb76248","impliedFormat":1},{"version":"af9771b066ec35ffa1c7db391b018d2469d55e51b98ae95e62b6cbef1b0169ca","affectsGlobalScope":true,"impliedFormat":1},{"version":"664d8f2d59164f2e08c543981453893bc7e003e4dfd29651ce09db13e9457980","impliedFormat":1},{"version":"103d70bfbeb3cd3a3f26d1705bf986322d8738c2c143f38ebb743b1e228d7444","impliedFormat":1},{"version":"f52fbf64c7e480271a9096763c4882d356b05cab05bf56a64e68a95313cd2ce2","impliedFormat":1},{"version":"59bdb65f28d7ce52ccfc906e9aaf422f8b8534b2d21c32a27d7819be5ad81df7","impliedFormat":1},{"version":"3a2da34079a2567161c1359316a32e712404b56566c45332ac9dcee015ecce9f","affectsGlobalScope":true,"impliedFormat":1},{"version":"28a2e7383fd898c386ffdcacedf0ec0845e5d1a86b5a43f25b86bc315f556b79","impliedFormat":1},{"version":"3aff9c8c36192e46a84afe7b926136d520487155154ab9ba982a8b544ea8fc95","impliedFormat":1},{"version":"a880cf8d85af2e4189c709b0fea613741649c0e40fffb4360ec70762563d5de0","impliedFormat":1},{"version":"85bbf436a15bbeda4db888be3062d47f99c66fd05d7c50f0f6473a9151b6a070","impliedFormat":1},{"version":"9f9c49c95ecd25e0cb2587751925976cf64fd184714cb11e213749c80cf0f927","impliedFormat":1},{"version":"f0c75c08a71f9212c93a719a25fb0320d53f2e50ca89a812640e08f8ad8c408c","impliedFormat":1},{"version":"ab9b9a36e5284fd8d3bf2f7d5fcbc60052f25f27e4d20954782099282c60d23e","affectsGlobalScope":true,"impliedFormat":1},{"version":"9cafe917bf667f1027b2bb62e2de454ecd2119c80873ad76fc41d941089753b8","impliedFormat":1},{"version":"277afd6ab6ec72889e2988e0ddd7d138c1f512e68a1fa4e90eedfd71e2097a51","impliedFormat":1},{"version":"c0908f85f2b645d375127a3b53a17a65f782e17962d5c1eb68f08b1188acbf15","impliedFormat":1},{"version":"3fadac5d409cc2f27b1d2f4e7568600f02840205f301c9ae7a3068b46476438b","impliedFormat":1},{"version":"da6aae64ad559286830fd44c81e3d33303348f184af7db4fde8dd99ae9749407","impliedFormat":1},{"version":"3633f87c97d359cb55fa7bf0668fb2be8a23342951af6ec2d06e6d0cf7409371","impliedFormat":1},{"version":"cc3a5427d44fc77ff25e80b3edee4650a51f83de761faf5e633994ecf1ab1b44","impliedFormat":1},{"version":"b350eda75c6e47299b36002b31d5b220c405c21c365e708989829db013fadbb4","impliedFormat":1},{"version":"f421882756b6714834ae4687ab1aeadf344a1cc45437d2edffbac020ff3801c1","impliedFormat":1},{"version":"1d61d6ad832dabafbf63b86c5a79d704f2c8763ada9318e135b17a3cb2d09b32","impliedFormat":1},{"version":"e5cef5de3e5ad3436d414d20743231e284733b9cf4375dc79eff4fcca4282f99","impliedFormat":1},{"version":"e624419ba84e33e661e89a28083119ca41f6953dba09a4f82b660684087afe6d","impliedFormat":1},{"version":"942be430bd0feaced2e3e598273b17e50ea565ec9dac840b580b0b99e1a3cd5c","impliedFormat":1},{"version":"73350006cec5a0c6b71d53b0b0ddbfb82be96752a9c4e3c904c59e633bc9485e","impliedFormat":1},{"version":"a7df5c2e9594966c7e0d4a763b13ed5727506d892669df5f7bc9826f539c1d35","impliedFormat":1},{"version":"258cc5cd6891f6bcbaccefd953997038844e7f65d582cac987ffabf7181bcd4c","impliedFormat":1},{"version":"00a6db28fc4df6ddf10adbe630d9df620ec13af19039c1869653e60dafa739d2","impliedFormat":1},{"version":"649324d5abb5464aabe35d86cd0eef16562df811f0971481cee664afa5acbc88","impliedFormat":1},{"version":"f02da9dd36d7a9aa33c9b2e37ef1f54b0d9ad6a713bae372ae4b72890e40c168","impliedFormat":1},{"version":"3a5652c44d7b3ee47b1d294b1893b30253d8fb6a1ecaafaf5fdef5fdc118f54c","impliedFormat":1},{"version":"4fba134e9015779329678ff1fd1afc32bbbf391b1f419f7622a3ecde7bbfc355","impliedFormat":1},{"version":"af75984f58aa9205be02b0a2248d05f6105a8d4bf8be0baca294b5ceaa10e33e","impliedFormat":1},{"version":"45a910666b455daf042c0a0cfa610c20ea59a0aaf702f93d3b467a05f9a27e20","impliedFormat":1},{"version":"5580ff53b5f6f1ecdb68ecb61327e63112f97660912c15444c1f8a08f69c19dc","impliedFormat":1},{"version":"84fb7c52fc116ddcbd1b34535e387053f2a0134d11c5e39b193f4c1328fb1fb5","impliedFormat":1},{"version":"fd3cd8bf3c90ef4694195a617a5daaac561d8be52ba33c607f170c11f3c50154","impliedFormat":1},{"version":"6852fc2f309e330e38694bad95bde670c384d1498bf4fbe3a751761b43279934","impliedFormat":1},{"version":"9f963b28320dd50221cd23f23059bc23cc7799c7025b44942da68974f90c2e6c","impliedFormat":1},{"version":"c17329bcf495af58e3010f8e61af51709aaa24a6664d8557a7d01a82b5397c59","impliedFormat":1},{"version":"4eebb617b12f21864e6641d0a9eefaca77a9ccf93f00bb7d50b26d8073866e53","impliedFormat":1},{"version":"ca0b43e2565d78809383e9a025b0638a5e65bcde4a2b68ff2c6fa5013642db46","impliedFormat":1},{"version":"1d0a0e5c6471d81467c3fecfa4db4e93ee87d364b776feb83b18d773ad9496d5","impliedFormat":1},{"version":"ef6eddcbf08e7ae71cd9ba8da47e9a3cfc7db36650af48f1b440a5ed50eeee7a","impliedFormat":1},{"version":"e14ee3cb4b764895f2ff2fed229df10b59df8a761c79d8e91d868793322b8896","impliedFormat":1},{"version":"7e36003872035a49bc3a5f21351c37d0e418f60d994ecc470a9463b33b4a7c12","impliedFormat":1},{"version":"b862345e219e6a4d829f7b7cf6d2d6e91e6fa00c29a7c6c86a3f68c77c25de39","impliedFormat":1},{"version":"5b919d9204446816876000e03f033458527bde5e3637783b2bc2e7e9ef7ce897","impliedFormat":1},{"version":"213984ba990f03127a98c3f022d5ca0f0d42df64d4dca199f7319448ce6f3021","impliedFormat":1},{"version":"020ab2020569964d12e40c68ceae39f40f6c0bee9d502a180f039fcb59c2e34d","impliedFormat":1},{"version":"aa50dc8a102c76282915e78944293a777866efe6d220a28884ac4a42d7f4c4e2","impliedFormat":1},{"version":"2b88f02598c9de626b35fbe3ffb1ef33ad9fd175e36e06ba27dc79e444796f6c","impliedFormat":1},{"version":"b728dc56eb9b0d27b4044e076c155f3cd3a121a4a9939afe829cfc0d680d423b","impliedFormat":1},{"version":"324b7298f76ce938cd28d2698a0767ca3c740bc843fd9104e171be8eca839555","impliedFormat":1},{"version":"76aa33edb0042dd572d64e4bda231374390d250d29eeab7e7f27010e8f826006","impliedFormat":1},{"version":"03b6d387edf18a9ee8126e705edff759f65d9c602e11b649e13a5261fe6951a4","impliedFormat":1},{"version":"bd417d58253e07264fbeacda216296af3274af2a2fcd335829598d3b04166e09","signature":"a2e0aca3a13a3a6e787129bb908cfe040bd64a3d546be3ce734ee0344627a62e","impliedFormat":99},{"version":"1d6253296980e097fe8c50f894b7848d9423ea15f3a31d7f0c54afa18b6c7f47","signature":"0374f9245b26bb29531136ac4329487a6ce3721022a3114e4cafb2d72a81b0b1","impliedFormat":99},{"version":"8a77716e90b79ad5f59a46b5736344bf4fcfcd06972e8c0aa047fb4e0b66a1c5","signature":"6840f7184ff26cb974add913dd012ade2b31614f1bb17472da1423b8e2302a77","impliedFormat":99},{"version":"cb732dfea79ca2a9a5fd4ed240df67d6c47fd5b66fe188c645367efd1762ed24","signature":"39257e47f71a52d198342c47d3a6b35338a3c8618e4335b56530f2cb3b0dc511","impliedFormat":99},{"version":"3f6d6465811321abc30a1e5f667feed63e5b3917b3d6c8d6645daf96c75f97ba","affectsGlobalScope":true,"impliedFormat":1}],"options":{"alwaysStrict":true,"declaration":true,"esModuleInterop":true,"module":6,"noFallthroughCasesInSwitch":true,"noImplicitAny":true,"noImplicitReturns":true,"noImplicitThis":true,"noUnusedLocals":true,"noUnusedParameters":true,"outDir":"./","rootDir":"../src","skipLibCheck":true,"sourceMap":true,"strict":true,"strictFunctionTypes":true,"strictNullChecks":true,"strictPropertyInitialization":true,"target":7,"tsBuildInfoFile":"./.tsbuildinfo"},"fileIdsList":[[288],[175,288],[175,176,177,178,288],[175,179,180,181,288],[212,216,217,288],[212,215,288],[215,288],[216,218,220,288],[212,215,216,217,218,219,288],[212,215,219,223,224,225,288],[212,215,219,226,288],[212,288],[288,314],[212,213,288],[213,214,288],[240,241,242,243,288],[212,215,221,224,226,227,288],[288,317,318,319,320],[227,288],[212,227,232,288],[212,219,227,288],[212,227,235,236,237,288],[212,219,227,233,288],[222,288],[223,225,288,296,299,300],[223,225,288,300],[215,219,223,224,226,288,295,296],[223,288,300],[223,226,288,297],[215,224,226,288],[223,226,288,296,297,298,299,300,301,302,303,304,305,306,307,308,309,310,311],[223,288,298],[288,295,298],[212,219,223,224,225,226,227,288,297],[223,225,288,296,298],[223,288,297,298],[288,327,328],[288,323,324],[212,288,323],[288,331,332,333],[212,226,227,232,233,234,238,288],[230,231,288],[229,288],[230,288],[127,288],[137,288],[129,288],[126,128,130,138,139,140,141,288],[55,125,288],[51,54,288],[48,59,288],[48,51,54,58,61,288],[48,51,55,58,59,60,288],[47,52,58,288],[47,48,52,58,84,288],[44,48,288],[48,51,52,54,57,58,61,69,70,81,85,107,110,112,116,288],[61,288],[52,54,288],[43,47,288],[48,51,288],[48,52,58,288],[48,51,52,54,56,288],[48,54,55,61,111,288],[48,55,288],[48,61,288],[58,59,61,288],[51,54,58,59,61,62,288],[51,288],[49,50,288],[164,288],[187,189,190,191,192,193,194,195,196,197,198,199,288],[187,188,190,191,192,193,194,195,196,197,198,199,288],[188,189,190,191,192,193,194,195,196,197,198,199,288],[187,188,189,191,192,193,194,195,196,197,198,199,288],[187,188,189,190,192,193,194,195,196,197,198,199,288],[187,188,189,190,191,193,194,195,196,197,198,199,288],[187,188,189,190,191,192,194,195,196,197,198,199,288],[187,188,189,190,191,192,193,195,196,197,198,199,288],[187,188,189,190,191,192,193,194,196,197,198,199,288],[187,188,189,190,191,192,193,194,195,197,198,199,288],[187,188,189,190,191,192,193,194,195,196,198,199,288],[187,188,189,190,191,192,193,194,195,196,197,199,288],[187,188,189,190,191,192,193,194,195,196,197,198,288],[245,288],[248,288],[249,254,288],[250,260,261,268,277,287,288],[250,251,260,268,288],[252,288],[253,254,261,269,288],[254,277,284,288],[255,257,260,268,288],[256,288],[257,258,288],[259,260,288],[260,288],[260,261,262,277,287,288],[260,261,262,277,288],[288,292],[263,268,277,287,288],[260,261,263,264,268,277,284,287,288],[263,265,277,284,287,288],[245,246,247,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,263,264,265,266,267,268,269,270,271,272,273,274,275,276,277,278,279,280,281,282,283,284,285,286,287,288,289,290,291,292,293,294],[260,266,288],[267,287,288],[257,260,268,277,288],[269,288],[270,288],[248,271,288],[272,286,288,292],[273,288],[274,288],[260,275,288],[275,276,288,290],[260,277,278,279,288],[277,279,288],[277,278,288],[280,288],[281,288],[260,282,283,288],[282,283,288],[254,268,277,284,288],[285,288],[268,286,288],[249,263,274,287,288],[254,288],[277,288,289],[288,290],[288,291],[249,254,260,262,271,277,287,288,290,292],[277,288,293],[200,288],[48,51,52,288],[152,154,288],[53,151,152,153,154,155,156,157,158,159,160,161,162,288],[152,156,288],[151,288],[48,53,57,82,152,288],[48,57,150,151,288],[151,152,153,288],[154,156,288],[151,152,288],[48,51,61,117,152,155,157,159,160,288],[184,203,288],[184,288],[184,185,288],[212,215,224,227,228,229,232,239,244,288,312,336,337],[288,338],[212,219,221,224,225,229,233,234,238,239,288,313,315,316,321,322,325,326,329,330,334,335],[48,54,63,65,71,288],[48,57,63,69,81,82,107,288],[48,57,63,68,69,70,71,81,82,85,106,107,110,112,288],[48,54,57,58,63,65,68,69,70,82,148,288],[54,288],[48,58,68,69,81,82,288],[48,57,58,65,68,69,71,80,81,82,288],[55,79,288],[48,52,57,58,62,63,68,70,72,83,84,85,106,107,108,109,110,112,113,114,115,117,143,145,146,147,149,288],[143,288],[48,106,118,142,288],[48,63,69,71,144,288],[48,52,57,58,69,110,288],[48,58,69,81,82,288],[54,58,63,65,68,69,70,71,288],[48,51,55,58,59,67,288],[64,288],[65,288],[86,105,288],[104,288],[79,288],[73,288],[73,79,288],[55,73,288],[73,74,75,76,77,78,288],[46,47,288],[46,288],[45,288],[43,288],[43,133,288],[47,132,133,134,135,136,288],[43,44,45,46,131,288],[43,44,45,288],[125,288],[119,288],[119,125,288],[55,119,288],[119,120,121,122,123,124,288],[103,288],[98,102,288],[87,288],[98,99,100,101,288],[89,90,288],[89,288],[91,288],[92,288],[88,288],[88,94,288],[90,93,94,95,96,97,288],[87,88,89,91,92,288],[87,88,91,288],[163,165,171,172,288],[165,288],[171,173,174,211,288,340,341],[176,178,182,186,202,204,205,288],[210,288],[42,171,182,183,186,199,201,205,206,209,288],[207,208,288],[163,166,167,171,288],[42,163,167,168,169,170,288],[171,174,288,339,340],[163,171,172],[171,173,174,211,340,341],[182,205],[210],[171,182,205],[163,171],[163,170],[171,339]],"referencedMap":[[144,1],[177,2],[178,2],[180,2],[179,3],[182,4],[176,2],[202,1],[181,2],[175,1],[218,5],[217,6],[216,7],[221,8],[220,9],[226,10],[227,11],[313,6],[314,12],[315,13],[316,12],[213,12],[214,14],[215,15],[212,1],[240,1],[241,7],[242,1],[244,16],[243,1],[228,17],[317,1],[321,18],[319,12],[318,1],[320,19],[233,20],[235,21],[238,22],[236,1],[237,23],[322,12],[229,1],[223,24],[222,1],[219,1],[301,25],[302,26],[297,27],[303,28],[304,29],[305,29],[296,30],[312,31],[307,25],[306,32],[308,33],[298,34],[309,28],[310,26],[300,35],[311,32],[299,36],[329,37],[327,1],[328,1],[330,12],[325,38],[324,39],[323,1],[234,12],[326,1],[331,12],[332,1],[334,40],[333,12],[224,6],[335,7],[239,41],[225,1],[232,42],[230,43],[231,44],[129,45],[139,46],[130,47],[142,48],[127,1],[128,45],[126,49],[138,46],[140,46],[71,50],[109,51],[82,52],[61,53],[60,1],[107,54],[85,55],[116,56],[141,1],[117,57],[70,58],[84,59],[48,60],[52,61],[110,62],[57,63],[112,64],[56,65],[81,66],[62,67],[63,68],[54,1],[58,1],[69,1],[50,69],[51,70],[49,69],[165,71],[188,72],[189,73],[187,74],[190,75],[191,76],[192,77],[193,78],[194,79],[195,80],[196,81],[197,82],[198,83],[199,84],[344,1],[164,1],[245,85],[246,85],[248,86],[249,87],[250,88],[251,89],[252,90],[253,91],[254,92],[255,93],[256,94],[257,95],[258,95],[259,96],[260,97],[261,98],[262,99],[247,100],[294,1],[263,101],[264,102],[265,103],[295,104],[266,105],[267,106],[268,107],[269,108],[270,109],[271,110],[272,111],[273,112],[274,113],[275,114],[276,115],[277,116],[279,117],[278,118],[280,119],[281,120],[282,121],[283,122],[284,123],[285,124],[286,125],[287,126],[288,127],[289,128],[290,129],[291,130],[292,131],[293,132],[201,133],[200,1],[162,1],[53,134],[155,135],[163,136],[157,137],[151,1],[153,138],[158,139],[152,140],[154,141],[159,142],[156,143],[160,143],[161,144],[166,1],[168,1],[204,145],[185,1],[203,146],[184,1],[183,1],[186,147],[337,1],[338,148],[339,149],[336,150],[111,1],[59,1],[146,151],[108,152],[115,153],[149,154],[148,155],[114,156],[83,157],[80,158],[150,159],[118,160],[143,161],[145,162],[147,163],[113,164],[72,165],[68,166],[67,1],[66,70],[65,167],[64,168],[106,169],[105,170],[86,1],[73,171],[76,172],[77,173],[74,174],[75,172],[79,175],[78,171],[44,1],[45,176],[136,1],[47,177],[131,178],[133,179],[134,180],[43,1],[137,181],[132,182],[46,183],[135,1],[119,184],[122,185],[123,186],[120,187],[121,185],[125,188],[124,184],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[104,189],[103,190],[101,191],[87,1],[102,192],[91,193],[97,1],[90,194],[92,195],[100,196],[99,196],[94,197],[95,198],[88,1],[98,199],[93,200],[89,201],[96,1],[42,1],[173,202],[174,1],[167,203],[342,204],[206,205],[207,1],[211,206],[210,207],[208,1],[209,208],[205,1],[172,209],[169,1],[171,210],[341,211],[340,1],[170,1],[343,1]],"exportedModulesMap":[[144,1],[177,2],[178,2],[180,2],[179,3],[182,4],[176,2],[202,1],[181,2],[175,1],[218,5],[217,6],[216,7],[221,8],[220,9],[226,10],[227,11],[313,6],[314,12],[315,13],[316,12],[213,12],[214,14],[215,15],[212,1],[240,1],[241,7],[242,1],[244,16],[243,1],[228,17],[317,1],[321,18],[319,12],[318,1],[320,19],[233,20],[235,21],[238,22],[236,1],[237,23],[322,12],[229,1],[223,24],[222,1],[219,1],[301,25],[302,26],[297,27],[303,28],[304,29],[305,29],[296,30],[312,31],[307,25],[306,32],[308,33],[298,34],[309,28],[310,26],[300,35],[311,32],[299,36],[329,37],[327,1],[328,1],[330,12],[325,38],[324,39],[323,1],[234,12],[326,1],[331,12],[332,1],[334,40],[333,12],[224,6],[335,7],[239,41],[225,1],[232,42],[230,43],[231,44],[129,45],[139,46],[130,47],[142,48],[127,1],[128,45],[126,49],[138,46],[140,46],[71,50],[109,51],[82,52],[61,53],[60,1],[107,54],[85,55],[116,56],[141,1],[117,57],[70,58],[84,59],[48,60],[52,61],[110,62],[57,63],[112,64],[56,65],[81,66],[62,67],[63,68],[54,1],[58,1],[69,1],[50,69],[51,70],[49,69],[165,71],[188,72],[189,73],[187,74],[190,75],[191,76],[192,77],[193,78],[194,79],[195,80],[196,81],[197,82],[198,83],[199,84],[344,1],[164,1],[245,85],[246,85],[248,86],[249,87],[250,88],[251,89],[252,90],[253,91],[254,92],[255,93],[256,94],[257,95],[258,95],[259,96],[260,97],[261,98],[262,99],[247,100],[294,1],[263,101],[264,102],[265,103],[295,104],[266,105],[267,106],[268,107],[269,108],[270,109],[271,110],[272,111],[273,112],[274,113],[275,114],[276,115],[277,116],[279,117],[278,118],[280,119],[281,120],[282,121],[283,122],[284,123],[285,124],[286,125],[287,126],[288,127],[289,128],[290,129],[291,130],[292,131],[293,132],[201,133],[200,1],[162,1],[53,134],[155,135],[163,136],[157,137],[151,1],[153,138],[158,139],[152,140],[154,141],[159,142],[156,143],[160,143],[161,144],[166,1],[168,1],[204,145],[185,1],[203,146],[184,1],[183,1],[186,147],[337,1],[338,148],[339,149],[336,150],[111,1],[59,1],[146,151],[108,152],[115,153],[149,154],[148,155],[114,156],[83,157],[80,158],[150,159],[118,160],[143,161],[145,162],[147,163],[113,164],[72,165],[68,166],[67,1],[66,70],[65,167],[64,168],[106,169],[105,170],[86,1],[73,171],[76,172],[77,173],[74,174],[75,172],[79,175],[78,171],[44,1],[45,176],[136,1],[47,177],[131,178],[133,179],[134,180],[43,1],[137,181],[132,182],[46,183],[135,1],[119,184],[122,185],[123,186],[120,187],[121,185],[125,188],[124,184],[8,1],[10,1],[9,1],[2,1],[11,1],[12,1],[13,1],[14,1],[15,1],[16,1],[17,1],[18,1],[3,1],[4,1],[22,1],[19,1],[20,1],[21,1],[23,1],[24,1],[25,1],[5,1],[26,1],[27,1],[28,1],[29,1],[6,1],[30,1],[31,1],[32,1],[33,1],[7,1],[34,1],[39,1],[40,1],[35,1],[36,1],[37,1],[38,1],[1,1],[41,1],[55,1],[104,189],[103,190],[101,191],[87,1],[102,192],[91,193],[97,1],[90,194],[92,195],[100,196],[99,196],[94,197],[95,198],[88,1],[98,199],[93,200],[89,201],[96,1],[173,212],[342,213],[206,214],[211,215],[210,216],[172,217],[171,218],[341,219],[170,1]],"semanticDiagnosticsPerFile":[144,177,178,180,179,182,176,202,181,175,218,217,216,221,220,226,227,313,314,315,316,213,214,215,212,240,241,242,244,243,228,317,321,319,318,320,233,235,238,236,237,322,229,223,222,219,301,302,297,303,304,305,296,312,307,306,308,298,309,310,300,311,299,329,327,328,330,325,324,323,234,326,331,332,334,333,224,335,239,225,232,230,231,129,139,130,142,127,128,126,138,140,71,109,82,61,60,107,85,116,141,117,70,84,48,52,110,57,112,56,81,62,63,54,58,69,50,51,49,165,188,189,187,190,191,192,193,194,195,196,197,198,199,344,164,245,246,248,249,250,251,252,253,254,255,256,257,258,259,260,261,262,247,294,263,264,265,295,266,267,268,269,270,271,272,273,274,275,276,277,279,278,280,281,282,283,284,285,286,287,288,289,290,291,292,293,201,200,162,53,155,163,157,151,153,158,152,154,159,156,160,161,166,168,204,185,203,184,183,186,337,338,339,336,111,59,146,108,115,149,148,114,83,80,150,118,143,145,147,113,72,68,67,66,65,64,106,105,86,73,76,77,74,75,79,78,44,45,136,47,131,133,134,43,137,132,46,135,119,122,123,120,121,125,124,8,10,9,2,11,12,13,14,15,16,17,18,3,4,22,19,20,21,23,24,25,5,26,27,28,29,6,30,31,32,33,7,34,39,40,35,36,37,38,1,41,55,104,103,101,87,102,91,97,90,92,100,99,94,95,88,98,93,89,96,42,173,174,167,342,206,207,211,210,208,209,205,172,169,171,341,340,170,343]},"version":"4.8.2"}
package/dist/constants.js CHANGED
@@ -61,7 +61,7 @@ export const RLN_STORAGE_ABI = [
61
61
  ];
62
62
  export const SEPOLIA_CONTRACT = {
63
63
  chainId: 11155111,
64
- address: "0xF1935b338321013f11068abCafC548A7B0db732C",
64
+ address: "0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4",
65
65
  abi: RLN_REGISTRY_ABI,
66
66
  };
67
67
  //# sourceMappingURL=constants.js.map
@@ -43,6 +43,7 @@ export declare class Keystore {
43
43
  private static fromCredentialToEip;
44
44
  private static fromEipToCredential;
45
45
  private static fromBytesToIdentity;
46
+ private static fromArraylikeToBytes;
46
47
  private static computeMembershipHash;
47
48
  private static fromIdentityToBytes;
48
49
  }
@@ -138,11 +138,11 @@ export class Keystore {
138
138
  // TODO: add runtime validation of nwaku credentials
139
139
  return {
140
140
  identity: {
141
- IDCommitment: _.get(obj, "identityCredential.idCommitment"),
142
- IDTrapdoor: _.get(obj, "identityCredential.idTrapdoor"),
143
- IDNullifier: _.get(obj, "identityCredential.idNullifier"),
144
- IDCommitmentBigInt: buildBigIntFromUint8Array(new Uint8Array(_.get(obj, "identityCredential.idCommitment", []))),
145
- IDSecretHash: _.get(obj, "identityCredential.idSecretHash"),
141
+ IDCommitment: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", [])),
142
+ IDTrapdoor: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idTrapdoor", [])),
143
+ IDNullifier: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idNullifier", [])),
144
+ IDCommitmentBigInt: buildBigIntFromUint8Array(Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idCommitment", []))),
145
+ IDSecretHash: Keystore.fromArraylikeToBytes(_.get(obj, "identityCredential.idSecretHash", [])),
146
146
  },
147
147
  membership: {
148
148
  treeIndex: _.get(obj, "treeIndex"),
@@ -156,6 +156,17 @@ export class Keystore {
156
156
  return null;
157
157
  }
158
158
  }
159
+ static fromArraylikeToBytes(obj) {
160
+ const bytes = [];
161
+ let index = 0;
162
+ let lastElement = obj[index];
163
+ while (lastElement !== undefined) {
164
+ bytes.push(lastElement);
165
+ index += 1;
166
+ lastElement = obj[index];
167
+ }
168
+ return new Uint8Array(bytes);
169
+ }
159
170
  // follows nwaku implementation
160
171
  // https://github.com/waku-org/nwaku/blob/f05528d4be3d3c876a8b07f9bb7dfaae8aa8ec6e/waku/waku_keystore/protocol_types.nim#L111
161
172
  static computeMembershipHash(info) {
@@ -1 +1 @@
1
- {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/keystore/keystore.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keystore.js","sourceRoot":"","sources":["../../src/keystore/keystore.ts"],"names":[],"mappings":"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"}
@@ -1,14 +1,18 @@
1
1
  import { ethers } from "ethers";
2
2
  import { IdentityCredential, RLNInstance } from "./rln.js";
3
3
  declare type Member = {
4
- pubkey: string;
5
- index: number;
4
+ idCommitment: string;
5
+ index: ethers.BigNumber;
6
6
  };
7
7
  declare type Provider = ethers.Signer | ethers.providers.Provider;
8
- declare type ContractOptions = {
9
- address: string;
8
+ declare type RLNContractOptions = {
10
9
  provider: Provider;
10
+ registryAddress: string;
11
11
  };
12
+ declare type RLNStorageOptions = {
13
+ storageIndex?: number;
14
+ };
15
+ declare type RLNContractInitOptions = RLNContractOptions & RLNStorageOptions;
12
16
  declare type FetchMembersOptions = {
13
17
  fromBlock?: number;
14
18
  fetchRange?: number;
@@ -22,8 +26,8 @@ export declare class RLNContract {
22
26
  private storageContract;
23
27
  private _membersFilter;
24
28
  private _members;
25
- static init(rlnInstance: RLNInstance, options: ContractOptions): Promise<RLNContract>;
26
- constructor(rlnInstance: RLNInstance, { address, provider }: ContractOptions);
29
+ static init(rlnInstance: RLNInstance, options: RLNContractInitOptions): Promise<RLNContract>;
30
+ constructor(rlnInstance: RLNInstance, { registryAddress, provider }: RLNContractOptions);
27
31
  private initStorageContract;
28
32
  get contract(): ethers.Contract;
29
33
  get members(): Member[];
@@ -33,8 +37,8 @@ export declare class RLNContract {
33
37
  private insertMembers;
34
38
  private removeMembers;
35
39
  subscribeToMembers(rlnInstance: RLNInstance): void;
36
- registerWithSignature(rlnInstance: RLNInstance, signature: string): Promise<ethers.Event | undefined>;
37
- registerWithKey(credential: IdentityCredential): Promise<ethers.Event | undefined>;
40
+ registerWithSignature(rlnInstance: RLNInstance, signature: string): Promise<Member | undefined>;
41
+ registerWithKey(credential: IdentityCredential): Promise<Member | undefined>;
38
42
  roots(): Uint8Array[];
39
43
  }
40
44
  export {};
@@ -2,10 +2,10 @@ import { ethers } from "ethers";
2
2
  import { RLN_REGISTRY_ABI, RLN_STORAGE_ABI } from "./constants.js";
3
3
  import { MerkleRootTracker } from "./root_tracker.js";
4
4
  export class RLNContract {
5
- constructor(rlnInstance, { address, provider }) {
6
- this._members = [];
5
+ constructor(rlnInstance, { registryAddress, provider }) {
6
+ this._members = new Map();
7
7
  const initialRoot = rlnInstance.getMerkleRoot();
8
- this.registryContract = new ethers.Contract(address, RLN_REGISTRY_ABI, provider);
8
+ this.registryContract = new ethers.Contract(registryAddress, RLN_REGISTRY_ABI, provider);
9
9
  this.merkleRootTracker = new MerkleRootTracker(5, initialRoot);
10
10
  }
11
11
  static async init(rlnInstance, options) {
@@ -15,22 +15,28 @@ export class RLNContract {
15
15
  rlnContract.subscribeToMembers(rlnInstance);
16
16
  return rlnContract;
17
17
  }
18
- async initStorageContract(provider) {
19
- const index = await this.registryContract.usingStorageIndex();
20
- const address = await this.registryContract.storages(index);
21
- this.storageIndex = index;
22
- this.storageContract = new ethers.Contract(address, RLN_STORAGE_ABI, provider);
18
+ async initStorageContract(provider, options = {}) {
19
+ const storageIndex = options?.storageIndex
20
+ ? options.storageIndex
21
+ : await this.registryContract.usingStorageIndex();
22
+ const storageAddress = await this.registryContract.storages(storageIndex);
23
+ if (!storageAddress || storageAddress === ethers.constants.AddressZero) {
24
+ throw Error("No RLN Storage initialized on registry contract.");
25
+ }
26
+ this.storageIndex = storageIndex;
27
+ this.storageContract = new ethers.Contract(storageAddress, RLN_STORAGE_ABI, provider);
23
28
  this._membersFilter = this.storageContract.filters.MemberRegistered();
24
29
  this.deployBlock = await this.storageContract.deployedBlockNumber();
25
30
  }
26
31
  get contract() {
27
32
  if (!this.storageContract) {
28
- throw Error("Storage contract was not initialized.");
33
+ throw Error("Storage contract was not initialized");
29
34
  }
30
35
  return this.storageContract;
31
36
  }
32
37
  get members() {
33
- return this._members;
38
+ const sortedMembers = Array.from(this._members.values()).sort((left, right) => left.index.toNumber() - right.index.toNumber());
39
+ return sortedMembers;
34
40
  }
35
41
  get membersFilter() {
36
42
  if (!this._membersFilter) {
@@ -57,11 +63,11 @@ export class RLNContract {
57
63
  const index = evt.args.index;
58
64
  const toRemoveVal = toRemoveTable.get(evt.blockNumber);
59
65
  if (toRemoveVal != undefined) {
60
- toRemoveVal.push(index);
66
+ toRemoveVal.push(index.toNumber());
61
67
  toRemoveTable.set(evt.blockNumber, toRemoveVal);
62
68
  }
63
69
  else {
64
- toRemoveTable.set(evt.blockNumber, [index]);
70
+ toRemoveTable.set(evt.blockNumber, [index.toNumber()]);
65
71
  }
66
72
  }
67
73
  else {
@@ -79,14 +85,17 @@ export class RLNContract {
79
85
  insertMembers(rlnInstance, toInsert) {
80
86
  toInsert.forEach((events, blockNumber) => {
81
87
  events.forEach((evt) => {
82
- if (!evt.args) {
88
+ const _idCommitment = evt?.args?.idCommitment;
89
+ const index = evt?.args?.index;
90
+ if (!_idCommitment || !index) {
83
91
  return;
84
92
  }
85
- const pubkey = evt.args.pubkey;
86
- const index = evt.args.index;
87
- const idCommitment = ethers.utils.zeroPad(ethers.utils.arrayify(pubkey), 32);
93
+ const idCommitment = ethers.utils.zeroPad(ethers.utils.arrayify(_idCommitment), 32);
88
94
  rlnInstance.insertMember(idCommitment);
89
- this.members.push({ index, pubkey });
95
+ this._members.set(index.toNumber(), {
96
+ index,
97
+ idCommitment: _idCommitment?._hex || ethers.utils.hexlify(idCommitment),
98
+ });
90
99
  });
91
100
  const currentRoot = rlnInstance.getMerkleRoot();
92
101
  this.merkleRootTracker.pushRoot(blockNumber, currentRoot);
@@ -96,9 +105,8 @@ export class RLNContract {
96
105
  const removeDescending = new Map([...toRemove].sort().reverse());
97
106
  removeDescending.forEach((indexes, blockNumber) => {
98
107
  indexes.forEach((index) => {
99
- const idx = this.members.findIndex((m) => m.index === index);
100
- if (idx > -1) {
101
- this.members.splice(idx, 1);
108
+ if (this._members.has(index)) {
109
+ this._members.delete(index);
102
110
  }
103
111
  rlnInstance.deleteMember(index);
104
112
  });
@@ -106,21 +114,28 @@ export class RLNContract {
106
114
  });
107
115
  }
108
116
  subscribeToMembers(rlnInstance) {
109
- this.contract.on(this.membersFilter, (_pubkey, _index, event) => this.processEvents(rlnInstance, event));
117
+ this.contract.on(this.membersFilter, (_pubkey, _index, event) => this.processEvents(rlnInstance, [event]));
110
118
  }
111
119
  async registerWithSignature(rlnInstance, signature) {
112
120
  const identityCredential = await rlnInstance.generateSeededIdentityCredential(signature);
113
121
  return this.registerWithKey(identityCredential);
114
122
  }
115
123
  async registerWithKey(credential) {
116
- if (!this.storageIndex) {
124
+ if (this.storageIndex === undefined) {
117
125
  throw Error("Cannot register credential, no storage contract index found.");
118
126
  }
119
- const txRegisterResponse = await this.registryContract.register(this.storageIndex, credential.IDCommitmentBigInt, {
120
- gasLimit: 100000,
121
- });
127
+ const txRegisterResponse = await this.registryContract["register(uint16,uint256)"](this.storageIndex, credential.IDCommitmentBigInt, { gasLimit: 100000 });
122
128
  const txRegisterReceipt = await txRegisterResponse.wait();
123
- return txRegisterReceipt?.events?.[0];
129
+ // assumption: register(uint16,uint256) emits one event
130
+ const memberRegistered = txRegisterReceipt?.events?.[0];
131
+ if (!memberRegistered) {
132
+ return undefined;
133
+ }
134
+ const decodedData = this.contract.interface.decodeEventLog("MemberRegistered", memberRegistered.data);
135
+ return {
136
+ idCommitment: decodedData.idCommitment,
137
+ index: decodedData.index,
138
+ };
124
139
  }
125
140
  roots() {
126
141
  return this.merkleRootTracker.roots();
@@ -1 +1 @@
1
- {"version":3,"file":"rln_contract.js","sourceRoot":"","sources":["../src/rln_contract.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAEhC,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAEnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AAoBtD,MAAM,OAAO,WAAW;IAwBtB,YACE,WAAwB,EACxB,EAAE,OAAO,EAAE,QAAQ,EAAmB;QAjBhC,aAAQ,GAAa,EAAE,CAAC;QAmB9B,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;QAEhD,IAAI,CAAC,gBAAgB,GAAG,IAAI,MAAM,CAAC,QAAQ,CACzC,OAAO,EACP,gBAAgB,EAChB,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,iBAAiB,GAAG,IAAI,iBAAiB,CAAC,CAAC,EAAE,WAAW,CAAC,CAAC;IACjE,CAAC;IAzBM,MAAM,CAAC,KAAK,CAAC,IAAI,CACtB,WAAwB,EACxB,OAAwB;QAExB,MAAM,WAAW,GAAG,IAAI,WAAW,CAAC,WAAW,EAAE,OAAO,CAAC,CAAC;QAE1D,MAAM,WAAW,CAAC,mBAAmB,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACxD,MAAM,WAAW,CAAC,YAAY,CAAC,WAAW,CAAC,CAAC;QAC5C,WAAW,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;QAE5C,OAAO,WAAW,CAAC;IACrB,CAAC;IAgBO,KAAK,CAAC,mBAAmB,CAAC,QAAkB;QAClD,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,iBAAiB,EAAE,CAAC;QAC9D,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QAE5D,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,eAAe,GAAG,IAAI,MAAM,CAAC,QAAQ,CACxC,OAAO,EACP,eAAe,EACf,QAAQ,CACT,CAAC;QACF,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;QAEtE,IAAI,CAAC,WAAW,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,mBAAmB,EAAE,CAAC;IACtE,CAAC;IAED,IAAW,QAAQ;QACjB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACzB,MAAM,KAAK,CAAC,uCAAuC,CAAC,CAAC;SACtD;QACD,OAAO,IAAI,CAAC,eAAkC,CAAC;IACjD,CAAC;IAED,IAAW,OAAO;QAChB,OAAO,IAAI,CAAC,QAAQ,CAAC;IACvB,CAAC;IAED,IAAY,aAAa;QACvB,IAAI,CAAC,IAAI,CAAC,cAAc,EAAE;YACxB,MAAM,KAAK,CAAC,qCAAqC,CAAC,CAAC;SACpD;QACD,OAAO,IAAI,CAAC,cAAoC,CAAC;IACnD,CAAC;IAEM,KAAK,CAAC,YAAY,CACvB,WAAwB,EACxB,UAA+B,EAAE;QAEjC,MAAM,sBAAsB,GAAG,MAAM,WAAW,CAAC,IAAI,CAAC,QAAQ,EAAE;YAC9D,SAAS,EAAE,IAAI,CAAC,WAAW;YAC3B,GAAG,OAAO;YACV,aAAa,EAAE,IAAI,CAAC,aAAa;SAClC,CAAC,CAAC;QACH,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,sBAAsB,CAAC,CAAC;IAC1D,CAAC;IAEM,aAAa,CAAC,WAAwB,EAAE,MAAsB;QACnE,MAAM,aAAa,GAAG,IAAI,GAAG,EAAoB,CAAC;QAClD,MAAM,aAAa,GAAG,IAAI,GAAG,EAA0B,CAAC;QAExD,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;YACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;gBACb,OAAO;aACR;YAED,IAAI,GAAG,CAAC,OAAO,EAAE;gBACf,MAAM,KAAK,GAAW,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBACrC,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACvD,IAAI,WAAW,IAAI,SAAS,EAAE;oBAC5B,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;oBACxB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;iBACjD;qBAAM;oBACL,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,CAAC,CAAC;iBAC7C;aACF;iBAAM;gBACL,IAAI,cAAc,GAAG,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBACxD,IAAI,cAAc,IAAI,SAAS,EAAE;oBAC/B,cAAc,GAAG,EAAE,CAAC;iBACrB;gBAED,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;gBACzB,aAAa,CAAC,GAAG,CAAC,GAAG,CAAC,WAAW,EAAE,cAAc,CAAC,CAAC;aACpD;YAED,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;YAC/C,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,aAAa,CAAC,CAAC;QACjD,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,WAAwB,EACxB,QAAqC;QAErC,QAAQ,CAAC,OAAO,CAAC,CAAC,MAAsB,EAAE,WAAmB,EAAE,EAAE;YAC/D,MAAM,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE;gBACrB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE;oBACb,OAAO;iBACR;gBAED,MAAM,MAAM,GAAG,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/B,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC;gBAC7B,MAAM,YAAY,GAAG,MAAM,CAAC,KAAK,CAAC,OAAO,CACvC,MAAM,CAAC,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,EAC7B,EAAE,CACH,CAAC;gBACF,WAAW,CAAC,YAAY,CAAC,YAAY,CAAC,CAAC;gBACvC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;YACvC,CAAC,CAAC,CAAC;YAEH,MAAM,WAAW,GAAG,WAAW,CAAC,aAAa,EAAE,CAAC;YAChD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC,CAAC,CAAC;IACL,CAAC;IAEO,aAAa,CACnB,WAAwB,EACxB,QAA+B;QAE/B,MAAM,gBAAgB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;QACjE,gBAAgB,CAAC,OAAO,CAAC,CAAC,OAAiB,EAAE,WAAmB,EAAE,EAAE;YAClE,OAAO,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE;gBACxB,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,KAAK,CAAC,CAAC;gBAC7D,IAAI,GAAG,GAAG,CAAC,CAAC,EAAE;oBACZ,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC;iBAC7B;gBACD,WAAW,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;YAClC,CAAC,CAAC,CAAC;YAEH,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;QAC/C,CAAC,CAAC,CAAC;IACL,CAAC;IAEM,kBAAkB,CAAC,WAAwB;QAChD,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,CAC9D,IAAI,CAAC,aAAa,CAAC,WAAW,EAAE,KAAK,CAAC,CACvC,CAAC;IACJ,CAAC;IAEM,KAAK,CAAC,qBAAqB,CAChC,WAAwB,EACxB,SAAiB;QAEjB,MAAM,kBAAkB,GACtB,MAAM,WAAW,CAAC,gCAAgC,CAAC,SAAS,CAAC,CAAC;QAEhE,OAAO,IAAI,CAAC,eAAe,CAAC,kBAAkB,CAAC,CAAC;IAClD,CAAC;IAEM,KAAK,CAAC,eAAe,CAC1B,UAA8B;QAE9B,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,MAAM,KAAK,CACT,8DAA8D,CAC/D,CAAC;SACH;QACD,MAAM,kBAAkB,GACtB,MAAM,IAAI,CAAC,gBAAgB,CAAC,QAAQ,CAClC,IAAI,CAAC,YAAY,EACjB,UAAU,CAAC,kBAAkB,EAC7B;YACE,QAAQ,EAAE,MAAM;SACjB,CACF,CAAC;QACJ,MAAM,iBAAiB,GAAG,MAAM,kBAAkB,CAAC,IAAI,EAAE,CAAC;QAE1D,OAAO,iBAAiB,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,CAAC;IACxC,CAAC;IAEM,KAAK;QACV,OAAO,IAAI,CAAC,iBAAiB,CAAC,KAAK,EAAE,CAAC;IACxC,CAAC;CACF;AAMD,iDAAiD;AACjD,MAAM,WAAW,GAAG,CAAC,CAAC;AACtB,MAAM,WAAW,GAAG,IAAI,CAAC;AAEzB,KAAK,UAAU,WAAW,CACxB,QAAyB,EACzB,OAA2B;IAE3B,MAAM,EACJ,SAAS,EACT,aAAa,EACb,UAAU,GAAG,WAAW,EACxB,WAAW,GAAG,WAAW,GAC1B,GAAG,OAAO,CAAC;IAEZ,IAAI,CAAC,SAAS,EAAE;QACd,OAAO,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAC5C;IAED,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,QAAQ,EAAE;QAC7B,MAAM,KAAK,CAAC,6CAA6C,CAAC,CAAC;KAC5D;IAED,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,QAAQ,CAAC,cAAc,EAAE,CAAC;IAEhE,IAAI,OAAO,GAAG,SAAS,GAAG,UAAU,EAAE;QACpC,OAAO,QAAQ,CAAC,WAAW,CAAC,aAAa,CAAC,CAAC;KAC5C;IAED,MAAM,MAAM,GAAqB,EAAE,CAAC;IACpC,MAAM,MAAM,GAAG,aAAa,CAAC,SAAS,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IAE7D,KAAK,MAAM,OAAO,IAAI,KAAK,CAAmB,MAAM,EAAE,WAAW,CAAC,EAAE;QAClE,MAAM,QAAQ,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAC7C,YAAY,CAAC,QAAQ,CAAC,WAAW,CAAC,aAAa,EAAE,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,CAAC,CACnE,CAAC;QACF,MAAM,aAAa,GAAG,MAAM,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;KAC9C;IAED,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;AAClC,CAAC;AAED,SAAS,aAAa,CACpB,IAAY,EACZ,EAAU,EACV,IAAY;IAEZ,MAAM,MAAM,GAAG,EAAE,CAAC;IAElB,IAAI,IAAI,GAAG,IAAI,CAAC;IAChB,OAAO,IAAI,GAAG,EAAE,EAAE;QAChB,MAAM,KAAK,GAAG,IAAI,GAAG,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,IAAI,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;QAElD,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,KAAK,CAAqB,CAAC,CAAC;QAE/C,IAAI,GAAG,KAAK,CAAC;KACd;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED,QAAQ,CAAC,CAAC,KAAK,CAAI,KAAU,EAAE,IAAY;IACzC,IAAI,KAAK,GAAG,CAAC,CAAC;IACd,IAAI,IAAI,GAAG,IAAI,CAAC;IAEhB,OAAO,IAAI,GAAG,KAAK,CAAC,MAAM,EAAE;QAC1B,MAAM,OAAO,GAAG,KAAK,CAAC,KAAK,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QAEzC,MAAM,OAAO,CAAC;QAEd,KAAK,GAAG,IAAI,CAAC;QACb,IAAI,IAAI,IAAI,CAAC;KACd;AACH,CAAC;AAED,SAAS,YAAY,CAAI,OAAmB,EAAE,YAAe;IAC3D,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;QAC3B,OAAO,CAAC,KAAK,CAAC,mCAAmC,GAAG,EAAE,OAAO,EAAE,CAAC,CAAC;QACjE,OAAO,YAAY,CAAC;IACtB,CAAC,CAAC,CAAC;AACL,CAAC"}
1
+ {"version":3,"file":"rln_contract.js","sourceRoot":"","sources":["../src/rln_contract.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@waku/rln",
3
- "version": "0.1.1-8928376",
3
+ "version": "0.1.1-fa49e29",
4
4
  "description": "Rate Limit Nullifier for js-waku",
5
5
  "types": "./dist/index.d.ts",
6
6
  "module": "./dist/index.js",
package/src/constants.ts CHANGED
@@ -63,6 +63,6 @@ export const RLN_STORAGE_ABI = [
63
63
 
64
64
  export const SEPOLIA_CONTRACT = {
65
65
  chainId: 11155111,
66
- address: "0xF1935b338321013f11068abCafC548A7B0db732C",
66
+ address: "0xF471d71E9b1455bBF4b85d475afb9BB0954A29c4",
67
67
  abi: RLN_REGISTRY_ABI,
68
68
  };
@@ -5,17 +5,23 @@ import { IdentityCredential, RLNInstance } from "./rln.js";
5
5
  import { MerkleRootTracker } from "./root_tracker.js";
6
6
 
7
7
  type Member = {
8
- pubkey: string;
9
- index: number;
8
+ idCommitment: string;
9
+ index: ethers.BigNumber;
10
10
  };
11
11
 
12
12
  type Provider = ethers.Signer | ethers.providers.Provider;
13
13
 
14
- type ContractOptions = {
15
- address: string;
14
+ type RLNContractOptions = {
16
15
  provider: Provider;
16
+ registryAddress: string;
17
17
  };
18
18
 
19
+ type RLNStorageOptions = {
20
+ storageIndex?: number;
21
+ };
22
+
23
+ type RLNContractInitOptions = RLNContractOptions & RLNStorageOptions;
24
+
19
25
  type FetchMembersOptions = {
20
26
  fromBlock?: number;
21
27
  fetchRange?: number;
@@ -31,11 +37,11 @@ export class RLNContract {
31
37
  private storageContract: undefined | ethers.Contract;
32
38
  private _membersFilter: undefined | ethers.EventFilter;
33
39
 
34
- private _members: Member[] = [];
40
+ private _members: Map<number, Member> = new Map();
35
41
 
36
42
  public static async init(
37
43
  rlnInstance: RLNInstance,
38
- options: ContractOptions
44
+ options: RLNContractInitOptions
39
45
  ): Promise<RLNContract> {
40
46
  const rlnContract = new RLNContract(rlnInstance, options);
41
47
 
@@ -48,25 +54,34 @@ export class RLNContract {
48
54
 
49
55
  constructor(
50
56
  rlnInstance: RLNInstance,
51
- { address, provider }: ContractOptions
57
+ { registryAddress, provider }: RLNContractOptions
52
58
  ) {
53
59
  const initialRoot = rlnInstance.getMerkleRoot();
54
60
 
55
61
  this.registryContract = new ethers.Contract(
56
- address,
62
+ registryAddress,
57
63
  RLN_REGISTRY_ABI,
58
64
  provider
59
65
  );
60
66
  this.merkleRootTracker = new MerkleRootTracker(5, initialRoot);
61
67
  }
62
68
 
63
- private async initStorageContract(provider: Provider): Promise<void> {
64
- const index = await this.registryContract.usingStorageIndex();
65
- const address = await this.registryContract.storages(index);
69
+ private async initStorageContract(
70
+ provider: Provider,
71
+ options: RLNStorageOptions = {}
72
+ ): Promise<void> {
73
+ const storageIndex = options?.storageIndex
74
+ ? options.storageIndex
75
+ : await this.registryContract.usingStorageIndex();
76
+ const storageAddress = await this.registryContract.storages(storageIndex);
66
77
 
67
- this.storageIndex = index;
78
+ if (!storageAddress || storageAddress === ethers.constants.AddressZero) {
79
+ throw Error("No RLN Storage initialized on registry contract.");
80
+ }
81
+
82
+ this.storageIndex = storageIndex;
68
83
  this.storageContract = new ethers.Contract(
69
- address,
84
+ storageAddress,
70
85
  RLN_STORAGE_ABI,
71
86
  provider
72
87
  );
@@ -77,13 +92,16 @@ export class RLNContract {
77
92
 
78
93
  public get contract(): ethers.Contract {
79
94
  if (!this.storageContract) {
80
- throw Error("Storage contract was not initialized.");
95
+ throw Error("Storage contract was not initialized");
81
96
  }
82
97
  return this.storageContract as ethers.Contract;
83
98
  }
84
99
 
85
100
  public get members(): Member[] {
86
- return this._members;
101
+ const sortedMembers = Array.from(this._members.values()).sort(
102
+ (left, right) => left.index.toNumber() - right.index.toNumber()
103
+ );
104
+ return sortedMembers;
87
105
  }
88
106
 
89
107
  private get membersFilter(): ethers.EventFilter {
@@ -115,13 +133,13 @@ export class RLNContract {
115
133
  }
116
134
 
117
135
  if (evt.removed) {
118
- const index: number = evt.args.index;
136
+ const index: ethers.BigNumber = evt.args.index;
119
137
  const toRemoveVal = toRemoveTable.get(evt.blockNumber);
120
138
  if (toRemoveVal != undefined) {
121
- toRemoveVal.push(index);
139
+ toRemoveVal.push(index.toNumber());
122
140
  toRemoveTable.set(evt.blockNumber, toRemoveVal);
123
141
  } else {
124
- toRemoveTable.set(evt.blockNumber, [index]);
142
+ toRemoveTable.set(evt.blockNumber, [index.toNumber()]);
125
143
  }
126
144
  } else {
127
145
  let eventsPerBlock = toInsertTable.get(evt.blockNumber);
@@ -144,18 +162,23 @@ export class RLNContract {
144
162
  ): void {
145
163
  toInsert.forEach((events: ethers.Event[], blockNumber: number) => {
146
164
  events.forEach((evt) => {
147
- if (!evt.args) {
165
+ const _idCommitment = evt?.args?.idCommitment;
166
+ const index: ethers.BigNumber = evt?.args?.index;
167
+
168
+ if (!_idCommitment || !index) {
148
169
  return;
149
170
  }
150
171
 
151
- const pubkey = evt.args.pubkey;
152
- const index = evt.args.index;
153
172
  const idCommitment = ethers.utils.zeroPad(
154
- ethers.utils.arrayify(pubkey),
173
+ ethers.utils.arrayify(_idCommitment),
155
174
  32
156
175
  );
157
176
  rlnInstance.insertMember(idCommitment);
158
- this.members.push({ index, pubkey });
177
+ this._members.set(index.toNumber(), {
178
+ index,
179
+ idCommitment:
180
+ _idCommitment?._hex || ethers.utils.hexlify(idCommitment),
181
+ });
159
182
  });
160
183
 
161
184
  const currentRoot = rlnInstance.getMerkleRoot();
@@ -170,9 +193,8 @@ export class RLNContract {
170
193
  const removeDescending = new Map([...toRemove].sort().reverse());
171
194
  removeDescending.forEach((indexes: number[], blockNumber: number) => {
172
195
  indexes.forEach((index) => {
173
- const idx = this.members.findIndex((m) => m.index === index);
174
- if (idx > -1) {
175
- this.members.splice(idx, 1);
196
+ if (this._members.has(index)) {
197
+ this._members.delete(index);
176
198
  }
177
199
  rlnInstance.deleteMember(index);
178
200
  });
@@ -183,14 +205,14 @@ export class RLNContract {
183
205
 
184
206
  public subscribeToMembers(rlnInstance: RLNInstance): void {
185
207
  this.contract.on(this.membersFilter, (_pubkey, _index, event) =>
186
- this.processEvents(rlnInstance, event)
208
+ this.processEvents(rlnInstance, [event])
187
209
  );
188
210
  }
189
211
 
190
212
  public async registerWithSignature(
191
213
  rlnInstance: RLNInstance,
192
214
  signature: string
193
- ): Promise<ethers.Event | undefined> {
215
+ ): Promise<Member | undefined> {
194
216
  const identityCredential =
195
217
  await rlnInstance.generateSeededIdentityCredential(signature);
196
218
 
@@ -199,23 +221,36 @@ export class RLNContract {
199
221
 
200
222
  public async registerWithKey(
201
223
  credential: IdentityCredential
202
- ): Promise<ethers.Event | undefined> {
203
- if (!this.storageIndex) {
224
+ ): Promise<Member | undefined> {
225
+ if (this.storageIndex === undefined) {
204
226
  throw Error(
205
227
  "Cannot register credential, no storage contract index found."
206
228
  );
207
229
  }
208
230
  const txRegisterResponse: ethers.ContractTransaction =
209
- await this.registryContract.register(
231
+ await this.registryContract["register(uint16,uint256)"](
210
232
  this.storageIndex,
211
233
  credential.IDCommitmentBigInt,
212
- {
213
- gasLimit: 100000,
214
- }
234
+ { gasLimit: 100000 }
215
235
  );
216
236
  const txRegisterReceipt = await txRegisterResponse.wait();
217
237
 
218
- return txRegisterReceipt?.events?.[0];
238
+ // assumption: register(uint16,uint256) emits one event
239
+ const memberRegistered = txRegisterReceipt?.events?.[0];
240
+
241
+ if (!memberRegistered) {
242
+ return undefined;
243
+ }
244
+
245
+ const decodedData = this.contract.interface.decodeEventLog(
246
+ "MemberRegistered",
247
+ memberRegistered.data
248
+ );
249
+
250
+ return {
251
+ idCommitment: decodedData.idCommitment,
252
+ index: decodedData.index,
253
+ };
219
254
  }
220
255
 
221
256
  public roots(): Uint8Array[] {