randomness-js
Version:
A library for consuming, verifying and using randomness from the dcipher network
99 lines • 91.5 kB
TypeScript
import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../common";
import type { RandomnessSender, RandomnessSenderInterface } from "../RandomnessSender";
type RandomnessSenderConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class RandomnessSender__factory extends ContractFactory {
constructor(...args: RandomnessSenderConstructorParams);
getDeployTransaction(overrides?: NonPayableOverrides & {
from?: string;
}): Promise<ContractDeployTransaction>;
deploy(overrides?: NonPayableOverrides & {
from?: string;
}): Promise<RandomnessSender & {
deploymentTransaction(): ContractTransactionResponse;
}>;
connect(runner: ContractRunner | null): RandomnessSender__factory;
static readonly bytecode = "0x60a0604052306080525f600c55348015610017575f5ffd5b5060015f55610024610029565b6100db565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000900460ff16156100795760405163f92ee8a960e01b815260040160405180910390fd5b80546001600160401b03908116146100d85780546001600160401b0319166001600160401b0390811782556040519081527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200160405180910390a15b50565b6080516159676101015f395f8181613a0a01528181613a330152613c7001526159675ff3fe608060405260043610610345575f3560e01c806391d14854116101b2578063b2a7cac5116100f2578063cb63179711610092578063dac83d291161006d578063dac83d2914610c09578063dc311dd314610c28578063f8fa0d6614610c57578063fb1a002a14610c76575f5ffd5b8063cb63179714610bac578063cd802c9114610bcb578063d547741f14610bea575f5ffd5b8063c3f909d4116100cd578063c3f909d414610aaa578063c58343ef14610b42578063c8db658214610b6e578063ca15c87314610b8d575f5ffd5b8063b2a7cac514610a4d578063bd18636b14610a6c578063bec4c08c14610a8b575f5ffd5b8063a3246ad31161015d578063aa433aff11610138578063aa433aff146109a5578063ad3cb1cc146109c4578063aefb212f14610a0c578063affed0e014610a38575f5ffd5b8063a3246ad314610947578063a3907d7114610973578063a608a1e114610987575f5ffd5b80639d40a6fd1161018d5780639d40a6fd146108e7578063a217fddf14610920578063a21a23e414610933575f5ffd5b806391d148541461084057806395b55cfc146108b0578063995cb36e146108c3575f5ffd5b8063485cc9551161028857806364d51a2a116102285780637d468106116102035780637d46810614610775578063811ee32a146107c65780638a1f165a146107d95780639010d07c14610821575f5ffd5b806364d51a2a146106fc57806375b238fc14610723578063775b839c14610756575f5ffd5b806352d1902d1161026357806352d1902d1461066257806354236fb31461067657806354fd4d501461069557806357a8070a146106e3575f5ffd5b8063485cc955146106115780634b160935146106305780634f1ef2861461064f575f5ffd5b80632f2770db116102f357806336568abe116102ce57806336568abe146105805780633bc32c751461059f57806341af6c87146105d357806345fa4354146105f2575f5ffd5b80632f2770db1461052e5780632f2ff15d146105425780633255c45614610561575f5ffd5b806318e3dd271161032357806318e3dd271461047f5780631da53c9f146104c0578063248a9ca3146104e1575f5ffd5b806301ffc9a714610349578063088070f51461037d5780630ae095401461045e575b5f5ffd5b348015610354575f5ffd5b50610368610363366004614cc2565b610c97565b60405190151581526020015b60405180910390f35b348015610388575f5ffd5b50600a546104179063ffffffff8082169164010000000081048216916801000000000000000082048116916c010000000000000000000000008104821691700100000000000000000000000000000000820481169160ff740100000000000000000000000000000000000000008204169175010000000000000000000000000000000000000000009091041687565b6040805163ffffffff988916815296881660208801529487169486019490945291851660608501528416608084015260ff1660a083015290911660c082015260e001610374565b348015610469575f5ffd5b5061047d610478366004614d22565b610cf2565b005b34801561048a575f5ffd5b506008546104a3906bffffffffffffffffffffffff1681565b6040516bffffffffffffffffffffffff9091168152602001610374565b6104d36104ce366004614d68565b610d5c565b604051908152602001610374565b3480156104ec575f5ffd5b506104d36104fb366004614d90565b5f9081527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b626800602052604090206001015490565b348015610539575f5ffd5b5061047d6112c0565b34801561054d575f5ffd5b5061047d61055c366004614d22565b61133f565b34801561056c575f5ffd5b506104d361057b366004614d68565b611388565b34801561058b575f5ffd5b5061047d61059a366004614d22565b6113a0565b3480156105aa575f5ffd5b506008546104a3906c0100000000000000000000000090046bffffffffffffffffffffffff1681565b3480156105de575f5ffd5b506103686105ed366004614d90565b6113f9565b3480156105fd575f5ffd5b5061047d61060c366004614da7565b6114a2565b34801561061c575f5ffd5b5061047d61062b366004614e2f565b61175d565b34801561063b575f5ffd5b506104d361064a366004614e5b565b611ac2565b61047d61065d366004614ef0565b611ad3565b34801561066d575f5ffd5b506104d3611af2565b348015610681575f5ffd5b5061047d610690366004614fb5565b611b21565b3480156106a0575f5ffd5b5060408051808201909152600581527f302e302e3100000000000000000000000000000000000000000000000000000060208201525b604051610374919061501c565b3480156106ee575f5ffd5b50600b546103689060ff1681565b348015610707575f5ffd5b50610710606481565b60405161ffff9091168152602001610374565b34801561072e575f5ffd5b506104d37fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c2177581565b348015610761575f5ffd5b506106d661077036600461502e565b611bcb565b348015610780575f5ffd5b506001546107a19073ffffffffffffffffffffffffffffffffffffffff1681565b60405173ffffffffffffffffffffffffffffffffffffffff9091168152602001610374565b6104d36107d4366004614e5b565b611c34565b3480156107e4575f5ffd5b506106d66040518060400160405280600581526020017f424e32353400000000000000000000000000000000000000000000000000000081525081565b34801561082c575f5ffd5b506107a161083b366004615084565b611d1e565b34801561084b575f5ffd5b5061036861085a366004614d22565b5f9182527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080842073ffffffffffffffffffffffffffffffffffffffff93909316845291905290205460ff1690565b61047d6108be366004614d90565b611d5e565b3480156108ce575f5ffd5b506009546104a3906bffffffffffffffffffffffff1681565b3480156108f2575f5ffd5b506005546109079067ffffffffffffffff1681565b60405167ffffffffffffffff9091168152602001610374565b34801561092b575f5ffd5b506104d35f81565b34801561093e575f5ffd5b506104d3611e94565b348015610952575f5ffd5b50610966610961366004614d90565b6120d8565b60405161037491906150f4565b34801561097e575f5ffd5b5061047d612114565b348015610992575f5ffd5b50600b5461036890610100900460ff1681565b3480156109b0575f5ffd5b5061047d6109bf366004614d90565b61218f565b3480156109cf575f5ffd5b506106d66040518060400160405280600581526020017f352e302e3000000000000000000000000000000000000000000000000000000081525081565b348015610a17575f5ffd5b50610a2b610a26366004615084565b6121ef565b6040516103749190615106565b348015610a43575f5ffd5b506104d3600c5481565b348015610a58575f5ffd5b5061047d610a67366004614d90565b6122fe565b348015610a77575f5ffd5b5061047d610a86366004614fb5565b61244e565b348015610a96575f5ffd5b5061047d610aa5366004614d22565b61252b565b348015610ab5575f5ffd5b50600a5463ffffffff8082169164010000000081048216916801000000000000000082048116916c010000000000000000000000008104821691700100000000000000000000000000000000820481169160ff7401000000000000000000000000000000000000000082041691750100000000000000000000000000000000000000000090910416610417565b348015610b4d575f5ffd5b50610b61610b5c366004614d90565b6126a6565b6040516103749190615205565b348015610b79575f5ffd5b5061047d610b88366004615217565b61293a565b348015610b98575f5ffd5b506104d3610ba7366004614d90565b6129c6565b348015610bb7575f5ffd5b5061047d610bc6366004614d22565b6129fd565b348015610bd6575f5ffd5b50610368610be5366004614d90565b612cd8565b348015610bf5575f5ffd5b5061047d610c04366004614d22565b612d69565b348015610c14575f5ffd5b5061047d610c23366004614d22565b612dac565b348015610c33575f5ffd5b50610c47610c42366004614d90565b612e7b565b604051610374949392919061528e565b348015610c62575f5ffd5b5061047d610c71366004614fb5565b612f63565b348015610c81575f5ffd5b50610c8a612ffa565b60405161037491906152ea565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f5a05180f000000000000000000000000000000000000000000000000000000001480610cec5750610cec8261326a565b92915050565b81610cfc81613300565b610d04613394565b610d0d836113f9565b15610d44576040517fb42f66e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d4e83836133d5565b610d5760015f55565b505050565b600b545f9060ff16610dcf576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f436f6e7472616374206973206e6f7420636f6e6669677572656400000000000060448201526064015b60405180910390fd5b600b54610100900460ff1615610e41576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f436f6e74726163742069732064697361626c65640000000000000000000000006044820152606401610dc6565b81151580610e4e57505f34115b610eda576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152603860248201527f4469726563742066756e64696e6720726571756972656420666f72207265717560448201527f6573742066756c66696c6c6d656e742063616c6c6261636b00000000000000006064820152608401610dc6565b610ee4838361345c565b6001600c5f828254610ef69190615398565b909155505060408051610120810182528381523460208083019190915263ffffffff8616828401525f606083018190528351808301855281815260808401528351808301855281815260a08401528351808301855281815260c0840152600c5460e084018190523361010085018190528551808701909652908552918401919091529091610f8390611bcb565b60408051602080820183525f82528251808401909352600583527f424e32353400000000000000000000000000000000000000000000000000000090830152919250610fd0908383613758565b606084018181526080850184815260a086018490525f838152600d602090815260409182902088518155908801516001820155908701516002820180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff9092169190911790559151600383015551919550849160048201906110599082615447565b5060a0820151600582019061106e9082615447565b5060c082015160068201906110839082615447565b5060e0820151600782015561010090910151600890910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055600e80546001810182555f9190915283517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fd600990920291820190815560208501517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3fe83015560408501517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c3ff830180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffff000000001663ffffffff90921691909117905560608501517fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c400830155608085015185927fbb7b4a454dc3493923482f07822329ed19e8244eff582cc204f8554c3620c40101906111f99082615447565b5060a0820151600582019061120e9082615447565b5060c082015160068201906112239082615447565b5060e0820151600782015561010090910151600890910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909216919091179055600c5460405142815233919086907feee7195b6cee0fa7044c3af0b86fe2febb1d2703d71191f44052ba0d60ffda649060200160405180910390a450505092915050565b6112e97fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff166101001790556040517f75884cdadc4a89e8b545db800057f06ec7f5338a08183c7ba515f2bfdd9fe1e1905f90a1565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154611378816137f2565b61138283836137fc565b50505050565b5f6113998363ffffffff1683613851565b9392505050565b73ffffffffffffffffffffffffffffffffffffffff811633146113ef576040517f6697b23200000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b610d57828261399c565b5f8181526003602052604081206002018054825b81811015611498575f60025f85848154811061142b5761142b61555e565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff168352828101939093526040918201812089825290925290205467ffffffffffffffff690100000000000000000090910416111561149057506001949350505050565b60010161140d565b505f949350505050565b6114cb7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b60ff8216609b11611538576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f496e76616c6964205072656d69756d2050657263656e746167650000000000006044820152606401610dc6565b6040805160e0808201835263ffffffff8a81168084528a821660208086018290528b84168688018190528b851660608089018290528c87166080808b0182905260ff8e1660a0808d01829052998e1660c09c8d01819052600a80547fffffffffffffffffffffffffffffffffffffffffffffffff0000000000000000168b176401000000008b02177fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff166801000000000000000089027fffffffffffffffffffffffffffffffff00000000ffffffffffffffffffffffff16176c010000000000000000000000008802177fffffffffffffffffffffff0000000000ffffffffffffffffffffffffffffffff1670010000000000000000000000000000000086027fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff1617740100000000000000000000000000000000000000008402177fffffffffffffff00000000ffffffffffffffffffffffffffffffffffffffffff1675010000000000000000000000000000000000000000008302179055600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790558d51998a52968901979097529a8701939093528501529683019690965291810191909152918201929092527f55a28fde295f482c9f32d670c116103bca15724bcef4f18b35542e0553c35ad591015b60405180910390a150505050505050565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a00805468010000000000000000810460ff16159067ffffffffffffffff165f811580156117a75750825b90505f8267ffffffffffffffff1660011480156117c35750303b155b9050811580156117d1575080155b15611808576040517ff92ee8a900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b84547fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000016600117855583156118695784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff16680100000000000000001785555b6118716139e8565b6118796139e8565b6118a37fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c21775876137fc565b611909576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4772616e7420726f6c65206661696c65640000000000000000000000000000006044820152606401610dc6565b6119135f876137fc565b611979576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601160248201527f4772616e7420726f6c65206661696c65640000000000000000000000000000006044820152606401610dc6565b73ffffffffffffffffffffffffffffffffffffffff8716611a1c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602b60248201527f43616e6e6f7420736574207a65726f2061646472657373206173207369676e6160448201527f747572652073656e6465720000000000000000000000000000000000000000006064820152608401610dc6565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff89161790558315611ab95784547fffffffffffffffffffffffffffffffffffffffffffffff00ffffffffffffffff168555604051600181527fc7f505b2f371ae2175ee4913f4499e1f2633a7b5936321eed1cdaeb6115181d29060200161174c565b50505050505050565b5f610cec8263ffffffff163a613851565b611adb6139f2565b611ae482613af6565b611aee8282613b1f565b5050565b5f611afb613c58565b507f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5b90565b611b29613394565b611b527fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b6008546c0100000000000000000000000090046bffffffffffffffffffffffff16611b7e811515613cc7565b600880547fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff169055611bbe826bffffffffffffffffffffffff8316613cfe565b50611bc860015f55565b50565b8051604051606091611be39160200190815260200190565b604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0818403018152828252805160209182012090830152016040516020818303038152906040529050919050565b600b545f9060ff16611ca2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f436f6e7472616374206973206e6f7420636f6e666967757265640000000000006044820152606401610dc6565b600b54610100900460ff1615611d14576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601460248201527f436f6e74726163742069732064697361626c65640000000000000000000000006044820152606401610dc6565b610cec825f610d5c565b5f8281527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000602081905260408220611d569084613d94565b949350505050565b611d66613394565b5f81815260036020526040902054611d939073ffffffffffffffffffffffffffffffffffffffff16613d9f565b5f81815260046020526040812080546bffffffffffffffffffffffff1691349190611dbe838561558b565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055503460085f8282829054906101000a90046bffffffffffffffffffffffff16611e14919061558b565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550817f7603b205d03651ee812f803fccde89f1012e545a9c99f0abfea9cedd0fd8e902823484611e719190615398565b604080519283526020830191909152015b60405180910390a250611bc860015f55565b5f611e9d613394565b60055467ffffffffffffffff1633611eb66001436155af565b6040517fffffffffffffffffffffffffffffffffffffffff000000000000000000000000606093841b81166020830152914060348201523090921b1660548201527fffffffffffffffff00000000000000000000000000000000000000000000000060c083901b166068820152607001604080517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe081840301815291905280516020909101209150611f698160016155c2565b600580547fffffffffffffffffffffffffffffffffffffffffffffffff00000000000000001667ffffffffffffffff928316179055604080515f808252606080830184526020808401838152848601848152898552600483528685209151825491516bffffffffffffffffffffffff9091167fffffffffffffffffffffffff0000000000000000000000000000000000000000928316176c01000000000000000000000000919099160297909717905584519182018552338252818101838152828601858152898552600383529590932082518154881673ffffffffffffffffffffffffffffffffffffffff918216178255935160018201805490981694169390931790955592518051929491926120879260028501920190614c0f565b5061209791506006905084613dec565b5060405133815283907f1d3015d7ba850fa198dc7b1a3f5d42779313a681035f77c8c03764c61005518d9060200160405180910390a25050611b1e60015f55565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000602081905260409091206060919061139990613df7565b61213d7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b600b80547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00ff1690556040517fc0f961051f97b04c496472d11cb6170d844e4b2c9dfd3b602a4fa0139712d484905f90a1565b6121b87fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b5f8181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff166121e581613d9f565b611aee82826133d5565b60605f6121fc6006613e03565b9050808410612237576040517f1390f2a100000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f6122428486615398565b905081811180612250575083155b61225a578061225c565b815b90505f61226986836155af565b90508067ffffffffffffffff81111561228457612284614e74565b6040519080825280602002602001820160405280156122ad578160200160208202803683370190505b5093505f5b818110156122f4576122cf6122c78883615398565b600690613d94565b8582815181106122e1576122e161555e565b60209081029190910101526001016122b2565b5050505092915050565b612306613394565b5f8181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1661233381613d9f565b5f8281526003602052604090206001015473ffffffffffffffffffffffffffffffffffffffff1633146123bd575f82815260036020526040908190206001015490517fd084e97500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff9091166004820152602401610dc6565b5f828152600360209081526040918290208054337fffffffffffffffffffffffff000000000000000000000000000000000000000091821681178355600190920180549091169055825173ffffffffffffffffffffffffffffffffffffffff851681529182015283917fd4114ab6e9af9f597c52041f32d62dc57c5c4e4c0d4427006069635e216c93869101611e82565b612456613394565b61247f7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b6009546bffffffffffffffffffffffff1661249b811515613cc7565b600980547fffffffffffffffffffffffffffffffffffffffff000000000000000000000000169055600880548291905f906124e59084906bffffffffffffffffffffffff166155e2565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff160217905550611bbe82826bffffffffffffffffffffffff16613cfe565b8161253581613300565b61253d613394565b73ffffffffffffffffffffffffffffffffffffffff82165f9081526002602090815260408083208684529091529020805460ff161561257c5750610d4e565b5f84815260036020526040902060020180547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c016125e6576040517f05a48e0f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b815460017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0090911681178355815490810182555f82815260209081902090910180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff871690811790915560405190815286917f1e980d04aa7648e205713e5e8ea3808672ac163d10936d36f91b2c88ac1575e191015b60405180910390a25050610d5760015f55565b61270b6040518061012001604052805f81526020015f81526020015f63ffffffff1681526020015f81526020016060815260200160608152602001606081526020015f81526020015f73ffffffffffffffffffffffffffffffffffffffff1681525090565b5f828152600d602090815260409182902082516101208101845281548152600182015492810192909252600281015463ffffffff169282019290925260038201546060820152600482018054919291608084019190612769906153ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612795906153ab565b80156127e05780601f106127b7576101008083540402835291602001916127e0565b820191905f5260205f20905b8154815290600101906020018083116127c357829003601f168201915b505050505081526020016005820180546127f9906153ab565b80601f0160208091040260200160405190810160405280929190818152602001828054612825906153ab565b80156128705780601f1061284757610100808354040283529160200191612870565b820191905f5260205f20905b81548152906001019060200180831161285357829003601f168201915b50505050508152602001600682018054612889906153ab565b80601f01602080910402602001604051908101604052809291908181526020018280546128b5906153ab565b80156129005780601f106128d757610100808354040283529160200191612900565b820191905f5260205f20905b8154815290600101906020018083116128e357829003601f168201915b50505091835250506007820154602082015260089091015473ffffffffffffffffffffffffffffffffffffffff1660409091015292915050565b60015473ffffffffffffffffffffffffffffffffffffffff1633146129bb576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601d60248201527f4f6e6c79207369676e617475726553656e6465722063616e2063616c6c0000006044820152606401610dc6565b610d57838383613e0c565b5f8181527fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e8237170593200060208190526040822061139990613e03565b81612a0781613300565b612a0f613394565b612a18836113f9565b15612a4f576040517fb42f66e800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b73ffffffffffffffffffffffffffffffffffffffff82165f90815260026020908152604080832086845290915290205460ff16612ad7576040517f79bfd4010000000000000000000000000000000000000000000000000000000081526004810184905273ffffffffffffffffffffffffffffffffffffffff83166024820152604401610dc6565b5f838152600360205260408120600201805490915b81811015612c52578473ffffffffffffffffffffffffffffffffffffffff16838281548110612b1d57612b1d61555e565b5f9182526020909120015473ffffffffffffffffffffffffffffffffffffffff1603612c4a5782612b4f6001846155af565b81548110612b5f57612b5f61555e565b905f5260205f20015f9054906101000a900473ffffffffffffffffffffffffffffffffffffffff16838281548110612b9957612b9961555e565b905f5260205f20015f6101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555082805480612bee57612bee615606565b5f8281526020902081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90810180547fffffffffffffffffffffffff0000000000000000000000000000000000000000169055019055612c52565b600101612aec565b5073ffffffffffffffffffffffffffffffffffffffff84165f81815260026020908152604080832089845282529182902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff00169055905191825286917f32158c6058347c1601b2d12bc696ac6901d8a9a9aa3ba10c27ab0a983e8425a79101612693565b6001546040517fcd802c91000000000000000000000000000000000000000000000000000000008152600481018390525f9173ffffffffffffffffffffffffffffffffffffffff169063cd802c9190602401602060405180830381865afa158015612d45573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190610cec9190615633565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020526040902060010154612da2816137f2565b611382838361399c565b81612db681613300565b612dbe613394565b5f838152600360205260409020600181015473ffffffffffffffffffffffffffffffffffffffff848116911614612e71576001810180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff851690811790915560408051338152602081019290925285917f21a4dad170a6bf476c31bbcf4a16628295b0e450672eec25d7c93308e05344a1910160405180910390a25b50610d5760015f55565b5f81815260036020526040812054819073ffffffffffffffffffffffffffffffffffffffff166060612eac82613d9f565b5f85815260046020908152604080832054600383529281902060020180548251818502810185019093528083526bffffffffffffffffffffffff8516946c01000000000000000000000000900467ffffffffffffffff16938793918391830182828015612f4d57602002820191905f5260205f20905b815473ffffffffffffffffffffffffffffffffffffffff168152600190910190602001808311612f22575b5050505050905093509350935093509193509193565b612f8c7fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b600180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff83169081179091556040517f229f6c3b095d683755a99ab458956747a8b7066c3dd42927d850631c34c238f1905f90a250565b6060600e805480602002602001604051908101604052809291908181526020015f905b82821015613261575f84815260209081902060408051610120810182526009860290920180548352600181015493830193909352600283015463ffffffff169082015260038201546060820152600482018054919291608084019190613082906153ab565b80601f01602080910402602001604051908101604052809291908181526020018280546130ae906153ab565b80156130f95780601f106130d0576101008083540402835291602001916130f9565b820191905f5260205f20905b8154815290600101906020018083116130dc57829003601f168201915b50505050508152602001600582018054613112906153ab565b80601f016020809104026020016040519081016040528092919081815260200182805461313e906153ab565b80156131895780601f1061316057610100808354040283529160200191613189565b820191905f5260205f20905b81548152906001019060200180831161316c57829003601f168201915b505050505081526020016006820180546131a2906153ab565b80601f01602080910402602001604051908101604052809291908181526020018280546131ce906153ab565b80156132195780601f106131f057610100808354040283529160200191613219565b820191905f5260205f20905b8154815290600101906020018083116131fc57829003601f168201915b5050509183525050600782015460208083019190915260089092015473ffffffffffffffffffffffffffffffffffffffff16604090910152908252600192909201910161301d565b50505050905090565b5f7fffffffff0000000000000000000000000000000000000000000000000000000082167f7965db0b000000000000000000000000000000000000000000000000000000001480610cec57507f01ffc9a7000000000000000000000000000000000000000000000000000000007fffffffff00000000000000000000000000000000000000000000000000000000831614610cec565b5f8181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1661332d81613d9f565b3373ffffffffffffffffffffffffffffffffffffffff821614611aee576040517fd8a3fb5200000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610dc6565b60025f54036133cf576040517f3ee5aeb500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b60025f55565b5f6133df83614004565b90506133f982826bffffffffffffffffffffffff16613cfe565b6040805173ffffffffffffffffffffffffffffffffffffffff841681526bffffffffffffffffffffffff8316602082015284917f3784f77e8e883de95b5d47cd713ced01229fa74d118c0a462224bcb0516d43f1910160405180910390a2505050565b600a5463ffffffff90811690831611156134d2576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601a60248201527f43616c6c6261636b206761734c696d697420746f6f20686967680000000000006044820152606401610dc6565b80156136db575f8181526003602052604090205473ffffffffffffffffffffffffffffffffffffffff1661350581613d9f565b335f908152600260209081526040808320858452808352928190208151606081018352905460ff8116151580835267ffffffffffffffff6101008304811695840195909552690100000000000000000090910490931691810191909152906135ef576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152602160248201527f4e6f2061637469766520737562736372697074696f6e20666f722063616c6c6560448201527f72000000000000000000000000000000000000000000000000000000000000006064820152608401610dc6565b8060200180516135fe90615652565b67ffffffffffffffff16905260408101805161361990615652565b67ffffffffffffffff9081169091525f85815260209384526040908190208351815495850151929094015183166901000000000000000000027fffffffffffffffffffffffffffffff0000000000000000ffffffffffffffffff92909316610100027fffffffffffffffffffffffffffffffffffffffffffffff0000000000000000ff941515949094167fffffffffffffffffffffffffffffffffffffffffffffff000000000000000000909516949094179290921791909116179055505050565b5f6136ec8363ffffffff163a613851565b905080341015610d57576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152600b60248201527f46656520746f6f206c6f770000000000000000000000000000000000000000006044820152606401610dc6565b6001546040517f95b8d0730000000000000000000000000000000000000000000000000000000081525f9173ffffffffffffffffffffffffffffffffffffffff16906395b8d073906137b29087908790879060040161567e565b6020604051808303815f875af11580156137ce573d5f5f3e3d5ffd5b505050506040513d601f19601f82011682018060405250810190611d5691906156b6565b611bc881336141ba565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000816138298585614260565b90508015611d56575f858152602083905260409020613848908561437e565b50949350505050565b6040805160e081018252600a5463ffffffff80821683526401000000008204811660208401526801000000000000000082048116938301939093526c0100000000000000000000000081048316606083015270010000000000000000000000000000000081048316608083015260ff7401000000000000000000000000000000000000000082041660a08301527501000000000000000000000000000000000000000000900490911660c08201525f90818361391757816060015163ffffffff16613919565b835b90505f6139258661439f565b63ffffffff16836080015163ffffffff1687856020015163ffffffff16010101820290505f6139515f90565b90505f8460a0015160640160ff1690505f856040015163ffffffff1664e8d4a510000290505f81606484878701028161398c5761398c6156cd565b04019a9950505050505050505050565b5f7fc1f6fe24621ce81ec5827caf0253cadb74709b061630e6b55e82371705932000816139c985856143b6565b90508015611d56575f8581526020839052604090206138489085614492565b6139f06144b3565b565b3073ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000161480613abf57507f000000000000000000000000000000000000000000000000000000000000000073ffffffffffffffffffffffffffffffffffffffff16613aa67f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc5473ffffffffffffffffffffffffffffffffffffffff1690565b73ffffffffffffffffffffffffffffffffffffffff1614155b156139f0576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b611bc87fa49807205ce4d355092ef5a8a18f56e8913cf4a201fbe287825b095693c217756137f2565b8173ffffffffffffffffffffffffffffffffffffffff166352d1902d6040518163ffffffff1660e01b8152600401602060405180830381865afa925050508015613ba4575060408051601f3d9081017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0168201909252613ba1918101906156b6565b60015b613bf2576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff83166004820152602401610dc6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc8114613c4e576040517faa1d49a400000000000000000000000000000000000000000000000000000000815260048101829052602401610dc6565b610d57838361451a565b3073ffffffffffffffffffffffffffffffffffffffff7f000000000000000000000000000000000000000000000000000000000000000016146139f0576040517fe07c8dba00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b80611bc8576040517ff4d678b800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f8273ffffffffffffffffffffffffffffffffffffffff16826040515f6040518083038185875af1925050503d805f8114613d54576040519150601f19603f3d011682016040523d82523d5f602084013e613d59565b606091505b5050905080610d57576040517f950b247900000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f611399838361457c565b73ffffffffffffffffffffffffffffffffffffffff8116611bc8576040517f1f6a65b600000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f61139983836145a2565b60605f611399836145ee565b5f610cec825490565b5f5a5f858152600d60205260409020600781015491925090613e8a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260206004820152601960248201527f4e6f207265717565737420666f722072657175657374206964000000000000006044820152606401610dc6565b5f8484604051613e9b9291906156fa565b604080519182900382206024830189905260448084018290528251808503909101815260649093019091526020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff167f431ac6570000000000000000000000000000000000000000000000000000000017905260088401546002850154600a549294505f92613f6b92859273ffffffffffffffffffffffffffffffffffffffff9091169163ffffffff91821691750100000000000000000000000000000000000000000090910481169061464716565b5090508015613fc55760068401613f83878983615709565b50877fb74b3204a538cd8021662d42e794681ddc339924ef675b8fd11e9eaf6aa19eb5848989604051613fb89392919061581f565b60405180910390a2613ff0565b60405188907f8f67472dde2126ccd0315b75dc482a5a73acb228a395553f8ae6edde5a0ca4fa905f90a25b613ffa888661467e565b5050505050505050565b5f8181526003602090815260408083206004909252822054600290910180546bffffffffffffffffffffffff909216929091905b818110156140be5760025f8483815481106140555761405561555e565b5f91825260208083209091015473ffffffffffffffffffffffffffffffffffffffff1683528281019390935260409182018120888252909252902080547fffffffffffffffffffffffffffffff0000000000000000000000000000000000169055600101614038565b505f84815260036020526040812080547fffffffffffffffffffffffff0000000000000000000000000000000000000000908116825560018201805490911690559061410d6002830182614c97565b50505f84815260046020526040902080547fffffffffffffffffffffffff000000000000000000000000000000000000000016905561414d60068561478d565b506bffffffffffffffffffffffff8316156141b357600880548491905f906141849084906bffffffffffffffffffffffff166155e2565b92506101000a8154816bffffffffffffffffffffffff02191690836bffffffffffffffffffffffff1602179055505b5050919050565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020908152604080832073ffffffffffffffffffffffffffffffffffffffff8516845290915290205460ff16611aee576040517fe2517d3f00000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff8216600482015260248101839052604401610dc6565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff16614375575f8481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff87168452909152902080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660011790556143113390565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16857f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a46001915050610cec565b5f915050610cec565b5f6113998373ffffffffffffffffffffffffffffffffffffffff84166145a2565b5f6143ab603f83615872565b610cec9060016158be565b5f8281527f02dd7bc7dec4dceedda775e58dd541e08a116c6c53815c0bd028192f7b6268006020818152604080842073ffffffffffffffffffffffffffffffffffffffff8616855290915282205460ff1615614375575f8481526020828152604080832073ffffffffffffffffffffffffffffffffffffffff8716808552925280832080547fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0016905551339287917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a46001915050610cec565b5f6113998373ffffffffffffffffffffffffffffffffffffffff8416614794565b7ff0c57e16840df040f15088dc2f81fe391c3923bec73e23a9662efc9c229c6a005468010000000000000000900460ff166139f0576040517fd7e6bcf800000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b6145238261486e565b60405173ffffffffffffffffffffffffffffffffffffffff8316907fbc7cd75a20ee27fd9adebab32041f755214dbc6bffa90cc0225b39da2e5c2d3b905f90a280511561457457610d57828261493c565b611aee6149bb565b5f825f0182815481106145915761459161555e565b905f5260205f200154905092915050565b5f8181526001830160205260408120546145e757508154600181810184555f848152602080822090930184905584548482528286019093526040902091909155610cec565b505f610cec565b6060815f0180548060200260200160405190810160405280929190818152602001828054801561463b57602002820191905f5260205f20905b815481526020019060010190808311614627575b50505050509050919050565b5f5f5a83811061467457839003604081048103851015614674575f5f885160208a015f8a8af19250600191505b5094509492505050565b5f614688836126a6565b80519091501561477c5780515f9081526004602052604090208054600c906146c9906c01000000000000000000000000900467ffffffffffffffff16615652565b825467ffffffffffffffff91821661010093840a908102908302199091161790925582015173ffffffffffffffffffffffffffffffffffffffff165f9081526002602090815260408083208551845290915290208054909160099161473c916901000000000000000000909104166158da565b91906101000a81548167ffffffffffffffff021916908367ffffffffffffffff1602179055505f61476d833a6149f3565b905061138281835f0151614a61565b610d578160200151825f0151614a61565b5f61139983835b5f8181526001830160205260408120548015614375575f6147b66001836155af565b85549091505f906147c9906001906155af565b9050808214614828575f865f0182815481106147e7576147e761555e565b905f5260205f200154905080875f0184815481106148075761480761555e565b5f918252602080832090910192909255918252600188019052604090208390555b855486908061483957614839615606565b600190038181905f5260205f20015f90559055856001015f8681526020019081526020015f205f905560019350505050610cec565b8073ffffffffffffffffffffffffffffffffffffffff163b5f036148d6576040517f4c9c8ce300000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff82166004820152602401610dc6565b7f360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc80547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92909216919091179055565b60605f5f8473ffffffffffffffffffffffffffffffffffffffff1684604051614965919061591b565b5f60405180830381855af49150503d805f811461499d576040519150601f19603f3d011682016040523d82523d5f602084013e6149a2565b606091505b50915091506149b2858383614b3e565b95945050505050565b34156139f0576040517fb398979f00000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b5f5f5a600a54640100000000900463ffffffff1685010390508281025f600a5460649190920160ff740100000000000000000000000000000000000000008404168201020464e8d4a5100063ffffffff68010000000000000000909304929092169190910201949350505050565b8015614ae9575f81815260046020526040902080546bffffffffffffffffffffffff90811690614a95908516821015613cc7565b81546bffffffffffffffffffffffff9185900382167fffffffffffffffffffffffffffffffffffffffff00000000000000000000000091821617909255600980548083168601909216919092161790555050565b600880546bffffffffffffffffffffffff6c0100000000000000000000000080830482168601909116027fffffffffffffffff000000000000000000000000ffffffffffffffffffffffff9091161790555050565b606082614b5357614b4e82614bcd565b611399565b8151158015614b77575073ffffffffffffffffffffffffffffffffffffffff84163b155b15614bc6576040517f9996b31500000000000000000000000000000000000000000000000000000000815273ffffffffffffffffffffffffffffffffffffffff85166004820152602401610dc6565b5080611399565b805115614bdd5780518082602001fd5b6040517fd6bda27500000000000000000000000000000000000000000000000000000000815260040160405180910390fd5b828054828255905f5260205f20908101928215614c87579160200282015b82811115614c8757825182547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff909116178255602090920191600190910190614c2d565b50614c93929150614cae565b5090565b5080545f8255905f5260205f2090810190611bc891905b5b80821115614c93575f8155600101614caf565b5f60208284031215614cd2575f5ffd5b81357fffffffff0000000000000000000000000000000000000000000000000000000081168114611399575f5ffd5b73ffffffffffffffffffffffffffffffffffffffff81168114611bc8575f5ffd5b5f5f60408385031215614d33575f5ffd5b823591506020830135614d4581614d01565b809150509250929050565b803563ffffffff81168114614d63575f5ffd5b919050565b5f5f60408385031215614d79575f5ffd5b614d8283614d50565b946020939093013593505050565b5f60208284031215614da0575f5ffd5b5035919050565b5f5f5f5f5f5f5f60e0888a031215614dbd575f5ffd5b614dc688614d50565b9650614dd460208901614d50565b9550614de260408901614d50565b9450614df060608901614d50565b9350614dfe60808901614d50565b925060a088013560ff81168114614e13575f5ffd5b9150614e2160c08901614d50565b905092959891949750929550565b5f5f60408385031215614e40575f5ffd5b8235614e4b81614d01565b91506020830135614d4581614d01565b5f60208284031215614e6b575f5ffd5b61139982614d50565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b604051601f82017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016810167ffffffffffffffff81118282101715614ee857614ee8614e74565b604052919050565b5f5f60408385031215614f01575f5ffd5b8235614f0c81614d01565b9150602083013567ffffffffffffffff811115614f27575f5ffd5b8301601f81018513614f37575f5ffd5b803567ffffffffffffffff811115614f5157614f51614e74565b614f8260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f84011601614ea1565b818152866020838501011115614f96575f5ffd5b816020840160208301375f602083830101528093505050509250929050565b5f60208284031215614fc5575f5ffd5b813561139981614d01565b5f81518084528060208401602086015e5f6020828601015260207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe0601f83011685010191505092915050565b602081525f6113996020830184614fd0565b5f604082840312801561503f575f5ffd5b506040805190810167ffffffffffffffff8111828210171561506357615063614e74565b60405282358152602083013561507881614d01565b60208201529392505050565b5f5f60408385031215615095575f5ffd5b50508035926020909101359150565b5f8151808452602084019350602083015f5b828110156150ea57815173ffffffffffffffffffffffffffffffffffffffff168652602095860195909101906001016150b6565b5093949350505050565b602081525f61139960208301846150a4565b602080825282518282018190525f918401906040840190835b8181101561513d57835183526020938401939092019160010161511f565b509095945050505050565b80518252602081015160208301525f604082015161516e604085018263ffffffff169052565b506060820151606084015260808201516101206080850152615194610120850182614fd0565b905060a083015184820360a08601526151ad8282614fd0565b91505060c083015184820360c08601526151c78282614fd0565b91505060e083015160e08501526101008301516151fd61010086018273ffffffffffffffffffffffffffffffffffffffff169052565b509392505050565b602081525f6113996020830184615148565b5f5f5f60408486031215615229575f5ffd5b83359250602084013567ffffffffffffffff811115615246575f5ffd5b8401601f81018613615256575f5ffd5b803567ffffffffffffffff81111561526c575f5ffd5b86602082840101111561527d575f5ffd5b939660209190910195509293505050565b6bffffffffffffffffffffffff8516815267ffffffffffffffff8416602082015273ffffffffffffffffffffffffffffffffffffffff83166040820152608060608201525f6152e060808301846150a4565b9695505050505050565b5f602082016020835280845180835260408501915060408160051b8601019250602086015f5b8281101561535f577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc087860301845261534a858351615148565b94506020938401939190910190600101615310565b50929695505050505050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b80820180821115610cec57610cec61536b565b600181811c908216806153bf57607f821691505b6020821081036153f6577f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b50919050565b601f821115610d5757805f5260205f20601f840160051c810160208510156154215750805b601f840160051c820191505b81811015615440575f815560010161542d565b5050505050565b815167ffffffffffffffff81111561546157615461614e74565b6154758161546f84546153ab565b846153fc565b6020601f8211600181146154c6575f83156154905750848201515b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600385901b1c1916600184901b178455615440565b5f848152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08516915b8281101561551357878501518255602094850194600190920191016154f3565b508482101561554f57868401517fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b60f8161c191681555b50505050600190811b01905550565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b6bffffffffffffffffffffffff8181168382160190811115610cec57610cec61536b565b81810381811115610cec57610cec61536b565b67ffffffffffffffff8181168382160190811115610cec57610cec61536b565b6bffffffffffffffffffffffff8281168282160390811115610cec57610cec61536b565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603160045260245ffd5b5f60208284031215615643575f5ffd5b81518015158114611399575f5ffd5b5f67ffffffffffffffff821667ffffffffffffffff81036156755761567561536b565b60010192915050565b606081525f6156906060830186614fd0565b82810360208401526156a28186614fd0565b905082810360408401526152e08185614fd0565b5f602082840312156156c6575f5ffd5b5051919050565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b818382375f9101908152919050565b67ffffffffffffffff83111561572157615721614e74565b6157358361572f83546153ab565b836153fc565b5f601f841160018114615785575f851561574f5750838201355b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff600387901b1c1916600186901b178355615440565b5f838152602081207fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe08716915b828110156157d257868501358255602094850194600190920191016157b2565b508682101561580d577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff60f88860031b161c19848701351681555b505060018560011b0183555050505050565b83815260406020820152816040820152818360608301375f818301606090810191909152601f9092017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe016010192915050565b5f63ffffffff8316806158ac577f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b8063ffffffff84160491505092915050565b63ffffffff8181168382160190811115610cec57610cec61536b565b5f67ffffffffffffffff8216806158f3576158f361536b565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0192915050565b5f82518060208501845e5f92019182525091905056fea26469706673582212200f4b10858582ff865ecdf9cf11f77cc923fb2ac799cf583fc61cd848236a376764736f6c634300081c0033";
static readonly abi: readonly [{
readonly type: "constructor";
readonly inputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "ADMIN_ROLE";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "DEFAULT_ADMIN_ROLE";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "bytes32";
readonly internalType: "bytes32";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "MAX_CONSUMERS";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "uint16";
readonly internalType: "uint16";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "SCHEME_ID";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
readonly internalType: "string";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "UPGRADE_INTERFACE_VERSION";
readonly inputs: readonly [];
readonly outputs: readonly [{
readonly name: "";
readonly type: "string";
readonly internalType: "string";
}];
readonly stateMutability: "view";
}, {
readonly type: "function";
readonly name: "acceptSubscriptionOwnerTransfer";
readonly inputs: readonly [{
readonly name: "subId";
readonly type: "uint256";
readonly internalType: "uint256";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "addConsumer";
readonly inputs: readonly [{
readonly name: "subId";
readonly type: "uint256";
readonly internalType: "uint256";
}, {
readonly name: "consumer";
readonly type: "address";
readonly internalType: "address";
}];
readonly outputs: readonly [];
readonly stateMutability: "nonpayable";
}, {
readonly type: "function";
readonly name: "calculateRequestPriceNative";
readonly inputs