@aztec/l1-artifacts 1.0.0-nightly.20250615 → 1.0.0-nightly.20250617
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dest/CoinIssuerAbi.d.ts +162 -6
- package/dest/CoinIssuerAbi.d.ts.map +1 -1
- package/dest/CoinIssuerAbi.js +216 -6
- package/dest/CoinIssuerBytecode.d.ts +1 -1
- package/dest/CoinIssuerBytecode.js +1 -1
- package/dest/EmpireBaseAbi.d.ts +164 -8
- package/dest/EmpireBaseAbi.d.ts.map +1 -1
- package/dest/EmpireBaseAbi.js +218 -8
- package/dest/ErrorsAbi.d.ts +162 -6
- package/dest/ErrorsAbi.d.ts.map +1 -1
- package/dest/ErrorsAbi.js +216 -6
- package/dest/ExtRollupLib2Abi.d.ts +216 -10
- package/dest/ExtRollupLib2Abi.d.ts.map +1 -1
- package/dest/ExtRollupLib2Abi.js +284 -11
- package/dest/ExtRollupLib2Bytecode.d.ts +1 -1
- package/dest/ExtRollupLib2Bytecode.d.ts.map +1 -1
- package/dest/ExtRollupLib2Bytecode.js +1 -1
- package/dest/ExtRollupLibAbi.d.ts +166 -10
- package/dest/ExtRollupLibAbi.d.ts.map +1 -1
- package/dest/ExtRollupLibAbi.js +221 -11
- package/dest/ExtRollupLibBytecode.d.ts +1 -1
- package/dest/ExtRollupLibBytecode.d.ts.map +1 -1
- package/dest/ExtRollupLibBytecode.js +1 -1
- package/dest/FeeAssetHandlerAbi.d.ts +162 -6
- package/dest/FeeAssetHandlerAbi.d.ts.map +1 -1
- package/dest/FeeAssetHandlerAbi.js +216 -6
- package/dest/FeeAssetHandlerBytecode.d.ts +1 -1
- package/dest/FeeAssetHandlerBytecode.js +1 -1
- package/dest/FeeJuicePortalAbi.d.ts +162 -6
- package/dest/FeeJuicePortalAbi.d.ts.map +1 -1
- package/dest/FeeJuicePortalAbi.js +216 -6
- package/dest/FeeJuicePortalBytecode.d.ts +1 -1
- package/dest/FeeJuicePortalBytecode.js +1 -1
- package/dest/ForwarderAbi.d.ts +162 -6
- package/dest/ForwarderAbi.d.ts.map +1 -1
- package/dest/ForwarderAbi.js +216 -6
- package/dest/GSEAbi.d.ts +168 -0
- package/dest/GSEAbi.d.ts.map +1 -1
- package/dest/GSEAbi.js +226 -0
- package/dest/GSEBytecode.d.ts +1 -1
- package/dest/GSEBytecode.d.ts.map +1 -1
- package/dest/GSEBytecode.js +1 -1
- package/dest/GovernanceAbi.d.ts +179 -23
- package/dest/GovernanceAbi.d.ts.map +1 -1
- package/dest/GovernanceAbi.js +237 -27
- package/dest/GovernanceBytecode.d.ts +1 -1
- package/dest/GovernanceBytecode.js +1 -1
- package/dest/GovernanceProposerAbi.d.ts +164 -8
- package/dest/GovernanceProposerAbi.d.ts.map +1 -1
- package/dest/GovernanceProposerAbi.js +218 -8
- package/dest/GovernanceProposerBytecode.d.ts +1 -1
- package/dest/GovernanceProposerBytecode.js +1 -1
- package/dest/HonkVerifierAbi.d.ts +162 -6
- package/dest/HonkVerifierAbi.d.ts.map +1 -1
- package/dest/HonkVerifierAbi.js +216 -6
- package/dest/HonkVerifierBytecode.d.ts +1 -1
- package/dest/HonkVerifierBytecode.d.ts.map +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/dest/IERC20Abi.d.ts +168 -12
- package/dest/IERC20Abi.d.ts.map +1 -1
- package/dest/IERC20Abi.js +226 -16
- package/dest/IVerifierAbi.d.ts +162 -6
- package/dest/IVerifierAbi.d.ts.map +1 -1
- package/dest/IVerifierAbi.js +216 -6
- package/dest/InboxAbi.d.ts +162 -6
- package/dest/InboxAbi.d.ts.map +1 -1
- package/dest/InboxAbi.js +216 -6
- package/dest/InboxBytecode.d.ts +1 -1
- package/dest/InboxBytecode.js +1 -1
- package/dest/MockVerifierAbi.d.ts +162 -6
- package/dest/MockVerifierAbi.d.ts.map +1 -1
- package/dest/MockVerifierAbi.js +216 -6
- package/dest/MockZKPassportVerifierAbi.d.ts +162 -6
- package/dest/MockZKPassportVerifierAbi.d.ts.map +1 -1
- package/dest/MockZKPassportVerifierAbi.js +216 -6
- package/dest/MultiAdderAbi.d.ts +162 -6
- package/dest/MultiAdderAbi.d.ts.map +1 -1
- package/dest/MultiAdderAbi.js +216 -6
- package/dest/MultiAdderBytecode.d.ts +1 -1
- package/dest/MultiAdderBytecode.d.ts.map +1 -1
- package/dest/MultiAdderBytecode.js +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.d.ts +162 -6
- package/dest/NewGovernanceProposerPayloadAbi.d.ts.map +1 -1
- package/dest/NewGovernanceProposerPayloadAbi.js +216 -6
- package/dest/NewGovernanceProposerPayloadBytecode.d.ts +1 -1
- package/dest/NewGovernanceProposerPayloadBytecode.js +1 -1
- package/dest/OutboxAbi.d.ts +162 -6
- package/dest/OutboxAbi.d.ts.map +1 -1
- package/dest/OutboxAbi.js +216 -6
- package/dest/OutboxBytecode.d.ts +1 -1
- package/dest/OutboxBytecode.js +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts +162 -6
- package/dest/RegisterNewRollupVersionPayloadAbi.d.ts.map +1 -1
- package/dest/RegisterNewRollupVersionPayloadAbi.js +216 -6
- package/dest/RegisterNewRollupVersionPayloadBytecode.d.ts +1 -1
- package/dest/RegisterNewRollupVersionPayloadBytecode.js +1 -1
- package/dest/RegistryAbi.d.ts +165 -9
- package/dest/RegistryAbi.d.ts.map +1 -1
- package/dest/RegistryAbi.js +219 -9
- package/dest/RegistryBytecode.d.ts +1 -1
- package/dest/RegistryBytecode.js +1 -1
- package/dest/RewardDistributorAbi.d.ts +168 -12
- package/dest/RewardDistributorAbi.d.ts.map +1 -1
- package/dest/RewardDistributorAbi.js +226 -16
- package/dest/RewardDistributorBytecode.d.ts +1 -1
- package/dest/RewardDistributorBytecode.js +1 -1
- package/dest/RollupAbi.d.ts +226 -6
- package/dest/RollupAbi.d.ts.map +1 -1
- package/dest/RollupAbi.js +297 -6
- package/dest/RollupBytecode.d.ts +23 -20
- package/dest/RollupBytecode.d.ts.map +1 -1
- package/dest/RollupBytecode.js +24 -20
- package/dest/RollupStorage.d.ts +3 -3
- package/dest/RollupStorage.js +3 -3
- package/dest/SlashFactoryAbi.d.ts +162 -6
- package/dest/SlashFactoryAbi.d.ts.map +1 -1
- package/dest/SlashFactoryAbi.js +216 -6
- package/dest/SlashFactoryBytecode.d.ts +1 -1
- package/dest/SlashFactoryBytecode.js +1 -1
- package/dest/SlasherAbi.d.ts +162 -6
- package/dest/SlasherAbi.d.ts.map +1 -1
- package/dest/SlasherAbi.js +216 -6
- package/dest/SlasherBytecode.d.ts +1 -1
- package/dest/SlasherBytecode.js +1 -1
- package/dest/SlashingProposerAbi.d.ts +164 -8
- package/dest/SlashingProposerAbi.d.ts.map +1 -1
- package/dest/SlashingProposerAbi.js +218 -8
- package/dest/SlashingProposerBytecode.d.ts +1 -1
- package/dest/SlashingProposerBytecode.js +1 -1
- package/dest/StakingAssetHandlerAbi.d.ts +168 -12
- package/dest/StakingAssetHandlerAbi.d.ts.map +1 -1
- package/dest/StakingAssetHandlerAbi.js +226 -16
- package/dest/StakingAssetHandlerBytecode.d.ts +1 -1
- package/dest/StakingAssetHandlerBytecode.js +1 -1
- package/dest/TestERC20Abi.d.ts +168 -12
- package/dest/TestERC20Abi.d.ts.map +1 -1
- package/dest/TestERC20Abi.js +226 -16
- package/dest/TestERC20Bytecode.d.ts +1 -1
- package/dest/TestERC20Bytecode.js +1 -1
- package/dest/TokenPortalAbi.d.ts +162 -6
- package/dest/TokenPortalAbi.d.ts.map +1 -1
- package/dest/TokenPortalAbi.js +216 -6
- package/dest/TokenPortalBytecode.d.ts +1 -1
- package/dest/TokenPortalBytecode.js +1 -1
- package/dest/UniswapPortalAbi.d.ts +162 -6
- package/dest/UniswapPortalAbi.d.ts.map +1 -1
- package/dest/UniswapPortalAbi.js +216 -6
- package/dest/UniswapPortalBytecode.d.ts +1 -1
- package/dest/UniswapPortalBytecode.js +1 -1
- package/dest/ValidatorSelectionLibAbi.d.ts +162 -6
- package/dest/ValidatorSelectionLibAbi.d.ts.map +1 -1
- package/dest/ValidatorSelectionLibAbi.js +216 -6
- package/dest/ValidatorSelectionLibBytecode.d.ts +1 -1
- package/dest/ValidatorSelectionLibBytecode.js +1 -1
- package/dest/checksum.d.ts +1 -1
- package/dest/checksum.js +1 -1
- package/package.json +1 -1
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516152596100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d801526152595ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7b565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f53565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6a565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614953565b6101b56110b5565b905090565b6101c2614ad0565b5f805b6010811015610224576101f18583866101df826020614f7d565b926101ec93929190614f90565b611999565b8351826010811061020457610204614fb7565b60200201818152505060208261021a9190614f7d565b91506001016101c5565b50610248848285610236826080614f7d565b9261024393929190614f90565b6119fa565b6020830152610258608082614f7d565b905061026b848285610236826080614f7d565b604083015261027b608082614f7d565b905061028e848285610236826080614f7d565b606083015261029e608082614f7d565b90506102b1848285610236826080614f7d565b60c08301526102c1608082614f7d565b90506102d4848285610236826080614f7d565b60e08301526102e4608082614f7d565b90506102f7848285610236826080614f7d565b60808084019190915261030a9082614f7d565b905061031d848285610236826080614f7d565b61010083015261032e608082614f7d565b9050610341848285610236826080614f7d565b60a0830152610351608082614f7d565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7d565b84610120015183601c811061039157610391614fb7565b602002015182600881106103a7576103a7614fb7565b6020020181815250506020836103bd9190614f7d565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7d565b836101400151826028811061040457610404614fb7565b60200201818152505060208261041a9190614f7d565b91506001016103d3565b505f5b6104336001601c614f6a565b81101561047c5761044b858386610236826080614f7d565b83610160015182601b811061046257610462614fb7565b6020020152610472608083614f7d565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7d565b83610180015182601c81106104b0576104b0614fb7565b6020020181815250506020826104c69190614f7d565b915060010161047f565b506104e2848285610236826080614f7d565b6101a08301526104f3608082614f7d565b9050610506848285610236826080614f7d565b6101c08301525092915050565b61051b614b9a565b5f61052b88888888888887611aca565b908352905061053a8189611b20565b6020840191909152905061054d81611cba565b604084019190915290506105618882611d1b565b606084019190915290506105758882611def565b608084019190915290506105898882611e7a565b60a0840191909152905061059d8882611fe8565b60c084019190915290506105b1888261205a565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7d565b6120b1565b6120cf565b6120e8565b90505f610629876106248a6106016105fc8b6001614f7d565b612101565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6a565b8110156106c5575f6106828c838151811061067557610675614fb7565b60200260200101516120b1565b90506106928661060186846120e8565b95506106a28561060185846120e8565b94506106ae848b6120e8565b93506106ba838b612101565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb7565b602002015190506106f98661060186846120e8565b95506107098561060185846120e8565b9450610715848b6120e8565b9350610721838b612101565b9250506001016106c8565b506101978484612130565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb7565b602002015190505f61078f828661213e565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb7565b602002015190506107d7838261215b565b95506107fe886040015185601c81106107f2576107f2614fb7565b6020020151868361230a565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612335565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a3565b9050610897614bf3565b61089f614c12565b60e08601516108be906108b990855f5b6020020151612101565b612408565b60a085015260e08601516108dd906108b990855f5b60200201516120e8565b60c080860182905260a0860151908801516108fc9261060691906120cf565b845260a086015161092a9061091090612408565b6106018660a001516106248a60c001518960c001516120cf565b6020850152600182526101a088015161094290612471565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b0565b86606001516120cf565b83826046811061098757610987614fb7565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6a565b602881106109bb576109bb614fb7565b602002015188606001516120cf565b8560800181815250506109e5856060015188608001516120cf565b60608601526109f381614fcb565b9050610954565b505f610a0860236001614f7d565b90505b60288111610a8957610a2361096b86602001516124b0565b838260468110610a3557610a35614fb7565b602002015260808501516101408a0151610a599190610606906109ab600186614f6a565b856080018181525050610a74856060015188608001516120cf565b6060860152610a8281614fcb565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612471565b6103808201526040880151610c2390612471565b6103a08201526060880151610c3790612471565b6103c08201526080880151610c4b90612471565b6103e082015260a0880151610c5f90612471565b610400820152610100880151610c7490612471565b61042082015260c0880151610c8890612471565b61044082015260e0880151610c9c90612471565b6104608201526020880151610cb090612471565b6104808201526040880151610cc490612471565b6104a08201526060880151610cd890612471565b6104c08201526080880151610cec90612471565b6104e082015260a0880151610d0090612471565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124c8565b805160a0870151919250610d58916120cf565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120cf565b8860c001516120cf565b604086015260c0870151610d9b906125e3565b60608601525f5b610dae6001601c614f6a565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6a565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7d565b601c81106108af576108af614fb7565b60a088015260e0890151610e42906108b99088610e32866001614f7d565b601c81106108d3576108d3614fb7565b60c0880152606087015160a0880151610e5b91906120cf565b60e0880152606087015160c08a0151610e7791610d7e916120cf565b6101008801819052610e9990610e8c906124b0565b6106068960e001516124b0565b8583610ea760286001614f7d565b610eb19190614f7d565b60468110610ec157610ec1614fb7565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7d565b601c8110610ef357610ef3614fb7565b60200201516120cf565b9050610f19816106068a60e0015187876001610ee39190614f7d565b9050610f298860400151826120e8565b6040890152606088015160c08b0151610f4f91610f45916120cf565b8b60c001516120cf565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb7565b6020020151612471565b8483610f8860286001614f7d565b610f929190614f7d565b60468110610fa257610fa2614fb7565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7d565b60468110610fe357610fe3614fb7565b6020020152604085015183610ffa601c6028614f7d565b6046811061100a5761100a614fb7565b60200201526101c08901515f9061102090612471565b90508083611030601c6028614f7d565b61103b906001614f7d565b6046811061104b5761104b614fb7565b602002015260e088015184611062601c6028614f7d565b61106d906001614f7d565b6046811061107d5761107d614fb7565b60200201525f61108d84866125ee565b90505f611099836126b4565b90506110a582826126fa565b9c9b505050505050505050505050565b6110bd614953565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f017540148484534038e70cb73664225567e9f7ceb7fe9cbf890e35828bd5a06f81527f12a263a36df80cc0735897a6c40ca01d2501a840ad04cd176702136c84c54bb6818301526060830152825180840184527f1a546530fe8094245face221fd8d9de5e74611b5c3edb72ca3c1bab76587dde681527ef11498afa88c62320c66db3e81ca23789fe20317c5ed826ed2c8023ae0bc7f818301526080830152825180840184527f0f02668520e2054e4abaf23a4d82f218b524a77e15caa9fc121d15cebc3d162f81527f0468a2d738f436a3ea73e9ec5a826dfd1158c4d031b2994d0ee39b56fba2b6f58183015260a0830152825180840184527f19caae01fdd7aa997e67f3852b5a46a2ba0a30b4476fdd676e5d2330b57ce58981527f169d6eb204d95b77727c24c8a5bc77afffcc24a707934901bae1e2607ed7965e8183015260c0830152825180840184527f0dc0511c3eaab73d152e7ccdcd5bf7aedbd774c0c2f090692af5891a4d76d05881527f0610db7abb9ac3f2f0759b5737206ec94b7da35149487c58063b989e2fbabd058183015260e0830152825180840184527f13eafb1400b33b9eee20ddca166dd487b18e7a3a84304ff5ec7e689a701e961781527f2bb0303c5068115a81a4b87fc7f123e0f9bc2e36edc8a7dcca595e365610ed9481830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f216bd9ca2fcfe7e8e7d6ed99d7481eae3be8eeb7c02bba0b782de3b984d289c881527f09968a66cb1549888339f0b792427377afcb27a848b4410d5bd55db4ccdada5881830152610140830152825180840184527f2e94c2722f3505e184ae5e9fc278abca19fbd0616d3b9e596098d9293afe69b581527f14ba65203e5ac1ec30809c1126ac7f39091afc99e04e36141cf860a60d6d6a1d81830152610160830152825180840184527f09f543699600695cabe0bbc3434c81133f6ce87c6628757386aab89b86c6b4ca81527f15f4243ae41ac0c2d9b96a7a552976aa2f1d9a482c319ffcaf49782565b9fdbd81830152610180830152825180840184527f1f480db66dd8326ee71ce0892e609d9659041c22dfed64d3284c097cca58184281527f1a7b6a22f4350a2e1d8ee93c6d998347512bb8254dfe4dc9ab125f8ca73249b7818301526101a0830152825180840184527f266aaa3dfbca21ee6c8e0c3366df4e832d731788ecae372e72185183573e9c1081527e5bc6c45c4eb7023b61fca001a60cdd5c2539d59f49f5be976f9df22a7953c7818301526101c0830152825180840184527f1111d82315cc482b5e3500db5cd9f8ec36361b000977826ac57a5d67d0d2005581527f22f47dbf681ec060754a0e69d170e2052782b0e7a09519e9d388aa738492eb69818301526101e0830152825180840184527ef0544b544345f3937accec4a61ab943aa50cceaa1b169a5b537199e8aa6d4281527f29df3bdcc4abd802af3fde700dc66a25773b0f119f396781c8aa8ff55bb05b7081830152610200830152825180840184527f23d4b03fee815ee7c38279b70b2e43e648efe6fd49e583c0c9e9a5156a83e5a281527f1529321b33cd79a63ba2d2b50f40f734dfbe1a66cf6d574e4ea19c16cf5642f081830152610220830152825180840184527f039cc350d4463ae7aef0e661e2df106d29170bc1c0a62fbe904e72538baab8f881527f2f7351c13daaf8a4ab1678d578f856fcb391e5a80f7cc30a699842588694ac0081830152610240830152825180840184527f027077c8339ba55e1736a361da2fbc2c0d5406d03f1e3712aa9a17d63f99c79c81527f20da48727919c7eb5620ea8644d3097e20dbe9bf514d61c013ab0c5c4ac29d7a81830152610260830152825180840184527f0a790ec78b8a1341f97cca0151458aac5d80a7781a50fe4e42bc7807fce6d4e481527f2e1bb9e4182ee0055afc2e0007d29a8497118c3b15c9b07ff67b898fcc58367c81830152610280830152825180840184527f1f16db448cc96a5f97545162cc124ad8bc57fc854f38ade135b170a6bc871dfb81527f08877a62d027df2b7e335f27d10ff815a3d1b0bbab4aa51f2f8780b0f1050985818301526102a0830152825180840184527f0acf59ef7308a329059f97ea126e8380dafc22a65971830b831ee743913bc8ec81527f1e22c96c3fea68dda8edb6d29c6a2616ed908e5ec5e570622a69ce18d29dd51a818301526102c0830152825180840184527f0c097524ba8d2c27c5b4336f75729c9eb7749339a3338b12b2161c8500cda17481527f0677f3edec7e37292d34212d09777171e981f7567413d72880647162b78101a1818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f20922872dbdb362892f1737064aef2b13645660d3975df2de1a65a0e87030aa783527f29fc5d2d9d86fb0b6a1f32c5764a7b7d9090590cb78550951797b47175c4126d908301526103a081019190915290565b5f602082146119e65760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f36105fc8385614fe3565b9392505050565b611a02614c40565b60808214611a485760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119dd565b604080516080810190915280611a6160205f8688614f90565b611a6a91614fe3565b8152602090810190611a80906040908688614f90565b611a8991614fe3565b8152602001611a9c606060408688614f90565b611aa591614fe3565b8152602001611ab8608060608688614f90565b611ac191614fe3565b90529392505050565b611ad2614c64565b5f611ae18989898989896128fe565b604086019190915260208501919091529083529250611b00838a612da4565b608085019190915260608401919091529199919850909650505050505050565b611b28614c94565b5f611b31614cb3565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc791611bac91849101615000565b604051602081830303815290604052805190602001206120b1565b9150611bd282612e73565b6020850152835260015b611be860026019615048565b811015611c6857611c0583604051602001611bac91815260200190565b9250611c1083612e73565b85611c1c846002614f53565b60198110611c2c57611c2c614fb7565b6020020186611c3c856002614f53565b611c47906001614f7d565b60198110611c5757611c57614fb7565b602002019190915252600101611bdc565b50611c7f82604051602001611bac91815260200190565b91505f611c8b83612e73565b85611c9860016019614f6a565b60198110611ca857611ca8614fb7565b60200201919091525050509250929050565b611cc2614cd2565b5f805b601c811015611d1457611ce484604051602001611bac91815260200190565b93505f611cf085612e73565b8584601c8110611d0257611d02614fb7565b60200201919091525050600101611cc5565b5090929050565b611d23614cd2565b5f805b601c811015611de657611d37614cb3565b8481525f5b6008811015611da05786610120015183601c8110611d5c57611d5c614fb7565b60200201518160088110611d7257611d72614fb7565b602002015182611d83836001614f7d565b60098110611d9357611d93614fb7565b6020020152600101611d3c565b50611db581604051602001611bac9190615000565b94505f611dc186612e73565b8685601c8110611dd357611dd3614fb7565b6020020191909152505050600101611d26565b50909391925050565b5f5f611df9614cf1565b8381525f5b6028811015611e4c578561014001518160288110611e1e57611e1e614fb7565b602002015182611e2f836001614f7d565b60298110611e3f57611e3f614fb7565b6020020152600101611dfe565b50611e6181604051602001611bac919061505b565b91505f611e6d83612e73565b5096929550919350505050565b5f5f611e84614d10565b8381525f5b611e956001601c614f6a565b811015611fd35785610160015181601b8110611eb357611eb3614fb7565b60200201515182611ec5836004614f53565b611ed0906001614f7d565b606d8110611ee057611ee0614fb7565b602002015261016086015181601b8110611efc57611efc614fb7565b60200201516020015182826004611f139190614f53565b611f1e906002614f7d565b606d8110611f2e57611f2e614fb7565b602002015261016086015181601b8110611f4a57611f4a614fb7565b60200201516040015182611f5f836004614f53565b611f6a906003614f7d565b606d8110611f7a57611f7a614fb7565b602002015261016086015181601b8110611f9657611f96614fb7565b60200201516060015182611fab836004614f53565b611fb6906004614f7d565b606d8110611fc657611fc6614fb7565b6020020152600101611e89565b50611e6181604051602001611bac919061508f565b5f5f611ff2614d2f565b8381525f5b601c8110156120455785610180015181601c811061201757612017614fb7565b602002015182612028836001614f7d565b601d811061203857612038614fb7565b6020020152600101611ff7565b50611e6181604051602001611bac91906150c3565b5f5f612064614d4e565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6191611bac918491016150f7565b5f6120c95f5160206152395f395f51905f528361512a565b92915050565b5f5f5160206152395f395f51905f528284099392505050565b5f5f5160206152395f395f51905f528284089392505050565b5f5f5160206152395f395f51905f52612127835f5160206152395f395f51905f52614f6a565b84089392505050565b5f6119f38361060184612408565b81515f908190612150908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561224257612238826106018784612101565b9150600101612221565b5061224b614d6c565b5f5b60088110156122ac575f84826008811061226957612269614fb7565b6020020151905061227e816106018985612101565b905061228981612408565b90508083836008811061229e5761229e614fb7565b60200201525060010161224d565b505f5b60088110156122ff575f8782600881106122cb576122cb614fb7565b602002015190506122e881848460088110610ef357610ef3614fb7565b90506122f486826120e8565b9550506001016122af565b5061082e84836120cf565b5f5f612320600161060685610601896001612101565b905061232c84826120cf565b95945050505050565b5f61233e614d8b565b612349868285612ea3565b6123558686838661304f565b61236186868386613237565b61236c868285613433565b61237786828561361b565b61238386868386613964565b61238e8682856141fe565b6123998682856145c9565b61082e81856148be565b6123ab614cd2565b81815260015b601c811015612402576123e3826123c9600184614f6a565b601c81106123d9576123d9614fb7565b60200201516125e3565b8282601c81106123f5576123f5614fb7565b60200201526001016123b1565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206152395f395f51905f520360808201525f5160206152395f395f51905f5260a082015260205f60c08360055afa905080612466575f5ffd5b50505f519392505050565b612479614daa565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120c9825f5160206152395f395f51905f52614f6a565b6124d0614cd2565b601c5b80156125d9575f846124e6600184614f6a565b601c81106124f6576124f6614fb7565b602002015190505f8861250a600185614f6a565b601c811061251a5761251a614fb7565b602002015190505f612575612539612532858c6120cf565b60026120cf565b6106248a612548600189614f6a565b601c811061255857612558614fb7565b602002015161060161256f8861060160018a612101565b87612101565b9050612596816106016108b961259087610601600189612101565b866120e8565b90508584116125c55797508780856125af600187614f6a565b601c81106125bf576125bf614fb7565b60200201525b505050806125d29061513d565b90506124d3565b5095945050505050565b5f6120c982836120cf565b6125f6614daa565b5f612603601c6028614f7d565b61260e906002614f7d565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269c5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612643565b50805184526020810151602085015250505092915050565b6126bc614daa565b5f5160206152195f395f51905f5282602001515f5160206152195f395f51905f526126e79190614f6a565b6126f1919061512a565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128909190615152565b5f60405180830381855afa9150503d805f81146128c8576040519150601f19603f3d011682016040523d82523d5f602084013e6128cd565b606091505b50915091505f818060200190518101906128e79190615168565b90508280156128f35750805b979650505050505050565b5f8080808061290e876003614f7d565b61291990600c614f7d565b6001600160401b0381111561293057612930615187565b604051908082528060200260200182016040528015612959578160200160208202803683370190505b509050875f1b815f8151811061297157612971614fb7565b602002602001018181525050865f1b8160018151811061299357612993614fb7565b602002602001018181525050855f1b816002815181106129b5576129b5614fb7565b60209081029190910101525f5b6129cd601089614f6a565b811015612a1e578a8a828181106129e6576129e6614fb7565b90506020020135828260036129fb9190614f7d565b81518110612a0b57612a0b614fb7565b60209081029190910101526001016129c2565b505f5b6010811015612a8f578b51612a49908260108110612a4157612a41614fb7565b602002015190565b82826010612a588c6003614f7d565b612a629190614f6a565b612a6c9190614f7d565b81518110612a7c57612a7c614fb7565b6020908102919091010152600101612a21565b5060208b01515181612aa2896003614f7d565b81518110612ab257612ab2614fb7565b6020908102919091018101919091528b810151015181612ad3896003614f7d565b612ade906001614f7d565b81518110612aee57612aee614fb7565b6020908102919091018101919091528b01516040015181612b10896003614f7d565b612b1b906002614f7d565b81518110612b2b57612b2b614fb7565b6020908102919091018101919091528b01516060015181612b4d896003614f7d565b612b58906003614f7d565b81518110612b6857612b68614fb7565b602090810291909101015260408b01515181612b85896003614f7d565b612b90906004614f7d565b81518110612ba057612ba0614fb7565b60209081029190910181019190915260408c0151015181612bc2896003614f7d565b612bcd906005614f7d565b81518110612bdd57612bdd614fb7565b60209081029190910101526040808c0151015181612bfc896003614f7d565b612c07906006614f7d565b81518110612c1757612c17614fb7565b602090810291909101015260408b01516060015181612c37896003614f7d565b612c42906007614f7d565b81518110612c5257612c52614fb7565b602090810291909101015260608b01515181612c6f896003614f7d565b612c7a906008614f7d565b81518110612c8a57612c8a614fb7565b60209081029190910181019190915260608c0151015181612cac896003614f7d565b612cb7906009614f7d565b81518110612cc757612cc7614fb7565b602090810291909101015260608b01516040015181612ce7896003614f7d565b612cf290600a614f7d565b81518110612d0257612d02614fb7565b60209081029190910101526060808c0151015181612d21896003614f7d565b612d2c90600b614f7d565b81518110612d3c57612d3c614fb7565b602002602001018181525050612d5c81604051602001611bac919061519b565b9150612d6782612e73565b6040805160208101869052929750909550612d829101611bac565b91505f612d8e83612e73565b50959c949b509499509097509195505050505050565b5f5f5f612daf614dc2565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5991611bac918491016151d0565b9150612e6482612e73565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e8e826120b1565b9450612e99816120b1565b9350505050915091565b5f612eaf846007614923565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f10612f0a612ee4856003612101565b610601612eff612ef48b5f614923565b6106018c601c614923565b6106018b601b614923565b836120cf565b9050612f91612f86612f6d612f54612f3b85610606612f308d6002614923565b6106018e601b614923565b610606612f498c6003614923565b6106018d601c614923565b610606612f628b6004614923565b6106018c601d614923565b610606612f7b8a6005614923565b6106018b601e614923565b610606886001614923565b9050612fb081610606612fa5866001612101565b6106018a6026614923565b9050612fbc81846120cf565b9050612fc881856120cf565b8552505f9050613002612ff8612fed612fe288601b614923565b61060689601e614923565b610624886023614923565b610606875f614923565b905061301381610601846002612101565b905061302481610601846001612101565b905061303081836120cf565b905061303c81846120cf565b9050808460015b60200201525050505050565b5f5f5f61308561307b61306389601b614923565b6106066130718b6011614923565b8a606001516120cf565b87608001516120e8565b90506130be816106016130b461309c8b601c614923565b6106066130aa8d6012614923565b8c606001516120cf565b89608001516120e8565b90506130e3816106016130b46130d58b601d614923565b6106066130aa8d6013614923565b9050613108816106016130b46130fa8b601e614923565b6106066130aa8d6014614923565b92505f905061312c61307b61311e89601b614923565b6106066130718b600d614923565b9050613151816106016130b46131438b601c614923565b6106066130aa8d600e614923565b9050613176816106016130b46131688b601d614923565b6106066130aa8d600f614923565b905061319b816106016130b461318d8b601e614923565b6106066130aa8d6010614923565b91505f90506131c26131bc6131b189601f614923565b6106068a6019614923565b846120cf565b90506131f7816106246131f16131d98b6027614923565b6106066131e78d601a614923565b8c60a001516120cf565b856120cf565b905061320381856120cf565b6040860152505f6132266131f161321b89601a614923565b6106018a6027614923565b606090950194909452505050505050565b5f5f61329561327d6132656132506130b48a6015614923565b61060661325e8b6016614923565b8a516120cf565b6106066132738a6017614923565b89602001516120cf565b61060661328b896018614923565b88604001516120cf565b91505f6132cc6132b36132a989601b614923565b88608001516120e8565b6106066132c18a6003614923565b6106018b6023614923565b90505f6132f56132dd89601c614923565b6106066132ea8b5f614923565b6106018c6024614923565b90505f61331f6133068a601d614923565b6106066133148c6001614923565b6106018d6025614923565b905061335e61334661333885610606868d5f01516120cf565b610606848c602001516120cf565b6106066133548c6004614923565b8b604001516120cf565b93505050505f6133726131bc886020614923565b90505f6133836131bc896020614923565b90505f6133bb6133a26133978b6022614923565b6106068c6006614923565b6106246133b08c6022614923565b6106018d6006614923565b90505f6133df6133d96133ce87896120cf565b6106018d6020614923565b83612101565b90506133eb81886120cf565b90505f6134136134056133ff8d6006614923565b876120cf565b6106246133ff8e6021614923565b60808a018390529050808960055b60200201525050505050505050505050565b5f61343f5f6001612101565b90505f61344d5f6002612101565b90505f61345b5f6003612101565b90505f61347761346c88601c614923565b61062489601b614923565b90505f61349361348889601d614923565b6106248a601c614923565b90505f6134af6134a48a601e614923565b6106248b601d614923565b90505f6134cb6134c08b6023614923565b6106248c601e614923565b9050836134dc81610601818b6120e8565b90506134ec81610601878a6120e8565b90506134fc8161060187896120e8565b905061350d816106018d6008614923565b9050613519818a6120cf565b60c08b0152508261352e81610601818b6120e8565b905061353e81610601868a6120e8565b905061354e8161060186896120e8565b905061355f816106018d6008614923565b905061356b818a6120cf565b60e08b0152508161358081610601818b6120e8565b905061359081610601858a6120e8565b90506135a08161060185896120e8565b90506135b1816106018d6008614923565b90506135bd818a6120cf565b6101008b015250806135d381610601818b6120e8565b90506135e381610601848a6120e8565b90506135f38161060184896120e8565b9050613604816106018d6008614923565b9050613610818a6120cf565b9050808a6009613421565b6136546040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61365f84601c614923565b815261366c84601d614923565b602082015261367c846023614923565b604082015261368c846026614923565b606082015261369c846025614923565b60808201526136ac846024614923565b60a08201525f6136bd856002614923565b90505f6136ca865f614923565b90505f6136de8460400151855f0151612101565b90505f6136f3856020015186602001516120cf565b606086015190915086905f9061370990806120cf565b90505f61372761372189602001518a606001516120cf565b886120cf565b90505f61374661373f8a60a001518b604001516120e8565b8a516120e8565b90506137556133ff82886120cf565b905061377c61377661377061376a8487612101565b88612101565b846120e8565b836120e8565b90506137a461379961378e83876120cf565b6106018f6009614923565b61060160018a612101565b6101408c015250505050602085015160808601515f916137c3916120e8565b90505f6137e16137d78860600151886120cf565b8860200151612101565b90505f6138056137f184876120cf565b6106066131f18b60a001518c5f0151612101565b905061382d613822613817838c6120cf565b6106018e6009614923565b610601600189612101565b6101608b0152505f915061384e90506138478360116120e8565b87516120cf565b90505f61385b83846120e8565b905061386781826120e8565b90505f6138758360096120cf565b905061389e6138986131bc6138918b60a001518c5f01516120e8565b8b516120e8565b82612101565b60c089018190525f906138b9906137219061378e908d6120cf565b90506138cc8b600a6020020151826120e8565b6101408c0152505086515f92506138f39150613847906138ec90806120e8565b88516120e8565b90505f61393361390e836106018a5f01518b60a00151612101565b60208901516106249061392190806120e8565b6106018b602001518c608001516120e8565b905061395089600b602002015161060661372161378e858d6120cf565b89600b602002015250505050505050505050565b6139f8604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2d613a14613a0987601b614923565b610601886024614923565b610606613a22886023614923565b61060189601c614923565b8152613a72613a67613a4e613a4388601b614923565b61060189601e614923565b610606613a5c89601c614923565b6106018a601d614923565b610624876025614923565b60408201819052613a8790600160441b6120cf565b60408201819052613a9d90610624876026614923565b604082018190528151613ab091906120e8565b60408201819052613ac690610601876005614923565b60408201528051613adb90600160441b6120cf565b808252613afb90610606613af0886023614923565b610601896024614923565b80825260208201819052613b1790610624612fe288601d614923565b60208201819052613b2d90610601876004614923565b6020820152805160608201819052613b4a9061060687601e614923565b60608201819052613b6e90610624613b63886025614923565b610606896026614923565b60608201819052613b8390610601875f614923565b8160600181815250505f613bac613ba2836020015184604001516120e8565b83606001516120e8565b9050613bbd81610601886003614923565b9050613bd5613bcd876024614923565b6140006120cf565b60808301819052613beb90610606886023614923565b60808301819052613bfe906140006120cf565b60808301819052613c149061060688601d614923565b60808301819052613c27906140006120cf565b60808301819052613c3d9061060688601c614923565b60808301819052613c50906140006120cf565b60808301819052613c669061060688601b614923565b60808301819052613c7c9061062488601e614923565b60808301819052613c9290610601886005614923565b6080830152613ca5613bcd876025614923565b60a08301819052613cbb90610606886024614923565b60a08301819052613cce906140006120cf565b60a08301819052613ce490610606886023614923565b60a08301819052613cf7906140006120cf565b60a08301819052613d0d9061060688601e614923565b60a08301819052613d20906140006120cf565b60a08301819052613d369061060688601d614923565b60a08301819052613d4c90610624886026614923565b60a08301819052613d6190610601885f614923565b60a0830181905260808301515f91613d7991906120e8565b9050613d8a81610601896004614923565b9050613da4613d9a88601d614923565b87604001516120cf565b60c08401819052613dbd906106066132738a601c614923565b60c08401819052613ddd90610606613dd68a601b614923565b89516120cf565b60c08401819052613df390610606896001614923565b60c0840181905260e08401819052613e109061062489601e614923565b60c0840152613e2361346c886023614923565b610140840152613e42613e37886026614923565b61062489601e614923565b610120840152610140830151613e6790613e5c90806120cf565b846101400151612101565b610280840152610140830151613ea990613e9e90613e979061060160015f5160206152395f395f51905f52614f6a565b60016120e8565b8461012001516120cf565b6101608401819052613ee090613ed290610601613ec78b6002614923565b6106018c6003614923565b6106016133ff8a600a614923565b6101a0860152610280830151613f0290613ed290610601613ec78b6002614923565b6101c086015260c0830151613f2a90610601613f1f8a6002614923565b6106018b6003614923565b6101e08401525f613f49613f3f89601e614923565b8560e00151612101565b9050613f5861389882836120cf565b6101a0850152613f6c61328b896025614923565b6101008501819052613f9090610606613f868b6024614923565b8a602001516120cf565b6101008501819052613faa9061060661325e8b6023614923565b610100850152613fc9613fbe896026614923565b856101000151612101565b6101008501525f613fde6134a48a6025614923565b905061403261400c612f0a613e9788610140015160015f5160206152395f395f51905f526106019190614f6a565b610601613e9788610100015160015f5160206152395f395f51905f526106019190614f6a565b6101808601526101008501516140579061404c90806120cf565b866101000151612101565b6101c086015261018085015161408a90614076906106018c6007614923565b6106016140848c600a614923565b896120cf565b6101e08801526102808501516140a990614076906106018c6007614923565b6102008801526101c08501516140c890614076906106018c6007614923565b6102208801526101a08501516140e3906106018b6007614923565b6102008601526141026140f78a6024614923565b6106248b601c614923565b610220860152610140850151614141906134a49061413690613e979061060160015f5160206152395f395f51905f52614f6a565b8761022001516120cf565b61024086018190526101e08601516102608701819052614178916106069061060161416d8e6005614923565b6106018f6002614923565b610260860181905260c086015161419b91906106069061060161416d8e5f614923565b61026086018190526102008601516141b391906120e8565b61026086018190526141c99061377090866120e8565b6102a086018190526141e3906106016140848c600a614923565b6102a0860181905287600c6020020152505050505050505050565b6142746040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428d61428285601b614923565b610606866002614923565b81526142a861429d85601c614923565b610606866003614923565b60208201526142c66142bb85601d614923565b610606866004614923565b60408201526142e46142d985601e614923565b610606866005614923565b606082015280516143169061430f906143089061430190806120cf565b84516120cf565b83516120cf565b82516120cf565b608082015260208101516143549061434a906143409061433690806120cf565b84602001516120cf565b83602001516120cf565b82602001516120cf565b60a08201526040810151614392906143889061437e9061437490806120cf565b84604001516120cf565b83604001516120cf565b82604001516120cf565b60c082015260608101516143d0906143c6906143bc906143b290806120cf565b84606001516120cf565b83606001516120cf565b82606001516120cf565b60e0820152608081015160a08201516143e991906120e8565b61010082015260c081015160e082015161440391906120e8565b61012082015260a08101516144279061441c90806120e8565b8261012001516120e8565b61014082015260e081015161444b9061444090806120e8565b8261010001516120e8565b61016082015261012081015161446190806120e8565b6101e082018190526144829061447790806120e8565b8261016001516120e8565b6101e082015261010081015161449890806120e8565b6101a082018190526144b9906144ae90806120e8565b8261014001516120e8565b6101a082018190526101608201516144d0916120e8565b6101808201526101408101516101e08201516144ec91906120e8565b6101c0820152614500612f0a85600b614923565b610200820181905261024084015161018083015161452b9261060691610601906106248a6023614923565b836012602002015261455b8360136020020151610606836102000151610601856101a001516106248a6024614923565b836013602002015261458b8360146020020151610606836102000151610601856101c001516106248a6025614923565b83601460200201526145bb8360156020020151610606836102000151610601856101e001516106248a6026614923565b836015602002015250505050565b61461b6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146507f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b1565b815260200161467e7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b1565b81526020016146ab7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b1565b81526020016146d97f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b1565b905290506146f66146eb86601b614923565b610606876002614923565b610120830181905261472a9061471f90613e9e9061471490806120cf565b8561012001516120cf565b8361012001516120cf565b825261473785601c614923565b602083015261474785601d614923565b604083015261475785601e614923565b60608301528151602083015161477f91613ba29161477591906120e8565b84604001516120e8565b60808301526147926131bc86600c614923565b61014083015281516147b3906147a990835f610ef3565b83608001516120e8565b60a08301526147df84601660200201516106068461014001516106018660a001516106248b6023614923565b6102c085015260208201516147fa906147a990836001610ef3565b60c083015261482684601760200201516106068461014001516106018660c001516106248b6024614923565b6102e08501526040820151614841906147a990836002610ef3565b60e083015261486d84601860200201516106068461014001516106018660e001516106248b6025614923565b6103008501526060820151614888906147a990836003610ef3565b6101008301526148b684601960200201516106068461014001516106018661010001516106248b6026614923565b846019613043565b5f6148ca8184816108d3565b905060015b601a81101561491c57614912826106068684601a81106148f1576148f1614fb7565b602002015186614902600187614f6a565b60198110610ef357610ef3614fb7565b91506001016148cf565b5092915050565b5f8282602781111561493757614937615204565b6028811061494757614947614fb7565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f8152602001614979614daa565b8152602001614986614daa565b8152602001614993614daa565b81526020016149a0614daa565b81526020016149ad614daa565b81526020016149ba614daa565b81526020016149c7614daa565b81526020016149d4614daa565b81526020016149e1614daa565b81526020016149ee614daa565b81526020016149fb614daa565b8152602001614a08614daa565b8152602001614a15614daa565b8152602001614a22614daa565b8152602001614a2f614daa565b8152602001614a3c614daa565b8152602001614a49614daa565b8152602001614a56614daa565b8152602001614a63614daa565b8152602001614a70614daa565b8152602001614a7d614daa565b8152602001614a8a614daa565b8152602001614a97614daa565b8152602001614aa4614daa565b8152602001614ab1614daa565b8152602001614abe614daa565b8152602001614acb614daa565b905290565b604051806101e00160405280614ae4614de1565b8152602001614af1614c40565b8152602001614afe614c40565b8152602001614b0b614c40565b8152602001614b18614c40565b8152602001614b25614c40565b8152602001614b32614c40565b8152602001614b3f614c40565b8152602001614b4c614c40565b8152602001614b59614e00565b8152602001614b66614e2e565b8152602001614b73614e4d565b8152602001614b80614cd2565b8152602001614b8d614c40565b8152602001614acb614c40565b604051806101000160405280614bae614c64565b8152602001614bbb614c94565b8152602001614bc8614cd2565b8152602001614bd5614cd2565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2a614daa565b815260200190600190039081614c225790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e18614d6c565b815260200190600190039081614e105790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e65614c40565b815260200190600190039081614e5d5790505090565b5f5f5f5f60408587031215614e8e575f5ffd5b84356001600160401b03811115614ea3575f5ffd5b8501601f81018713614eb3575f5ffd5b80356001600160401b03811115614ec8575f5ffd5b876020828401011115614ed9575f5ffd5b6020918201955093508501356001600160401b03811115614ef8575f5ffd5b8501601f81018713614f08575f5ffd5b80356001600160401b03811115614f1d575f5ffd5b8760208260051b8401011115614f31575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120c9576120c9614f3f565b818103818111156120c9576120c9614f3f565b808201808211156120c9576120c9614f3f565b5f5f85851115614f9e575f5ffd5b83861115614faa575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fdc57614fdc614f3f565b5060010190565b803560208310156120c9575f19602084900360031b1b1692915050565b5f8183825b6009811015615024578151835260209283019290910190600101615005565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505657615056615034565b500490565b5f8183825b602981101561507f578151835260209283019290910190600101615060565b5050506105208201905092915050565b5f8183825b606d8110156150b3578151835260209283019290910190600101615094565b505050610da08201905092915050565b5f8183825b601d8110156150e75781518352602092830192909101906001016150c8565b5050506103a08201905092915050565b5f8183825b600581101561511b5781518352602092830192909101906001016150fc565b50505060a08201905092915050565b5f8261513857615138615034565b500690565b5f8161514b5761514b614f3f565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215615178575f5ffd5b815180151581146119f3575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c55781518452602093840193909101906001016151a7565b509195945050505050565b5f8183825b600d8110156151f45781518352602092830192909101906001016151d5565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c05161525b6100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f2b0321c34f33c10aefd2d69cf0fc58c58554e4885db1d8d81372e7976e89c21f81527f0e66d1f549174678c8078bfd0b4cd6eb32cfc4413d2bda7d95481b94264690b1818301526060830152825180840184527f20256321741afbfaa06ca3741c0c4128babd620c6e3ea1f720ffa5e8b403faa681527f1bdaceaeb65f2a18e5679dbfd2ca58ccc5acdcdbd74624c143343ce1f414adc6818301526080830152825180840184527f1d64888d0abe379a17c230b054797b58ddbea50a361cb64d0bee1ef6a751138b81527f126f92dc854e1d9fe593f42cd8ec666079c4182da914f5daaa1e889bea89c9438183015260a0830152825180840184527f154b07c57b9be48a0720e4638549237e5d2773037e008838a6b4bdd558f62ad781527eb0936e189e766ec1079ccff1489217a62f09a94209818cc61738bb9e745a318183015260c0830152825180840184527f11fe89df5d3c03d738c1099773d224e7ecff62e5d2a4a6d21a51ad98c2f7905481527f06615d827a86b7f5edc93cf3341375cca4abae7fface50363238f8cddc37cf0c8183015260e0830152825180840184527f20405d645114835df62ca007b50ddcc38401dcac4f842243c40681943bd217ca81527f288a686d75b2e109ac1f453d17c8741c0d7b0678113a35d9b4c64a5ea6d2fff781830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f19e77913f55b3b79e1f27a001c77b2d3c53b063e384e604a42d34b07d40a154d81527f17e6f230c3ea95decb4ab510574a1973a501b83209c67edec5cf233b4df065a381830152610140830152825180840184527f21163d6efd30064cd3f5137f847d9236dbd6d32582d49b0456d1593a6ef4187381527f2bc3c033f49112030c9f0e0a1251172cb197d9de817efe2f1fc0167721690c2281830152610160830152825180840184527f145092e558a57141ce50a13a911ffe538a9fb95fffd604d8ba2dc6c2852534b281527f124ea372bf88f5cacca7deb0f96381a2399b1948ae4b27d8786d7244b27474ca81830152610180830152825180840184527f2132d2574f33c0b540605992a6f4959b0ee48877ba994548e6c867959a54269c81527f1e0276fe25e6576cddeb9adcd9144b701b8d8459c8e8f77fb484c5009becbb0a818301526101a0830152825180840184527f26e0a8d2ef27915ad3713fe496ab7b5c184f6b7e3dbe802e901314de954d339381527f2b1d5b8a804a15d81fbe3c8c93fabb2d6ee546f6c43ad7d912178d345676bc51818301526101c0830152825180840184527f0180cc493cca83e192b2652ff31c48e902b15d1d1f035fc2a64a7c85477f5f1481527f0b874e6a8889f1f9caddb981e21d3bbca4abdd38429163ad65f955e8cc797637818301526101e0830152825180840184527f14042c6b34d67d3d0439d2a6271a3664127ac05ea830467096c80c04d068871a81527f04edfb6fa00c2ffef51a950c3bc18f1d523a76293822d9588446f45c1225b65181830152610200830152825180840184527f26b65a07dcc457b52ecb68784fd165242f47ba52115fc04fd5ca5bbb5d107ff081527f0e7a12639fe44e0b5136a07fd1560617311b6acdd83b67904901daeaffd38fa081830152610220830152825180840184527f2fb818185fde135bbd4a5251100c6abf912af18034aee7cc8ba6725109affc5681527f1fbd77f65319c236aa4c7eb1859697cef3eac0fa96f7932a396a6981fd2790d481830152610240830152825180840184527f0369a0615ee7d10d144252456d0a471e47d97c24c51fe6808ced4409fb269f4481527f16d65e7a194a05fcb17dab66e06154c4eb9fc38a38275f96aca417fc2bb6a34581830152610260830152825180840184527f14b337b93ade02933ee37cd2f63ef04b1dd18648102c9c008d2793c7928efd2281527f1b37bb3566ed65fb5c0d83582aa78324be1d6675b55955ed251f6f6bbd2f672381830152610280830152825180840184527f17ff9a9c66bfebc1a40d55c3d93e588c9909fa1b2ac970e1b227693b193ce5c681527f0f1d139b42b1cb0e04a97e703348d1d3e19b43c34dcd7f1ba4bfeb7a84b3e10a818301526102a0830152825180840184527f2e983fc124a78b3381ddf8e3222a0c42e77b4f159981caa105ad15eeaa49b65d81527f2c3693dfcf122eaaecd87a25ddf05c80751901ca4fff225216c7b64bd762f4bf818301526102c0830152825180840184527f212f98aac2be6da99016e5adfee95a7dff1d5fc5ebb8355007a9b4d2f6f9ef9e81527f18aa72aa2c84181564be00de1f6879e25f87ed62c36ad81727858e3315de3d06818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f11e0e031f829318f6bad9dd9c5f7d1de01dc22da72d666cd4f8801354eb3fe5f83527f22e34c359086fff73f380012b9692972f6c24f7194c7ecef18ece5c9a7ea0bbe908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,
|
|
1
|
+
{"version":3,"file":"HonkVerifierBytecode.d.ts","sourceRoot":"","sources":["../src/HonkVerifierBytecode.ts"],"names":[],"mappings":"AAAA;;GAEG;AACH,eAAO,MAAM,oBAAoB,+2yCAA+2yC,CAAC;AACj5yC;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c0516152596100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d801526152595ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7b565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f53565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6a565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614953565b6101b56110b5565b905090565b6101c2614ad0565b5f805b6010811015610224576101f18583866101df826020614f7d565b926101ec93929190614f90565b611999565b8351826010811061020457610204614fb7565b60200201818152505060208261021a9190614f7d565b91506001016101c5565b50610248848285610236826080614f7d565b9261024393929190614f90565b6119fa565b6020830152610258608082614f7d565b905061026b848285610236826080614f7d565b604083015261027b608082614f7d565b905061028e848285610236826080614f7d565b606083015261029e608082614f7d565b90506102b1848285610236826080614f7d565b60c08301526102c1608082614f7d565b90506102d4848285610236826080614f7d565b60e08301526102e4608082614f7d565b90506102f7848285610236826080614f7d565b60808084019190915261030a9082614f7d565b905061031d848285610236826080614f7d565b61010083015261032e608082614f7d565b9050610341848285610236826080614f7d565b60a0830152610351608082614f7d565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7d565b84610120015183601c811061039157610391614fb7565b602002015182600881106103a7576103a7614fb7565b6020020181815250506020836103bd9190614f7d565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7d565b836101400151826028811061040457610404614fb7565b60200201818152505060208261041a9190614f7d565b91506001016103d3565b505f5b6104336001601c614f6a565b81101561047c5761044b858386610236826080614f7d565b83610160015182601b811061046257610462614fb7565b6020020152610472608083614f7d565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7d565b83610180015182601c81106104b0576104b0614fb7565b6020020181815250506020826104c69190614f7d565b915060010161047f565b506104e2848285610236826080614f7d565b6101a08301526104f3608082614f7d565b9050610506848285610236826080614f7d565b6101c08301525092915050565b61051b614b9a565b5f61052b88888888888887611aca565b908352905061053a8189611b20565b6020840191909152905061054d81611cba565b604084019190915290506105618882611d1b565b606084019190915290506105758882611def565b608084019190915290506105898882611e7a565b60a0840191909152905061059d8882611fe8565b60c084019190915290506105b1888261205a565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7d565b6120b1565b6120cf565b6120e8565b90505f610629876106248a6106016105fc8b6001614f7d565b612101565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6a565b8110156106c5575f6106828c838151811061067557610675614fb7565b60200260200101516120b1565b90506106928661060186846120e8565b95506106a28561060185846120e8565b94506106ae848b6120e8565b93506106ba838b612101565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb7565b602002015190506106f98661060186846120e8565b95506107098561060185846120e8565b9450610715848b6120e8565b9350610721838b612101565b9250506001016106c8565b506101978484612130565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb7565b602002015190505f61078f828661213e565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb7565b602002015190506107d7838261215b565b95506107fe886040015185601c81106107f2576107f2614fb7565b6020020151868361230a565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612335565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a3565b9050610897614bf3565b61089f614c12565b60e08601516108be906108b990855f5b6020020151612101565b612408565b60a085015260e08601516108dd906108b990855f5b60200201516120e8565b60c080860182905260a0860151908801516108fc9261060691906120cf565b845260a086015161092a9061091090612408565b6106018660a001516106248a60c001518960c001516120cf565b6020850152600182526101a088015161094290612471565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b0565b86606001516120cf565b83826046811061098757610987614fb7565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6a565b602881106109bb576109bb614fb7565b602002015188606001516120cf565b8560800181815250506109e5856060015188608001516120cf565b60608601526109f381614fcb565b9050610954565b505f610a0860236001614f7d565b90505b60288111610a8957610a2361096b86602001516124b0565b838260468110610a3557610a35614fb7565b602002015260808501516101408a0151610a599190610606906109ab600186614f6a565b856080018181525050610a74856060015188608001516120cf565b6060860152610a8281614fcb565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612471565b6103808201526040880151610c2390612471565b6103a08201526060880151610c3790612471565b6103c08201526080880151610c4b90612471565b6103e082015260a0880151610c5f90612471565b610400820152610100880151610c7490612471565b61042082015260c0880151610c8890612471565b61044082015260e0880151610c9c90612471565b6104608201526020880151610cb090612471565b6104808201526040880151610cc490612471565b6104a08201526060880151610cd890612471565b6104c08201526080880151610cec90612471565b6104e082015260a0880151610d0090612471565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124c8565b805160a0870151919250610d58916120cf565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120cf565b8860c001516120cf565b604086015260c0870151610d9b906125e3565b60608601525f5b610dae6001601c614f6a565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6a565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7d565b601c81106108af576108af614fb7565b60a088015260e0890151610e42906108b99088610e32866001614f7d565b601c81106108d3576108d3614fb7565b60c0880152606087015160a0880151610e5b91906120cf565b60e0880152606087015160c08a0151610e7791610d7e916120cf565b6101008801819052610e9990610e8c906124b0565b6106068960e001516124b0565b8583610ea760286001614f7d565b610eb19190614f7d565b60468110610ec157610ec1614fb7565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7d565b601c8110610ef357610ef3614fb7565b60200201516120cf565b9050610f19816106068a60e0015187876001610ee39190614f7d565b9050610f298860400151826120e8565b6040890152606088015160c08b0151610f4f91610f45916120cf565b8b60c001516120cf565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb7565b6020020151612471565b8483610f8860286001614f7d565b610f929190614f7d565b60468110610fa257610fa2614fb7565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7d565b60468110610fe357610fe3614fb7565b6020020152604085015183610ffa601c6028614f7d565b6046811061100a5761100a614fb7565b60200201526101c08901515f9061102090612471565b90508083611030601c6028614f7d565b61103b906001614f7d565b6046811061104b5761104b614fb7565b602002015260e088015184611062601c6028614f7d565b61106d906001614f7d565b6046811061107d5761107d614fb7565b60200201525f61108d84866125ee565b90505f611099836126b4565b90506110a582826126fa565b9c9b505050505050505050505050565b6110bd614953565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f017540148484534038e70cb73664225567e9f7ceb7fe9cbf890e35828bd5a06f81527f12a263a36df80cc0735897a6c40ca01d2501a840ad04cd176702136c84c54bb6818301526060830152825180840184527f1a546530fe8094245face221fd8d9de5e74611b5c3edb72ca3c1bab76587dde681527ef11498afa88c62320c66db3e81ca23789fe20317c5ed826ed2c8023ae0bc7f818301526080830152825180840184527f0f02668520e2054e4abaf23a4d82f218b524a77e15caa9fc121d15cebc3d162f81527f0468a2d738f436a3ea73e9ec5a826dfd1158c4d031b2994d0ee39b56fba2b6f58183015260a0830152825180840184527f19caae01fdd7aa997e67f3852b5a46a2ba0a30b4476fdd676e5d2330b57ce58981527f169d6eb204d95b77727c24c8a5bc77afffcc24a707934901bae1e2607ed7965e8183015260c0830152825180840184527f0dc0511c3eaab73d152e7ccdcd5bf7aedbd774c0c2f090692af5891a4d76d05881527f0610db7abb9ac3f2f0759b5737206ec94b7da35149487c58063b989e2fbabd058183015260e0830152825180840184527f13eafb1400b33b9eee20ddca166dd487b18e7a3a84304ff5ec7e689a701e961781527f2bb0303c5068115a81a4b87fc7f123e0f9bc2e36edc8a7dcca595e365610ed9481830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f216bd9ca2fcfe7e8e7d6ed99d7481eae3be8eeb7c02bba0b782de3b984d289c881527f09968a66cb1549888339f0b792427377afcb27a848b4410d5bd55db4ccdada5881830152610140830152825180840184527f2e94c2722f3505e184ae5e9fc278abca19fbd0616d3b9e596098d9293afe69b581527f14ba65203e5ac1ec30809c1126ac7f39091afc99e04e36141cf860a60d6d6a1d81830152610160830152825180840184527f09f543699600695cabe0bbc3434c81133f6ce87c6628757386aab89b86c6b4ca81527f15f4243ae41ac0c2d9b96a7a552976aa2f1d9a482c319ffcaf49782565b9fdbd81830152610180830152825180840184527f1f480db66dd8326ee71ce0892e609d9659041c22dfed64d3284c097cca58184281527f1a7b6a22f4350a2e1d8ee93c6d998347512bb8254dfe4dc9ab125f8ca73249b7818301526101a0830152825180840184527f266aaa3dfbca21ee6c8e0c3366df4e832d731788ecae372e72185183573e9c1081527e5bc6c45c4eb7023b61fca001a60cdd5c2539d59f49f5be976f9df22a7953c7818301526101c0830152825180840184527f1111d82315cc482b5e3500db5cd9f8ec36361b000977826ac57a5d67d0d2005581527f22f47dbf681ec060754a0e69d170e2052782b0e7a09519e9d388aa738492eb69818301526101e0830152825180840184527ef0544b544345f3937accec4a61ab943aa50cceaa1b169a5b537199e8aa6d4281527f29df3bdcc4abd802af3fde700dc66a25773b0f119f396781c8aa8ff55bb05b7081830152610200830152825180840184527f23d4b03fee815ee7c38279b70b2e43e648efe6fd49e583c0c9e9a5156a83e5a281527f1529321b33cd79a63ba2d2b50f40f734dfbe1a66cf6d574e4ea19c16cf5642f081830152610220830152825180840184527f039cc350d4463ae7aef0e661e2df106d29170bc1c0a62fbe904e72538baab8f881527f2f7351c13daaf8a4ab1678d578f856fcb391e5a80f7cc30a699842588694ac0081830152610240830152825180840184527f027077c8339ba55e1736a361da2fbc2c0d5406d03f1e3712aa9a17d63f99c79c81527f20da48727919c7eb5620ea8644d3097e20dbe9bf514d61c013ab0c5c4ac29d7a81830152610260830152825180840184527f0a790ec78b8a1341f97cca0151458aac5d80a7781a50fe4e42bc7807fce6d4e481527f2e1bb9e4182ee0055afc2e0007d29a8497118c3b15c9b07ff67b898fcc58367c81830152610280830152825180840184527f1f16db448cc96a5f97545162cc124ad8bc57fc854f38ade135b170a6bc871dfb81527f08877a62d027df2b7e335f27d10ff815a3d1b0bbab4aa51f2f8780b0f1050985818301526102a0830152825180840184527f0acf59ef7308a329059f97ea126e8380dafc22a65971830b831ee743913bc8ec81527f1e22c96c3fea68dda8edb6d29c6a2616ed908e5ec5e570622a69ce18d29dd51a818301526102c0830152825180840184527f0c097524ba8d2c27c5b4336f75729c9eb7749339a3338b12b2161c8500cda17481527f0677f3edec7e37292d34212d09777171e981f7567413d72880647162b78101a1818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f20922872dbdb362892f1737064aef2b13645660d3975df2de1a65a0e87030aa783527f29fc5d2d9d86fb0b6a1f32c5764a7b7d9090590cb78550951797b47175c4126d908301526103a081019190915290565b5f602082146119e65760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f36105fc8385614fe3565b9392505050565b611a02614c40565b60808214611a485760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119dd565b604080516080810190915280611a6160205f8688614f90565b611a6a91614fe3565b8152602090810190611a80906040908688614f90565b611a8991614fe3565b8152602001611a9c606060408688614f90565b611aa591614fe3565b8152602001611ab8608060608688614f90565b611ac191614fe3565b90529392505050565b611ad2614c64565b5f611ae18989898989896128fe565b604086019190915260208501919091529083529250611b00838a612da4565b608085019190915260608401919091529199919850909650505050505050565b611b28614c94565b5f611b31614cb3565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc791611bac91849101615000565b604051602081830303815290604052805190602001206120b1565b9150611bd282612e73565b6020850152835260015b611be860026019615048565b811015611c6857611c0583604051602001611bac91815260200190565b9250611c1083612e73565b85611c1c846002614f53565b60198110611c2c57611c2c614fb7565b6020020186611c3c856002614f53565b611c47906001614f7d565b60198110611c5757611c57614fb7565b602002019190915252600101611bdc565b50611c7f82604051602001611bac91815260200190565b91505f611c8b83612e73565b85611c9860016019614f6a565b60198110611ca857611ca8614fb7565b60200201919091525050509250929050565b611cc2614cd2565b5f805b601c811015611d1457611ce484604051602001611bac91815260200190565b93505f611cf085612e73565b8584601c8110611d0257611d02614fb7565b60200201919091525050600101611cc5565b5090929050565b611d23614cd2565b5f805b601c811015611de657611d37614cb3565b8481525f5b6008811015611da05786610120015183601c8110611d5c57611d5c614fb7565b60200201518160088110611d7257611d72614fb7565b602002015182611d83836001614f7d565b60098110611d9357611d93614fb7565b6020020152600101611d3c565b50611db581604051602001611bac9190615000565b94505f611dc186612e73565b8685601c8110611dd357611dd3614fb7565b6020020191909152505050600101611d26565b50909391925050565b5f5f611df9614cf1565b8381525f5b6028811015611e4c578561014001518160288110611e1e57611e1e614fb7565b602002015182611e2f836001614f7d565b60298110611e3f57611e3f614fb7565b6020020152600101611dfe565b50611e6181604051602001611bac919061505b565b91505f611e6d83612e73565b5096929550919350505050565b5f5f611e84614d10565b8381525f5b611e956001601c614f6a565b811015611fd35785610160015181601b8110611eb357611eb3614fb7565b60200201515182611ec5836004614f53565b611ed0906001614f7d565b606d8110611ee057611ee0614fb7565b602002015261016086015181601b8110611efc57611efc614fb7565b60200201516020015182826004611f139190614f53565b611f1e906002614f7d565b606d8110611f2e57611f2e614fb7565b602002015261016086015181601b8110611f4a57611f4a614fb7565b60200201516040015182611f5f836004614f53565b611f6a906003614f7d565b606d8110611f7a57611f7a614fb7565b602002015261016086015181601b8110611f9657611f96614fb7565b60200201516060015182611fab836004614f53565b611fb6906004614f7d565b606d8110611fc657611fc6614fb7565b6020020152600101611e89565b50611e6181604051602001611bac919061508f565b5f5f611ff2614d2f565b8381525f5b601c8110156120455785610180015181601c811061201757612017614fb7565b602002015182612028836001614f7d565b601d811061203857612038614fb7565b6020020152600101611ff7565b50611e6181604051602001611bac91906150c3565b5f5f612064614d4e565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6191611bac918491016150f7565b5f6120c95f5160206152395f395f51905f528361512a565b92915050565b5f5f5160206152395f395f51905f528284099392505050565b5f5f5160206152395f395f51905f528284089392505050565b5f5f5160206152395f395f51905f52612127835f5160206152395f395f51905f52614f6a565b84089392505050565b5f6119f38361060184612408565b81515f908190612150908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b600881101561224257612238826106018784612101565b9150600101612221565b5061224b614d6c565b5f5b60088110156122ac575f84826008811061226957612269614fb7565b6020020151905061227e816106018985612101565b905061228981612408565b90508083836008811061229e5761229e614fb7565b60200201525060010161224d565b505f5b60088110156122ff575f8782600881106122cb576122cb614fb7565b602002015190506122e881848460088110610ef357610ef3614fb7565b90506122f486826120e8565b9550506001016122af565b5061082e84836120cf565b5f5f612320600161060685610601896001612101565b905061232c84826120cf565b95945050505050565b5f61233e614d8b565b612349868285612ea3565b6123558686838661304f565b61236186868386613237565b61236c868285613433565b61237786828561361b565b61238386868386613964565b61238e8682856141fe565b6123998682856145c9565b61082e81856148be565b6123ab614cd2565b81815260015b601c811015612402576123e3826123c9600184614f6a565b601c81106123d9576123d9614fb7565b60200201516125e3565b8282601c81106123f5576123f5614fb7565b60200201526001016123b1565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f5160206152395f395f51905f520360808201525f5160206152395f395f51905f5260a082015260205f60c08360055afa905080612466575f5ffd5b50505f519392505050565b612479614daa565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120c9825f5160206152395f395f51905f52614f6a565b6124d0614cd2565b601c5b80156125d9575f846124e6600184614f6a565b601c81106124f6576124f6614fb7565b602002015190505f8861250a600185614f6a565b601c811061251a5761251a614fb7565b602002015190505f612575612539612532858c6120cf565b60026120cf565b6106248a612548600189614f6a565b601c811061255857612558614fb7565b602002015161060161256f8861060160018a612101565b87612101565b9050612596816106016108b961259087610601600189612101565b866120e8565b90508584116125c55797508780856125af600187614f6a565b601c81106125bf576125bf614fb7565b60200201525b505050806125d29061513d565b90506124d3565b5095945050505050565b5f6120c982836120cf565b6125f6614daa565b5f612603601c6028614f7d565b61260e906002614f7d565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269c5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612643565b50805184526020810151602085015250505092915050565b6126bc614daa565b5f5160206152195f395f51905f5282602001515f5160206152195f395f51905f526126e79190614f6a565b6126f1919061512a565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128909190615152565b5f60405180830381855afa9150503d805f81146128c8576040519150601f19603f3d011682016040523d82523d5f602084013e6128cd565b606091505b50915091505f818060200190518101906128e79190615168565b90508280156128f35750805b979650505050505050565b5f8080808061290e876003614f7d565b61291990600c614f7d565b6001600160401b0381111561293057612930615187565b604051908082528060200260200182016040528015612959578160200160208202803683370190505b509050875f1b815f8151811061297157612971614fb7565b602002602001018181525050865f1b8160018151811061299357612993614fb7565b602002602001018181525050855f1b816002815181106129b5576129b5614fb7565b60209081029190910101525f5b6129cd601089614f6a565b811015612a1e578a8a828181106129e6576129e6614fb7565b90506020020135828260036129fb9190614f7d565b81518110612a0b57612a0b614fb7565b60209081029190910101526001016129c2565b505f5b6010811015612a8f578b51612a49908260108110612a4157612a41614fb7565b602002015190565b82826010612a588c6003614f7d565b612a629190614f6a565b612a6c9190614f7d565b81518110612a7c57612a7c614fb7565b6020908102919091010152600101612a21565b5060208b01515181612aa2896003614f7d565b81518110612ab257612ab2614fb7565b6020908102919091018101919091528b810151015181612ad3896003614f7d565b612ade906001614f7d565b81518110612aee57612aee614fb7565b6020908102919091018101919091528b01516040015181612b10896003614f7d565b612b1b906002614f7d565b81518110612b2b57612b2b614fb7565b6020908102919091018101919091528b01516060015181612b4d896003614f7d565b612b58906003614f7d565b81518110612b6857612b68614fb7565b602090810291909101015260408b01515181612b85896003614f7d565b612b90906004614f7d565b81518110612ba057612ba0614fb7565b60209081029190910181019190915260408c0151015181612bc2896003614f7d565b612bcd906005614f7d565b81518110612bdd57612bdd614fb7565b60209081029190910101526040808c0151015181612bfc896003614f7d565b612c07906006614f7d565b81518110612c1757612c17614fb7565b602090810291909101015260408b01516060015181612c37896003614f7d565b612c42906007614f7d565b81518110612c5257612c52614fb7565b602090810291909101015260608b01515181612c6f896003614f7d565b612c7a906008614f7d565b81518110612c8a57612c8a614fb7565b60209081029190910181019190915260608c0151015181612cac896003614f7d565b612cb7906009614f7d565b81518110612cc757612cc7614fb7565b602090810291909101015260608b01516040015181612ce7896003614f7d565b612cf290600a614f7d565b81518110612d0257612d02614fb7565b60209081029190910101526060808c0151015181612d21896003614f7d565b612d2c90600b614f7d565b81518110612d3c57612d3c614fb7565b602002602001018181525050612d5c81604051602001611bac919061519b565b9150612d6782612e73565b6040805160208101869052929750909550612d829101611bac565b91505f612d8e83612e73565b50959c949b509499509097509195505050505050565b5f5f5f612daf614dc2565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5991611bac918491016151d0565b9150612e6482612e73565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e8e826120b1565b9450612e99816120b1565b9350505050915091565b5f612eaf846007614923565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f10612f0a612ee4856003612101565b610601612eff612ef48b5f614923565b6106018c601c614923565b6106018b601b614923565b836120cf565b9050612f91612f86612f6d612f54612f3b85610606612f308d6002614923565b6106018e601b614923565b610606612f498c6003614923565b6106018d601c614923565b610606612f628b6004614923565b6106018c601d614923565b610606612f7b8a6005614923565b6106018b601e614923565b610606886001614923565b9050612fb081610606612fa5866001612101565b6106018a6026614923565b9050612fbc81846120cf565b9050612fc881856120cf565b8552505f9050613002612ff8612fed612fe288601b614923565b61060689601e614923565b610624886023614923565b610606875f614923565b905061301381610601846002612101565b905061302481610601846001612101565b905061303081836120cf565b905061303c81846120cf565b9050808460015b60200201525050505050565b5f5f5f61308561307b61306389601b614923565b6106066130718b6011614923565b8a606001516120cf565b87608001516120e8565b90506130be816106016130b461309c8b601c614923565b6106066130aa8d6012614923565b8c606001516120cf565b89608001516120e8565b90506130e3816106016130b46130d58b601d614923565b6106066130aa8d6013614923565b9050613108816106016130b46130fa8b601e614923565b6106066130aa8d6014614923565b92505f905061312c61307b61311e89601b614923565b6106066130718b600d614923565b9050613151816106016130b46131438b601c614923565b6106066130aa8d600e614923565b9050613176816106016130b46131688b601d614923565b6106066130aa8d600f614923565b905061319b816106016130b461318d8b601e614923565b6106066130aa8d6010614923565b91505f90506131c26131bc6131b189601f614923565b6106068a6019614923565b846120cf565b90506131f7816106246131f16131d98b6027614923565b6106066131e78d601a614923565b8c60a001516120cf565b856120cf565b905061320381856120cf565b6040860152505f6132266131f161321b89601a614923565b6106018a6027614923565b606090950194909452505050505050565b5f5f61329561327d6132656132506130b48a6015614923565b61060661325e8b6016614923565b8a516120cf565b6106066132738a6017614923565b89602001516120cf565b61060661328b896018614923565b88604001516120cf565b91505f6132cc6132b36132a989601b614923565b88608001516120e8565b6106066132c18a6003614923565b6106018b6023614923565b90505f6132f56132dd89601c614923565b6106066132ea8b5f614923565b6106018c6024614923565b90505f61331f6133068a601d614923565b6106066133148c6001614923565b6106018d6025614923565b905061335e61334661333885610606868d5f01516120cf565b610606848c602001516120cf565b6106066133548c6004614923565b8b604001516120cf565b93505050505f6133726131bc886020614923565b90505f6133836131bc896020614923565b90505f6133bb6133a26133978b6022614923565b6106068c6006614923565b6106246133b08c6022614923565b6106018d6006614923565b90505f6133df6133d96133ce87896120cf565b6106018d6020614923565b83612101565b90506133eb81886120cf565b90505f6134136134056133ff8d6006614923565b876120cf565b6106246133ff8e6021614923565b60808a018390529050808960055b60200201525050505050505050505050565b5f61343f5f6001612101565b90505f61344d5f6002612101565b90505f61345b5f6003612101565b90505f61347761346c88601c614923565b61062489601b614923565b90505f61349361348889601d614923565b6106248a601c614923565b90505f6134af6134a48a601e614923565b6106248b601d614923565b90505f6134cb6134c08b6023614923565b6106248c601e614923565b9050836134dc81610601818b6120e8565b90506134ec81610601878a6120e8565b90506134fc8161060187896120e8565b905061350d816106018d6008614923565b9050613519818a6120cf565b60c08b0152508261352e81610601818b6120e8565b905061353e81610601868a6120e8565b905061354e8161060186896120e8565b905061355f816106018d6008614923565b905061356b818a6120cf565b60e08b0152508161358081610601818b6120e8565b905061359081610601858a6120e8565b90506135a08161060185896120e8565b90506135b1816106018d6008614923565b90506135bd818a6120cf565b6101008b015250806135d381610601818b6120e8565b90506135e381610601848a6120e8565b90506135f38161060184896120e8565b9050613604816106018d6008614923565b9050613610818a6120cf565b9050808a6009613421565b6136546040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61365f84601c614923565b815261366c84601d614923565b602082015261367c846023614923565b604082015261368c846026614923565b606082015261369c846025614923565b60808201526136ac846024614923565b60a08201525f6136bd856002614923565b90505f6136ca865f614923565b90505f6136de8460400151855f0151612101565b90505f6136f3856020015186602001516120cf565b606086015190915086905f9061370990806120cf565b90505f61372761372189602001518a606001516120cf565b886120cf565b90505f61374661373f8a60a001518b604001516120e8565b8a516120e8565b90506137556133ff82886120cf565b905061377c61377661377061376a8487612101565b88612101565b846120e8565b836120e8565b90506137a461379961378e83876120cf565b6106018f6009614923565b61060160018a612101565b6101408c015250505050602085015160808601515f916137c3916120e8565b90505f6137e16137d78860600151886120cf565b8860200151612101565b90505f6138056137f184876120cf565b6106066131f18b60a001518c5f0151612101565b905061382d613822613817838c6120cf565b6106018e6009614923565b610601600189612101565b6101608b0152505f915061384e90506138478360116120e8565b87516120cf565b90505f61385b83846120e8565b905061386781826120e8565b90505f6138758360096120cf565b905061389e6138986131bc6138918b60a001518c5f01516120e8565b8b516120e8565b82612101565b60c089018190525f906138b9906137219061378e908d6120cf565b90506138cc8b600a6020020151826120e8565b6101408c0152505086515f92506138f39150613847906138ec90806120e8565b88516120e8565b90505f61393361390e836106018a5f01518b60a00151612101565b60208901516106249061392190806120e8565b6106018b602001518c608001516120e8565b905061395089600b602002015161060661372161378e858d6120cf565b89600b602002015250505050505050505050565b6139f8604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2d613a14613a0987601b614923565b610601886024614923565b610606613a22886023614923565b61060189601c614923565b8152613a72613a67613a4e613a4388601b614923565b61060189601e614923565b610606613a5c89601c614923565b6106018a601d614923565b610624876025614923565b60408201819052613a8790600160441b6120cf565b60408201819052613a9d90610624876026614923565b604082018190528151613ab091906120e8565b60408201819052613ac690610601876005614923565b60408201528051613adb90600160441b6120cf565b808252613afb90610606613af0886023614923565b610601896024614923565b80825260208201819052613b1790610624612fe288601d614923565b60208201819052613b2d90610601876004614923565b6020820152805160608201819052613b4a9061060687601e614923565b60608201819052613b6e90610624613b63886025614923565b610606896026614923565b60608201819052613b8390610601875f614923565b8160600181815250505f613bac613ba2836020015184604001516120e8565b83606001516120e8565b9050613bbd81610601886003614923565b9050613bd5613bcd876024614923565b6140006120cf565b60808301819052613beb90610606886023614923565b60808301819052613bfe906140006120cf565b60808301819052613c149061060688601d614923565b60808301819052613c27906140006120cf565b60808301819052613c3d9061060688601c614923565b60808301819052613c50906140006120cf565b60808301819052613c669061060688601b614923565b60808301819052613c7c9061062488601e614923565b60808301819052613c9290610601886005614923565b6080830152613ca5613bcd876025614923565b60a08301819052613cbb90610606886024614923565b60a08301819052613cce906140006120cf565b60a08301819052613ce490610606886023614923565b60a08301819052613cf7906140006120cf565b60a08301819052613d0d9061060688601e614923565b60a08301819052613d20906140006120cf565b60a08301819052613d369061060688601d614923565b60a08301819052613d4c90610624886026614923565b60a08301819052613d6190610601885f614923565b60a0830181905260808301515f91613d7991906120e8565b9050613d8a81610601896004614923565b9050613da4613d9a88601d614923565b87604001516120cf565b60c08401819052613dbd906106066132738a601c614923565b60c08401819052613ddd90610606613dd68a601b614923565b89516120cf565b60c08401819052613df390610606896001614923565b60c0840181905260e08401819052613e109061062489601e614923565b60c0840152613e2361346c886023614923565b610140840152613e42613e37886026614923565b61062489601e614923565b610120840152610140830151613e6790613e5c90806120cf565b846101400151612101565b610280840152610140830151613ea990613e9e90613e979061060160015f5160206152395f395f51905f52614f6a565b60016120e8565b8461012001516120cf565b6101608401819052613ee090613ed290610601613ec78b6002614923565b6106018c6003614923565b6106016133ff8a600a614923565b6101a0860152610280830151613f0290613ed290610601613ec78b6002614923565b6101c086015260c0830151613f2a90610601613f1f8a6002614923565b6106018b6003614923565b6101e08401525f613f49613f3f89601e614923565b8560e00151612101565b9050613f5861389882836120cf565b6101a0850152613f6c61328b896025614923565b6101008501819052613f9090610606613f868b6024614923565b8a602001516120cf565b6101008501819052613faa9061060661325e8b6023614923565b610100850152613fc9613fbe896026614923565b856101000151612101565b6101008501525f613fde6134a48a6025614923565b905061403261400c612f0a613e9788610140015160015f5160206152395f395f51905f526106019190614f6a565b610601613e9788610100015160015f5160206152395f395f51905f526106019190614f6a565b6101808601526101008501516140579061404c90806120cf565b866101000151612101565b6101c086015261018085015161408a90614076906106018c6007614923565b6106016140848c600a614923565b896120cf565b6101e08801526102808501516140a990614076906106018c6007614923565b6102008801526101c08501516140c890614076906106018c6007614923565b6102208801526101a08501516140e3906106018b6007614923565b6102008601526141026140f78a6024614923565b6106248b601c614923565b610220860152610140850151614141906134a49061413690613e979061060160015f5160206152395f395f51905f52614f6a565b8761022001516120cf565b61024086018190526101e08601516102608701819052614178916106069061060161416d8e6005614923565b6106018f6002614923565b610260860181905260c086015161419b91906106069061060161416d8e5f614923565b61026086018190526102008601516141b391906120e8565b61026086018190526141c99061377090866120e8565b6102a086018190526141e3906106016140848c600a614923565b6102a0860181905287600c6020020152505050505050505050565b6142746040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428d61428285601b614923565b610606866002614923565b81526142a861429d85601c614923565b610606866003614923565b60208201526142c66142bb85601d614923565b610606866004614923565b60408201526142e46142d985601e614923565b610606866005614923565b606082015280516143169061430f906143089061430190806120cf565b84516120cf565b83516120cf565b82516120cf565b608082015260208101516143549061434a906143409061433690806120cf565b84602001516120cf565b83602001516120cf565b82602001516120cf565b60a08201526040810151614392906143889061437e9061437490806120cf565b84604001516120cf565b83604001516120cf565b82604001516120cf565b60c082015260608101516143d0906143c6906143bc906143b290806120cf565b84606001516120cf565b83606001516120cf565b82606001516120cf565b60e0820152608081015160a08201516143e991906120e8565b61010082015260c081015160e082015161440391906120e8565b61012082015260a08101516144279061441c90806120e8565b8261012001516120e8565b61014082015260e081015161444b9061444090806120e8565b8261010001516120e8565b61016082015261012081015161446190806120e8565b6101e082018190526144829061447790806120e8565b8261016001516120e8565b6101e082015261010081015161449890806120e8565b6101a082018190526144b9906144ae90806120e8565b8261014001516120e8565b6101a082018190526101608201516144d0916120e8565b6101808201526101408101516101e08201516144ec91906120e8565b6101c0820152614500612f0a85600b614923565b610200820181905261024084015161018083015161452b9261060691610601906106248a6023614923565b836012602002015261455b8360136020020151610606836102000151610601856101a001516106248a6024614923565b836013602002015261458b8360146020020151610606836102000151610601856101c001516106248a6025614923565b83601460200201526145bb8360156020020151610606836102000151610601856101e001516106248a6026614923565b836015602002015250505050565b61461b6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146507f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b1565b815260200161467e7f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b1565b81526020016146ab7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b1565b81526020016146d97f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b1565b905290506146f66146eb86601b614923565b610606876002614923565b610120830181905261472a9061471f90613e9e9061471490806120cf565b8561012001516120cf565b8361012001516120cf565b825261473785601c614923565b602083015261474785601d614923565b604083015261475785601e614923565b60608301528151602083015161477f91613ba29161477591906120e8565b84604001516120e8565b60808301526147926131bc86600c614923565b61014083015281516147b3906147a990835f610ef3565b83608001516120e8565b60a08301526147df84601660200201516106068461014001516106018660a001516106248b6023614923565b6102c085015260208201516147fa906147a990836001610ef3565b60c083015261482684601760200201516106068461014001516106018660c001516106248b6024614923565b6102e08501526040820151614841906147a990836002610ef3565b60e083015261486d84601860200201516106068461014001516106018660e001516106248b6025614923565b6103008501526060820151614888906147a990836003610ef3565b6101008301526148b684601960200201516106068461014001516106018661010001516106248b6026614923565b846019613043565b5f6148ca8184816108d3565b905060015b601a81101561491c57614912826106068684601a81106148f1576148f1614fb7565b602002015186614902600187614f6a565b60198110610ef357610ef3614fb7565b91506001016148cf565b5092915050565b5f8282602781111561493757614937615204565b6028811061494757614947614fb7565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f8152602001614979614daa565b8152602001614986614daa565b8152602001614993614daa565b81526020016149a0614daa565b81526020016149ad614daa565b81526020016149ba614daa565b81526020016149c7614daa565b81526020016149d4614daa565b81526020016149e1614daa565b81526020016149ee614daa565b81526020016149fb614daa565b8152602001614a08614daa565b8152602001614a15614daa565b8152602001614a22614daa565b8152602001614a2f614daa565b8152602001614a3c614daa565b8152602001614a49614daa565b8152602001614a56614daa565b8152602001614a63614daa565b8152602001614a70614daa565b8152602001614a7d614daa565b8152602001614a8a614daa565b8152602001614a97614daa565b8152602001614aa4614daa565b8152602001614ab1614daa565b8152602001614abe614daa565b8152602001614acb614daa565b905290565b604051806101e00160405280614ae4614de1565b8152602001614af1614c40565b8152602001614afe614c40565b8152602001614b0b614c40565b8152602001614b18614c40565b8152602001614b25614c40565b8152602001614b32614c40565b8152602001614b3f614c40565b8152602001614b4c614c40565b8152602001614b59614e00565b8152602001614b66614e2e565b8152602001614b73614e4d565b8152602001614b80614cd2565b8152602001614b8d614c40565b8152602001614acb614c40565b604051806101000160405280614bae614c64565b8152602001614bbb614c94565b8152602001614bc8614cd2565b8152602001614bd5614cd2565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2a614daa565b815260200190600190039081614c225790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e18614d6c565b815260200190600190039081614e105790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e65614c40565b815260200190600190039081614e5d5790505090565b5f5f5f5f60408587031215614e8e575f5ffd5b84356001600160401b03811115614ea3575f5ffd5b8501601f81018713614eb3575f5ffd5b80356001600160401b03811115614ec8575f5ffd5b876020828401011115614ed9575f5ffd5b6020918201955093508501356001600160401b03811115614ef8575f5ffd5b8501601f81018713614f08575f5ffd5b80356001600160401b03811115614f1d575f5ffd5b8760208260051b8401011115614f31575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120c9576120c9614f3f565b818103818111156120c9576120c9614f3f565b808201808211156120c9576120c9614f3f565b5f5f85851115614f9e575f5ffd5b83861115614faa575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fdc57614fdc614f3f565b5060010190565b803560208310156120c9575f19602084900360031b1b1692915050565b5f8183825b6009811015615024578151835260209283019290910190600101615005565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505657615056615034565b500490565b5f8183825b602981101561507f578151835260209283019290910190600101615060565b5050506105208201905092915050565b5f8183825b606d8110156150b3578151835260209283019290910190600101615094565b505050610da08201905092915050565b5f8183825b601d8110156150e75781518352602092830192909101906001016150c8565b5050506103a08201905092915050565b5f8183825b600581101561511b5781518352602092830192909101906001016150fc565b50505060a08201905092915050565b5f8261513857615138615034565b500690565b5f8161514b5761514b614f3f565b505f190190565b5f82518060208501845e5f920191825250919050565b5f60208284031215615178575f5ffd5b815180151581146119f3575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c55781518452602093840193909101906001016151a7565b509195945050505050565b5f8183825b600d8110156151f45781518352602092830192909101906001016151d5565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x60e0604052348015600e575f5ffd5b506302000000608052601960a05260ae60c05260805160a05160c05161525b6100595f395f61063401525f818161073f01528181610d210152610dbd01525f6105d8015261525b5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b366004614e7d565b610054565b604051901515815260200160405180910390f35b5f6100626101c86020614f55565b8414610081576040516376ba560560e11b815260040160405180910390fd5b5f61008a6101a5565b90505f61009787876101ba565b9050601082604001516100aa9190614f6c565b84146100c95760405163fa06659360e01b815260040160405180910390fd5b5f6100e0828787865f015187604001516001610513565b90506101308686808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516060810151608090910151919350915060016105c2565b815160a001525f6101418383610737565b905080610161576040516313f8744360e31b815260040160405180910390fd5b5f61016d848685610838565b90508061018d576040516352ec174560e11b815260040160405180910390fd5b8180156101975750805b9a9950505050505050505050565b6101ad614955565b6101b56110b5565b905090565b6101c2614ad2565b5f805b6010811015610224576101f18583866101df826020614f7f565b926101ec93929190614f92565b61199b565b8351826010811061020457610204614fb9565b60200201818152505060208261021a9190614f7f565b91506001016101c5565b50610248848285610236826080614f7f565b9261024393929190614f92565b6119fc565b6020830152610258608082614f7f565b905061026b848285610236826080614f7f565b604083015261027b608082614f7f565b905061028e848285610236826080614f7f565b606083015261029e608082614f7f565b90506102b1848285610236826080614f7f565b60c08301526102c1608082614f7f565b90506102d4848285610236826080614f7f565b60e08301526102e4608082614f7f565b90506102f7848285610236826080614f7f565b60808084019190915261030a9082614f7f565b905061031d848285610236826080614f7f565b61010083015261032e608082614f7f565b9050610341848285610236826080614f7f565b60a0830152610351608082614f7f565b90505f5b601c8110156103d0575f5b60088110156103c75761037a8684876101df826020614f7f565b84610120015183601c811061039157610391614fb9565b602002015182600881106103a7576103a7614fb9565b6020020181815250506020836103bd9190614f7f565b9250600101610360565b50600101610355565b505f5b6028811015610424576103ed8583866101df826020614f7f565b836101400151826028811061040457610404614fb9565b60200201818152505060208261041a9190614f7f565b91506001016103d3565b505f5b6104336001601c614f6c565b81101561047c5761044b858386610236826080614f7f565b83610160015182601b811061046257610462614fb9565b6020020152610472608083614f7f565b9150600101610427565b505f5b601c8110156104d0576104998583866101df826020614f7f565b83610180015182601c81106104b0576104b0614fb9565b6020020181815250506020826104c69190614f7f565b915060010161047f565b506104e2848285610236826080614f7f565b6101a08301526104f3608082614f7f565b9050610506848285610236826080614f7f565b6101c08301525092915050565b61051b614b9c565b5f61052b88888888888887611acc565b908352905061053a8189611b22565b6020840191909152905061054d81611cbc565b604084019190915290506105618882611d1d565b606084019190915290506105758882611df1565b608084019190915290506105898882611e7c565b60a0840191909152905061059d8882611fea565b60c084019190915290506105b1888261205c565b5060e0830152509695505050505050565b5f6001808261060b86610606896106016105fc8a7f0000000000000000000000000000000000000000000000000000000000000000614f7f565b6120b3565b6120d1565b6120ea565b90505f610629876106248a6106016105fc8b6001614f7f565b612103565b90505f5b61065860107f0000000000000000000000000000000000000000000000000000000000000000614f6c565b8110156106c5575f6106828c838151811061067557610675614fb9565b60200260200101516120b3565b90506106928661060186846120ea565b95506106a28561060185846120ea565b94506106ae848b6120ea565b93506106ba838b612103565b92505060010161062d565b505f5b601081101561072c575f8a82601081106106e4576106e4614fb9565b602002015190506106f98661060186846120ea565b95506107098561060185846120ea565b9450610715848b6120ea565b9350610721838b612103565b9250506001016106c8565b506101978484612132565b5f806001815b7f000000000000000000000000000000000000000000000000000000000000000081101561080e575f86610120015182601c811061077d5761077d614fb9565b602002015190505f61078f8286612140565b9050806107af576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601c81106107c6576107c6614fb9565b602002015190506107d7838261215d565b95506107fe886040015185601c81106107f2576107f2614fb9565b6020020151868361230c565b945050505080600101905061073d565b505f610828866101400151865f0151876020015185612337565b90508281145b9695505050505050565b5f61087f6040518061012001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f61088d8460a001516123a5565b9050610897614bf5565b61089f614c14565b60e08601516108be906108b990855f5b6020020151612103565b61240a565b60a085015260e08601516108dd906108b990855f5b60200201516120ea565b60c080860182905260a0860151908801516108fc9261060691906120d1565b845260a086015161092a906109109061240a565b6106018660a001516106248a60c001518960c001516120d1565b6020850152600182526101a088015161094290612473565b81526001606085018190525f60808601525b602381116109fa5761097561096b865f01516124b2565b86606001516120d1565b83826046811061098757610987614fb9565b602002015260808501516101408a01516109ca9190610606906109ab600186614f6c565b602881106109bb576109bb614fb9565b602002015188606001516120d1565b8560800181815250506109e5856060015188608001516120d1565b60608601526109f381614fcd565b9050610954565b505f610a0860236001614f7f565b90505b60288111610a8957610a2361096b86602001516124b2565b838260468110610a3557610a35614fb9565b602002015260808501516101408a0151610a599190610606906109ab600186614f6c565b856080018181525050610a74856060015188608001516120d1565b6060860152610a8281614fcd565b9050610a0b565b50606087015181600160200201526080870151816002602002015260a0870151816003602002015260c0870151816004602002015260e0870151816005602002015261010087015181600660200201526101208701518160076020020152610140870151816008602002015261016087015181600960200201526101a087015181600a602002015261018087015181600b60200201526101c087015181600c60200201526101e087015181600d602002015261020087015181600e602002015261022087015181600f60200201526102408701518160106020020152610260870151816011602002015261028087015181601260200201526102a087015181601360200201526102c087015181601460200201526102e08701518160156020020152610300870151816016602002015261032087015181601760200201526103408701518160186020020152610360870151816019602002015261038087015181601a60200201526103a087015181601b6020020181905250610c0f8860200151612473565b6103808201526040880151610c2390612473565b6103a08201526060880151610c3790612473565b6103c08201526080880151610c4b90612473565b6103e082015260a0880151610c5f90612473565b610400820152610100880151610c7490612473565b61042082015260c0880151610c8890612473565b61044082015260e0880151610c9c90612473565b6104608201526020880151610cb090612473565b6104808201526040880151610cc490612473565b6104a08201526060880151610cd890612473565b6104c08201526080880151610cec90612473565b6104e082015260a0880151610d0090612473565b610500820152606086015160808501516101808a01515f92610d45929091877f00000000000000000000000000000000000000000000000000000000000000006124ca565b805160a0870151919250610d58916120d1565b604086018190526101808a01515160c0890151610d88929161060691610d7e91906120d1565b8860c001516120d1565b604086015260c0870151610d9b906125e5565b60608601525f5b610dae6001601c614f6c565b811015610fb0575f610de160017f0000000000000000000000000000000000000000000000000000000000000000614f6c565b821015905080610f5657610e146108b98a60e0015188856001610e049190614f7f565b601c81106108af576108af614fb9565b60a088015260e0890151610e42906108b99088610e32866001614f7f565b601c81106108d3576108d3614fb9565b60c0880152606087015160a0880151610e5b91906120d1565b60e0880152606087015160c08a0151610e7791610d7e916120d1565b6101008801819052610e9990610e8c906124b2565b6106068960e001516124b2565b8583610ea760286001614f7f565b610eb19190614f7f565b60468110610ec157610ec1614fb9565b60200201526101008701516101808c01515f91610efd91610ee3866001614f7f565b601c8110610ef357610ef3614fb9565b60200201516120d1565b9050610f19816106068a60e0015187876001610ee39190614f7f565b9050610f298860400151826120ea565b6040890152606088015160c08b0151610f4f91610f45916120d1565b8b60c001516120d1565b6060890152505b610f7a8b610160015183601b8110610f7057610f70614fb9565b6020020151612473565b8483610f8860286001614f7f565b610f929190614f7f565b60468110610fa257610fa2614fb9565b602002015250600101610da2565b5060408051808201909152600181526002602082015282610fd3601c6028614f7f565b60468110610fe357610fe3614fb9565b6020020152604085015183610ffa601c6028614f7f565b6046811061100a5761100a614fb9565b60200201526101c08901515f9061102090612473565b90508083611030601c6028614f7f565b61103b906001614f7f565b6046811061104b5761104b614fb9565b602002015260e088015184611062601c6028614f7f565b61106d906001614f7f565b6046811061107d5761107d614fb9565b60200201525f61108d84866125f0565b90505f611099836126b6565b90506110a582826126fc565b9c9b505050505050505050505050565b6110bd614955565b50604080516103c08101825263020000008152601960208083019190915260ae82840152825180840184527f2b0321c34f33c10aefd2d69cf0fc58c58554e4885db1d8d81372e7976e89c21f81527f0e66d1f549174678c8078bfd0b4cd6eb32cfc4413d2bda7d95481b94264690b1818301526060830152825180840184527f20256321741afbfaa06ca3741c0c4128babd620c6e3ea1f720ffa5e8b403faa681527f1bdaceaeb65f2a18e5679dbfd2ca58ccc5acdcdbd74624c143343ce1f414adc6818301526080830152825180840184527f1d64888d0abe379a17c230b054797b58ddbea50a361cb64d0bee1ef6a751138b81527f126f92dc854e1d9fe593f42cd8ec666079c4182da914f5daaa1e889bea89c9438183015260a0830152825180840184527f154b07c57b9be48a0720e4638549237e5d2773037e008838a6b4bdd558f62ad781527eb0936e189e766ec1079ccff1489217a62f09a94209818cc61738bb9e745a318183015260c0830152825180840184527f11fe89df5d3c03d738c1099773d224e7ecff62e5d2a4a6d21a51ad98c2f7905481527f06615d827a86b7f5edc93cf3341375cca4abae7fface50363238f8cddc37cf0c8183015260e0830152825180840184527f20405d645114835df62ca007b50ddcc38401dcac4f842243c40681943bd217ca81527f288a686d75b2e109ac1f453d17c8741c0d7b0678113a35d9b4c64a5ea6d2fff781830152610100830152825180840184527f01a8abe0d74344165494348196db5fa7da3a745f398fd1374cc2cb15bcc58ff481527f0f62b9babe865f3d0c422867d8b7f7fa5c13d85721a659f3b9ff8fc8cc6fc99281830152610120830152825180840184527f19e77913f55b3b79e1f27a001c77b2d3c53b063e384e604a42d34b07d40a154d81527f17e6f230c3ea95decb4ab510574a1973a501b83209c67edec5cf233b4df065a381830152610140830152825180840184527f21163d6efd30064cd3f5137f847d9236dbd6d32582d49b0456d1593a6ef4187381527f2bc3c033f49112030c9f0e0a1251172cb197d9de817efe2f1fc0167721690c2281830152610160830152825180840184527f145092e558a57141ce50a13a911ffe538a9fb95fffd604d8ba2dc6c2852534b281527f124ea372bf88f5cacca7deb0f96381a2399b1948ae4b27d8786d7244b27474ca81830152610180830152825180840184527f2132d2574f33c0b540605992a6f4959b0ee48877ba994548e6c867959a54269c81527f1e0276fe25e6576cddeb9adcd9144b701b8d8459c8e8f77fb484c5009becbb0a818301526101a0830152825180840184527f26e0a8d2ef27915ad3713fe496ab7b5c184f6b7e3dbe802e901314de954d339381527f2b1d5b8a804a15d81fbe3c8c93fabb2d6ee546f6c43ad7d912178d345676bc51818301526101c0830152825180840184527f0180cc493cca83e192b2652ff31c48e902b15d1d1f035fc2a64a7c85477f5f1481527f0b874e6a8889f1f9caddb981e21d3bbca4abdd38429163ad65f955e8cc797637818301526101e0830152825180840184527f14042c6b34d67d3d0439d2a6271a3664127ac05ea830467096c80c04d068871a81527f04edfb6fa00c2ffef51a950c3bc18f1d523a76293822d9588446f45c1225b65181830152610200830152825180840184527f26b65a07dcc457b52ecb68784fd165242f47ba52115fc04fd5ca5bbb5d107ff081527f0e7a12639fe44e0b5136a07fd1560617311b6acdd83b67904901daeaffd38fa081830152610220830152825180840184527f2fb818185fde135bbd4a5251100c6abf912af18034aee7cc8ba6725109affc5681527f1fbd77f65319c236aa4c7eb1859697cef3eac0fa96f7932a396a6981fd2790d481830152610240830152825180840184527f0369a0615ee7d10d144252456d0a471e47d97c24c51fe6808ced4409fb269f4481527f16d65e7a194a05fcb17dab66e06154c4eb9fc38a38275f96aca417fc2bb6a34581830152610260830152825180840184527f14b337b93ade02933ee37cd2f63ef04b1dd18648102c9c008d2793c7928efd2281527f1b37bb3566ed65fb5c0d83582aa78324be1d6675b55955ed251f6f6bbd2f672381830152610280830152825180840184527f17ff9a9c66bfebc1a40d55c3d93e588c9909fa1b2ac970e1b227693b193ce5c681527f0f1d139b42b1cb0e04a97e703348d1d3e19b43c34dcd7f1ba4bfeb7a84b3e10a818301526102a0830152825180840184527f2e983fc124a78b3381ddf8e3222a0c42e77b4f159981caa105ad15eeaa49b65d81527f2c3693dfcf122eaaecd87a25ddf05c80751901ca4fff225216c7b64bd762f4bf818301526102c0830152825180840184527f212f98aac2be6da99016e5adfee95a7dff1d5fc5ebb8355007a9b4d2f6f9ef9e81527f18aa72aa2c84181564be00de1f6879e25f87ed62c36ad81727858e3315de3d06818301526102e0830152825180840184527f275a0bb22f8c37a3476d71c556d266909fdde001df48d48a78940343ccb0b48a81527f2a4cc2119d1bd729845e8630c5b1aec652a2f2a7ae690c52238e3eafd44b385681830152610300830152825180840184527f1e1d6ac562a951aa01bc279a090d34488936a6404b3c75294fd260df0d36689381527f1643515b25c47e776b6d99eb3ce8b4613b209886681842e5c39ee92efe72c27281830152610320830152825180840184527f09d569252b4b229e483b00b1e67384ac4db29395d32e28c82f8b73983d30ac6b81527f2c47d5809e56ba32be655d4177db195bb450fd12587756c4b85b6506a7844ddb81830152610340830152825180840184527f1f59b85de9212665c6c3e59fb35ab6609d72f5ad8007449dc8019a5886fad88f81527f21c9b787b5e0109e8ab3c2293b8c67fa9ec871818722fb8bea77aa6477aaae4c81830152610360830152825180840184526001815260028183015261038083015282518084019093527f11e0e031f829318f6bad9dd9c5f7d1de01dc22da72d666cd4f8801354eb3fe5f83527f22e34c359086fff73f380012b9692972f6c24f7194c7ecef18ece5c9a7ea0bbe908301526103a081019190915290565b5f602082146119e85760405162461bcd60e51b815260206004820152601460248201527334b73b30b634b210313cba32b99039b1b0b630b960611b60448201526064015b60405180910390fd5b6119f56105fc8385614fe5565b9392505050565b611a04614c42565b60808214611a4a5760405162461bcd60e51b81526020600482015260136024820152721a5b9d985b1a5908189e5d195cc81c1bda5b9d606a1b60448201526064016119df565b604080516080810190915280611a6360205f8688614f92565b611a6c91614fe5565b8152602090810190611a82906040908688614f92565b611a8b91614fe5565b8152602001611a9e606060408688614f92565b611aa791614fe5565b8152602001611aba608060608688614f92565b611ac391614fe5565b90529392505050565b611ad4614c66565b5f611ae3898989898989612900565b604086019190915260208501919091529083529250611b02838a612da6565b608085019190915260608401919091529199919850909650505050505050565b611b2a614c96565b5f611b33614cb5565b848152610100848101805151602080850191909152815181015160408086019190915282518101516060808701919091529251830151608086015260a080890180515191870191909152805183015160c0870152805182015160e087015251909201519284019290925251611bc991611bae91849101615002565b604051602081830303815290604052805190602001206120b3565b9150611bd482612e75565b6020850152835260015b611bea6002601961504a565b811015611c6a57611c0783604051602001611bae91815260200190565b9250611c1283612e75565b85611c1e846002614f55565b60198110611c2e57611c2e614fb9565b6020020186611c3e856002614f55565b611c49906001614f7f565b60198110611c5957611c59614fb9565b602002019190915252600101611bde565b50611c8182604051602001611bae91815260200190565b91505f611c8d83612e75565b85611c9a60016019614f6c565b60198110611caa57611caa614fb9565b60200201919091525050509250929050565b611cc4614cd4565b5f805b601c811015611d1657611ce684604051602001611bae91815260200190565b93505f611cf285612e75565b8584601c8110611d0457611d04614fb9565b60200201919091525050600101611cc7565b5090929050565b611d25614cd4565b5f805b601c811015611de857611d39614cb5565b8481525f5b6008811015611da25786610120015183601c8110611d5e57611d5e614fb9565b60200201518160088110611d7457611d74614fb9565b602002015182611d85836001614f7f565b60098110611d9557611d95614fb9565b6020020152600101611d3e565b50611db781604051602001611bae9190615002565b94505f611dc386612e75565b8685601c8110611dd557611dd5614fb9565b6020020191909152505050600101611d28565b50909391925050565b5f5f611dfb614cf3565b8381525f5b6028811015611e4e578561014001518160288110611e2057611e20614fb9565b602002015182611e31836001614f7f565b60298110611e4157611e41614fb9565b6020020152600101611e00565b50611e6381604051602001611bae919061505d565b91505f611e6f83612e75565b5096929550919350505050565b5f5f611e86614d12565b8381525f5b611e976001601c614f6c565b811015611fd55785610160015181601b8110611eb557611eb5614fb9565b60200201515182611ec7836004614f55565b611ed2906001614f7f565b606d8110611ee257611ee2614fb9565b602002015261016086015181601b8110611efe57611efe614fb9565b60200201516020015182826004611f159190614f55565b611f20906002614f7f565b606d8110611f3057611f30614fb9565b602002015261016086015181601b8110611f4c57611f4c614fb9565b60200201516040015182611f61836004614f55565b611f6c906003614f7f565b606d8110611f7c57611f7c614fb9565b602002015261016086015181601b8110611f9857611f98614fb9565b60200201516060015182611fad836004614f55565b611fb8906004614f7f565b606d8110611fc857611fc8614fb9565b6020020152600101611e8b565b50611e6381604051602001611bae9190615091565b5f5f611ff4614d31565b8381525f5b601c8110156120475785610180015181601c811061201957612019614fb9565b60200201518261202a836001614f7f565b601d811061203a5761203a614fb9565b6020020152600101611ff9565b50611e6381604051602001611bae91906150c5565b5f5f612066614d50565b8381526101a085018051516020808401919091528151810151604080850191909152825181015160608086019190915292519092015160808401529051611e6391611bae918491016150f9565b5f6120cb5f51602061523b5f395f51905f528361512c565b92915050565b5f5f51602061523b5f395f51905f528284099392505050565b5f5f51602061523b5f395f51905f528284089392505050565b5f5f51602061523b5f395f51905f52612129835f51602061523b5f395f51905f52614f6c565b84089392505050565b5f6119f5836106018461240a565b81515f908190612152908560016108d3565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156122445761223a826106018784612103565b9150600101612223565b5061224d614d6e565b5f5b60088110156122ae575f84826008811061226b5761226b614fb9565b60200201519050612280816106018985612103565b905061228b8161240a565b9050808383600881106122a0576122a0614fb9565b60200201525060010161224f565b505f5b6008811015612301575f8782600881106122cd576122cd614fb9565b602002015190506122ea81848460088110610ef357610ef3614fb9565b90506122f686826120ea565b9550506001016122b1565b5061082e84836120d1565b5f5f612322600161060685610601896001612103565b905061232e84826120d1565b95945050505050565b5f612340614d8d565b61234b868285612ea5565b61235786868386613051565b61236386868386613239565b61236e868285613435565b61237986828561361d565b61238586868386613966565b612390868285614200565b61239b8682856145cb565b61082e81856148c0565b6123ad614cd4565b81815260015b601c811015612404576123e5826123cb600184614f6c565b601c81106123db576123db614fb9565b60200201516125e5565b8282601c81106123f7576123f7614fb9565b60200201526001016123b3565b50919050565b5f5f8290505f604051602081526020808201526020604082015282606082015260025f51602061523b5f395f51905f520360808201525f51602061523b5f395f51905f5260a082015260205f60c08360055afa905080612468575f5ffd5b50505f519392505050565b61247b614dac565b604051806040016040528060888460200151901b845f015117815260200160888460600151901b8460400151178152509050919050565b5f6120cb825f51602061523b5f395f51905f52614f6c565b6124d2614cd4565b601c5b80156125db575f846124e8600184614f6c565b601c81106124f8576124f8614fb9565b602002015190505f8861250c600185614f6c565b601c811061251c5761251c614fb9565b602002015190505f61257761253b612534858c6120d1565b60026120d1565b6106248a61254a600189614f6c565b601c811061255a5761255a614fb9565b60200201516106016125718861060160018a612103565b87612103565b9050612598816106016108b961259287610601600189612103565b866120ea565b90508584116125c75797508780856125b1600187614f6c565b601c81106125c1576125c1614fb9565b60200201525b505050806125d49061513f565b90506124d5565b5095945050505050565b5f6120cb82836120d1565b6125f8614dac565b5f612605601c6028614f7f565b612610906002614f7f565b90506001604051855151604082015285516020015160608201528451608082015260408160606040840160075afa8216915060015b8381101561269e5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612645565b50805184526020810151602085015250505092915050565b6126be614dac565b5f51602061521b5f395f51905f5282602001515f51602061521b5f395f51905f526126e99190614f6c565b6126f3919061512c565b60208301525090565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516128929190615154565b5f60405180830381855afa9150503d805f81146128ca576040519150601f19603f3d011682016040523d82523d5f602084013e6128cf565b606091505b50915091505f818060200190518101906128e9919061516a565b90508280156128f55750805b979650505050505050565b5f80808080612910876003614f7f565b61291b90600c614f7f565b6001600160401b0381111561293257612932615189565b60405190808252806020026020018201604052801561295b578160200160208202803683370190505b509050875f1b815f8151811061297357612973614fb9565b602002602001018181525050865f1b8160018151811061299557612995614fb9565b602002602001018181525050855f1b816002815181106129b7576129b7614fb9565b60209081029190910101525f5b6129cf601089614f6c565b811015612a20578a8a828181106129e8576129e8614fb9565b90506020020135828260036129fd9190614f7f565b81518110612a0d57612a0d614fb9565b60209081029190910101526001016129c4565b505f5b6010811015612a91578b51612a4b908260108110612a4357612a43614fb9565b602002015190565b82826010612a5a8c6003614f7f565b612a649190614f6c565b612a6e9190614f7f565b81518110612a7e57612a7e614fb9565b6020908102919091010152600101612a23565b5060208b01515181612aa4896003614f7f565b81518110612ab457612ab4614fb9565b6020908102919091018101919091528b810151015181612ad5896003614f7f565b612ae0906001614f7f565b81518110612af057612af0614fb9565b6020908102919091018101919091528b01516040015181612b12896003614f7f565b612b1d906002614f7f565b81518110612b2d57612b2d614fb9565b6020908102919091018101919091528b01516060015181612b4f896003614f7f565b612b5a906003614f7f565b81518110612b6a57612b6a614fb9565b602090810291909101015260408b01515181612b87896003614f7f565b612b92906004614f7f565b81518110612ba257612ba2614fb9565b60209081029190910181019190915260408c0151015181612bc4896003614f7f565b612bcf906005614f7f565b81518110612bdf57612bdf614fb9565b60209081029190910101526040808c0151015181612bfe896003614f7f565b612c09906006614f7f565b81518110612c1957612c19614fb9565b602090810291909101015260408b01516060015181612c39896003614f7f565b612c44906007614f7f565b81518110612c5457612c54614fb9565b602090810291909101015260608b01515181612c71896003614f7f565b612c7c906008614f7f565b81518110612c8c57612c8c614fb9565b60209081029190910181019190915260608c0151015181612cae896003614f7f565b612cb9906009614f7f565b81518110612cc957612cc9614fb9565b602090810291909101015260608b01516040015181612ce9896003614f7f565b612cf490600a614f7f565b81518110612d0457612d04614fb9565b60209081029190910101526060808c0151015181612d23896003614f7f565b612d2e90600b614f7f565b81518110612d3e57612d3e614fb9565b602002602001018181525050612d5e81604051602001611bae919061519d565b9150612d6982612e75565b6040805160208101869052929750909550612d849101611bae565b91505f612d9083612e75565b50959c949b509499509097509195505050505050565b5f5f5f612db1614dc4565b85815260c085810180515160208085019190915281518101516040808601919091528251810151606080870191909152925183015160808087019190915260e0808b0180515160a089015280518501519688019690965285518301519087015293518301516101008601529288018051516101208601528051820151610140860152805184015161016086015251909101516101808401529051612e5b91611bae918491016151d2565b9150612e6682612e75565b90979096509194509092505050565b5f80826001600160801b038116608082901c612e90826120b3565b9450612e9b816120b3565b9350505050915091565b5f612eb1846007614925565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f612f12612f0c612ee6856003612103565b610601612f01612ef68b5f614925565b6106018c601c614925565b6106018b601b614925565b836120d1565b9050612f93612f88612f6f612f56612f3d85610606612f328d6002614925565b6106018e601b614925565b610606612f4b8c6003614925565b6106018d601c614925565b610606612f648b6004614925565b6106018c601d614925565b610606612f7d8a6005614925565b6106018b601e614925565b610606886001614925565b9050612fb281610606612fa7866001612103565b6106018a6026614925565b9050612fbe81846120d1565b9050612fca81856120d1565b8552505f9050613004612ffa612fef612fe488601b614925565b61060689601e614925565b610624886023614925565b610606875f614925565b905061301581610601846002612103565b905061302681610601846001612103565b905061303281836120d1565b905061303e81846120d1565b9050808460015b60200201525050505050565b5f5f5f61308761307d61306589601b614925565b6106066130738b6011614925565b8a606001516120d1565b87608001516120ea565b90506130c0816106016130b661309e8b601c614925565b6106066130ac8d6012614925565b8c606001516120d1565b89608001516120ea565b90506130e5816106016130b66130d78b601d614925565b6106066130ac8d6013614925565b905061310a816106016130b66130fc8b601e614925565b6106066130ac8d6014614925565b92505f905061312e61307d61312089601b614925565b6106066130738b600d614925565b9050613153816106016130b66131458b601c614925565b6106066130ac8d600e614925565b9050613178816106016130b661316a8b601d614925565b6106066130ac8d600f614925565b905061319d816106016130b661318f8b601e614925565b6106066130ac8d6010614925565b91505f90506131c46131be6131b389601f614925565b6106068a6019614925565b846120d1565b90506131f9816106246131f36131db8b6027614925565b6106066131e98d601a614925565b8c60a001516120d1565b856120d1565b905061320581856120d1565b6040860152505f6132286131f361321d89601a614925565b6106018a6027614925565b606090950194909452505050505050565b5f5f61329761327f6132676132526130b68a6015614925565b6106066132608b6016614925565b8a516120d1565b6106066132758a6017614925565b89602001516120d1565b61060661328d896018614925565b88604001516120d1565b91505f6132ce6132b56132ab89601b614925565b88608001516120ea565b6106066132c38a6003614925565b6106018b6023614925565b90505f6132f76132df89601c614925565b6106066132ec8b5f614925565b6106018c6024614925565b90505f6133216133088a601d614925565b6106066133168c6001614925565b6106018d6025614925565b905061336061334861333a85610606868d5f01516120d1565b610606848c602001516120d1565b6106066133568c6004614925565b8b604001516120d1565b93505050505f6133746131be886020614925565b90505f6133856131be896020614925565b90505f6133bd6133a46133998b6022614925565b6106068c6006614925565b6106246133b28c6022614925565b6106018d6006614925565b90505f6133e16133db6133d087896120d1565b6106018d6020614925565b83612103565b90506133ed81886120d1565b90505f6134156134076134018d6006614925565b876120d1565b6106246134018e6021614925565b60808a018390529050808960055b60200201525050505050505050505050565b5f6134415f6001612103565b90505f61344f5f6002612103565b90505f61345d5f6003612103565b90505f61347961346e88601c614925565b61062489601b614925565b90505f61349561348a89601d614925565b6106248a601c614925565b90505f6134b16134a68a601e614925565b6106248b601d614925565b90505f6134cd6134c28b6023614925565b6106248c601e614925565b9050836134de81610601818b6120ea565b90506134ee81610601878a6120ea565b90506134fe8161060187896120ea565b905061350f816106018d6008614925565b905061351b818a6120d1565b60c08b0152508261353081610601818b6120ea565b905061354081610601868a6120ea565b90506135508161060186896120ea565b9050613561816106018d6008614925565b905061356d818a6120d1565b60e08b0152508161358281610601818b6120ea565b905061359281610601858a6120ea565b90506135a28161060185896120ea565b90506135b3816106018d6008614925565b90506135bf818a6120d1565b6101008b015250806135d581610601818b6120ea565b90506135e581610601848a6120ea565b90506135f58161060184896120ea565b9050613606816106018d6008614925565b9050613612818a6120d1565b9050808a6009613423565b6136566040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61366184601c614925565b815261366e84601d614925565b602082015261367e846023614925565b604082015261368e846026614925565b606082015261369e846025614925565b60808201526136ae846024614925565b60a08201525f6136bf856002614925565b90505f6136cc865f614925565b90505f6136e08460400151855f0151612103565b90505f6136f5856020015186602001516120d1565b606086015190915086905f9061370b90806120d1565b90505f61372961372389602001518a606001516120d1565b886120d1565b90505f6137486137418a60a001518b604001516120ea565b8a516120ea565b905061375761340182886120d1565b905061377e61377861377261376c8487612103565b88612103565b846120ea565b836120ea565b90506137a661379b61379083876120d1565b6106018f6009614925565b61060160018a612103565b6101408c015250505050602085015160808601515f916137c5916120ea565b90505f6137e36137d98860600151886120d1565b8860200151612103565b90505f6138076137f384876120d1565b6106066131f38b60a001518c5f0151612103565b905061382f613824613819838c6120d1565b6106018e6009614925565b610601600189612103565b6101608b0152505f915061385090506138498360116120ea565b87516120d1565b90505f61385d83846120ea565b905061386981826120ea565b90505f6138778360096120d1565b90506138a061389a6131be6138938b60a001518c5f01516120ea565b8b516120ea565b82612103565b60c089018190525f906138bb9061372390613790908d6120d1565b90506138ce8b600a6020020151826120ea565b6101408c0152505086515f92506138f59150613849906138ee90806120ea565b88516120ea565b90505f613935613910836106018a5f01518b60a00151612103565b60208901516106249061392390806120ea565b6106018b602001518c608001516120ea565b905061395289600b6020020151610606613723613790858d6120d1565b89600b602002015250505050505050505050565b6139fa604051806102c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613a2f613a16613a0b87601b614925565b610601886024614925565b610606613a24886023614925565b61060189601c614925565b8152613a74613a69613a50613a4588601b614925565b61060189601e614925565b610606613a5e89601c614925565b6106018a601d614925565b610624876025614925565b60408201819052613a8990600160441b6120d1565b60408201819052613a9f90610624876026614925565b604082018190528151613ab291906120ea565b60408201819052613ac890610601876005614925565b60408201528051613add90600160441b6120d1565b808252613afd90610606613af2886023614925565b610601896024614925565b80825260208201819052613b1990610624612fe488601d614925565b60208201819052613b2f90610601876004614925565b6020820152805160608201819052613b4c9061060687601e614925565b60608201819052613b7090610624613b65886025614925565b610606896026614925565b60608201819052613b8590610601875f614925565b8160600181815250505f613bae613ba4836020015184604001516120ea565b83606001516120ea565b9050613bbf81610601886003614925565b9050613bd7613bcf876024614925565b6140006120d1565b60808301819052613bed90610606886023614925565b60808301819052613c00906140006120d1565b60808301819052613c169061060688601d614925565b60808301819052613c29906140006120d1565b60808301819052613c3f9061060688601c614925565b60808301819052613c52906140006120d1565b60808301819052613c689061060688601b614925565b60808301819052613c7e9061062488601e614925565b60808301819052613c9490610601886005614925565b6080830152613ca7613bcf876025614925565b60a08301819052613cbd90610606886024614925565b60a08301819052613cd0906140006120d1565b60a08301819052613ce690610606886023614925565b60a08301819052613cf9906140006120d1565b60a08301819052613d0f9061060688601e614925565b60a08301819052613d22906140006120d1565b60a08301819052613d389061060688601d614925565b60a08301819052613d4e90610624886026614925565b60a08301819052613d6390610601885f614925565b60a0830181905260808301515f91613d7b91906120ea565b9050613d8c81610601896004614925565b9050613da6613d9c88601d614925565b87604001516120d1565b60c08401819052613dbf906106066132758a601c614925565b60c08401819052613ddf90610606613dd88a601b614925565b89516120d1565b60c08401819052613df590610606896001614925565b60c0840181905260e08401819052613e129061062489601e614925565b60c0840152613e2561346e886023614925565b610140840152613e44613e39886026614925565b61062489601e614925565b610120840152610140830151613e6990613e5e90806120d1565b846101400151612103565b610280840152610140830151613eab90613ea090613e999061060160015f51602061523b5f395f51905f52614f6c565b60016120ea565b8461012001516120d1565b6101608401819052613ee290613ed490610601613ec98b6002614925565b6106018c6003614925565b6106016134018a600a614925565b6101a0860152610280830151613f0490613ed490610601613ec98b6002614925565b6101c086015260c0830151613f2c90610601613f218a6002614925565b6106018b6003614925565b6101e08401525f613f4b613f4189601e614925565b8560e00151612103565b9050613f5a61389a82836120d1565b6101a0850152613f6e61328d896025614925565b6101008501819052613f9290610606613f888b6024614925565b8a602001516120d1565b6101008501819052613fac906106066132608b6023614925565b610100850152613fcb613fc0896026614925565b856101000151612103565b6101008501525f613fe06134a68a6025614925565b905061403461400e612f0c613e9988610140015160015f51602061523b5f395f51905f526106019190614f6c565b610601613e9988610100015160015f51602061523b5f395f51905f526106019190614f6c565b6101808601526101008501516140599061404e90806120d1565b866101000151612103565b6101c086015261018085015161408c90614078906106018c6007614925565b6106016140868c600a614925565b896120d1565b6101e08801526102808501516140ab90614078906106018c6007614925565b6102008801526101c08501516140ca90614078906106018c6007614925565b6102208801526101a08501516140e5906106018b6007614925565b6102008601526141046140f98a6024614925565b6106248b601c614925565b610220860152610140850151614143906134a69061413890613e999061060160015f51602061523b5f395f51905f52614f6c565b8761022001516120d1565b61024086018190526101e0860151610260870181905261417a916106069061060161416f8e6005614925565b6106018f6002614925565b610260860181905260c086015161419d91906106069061060161416f8e5f614925565b61026086018190526102008601516141b591906120ea565b61026086018190526141cb9061377290866120ea565b6102a086018190526141e5906106016140868c600a614925565b6102a0860181905287600c6020020152505050505050505050565b6142766040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61428f61428485601b614925565b610606866002614925565b81526142aa61429f85601c614925565b610606866003614925565b60208201526142c86142bd85601d614925565b610606866004614925565b60408201526142e66142db85601e614925565b610606866005614925565b60608201528051614318906143119061430a9061430390806120d1565b84516120d1565b83516120d1565b82516120d1565b608082015260208101516143569061434c906143429061433890806120d1565b84602001516120d1565b83602001516120d1565b82602001516120d1565b60a082015260408101516143949061438a906143809061437690806120d1565b84604001516120d1565b83604001516120d1565b82604001516120d1565b60c082015260608101516143d2906143c8906143be906143b490806120d1565b84606001516120d1565b83606001516120d1565b82606001516120d1565b60e0820152608081015160a08201516143eb91906120ea565b61010082015260c081015160e082015161440591906120ea565b61012082015260a08101516144299061441e90806120ea565b8261012001516120ea565b61014082015260e081015161444d9061444290806120ea565b8261010001516120ea565b61016082015261012081015161446390806120ea565b6101e082018190526144849061447990806120ea565b8261016001516120ea565b6101e082015261010081015161449a90806120ea565b6101a082018190526144bb906144b090806120ea565b8261014001516120ea565b6101a082018190526101608201516144d2916120ea565b6101808201526101408101516101e08201516144ee91906120ea565b6101c0820152614502612f0c85600b614925565b610200820181905261024084015161018083015161452d9261060691610601906106248a6023614925565b836012602002015261455d8360136020020151610606836102000151610601856101a001516106248a6024614925565b836013602002015261458d8360146020020151610606836102000151610601856101c001516106248a6025614925565b83601460200201526145bd8360156020020151610606836102000151610601856101e001516106248a6026614925565b836015602002015250505050565b61461d6040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f60405180608001604052806146527f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e76120b3565b81526020016146807f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b6120b3565b81526020016146ad7e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac156120b3565b81526020016146db7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b6120b3565b905290506146f86146ed86601b614925565b610606876002614925565b610120830181905261472c9061472190613ea09061471690806120d1565b8561012001516120d1565b8361012001516120d1565b825261473985601c614925565b602083015261474985601d614925565b604083015261475985601e614925565b60608301528151602083015161478191613ba49161477791906120ea565b84604001516120ea565b60808301526147946131be86600c614925565b61014083015281516147b5906147ab90835f610ef3565b83608001516120ea565b60a08301526147e184601660200201516106068461014001516106018660a001516106248b6023614925565b6102c085015260208201516147fc906147ab90836001610ef3565b60c083015261482884601760200201516106068461014001516106018660c001516106248b6024614925565b6102e08501526040820151614843906147ab90836002610ef3565b60e083015261486f84601860200201516106068461014001516106018660e001516106248b6025614925565b610300850152606082015161488a906147ab90836003610ef3565b6101008301526148b884601960200201516106068461014001516106018661010001516106248b6026614925565b846019613045565b5f6148cc8184816108d3565b905060015b601a81101561491e57614914826106068684601a81106148f3576148f3614fb9565b602002015186614904600187614f6c565b60198110610ef357610ef3614fb9565b91506001016148d1565b5092915050565b5f8282602781111561493957614939615206565b6028811061494957614949614fb9565b60200201519392505050565b604051806103c001604052805f81526020015f81526020015f815260200161497b614dac565b8152602001614988614dac565b8152602001614995614dac565b81526020016149a2614dac565b81526020016149af614dac565b81526020016149bc614dac565b81526020016149c9614dac565b81526020016149d6614dac565b81526020016149e3614dac565b81526020016149f0614dac565b81526020016149fd614dac565b8152602001614a0a614dac565b8152602001614a17614dac565b8152602001614a24614dac565b8152602001614a31614dac565b8152602001614a3e614dac565b8152602001614a4b614dac565b8152602001614a58614dac565b8152602001614a65614dac565b8152602001614a72614dac565b8152602001614a7f614dac565b8152602001614a8c614dac565b8152602001614a99614dac565b8152602001614aa6614dac565b8152602001614ab3614dac565b8152602001614ac0614dac565b8152602001614acd614dac565b905290565b604051806101e00160405280614ae6614de3565b8152602001614af3614c42565b8152602001614b00614c42565b8152602001614b0d614c42565b8152602001614b1a614c42565b8152602001614b27614c42565b8152602001614b34614c42565b8152602001614b41614c42565b8152602001614b4e614c42565b8152602001614b5b614e02565b8152602001614b68614e30565b8152602001614b75614e4f565b8152602001614b82614cd4565b8152602001614b8f614c42565b8152602001614acd614c42565b604051806101000160405280614bb0614c66565b8152602001614bbd614c96565b8152602001614bca614cd4565b8152602001614bd7614cd4565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806108c001604052806046906020820280368337509192915050565b604051806108c001604052806046905b614c2c614dac565b815260200190600190039081614c245790505090565b60405180608001604052805f81526020015f81526020015f81526020015f81525090565b6040518060c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518061052001604052806029906020820280368337509192915050565b60405180610da00160405280606d906020820280368337509192915050565b604051806103a00160405280601d906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103400160405280601a906020820280368337509192915050565b60405180604001604052805f81526020015f81525090565b604051806101a00160405280600d906020820280368337509192915050565b6040518061020001604052806010906020820280368337509192915050565b604051806103800160405280601c905b614e1a614d6e565b815260200190600190039081614e125790505090565b6040518061050001604052806028906020820280368337509192915050565b604051806103600160405280601b905b614e67614c42565b815260200190600190039081614e5f5790505090565b5f5f5f5f60408587031215614e90575f5ffd5b84356001600160401b03811115614ea5575f5ffd5b8501601f81018713614eb5575f5ffd5b80356001600160401b03811115614eca575f5ffd5b876020828401011115614edb575f5ffd5b6020918201955093508501356001600160401b03811115614efa575f5ffd5b8501601f81018713614f0a575f5ffd5b80356001600160401b03811115614f1f575f5ffd5b8760208260051b8401011115614f33575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176120cb576120cb614f41565b818103818111156120cb576120cb614f41565b808201808211156120cb576120cb614f41565b5f5f85851115614fa0575f5ffd5b83861115614fac575f5ffd5b5050820193919092039150565b634e487b7160e01b5f52603260045260245ffd5b5f60018201614fde57614fde614f41565b5060010190565b803560208310156120cb575f19602084900360031b1b1692915050565b5f8183825b6009811015615026578151835260209283019290910190600101615007565b5050506101208201905092915050565b634e487b7160e01b5f52601260045260245ffd5b5f8261505857615058615036565b500490565b5f8183825b6029811015615081578151835260209283019290910190600101615062565b5050506105208201905092915050565b5f8183825b606d8110156150b5578151835260209283019290910190600101615096565b505050610da08201905092915050565b5f8183825b601d8110156150e95781518352602092830192909101906001016150ca565b5050506103a08201905092915050565b5f8183825b600581101561511d5781518352602092830192909101906001016150fe565b50505060a08201905092915050565b5f8261513a5761513a615036565b500690565b5f8161514d5761514d614f41565b505f190190565b5f82518060208501845e5f920191825250919050565b5f6020828403121561517a575f5ffd5b815180151581146119f5575f5ffd5b634e487b7160e01b5f52604160045260245ffd5b81515f90829060208501835b828110156151c75781518452602093840193909101906001016151a9565b509195945050505050565b5f8183825b600d8110156151f65781518352602092830192909101906001016151d7565b5050506101a08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|