{"abi":[{"type":"constructor","inputs":[{"name":"_registryCoordinator","type":"address","internalType":"contract IRegistryCoordinator"}],"stateMutability":"nonpayable"},{"type":"function","name":"OPERATOR_DOES_NOT_EXIST_ID","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"currentOperatorIndex","inputs":[{"name":"","type":"uint8","internalType":"uint8"},{"name":"","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"function","name":"deregisterOperator","inputs":[{"name":"operatorId","type":"bytes32","internalType":"bytes32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"getLatestOperatorUpdate","inputs":[{"name":"quorumNumber","type":"uint8","internalType":"uint8"},{"name":"operatorIndex","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IIndexRegistry.OperatorUpdate","components":[{"name":"fromBlockNumber","type":"uint32","internalType":"uint32"},{"name":"operatorId","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getLatestQuorumUpdate","inputs":[{"name":"quorumNumber","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IIndexRegistry.QuorumUpdate","components":[{"name":"fromBlockNumber","type":"uint32","internalType":"uint32"},{"name":"numOperators","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"getOperatorListAtBlockNumber","inputs":[{"name":"quorumNumber","type":"uint8","internalType":"uint8"},{"name":"blockNumber","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"view"},{"type":"function","name":"getOperatorUpdateAtIndex","inputs":[{"name":"quorumNumber","type":"uint8","internalType":"uint8"},{"name":"operatorIndex","type":"uint32","internalType":"uint32"},{"name":"arrayIndex","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IIndexRegistry.OperatorUpdate","components":[{"name":"fromBlockNumber","type":"uint32","internalType":"uint32"},{"name":"operatorId","type":"bytes32","internalType":"bytes32"}]}],"stateMutability":"view"},{"type":"function","name":"getQuorumUpdateAtIndex","inputs":[{"name":"quorumNumber","type":"uint8","internalType":"uint8"},{"name":"quorumIndex","type":"uint32","internalType":"uint32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct IIndexRegistry.QuorumUpdate","components":[{"name":"fromBlockNumber","type":"uint32","internalType":"uint32"},{"name":"numOperators","type":"uint32","internalType":"uint32"}]}],"stateMutability":"view"},{"type":"function","name":"initializeQuorum","inputs":[{"name":"quorumNumber","type":"uint8","internalType":"uint8"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"registerOperator","inputs":[{"name":"operatorId","type":"bytes32","internalType":"bytes32"},{"name":"quorumNumbers","type":"bytes","internalType":"bytes"}],"outputs":[{"name":"","type":"uint32[]","internalType":"uint32[]"}],"stateMutability":"nonpayable"},{"type":"function","name":"registryCoordinator","inputs":[],"outputs":[{"name":"","type":"address","internalType":"address"}],"stateMutability":"view"},{"type":"function","name":"totalOperatorsForQuorum","inputs":[{"name":"quorumNumber","type":"uint8","internalType":"uint8"}],"outputs":[{"name":"","type":"uint32","internalType":"uint32"}],"stateMutability":"view"},{"type":"event","name":"Initialized","inputs":[{"name":"version","type":"uint8","indexed":false,"internalType":"uint8"}],"anonymous":false},{"type":"event","name":"QuorumIndexUpdate","inputs":[{"name":"operatorId","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"quorumNumber","type":"uint8","indexed":false,"internalType":"uint8"},{"name":"newOperatorIndex","type":"uint32","indexed":false,"internalType":"uint32"}],"anonymous":false}],"bytecode":{"object":"0x60a060405234801561001057600080fd5b5060405161136138038061136183398101604081905261002f9161010c565b6001600160a01b0381166080528061004561004c565b505061013c565b600054610100900460ff16156100b85760405162461bcd60e51b815260206004820152602760248201527f496e697469616c697a61626c653a20636f6e747261637420697320696e697469604482015266616c697a696e6760c81b606482015260840160405180910390fd5b60005460ff908116101561010a576000805460ff191660ff9081179091556040519081527f7f26b83ff96e1f2b6a682f133852f6798a09c465da95921460cefb38474024989060200160405180910390a15b565b60006020828403121561011e57600080fd5b81516001600160a01b038116811461013557600080fd5b9392505050565b60805161120361015e60003960008181610142015261085a01526112036000f3fe608060405234801561001057600080fd5b50600436106100b35760003560e01c8063890262451161007157806389026245146101b3578063a48bb0ac146101d3578063bd29b8cd146101e6578063caa3cd76146101f9578063e2e685801461020f578063f34109221461025557600080fd5b8062bff04d146100b857806312d1d74d146100e157806326d941f2146101155780632ed583e51461012a5780636d14a9871461013d5780638121906f1461017c575b600080fd5b6100cb6100c6366004610ebd565b610268565b6040516100d89190610f39565b60405180910390f35b6100f46100ef366004610fad565b61038a565b60408051825163ffffffff16815260209283015192810192909252016100d8565b610128610123366004610fe0565b6103d0565b005b6100f4610138366004610ffb565b6104b4565b6101647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d8565b61018f61018a366004610fe0565b61053a565b60408051825163ffffffff90811682526020938401511692810192909252016100d8565b6101c66101c1366004610fad565b610581565b6040516100d8919061103e565b61018f6101e1366004610fad565b6106eb565b6101286101f4366004610ebd565b610762565b610201600081565b6040519081526020016100d8565b61024061021d366004611076565b600160209081526000928352604080842090915290825290205463ffffffff1681565b60405163ffffffff90911681526020016100d8565b610240610263366004610fe0565b610830565b606061027261084f565b60008267ffffffffffffffff81111561028d5761028d6110a0565b6040519080825280602002602001820160405280156102b6578160200160208202803683370190505b50905060005b8381101561037f5760008585838181106102d8576102d86110b6565b919091013560f81c60008181526003602052604090205490925090508061031a5760405162461bcd60e51b8152600401610311906110cc565b60405180910390fd5b600061032583610905565b905061033c8984610337600185611137565b6109fe565b8085858151811061034f5761034f6110b6565b602002602001019063ffffffff16908163ffffffff168152505050505080806103779061115c565b9150506102bc565b5090505b9392505050565b60408051808201909152600080825260208201526103a88383610a88565b60408051808201909152815463ffffffff168152600190910154602082015290505b92915050565b6103d861084f565b60ff8116600090815260036020526040902054156104525760405162461bcd60e51b815260206004820152603160248201527f496e64657852656769737472792e63726561746551756f72756d3a2071756f72604482015270756d20616c72656164792065786973747360781b6064820152608401610311565b60ff166000908152600360209081526040808320815180830190925263ffffffff438116835282840185815282546001810184559286529390942091519101805492518416600160201b0267ffffffffffffffff199093169190931617179055565b604080518082019091526000808252602082015260ff8416600090815260026020908152604080832063ffffffff80881685529252909120805490918416908110610501576105016110b6565b600091825260209182902060408051808201909152600290920201805463ffffffff168252600101549181019190915290509392505050565b604080518082019091526000808252602082015261055782610ae0565b60408051808201909152905463ffffffff8082168352600160201b90910416602082015292915050565b6060600061058f8484610b22565b905060008163ffffffff1667ffffffffffffffff8111156105b2576105b26110a0565b6040519080825280602002602001820160405280156105db578160200160208202803683370190505b50905060005b8263ffffffff168110156106e2576105fa868287610c57565b82828151811061060c5761060c6110b6565b6020026020010181815250506000801b82828151811061062e5761062e6110b6565b602002602001015114156106d05760405162461bcd60e51b815260206004820152605d60248201527f496e64657852656769737472792e6765744f70657261746f724c69737441744260448201527f6c6f636b4e756d6265723a206f70657261746f7220646f6573206e6f7420657860648201527f6973742061742074686520676976656e20626c6f636b206e756d626572000000608482015260a401610311565b806106da8161115c565b9150506105e1565b50949350505050565b604080518082019091526000808252602082015260ff83166000908152600360205260409020805463ffffffff8416908110610729576107296110b6565b60009182526020918290206040805180820190915291015463ffffffff8082168352600160201b90910416918101919091529392505050565b61076a61084f565b60005b8181101561082a576000838383818110610789576107896110b6565b919091013560f81c6000818152600360205260409020549092509050806107c25760405162461bcd60e51b8152600401610311906110cc565b60ff8216600090815260016020908152604080832089845290915281205463ffffffff16906107f084610d2e565b905060006107fe8583610d68565b9050808914610812576108128186856109fe565b505050505080806108229061115c565b91505061076d565b50505050565b600061083b82610ae0565b54600160201b900463ffffffff1692915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109035760405162461bcd60e51b815260206004820152604d60248201527f496e64657852656769737472792e6f6e6c795265676973747279436f6f72646960448201527f6e61746f723a2063616c6c6572206973206e6f7420746865207265676973747260648201526c3c9031b7b7b93234b730ba37b960991b608482015260a401610311565b565b60008061091183610ae0565b805490915060009061093190600160201b900463ffffffff166001611177565b905061093e848383610d92565b60ff841660009081526002602052604081209061095c600184611137565b63ffffffff1681526020810191909152604001600020546103835760ff8416600090815260026020526040812090610995600184611137565b63ffffffff908116825260208083019390935260409182016000908120835180850190945243831684528385018281528154600180820184559284529590922093516002909502909301805463ffffffff19169490921693909317815591519101559392505050565b6000610a0a8383610a88565b9050610a1883838387610e32565b60ff83166000818152600160209081526040808320888452825291829020805463ffffffff191663ffffffff871690811790915582519384529083015285917f6ee1e4f4075f3d067176140d34e87874244dd273294c05b2218133e49a2ba6f6910160405180910390a250505050565b60ff8216600090815260026020908152604080832063ffffffff851684529091528120805490610ab960018361119f565b81548110610ac957610ac96110b6565b906000526020600020906002020191505092915050565b60ff81166000908152600360205260408120805490610b0060018361119f565b81548110610b1057610b106110b6565b90600052602060002001915050919050565b60ff8216600090815260036020526040812054805b8015610bca5760ff85166000908152600360205260408120610b5a60018461119f565b81548110610b6a57610b6a6110b6565b60009182526020918290206040805180820190915291015463ffffffff808216808452600160201b90920481169383019390935290925090861610610bb7576020015192506103ca915050565b5080610bc2816111b6565b915050610b37565b5060405162461bcd60e51b815260206004820152605560248201527f496e64657852656769737472792e5f6f70657261746f72436f756e744174426c60448201527f6f636b4e756d6265723a2071756f72756d20646964206e6f742065786973742060648201527430ba1033b4bb32b710313637b1b590373ab6b132b960591b608482015260a401610311565b60ff8316600090815260026020908152604080832063ffffffff86168452909152812054805b8015610d225760ff8616600090815260026020908152604080832063ffffffff891684529091528120610cb160018461119f565b81548110610cc157610cc16110b6565b600091825260209182902060408051808201909152600290920201805463ffffffff9081168084526001909201549383019390935290925090861610610d0f57602001519250610383915050565b5080610d1a816111b6565b915050610c7d565b50600095945050505050565b600080610d3a83610ae0565b8054909150600090610d5b90600190600160201b900463ffffffff16611137565b9050610383848383610d92565b600080610d758484610a88565b6001810154909150610d8a8585846000610e32565b949350505050565b81544363ffffffff90811691161415610dc957815463ffffffff8216600160201b0267ffffffff0000000019909116178255505050565b60ff83166000908152600360209081526040808320815180830190925263ffffffff438116835285811683850190815282546001810184559286529390942091519101805492518416600160201b0267ffffffffffffffff199093169190931617179055505050565b81544363ffffffff90811691161415610e51576001820181905561082a565b60ff93909316600090815260026020818152604080842063ffffffff968716855282528084208151808301909252438716825281830197885280546001808201835591865292909420905191909202909101805463ffffffff1916919094161783559251919092015550565b600080600060408486031215610ed257600080fd5b83359250602084013567ffffffffffffffff80821115610ef157600080fd5b818601915086601f830112610f0557600080fd5b813581811115610f1457600080fd5b876020828501011115610f2657600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b81811015610f7757835163ffffffff1683529284019291840191600101610f55565b50909695505050505050565b803560ff81168114610f9457600080fd5b919050565b803563ffffffff81168114610f9457600080fd5b60008060408385031215610fc057600080fd5b610fc983610f83565b9150610fd760208401610f99565b90509250929050565b600060208284031215610ff257600080fd5b61038382610f83565b60008060006060848603121561101057600080fd5b61101984610f83565b925061102760208501610f99565b915061103560408501610f99565b90509250925092565b6020808252825182820181905260009190848201906040850190845b81811015610f775783518352928401929184019160010161105a565b6000806040838503121561108957600080fd5b61109283610f83565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60208082526035908201527f496e64657852656769737472792e72656769737465724f70657261746f723a206040820152741c5d5bdc9d5b48191bd95cc81b9bdd08195e1a5cdd605a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8381169083168181101561115457611154611121565b039392505050565b600060001982141561117057611170611121565b5060010190565b600063ffffffff80831681851680830382111561119657611196611121565b01949350505050565b6000828210156111b1576111b1611121565b500390565b6000816111c5576111c5611121565b50600019019056fea2646970667358221220f3348f039a5d45129c8465419c44778fbf823bebf144878efb46d56b1d0ed34c64736f6c634300080c0033","sourceMap":"328:16041:111:-:0;;;636:114;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;;;;1743:51:112;;;;726:20:111;1894:22:112;:20;:22::i;:::-;1665:258;636:114:111;328:16041;;5388:279:38;5456:13;;;;;;;5455:14;5447:66;;;;-1:-1:-1;;;5447:66:38;;541:2:169;5447:66:38;;;523:21:169;580:2;560:18;;;553:30;619:34;599:18;;;592:62;-1:-1:-1;;;670:18:169;;;663:37;717:19;;5447:66:38;;;;;;;;5527:12;;5542:15;5527:12;;;:30;5523:138;;;5573:12;:30;;-1:-1:-1;;5573:30:38;5588:15;5573:30;;;;;;5622:28;;889:36:169;;;5622:28:38;;877:2:169;862:18;5622:28:38;;;;;;;5523:138;5388:279::o;14:320:169:-;114:6;167:2;155:9;146:7;142:23;138:32;135:52;;;183:1;180;173:12;135:52;209:16;;-1:-1:-1;;;;;254:31:169;;244:42;;234:70;;300:1;297;290:12;234:70;323:5;14:320;-1:-1:-1;;;14:320:169:o;747:184::-;328:16041:111;;;;;;;;;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x608060405234801561001057600080fd5b50600436106100b35760003560e01c8063890262451161007157806389026245146101b3578063a48bb0ac146101d3578063bd29b8cd146101e6578063caa3cd76146101f9578063e2e685801461020f578063f34109221461025557600080fd5b8062bff04d146100b857806312d1d74d146100e157806326d941f2146101155780632ed583e51461012a5780636d14a9871461013d5780638121906f1461017c575b600080fd5b6100cb6100c6366004610ebd565b610268565b6040516100d89190610f39565b60405180910390f35b6100f46100ef366004610fad565b61038a565b60408051825163ffffffff16815260209283015192810192909252016100d8565b610128610123366004610fe0565b6103d0565b005b6100f4610138366004610ffb565b6104b4565b6101647f000000000000000000000000000000000000000000000000000000000000000081565b6040516001600160a01b0390911681526020016100d8565b61018f61018a366004610fe0565b61053a565b60408051825163ffffffff90811682526020938401511692810192909252016100d8565b6101c66101c1366004610fad565b610581565b6040516100d8919061103e565b61018f6101e1366004610fad565b6106eb565b6101286101f4366004610ebd565b610762565b610201600081565b6040519081526020016100d8565b61024061021d366004611076565b600160209081526000928352604080842090915290825290205463ffffffff1681565b60405163ffffffff90911681526020016100d8565b610240610263366004610fe0565b610830565b606061027261084f565b60008267ffffffffffffffff81111561028d5761028d6110a0565b6040519080825280602002602001820160405280156102b6578160200160208202803683370190505b50905060005b8381101561037f5760008585838181106102d8576102d86110b6565b919091013560f81c60008181526003602052604090205490925090508061031a5760405162461bcd60e51b8152600401610311906110cc565b60405180910390fd5b600061032583610905565b905061033c8984610337600185611137565b6109fe565b8085858151811061034f5761034f6110b6565b602002602001019063ffffffff16908163ffffffff168152505050505080806103779061115c565b9150506102bc565b5090505b9392505050565b60408051808201909152600080825260208201526103a88383610a88565b60408051808201909152815463ffffffff168152600190910154602082015290505b92915050565b6103d861084f565b60ff8116600090815260036020526040902054156104525760405162461bcd60e51b815260206004820152603160248201527f496e64657852656769737472792e63726561746551756f72756d3a2071756f72604482015270756d20616c72656164792065786973747360781b6064820152608401610311565b60ff166000908152600360209081526040808320815180830190925263ffffffff438116835282840185815282546001810184559286529390942091519101805492518416600160201b0267ffffffffffffffff199093169190931617179055565b604080518082019091526000808252602082015260ff8416600090815260026020908152604080832063ffffffff80881685529252909120805490918416908110610501576105016110b6565b600091825260209182902060408051808201909152600290920201805463ffffffff168252600101549181019190915290509392505050565b604080518082019091526000808252602082015261055782610ae0565b60408051808201909152905463ffffffff8082168352600160201b90910416602082015292915050565b6060600061058f8484610b22565b905060008163ffffffff1667ffffffffffffffff8111156105b2576105b26110a0565b6040519080825280602002602001820160405280156105db578160200160208202803683370190505b50905060005b8263ffffffff168110156106e2576105fa868287610c57565b82828151811061060c5761060c6110b6565b6020026020010181815250506000801b82828151811061062e5761062e6110b6565b602002602001015114156106d05760405162461bcd60e51b815260206004820152605d60248201527f496e64657852656769737472792e6765744f70657261746f724c69737441744260448201527f6c6f636b4e756d6265723a206f70657261746f7220646f6573206e6f7420657860648201527f6973742061742074686520676976656e20626c6f636b206e756d626572000000608482015260a401610311565b806106da8161115c565b9150506105e1565b50949350505050565b604080518082019091526000808252602082015260ff83166000908152600360205260409020805463ffffffff8416908110610729576107296110b6565b60009182526020918290206040805180820190915291015463ffffffff8082168352600160201b90910416918101919091529392505050565b61076a61084f565b60005b8181101561082a576000838383818110610789576107896110b6565b919091013560f81c6000818152600360205260409020549092509050806107c25760405162461bcd60e51b8152600401610311906110cc565b60ff8216600090815260016020908152604080832089845290915281205463ffffffff16906107f084610d2e565b905060006107fe8583610d68565b9050808914610812576108128186856109fe565b505050505080806108229061115c565b91505061076d565b50505050565b600061083b82610ae0565b54600160201b900463ffffffff1692915050565b336001600160a01b037f000000000000000000000000000000000000000000000000000000000000000016146109035760405162461bcd60e51b815260206004820152604d60248201527f496e64657852656769737472792e6f6e6c795265676973747279436f6f72646960448201527f6e61746f723a2063616c6c6572206973206e6f7420746865207265676973747260648201526c3c9031b7b7b93234b730ba37b960991b608482015260a401610311565b565b60008061091183610ae0565b805490915060009061093190600160201b900463ffffffff166001611177565b905061093e848383610d92565b60ff841660009081526002602052604081209061095c600184611137565b63ffffffff1681526020810191909152604001600020546103835760ff8416600090815260026020526040812090610995600184611137565b63ffffffff908116825260208083019390935260409182016000908120835180850190945243831684528385018281528154600180820184559284529590922093516002909502909301805463ffffffff19169490921693909317815591519101559392505050565b6000610a0a8383610a88565b9050610a1883838387610e32565b60ff83166000818152600160209081526040808320888452825291829020805463ffffffff191663ffffffff871690811790915582519384529083015285917f6ee1e4f4075f3d067176140d34e87874244dd273294c05b2218133e49a2ba6f6910160405180910390a250505050565b60ff8216600090815260026020908152604080832063ffffffff851684529091528120805490610ab960018361119f565b81548110610ac957610ac96110b6565b906000526020600020906002020191505092915050565b60ff81166000908152600360205260408120805490610b0060018361119f565b81548110610b1057610b106110b6565b90600052602060002001915050919050565b60ff8216600090815260036020526040812054805b8015610bca5760ff85166000908152600360205260408120610b5a60018461119f565b81548110610b6a57610b6a6110b6565b60009182526020918290206040805180820190915291015463ffffffff808216808452600160201b90920481169383019390935290925090861610610bb7576020015192506103ca915050565b5080610bc2816111b6565b915050610b37565b5060405162461bcd60e51b815260206004820152605560248201527f496e64657852656769737472792e5f6f70657261746f72436f756e744174426c60448201527f6f636b4e756d6265723a2071756f72756d20646964206e6f742065786973742060648201527430ba1033b4bb32b710313637b1b590373ab6b132b960591b608482015260a401610311565b60ff8316600090815260026020908152604080832063ffffffff86168452909152812054805b8015610d225760ff8616600090815260026020908152604080832063ffffffff891684529091528120610cb160018461119f565b81548110610cc157610cc16110b6565b600091825260209182902060408051808201909152600290920201805463ffffffff9081168084526001909201549383019390935290925090861610610d0f57602001519250610383915050565b5080610d1a816111b6565b915050610c7d565b50600095945050505050565b600080610d3a83610ae0565b8054909150600090610d5b90600190600160201b900463ffffffff16611137565b9050610383848383610d92565b600080610d758484610a88565b6001810154909150610d8a8585846000610e32565b949350505050565b81544363ffffffff90811691161415610dc957815463ffffffff8216600160201b0267ffffffff0000000019909116178255505050565b60ff83166000908152600360209081526040808320815180830190925263ffffffff438116835285811683850190815282546001810184559286529390942091519101805492518416600160201b0267ffffffffffffffff199093169190931617179055505050565b81544363ffffffff90811691161415610e51576001820181905561082a565b60ff93909316600090815260026020818152604080842063ffffffff968716855282528084208151808301909252438716825281830197885280546001808201835591865292909420905191909202909101805463ffffffff1916919094161783559251919092015550565b600080600060408486031215610ed257600080fd5b83359250602084013567ffffffffffffffff80821115610ef157600080fd5b818601915086601f830112610f0557600080fd5b813581811115610f1457600080fd5b876020828501011115610f2657600080fd5b6020830194508093505050509250925092565b6020808252825182820181905260009190848201906040850190845b81811015610f7757835163ffffffff1683529284019291840191600101610f55565b50909695505050505050565b803560ff81168114610f9457600080fd5b919050565b803563ffffffff81168114610f9457600080fd5b60008060408385031215610fc057600080fd5b610fc983610f83565b9150610fd760208401610f99565b90509250929050565b600060208284031215610ff257600080fd5b61038382610f83565b60008060006060848603121561101057600080fd5b61101984610f83565b925061102760208501610f99565b915061103560408501610f99565b90509250925092565b6020808252825182820181905260009190848201906040850190845b81811015610f775783518352928401929184019160010161105a565b6000806040838503121561108957600080fd5b61109283610f83565b946020939093013593505050565b634e487b7160e01b600052604160045260246000fd5b634e487b7160e01b600052603260045260246000fd5b60208082526035908201527f496e64657852656769737472792e72656769737465724f70657261746f723a206040820152741c5d5bdc9d5b48191bd95cc81b9bdd08195e1a5cdd605a1b606082015260800190565b634e487b7160e01b600052601160045260246000fd5b600063ffffffff8381169083168181101561115457611154611121565b039392505050565b600060001982141561117057611170611121565b5060010190565b600063ffffffff80831681851680830382111561119657611196611121565b01949350505050565b6000828210156111b1576111b1611121565b500390565b6000816111c5576111c5611121565b50600019019056fea2646970667358221220f3348f039a5d45129c8465419c44778fbf823bebf144878efb46d56b1d0ed34c64736f6c634300080c0033","sourceMap":"328:16041:111:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1800:1248;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;14819:200;;;;;;:::i;:::-;;:::i;:::-;;;;2152:13:169;;2167:10;2148:30;2130:49;;2235:4;2223:17;;;2217:24;2195:20;;;2188:54;;;;2103:18;14819:200:111;1918:330:169;5342:368:111;;;;;;:::i;:::-;;:::i;:::-;;13793:227;;;;;;:::i;:::-;;:::i;813:44:112:-;;;;;;;;-1:-1:-1;;;;;2935:32:169;;;2917:51;;2905:2;2890:18;813:44:112;2771:203:169;14480:152:111;;;;;;:::i;:::-;;:::i;:::-;;;;3238:13:169;;3197:10;3234:22;;;3216:41;;3317:4;3305:17;;;3299:24;3295:33;3273:20;;;3266:63;;;;3160:18;14480:152:111;2979:356:169;15150:712:111;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;14146:188::-;;;;;;:::i;:::-;;:::i;3809:1385::-;;;;;;:::i;:::-;;:::i;674:63:112:-;;735:1;674:63;;;;;4123:25:169;;;4111:2;4096:18;674:63:112;3977:177:169;1249:72:112;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4588:10:169;4576:23;;;4558:42;;4546:2;4531:18;1249:72:112;4414:192:169;16008:153:111;;;;;;:::i;:::-;;:::i;1800:1248::-;1946:15;518:27;:25;:27::i;:::-;1973:37:::1;2026:13:::0;2013:34:::1;::::0;::::1;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;-1:-1:-1;2013:34:111::1;;1973:74;;2063:9;2058:945;2078:24:::0;;::::1;2058:945;;;2192:18;2219:13;;2233:1;2219:16;;;;;;;:::i;:::-;::::0;;;::::1;;;;2250:21;2274:35:::0;;;:21:::1;:35;::::0;;;;:42;2219:16;;-1:-1:-1;2274:42:111;-1:-1:-1;2338:18:111;2330:84:::1;;;;-1:-1:-1::0;;;2330:84:111::1;;;;;;;:::i;:::-;;;;;;;;;2618:23;2644:36;2667:12;2644:22;:36::i;:::-;2618:62:::0;-1:-1:-1;2694:175:111::1;2747:10:::0;2789:12;2834:20:::1;2853:1;2618:62:::0;2834:20:::1;:::i;:::-;2694:22;:175::i;:::-;2976:16;2949:21;2971:1;2949:24;;;;;;;;:::i;:::-;;;;;;:43;;;;;;;;;::::0;::::1;2109:894;;;2104:3;;;;;:::i;:::-;;;;2058:945;;;-1:-1:-1::0;3020:21:111;-1:-1:-1;555:1:111::1;1800:1248:::0;;;;;:::o;14819:200::-;-1:-1:-1;;;;;;;;;;;;;;;;;14957:55:111;14984:12;14998:13;14957:26;:55::i;:::-;14950:62;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;14819:200:111;;;;;:::o;5342:368::-;518:27;:25;:27::i;:::-;5445:35:::1;::::0;::::1;;::::0;;;:21:::1;:35;::::0;;;;:42;:47;5437:109:::1;;;::::0;-1:-1:-1;;;5437:109:111;;5997:2:169;5437:109:111::1;::::0;::::1;5979:21:169::0;6036:2;6016:18;;;6009:30;6075:34;6055:18;;;6048:62;-1:-1:-1;;;6126:18:169;;;6119:47;6183:19;;5437:109:111::1;5795:413:169::0;5437:109:111::1;5557:35;;;::::0;;;:21:::1;:35;::::0;;;;;;;5598:104;;;;::::1;::::0;;;::::1;5678:12;5598:104:::0;::::1;::::0;;;;::::1;::::0;;;5557:146;;::::1;::::0;::::1;::::0;;;;;;;;;;;;::::1;::::0;;;;;::::1;-1:-1:-1::0;;;5557:146:111::1;-1:-1:-1::0;;5557:146:111;;;;;;::::1;::::0;::::1;::::0;;5342:368::o;13793:227::-;-1:-1:-1;;;;;;;;;;;;;;;;;13951:35:111;;;;;;;:21;:35;;;;;;;;:50;;;;;;;;;;;:62;;:50;;:62;;;;;;;;;:::i;:::-;;;;;;;;;;13944:69;;;;;;;;;13951:62;;;;;13944:69;;;;;;;;;;;;;;;;;-1:-1:-1;13793:227:111;;;;;:::o;14480:152::-;-1:-1:-1;;;;;;;;;;;;;;;;;14592:33:111;14612:12;14592:19;:33::i;:::-;14585:40;;;;;;;;;;;;;;;;;-1:-1:-1;;;14585:40:111;;;;;;;;;14480:152;-1:-1:-1;;14480:152:111:o;15150:712::-;15274:16;15301:20;15324:54;15352:12;15366:11;15324:27;:54::i;:::-;15301:77;;15388:29;15434:13;15420:28;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;15420:28:111;;15388:60;;15463:9;15458:369;15482:13;15478:17;;:1;:17;15458:369;;;15534:70;15567:12;15588:1;15592:11;15534:32;:70::i;:::-;15516:12;15529:1;15516:15;;;;;;;;:::i;:::-;;;;;;:88;;;;;735:1:112;727:10;;15643:12:111;15656:1;15643:15;;;;;;;;:::i;:::-;;;;;;;:45;;15618:198;;;;-1:-1:-1;;;15618:198:111;;6415:2:169;15618:198:111;;;6397:21:169;6454:2;6434:18;;;6427:30;6493:34;6473:18;;;6466:62;6564:34;6544:18;;;6537:62;6636:31;6615:19;;;6608:60;6685:19;;15618:198:111;6213:497:169;15618:198:111;15497:3;;;;:::i;:::-;;;;15458:369;;;-1:-1:-1;15843:12:111;15150:712;-1:-1:-1;;;;15150:712:111:o;14146:188::-;-1:-1:-1;;;;;;;;;;;;;;;;;14279:35:111;;;;;;;:21;:35;;;;;:48;;;;;;;;;;;;:::i;:::-;;;;;;;;;;14272:55;;;;;;;;;14279:48;;14272:55;;;;;;;-1:-1:-1;;;14272:55:111;;;;;;;;;;;;14146:188;-1:-1:-1;;;14146:188:111:o;3809:1385::-;518:27;:25;:27::i;:::-;3964:9:::1;3959:1229;3979:24:::0;;::::1;3959:1229;;;4123:18;4150:13;;4164:1;4150:16;;;;;;;:::i;:::-;::::0;;;::::1;;;;4181:21;4205:35:::0;;;:21:::1;:35;::::0;;;;:42;4150:16;;-1:-1:-1;4205:42:111;-1:-1:-1;4269:18:111;4261:84:::1;;;;-1:-1:-1::0;;;4261:84:111::1;;;;;;;:::i;:::-;4390:34;::::0;::::1;4359:28;4390:34:::0;;;:20:::1;:34;::::0;;;;;;;:46;;;;;;;;;::::1;;::::0;4778:36:::1;4411:12:::0;4778:22:::1;:36::i;:::-;4752:62;;4828:22;4853:48;4870:12;4884:16;4853;:48::i;:::-;4828:73;;4933:14;4919:10;:28;4915:263;;4967:196;5024:14;5074:12;5123:21;4967:22;:196::i;:::-;4010:1178;;;;;4005:3;;;;;:::i;:::-;;;;3959:1229;;;;3809:1385:::0;;;:::o;16008:153::-;16084:6;16108:33;16128:12;16108:19;:33::i;:::-;:46;-1:-1:-1;;;16108:46:111;;;;;;-1:-1:-1;;16008:153:111:o;16167:200::-;16236:10;-1:-1:-1;;;;;16258:19:111;16236:42;;16228:132;;;;-1:-1:-1;;;16228:132:111;;6917:2:169;16228:132:111;;;6899:21:169;6956:2;6936:18;;;6929:30;6995:34;6975:18;;;6968:62;7066:34;7046:18;;;7039:62;-1:-1:-1;;;7117:19:169;;;7110:44;7171:19;;16228:132:111;6715:481:169;16228:132:111;16167:200::o;6040:833::-;6110:6;6128:31;6162:33;6182:12;6162:19;:33::i;:::-;6231:23;;;;-1:-1:-1;6205:23:111;;6231:27;;-1:-1:-1;;;6231:23:111;;;;6257:1;6231:27;:::i;:::-;6205:53;;6277:71;6305:12;6319:10;6331:16;6277:27;:71::i;:::-;6532:35;;;;;;;:21;:35;;;;;;6568:20;6587:1;6568:16;:20;:::i;:::-;6532:57;;;;;;;;;;;;;-1:-1:-1;6532:57:111;:64;6528:305;;6617:35;;;;;;;:21;:35;;;;;;6653:20;6672:1;6653:16;:20;:::i;:::-;6617:57;;;;;;;;;;;;;;;;;;-1:-1:-1;6617:57:111;;;6680:141;;;;;;;;6793:12;6680:141;;;;;;;;;;6617:205;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;6617:205:111;;;;;;;;;;;;;;;;6850:16;6040:833;-1:-1:-1;;;6040:833:111:o;9107:514::-;9220:33;9256:55;9283:12;9297:13;9256:26;:55::i;:::-;9220:91;;9322:80;9350:12;9364:13;9379:10;9391;9322:27;:80::i;:::-;9479:34;;;;;;;:20;:34;;;;;;;;:46;;;;;;;;;:62;;-1:-1:-1;;9479:62:111;;;;;;;;;;9556:58;;7602:36:169;;;7654:18;;;7647:51;9479:46:111;;9556:58;;7575:18:169;9556:58:111;;;;;;;9210:411;9107:514;;;:::o;10946:309::-;11105:35;;;11047:22;11105:35;;;:21;:35;;;;;;;;:50;;;;;;;;;;:57;;;11230:17;11246:1;11105:57;11230:17;:::i;:::-;11179:69;;;;;;;;:::i;:::-;;;;;;;;;;;11172:76;;;10946:309;;;;:::o;10544:248::-;10672:35;;;10616:20;10672:35;;;:21;:35;;;;;:42;;;10767:17;10783:1;10672:42;10767:17;:::i;:::-;10731:54;;;;;;;;:::i;:::-;;;;;;;;10724:61;;;10544:248;;;:::o;11507:718::-;11671:35;;;11630:6;11671:35;;;:21;:35;;;;;:42;;11831:274;11863:5;;11831:274;;11924:35;;;11889:32;11924:35;;;:21;:35;;;;;11960:5;11964:1;11960;:5;:::i;:::-;11924:42;;;;;;;;:::i;:::-;;;;;;;;;;11889:77;;;;;;;;;11924:42;;11889:77;;;;;;;;-1:-1:-1;;;11889:77:111;;;;;;;;;;;;;;-1:-1:-1;11985:43:111;;;-1:-1:-1;11981:114:111;;12055:25;;;;-1:-1:-1;12048:32:111;;-1:-1:-1;;12048:32:111;11981:114;-1:-1:-1;11870:3:111;;;;:::i;:::-;;;;11831:274;;;-1:-1:-1;12123:95:111;;-1:-1:-1;;;12123:95:111;;8182:2:169;12123:95:111;;;8164:21:169;8221:2;8201:18;;;8194:30;8260:34;8240:18;;;8233:62;8331:34;8311:18;;;8304:62;-1:-1:-1;;;8382:19:169;;;8375:52;8444:19;;12123:95:111;7980:489:169;12468:953:111;12669:35;;;12626:7;12669:35;;;:21;:35;;;;;;;;:50;;;;;;;;;;:57;;12843:438;12875:5;;12843:438;;12945:35;;;12901:41;12945:35;;;:21;:35;;;;;;;;:50;;;;;;;;;;12996:5;13000:1;12996;:5;:::i;:::-;12945:57;;;;;;;;:::i;:::-;;;;;;;;;;12901:101;;;;;;;;;12945:57;;;;;12901:101;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;13021:50:111;;;-1:-1:-1;13017:254:111;;13226:30;;;;-1:-1:-1;13219:37:111;;-1:-1:-1;;13219:37:111;13017:254;-1:-1:-1;12882:3:111;;;;:::i;:::-;;;;12843:438;;;-1:-1:-1;735:1:112;;12468:953:111;-1:-1:-1;;;;;12468:953:111:o;6981:357::-;7051:6;7069:31;7103:33;7123:12;7103:19;:33::i;:::-;7172:23;;;;-1:-1:-1;7146:23:111;;7172:27;;7198:1;;-1:-1:-1;;;7172:23:111;;;;:27;:::i;:::-;7146:53;;7218:71;7246:12;7260:10;7272:16;7218:27;:71::i;8296:471::-;8382:7;8401:33;8437:55;8464:12;8478:13;8437:26;:55::i;:::-;8530:21;;;;8401:91;;-1:-1:-1;8629:96:111;8657:12;8671:13;8401:91;8502:25;8629:27;:96::i;:::-;8743:17;8296:471;-1:-1:-1;;;;8296:471:111:o;7555:497::-;7723:26;;7760:12;7723:50;;;;:26;;:50;7719:327;;;7789:42;;;;;-1:-1:-1;;;7789:42:111;-1:-1:-1;;7789:42:111;;;;;;7555:497;;;:::o;7719:327::-;7862:35;;;;;;;:21;:35;;;;;;;;7903:131;;;;;;;;;8006:12;7903:131;;;;;;;;;;;;;7862:173;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;;7862:173:111;-1:-1:-1;;7862:173:111;;;;;;;;;;;7555:497;;;:::o;9857:534::-;10055:26;;10092:12;10055:50;;;;:26;;:50;10051:334;;;10121:21;;;:37;;;10051:334;;;10189:35;;;;;;;;;:21;:35;;;;;;;;:50;;;;;;;;;;;10245:128;;;;;;;;10345:12;10245:128;;;;;;;;;;10189:185;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;10189:185:111;;;;;;;;;;;;;;;-1:-1:-1;9857:534:111:o;14:659:169:-;93:6;101;109;162:2;150:9;141:7;137:23;133:32;130:52;;;178:1;175;168:12;130:52;214:9;201:23;191:33;;275:2;264:9;260:18;247:32;298:18;339:2;331:6;328:14;325:34;;;355:1;352;345:12;325:34;393:6;382:9;378:22;368:32;;438:7;431:4;427:2;423:13;419:27;409:55;;460:1;457;450:12;409:55;500:2;487:16;526:2;518:6;515:14;512:34;;;542:1;539;532:12;512:34;587:7;582:2;573:6;569:2;565:15;561:24;558:37;555:57;;;608:1;605;598:12;555:57;639:2;635;631:11;621:21;;661:6;651:16;;;;;14:659;;;;;:::o;678:647::-;847:2;899:21;;;969:13;;872:18;;;991:22;;;818:4;;847:2;1070:15;;;;1044:2;1029:18;;;818:4;1113:186;1127:6;1124:1;1121:13;1113:186;;;1192:13;;1207:10;1188:30;1176:43;;1274:15;;;;1239:12;;;;1149:1;1142:9;1113:186;;;-1:-1:-1;1316:3:169;;678:647;-1:-1:-1;;;;;;678:647:169:o;1330:156::-;1396:20;;1456:4;1445:16;;1435:27;;1425:55;;1476:1;1473;1466:12;1425:55;1330:156;;;:::o;1491:163::-;1558:20;;1618:10;1607:22;;1597:33;;1587:61;;1644:1;1641;1634:12;1659:254;1724:6;1732;1785:2;1773:9;1764:7;1760:23;1756:32;1753:52;;;1801:1;1798;1791:12;1753:52;1824:27;1841:9;1824:27;:::i;:::-;1814:37;;1870;1903:2;1892:9;1888:18;1870:37;:::i;:::-;1860:47;;1659:254;;;;;:::o;2253:182::-;2310:6;2363:2;2351:9;2342:7;2338:23;2334:32;2331:52;;;2379:1;2376;2369:12;2331:52;2402:27;2419:9;2402:27;:::i;2440:326::-;2513:6;2521;2529;2582:2;2570:9;2561:7;2557:23;2553:32;2550:52;;;2598:1;2595;2588:12;2550:52;2621:27;2638:9;2621:27;:::i;:::-;2611:37;;2667;2700:2;2689:9;2685:18;2667:37;:::i;:::-;2657:47;;2723:37;2756:2;2745:9;2741:18;2723:37;:::i;:::-;2713:47;;2440:326;;;;;:::o;3340:632::-;3511:2;3563:21;;;3633:13;;3536:18;;;3655:22;;;3482:4;;3511:2;3734:15;;;;3708:2;3693:18;;;3482:4;3777:169;3791:6;3788:1;3785:13;3777:169;;;3852:13;;3840:26;;3921:15;;;;3886:12;;;;3813:1;3806:9;3777:169;;4159:250;4225:6;4233;4286:2;4274:9;4265:7;4261:23;4257:32;4254:52;;;4302:1;4299;4292:12;4254:52;4325:27;4342:9;4325:27;:::i;:::-;4315:37;4399:2;4384:18;;;;4371:32;;-1:-1:-1;;;4159:250:169:o;4611:127::-;4672:10;4667:3;4663:20;4660:1;4653:31;4703:4;4700:1;4693:15;4727:4;4724:1;4717:15;4743:127;4804:10;4799:3;4795:20;4792:1;4785:31;4835:4;4832:1;4825:15;4859:4;4856:1;4849:15;4875:417;5077:2;5059:21;;;5116:2;5096:18;;;5089:30;5155:34;5150:2;5135:18;;5128:62;-1:-1:-1;;;5221:2:169;5206:18;;5199:51;5282:3;5267:19;;4875:417::o;5297:127::-;5358:10;5353:3;5349:20;5346:1;5339:31;5389:4;5386:1;5379:15;5413:4;5410:1;5403:15;5429:221;5468:4;5497:10;5557;;;;5527;;5579:12;;;5576:38;;;5594:18;;:::i;:::-;5631:13;;5429:221;-1:-1:-1;;;5429:221:169:o;5655:135::-;5694:3;-1:-1:-1;;5715:17:169;;5712:43;;;5735:18;;:::i;:::-;-1:-1:-1;5782:1:169;5771:13;;5655:135::o;7201:228::-;7240:3;7268:10;7305:2;7302:1;7298:10;7335:2;7332:1;7328:10;7366:3;7362:2;7358:12;7353:3;7350:21;7347:47;;;7374:18;;:::i;:::-;7410:13;;7201:228;-1:-1:-1;;;;7201:228:169:o;7709:125::-;7749:4;7777:1;7774;7771:8;7768:34;;;7782:18;;:::i;:::-;-1:-1:-1;7819:9:169;;7709:125::o;7839:136::-;7878:3;7906:5;7896:39;;7915:18;;:::i;:::-;-1:-1:-1;;;7951:18:169;;7839:136::o","linkReferences":{},"immutableReferences":{"34305":[{"start":322,"length":32},{"start":2138,"length":32}]}},"methodIdentifiers":{"OPERATOR_DOES_NOT_EXIST_ID()":"caa3cd76","currentOperatorIndex(uint8,bytes32)":"e2e68580","deregisterOperator(bytes32,bytes)":"bd29b8cd","getLatestOperatorUpdate(uint8,uint32)":"12d1d74d","getLatestQuorumUpdate(uint8)":"8121906f","getOperatorListAtBlockNumber(uint8,uint32)":"89026245","getOperatorUpdateAtIndex(uint8,uint32,uint32)":"2ed583e5","getQuorumUpdateAtIndex(uint8,uint32)":"a48bb0ac","initializeQuorum(uint8)":"26d941f2","registerOperator(bytes32,bytes)":"00bff04d","registryCoordinator()":"6d14a987","totalOperatorsForQuorum(uint8)":"f3410922"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.12+commit.f00d7308\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract IRegistryCoordinator\",\"name\":\"_registryCoordinator\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"version\",\"type\":\"uint8\"}],\"name\":\"Initialized\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"},{\"indexed\":false,\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"uint32\",\"name\":\"newOperatorIndex\",\"type\":\"uint32\"}],\"name\":\"QuorumIndexUpdate\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"OPERATOR_DOES_NOT_EXIST_ID\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"name\":\"currentOperatorIndex\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"}],\"name\":\"deregisterOperator\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"operatorIndex\",\"type\":\"uint32\"}],\"name\":\"getLatestOperatorUpdate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlockNumber\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"}],\"internalType\":\"struct IIndexRegistry.OperatorUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"}],\"name\":\"getLatestQuorumUpdate\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlockNumber\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"numOperators\",\"type\":\"uint32\"}],\"internalType\":\"struct IIndexRegistry.QuorumUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"blockNumber\",\"type\":\"uint32\"}],\"name\":\"getOperatorListAtBlockNumber\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"operatorIndex\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"arrayIndex\",\"type\":\"uint32\"}],\"name\":\"getOperatorUpdateAtIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlockNumber\",\"type\":\"uint32\"},{\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"}],\"internalType\":\"struct IIndexRegistry.OperatorUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"},{\"internalType\":\"uint32\",\"name\":\"quorumIndex\",\"type\":\"uint32\"}],\"name\":\"getQuorumUpdateAtIndex\",\"outputs\":[{\"components\":[{\"internalType\":\"uint32\",\"name\":\"fromBlockNumber\",\"type\":\"uint32\"},{\"internalType\":\"uint32\",\"name\":\"numOperators\",\"type\":\"uint32\"}],\"internalType\":\"struct IIndexRegistry.QuorumUpdate\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"}],\"name\":\"initializeQuorum\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"operatorId\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"quorumNumbers\",\"type\":\"bytes\"}],\"name\":\"registerOperator\",\"outputs\":[{\"internalType\":\"uint32[]\",\"name\":\"\",\"type\":\"uint32[]\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"registryCoordinator\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint8\",\"name\":\"quorumNumber\",\"type\":\"uint8\"}],\"name\":\"totalOperatorsForQuorum\",\"outputs\":[{\"internalType\":\"uint32\",\"name\":\"\",\"type\":\"uint32\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"author\":\"Layr Labs, Inc.\",\"kind\":\"dev\",\"methods\":{\"deregisterOperator(bytes32,bytes)\":{\"details\":\"access restricted to the RegistryCoordinatorPreconditions (these are assumed, not validated in this contract): 1) `quorumNumbers` has no duplicates 2) `quorumNumbers.length` != 0 3) `quorumNumbers` is ordered in ascending order 4) the operator is not already deregistered 5) `quorumNumbers` is a subset of the quorumNumbers that the operator is registered for\",\"params\":{\"operatorId\":\"is the id of the operator that is being deregistered\",\"quorumNumbers\":\"is the quorum numbers the operator is deregistered for\"}},\"getLatestOperatorUpdate(uint8,uint32)\":{\"details\":\"Reverts if there is no update for the given operatorIndex\"},\"getLatestQuorumUpdate(uint8)\":{\"details\":\"Reverts if the quorum does not exist\"},\"initializeQuorum(uint8)\":{\"params\":{\"quorumNumber\":\"The number of the new quorum\"}},\"registerOperator(bytes32,bytes)\":{\"details\":\"access restricted to the RegistryCoordinatorPreconditions (these are assumed, not validated in this contract): 1) `quorumNumbers` has no duplicates 2) `quorumNumbers.length` != 0 3) `quorumNumbers` is ordered in ascending order 4) the operator is not already registered\",\"params\":{\"operatorId\":\"is the id of the operator that is being registered\",\"quorumNumbers\":\"is the quorum numbers the operator is registered for\"},\"returns\":{\"_0\":\"numOperatorsPerQuorum is a list of the number of operators (including the registering operator) in each of the quorums the operator is registered for\"}},\"totalOperatorsForQuorum(uint8)\":{\"details\":\"This will revert if the quorum does not exist\"}},\"title\":\"A `Registry` that keeps track of an ordered list of operators for each quorum\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"OPERATOR_DOES_NOT_EXIST_ID()\":{\"notice\":\"The value that is returned when an operator does not exist at an index at a certain block\"},\"constructor\":{\"notice\":\"sets the (immutable) `registryCoordinator` address\"},\"currentOperatorIndex(uint8,bytes32)\":{\"notice\":\"maps quorumNumber => operator id => current operatorIndex NOTE: This mapping is NOT updated when an operator is deregistered, so it's possible that an index retrieved from this mapping is inaccurate. If you're querying for an operator that might be deregistered, ALWAYS check this index against the latest `_operatorIndexHistory` entry\"},\"deregisterOperator(bytes32,bytes)\":{\"notice\":\"Deregisters the operator with the specified `operatorId` for the quorums specified by `quorumNumbers`.\"},\"getLatestOperatorUpdate(uint8,uint32)\":{\"notice\":\"Returns the most recent OperatorUpdate entry for the specified quorumNumber and operatorIndex\"},\"getLatestQuorumUpdate(uint8)\":{\"notice\":\"Returns the most recent QuorumUpdate entry for the specified quorumNumber\"},\"getOperatorListAtBlockNumber(uint8,uint32)\":{\"notice\":\"Returns an ordered list of operators of the services for the given `quorumNumber` at the given `blockNumber`\"},\"getOperatorUpdateAtIndex(uint8,uint32,uint32)\":{\"notice\":\"Returns the _operatorIndexHistory entry for the specified `operatorIndex` and `quorumNumber` at the specified `arrayIndex`\"},\"getQuorumUpdateAtIndex(uint8,uint32)\":{\"notice\":\"Returns the _operatorCountHistory entry for the specified `quorumNumber` at the specified `quorumIndex`\"},\"initializeQuorum(uint8)\":{\"notice\":\"Initialize a quorum by pushing its first quorum update\"},\"registerOperator(bytes32,bytes)\":{\"notice\":\"Registers the operator with the specified `operatorId` for the quorums specified by `quorumNumbers`.\"},\"registryCoordinator()\":{\"notice\":\"The RegistryCoordinator contract for this middleware\"},\"totalOperatorsForQuorum(uint8)\":{\"notice\":\"Returns the total number of operators for a given `quorumNumber`\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"lib/eigenlayer-middleware/src/IndexRegistry.sol\":\"IndexRegistry\"},\"evmVersion\":\"london\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":200},\"remappings\":[\":@credible-squaring/=src/\",\":@eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/\",\":@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/\",\":@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":ds-test/=lib/forge-std/lib/ds-test/src/\",\":eigenlayer-contracts/=lib/eigenlayer-contracts/\",\":eigenlayer-middleware/=lib/eigenlayer-middleware/\",\":erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/\",\":forge-std/=lib/forge-std/src/\",\":openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/\",\":openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/\",\":openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/\",\":openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/\",\":openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/\"]},\"sources\":{\"lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol\":{\"keccak256\":\"0x5a7dd74fb8a9334aa50c497a58875159aec17e905a7daaf3c276936d5b691bd1\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://a25b8d80233016a4634b9217a0899f43f18bfb21abb046bee4403e9408296009\",\"dweb:/ipfs/QmUA3bTzddiHnPxBqYtovxvcVvCkNrAxPJ7xcskocxEq5P\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol\":{\"keccak256\":\"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b\",\"dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH\"]},\"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol\":{\"keccak256\":\"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73\",\"dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol\":{\"keccak256\":\"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497\",\"dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol\":{\"keccak256\":\"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4\",\"dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt\"]},\"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34\",\"dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr\"]},\"lib/eigenlayer-middleware/src/IndexRegistry.sol\":{\"keccak256\":\"0x9be66bc929e46d8f09e331e3efe468e75e7c8c63de3385739486887f53b00c6d\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://3a5017a32a6e4b6dd58581bcd337c78d74f7cdcf76b19ca770d4dba1860d0fb3\",\"dweb:/ipfs/QmbdPbMbrBwfeHPyMnXU2uj9kcaUuKaMxcpx2a1RFkbmXP\"]},\"lib/eigenlayer-middleware/src/IndexRegistryStorage.sol\":{\"keccak256\":\"0xeb795b9feeade0167c8b66f0c0cd5028d65605729763d12cc7c06b0f678ecdb2\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://4c75114d423cc3ffadb615e2dcb2e3ed1f0b428d1f8592f34976002d037775f5\",\"dweb:/ipfs/Qmaa9EnhvEJgxXgYf9kiYrNNkMUa2xicvuqqvBa8fAn8VY\"]},\"lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol\":{\"keccak256\":\"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354\",\"dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp\"]},\"lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol\":{\"keccak256\":\"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d\",\"dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F\"]},\"lib/eigenlayer-middleware/src/interfaces/IRegistry.sol\":{\"keccak256\":\"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25\",\"dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY\"]},\"lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol\":{\"keccak256\":\"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d\",\"dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD\"]},\"lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol\":{\"keccak256\":\"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4\",\"license\":\"BUSL-1.1\",\"urls\":[\"bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97\",\"dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B\"]},\"lib/eigenlayer-middleware/src/libraries/BN254.sol\":{\"keccak256\":\"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae\",\"dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.12+commit.f00d7308"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract IRegistryCoordinator","name":"_registryCoordinator","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[{"internalType":"uint8","name":"version","type":"uint8","indexed":false}],"type":"event","name":"Initialized","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"operatorId","type":"bytes32","indexed":true},{"internalType":"uint8","name":"quorumNumber","type":"uint8","indexed":false},{"internalType":"uint32","name":"newOperatorIndex","type":"uint32","indexed":false}],"type":"event","name":"QuorumIndexUpdate","anonymous":false},{"inputs":[],"stateMutability":"view","type":"function","name":"OPERATOR_DOES_NOT_EXIST_ID","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"uint8","name":"","type":"uint8"},{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function","name":"currentOperatorIndex","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]},{"inputs":[{"internalType":"bytes32","name":"operatorId","type":"bytes32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"deregisterOperator"},{"inputs":[{"internalType":"uint8","name":"quorumNumber","type":"uint8"},{"internalType":"uint32","name":"operatorIndex","type":"uint32"}],"stateMutability":"view","type":"function","name":"getLatestOperatorUpdate","outputs":[{"internalType":"struct IIndexRegistry.OperatorUpdate","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlockNumber","type":"uint32"},{"internalType":"bytes32","name":"operatorId","type":"bytes32"}]}]},{"inputs":[{"internalType":"uint8","name":"quorumNumber","type":"uint8"}],"stateMutability":"view","type":"function","name":"getLatestQuorumUpdate","outputs":[{"internalType":"struct IIndexRegistry.QuorumUpdate","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlockNumber","type":"uint32"},{"internalType":"uint32","name":"numOperators","type":"uint32"}]}]},{"inputs":[{"internalType":"uint8","name":"quorumNumber","type":"uint8"},{"internalType":"uint32","name":"blockNumber","type":"uint32"}],"stateMutability":"view","type":"function","name":"getOperatorListAtBlockNumber","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"uint8","name":"quorumNumber","type":"uint8"},{"internalType":"uint32","name":"operatorIndex","type":"uint32"},{"internalType":"uint32","name":"arrayIndex","type":"uint32"}],"stateMutability":"view","type":"function","name":"getOperatorUpdateAtIndex","outputs":[{"internalType":"struct IIndexRegistry.OperatorUpdate","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlockNumber","type":"uint32"},{"internalType":"bytes32","name":"operatorId","type":"bytes32"}]}]},{"inputs":[{"internalType":"uint8","name":"quorumNumber","type":"uint8"},{"internalType":"uint32","name":"quorumIndex","type":"uint32"}],"stateMutability":"view","type":"function","name":"getQuorumUpdateAtIndex","outputs":[{"internalType":"struct IIndexRegistry.QuorumUpdate","name":"","type":"tuple","components":[{"internalType":"uint32","name":"fromBlockNumber","type":"uint32"},{"internalType":"uint32","name":"numOperators","type":"uint32"}]}]},{"inputs":[{"internalType":"uint8","name":"quorumNumber","type":"uint8"}],"stateMutability":"nonpayable","type":"function","name":"initializeQuorum"},{"inputs":[{"internalType":"bytes32","name":"operatorId","type":"bytes32"},{"internalType":"bytes","name":"quorumNumbers","type":"bytes"}],"stateMutability":"nonpayable","type":"function","name":"registerOperator","outputs":[{"internalType":"uint32[]","name":"","type":"uint32[]"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"registryCoordinator","outputs":[{"internalType":"address","name":"","type":"address"}]},{"inputs":[{"internalType":"uint8","name":"quorumNumber","type":"uint8"}],"stateMutability":"view","type":"function","name":"totalOperatorsForQuorum","outputs":[{"internalType":"uint32","name":"","type":"uint32"}]}],"devdoc":{"kind":"dev","methods":{"deregisterOperator(bytes32,bytes)":{"details":"access restricted to the RegistryCoordinatorPreconditions (these are assumed, not validated in this contract): 1) `quorumNumbers` has no duplicates 2) `quorumNumbers.length` != 0 3) `quorumNumbers` is ordered in ascending order 4) the operator is not already deregistered 5) `quorumNumbers` is a subset of the quorumNumbers that the operator is registered for","params":{"operatorId":"is the id of the operator that is being deregistered","quorumNumbers":"is the quorum numbers the operator is deregistered for"}},"getLatestOperatorUpdate(uint8,uint32)":{"details":"Reverts if there is no update for the given operatorIndex"},"getLatestQuorumUpdate(uint8)":{"details":"Reverts if the quorum does not exist"},"initializeQuorum(uint8)":{"params":{"quorumNumber":"The number of the new quorum"}},"registerOperator(bytes32,bytes)":{"details":"access restricted to the RegistryCoordinatorPreconditions (these are assumed, not validated in this contract): 1) `quorumNumbers` has no duplicates 2) `quorumNumbers.length` != 0 3) `quorumNumbers` is ordered in ascending order 4) the operator is not already registered","params":{"operatorId":"is the id of the operator that is being registered","quorumNumbers":"is the quorum numbers the operator is registered for"},"returns":{"_0":"numOperatorsPerQuorum is a list of the number of operators (including the registering operator) in each of the quorums the operator is registered for"}},"totalOperatorsForQuorum(uint8)":{"details":"This will revert if the quorum does not exist"}},"version":1},"userdoc":{"kind":"user","methods":{"OPERATOR_DOES_NOT_EXIST_ID()":{"notice":"The value that is returned when an operator does not exist at an index at a certain block"},"constructor":{"notice":"sets the (immutable) `registryCoordinator` address"},"currentOperatorIndex(uint8,bytes32)":{"notice":"maps quorumNumber => operator id => current operatorIndex NOTE: This mapping is NOT updated when an operator is deregistered, so it's possible that an index retrieved from this mapping is inaccurate. If you're querying for an operator that might be deregistered, ALWAYS check this index against the latest `_operatorIndexHistory` entry"},"deregisterOperator(bytes32,bytes)":{"notice":"Deregisters the operator with the specified `operatorId` for the quorums specified by `quorumNumbers`."},"getLatestOperatorUpdate(uint8,uint32)":{"notice":"Returns the most recent OperatorUpdate entry for the specified quorumNumber and operatorIndex"},"getLatestQuorumUpdate(uint8)":{"notice":"Returns the most recent QuorumUpdate entry for the specified quorumNumber"},"getOperatorListAtBlockNumber(uint8,uint32)":{"notice":"Returns an ordered list of operators of the services for the given `quorumNumber` at the given `blockNumber`"},"getOperatorUpdateAtIndex(uint8,uint32,uint32)":{"notice":"Returns the _operatorIndexHistory entry for the specified `operatorIndex` and `quorumNumber` at the specified `arrayIndex`"},"getQuorumUpdateAtIndex(uint8,uint32)":{"notice":"Returns the _operatorCountHistory entry for the specified `quorumNumber` at the specified `quorumIndex`"},"initializeQuorum(uint8)":{"notice":"Initialize a quorum by pushing its first quorum update"},"registerOperator(bytes32,bytes)":{"notice":"Registers the operator with the specified `operatorId` for the quorums specified by `quorumNumbers`."},"registryCoordinator()":{"notice":"The RegistryCoordinator contract for this middleware"},"totalOperatorsForQuorum(uint8)":{"notice":"Returns the total number of operators for a given `quorumNumber`"}},"version":1}},"settings":{"remappings":["@credible-squaring/=src/","@eigenlayer-middleware/=lib/eigenlayer-middleware/","@eigenlayer-scripts/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/script/","@eigenlayer/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/src/","@openzeppelin-upgrades-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","@openzeppelin-upgrades/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","@openzeppelin-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","@openzeppelin/=lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/","ds-test/=lib/forge-std/lib/ds-test/src/","eigenlayer-contracts/=lib/eigenlayer-contracts/","eigenlayer-middleware/=lib/eigenlayer-middleware/","erc4626-tests/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/lib/erc4626-tests/","forge-std/=lib/forge-std/src/","openzeppelin-contracts-upgradeable-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/","openzeppelin-contracts-upgradeable/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/","openzeppelin-contracts-v4.9.0/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-v4.9.0/","openzeppelin-contracts/=lib/eigenlayer-contracts/lib/openzeppelin-contracts/","openzeppelin/=lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable-v4.9.0/contracts/"],"optimizer":{"enabled":true,"runs":200},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"lib/eigenlayer-middleware/src/IndexRegistry.sol":"IndexRegistry"},"evmVersion":"london","libraries":{}},"sources":{"lib/eigenlayer-contracts/src/contracts/interfaces/IDelegationManager.sol":{"keccak256":"0x5a7dd74fb8a9334aa50c497a58875159aec17e905a7daaf3c276936d5b691bd1","urls":["bzz-raw://a25b8d80233016a4634b9217a0899f43f18bfb21abb046bee4403e9408296009","dweb:/ipfs/QmUA3bTzddiHnPxBqYtovxvcVvCkNrAxPJ7xcskocxEq5P"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/ISignatureUtils.sol":{"keccak256":"0x3b62ea6ee304cbab976ff206bcf55268f18a3291708021557f93f899f99862e4","urls":["bzz-raw://b59a96fbf9940a7795d9a5fcb9e03939a87216317fb67872b7017285bf7eb49b","dweb:/ipfs/QmdiH5AfYBvuTpzxTqfhorLG25t2dhSTKWh1cvBbYxGDJH"],"license":"BUSL-1.1"},"lib/eigenlayer-contracts/src/contracts/interfaces/IStrategy.sol":{"keccak256":"0xc530c6a944b70051fd0dac0222de9a4b5baadeaf94ad194daac6ad8d2ace7420","urls":["bzz-raw://3767df0364ce835b52e786d2851431eb9223fe4747602107505477e162231d73","dweb:/ipfs/QmZkH5bKUygQrJomndNaQqkefVRW4rRefCa8HPJ5HMczxJ"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/proxy/utils/Initializable.sol":{"keccak256":"0x0203dcadc5737d9ef2c211d6fa15d18ebc3b30dfa51903b64870b01a062b0b4e","urls":["bzz-raw://6eb2fd1e9894dbe778f4b8131adecebe570689e63cf892f4e21257bfe1252497","dweb:/ipfs/QmXgUGNfZvrn6N2miv3nooSs7Jm34A41qz94fu2GtDFcx8"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts-upgradeable/contracts/utils/AddressUpgradeable.sol":{"keccak256":"0x611aa3f23e59cfdd1863c536776407b3e33d695152a266fa7cfb34440a29a8a3","urls":["bzz-raw://9b4b2110b7f2b3eb32951bc08046fa90feccffa594e1176cb91cdfb0e94726b4","dweb:/ipfs/QmSxLwYjicf9zWFuieRc8WQwE4FisA1Um5jp1iSa731TGt"],"license":"MIT"},"lib/eigenlayer-middleware/lib/eigenlayer-contracts/lib/openzeppelin-contracts/contracts/token/ERC20/IERC20.sol":{"keccak256":"0x9750c6b834f7b43000631af5cc30001c5f547b3ceb3635488f140f60e897ea6b","urls":["bzz-raw://5a7d5b1ef5d8d5889ad2ed89d8619c09383b80b72ab226e0fe7bde1636481e34","dweb:/ipfs/QmebXWgtEfumQGBdVeM6c71McLixYXQP5Bk6kKXuoY4Bmr"],"license":"MIT"},"lib/eigenlayer-middleware/src/IndexRegistry.sol":{"keccak256":"0x9be66bc929e46d8f09e331e3efe468e75e7c8c63de3385739486887f53b00c6d","urls":["bzz-raw://3a5017a32a6e4b6dd58581bcd337c78d74f7cdcf76b19ca770d4dba1860d0fb3","dweb:/ipfs/QmbdPbMbrBwfeHPyMnXU2uj9kcaUuKaMxcpx2a1RFkbmXP"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/IndexRegistryStorage.sol":{"keccak256":"0xeb795b9feeade0167c8b66f0c0cd5028d65605729763d12cc7c06b0f678ecdb2","urls":["bzz-raw://4c75114d423cc3ffadb615e2dcb2e3ed1f0b428d1f8592f34976002d037775f5","dweb:/ipfs/Qmaa9EnhvEJgxXgYf9kiYrNNkMUa2xicvuqqvBa8fAn8VY"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IBLSApkRegistry.sol":{"keccak256":"0xc07a5edfd95ab4f16f16a8dc8e76eadf4b0e90fe49db90540d01daaad86898c5","urls":["bzz-raw://52b53266450a53da641e82d8ae3be93c5e09f8342b4ea0cc96bb9038d8406354","dweb:/ipfs/QmVuoiQyqPTLCGnyt8zDaxiyaj4ETdgTGKv4MDHWzqEDjp"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IIndexRegistry.sol":{"keccak256":"0x83b2d56aacf27e65c4959a832c5de573e013908c044f6e48ea8284ac5282ae2b","urls":["bzz-raw://877af382587e96bb39bcc6db8bb5e4b871db5025c52347d4bee9afeaa4a6cc8d","dweb:/ipfs/QmdnhsQCChzq2o5NgbeT3JxSsEcMm1PC9QW6zenZNPjD9F"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IRegistry.sol":{"keccak256":"0x51426a17fb7e54bd3720e2890104e97a8559a13ff248b3d6b840916751c143d3","urls":["bzz-raw://01f91289e6100d528cb8b318cb14ff22a0bc52882c9d4db41585e030cc9ddc25","dweb:/ipfs/Qmb22nqGrsrtNovHRwbMCvDHGENuxAgrWu3Db4p7Er2MHY"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IRegistryCoordinator.sol":{"keccak256":"0xdd8effb082c1d5957d5ff43d7c59497b32866a6d82bcc7d5efa49ea9bc9b3385","urls":["bzz-raw://cb33a2a1446585b13b7a509e880c60d658d2d2522ec48a9f02e30d2cff54002d","dweb:/ipfs/QmVNG8ZPZkXzNEadPdTj1uBYLiZdCnYfsE5iGU6nJcJXiD"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/interfaces/IStakeRegistry.sol":{"keccak256":"0x1b8b4d757c1b804bc4cf6fbbf8bf8f89ebdeb30a31014751fe7d01deb9d513d4","urls":["bzz-raw://984bf2777b898ed187d28997f9783f5c293a1a1848e3e9aa470ce9183d454c97","dweb:/ipfs/Qme3aTpBrkLu8wYHFMZbCfhXHoZ1M6SpXkeC237T9BuU5B"],"license":"BUSL-1.1"},"lib/eigenlayer-middleware/src/libraries/BN254.sol":{"keccak256":"0xb428c8d0c3b325507a88a61a80115493eb88606ccc19ed64a31e11294ab853b3","urls":["bzz-raw://d7b6fb935bfe0494e6ff970c8f30a86d5f4cf5c3e0967300c28cd383c043acae","dweb:/ipfs/QmUHfFZaVjLPXhkBmcxrZhAHZaSFQDqXtrLGpjGBQBa5Ki"],"license":"MIT"}},"version":1},"id":111}