@aztec/l1-artifacts 0.0.1-commit.3f296a7d2 → 0.0.1-commit.42ee6df9b
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/HonkVerifierBytecode.d.ts +2 -2
- package/dest/HonkVerifierBytecode.d.ts.map +1 -1
- package/dest/HonkVerifierBytecode.js +1 -1
- package/l1-contracts/cache/DeployAztecL1Contracts.s.sol/31337/run-1775470251600.json +100 -0
- package/l1-contracts/cache/DeployAztecL1Contracts.s.sol/31337/run-latest.json +100 -0
- package/l1-contracts/cache/DeployRollupForUpgrade.s.sol/31337/run-1775470253081.json +19 -0
- package/l1-contracts/cache/DeployRollupForUpgrade.s.sol/31337/run-latest.json +19 -0
- package/l1-contracts/cache/solidity-files-cache.json +1 -1
- package/l1-contracts/generated/HonkVerifier.sol +41 -41
- package/l1-contracts/out/DeployAztecL1Contracts.s.sol/DeployAztecL1Contracts.json +1 -1
- package/l1-contracts/out/DeployAztecL1Contracts.t.sol/DeployAztecL1ContractsTest.json +1 -1
- package/l1-contracts/out/DeployRollupForUpgrade.s.sol/DeployRollupForUpgrade.json +1 -1
- package/l1-contracts/out/DeployRollupForUpgrade.t.sol/DeployRollupForUpgradeTest.json +1 -1
- package/l1-contracts/out/DeployRollupLib.sol/DeployRollupLib.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/BaseHonkVerifier.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/CommitmentSchemeLib.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/Errors.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/FrLib.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/Honk.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/HonkVerificationKey.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/HonkVerifier.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/IVerifier.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/RelationsLib.json +1 -1
- package/l1-contracts/out/HonkVerifier.sol/TranscriptLib.json +1 -1
- package/l1-contracts/out/build-info/{220de66511cbb79e.json → d2dee0af1a6aa96b.json} +1 -1
- package/l1-contracts/out/build-info/{f6afa18785375412.json → ddc86ac99814d2e3.json} +1 -1
- package/l1-contracts/out/shouting.t.sol/ScreamAndShoutTest.json +1 -1
- package/l1-contracts/package.json +1 -1
- package/package.json +1 -1
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
3
|
*/
|
|
4
|
-
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f080ab1a3da0f42c28f61e3eb8b11f16052472991d5d02a80b14155fa84a8d70d60c052607760e05260805160a05160c05160e051615cc16100de5f395f8181610180015261081101525f61015f01525f8181605b01528181609401528181610100015281816101a10152818161092a01528181610a3701528181610a6301528181610add0152818161131e015281816113be015281816115fb0152818161164701528181611695015281816116ec0152612e1301525f5050615cc15ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046157da565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028b565b905061008c8160206158b2565b85146100ed577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206158b2565b6040516359895a5360e01b815260048101939093526024830191909152604482015260640160405180910390fd5b5f6100f6610339565b90505f61012488887f000000000000000000000000000000000000000000000000000000000000000061034e565b90506008826040015161013791906158c9565b85146101565760405163fa06659360e01b815260040160405180910390fd5b5f6101c58288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610709565b90506102158787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516020810151604090910151919350915060016107bb565b8151606001525f6102268383610922565b905080610246576040516313f8744360e31b815260040160405180910390fd5b5f610252848685610a23565b905080610272576040516352ec174560e11b815260040160405180910390fd5b81801561027c5750805b9b9a5050505050505050505050565b5f80610299600260086158b2565b905060016102a86008856158b2565b6102b291906158b2565b6102bc90826158dc565b90506102ca600160296158b2565b6102d490826158dc565b905060026102e36001856158c9565b6102ed91906158b2565b6102f790826158dc565b90506103046001846158b2565b61030e90826158dc565b905061031b6002806158b2565b61032590826158dc565b90506103326008826158dc565b9392505050565b6103416152f3565b6103496117cf565b905090565b61035661547d565b5f805b600881101561040a575f8683876103716020836158dc565b9261037e939291906158ef565b61038791615916565b9050610394600283615933565b156103a05760786103a3565b60885b6103ae906002615a35565b81106103cd5760405163eb73e0bd60e01b815260040160405180910390fd5b6103d68161210b565b845183600881106103e9576103e9615a43565b6020020181815250506020836103ff91906158dc565b925050600101610359565b5061042e85828661041c6040836158dc565b92610429939291906158ef565b61213d565b602083015261043e6040826158dc565b905061045185828661041c6040836158dc565b60408084019190915261046490826158dc565b905061047785828661041c6040836158dc565b60608301526104876040826158dc565b905061049a85828661041c6040836158dc565b60c08301526104aa6040826158dc565b90506104bd85828661041c6040836158dc565b60e08301526104cd6040826158dc565b90506104e085828661041c6040836158dc565b60808301526104f06040826158dc565b905061050385828661041c6040836158dc565b6101008301526105146040826158dc565b905061052785828661041c6040836158dc565b60a08301526105376040826158dc565b90505f5b838110156105c7575f5b60088110156105be5761057187848861055f6020836158dc565b9261056c939291906158ef565b6121f8565b846101200151836019811061058857610588615a43565b6020020151826008811061059e5761059e615a43565b6020020181815250506020836105b491906158dc565b9250600101610545565b5060010161053b565b505f5b602981101561061b576105e486838761055f6020836158dc565b83610140015182602981106105fb576105fb615a43565b60200201818152505060208261061191906158dc565b91506001016105ca565b505f5b6106296001856158c9565b8110156106725761064186838761041c6040836158dc565b836101600151826018811061065857610658615a43565b60200201526106686040836158dc565b915060010161061e565b505f5b838110156106c55761068e86838761055f6020836158dc565b83610180015182601981106106a5576106a5615a43565b6020020181815250506020826106bb91906158dc565b9150600101610675565b506106d785828661041c6040836158dc565b6101a08301526106e86040826158dc565b90506106fb85828661041c6040836158dc565b6101c0830152509392505050565b61071161552d565b5f61072088888888888661220b565b908352905061072f818961226e565b602084019190915290506107438184612373565b60408401919091529050610758888285612410565b6060840191909152905061076c88826124f2565b6080840191909152905061078188828561258b565b60a0840191909152905061079688828561270d565b60c084019190915290506107aa88826127d1565b5060e0830152509695505050505050565b5f600180826107e8866107e3896107de6107d98a63100000006158dc565b61210b565b61281d565b612838565b90505f610806876108018a6107de6107d98b60016158dc565b612851565b90505f5b61083560087f00000000000000000000000000000000000000000000000000000000000000006158c9565b8110156108a2575f61085f8c838151811061085257610852615a43565b6020026020010151612879565b905061086f866107de8684612838565b955061087f856107de8584612838565b945061088b848b612838565b9350610897838b612851565b92505060010161080a565b505f5b6008811015610909575f8a82600881106108c1576108c1615a43565b602002015190506108d6866107de8684612838565b95506108e6856107de8584612838565b94506108f2848b612838565b93506108fe838b612851565b9250506001016108a5565b5061091484846128a8565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109f9575f866101200151826019811061096857610968615a43565b602002015190505f61097a82866128b6565b90508061099a576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601981106109b1576109b1615a43565b602002015190506109c283826128d6565b95506109e9886040015185601981106109dd576109dd615a43565b60200201518683612a85565b9450505050806001019050610928565b505f610a13866101400151865f0151876020015185612ab0565b90508281145b9695505050505050565b5f610a2c6155a5565b5f610a5b8460a001517f0000000000000000000000000000000000000000000000000000000000000000612b29565b90505f610a897f000000000000000000000000000000000000000000000000000000000000000060246158dc565b610a949060026158dc565b6001600160401b03811115610aab57610aab615a57565b604051908082528060200260200182016040528015610ad4578160200160208202803683370190505b5090505f610b037f000000000000000000000000000000000000000000000000000000000000000060246158dc565b610b0e9060026158dc565b6001600160401b03811115610b2557610b25615a57565b604051908082528060200260200182016040528015610b5e57816020015b610b4b615615565b815260200190600190039081610b435790505b509050610b90610b8b8760e00151855f81518110610b7e57610b7e615a43565b6020026020010151612851565b612bf2565b84610120018181525050610bc4610b8b8760e00151855f81518110610bb757610bb7615a43565b6020026020010151612838565b610140850181905261012085015160c0880151610be5926107e3919061281d565b845260a0860151610c1590610bf990612bf2565b6107de8661012001516108018a60c0015189610140015161281d565b6020850152815160019083905f90610c2f57610c2f615a43565b602002602001018181525050876101a00151815f81518110610c5357610c53615a43565b6020908102919091010152600160a08501525f60c08501528351610c7690612c8a565b60408501526020840151610c8990612c8a565b606085015260015b60248111610d3457610cab85604001518660a0015161281d565b838281518110610cbd57610cbd615a43565b602002602001018181525050610d068560c001516107e38b6101400151600185610ce791906158c9565b60298110610cf757610cf7615a43565b60200201518860a0015161281d565b60c086015260a08501516080880151610d1f919061281d565b60a0860152610d2d81615a6b565b9050610c91565b505f5b6005811015610e02575f610d4c601d836158dc565b90505f610d5a6024846158dc565b9050610d8b858381518110610d7157610d71615a43565b60200260200101516107e389606001518a60a0015161281d565b858381518110610d9d57610d9d615a43565b602002602001018181525050610dda8760c001516107e38d61014001518460298110610dcb57610dcb615a43565b60200201518a60a0015161281d565b60c088015260a087015160808a0151610df3919061281d565b60a08801525050600101610d37565b50866060015181600181518110610e1b57610e1b615a43565b6020026020010181905250866080015181600281518110610e3e57610e3e615a43565b60200260200101819052508660a0015181600381518110610e6157610e61615a43565b60200260200101819052508660c0015181600481518110610e8457610e84615a43565b60200260200101819052508660e0015181600581518110610ea757610ea7615a43565b602002602001018190525086610100015181600681518110610ecb57610ecb615a43565b602002602001018190525086610120015181600781518110610eef57610eef615a43565b602002602001018190525086610140015181600881518110610f1357610f13615a43565b602002602001018190525086610160015181600981518110610f3757610f37615a43565b6020026020010181905250866101c0015181600a81518110610f5b57610f5b615a43565b602002602001018190525086610180015181600b81518110610f7f57610f7f615a43565b6020026020010181905250866101a0015181600c81518110610fa357610fa3615a43565b6020026020010181905250866101e0015181600d81518110610fc757610fc7615a43565b602002602001018190525086610200015181600e81518110610feb57610feb615a43565b602002602001018190525086610220015181600f8151811061100f5761100f615a43565b60200260200101819052508661024001518160108151811061103357611033615a43565b60200260200101819052508661026001518160118151811061105757611057615a43565b60200260200101819052508661028001518160128151811061107b5761107b615a43565b6020026020010181905250866102a001518160138151811061109f5761109f615a43565b6020026020010181905250866102c00151816014815181106110c3576110c3615a43565b6020026020010181905250866102e00151816015815181106110e7576110e7615a43565b60200260200101819052508661030001518160168151811061110b5761110b615a43565b60200260200101819052508661032001518160178151811061112f5761112f615a43565b60200260200101819052508661034001518160188151811061115357611153615a43565b60200260200101819052508661036001518160198151811061117757611177615a43565b602002602001018190525086610380015181601a8151811061119b5761119b615a43565b6020026020010181905250866103a0015181601b815181106111bf576111bf615a43565b6020026020010181905250866103c0015181601c815181106111e3576111e3615a43565b6020026020010181905250876020015181601d8151811061120657611206615a43565b6020026020010181905250876040015181601e8151811061122957611229615a43565b6020026020010181905250876060015181601f8151811061124c5761124c615a43565b602002602001018190525087608001518160208151811061126f5761126f615a43565b60200260200101819052508760a001518160218151811061129257611292615a43565b6020026020010181905250876101000151816022815181106112b6576112b6615a43565b60200260200101819052508760c00151816023815181106112d9576112d9615a43565b60200260200101819052508760e00151816024815181106112fc576112fc615a43565b60200260200101819052505f61134287606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c9c565b905061136c815f8151811061135957611359615a43565b602002602001015186610120015161281d565b608086018190526101808a01515160c089015161139d92916107e391611392919061281d565b88610140015161281d565b608086015260c08701516113b090612dfa565b60a08601525f5b6113e260017f00000000000000000000000000000000000000000000000000000000000000006158c9565b8110156115df57611412610b8b8960e001518784600161140291906158dc565b81518110610b7e57610b7e615a43565b61012087015260e088015161144190610b8b90876114318560016158dc565b81518110610bb757610bb7615a43565b61014087015260a086015161012087015161145c919061281d565b61016087015260a086015160c0890151611484916114799161281d565b87610140015161281d565b61018087018190526114a79061149990612c8a565b6107e3886101600151612c8a565b84826114b5602460016158dc565b6114bf91906158dc565b815181106114cf576114cf615a43565b6020026020010181815250505f6115128761018001518c61018001518460016114f891906158dc565b6019811061150857611508615a43565b602002015161281d565b905061154c816107e38961016001518686600161152f91906158dc565b8151811061153f5761153f615a43565b602002602001015161281d565b905061155c876080015182612838565b608088015260a087015160c08a0151611582916115789161281d565b8a60c0015161281d565b60a08801526101608b0151826018811061159e5761159e615a43565b602002015184836115b1602460016158dc565b6115bb91906158dc565b815181106115cb576115cb615a43565b6020908102919091010152506001016113b7565b50604080518082019091526001815260026020820152826116217f000000000000000000000000000000000000000000000000000000000000000060246158dc565b8151811061163157611631615a43565b602090810291909101015260808501518361166d7f000000000000000000000000000000000000000000000000000000000000000060246158dc565b8151811061167d5761167d615a43565b60209081029190910101526101c089015180836116bb7f000000000000000000000000000000000000000000000000000000000000000060246158dc565b6116c69060016158dc565b815181106116d6576116d6615a43565b602090810291909101015260e0880151846117127f000000000000000000000000000000000000000000000000000000000000000060246158dc565b61171d9060016158dc565b8151811061172d5761172d615a43565b6020026020010181815250505f6117448486612e05565b90505f61175083612f15565b905061175e8c5f0151612f4c565b6117b5575f6117718d5f01518484612f85565b90505f5f6117818f5f015161300a565b9150915061178e826130e7565b611797816130e7565b6117a2858385613111565b94506117af848285613111565b93505050505b6117bf8282613137565b9c9b505050505050505050505050565b6117d76152f3565b50604080516103e081018252630100000081526018602080830191909152607782840152825180840184527f010b151d671e087befc664cda7833f4c88d5af63dc93c6403ee6c09293e0e77781527f11d9a86e668e90bf5c42901dfbfe672bb680dc15605234595c2375da8f1ca037818301526060830152825180840184527f196e39aef110c0cf0e876f0867553746b8586b9fa38d1706a06cc2cab4adcf5681527f0b0afa97d90e3a67f33e54f0edd5d399c8acf733fd8d2e60f3b3222c31460789818301526080830152825180840184527f26d11c8e37e42603d3fa766f1a46df0942575cb0b21b94fe9292381dca14c02d81527f06b03d544b2262ec098476be314278fe9e873b570e434c5bcc010568279d743b8183015260a0830152825180840184527f20e67c352eaa9f893462855705808f83cf1b13a8c3ba89ffcc347eae2460015681527f0b34f89f9d3f800df4121e1d95978643407ef268134532f3b82641b1784ab7038183015260c0830152825180840184527f17ee5cbb43e5e5e8ce3cff32b4167168778541c8cce61f3d05058cc669547fe381527f11bc7e7992ec83c45ac2ffaf6acdd1a3fd06fcf6d4de1e85d139f53e7a715f828183015260e0830152825180840184527f210ccf6b2590e731703e4e10543d26be640b4482ac218d0dd7c95877149cfe8481527f0202bbc7f2ee7f4b83a651a6ce2d664541081c9eb5633234341efdb1e5b6c85a81830152610100830152825180840184527f2cb419ef3eccb0db6e471fd8fda94ff432adc91fa3d7b996e2620738b68f36b781527f02a10bfbecf3601c6c06b65fe96abc9fb42f812f9794cbded65e33942a411fef81830152610120830152825180840184527f1d53c7b3cf3f0a708d91a78bd70e55e12968067a7aadaf57573e4aefd2cb957481527f278476b377ca161acf02afffbcaa96f3e7a9236d7d87c053c9b8c847bf2b39dc81830152610140830152825180840184527f1932622600e499d55b6ae590ce7ff6e68345b5b4843380100d4fdafc39f598f181527f2de21033c5ad6db33d3c5b7d6ee1fc519991730768fe753b9da3d3c9ab1a067181830152610160830152825180840184527f2a6b2eff059a66117d69316e02c050f8ea9f9aee11212d90e4b66a8441af8eb081527f16427ded605b3f317802986716c1fe66d2a5be780a97b9b31a8c5d03d170a1ca81830152610180830152825180840184527f1d8443ceb3d0fad7c9119079cf4846316b661cfe7146ed9635774c9b160e1a0d81527f0802518c55c9ab712f8817c3c5463d9aedf85ac839db0826d4db035375b52711818301526101a0830152825180840184527f1c926714c2a67b5a65b63de67d659ca7f7053cacf4d7afe35371ddc981add5fc81527f15c417db7eb71382300fbeb1b3f48b7a6f68dce58ca2f3c6fe8f227c702eca30818301526101c0830152825180840184527f23b7572f1c60cc973f44c33dae3e23cfb5f1f9167093c08a6e75ab35ccd093ac81527f250a8ffbe18e2fd610cb2e8a821b12d54b6cf87ff4378ef5ac06a73243d81230818301526101e0830152825180840184527f2cc2bad03f57d5bca3ae1e67ae9f5ee394a0cef35375c500b5863d1aec61ae1681527f2ca2f2ae1a85f2cfea2056ac95febc64b427e665a15873e727481f7d061e8c0281830152610200830152825180840184527f04f18308c3dbc2f2d993364029f778b87ad25d72c9bf064764b54be2dc7e3c0d81527f0e8cfc50514f3cbe9985b18a63cb2e76d46e4debb2f5ee44ad38ba4cbf00d85c81830152610220830152825180840184527f2155a272fbd2a7a31067033a705491d20aee7091b70ef2d202667c0ca1a13d3d81527f29d5f102987d665528143662dfae667b663e7d6edb178b69bc3b685a7aad35a581830152610240830152825180840184527f17130b99f99321e6e0854a6947f32abfa0dd3eb098600f3572372960671d0c2181527f278e10d93b2aeeea6acaabc9c41c2fc68c17d9ee532b5d62c193ce3ef0e9592481830152610260830152825180840184527f10356d4877b1b4ae619f35293364e91efa42cbd078a9368ceee43732fe5deebe81527f2df1d67e86ff777b4d722ca5f76bf9587c54fcf490505d78cec2290dc1d8e48381830152610280830152825180840184527f1cd86d4c15b07f0e5a45d4d738ccc30ee17676ddfbd1483b3ad09b43a26ad53481527f2c2fe06ae0f56456b17dae1f00557935545f2470340862cff036f978be2abbe2818301526102a0830152825180840184527f1faa902eb386ffef4af2ae3afc3bf8e5b02db433e323d17ac706a5c3e50141d681527f25abb192214de288f174b45472bddc3a65613a5498bd87a1f3587a084aa933b2818301526102c0830152825180840184527f2305ccd471212bec38d523548107b87965962ff181a6f19160a6475c38b4678081527f1cde72edc1d6e5f35be7b4113823011167ad8f49afec8bd6965e4a20903a1ac5818301526102e0830152825180840184527f209ef1cbbc45a0759b939a72ea567ab797256093b123f8fadd2cb537ea580ce881527f0e30cb1cd8e24826c0e2648751a00713c32c96fdd8f5f45d07172fa8edc3cd6b81830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f20b8784b739f9968d269d3db4e7e7e7e666acd5804af5ff4a54f8dfbea8d257281527f21ad5edf078583d5e29052c50b4e8d46067ddaae2aa2345c15a755074d932f9581830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f28dae3298bc375a0efcc549d01a49dc0e7efe6fc6a99e88c2d5e40c73c83cda083527f175d312e0938aafcee94f186327d2fa408236df628baef768c6ed21601f0d662908301526103c081019190915290565b5f5f516020615c6c5f395f51905f528210612139576040516320a3358960e01b815260040160405180910390fd5b5090565b612145615615565b5f61215360208285876158ef565b61215c91615916565b90505f61216d6040602086886158ef565b61217691615916565b90505f516020615c4c5f395f51905f52821080156121a057505f516020615c4c5f395f51905f5281105b6121bd5760405163303df09f60e11b815260040160405180910390fd5b8082175f036121df57604051634ddaa5e560e01b815260040160405180910390fd5b6040805180820190915291825260208201529392505050565b5f6103326122068385615916565b612879565b61223260405180608001604052805f81526020015f81526020015f81526020015f81525090565b5f612240888888888861332b565b908352925061224f838961364e565b6040850191909152602084019190915291989197509095505050505050565b61227661562d565b5f61227f61564c565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122f8915f516020615c6c5f395f51905f52916122d691859101615a83565b604051602081830303815290604052805190602001205f1c6107d99190615933565b91505f612304836136e4565b50808552905060015b6123196001601c6158c9565b8110156123695761234a8561232f6001846158c9565b601b811061233f5761233f615a43565b60200201518361281d565b8582601b811061235c5761235c615a43565b602002015260010161230d565b5050509250929050565b61237b61566a565b5f6123a05f516020615c6c5f395f51905f52856040516020016122d691815260200190565b93506123ab846136e4565b50825260015b83811015612408576123e9836123c86001846158c9565b601981106123d8576123d8615a43565b6020020151846114f86001856158c9565b8382601981106123fb576123fb615a43565b60200201526001016123b1565b509093915050565b61241861566a565b5f805b838110156124e85761242b615689565b8581525f5b600881101561249457876101200151836019811061245057612450615a43565b6020020151816008811061246657612466615a43565b6020020151826124778360016158dc565b6009811061248757612487615a43565b6020020152600101612430565b506124b75f516020615c6c5f395f51905f52826040516020016122d69190615ab6565b95505f6124c3876136e4565b8685601981106124d5576124d5615a43565b602002019190915250505060010161241b565b5090949293505050565b5f5f6124fc6156a8565b8381525f5b602981101561254f57856101400151816029811061252157612521615a43565b6020020151826125328360016158dc565b602a811061254257612542615a43565b6020020152600101612501565b506125725f516020615c6c5f395f51905f52826040516020016122d69190615aea565b91505f61257e836136e4565b5096929550919350505050565b5f80806125996001856158c9565b6125a49060026158b2565b6125af9060016158dc565b6001600160401b038111156125c6576125c6615a57565b6040519080825280602002602001820160405280156125ef578160200160208202803683370190505b50905084815f8151811061260557612605615a43565b60209081029190910101525f5b61261d6001866158c9565b8110156126d057866101600151816018811061263b5761263b615a43565b6020020151518261264d8360026158b2565b6126589060016158dc565b8151811061266857612668615a43565b602002602001018181525050866101600151816018811061268b5761268b615a43565b602002015160200151828260026126a291906158b2565b6126ad9060026158dc565b815181106126bd576126bd615a43565b6020908102919091010152600101612612565b506126f35f516020615c6c5f395f51905f52826040516020016122d69190615b1e565b91505f6126ff836136e4565b509792965091945050505050565b5f808061271b8460016158dc565b6001600160401b0381111561273257612732615a57565b60405190808252806020026020018201604052801561275b578160200160208202803683370190505b50905084815f8151811061277157612771615a43565b60209081029190910101525f5b848110156126d057866101800151816019811061279d5761279d615a43565b6020020151826127ae8360016158dc565b815181106127be576127be615a43565b602090810291909101015260010161277e565b5f5f6127db6156c7565b8381526101a08501805151602080840191909152905181015160408084019190915251612572915f516020615c6c5f395f51905f52916122d691859101615b53565b5f5f516020615c6c5f395f51905f5282840990505b92915050565b5f5f516020615c6c5f395f51905f528284089392505050565b5f5f516020615c6c5f395f51905f52825f516020615c6c5f395f51905f520384089392505050565b5f815f516020615c6c5f395f51905f528110612832576040516320a3358960e01b815260040160405180910390fd5b5f610332836107de84612bf2565b815160208301515f9182916128cb9190612838565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156129bd576129b3826107de8784612851565b915060010161299c565b506129c66156e5565b5f5b6008811015612a27575f8482600881106129e4576129e4615a43565b602002015190506129f9816107de8985612851565b9050612a0481612bf2565b905080838360088110612a1957612a19615a43565b6020020152506001016129c8565b505f5b6008811015612a7a575f878260088110612a4657612a46615a43565b60200201519050612a638184846008811061150857611508615a43565b9050612a6f8682612838565b955050600101612a2a565b50610a19848361281d565b5f5f612a9b60016107e3856107de896001612851565b9050612aa7848261281d565b95945050505050565b5f612ab9615704565b612ac4868285613714565b612ad0868683866138c0565b612adc86868386613aa8565b612ae7868285613cf7565b612af2868285613eeb565b612afe8686838661422e565b612b098682856146e0565b612b14868285614af2565b612b1f868285614eb3565b610a1981856151b3565b60605f826001600160401b03811115612b4457612b44615a57565b604051908082528060200260200182016040528015612b6d578160200160208202803683370190505b50905083815f81518110612b8357612b83615a43565b602090810291909101015260015b83811015612bea57612bc582612ba86001846158c9565b81518110612bb857612bb8615a43565b6020026020010151612dfa565b828281518110612bd757612bd7615a43565b6020908102919091010152600101612b91565b509392505050565b5f81808203612c1457604051635964a97160e11b815260040160405180910390fd5b5f604051602081526020808201526020604082015282606082015260025f516020615c6c5f395f51905f520360808201525f516020615c6c5f395f51905f5260a082015260205f60c08360055afa80612c765763f8d6170960e01b5f5260045ffd5b505f5160c091909101604052949350505050565b5f516020615c6c5f395f51905f520390565b60605f826001600160401b03811115612cb757612cb7615a57565b604051908082528060200260200182016040528015612ce0578160200160208202803683370190505b509050825b8015612def575f85612cf86001846158c9565b81518110612d0857612d08615a43565b602002602001015190505f89600184612d2191906158c9565b60198110612d3157612d31615a43565b602002015190505f612d8c612d50612d49858d61281d565b600261281d565b6108018b612d5f6001896158c9565b60198110612d6f57612d6f615a43565b60200201516107de612d86886107de60018a612851565b87612851565b9050612dad816107de610b8b612da7876107de600189612851565b86612838565b99508990508085612dbf6001876158c9565b81518110612dcf57612dcf615a43565b60200260200101818152505050505080612de890615b86565b9050612ce5565b509695505050505050565b5f612832828361281d565b612e0d615615565b5f612e397f000000000000000000000000000000000000000000000000000000000000000060246158dc565b612e449060026158dc565b90505f5b81811015612e7a57612e72858281518110612e6557612e65615a43565b60200260200101516130e7565b600101612e48565b50604051600190815b60018401811015612edf5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612e83565b5080518452602081015160208501525080612f0d576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612f1d615615565b602082015115612139576020820151612f43905f516020615c4c5f395f51905f526158c9565b60208301525090565b5f80805b6008811015612f7d57838160088110612f6b57612f6b615a43565b60200201519190911790600101612f50565b501592915050565b5f5f5f612f918661300a565b91509150612f9d6156e5565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612fff915f516020615c6c5f395f51905f52916122d691859101615b9b565b979650505050505050565b613012615615565b61301a615615565b8251602084015160408501516060860151608087015160a088015160c089015160e08a0151608896871b9097179693861b9094179490811b9091179291901b175f516020615c4c5f395f51905f528410801561308257505f516020615c4c5f395f51905f5283105b801561309a57505f516020615c4c5f395f51905f5282105b80156130b257505f516020615c4c5f395f51905f5281105b6130cf5760405163303df09f60e11b815260040160405180910390fd5b92855260208086019290925283528201529092909150565b60208101518151175f0361310e57604051634ddaa5e560e01b815260040160405180910390fd5b50565b613119615615565b613121615615565b61312b838661520c565b9050612aa78185615262565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132cd9190615bcf565b5f60405180830381855afa9150503d805f8114613305576040519150601f19603f3d011682016040523d82523d5f602084013e61330a565b606091505b5091509150818015610a19575080806020019051810190610a199190615be5565b5f80806133398460016158dc565b6133449060066158dc565b6001600160401b0381111561335b5761335b615a57565b604051908082528060200260200182016040528015613384578160200160208202803683370190505b509050845f1b815f8151811061339c5761339c615a43565b60209081029190910101525f5b6133b46008866158c9565b81101561344c575f516020615c6c5f395f51905f528888838181106133db576133db615a43565b905060200201355f1c10613402576040516320a3358960e01b815260040160405180910390fd5b87878281811061341457613414615a43565b905060200201358282600161342991906158dc565b8151811061343957613439615a43565b60209081029190910101526001016133a9565b505f5b60088110156134bd57885161347790826008811061346f5761346f615a43565b602002015190565b828260086134868960016158dc565b61349091906158c9565b61349a91906158dc565b815181106134aa576134aa615a43565b602090810291909101015260010161344f565b50602088015151816134d08660016158dc565b815181106134e0576134e0615a43565b602090810291909101810191909152888101510151816135018660016158dc565b61350c9060016158dc565b8151811061351c5761351c615a43565b6020908102919091010152604088015151816135398660016158dc565b6135449060026158dc565b8151811061355457613554615a43565b60209081029190910181019190915260408901510151816135768660016158dc565b6135819060036158dc565b8151811061359157613591615a43565b6020908102919091010152606088015151816135ae8660016158dc565b6135b99060046158dc565b815181106135c9576135c9615a43565b60209081029190910181019190915260608901510151816135eb8660016158dc565b6135f69060056158dc565b8151811061360657613606615a43565b6020026020010181815250506136345f516020615c6c5f395f51905f52826040516020016122d69190615b1e565b915061363f826136e4565b50989197509095505050505050565b5f5f5f613659615723565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136ca915f516020615c6c5f395f51905f52916122d691859101615c04565b91506136d5826136e4565b90979096509194509092505050565b5f808260016001607f1b038116607f82901c6136ff8261210b565b945061370a8161210b565b9350505050915091565b5f6137208460076152c3565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61378161377b613755856003612851565b6107de6137706137658b5f6152c3565b6107de8c601d6152c3565b6107de8b601c6152c3565b8361281d565b90506138026137f76137de6137c56137ac856107e36137a18d60026152c3565b6107de8e601c6152c3565b6107e36137ba8c60036152c3565b6107de8d601d6152c3565b6107e36137d38b60046152c3565b6107de8c601e6152c3565b6107e36137ec8a60056152c3565b6107de8b601f6152c3565b6107e38860016152c3565b9050613821816107e3613816866001612851565b6107de8a60276152c3565b905061382d818461281d565b9050613839818561281d565b8552505f905061387361386961385e61385388601c6152c3565b6107e389601f6152c3565b6108018860246152c3565b6107e3875f6152c3565b9050613884816107de846002612851565b9050613895816107de846001612851565b90506138a1818361281d565b90506138ad818461281d565b9050808460015b60200201525050505050565b5f5f5f6138f66138ec6138d489601c6152c3565b6107e36138e28b60126152c3565b8a6020015161281d565b8760400151612838565b905061392f816107de61392561390d8b601d6152c3565b6107e361391b8d60136152c3565b8c6020015161281d565b8960400151612838565b9050613954816107de6139256139468b601e6152c3565b6107e361391b8d60146152c3565b9050613979816107de61392561396b8b601f6152c3565b6107e361391b8d60156152c3565b92505f905061399d6138ec61398f89601c6152c3565b6107e36138e28b600e6152c3565b90506139c2816107de6139256139b48b601d6152c3565b6107e361391b8d600f6152c3565b90506139e7816107de6139256139d98b601e6152c3565b6107e361391b8d60106152c3565b9050613a0c816107de6139256139fe8b601f6152c3565b6107e361391b8d60116152c3565b91505f9050613a33613a2d613a228960206152c3565b6107e38a601a6152c3565b8461281d565b9050613a6881610801613a62613a4a8b60286152c3565b6107e3613a588d601b6152c3565b8c6060015161281d565b8561281d565b9050613a74818561281d565b6040860152505f613a97613a62613a8c89601b6152c3565b6107de8a60286152c3565b606090950194909452505050505050565b5f5f5f613abd8660200151876020015161281d565b9050613b21613b06613af8613ae0613ad68b60166152c3565b8a60400151612838565b6107e3613aee8c60176152c3565b8b6020015161281d565b6107e3613a628b60186152c3565b6107e3613b17613a628b60196152c3565b896020015161281d565b9250505f613b378660200151876020015161281d565b90505f613b64613b4b6139258a601c6152c3565b6107e3613b598b60036152c3565b6107de8c60246152c3565b90505f613b8d613b758a601d6152c3565b6107e3613b828c5f6152c3565b6107de8d60256152c3565b90505f613bb7613b9e8b601e6152c3565b6107e3613bac8d60016152c3565b6107de8e60266152c3565b9050613bf2613bdb613bd1856107e3868e6020015161281d565b6107e3848861281d565b6107e361391b613bec8e60046152c3565b8861281d565b9450505050505f613c07613a2d8860216152c3565b90505f613c18613a2d8960216152c3565b90505f613c50613c37613c2c8b60236152c3565b6107e38c60066152c3565b610801613c458c60236152c3565b6107de8d60066152c3565b90505f613c74613c6e613c63878961281d565b6107de8d60216152c3565b83612851565b9050613c80818861281d565b90505f613ca8613c9a613c948d60066152c3565b8761281d565b610801613c948e60226152c3565b90505f613cb68c60236152c3565b90505f613cc6613c6e838461281d565b60808c0185905260a08c018490529050613ce0818b61281d565b8b6006602002015250505050505050505050505050565b5f613d035f6001612851565b90505f613d115f6002612851565b90505f613d1f5f6003612851565b90505f613d3b613d3088601d6152c3565b61080189601c6152c3565b90505f613d57613d4c89601e6152c3565b6108018a601d6152c3565b90505f613d73613d688a601f6152c3565b6108018b601e6152c3565b90505f613d8f613d848b60246152c3565b6108018c601f6152c3565b905083613da0816107de818b612838565b9050613db0816107de878a612838565b9050613dc0816107de8789612838565b9050613dd1816107de8d60086152c3565b9050613ddd818a61281d565b60e08b01525082613df2816107de818b612838565b9050613e02816107de868a612838565b9050613e12816107de8689612838565b9050613e23816107de8d60086152c3565b9050613e2f818a61281d565b6101008b01525081613e45816107de818b612838565b9050613e55816107de858a612838565b9050613e65816107de8589612838565b9050613e76816107de8d60086152c3565b9050613e82818a61281d565b6101208b01525080613e98816107de818b612838565b9050613ea8816107de848a612838565b9050613eb8816107de8489612838565b9050613ec9816107de8d60086152c3565b9050613ed5818a61281d565b610140909a019990995250505050505050505050565b613f246040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f2f84601d6152c3565b8152613f3c84601e6152c3565b6020820152613f4c8460246152c3565b6040820152613f5c8460276152c3565b6060820152613f6c8460266152c3565b6080820152613f7c8460256152c3565b60a08201525f613f8d8560026152c3565b90505f613f9a865f6152c3565b90505f613fae8460400151855f0151612851565b90505f613fc38560200151866020015161281d565b606086015190915086905f90613fd9908061281d565b90505f613ff1613bec89602001518a6060015161281d565b90505f6140106140098a60a001518b60400151612838565b8a51612838565b905061401f613c94828861281d565b905061404661404061403a6140348487612851565b88612851565b84612838565b83612838565b905061406e614063614058838761281d565b6107de8f60096152c3565b6107de60018a612851565b6101608c015250505050602085015160808601515f9161408d91612838565b90505f6140ab6140a188606001518861281d565b8860200151612851565b90505f6140cf6140bb848761281d565b6107e3613a628b60a001518c5f0151612851565b90506140f76140ec6140e1838c61281d565b6107de8e60096152c3565b6107de600189612851565b6101808b0152505f91506141189050614111836011612838565b875161281d565b90505f6141258384612838565b90506141318182612838565b90505f61413f83600961281d565b9050614168614162613a2d61415b8b60a001518c5f0151612838565b8b51612838565b82612851565b60c089018190525f9061418390613bec90614058908d61281d565b90506141968b600b602002015182612838565b6101608c0152505086515f92506141bd9150614111906141b69080612838565b8851612838565b90505f6141fd6141d8836107de8a5f01518b60a00151612851565b6020890151610801906141eb9080612838565b6107de8b602001518c60800151612838565b905061421a89600c60200201516107e3613bec614058858d61281d565b89600c602002015250505050505050505050565b614298604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b83515f906142a6908061281d565b90505f6142b682875f015161281d565b90506142cc6142c688601e6152c3565b8261281d565b8084526142e1906107e3613a628a601d6152c3565b8084526142fd906107e36142f68a601c6152c3565b895161281d565b80845261430f906107e38960016152c3565b808452602084018190526143289061080189601f6152c3565b8352614338613d308860246152c3565b608084015261435661434b8860276152c3565b61080189601f6152c3565b6060840152608083015161436f906107de816001612851565b6101c084015260808301516143af906143a59061439e906107de60015f516020615c6c5f395f51905f526158c9565b6001612838565b846060015161281d565b60a084018190526143e5906143d7906107de6143cc8b60026152c3565b6107de8c60036152c3565b6107de613c948a600a6152c3565b85600e60200201526101c0830151614409906143d7906107de6143cc8b60026152c3565b6101e0860152825161442e906107de6144238a60026152c3565b6107de8b60036152c3565b6101208401525f61444d61444389601f6152c3565b8560200151612851565b905061445e816107de836001612851565b60e085015261447161377b8960266152c3565b60408501819052614490906107e361448a8b60256152c3565b8661281d565b604085018190526144b0906107e36144a98b60246152c3565b8a5161281d565b60408501526144cd6144c38960276152c3565b8560400151612851565b60408501525f6144e1613d688a60266152c3565b905061453361450e61377b61439e886080015160015f516020615c6c5f395f51905f526107de91906158c9565b6107de61439e886040015160015f516020615c6c5f395f51905f526107de91906158c9565b60c086015260408501516145559061454b908061281d565b8660400151612851565b61010086015260c085015161458790614573906107de8c60046152c3565b6107de6145818c600a6152c3565b8961281d565b6102008801526101c08501516145a690614573906107de8c60046152c3565b6102208801526101008501516145c590614573906107de8c60046152c3565b61024088015260e08501516145df906107de8b60046152c3565b6101408601526145fe6145f38a60256152c3565b6108018b601d6152c3565b610160860152608085015161463c90613d68906146319061439e906107de60015f516020615c6c5f395f51905f526158c9565b87610160015161281d565b61018086018190526101208601516101a08701819052614673916107e3906107de6146688e60056152c3565b6107de8f60026152c3565b6101a08601819052855161469391906107e3906107de6146688e5f6152c3565b6101a086018190526101408601516146ab9190612838565b6101a086018190526146c5906107de6145818c600a6152c3565b6101a0860181905287600d6020020152505050505050505050565b6147196040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61474e61473561472a86601c6152c3565b6107de8760256152c3565b6107e36147438760246152c3565b6107de88601d6152c3565b815261479361478861476f61476487601c6152c3565b6107de88601f6152c3565b6107e361477d88601d6152c3565b6107de89601e6152c3565b6108018660266152c3565b604082018190526147a890600160441b61281d565b604082018190526147be906108018660276152c3565b6040820181905281516147d19190612838565b604082018190526147e7906107de8660056152c3565b604082015280516147fc90600160441b61281d565b80825261481c906107e36148118760246152c3565b6107de8860256152c3565b808252602082018190526148439061080161483887601e6152c3565b6107e388601f6152c3565b60208201819052614859906107de8660046152c3565b6020820152805160608201819052614876906107e386601f6152c3565b6060820181905261489a9061080161488f8760266152c3565b6107e38860276152c3565b606082018190526148af906107de865f6152c3565b8160600181815250505f6148d86148ce83602001518460400151612838565b8360600151612838565b90506148e9816107de8760036152c3565b90506149016148f98660256152c3565b61400061281d565b60808301819052614917906107e38760246152c3565b6080830181905261492a9061400061281d565b60808301819052614940906107e387601e6152c3565b608083018190526149539061400061281d565b60808301819052614969906107e387601d6152c3565b6080830181905261497c9061400061281d565b60808301819052614992906107e387601c6152c3565b608083018190526149a89061080187601f6152c3565b608083018190526149be906107de8760056152c3565b60808301526149d16148f98660266152c3565b60a083018190526149e7906107e38760256152c3565b60a083018190526149fa9061400061281d565b60a08301819052614a10906107e38760246152c3565b60a08301819052614a239061400061281d565b60a08301819052614a39906107e387601f6152c3565b60a08301819052614a4c9061400061281d565b60a08301819052614a62906107e387601e6152c3565b60a08301819052614a78906108018760276152c3565b60a08301819052614a8d906107de875f6152c3565b60a0830181905260808301515f91614aa59190612838565b9050614ab6816107de8860046152c3565b9050614ac28282612838565b60c08401819052614adb906107de613c9489600b6152c3565b60c084018190528560136020020152505050505050565b614b686040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614b81614b7685601c6152c3565b6107e38660026152c3565b8152614b9c614b9185601d6152c3565b6107e38660036152c3565b6020820152614bba614baf85601e6152c3565b6107e38660046152c3565b6040820152614bd8614bcd85601f6152c3565b6107e38660056152c3565b60608201528051614c0a90614c0390614bfc90614bf5908061281d565b845161281d565b835161281d565b825161281d565b60808201526020810151614c4890614c3e90614c3490614c2a908061281d565b846020015161281d565b836020015161281d565b826020015161281d565b60a08201526040810151614c8690614c7c90614c7290614c68908061281d565b846040015161281d565b836040015161281d565b826040015161281d565b60c08201526060810151614cba90614cb090614ca6906143a5908061281d565b836060015161281d565b826060015161281d565b60e0820152608081015160a0820151614cd39190612838565b61010082015260c081015160e0820151614ced9190612838565b61012082015260a0810151614d1190614d069080612838565b826101200151612838565b61014082015260e0810151614d3590614d2a9080612838565b826101000151612838565b610160820152610120810151614d4b9080612838565b6101e08201819052614d6c90614d619080612838565b826101600151612838565b6101e0820152610100810151614d829080612838565b6101a08201819052614da390614d989080612838565b826101400151612838565b6101a08201819052610160820151614dba91612838565b6101808201526101408101516101e0820151614dd69190612838565b6101c0820152614dea61377b85600c6152c3565b6102008201819052610280840151610180830151614e15926107e3916107de906108018a60246152c3565b8360146020020152614e4583601560200201516107e38361020001516107de856101a001516108018a60256152c3565b8360156020020152614e7583601660200201516107e38361020001516107de856101c001516108018a60266152c3565b8360166020020152614ea583601760200201516107e38361020001516107de856101e001516108018a60276152c3565b836017602002015250505050565b614f056040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614f3a7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761210b565b8152602001614f687f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61210b565b8152602001614f957e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561210b565b8152602001614fc37f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61210b565b90529050614fe0614fd586601c6152c3565b6107e38760026152c3565b610120830181905261501f906150149061500990614ffe908061281d565b85610120015161281d565b84610120015161281d565b83610120015161281d565b825261502c85601d6152c3565b602083015261503c85601e6152c3565b604083015261504c85601f6152c3565b606083015281516020830151615074916148ce9161506a9190612838565b8460400151612838565b6080830152615087613a2d86600d6152c3565b61014083015281516150a89061509e90835f611508565b8360800151612838565b60a08301526150d484601860200201516107e38461014001516107de8660a001516108018b60246152c3565b61030085015260208201516150ef9061509e90836001611508565b60c083015261511b84601960200201516107e38461014001516107de8660c001516108018b60256152c3565b61032085015260408201516151369061509e90836002611508565b60e083015261516284601a60200201516107e38461014001516107de8660e001516108018b60266152c3565b610340850152606082015161517d9061509e90836003611508565b6101008301526151ab84601b60200201516107e38461014001516107de8661010001516108018b60276152c3565b84601b6138b4565b815160015b601c811015615205576151fb826107e38684601c81106151da576151da615a43565b6020020151866151eb6001876158c9565b601b811061150857611508615a43565b91506001016151b8565b5092915050565b615214615615565b61521c615615565b604051835181526020840151602082015284604082015260408160608360075afa80615246575f5ffd5b5080518252602080820151908301526060016040529392505050565b61526a615615565b615272615615565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806152a7575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156152d7576152d7615c37565b602981106152e7576152e7615a43565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615319615615565b8152602001615326615615565b8152602001615333615615565b8152602001615340615615565b815260200161534d615615565b815260200161535a615615565b8152602001615367615615565b8152602001615374615615565b8152602001615381615615565b815260200161538e615615565b815260200161539b615615565b81526020016153a8615615565b81526020016153b5615615565b81526020016153c2615615565b81526020016153cf615615565b81526020016153dc615615565b81526020016153e9615615565b81526020016153f6615615565b8152602001615403615615565b8152602001615410615615565b815260200161541d615615565b815260200161542a615615565b8152602001615437615615565b8152602001615444615615565b8152602001615451615615565b815260200161545e615615565b815260200161546b615615565b8152602001615478615615565b905290565b604051806101e001604052806154916156e5565b815260200161549e615615565b81526020016154ab615615565b81526020016154b8615615565b81526020016154c5615615565b81526020016154d2615615565b81526020016154df615615565b81526020016154ec615615565b81526020016154f9615615565b8152602001615506615741565b815260200161551361576f565b815260200161552061578e565b815260200161545e61566a565b60405180610100016040528061556060405180608001604052805f81526020015f81526020015f81526020015f81525090565b815260200161556d61562d565b815260200161557a61566a565b815260200161558761566a565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016155e36157bc565b81526020016155f06157bc565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061032001604052806019905b6157596156e5565b8152602001906001900390816157515790505090565b6040518061052001604052806029906020820280368337509192915050565b6040518061030001604052806018905b6157a6615615565b81526020019060019003908161579e5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156157ed575f5ffd5b84356001600160401b03811115615802575f5ffd5b8501601f81018713615812575f5ffd5b80356001600160401b03811115615827575f5ffd5b876020828401011115615838575f5ffd5b6020918201955093508501356001600160401b03811115615857575f5ffd5b8501601f81018713615867575f5ffd5b80356001600160401b0381111561587c575f5ffd5b8760208260051b8401011115615890575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176128325761283261589e565b818103818111156128325761283261589e565b808201808211156128325761283261589e565b5f5f858511156158fd575f5ffd5b83861115615909575f5ffd5b5050820193919092039150565b80356020831015612832575f19602084900360031b1b1692915050565b5f8261594d57634e487b7160e01b5f52601260045260245ffd5b500690565b6001815b600184111561598d578085048111156159715761597161589e565b600184161561597f57908102905b60019390931c928002615956565b935093915050565b5f826159a357506001612832565b816159af57505f612832565b81600181146159c557600281146159cf576159eb565b6001915050612832565b60ff8411156159e0576159e061589e565b50506001821b612832565b5060208310610133831016604e8410600b8410161715615a0e575081810a612832565b615a1a5f198484615952565b805f1904821115615a2d57615a2d61589e565b029392505050565b5f61033260ff841683615995565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615a7c57615a7c61589e565b5060010190565b5f8183825b6005811015615aa7578151835260209283019290910190600101615a88565b50505060a08201905092915050565b5f8183825b6009811015615ada578151835260209283019290910190600101615abb565b5050506101208201905092915050565b5f8183825b602a811015615b0e578151835260209283019290910190600101615aef565b5050506105408201905092915050565b81515f90829060208501835b82811015615b48578151845260209384019390910190600101615b2a565b509195945050505050565b5f8183825b6003811015615b77578151835260209283019290910190600101615b58565b50505060608201905092915050565b5f81615b9457615b9461589e565b505f190190565b5f8183825b6008811015615bbf578151835260209283019290910190600101615ba0565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615bf5575f5ffd5b81518015158114610332575f5ffd5b5f8183825b6007811015615c28578151835260209283019290910190600101615c09565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212209b9eac3609c034c5e062bad77d9f7786be50d6f1330b80424da1fbb44eb4450c64736f6c634300081e0033";
|
|
4
|
+
export declare const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f1a3f894cf7d14569f22d5608b0f2588a8613dfcc3a93566dbe4e113cb4fb529560c052607760e05260805160a05160c05160e051615cbd6100de5f395f8181610180015261081101525f61015f01525f8181605b01528181609401528181610100015281816101a10152818161092a01528181610a3701528181610a6301528181610add0152818161131e015281816113be015281816115fb0152818161164701528181611695015281816116ec0152612e0f01525f5050615cbd5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046157d6565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028b565b905061008c8160206158ae565b85146100ed577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206158ae565b6040516359895a5360e01b815260048101939093526024830191909152604482015260640160405180910390fd5b5f6100f6610339565b90505f61012488887f000000000000000000000000000000000000000000000000000000000000000061034e565b90506008826040015161013791906158c5565b85146101565760405163fa06659360e01b815260040160405180910390fd5b5f6101c58288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610709565b90506102158787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516020810151604090910151919350915060016107bb565b8151606001525f6102268383610922565b905080610246576040516313f8744360e31b815260040160405180910390fd5b5f610252848685610a23565b905080610272576040516352ec174560e11b815260040160405180910390fd5b81801561027c5750805b9b9a5050505050505050505050565b5f80610299600260086158ae565b905060016102a86008856158ae565b6102b291906158ae565b6102bc90826158d8565b90506102ca600160296158ae565b6102d490826158d8565b905060026102e36001856158c5565b6102ed91906158ae565b6102f790826158d8565b90506103046001846158ae565b61030e90826158d8565b905061031b6002806158ae565b61032590826158d8565b90506103326008826158d8565b9392505050565b6103416152ef565b6103496117cf565b905090565b610356615479565b5f805b600881101561040a575f8683876103716020836158d8565b9261037e939291906158eb565b61038791615912565b905061039460028361592f565b156103a05760786103a3565b60885b6103ae906002615a31565b81106103cd5760405163eb73e0bd60e01b815260040160405180910390fd5b6103d681612107565b845183600881106103e9576103e9615a3f565b6020020181815250506020836103ff91906158d8565b925050600101610359565b5061042e85828661041c6040836158d8565b92610429939291906158eb565b612139565b602083015261043e6040826158d8565b905061045185828661041c6040836158d8565b60408084019190915261046490826158d8565b905061047785828661041c6040836158d8565b60608301526104876040826158d8565b905061049a85828661041c6040836158d8565b60c08301526104aa6040826158d8565b90506104bd85828661041c6040836158d8565b60e08301526104cd6040826158d8565b90506104e085828661041c6040836158d8565b60808301526104f06040826158d8565b905061050385828661041c6040836158d8565b6101008301526105146040826158d8565b905061052785828661041c6040836158d8565b60a08301526105376040826158d8565b90505f5b838110156105c7575f5b60088110156105be5761057187848861055f6020836158d8565b9261056c939291906158eb565b6121f4565b846101200151836019811061058857610588615a3f565b6020020151826008811061059e5761059e615a3f565b6020020181815250506020836105b491906158d8565b9250600101610545565b5060010161053b565b505f5b602981101561061b576105e486838761055f6020836158d8565b83610140015182602981106105fb576105fb615a3f565b60200201818152505060208261061191906158d8565b91506001016105ca565b505f5b6106296001856158c5565b8110156106725761064186838761041c6040836158d8565b836101600151826018811061065857610658615a3f565b60200201526106686040836158d8565b915060010161061e565b505f5b838110156106c55761068e86838761055f6020836158d8565b83610180015182601981106106a5576106a5615a3f565b6020020181815250506020826106bb91906158d8565b9150600101610675565b506106d785828661041c6040836158d8565b6101a08301526106e86040826158d8565b90506106fb85828661041c6040836158d8565b6101c0830152509392505050565b610711615529565b5f610720888888888886612207565b908352905061072f818961226a565b60208401919091529050610743818461236f565b6040840191909152905061075888828561240c565b6060840191909152905061076c88826124ee565b60808401919091529050610781888285612587565b60a08401919091529050610796888285612709565b60c084019190915290506107aa88826127cd565b5060e0830152509695505050505050565b5f600180826107e8866107e3896107de6107d98a63100000006158d8565b612107565b612819565b612834565b90505f610806876108018a6107de6107d98b60016158d8565b61284d565b90505f5b61083560087f00000000000000000000000000000000000000000000000000000000000000006158c5565b8110156108a2575f61085f8c838151811061085257610852615a3f565b6020026020010151612875565b905061086f866107de8684612834565b955061087f856107de8584612834565b945061088b848b612834565b9350610897838b61284d565b92505060010161080a565b505f5b6008811015610909575f8a82600881106108c1576108c1615a3f565b602002015190506108d6866107de8684612834565b95506108e6856107de8584612834565b94506108f2848b612834565b93506108fe838b61284d565b9250506001016108a5565b5061091484846128a4565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109f9575f866101200151826019811061096857610968615a3f565b602002015190505f61097a82866128b2565b90508061099a576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601981106109b1576109b1615a3f565b602002015190506109c283826128d2565b95506109e9886040015185601981106109dd576109dd615a3f565b60200201518683612a81565b9450505050806001019050610928565b505f610a13866101400151865f0151876020015185612aac565b90508281145b9695505050505050565b5f610a2c6155a1565b5f610a5b8460a001517f0000000000000000000000000000000000000000000000000000000000000000612b25565b90505f610a897f000000000000000000000000000000000000000000000000000000000000000060246158d8565b610a949060026158d8565b6001600160401b03811115610aab57610aab615a53565b604051908082528060200260200182016040528015610ad4578160200160208202803683370190505b5090505f610b037f000000000000000000000000000000000000000000000000000000000000000060246158d8565b610b0e9060026158d8565b6001600160401b03811115610b2557610b25615a53565b604051908082528060200260200182016040528015610b5e57816020015b610b4b615611565b815260200190600190039081610b435790505b509050610b90610b8b8760e00151855f81518110610b7e57610b7e615a3f565b602002602001015161284d565b612bee565b84610120018181525050610bc4610b8b8760e00151855f81518110610bb757610bb7615a3f565b6020026020010151612834565b610140850181905261012085015160c0880151610be5926107e39190612819565b845260a0860151610c1590610bf990612bee565b6107de8661012001516108018a60c00151896101400151612819565b6020850152815160019083905f90610c2f57610c2f615a3f565b602002602001018181525050876101a00151815f81518110610c5357610c53615a3f565b6020908102919091010152600160a08501525f60c08501528351610c7690612c86565b60408501526020840151610c8990612c86565b606085015260015b60248111610d3457610cab85604001518660a00151612819565b838281518110610cbd57610cbd615a3f565b602002602001018181525050610d068560c001516107e38b6101400151600185610ce791906158c5565b60298110610cf757610cf7615a3f565b60200201518860a00151612819565b60c086015260a08501516080880151610d1f9190612819565b60a0860152610d2d81615a67565b9050610c91565b505f5b6005811015610e02575f610d4c601d836158d8565b90505f610d5a6024846158d8565b9050610d8b858381518110610d7157610d71615a3f565b60200260200101516107e389606001518a60a00151612819565b858381518110610d9d57610d9d615a3f565b602002602001018181525050610dda8760c001516107e38d61014001518460298110610dcb57610dcb615a3f565b60200201518a60a00151612819565b60c088015260a087015160808a0151610df39190612819565b60a08801525050600101610d37565b50866060015181600181518110610e1b57610e1b615a3f565b6020026020010181905250866080015181600281518110610e3e57610e3e615a3f565b60200260200101819052508660a0015181600381518110610e6157610e61615a3f565b60200260200101819052508660c0015181600481518110610e8457610e84615a3f565b60200260200101819052508660e0015181600581518110610ea757610ea7615a3f565b602002602001018190525086610100015181600681518110610ecb57610ecb615a3f565b602002602001018190525086610120015181600781518110610eef57610eef615a3f565b602002602001018190525086610140015181600881518110610f1357610f13615a3f565b602002602001018190525086610160015181600981518110610f3757610f37615a3f565b6020026020010181905250866101c0015181600a81518110610f5b57610f5b615a3f565b602002602001018190525086610180015181600b81518110610f7f57610f7f615a3f565b6020026020010181905250866101a0015181600c81518110610fa357610fa3615a3f565b6020026020010181905250866101e0015181600d81518110610fc757610fc7615a3f565b602002602001018190525086610200015181600e81518110610feb57610feb615a3f565b602002602001018190525086610220015181600f8151811061100f5761100f615a3f565b60200260200101819052508661024001518160108151811061103357611033615a3f565b60200260200101819052508661026001518160118151811061105757611057615a3f565b60200260200101819052508661028001518160128151811061107b5761107b615a3f565b6020026020010181905250866102a001518160138151811061109f5761109f615a3f565b6020026020010181905250866102c00151816014815181106110c3576110c3615a3f565b6020026020010181905250866102e00151816015815181106110e7576110e7615a3f565b60200260200101819052508661030001518160168151811061110b5761110b615a3f565b60200260200101819052508661032001518160178151811061112f5761112f615a3f565b60200260200101819052508661034001518160188151811061115357611153615a3f565b60200260200101819052508661036001518160198151811061117757611177615a3f565b602002602001018190525086610380015181601a8151811061119b5761119b615a3f565b6020026020010181905250866103a0015181601b815181106111bf576111bf615a3f565b6020026020010181905250866103c0015181601c815181106111e3576111e3615a3f565b6020026020010181905250876020015181601d8151811061120657611206615a3f565b6020026020010181905250876040015181601e8151811061122957611229615a3f565b6020026020010181905250876060015181601f8151811061124c5761124c615a3f565b602002602001018190525087608001518160208151811061126f5761126f615a3f565b60200260200101819052508760a001518160218151811061129257611292615a3f565b6020026020010181905250876101000151816022815181106112b6576112b6615a3f565b60200260200101819052508760c00151816023815181106112d9576112d9615a3f565b60200260200101819052508760e00151816024815181106112fc576112fc615a3f565b60200260200101819052505f61134287606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c98565b905061136c815f8151811061135957611359615a3f565b6020026020010151866101200151612819565b608086018190526101808a01515160c089015161139d92916107e3916113929190612819565b886101400151612819565b608086015260c08701516113b090612df6565b60a08601525f5b6113e260017f00000000000000000000000000000000000000000000000000000000000000006158c5565b8110156115df57611412610b8b8960e001518784600161140291906158d8565b81518110610b7e57610b7e615a3f565b61012087015260e088015161144190610b8b90876114318560016158d8565b81518110610bb757610bb7615a3f565b61014087015260a086015161012087015161145c9190612819565b61016087015260a086015160c08901516114849161147991612819565b876101400151612819565b61018087018190526114a79061149990612c86565b6107e3886101600151612c86565b84826114b5602460016158d8565b6114bf91906158d8565b815181106114cf576114cf615a3f565b6020026020010181815250505f6115128761018001518c61018001518460016114f891906158d8565b6019811061150857611508615a3f565b6020020151612819565b905061154c816107e38961016001518686600161152f91906158d8565b8151811061153f5761153f615a3f565b6020026020010151612819565b905061155c876080015182612834565b608088015260a087015160c08a01516115829161157891612819565b8a60c00151612819565b60a08801526101608b0151826018811061159e5761159e615a3f565b602002015184836115b1602460016158d8565b6115bb91906158d8565b815181106115cb576115cb615a3f565b6020908102919091010152506001016113b7565b50604080518082019091526001815260026020820152826116217f000000000000000000000000000000000000000000000000000000000000000060246158d8565b8151811061163157611631615a3f565b602090810291909101015260808501518361166d7f000000000000000000000000000000000000000000000000000000000000000060246158d8565b8151811061167d5761167d615a3f565b60209081029190910101526101c089015180836116bb7f000000000000000000000000000000000000000000000000000000000000000060246158d8565b6116c69060016158d8565b815181106116d6576116d6615a3f565b602090810291909101015260e0880151846117127f000000000000000000000000000000000000000000000000000000000000000060246158d8565b61171d9060016158d8565b8151811061172d5761172d615a3f565b6020026020010181815250505f6117448486612e01565b90505f61175083612f11565b905061175e8c5f0151612f48565b6117b5575f6117718d5f01518484612f81565b90505f5f6117818f5f0151613006565b9150915061178e826130e3565b611797816130e3565b6117a285838561310d565b94506117af84828561310d565b93505050505b6117bf8282613133565b9c9b505050505050505050505050565b6117d76152ef565b50604080516103e081018252630100000081526018602080830191909152607782840152825180840184527f0a8c8d00df2bbaac52bf07ea6415f961b384d15326ac0ab3c4b76b01b364751581527f2e84a1450ccec0ded8b3d6081466c2dd38d34ef9f333caf4a244d0c04d74fb02818301526060830152825180840184527f196e39aef110c0cf0e876f0867553746b8586b9fa38d1706a06cc2cab4adcf5681527f0b0afa97d90e3a67f33e54f0edd5d399c8acf733fd8d2e60f3b3222c31460789818301526080830152825180840184527f19d60fc6cb516b53fb02c2f744ef2dd3e4b405ec0592916f9e54ad49564cbb3b81527f24bd86e923b001dcd4a0473009f68e92081a633a29644fd9a4a9d6389493c4c38183015260a0830152825180840184527f19fc267282b0c6ec56af6cd24cda9674c130139bffc3c8db692fd5de2155be6881527f23dac8f577dbbbe088b5670246d41130a50a24c18a641746b33e74dd910f4a788183015260c0830152825180840184527ed5cdc3287439391b5e162ce2185d9f1b5ab68f296e6e36db43b0919ffb1fff81527f1e4520363297e3cdee4389d8a51b25a949975cd358f59ae93872dc8cc0add9298183015260e0830152825180840184527f1ae0d30a666f493f3b9bf24694b6c506512db1eb7f47950865f248261c951ef881527f2ba1ce4124f7f4c721b173a258516b2153807aa65d539b0e27924fb14a3ce53881830152610100830152825180840184527f2cb419ef3eccb0db6e471fd8fda94ff432adc91fa3d7b996e2620738b68f36b781527f02a10bfbecf3601c6c06b65fe96abc9fb42f812f9794cbded65e33942a411fef81830152610120830152825180840184527f1d53c7b3cf3f0a708d91a78bd70e55e12968067a7aadaf57573e4aefd2cb957481527f278476b377ca161acf02afffbcaa96f3e7a9236d7d87c053c9b8c847bf2b39dc81830152610140830152825180840184527f2d8b10ecfca537a11774635c509fcbf8440ad770d49dec1e70ca9d653d5c505681527f0ff2f6db61c995571a87c61c45e70d6d7e1707d7bd3f522028d58bce0cab8f4581830152610160830152825180840184527f2d049c934b957264bbce287a0ad903147bf5c3219e9b2664733b112fcedbacbe81527f27a29f97a375ce8ac35fb48384c5d09b147d5498413271bfe398b98d06582d8881830152610180830152825180840184527f17f4ecedac2901a7a78eb22fa98c2d567e58d08da4f7cc3dcb5d0cf0af88a42781527f1885bbe06a64dc2982878b24fd0a0f94f56ceb656a2e02c8fbf0de2f3c6ad14c818301526101a0830152825180840184527f06c5f70d14f8d1f2f016d3ee9a623de9d3aafbe4b452310e6918ab1087a7043981527f23c05f41383aa0afaf5c788f4c0453c131580130390aba9783ba2ea57dec6788818301526101c0830152825180840184527f123b4c3b58b588eb5742c3b0333c78c9988cb89d0ed82dac9cbb9c843b5de81981527f1c6170a17c1a548949af9ffb492a26035f70337e2603e4cb78af5be6f0ea9858818301526101e0830152825180840184527f0d255cca72a76f442194aa053101b3d98dda680ce1e7c05f17918c8d7270aa1181527f279d29c0a15a88042de800c859fdcdbb5b54c5db0b6c2bd8cdd16cf5905ddf6f81830152610200830152825180840184527f11a3b9c7c85ace8a4250ebea0be44182f6e131df2529115bb4b238f6f4f54c4e81527f1d964fa8886d564252397006b641afb5b5483abc5c8eb8d86ed48e86ea832feb81830152610220830152825180840184527f27a9aef219fe7704a8a8c69f75de236fcb5c26ba1667d4968fc4fe99799b0a7e81527ec200c87404986e204a86cce49484e98da6a1ca8be79d0dd4b762fdad021b7f81830152610240830152825180840184527f189542e2eb4af5d2ed5dc563399d9f386022a1ec9182c5ccddb7c364ca1843c781527f203a781642c4c550611116ec2600b7a139af81b0e83b0ddb0af80c053f31adfa81830152610260830152825180840184527f27c2c4d975ea5dce1afcf98187a3298c9b9cb793599a39d1b59bcb48b58b4ce181527f0faa6c007b00ccd939aeec05282e8f8e4b6d90b4cd2ef34f075728281f33de3c81830152610280830152825180840184527f142b7ffd5fc65d784b06ef0305207d6ce56d8a5bd988b58a87c4438a154cc28981527f16dcc049b3881b6fc47833040fbd577da36d2744ab82720be9992332ecc62830818301526102a0830152825180840184527f1255dc7929665cb1e9967bcee3b5e8fcc772576daf07a8410c8e27695a5f19c881527f076a081ea5400fb7f7c2c529fdb9c88a08a062a5e919f3da7a26aefb1fab4ab5818301526102c0830152825180840184527f305881fea4a5a74d0e3a8a842002098414b00df034fe8a1763406d685eed17d981527f2eee772f93f903838ff22103edf6574dda242be7c27e9ba8b5a6cff978322d62818301526102e0830152825180840184527f2c0e981468d262c7dcc5243ae29466db7a980130afc1303a57d03043ca2d122381527ebc3ddcd237f770995393f077864bc2f313371b053cfeee52b355072fe40c1c81830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f20b8784b739f9968d269d3db4e7e7e7e666acd5804af5ff4a54f8dfbea8d257281527f21ad5edf078583d5e29052c50b4e8d46067ddaae2aa2345c15a755074d932f9581830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f12b9f10190d9b8ee97874cce294761a25c6b52cbe2f07f8f680451d79287853d83527e99874be1cffce9c9c33ba0a4fa132b17209ea9d6257394b70037ebc1a2e9b2908301526103c081019190915290565b5f5f516020615c685f395f51905f528210612135576040516320a3358960e01b815260040160405180910390fd5b5090565b612141615611565b5f61214f60208285876158eb565b61215891615912565b90505f6121696040602086886158eb565b61217291615912565b90505f516020615c485f395f51905f528210801561219c57505f516020615c485f395f51905f5281105b6121b95760405163303df09f60e11b815260040160405180910390fd5b8082175f036121db57604051634ddaa5e560e01b815260040160405180910390fd5b6040805180820190915291825260208201529392505050565b5f6103326122028385615912565b612875565b61222e60405180608001604052805f81526020015f81526020015f81526020015f81525090565b5f61223c8888888888613327565b908352925061224b838961364a565b6040850191909152602084019190915291989197509095505050505050565b612272615629565b5f61227b615648565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122f4915f516020615c685f395f51905f52916122d291859101615a7f565b604051602081830303815290604052805190602001205f1c6107d9919061592f565b91505f612300836136e0565b50808552905060015b6123156001601c6158c5565b811015612365576123468561232b6001846158c5565b601b811061233b5761233b615a3f565b602002015183612819565b8582601b811061235857612358615a3f565b6020020152600101612309565b5050509250929050565b612377615666565b5f61239c5f516020615c685f395f51905f52856040516020016122d291815260200190565b93506123a7846136e0565b50825260015b83811015612404576123e5836123c46001846158c5565b601981106123d4576123d4615a3f565b6020020151846114f86001856158c5565b8382601981106123f7576123f7615a3f565b60200201526001016123ad565b509093915050565b612414615666565b5f805b838110156124e457612427615685565b8581525f5b600881101561249057876101200151836019811061244c5761244c615a3f565b6020020151816008811061246257612462615a3f565b6020020151826124738360016158d8565b6009811061248357612483615a3f565b602002015260010161242c565b506124b35f516020615c685f395f51905f52826040516020016122d29190615ab2565b95505f6124bf876136e0565b8685601981106124d1576124d1615a3f565b6020020191909152505050600101612417565b5090949293505050565b5f5f6124f86156a4565b8381525f5b602981101561254b57856101400151816029811061251d5761251d615a3f565b60200201518261252e8360016158d8565b602a811061253e5761253e615a3f565b60200201526001016124fd565b5061256e5f516020615c685f395f51905f52826040516020016122d29190615ae6565b91505f61257a836136e0565b5096929550919350505050565b5f80806125956001856158c5565b6125a09060026158ae565b6125ab9060016158d8565b6001600160401b038111156125c2576125c2615a53565b6040519080825280602002602001820160405280156125eb578160200160208202803683370190505b50905084815f8151811061260157612601615a3f565b60209081029190910101525f5b6126196001866158c5565b8110156126cc57866101600151816018811061263757612637615a3f565b602002015151826126498360026158ae565b6126549060016158d8565b8151811061266457612664615a3f565b602002602001018181525050866101600151816018811061268757612687615a3f565b6020020151602001518282600261269e91906158ae565b6126a99060026158d8565b815181106126b9576126b9615a3f565b602090810291909101015260010161260e565b506126ef5f516020615c685f395f51905f52826040516020016122d29190615b1a565b91505f6126fb836136e0565b509792965091945050505050565b5f80806127178460016158d8565b6001600160401b0381111561272e5761272e615a53565b604051908082528060200260200182016040528015612757578160200160208202803683370190505b50905084815f8151811061276d5761276d615a3f565b60209081029190910101525f5b848110156126cc57866101800151816019811061279957612799615a3f565b6020020151826127aa8360016158d8565b815181106127ba576127ba615a3f565b602090810291909101015260010161277a565b5f5f6127d76156c3565b8381526101a0850180515160208084019190915290518101516040808401919091525161256e915f516020615c685f395f51905f52916122d291859101615b4f565b5f5f516020615c685f395f51905f5282840990505b92915050565b5f5f516020615c685f395f51905f528284089392505050565b5f5f516020615c685f395f51905f52825f516020615c685f395f51905f520384089392505050565b5f815f516020615c685f395f51905f52811061282e576040516320a3358960e01b815260040160405180910390fd5b5f610332836107de84612bee565b815160208301515f9182916128c79190612834565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156129b9576129af826107de878461284d565b9150600101612998565b506129c26156e1565b5f5b6008811015612a23575f8482600881106129e0576129e0615a3f565b602002015190506129f5816107de898561284d565b9050612a0081612bee565b905080838360088110612a1557612a15615a3f565b6020020152506001016129c4565b505f5b6008811015612a76575f878260088110612a4257612a42615a3f565b60200201519050612a5f8184846008811061150857611508615a3f565b9050612a6b8682612834565b955050600101612a26565b50610a198483612819565b5f5f612a9760016107e3856107de89600161284d565b9050612aa38482612819565b95945050505050565b5f612ab5615700565b612ac0868285613710565b612acc868683866138bc565b612ad886868386613aa4565b612ae3868285613cf3565b612aee868285613ee7565b612afa8686838661422a565b612b058682856146dc565b612b10868285614aee565b612b1b868285614eaf565b610a1981856151af565b60605f826001600160401b03811115612b4057612b40615a53565b604051908082528060200260200182016040528015612b69578160200160208202803683370190505b50905083815f81518110612b7f57612b7f615a3f565b602090810291909101015260015b83811015612be657612bc182612ba46001846158c5565b81518110612bb457612bb4615a3f565b6020026020010151612df6565b828281518110612bd357612bd3615a3f565b6020908102919091010152600101612b8d565b509392505050565b5f81808203612c1057604051635964a97160e11b815260040160405180910390fd5b5f604051602081526020808201526020604082015282606082015260025f516020615c685f395f51905f520360808201525f516020615c685f395f51905f5260a082015260205f60c08360055afa80612c725763f8d6170960e01b5f5260045ffd5b505f5160c091909101604052949350505050565b5f516020615c685f395f51905f520390565b60605f826001600160401b03811115612cb357612cb3615a53565b604051908082528060200260200182016040528015612cdc578160200160208202803683370190505b509050825b8015612deb575f85612cf46001846158c5565b81518110612d0457612d04615a3f565b602002602001015190505f89600184612d1d91906158c5565b60198110612d2d57612d2d615a3f565b602002015190505f612d88612d4c612d45858d612819565b6002612819565b6108018b612d5b6001896158c5565b60198110612d6b57612d6b615a3f565b60200201516107de612d82886107de60018a61284d565b8761284d565b9050612da9816107de610b8b612da3876107de60018961284d565b86612834565b99508990508085612dbb6001876158c5565b81518110612dcb57612dcb615a3f565b60200260200101818152505050505080612de490615b82565b9050612ce1565b509695505050505050565b5f61282e8283612819565b612e09615611565b5f612e357f000000000000000000000000000000000000000000000000000000000000000060246158d8565b612e409060026158d8565b90505f5b81811015612e7657612e6e858281518110612e6157612e61615a3f565b60200260200101516130e3565b600101612e44565b50604051600190815b60018401811015612edb5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612e7f565b5080518452602081015160208501525080612f09576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612f19615611565b602082015115612135576020820151612f3f905f516020615c485f395f51905f526158c5565b60208301525090565b5f80805b6008811015612f7957838160088110612f6757612f67615a3f565b60200201519190911790600101612f4c565b501592915050565b5f5f5f612f8d86613006565b91509150612f996156e1565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612ffb915f516020615c685f395f51905f52916122d291859101615b97565b979650505050505050565b61300e615611565b613016615611565b8251602084015160408501516060860151608087015160a088015160c089015160e08a0151608896871b9097179693861b9094179490811b9091179291901b175f516020615c485f395f51905f528410801561307e57505f516020615c485f395f51905f5283105b801561309657505f516020615c485f395f51905f5282105b80156130ae57505f516020615c485f395f51905f5281105b6130cb5760405163303df09f60e11b815260040160405180910390fd5b92855260208086019290925283528201529092909150565b60208101518151175f0361310a57604051634ddaa5e560e01b815260040160405180910390fd5b50565b613115615611565b61311d615611565b6131278386615208565b9050612aa3818561525e565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132c99190615bcb565b5f60405180830381855afa9150503d805f8114613301576040519150601f19603f3d011682016040523d82523d5f602084013e613306565b606091505b5091509150818015610a19575080806020019051810190610a199190615be1565b5f80806133358460016158d8565b6133409060066158d8565b6001600160401b0381111561335757613357615a53565b604051908082528060200260200182016040528015613380578160200160208202803683370190505b509050845f1b815f8151811061339857613398615a3f565b60209081029190910101525f5b6133b06008866158c5565b811015613448575f516020615c685f395f51905f528888838181106133d7576133d7615a3f565b905060200201355f1c106133fe576040516320a3358960e01b815260040160405180910390fd5b87878281811061341057613410615a3f565b905060200201358282600161342591906158d8565b8151811061343557613435615a3f565b60209081029190910101526001016133a5565b505f5b60088110156134b957885161347390826008811061346b5761346b615a3f565b602002015190565b828260086134828960016158d8565b61348c91906158c5565b61349691906158d8565b815181106134a6576134a6615a3f565b602090810291909101015260010161344b565b50602088015151816134cc8660016158d8565b815181106134dc576134dc615a3f565b602090810291909101810191909152888101510151816134fd8660016158d8565b6135089060016158d8565b8151811061351857613518615a3f565b6020908102919091010152604088015151816135358660016158d8565b6135409060026158d8565b8151811061355057613550615a3f565b60209081029190910181019190915260408901510151816135728660016158d8565b61357d9060036158d8565b8151811061358d5761358d615a3f565b6020908102919091010152606088015151816135aa8660016158d8565b6135b59060046158d8565b815181106135c5576135c5615a3f565b60209081029190910181019190915260608901510151816135e78660016158d8565b6135f29060056158d8565b8151811061360257613602615a3f565b6020026020010181815250506136305f516020615c685f395f51905f52826040516020016122d29190615b1a565b915061363b826136e0565b50989197509095505050505050565b5f5f5f61365561571f565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136c6915f516020615c685f395f51905f52916122d291859101615c00565b91506136d1826136e0565b90979096509194509092505050565b5f808260016001607f1b038116607f82901c6136fb82612107565b945061370681612107565b9350505050915091565b5f61371c8460076152bf565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61377d61377761375185600361284d565b6107de61376c6137618b5f6152bf565b6107de8c601d6152bf565b6107de8b601c6152bf565b83612819565b90506137fe6137f36137da6137c16137a8856107e361379d8d60026152bf565b6107de8e601c6152bf565b6107e36137b68c60036152bf565b6107de8d601d6152bf565b6107e36137cf8b60046152bf565b6107de8c601e6152bf565b6107e36137e88a60056152bf565b6107de8b601f6152bf565b6107e38860016152bf565b905061381d816107e361381286600161284d565b6107de8a60276152bf565b90506138298184612819565b90506138358185612819565b8552505f905061386f61386561385a61384f88601c6152bf565b6107e389601f6152bf565b6108018860246152bf565b6107e3875f6152bf565b9050613880816107de84600261284d565b9050613891816107de84600161284d565b905061389d8183612819565b90506138a98184612819565b9050808460015b60200201525050505050565b5f5f5f6138f26138e86138d089601c6152bf565b6107e36138de8b60126152bf565b8a60200151612819565b8760400151612834565b905061392b816107de6139216139098b601d6152bf565b6107e36139178d60136152bf565b8c60200151612819565b8960400151612834565b9050613950816107de6139216139428b601e6152bf565b6107e36139178d60146152bf565b9050613975816107de6139216139678b601f6152bf565b6107e36139178d60156152bf565b92505f90506139996138e861398b89601c6152bf565b6107e36138de8b600e6152bf565b90506139be816107de6139216139b08b601d6152bf565b6107e36139178d600f6152bf565b90506139e3816107de6139216139d58b601e6152bf565b6107e36139178d60106152bf565b9050613a08816107de6139216139fa8b601f6152bf565b6107e36139178d60116152bf565b91505f9050613a2f613a29613a1e8960206152bf565b6107e38a601a6152bf565b84612819565b9050613a6481610801613a5e613a468b60286152bf565b6107e3613a548d601b6152bf565b8c60600151612819565b85612819565b9050613a708185612819565b6040860152505f613a93613a5e613a8889601b6152bf565b6107de8a60286152bf565b606090950194909452505050505050565b5f5f5f613ab986602001518760200151612819565b9050613b1d613b02613af4613adc613ad28b60166152bf565b8a60400151612834565b6107e3613aea8c60176152bf565b8b60200151612819565b6107e3613a5e8b60186152bf565b6107e3613b13613a5e8b60196152bf565b8960200151612819565b9250505f613b3386602001518760200151612819565b90505f613b60613b476139218a601c6152bf565b6107e3613b558b60036152bf565b6107de8c60246152bf565b90505f613b89613b718a601d6152bf565b6107e3613b7e8c5f6152bf565b6107de8d60256152bf565b90505f613bb3613b9a8b601e6152bf565b6107e3613ba88d60016152bf565b6107de8e60266152bf565b9050613bee613bd7613bcd856107e3868e60200151612819565b6107e38488612819565b6107e3613917613be88e60046152bf565b88612819565b9450505050505f613c03613a298860216152bf565b90505f613c14613a298960216152bf565b90505f613c4c613c33613c288b60236152bf565b6107e38c60066152bf565b610801613c418c60236152bf565b6107de8d60066152bf565b90505f613c70613c6a613c5f8789612819565b6107de8d60216152bf565b8361284d565b9050613c7c8188612819565b90505f613ca4613c96613c908d60066152bf565b87612819565b610801613c908e60226152bf565b90505f613cb28c60236152bf565b90505f613cc2613c6a8384612819565b60808c0185905260a08c018490529050613cdc818b612819565b8b6006602002015250505050505050505050505050565b5f613cff5f600161284d565b90505f613d0d5f600261284d565b90505f613d1b5f600361284d565b90505f613d37613d2c88601d6152bf565b61080189601c6152bf565b90505f613d53613d4889601e6152bf565b6108018a601d6152bf565b90505f613d6f613d648a601f6152bf565b6108018b601e6152bf565b90505f613d8b613d808b60246152bf565b6108018c601f6152bf565b905083613d9c816107de818b612834565b9050613dac816107de878a612834565b9050613dbc816107de8789612834565b9050613dcd816107de8d60086152bf565b9050613dd9818a612819565b60e08b01525082613dee816107de818b612834565b9050613dfe816107de868a612834565b9050613e0e816107de8689612834565b9050613e1f816107de8d60086152bf565b9050613e2b818a612819565b6101008b01525081613e41816107de818b612834565b9050613e51816107de858a612834565b9050613e61816107de8589612834565b9050613e72816107de8d60086152bf565b9050613e7e818a612819565b6101208b01525080613e94816107de818b612834565b9050613ea4816107de848a612834565b9050613eb4816107de8489612834565b9050613ec5816107de8d60086152bf565b9050613ed1818a612819565b610140909a019990995250505050505050505050565b613f206040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f2b84601d6152bf565b8152613f3884601e6152bf565b6020820152613f488460246152bf565b6040820152613f588460276152bf565b6060820152613f688460266152bf565b6080820152613f788460256152bf565b60a08201525f613f898560026152bf565b90505f613f96865f6152bf565b90505f613faa8460400151855f015161284d565b90505f613fbf85602001518660200151612819565b606086015190915086905f90613fd59080612819565b90505f613fed613be889602001518a60600151612819565b90505f61400c6140058a60a001518b60400151612834565b8a51612834565b905061401b613c908288612819565b905061404261403c614036614030848761284d565b8861284d565b84612834565b83612834565b905061406a61405f6140548387612819565b6107de8f60096152bf565b6107de60018a61284d565b6101608c015250505050602085015160808601515f9161408991612834565b90505f6140a761409d886060015188612819565b886020015161284d565b90505f6140cb6140b78487612819565b6107e3613a5e8b60a001518c5f015161284d565b90506140f36140e86140dd838c612819565b6107de8e60096152bf565b6107de60018961284d565b6101808b0152505f9150614114905061410d836011612834565b8751612819565b90505f6141218384612834565b905061412d8182612834565b90505f61413b836009612819565b905061416461415e613a296141578b60a001518c5f0151612834565b8b51612834565b8261284d565b60c089018190525f9061417f90613be890614054908d612819565b90506141928b600b602002015182612834565b6101608c0152505086515f92506141b9915061410d906141b29080612834565b8851612834565b90505f6141f96141d4836107de8a5f01518b60a0015161284d565b6020890151610801906141e79080612834565b6107de8b602001518c60800151612834565b905061421689600c60200201516107e3613be8614054858d612819565b89600c602002015250505050505050505050565b614294604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b83515f906142a29080612819565b90505f6142b282875f0151612819565b90506142c86142c288601e6152bf565b82612819565b8084526142dd906107e3613a5e8a601d6152bf565b8084526142f9906107e36142f28a601c6152bf565b8951612819565b80845261430b906107e38960016152bf565b808452602084018190526143249061080189601f6152bf565b8352614334613d2c8860246152bf565b60808401526143526143478860276152bf565b61080189601f6152bf565b6060840152608083015161436b906107de81600161284d565b6101c084015260808301516143ab906143a19061439a906107de60015f516020615c685f395f51905f526158c5565b6001612834565b8460600151612819565b60a084018190526143e1906143d3906107de6143c88b60026152bf565b6107de8c60036152bf565b6107de613c908a600a6152bf565b85600e60200201526101c0830151614405906143d3906107de6143c88b60026152bf565b6101e0860152825161442a906107de61441f8a60026152bf565b6107de8b60036152bf565b6101208401525f61444961443f89601f6152bf565b856020015161284d565b905061445a816107de83600161284d565b60e085015261446d6137778960266152bf565b6040850181905261448c906107e36144868b60256152bf565b86612819565b604085018190526144ac906107e36144a58b60246152bf565b8a51612819565b60408501526144c96144bf8960276152bf565b856040015161284d565b60408501525f6144dd613d648a60266152bf565b905061452f61450a61377761439a886080015160015f516020615c685f395f51905f526107de91906158c5565b6107de61439a886040015160015f516020615c685f395f51905f526107de91906158c5565b60c08601526040850151614551906145479080612819565b866040015161284d565b61010086015260c08501516145839061456f906107de8c60046152bf565b6107de61457d8c600a6152bf565b89612819565b6102008801526101c08501516145a29061456f906107de8c60046152bf565b6102208801526101008501516145c19061456f906107de8c60046152bf565b61024088015260e08501516145db906107de8b60046152bf565b6101408601526145fa6145ef8a60256152bf565b6108018b601d6152bf565b610160860152608085015161463890613d649061462d9061439a906107de60015f516020615c685f395f51905f526158c5565b876101600151612819565b61018086018190526101208601516101a0870181905261466f916107e3906107de6146648e60056152bf565b6107de8f60026152bf565b6101a08601819052855161468f91906107e3906107de6146648e5f6152bf565b6101a086018190526101408601516146a79190612834565b6101a086018190526146c1906107de61457d8c600a6152bf565b6101a0860181905287600d6020020152505050505050505050565b6147156040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61474a61473161472686601c6152bf565b6107de8760256152bf565b6107e361473f8760246152bf565b6107de88601d6152bf565b815261478f61478461476b61476087601c6152bf565b6107de88601f6152bf565b6107e361477988601d6152bf565b6107de89601e6152bf565b6108018660266152bf565b604082018190526147a490600160441b612819565b604082018190526147ba906108018660276152bf565b6040820181905281516147cd9190612834565b604082018190526147e3906107de8660056152bf565b604082015280516147f890600160441b612819565b808252614818906107e361480d8760246152bf565b6107de8860256152bf565b8082526020820181905261483f9061080161483487601e6152bf565b6107e388601f6152bf565b60208201819052614855906107de8660046152bf565b6020820152805160608201819052614872906107e386601f6152bf565b606082018190526148969061080161488b8760266152bf565b6107e38860276152bf565b606082018190526148ab906107de865f6152bf565b8160600181815250505f6148d46148ca83602001518460400151612834565b8360600151612834565b90506148e5816107de8760036152bf565b90506148fd6148f58660256152bf565b614000612819565b60808301819052614913906107e38760246152bf565b6080830181905261492690614000612819565b6080830181905261493c906107e387601e6152bf565b6080830181905261494f90614000612819565b60808301819052614965906107e387601d6152bf565b6080830181905261497890614000612819565b6080830181905261498e906107e387601c6152bf565b608083018190526149a49061080187601f6152bf565b608083018190526149ba906107de8760056152bf565b60808301526149cd6148f58660266152bf565b60a083018190526149e3906107e38760256152bf565b60a083018190526149f690614000612819565b60a08301819052614a0c906107e38760246152bf565b60a08301819052614a1f90614000612819565b60a08301819052614a35906107e387601f6152bf565b60a08301819052614a4890614000612819565b60a08301819052614a5e906107e387601e6152bf565b60a08301819052614a74906108018760276152bf565b60a08301819052614a89906107de875f6152bf565b60a0830181905260808301515f91614aa19190612834565b9050614ab2816107de8860046152bf565b9050614abe8282612834565b60c08401819052614ad7906107de613c9089600b6152bf565b60c084018190528560136020020152505050505050565b614b646040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614b7d614b7285601c6152bf565b6107e38660026152bf565b8152614b98614b8d85601d6152bf565b6107e38660036152bf565b6020820152614bb6614bab85601e6152bf565b6107e38660046152bf565b6040820152614bd4614bc985601f6152bf565b6107e38660056152bf565b60608201528051614c0690614bff90614bf890614bf19080612819565b8451612819565b8351612819565b8251612819565b60808201526020810151614c4490614c3a90614c3090614c269080612819565b8460200151612819565b8360200151612819565b8260200151612819565b60a08201526040810151614c8290614c7890614c6e90614c649080612819565b8460400151612819565b8360400151612819565b8260400151612819565b60c08201526060810151614cb690614cac90614ca2906143a19080612819565b8360600151612819565b8260600151612819565b60e0820152608081015160a0820151614ccf9190612834565b61010082015260c081015160e0820151614ce99190612834565b61012082015260a0810151614d0d90614d029080612834565b826101200151612834565b61014082015260e0810151614d3190614d269080612834565b826101000151612834565b610160820152610120810151614d479080612834565b6101e08201819052614d6890614d5d9080612834565b826101600151612834565b6101e0820152610100810151614d7e9080612834565b6101a08201819052614d9f90614d949080612834565b826101400151612834565b6101a08201819052610160820151614db691612834565b6101808201526101408101516101e0820151614dd29190612834565b6101c0820152614de661377785600c6152bf565b6102008201819052610280840151610180830151614e11926107e3916107de906108018a60246152bf565b8360146020020152614e4183601560200201516107e38361020001516107de856101a001516108018a60256152bf565b8360156020020152614e7183601660200201516107e38361020001516107de856101c001516108018a60266152bf565b8360166020020152614ea183601760200201516107e38361020001516107de856101e001516108018a60276152bf565b836017602002015250505050565b614f016040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614f367f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612107565b8152602001614f647f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612107565b8152602001614f917e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612107565b8152602001614fbf7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612107565b90529050614fdc614fd186601c6152bf565b6107e38760026152bf565b610120830181905261501b906150109061500590614ffa9080612819565b856101200151612819565b846101200151612819565b836101200151612819565b825261502885601d6152bf565b602083015261503885601e6152bf565b604083015261504885601f6152bf565b606083015281516020830151615070916148ca916150669190612834565b8460400151612834565b6080830152615083613a2986600d6152bf565b61014083015281516150a49061509a90835f611508565b8360800151612834565b60a08301526150d084601860200201516107e38461014001516107de8660a001516108018b60246152bf565b61030085015260208201516150eb9061509a90836001611508565b60c083015261511784601960200201516107e38461014001516107de8660c001516108018b60256152bf565b61032085015260408201516151329061509a90836002611508565b60e083015261515e84601a60200201516107e38461014001516107de8660e001516108018b60266152bf565b61034085015260608201516151799061509a90836003611508565b6101008301526151a784601b60200201516107e38461014001516107de8661010001516108018b60276152bf565b84601b6138b0565b815160015b601c811015615201576151f7826107e38684601c81106151d6576151d6615a3f565b6020020151866151e76001876158c5565b601b811061150857611508615a3f565b91506001016151b4565b5092915050565b615210615611565b615218615611565b604051835181526020840151602082015284604082015260408160608360075afa80615242575f5ffd5b5080518252602080820151908301526060016040529392505050565b615266615611565b61526e615611565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806152a3575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156152d3576152d3615c33565b602981106152e3576152e3615a3f565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615315615611565b8152602001615322615611565b815260200161532f615611565b815260200161533c615611565b8152602001615349615611565b8152602001615356615611565b8152602001615363615611565b8152602001615370615611565b815260200161537d615611565b815260200161538a615611565b8152602001615397615611565b81526020016153a4615611565b81526020016153b1615611565b81526020016153be615611565b81526020016153cb615611565b81526020016153d8615611565b81526020016153e5615611565b81526020016153f2615611565b81526020016153ff615611565b815260200161540c615611565b8152602001615419615611565b8152602001615426615611565b8152602001615433615611565b8152602001615440615611565b815260200161544d615611565b815260200161545a615611565b8152602001615467615611565b8152602001615474615611565b905290565b604051806101e0016040528061548d6156e1565b815260200161549a615611565b81526020016154a7615611565b81526020016154b4615611565b81526020016154c1615611565b81526020016154ce615611565b81526020016154db615611565b81526020016154e8615611565b81526020016154f5615611565b815260200161550261573d565b815260200161550f61576b565b815260200161551c61578a565b815260200161545a615666565b60405180610100016040528061555c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001615569615629565b8152602001615576615666565b8152602001615583615666565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016155df6157b8565b81526020016155ec6157b8565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061032001604052806019905b6157556156e1565b81526020019060019003908161574d5790505090565b6040518061052001604052806029906020820280368337509192915050565b6040518061030001604052806018905b6157a2615611565b81526020019060019003908161579a5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156157e9575f5ffd5b84356001600160401b038111156157fe575f5ffd5b8501601f8101871361580e575f5ffd5b80356001600160401b03811115615823575f5ffd5b876020828401011115615834575f5ffd5b6020918201955093508501356001600160401b03811115615853575f5ffd5b8501601f81018713615863575f5ffd5b80356001600160401b03811115615878575f5ffd5b8760208260051b840101111561588c575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761282e5761282e61589a565b8181038181111561282e5761282e61589a565b8082018082111561282e5761282e61589a565b5f5f858511156158f9575f5ffd5b83861115615905575f5ffd5b5050820193919092039150565b8035602083101561282e575f19602084900360031b1b1692915050565b5f8261594957634e487b7160e01b5f52601260045260245ffd5b500690565b6001815b60018411156159895780850481111561596d5761596d61589a565b600184161561597b57908102905b60019390931c928002615952565b935093915050565b5f8261599f5750600161282e565b816159ab57505f61282e565b81600181146159c157600281146159cb576159e7565b600191505061282e565b60ff8411156159dc576159dc61589a565b50506001821b61282e565b5060208310610133831016604e8410600b8410161715615a0a575081810a61282e565b615a165f19848461594e565b805f1904821115615a2957615a2961589a565b029392505050565b5f61033260ff841683615991565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615a7857615a7861589a565b5060010190565b5f8183825b6005811015615aa3578151835260209283019290910190600101615a84565b50505060a08201905092915050565b5f8183825b6009811015615ad6578151835260209283019290910190600101615ab7565b5050506101208201905092915050565b5f8183825b602a811015615b0a578151835260209283019290910190600101615aeb565b5050506105408201905092915050565b81515f90829060208501835b82811015615b44578151845260209384019390910190600101615b26565b509195945050505050565b5f8183825b6003811015615b73578151835260209283019290910190600101615b54565b50505060608201905092915050565b5f81615b9057615b9061589a565b505f190190565b5f8183825b6008811015615bbb578151835260209283019290910190600101615b9c565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615bf1575f5ffd5b81518015158114610332575f5ffd5b5f8183825b6007811015615c24578151835260209283019290910190600101615c05565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a264697066735822122005105700324da32a75d26dca237d3dde19d6bd1edb772d4b1590c6a5cedcabdb64736f6c634300081e0033";
|
|
5
5
|
/**
|
|
6
6
|
* HonkVerifier link references.
|
|
7
7
|
*/
|
|
8
8
|
export declare const HonkVerifierLinkReferences: {};
|
|
9
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
9
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiSG9ua1ZlcmlmaWVyQnl0ZWNvZGUuZC50cyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9Ib25rVmVyaWZpZXJCeXRlY29kZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUNILGVBQU8sTUFBTSxvQkFBb0IsNno5Q0FBNno5QyxDQUFDO0FBQy8xOUM7O0dBRUc7QUFDSCxlQUFPLE1BQU0sMEJBQTBCLElBQWMsQ0FBQyJ9
|
|
@@ -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,6z9CAA6z9C,CAAC;AAC/19C;;GAEG;AACH,eAAO,MAAM,0BAA0B,IAAc,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* HonkVerifier bytecode.
|
|
3
|
-
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f080ab1a3da0f42c28f61e3eb8b11f16052472991d5d02a80b14155fa84a8d70d60c052607760e05260805160a05160c05160e051615cc16100de5f395f8181610180015261081101525f61015f01525f8181605b01528181609401528181610100015281816101a10152818161092a01528181610a3701528181610a6301528181610add0152818161131e015281816113be015281816115fb0152818161164701528181611695015281816116ec0152612e1301525f5050615cc15ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046157da565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028b565b905061008c8160206158b2565b85146100ed577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206158b2565b6040516359895a5360e01b815260048101939093526024830191909152604482015260640160405180910390fd5b5f6100f6610339565b90505f61012488887f000000000000000000000000000000000000000000000000000000000000000061034e565b90506008826040015161013791906158c9565b85146101565760405163fa06659360e01b815260040160405180910390fd5b5f6101c58288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610709565b90506102158787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516020810151604090910151919350915060016107bb565b8151606001525f6102268383610922565b905080610246576040516313f8744360e31b815260040160405180910390fd5b5f610252848685610a23565b905080610272576040516352ec174560e11b815260040160405180910390fd5b81801561027c5750805b9b9a5050505050505050505050565b5f80610299600260086158b2565b905060016102a86008856158b2565b6102b291906158b2565b6102bc90826158dc565b90506102ca600160296158b2565b6102d490826158dc565b905060026102e36001856158c9565b6102ed91906158b2565b6102f790826158dc565b90506103046001846158b2565b61030e90826158dc565b905061031b6002806158b2565b61032590826158dc565b90506103326008826158dc565b9392505050565b6103416152f3565b6103496117cf565b905090565b61035661547d565b5f805b600881101561040a575f8683876103716020836158dc565b9261037e939291906158ef565b61038791615916565b9050610394600283615933565b156103a05760786103a3565b60885b6103ae906002615a35565b81106103cd5760405163eb73e0bd60e01b815260040160405180910390fd5b6103d68161210b565b845183600881106103e9576103e9615a43565b6020020181815250506020836103ff91906158dc565b925050600101610359565b5061042e85828661041c6040836158dc565b92610429939291906158ef565b61213d565b602083015261043e6040826158dc565b905061045185828661041c6040836158dc565b60408084019190915261046490826158dc565b905061047785828661041c6040836158dc565b60608301526104876040826158dc565b905061049a85828661041c6040836158dc565b60c08301526104aa6040826158dc565b90506104bd85828661041c6040836158dc565b60e08301526104cd6040826158dc565b90506104e085828661041c6040836158dc565b60808301526104f06040826158dc565b905061050385828661041c6040836158dc565b6101008301526105146040826158dc565b905061052785828661041c6040836158dc565b60a08301526105376040826158dc565b90505f5b838110156105c7575f5b60088110156105be5761057187848861055f6020836158dc565b9261056c939291906158ef565b6121f8565b846101200151836019811061058857610588615a43565b6020020151826008811061059e5761059e615a43565b6020020181815250506020836105b491906158dc565b9250600101610545565b5060010161053b565b505f5b602981101561061b576105e486838761055f6020836158dc565b83610140015182602981106105fb576105fb615a43565b60200201818152505060208261061191906158dc565b91506001016105ca565b505f5b6106296001856158c9565b8110156106725761064186838761041c6040836158dc565b836101600151826018811061065857610658615a43565b60200201526106686040836158dc565b915060010161061e565b505f5b838110156106c55761068e86838761055f6020836158dc565b83610180015182601981106106a5576106a5615a43565b6020020181815250506020826106bb91906158dc565b9150600101610675565b506106d785828661041c6040836158dc565b6101a08301526106e86040826158dc565b90506106fb85828661041c6040836158dc565b6101c0830152509392505050565b61071161552d565b5f61072088888888888661220b565b908352905061072f818961226e565b602084019190915290506107438184612373565b60408401919091529050610758888285612410565b6060840191909152905061076c88826124f2565b6080840191909152905061078188828561258b565b60a0840191909152905061079688828561270d565b60c084019190915290506107aa88826127d1565b5060e0830152509695505050505050565b5f600180826107e8866107e3896107de6107d98a63100000006158dc565b61210b565b61281d565b612838565b90505f610806876108018a6107de6107d98b60016158dc565b612851565b90505f5b61083560087f00000000000000000000000000000000000000000000000000000000000000006158c9565b8110156108a2575f61085f8c838151811061085257610852615a43565b6020026020010151612879565b905061086f866107de8684612838565b955061087f856107de8584612838565b945061088b848b612838565b9350610897838b612851565b92505060010161080a565b505f5b6008811015610909575f8a82600881106108c1576108c1615a43565b602002015190506108d6866107de8684612838565b95506108e6856107de8584612838565b94506108f2848b612838565b93506108fe838b612851565b9250506001016108a5565b5061091484846128a8565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109f9575f866101200151826019811061096857610968615a43565b602002015190505f61097a82866128b6565b90508061099a576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601981106109b1576109b1615a43565b602002015190506109c283826128d6565b95506109e9886040015185601981106109dd576109dd615a43565b60200201518683612a85565b9450505050806001019050610928565b505f610a13866101400151865f0151876020015185612ab0565b90508281145b9695505050505050565b5f610a2c6155a5565b5f610a5b8460a001517f0000000000000000000000000000000000000000000000000000000000000000612b29565b90505f610a897f000000000000000000000000000000000000000000000000000000000000000060246158dc565b610a949060026158dc565b6001600160401b03811115610aab57610aab615a57565b604051908082528060200260200182016040528015610ad4578160200160208202803683370190505b5090505f610b037f000000000000000000000000000000000000000000000000000000000000000060246158dc565b610b0e9060026158dc565b6001600160401b03811115610b2557610b25615a57565b604051908082528060200260200182016040528015610b5e57816020015b610b4b615615565b815260200190600190039081610b435790505b509050610b90610b8b8760e00151855f81518110610b7e57610b7e615a43565b6020026020010151612851565b612bf2565b84610120018181525050610bc4610b8b8760e00151855f81518110610bb757610bb7615a43565b6020026020010151612838565b610140850181905261012085015160c0880151610be5926107e3919061281d565b845260a0860151610c1590610bf990612bf2565b6107de8661012001516108018a60c0015189610140015161281d565b6020850152815160019083905f90610c2f57610c2f615a43565b602002602001018181525050876101a00151815f81518110610c5357610c53615a43565b6020908102919091010152600160a08501525f60c08501528351610c7690612c8a565b60408501526020840151610c8990612c8a565b606085015260015b60248111610d3457610cab85604001518660a0015161281d565b838281518110610cbd57610cbd615a43565b602002602001018181525050610d068560c001516107e38b6101400151600185610ce791906158c9565b60298110610cf757610cf7615a43565b60200201518860a0015161281d565b60c086015260a08501516080880151610d1f919061281d565b60a0860152610d2d81615a6b565b9050610c91565b505f5b6005811015610e02575f610d4c601d836158dc565b90505f610d5a6024846158dc565b9050610d8b858381518110610d7157610d71615a43565b60200260200101516107e389606001518a60a0015161281d565b858381518110610d9d57610d9d615a43565b602002602001018181525050610dda8760c001516107e38d61014001518460298110610dcb57610dcb615a43565b60200201518a60a0015161281d565b60c088015260a087015160808a0151610df3919061281d565b60a08801525050600101610d37565b50866060015181600181518110610e1b57610e1b615a43565b6020026020010181905250866080015181600281518110610e3e57610e3e615a43565b60200260200101819052508660a0015181600381518110610e6157610e61615a43565b60200260200101819052508660c0015181600481518110610e8457610e84615a43565b60200260200101819052508660e0015181600581518110610ea757610ea7615a43565b602002602001018190525086610100015181600681518110610ecb57610ecb615a43565b602002602001018190525086610120015181600781518110610eef57610eef615a43565b602002602001018190525086610140015181600881518110610f1357610f13615a43565b602002602001018190525086610160015181600981518110610f3757610f37615a43565b6020026020010181905250866101c0015181600a81518110610f5b57610f5b615a43565b602002602001018190525086610180015181600b81518110610f7f57610f7f615a43565b6020026020010181905250866101a0015181600c81518110610fa357610fa3615a43565b6020026020010181905250866101e0015181600d81518110610fc757610fc7615a43565b602002602001018190525086610200015181600e81518110610feb57610feb615a43565b602002602001018190525086610220015181600f8151811061100f5761100f615a43565b60200260200101819052508661024001518160108151811061103357611033615a43565b60200260200101819052508661026001518160118151811061105757611057615a43565b60200260200101819052508661028001518160128151811061107b5761107b615a43565b6020026020010181905250866102a001518160138151811061109f5761109f615a43565b6020026020010181905250866102c00151816014815181106110c3576110c3615a43565b6020026020010181905250866102e00151816015815181106110e7576110e7615a43565b60200260200101819052508661030001518160168151811061110b5761110b615a43565b60200260200101819052508661032001518160178151811061112f5761112f615a43565b60200260200101819052508661034001518160188151811061115357611153615a43565b60200260200101819052508661036001518160198151811061117757611177615a43565b602002602001018190525086610380015181601a8151811061119b5761119b615a43565b6020026020010181905250866103a0015181601b815181106111bf576111bf615a43565b6020026020010181905250866103c0015181601c815181106111e3576111e3615a43565b6020026020010181905250876020015181601d8151811061120657611206615a43565b6020026020010181905250876040015181601e8151811061122957611229615a43565b6020026020010181905250876060015181601f8151811061124c5761124c615a43565b602002602001018190525087608001518160208151811061126f5761126f615a43565b60200260200101819052508760a001518160218151811061129257611292615a43565b6020026020010181905250876101000151816022815181106112b6576112b6615a43565b60200260200101819052508760c00151816023815181106112d9576112d9615a43565b60200260200101819052508760e00151816024815181106112fc576112fc615a43565b60200260200101819052505f61134287606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c9c565b905061136c815f8151811061135957611359615a43565b602002602001015186610120015161281d565b608086018190526101808a01515160c089015161139d92916107e391611392919061281d565b88610140015161281d565b608086015260c08701516113b090612dfa565b60a08601525f5b6113e260017f00000000000000000000000000000000000000000000000000000000000000006158c9565b8110156115df57611412610b8b8960e001518784600161140291906158dc565b81518110610b7e57610b7e615a43565b61012087015260e088015161144190610b8b90876114318560016158dc565b81518110610bb757610bb7615a43565b61014087015260a086015161012087015161145c919061281d565b61016087015260a086015160c0890151611484916114799161281d565b87610140015161281d565b61018087018190526114a79061149990612c8a565b6107e3886101600151612c8a565b84826114b5602460016158dc565b6114bf91906158dc565b815181106114cf576114cf615a43565b6020026020010181815250505f6115128761018001518c61018001518460016114f891906158dc565b6019811061150857611508615a43565b602002015161281d565b905061154c816107e38961016001518686600161152f91906158dc565b8151811061153f5761153f615a43565b602002602001015161281d565b905061155c876080015182612838565b608088015260a087015160c08a0151611582916115789161281d565b8a60c0015161281d565b60a08801526101608b0151826018811061159e5761159e615a43565b602002015184836115b1602460016158dc565b6115bb91906158dc565b815181106115cb576115cb615a43565b6020908102919091010152506001016113b7565b50604080518082019091526001815260026020820152826116217f000000000000000000000000000000000000000000000000000000000000000060246158dc565b8151811061163157611631615a43565b602090810291909101015260808501518361166d7f000000000000000000000000000000000000000000000000000000000000000060246158dc565b8151811061167d5761167d615a43565b60209081029190910101526101c089015180836116bb7f000000000000000000000000000000000000000000000000000000000000000060246158dc565b6116c69060016158dc565b815181106116d6576116d6615a43565b602090810291909101015260e0880151846117127f000000000000000000000000000000000000000000000000000000000000000060246158dc565b61171d9060016158dc565b8151811061172d5761172d615a43565b6020026020010181815250505f6117448486612e05565b90505f61175083612f15565b905061175e8c5f0151612f4c565b6117b5575f6117718d5f01518484612f85565b90505f5f6117818f5f015161300a565b9150915061178e826130e7565b611797816130e7565b6117a2858385613111565b94506117af848285613111565b93505050505b6117bf8282613137565b9c9b505050505050505050505050565b6117d76152f3565b50604080516103e081018252630100000081526018602080830191909152607782840152825180840184527f010b151d671e087befc664cda7833f4c88d5af63dc93c6403ee6c09293e0e77781527f11d9a86e668e90bf5c42901dfbfe672bb680dc15605234595c2375da8f1ca037818301526060830152825180840184527f196e39aef110c0cf0e876f0867553746b8586b9fa38d1706a06cc2cab4adcf5681527f0b0afa97d90e3a67f33e54f0edd5d399c8acf733fd8d2e60f3b3222c31460789818301526080830152825180840184527f26d11c8e37e42603d3fa766f1a46df0942575cb0b21b94fe9292381dca14c02d81527f06b03d544b2262ec098476be314278fe9e873b570e434c5bcc010568279d743b8183015260a0830152825180840184527f20e67c352eaa9f893462855705808f83cf1b13a8c3ba89ffcc347eae2460015681527f0b34f89f9d3f800df4121e1d95978643407ef268134532f3b82641b1784ab7038183015260c0830152825180840184527f17ee5cbb43e5e5e8ce3cff32b4167168778541c8cce61f3d05058cc669547fe381527f11bc7e7992ec83c45ac2ffaf6acdd1a3fd06fcf6d4de1e85d139f53e7a715f828183015260e0830152825180840184527f210ccf6b2590e731703e4e10543d26be640b4482ac218d0dd7c95877149cfe8481527f0202bbc7f2ee7f4b83a651a6ce2d664541081c9eb5633234341efdb1e5b6c85a81830152610100830152825180840184527f2cb419ef3eccb0db6e471fd8fda94ff432adc91fa3d7b996e2620738b68f36b781527f02a10bfbecf3601c6c06b65fe96abc9fb42f812f9794cbded65e33942a411fef81830152610120830152825180840184527f1d53c7b3cf3f0a708d91a78bd70e55e12968067a7aadaf57573e4aefd2cb957481527f278476b377ca161acf02afffbcaa96f3e7a9236d7d87c053c9b8c847bf2b39dc81830152610140830152825180840184527f1932622600e499d55b6ae590ce7ff6e68345b5b4843380100d4fdafc39f598f181527f2de21033c5ad6db33d3c5b7d6ee1fc519991730768fe753b9da3d3c9ab1a067181830152610160830152825180840184527f2a6b2eff059a66117d69316e02c050f8ea9f9aee11212d90e4b66a8441af8eb081527f16427ded605b3f317802986716c1fe66d2a5be780a97b9b31a8c5d03d170a1ca81830152610180830152825180840184527f1d8443ceb3d0fad7c9119079cf4846316b661cfe7146ed9635774c9b160e1a0d81527f0802518c55c9ab712f8817c3c5463d9aedf85ac839db0826d4db035375b52711818301526101a0830152825180840184527f1c926714c2a67b5a65b63de67d659ca7f7053cacf4d7afe35371ddc981add5fc81527f15c417db7eb71382300fbeb1b3f48b7a6f68dce58ca2f3c6fe8f227c702eca30818301526101c0830152825180840184527f23b7572f1c60cc973f44c33dae3e23cfb5f1f9167093c08a6e75ab35ccd093ac81527f250a8ffbe18e2fd610cb2e8a821b12d54b6cf87ff4378ef5ac06a73243d81230818301526101e0830152825180840184527f2cc2bad03f57d5bca3ae1e67ae9f5ee394a0cef35375c500b5863d1aec61ae1681527f2ca2f2ae1a85f2cfea2056ac95febc64b427e665a15873e727481f7d061e8c0281830152610200830152825180840184527f04f18308c3dbc2f2d993364029f778b87ad25d72c9bf064764b54be2dc7e3c0d81527f0e8cfc50514f3cbe9985b18a63cb2e76d46e4debb2f5ee44ad38ba4cbf00d85c81830152610220830152825180840184527f2155a272fbd2a7a31067033a705491d20aee7091b70ef2d202667c0ca1a13d3d81527f29d5f102987d665528143662dfae667b663e7d6edb178b69bc3b685a7aad35a581830152610240830152825180840184527f17130b99f99321e6e0854a6947f32abfa0dd3eb098600f3572372960671d0c2181527f278e10d93b2aeeea6acaabc9c41c2fc68c17d9ee532b5d62c193ce3ef0e9592481830152610260830152825180840184527f10356d4877b1b4ae619f35293364e91efa42cbd078a9368ceee43732fe5deebe81527f2df1d67e86ff777b4d722ca5f76bf9587c54fcf490505d78cec2290dc1d8e48381830152610280830152825180840184527f1cd86d4c15b07f0e5a45d4d738ccc30ee17676ddfbd1483b3ad09b43a26ad53481527f2c2fe06ae0f56456b17dae1f00557935545f2470340862cff036f978be2abbe2818301526102a0830152825180840184527f1faa902eb386ffef4af2ae3afc3bf8e5b02db433e323d17ac706a5c3e50141d681527f25abb192214de288f174b45472bddc3a65613a5498bd87a1f3587a084aa933b2818301526102c0830152825180840184527f2305ccd471212bec38d523548107b87965962ff181a6f19160a6475c38b4678081527f1cde72edc1d6e5f35be7b4113823011167ad8f49afec8bd6965e4a20903a1ac5818301526102e0830152825180840184527f209ef1cbbc45a0759b939a72ea567ab797256093b123f8fadd2cb537ea580ce881527f0e30cb1cd8e24826c0e2648751a00713c32c96fdd8f5f45d07172fa8edc3cd6b81830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f20b8784b739f9968d269d3db4e7e7e7e666acd5804af5ff4a54f8dfbea8d257281527f21ad5edf078583d5e29052c50b4e8d46067ddaae2aa2345c15a755074d932f9581830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f28dae3298bc375a0efcc549d01a49dc0e7efe6fc6a99e88c2d5e40c73c83cda083527f175d312e0938aafcee94f186327d2fa408236df628baef768c6ed21601f0d662908301526103c081019190915290565b5f5f516020615c6c5f395f51905f528210612139576040516320a3358960e01b815260040160405180910390fd5b5090565b612145615615565b5f61215360208285876158ef565b61215c91615916565b90505f61216d6040602086886158ef565b61217691615916565b90505f516020615c4c5f395f51905f52821080156121a057505f516020615c4c5f395f51905f5281105b6121bd5760405163303df09f60e11b815260040160405180910390fd5b8082175f036121df57604051634ddaa5e560e01b815260040160405180910390fd5b6040805180820190915291825260208201529392505050565b5f6103326122068385615916565b612879565b61223260405180608001604052805f81526020015f81526020015f81526020015f81525090565b5f612240888888888861332b565b908352925061224f838961364e565b6040850191909152602084019190915291989197509095505050505050565b61227661562d565b5f61227f61564c565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122f8915f516020615c6c5f395f51905f52916122d691859101615a83565b604051602081830303815290604052805190602001205f1c6107d99190615933565b91505f612304836136e4565b50808552905060015b6123196001601c6158c9565b8110156123695761234a8561232f6001846158c9565b601b811061233f5761233f615a43565b60200201518361281d565b8582601b811061235c5761235c615a43565b602002015260010161230d565b5050509250929050565b61237b61566a565b5f6123a05f516020615c6c5f395f51905f52856040516020016122d691815260200190565b93506123ab846136e4565b50825260015b83811015612408576123e9836123c86001846158c9565b601981106123d8576123d8615a43565b6020020151846114f86001856158c9565b8382601981106123fb576123fb615a43565b60200201526001016123b1565b509093915050565b61241861566a565b5f805b838110156124e85761242b615689565b8581525f5b600881101561249457876101200151836019811061245057612450615a43565b6020020151816008811061246657612466615a43565b6020020151826124778360016158dc565b6009811061248757612487615a43565b6020020152600101612430565b506124b75f516020615c6c5f395f51905f52826040516020016122d69190615ab6565b95505f6124c3876136e4565b8685601981106124d5576124d5615a43565b602002019190915250505060010161241b565b5090949293505050565b5f5f6124fc6156a8565b8381525f5b602981101561254f57856101400151816029811061252157612521615a43565b6020020151826125328360016158dc565b602a811061254257612542615a43565b6020020152600101612501565b506125725f516020615c6c5f395f51905f52826040516020016122d69190615aea565b91505f61257e836136e4565b5096929550919350505050565b5f80806125996001856158c9565b6125a49060026158b2565b6125af9060016158dc565b6001600160401b038111156125c6576125c6615a57565b6040519080825280602002602001820160405280156125ef578160200160208202803683370190505b50905084815f8151811061260557612605615a43565b60209081029190910101525f5b61261d6001866158c9565b8110156126d057866101600151816018811061263b5761263b615a43565b6020020151518261264d8360026158b2565b6126589060016158dc565b8151811061266857612668615a43565b602002602001018181525050866101600151816018811061268b5761268b615a43565b602002015160200151828260026126a291906158b2565b6126ad9060026158dc565b815181106126bd576126bd615a43565b6020908102919091010152600101612612565b506126f35f516020615c6c5f395f51905f52826040516020016122d69190615b1e565b91505f6126ff836136e4565b509792965091945050505050565b5f808061271b8460016158dc565b6001600160401b0381111561273257612732615a57565b60405190808252806020026020018201604052801561275b578160200160208202803683370190505b50905084815f8151811061277157612771615a43565b60209081029190910101525f5b848110156126d057866101800151816019811061279d5761279d615a43565b6020020151826127ae8360016158dc565b815181106127be576127be615a43565b602090810291909101015260010161277e565b5f5f6127db6156c7565b8381526101a08501805151602080840191909152905181015160408084019190915251612572915f516020615c6c5f395f51905f52916122d691859101615b53565b5f5f516020615c6c5f395f51905f5282840990505b92915050565b5f5f516020615c6c5f395f51905f528284089392505050565b5f5f516020615c6c5f395f51905f52825f516020615c6c5f395f51905f520384089392505050565b5f815f516020615c6c5f395f51905f528110612832576040516320a3358960e01b815260040160405180910390fd5b5f610332836107de84612bf2565b815160208301515f9182916128cb9190612838565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156129bd576129b3826107de8784612851565b915060010161299c565b506129c66156e5565b5f5b6008811015612a27575f8482600881106129e4576129e4615a43565b602002015190506129f9816107de8985612851565b9050612a0481612bf2565b905080838360088110612a1957612a19615a43565b6020020152506001016129c8565b505f5b6008811015612a7a575f878260088110612a4657612a46615a43565b60200201519050612a638184846008811061150857611508615a43565b9050612a6f8682612838565b955050600101612a2a565b50610a19848361281d565b5f5f612a9b60016107e3856107de896001612851565b9050612aa7848261281d565b95945050505050565b5f612ab9615704565b612ac4868285613714565b612ad0868683866138c0565b612adc86868386613aa8565b612ae7868285613cf7565b612af2868285613eeb565b612afe8686838661422e565b612b098682856146e0565b612b14868285614af2565b612b1f868285614eb3565b610a1981856151b3565b60605f826001600160401b03811115612b4457612b44615a57565b604051908082528060200260200182016040528015612b6d578160200160208202803683370190505b50905083815f81518110612b8357612b83615a43565b602090810291909101015260015b83811015612bea57612bc582612ba86001846158c9565b81518110612bb857612bb8615a43565b6020026020010151612dfa565b828281518110612bd757612bd7615a43565b6020908102919091010152600101612b91565b509392505050565b5f81808203612c1457604051635964a97160e11b815260040160405180910390fd5b5f604051602081526020808201526020604082015282606082015260025f516020615c6c5f395f51905f520360808201525f516020615c6c5f395f51905f5260a082015260205f60c08360055afa80612c765763f8d6170960e01b5f5260045ffd5b505f5160c091909101604052949350505050565b5f516020615c6c5f395f51905f520390565b60605f826001600160401b03811115612cb757612cb7615a57565b604051908082528060200260200182016040528015612ce0578160200160208202803683370190505b509050825b8015612def575f85612cf86001846158c9565b81518110612d0857612d08615a43565b602002602001015190505f89600184612d2191906158c9565b60198110612d3157612d31615a43565b602002015190505f612d8c612d50612d49858d61281d565b600261281d565b6108018b612d5f6001896158c9565b60198110612d6f57612d6f615a43565b60200201516107de612d86886107de60018a612851565b87612851565b9050612dad816107de610b8b612da7876107de600189612851565b86612838565b99508990508085612dbf6001876158c9565b81518110612dcf57612dcf615a43565b60200260200101818152505050505080612de890615b86565b9050612ce5565b509695505050505050565b5f612832828361281d565b612e0d615615565b5f612e397f000000000000000000000000000000000000000000000000000000000000000060246158dc565b612e449060026158dc565b90505f5b81811015612e7a57612e72858281518110612e6557612e65615a43565b60200260200101516130e7565b600101612e48565b50604051600190815b60018401811015612edf5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612e83565b5080518452602081015160208501525080612f0d576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612f1d615615565b602082015115612139576020820151612f43905f516020615c4c5f395f51905f526158c9565b60208301525090565b5f80805b6008811015612f7d57838160088110612f6b57612f6b615a43565b60200201519190911790600101612f50565b501592915050565b5f5f5f612f918661300a565b91509150612f9d6156e5565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612fff915f516020615c6c5f395f51905f52916122d691859101615b9b565b979650505050505050565b613012615615565b61301a615615565b8251602084015160408501516060860151608087015160a088015160c089015160e08a0151608896871b9097179693861b9094179490811b9091179291901b175f516020615c4c5f395f51905f528410801561308257505f516020615c4c5f395f51905f5283105b801561309a57505f516020615c4c5f395f51905f5282105b80156130b257505f516020615c4c5f395f51905f5281105b6130cf5760405163303df09f60e11b815260040160405180910390fd5b92855260208086019290925283528201529092909150565b60208101518151175f0361310e57604051634ddaa5e560e01b815260040160405180910390fd5b50565b613119615615565b613121615615565b61312b838661520c565b9050612aa78185615262565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132cd9190615bcf565b5f60405180830381855afa9150503d805f8114613305576040519150601f19603f3d011682016040523d82523d5f602084013e61330a565b606091505b5091509150818015610a19575080806020019051810190610a199190615be5565b5f80806133398460016158dc565b6133449060066158dc565b6001600160401b0381111561335b5761335b615a57565b604051908082528060200260200182016040528015613384578160200160208202803683370190505b509050845f1b815f8151811061339c5761339c615a43565b60209081029190910101525f5b6133b46008866158c9565b81101561344c575f516020615c6c5f395f51905f528888838181106133db576133db615a43565b905060200201355f1c10613402576040516320a3358960e01b815260040160405180910390fd5b87878281811061341457613414615a43565b905060200201358282600161342991906158dc565b8151811061343957613439615a43565b60209081029190910101526001016133a9565b505f5b60088110156134bd57885161347790826008811061346f5761346f615a43565b602002015190565b828260086134868960016158dc565b61349091906158c9565b61349a91906158dc565b815181106134aa576134aa615a43565b602090810291909101015260010161344f565b50602088015151816134d08660016158dc565b815181106134e0576134e0615a43565b602090810291909101810191909152888101510151816135018660016158dc565b61350c9060016158dc565b8151811061351c5761351c615a43565b6020908102919091010152604088015151816135398660016158dc565b6135449060026158dc565b8151811061355457613554615a43565b60209081029190910181019190915260408901510151816135768660016158dc565b6135819060036158dc565b8151811061359157613591615a43565b6020908102919091010152606088015151816135ae8660016158dc565b6135b99060046158dc565b815181106135c9576135c9615a43565b60209081029190910181019190915260608901510151816135eb8660016158dc565b6135f69060056158dc565b8151811061360657613606615a43565b6020026020010181815250506136345f516020615c6c5f395f51905f52826040516020016122d69190615b1e565b915061363f826136e4565b50989197509095505050505050565b5f5f5f613659615723565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136ca915f516020615c6c5f395f51905f52916122d691859101615c04565b91506136d5826136e4565b90979096509194509092505050565b5f808260016001607f1b038116607f82901c6136ff8261210b565b945061370a8161210b565b9350505050915091565b5f6137208460076152c3565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61378161377b613755856003612851565b6107de6137706137658b5f6152c3565b6107de8c601d6152c3565b6107de8b601c6152c3565b8361281d565b90506138026137f76137de6137c56137ac856107e36137a18d60026152c3565b6107de8e601c6152c3565b6107e36137ba8c60036152c3565b6107de8d601d6152c3565b6107e36137d38b60046152c3565b6107de8c601e6152c3565b6107e36137ec8a60056152c3565b6107de8b601f6152c3565b6107e38860016152c3565b9050613821816107e3613816866001612851565b6107de8a60276152c3565b905061382d818461281d565b9050613839818561281d565b8552505f905061387361386961385e61385388601c6152c3565b6107e389601f6152c3565b6108018860246152c3565b6107e3875f6152c3565b9050613884816107de846002612851565b9050613895816107de846001612851565b90506138a1818361281d565b90506138ad818461281d565b9050808460015b60200201525050505050565b5f5f5f6138f66138ec6138d489601c6152c3565b6107e36138e28b60126152c3565b8a6020015161281d565b8760400151612838565b905061392f816107de61392561390d8b601d6152c3565b6107e361391b8d60136152c3565b8c6020015161281d565b8960400151612838565b9050613954816107de6139256139468b601e6152c3565b6107e361391b8d60146152c3565b9050613979816107de61392561396b8b601f6152c3565b6107e361391b8d60156152c3565b92505f905061399d6138ec61398f89601c6152c3565b6107e36138e28b600e6152c3565b90506139c2816107de6139256139b48b601d6152c3565b6107e361391b8d600f6152c3565b90506139e7816107de6139256139d98b601e6152c3565b6107e361391b8d60106152c3565b9050613a0c816107de6139256139fe8b601f6152c3565b6107e361391b8d60116152c3565b91505f9050613a33613a2d613a228960206152c3565b6107e38a601a6152c3565b8461281d565b9050613a6881610801613a62613a4a8b60286152c3565b6107e3613a588d601b6152c3565b8c6060015161281d565b8561281d565b9050613a74818561281d565b6040860152505f613a97613a62613a8c89601b6152c3565b6107de8a60286152c3565b606090950194909452505050505050565b5f5f5f613abd8660200151876020015161281d565b9050613b21613b06613af8613ae0613ad68b60166152c3565b8a60400151612838565b6107e3613aee8c60176152c3565b8b6020015161281d565b6107e3613a628b60186152c3565b6107e3613b17613a628b60196152c3565b896020015161281d565b9250505f613b378660200151876020015161281d565b90505f613b64613b4b6139258a601c6152c3565b6107e3613b598b60036152c3565b6107de8c60246152c3565b90505f613b8d613b758a601d6152c3565b6107e3613b828c5f6152c3565b6107de8d60256152c3565b90505f613bb7613b9e8b601e6152c3565b6107e3613bac8d60016152c3565b6107de8e60266152c3565b9050613bf2613bdb613bd1856107e3868e6020015161281d565b6107e3848861281d565b6107e361391b613bec8e60046152c3565b8861281d565b9450505050505f613c07613a2d8860216152c3565b90505f613c18613a2d8960216152c3565b90505f613c50613c37613c2c8b60236152c3565b6107e38c60066152c3565b610801613c458c60236152c3565b6107de8d60066152c3565b90505f613c74613c6e613c63878961281d565b6107de8d60216152c3565b83612851565b9050613c80818861281d565b90505f613ca8613c9a613c948d60066152c3565b8761281d565b610801613c948e60226152c3565b90505f613cb68c60236152c3565b90505f613cc6613c6e838461281d565b60808c0185905260a08c018490529050613ce0818b61281d565b8b6006602002015250505050505050505050505050565b5f613d035f6001612851565b90505f613d115f6002612851565b90505f613d1f5f6003612851565b90505f613d3b613d3088601d6152c3565b61080189601c6152c3565b90505f613d57613d4c89601e6152c3565b6108018a601d6152c3565b90505f613d73613d688a601f6152c3565b6108018b601e6152c3565b90505f613d8f613d848b60246152c3565b6108018c601f6152c3565b905083613da0816107de818b612838565b9050613db0816107de878a612838565b9050613dc0816107de8789612838565b9050613dd1816107de8d60086152c3565b9050613ddd818a61281d565b60e08b01525082613df2816107de818b612838565b9050613e02816107de868a612838565b9050613e12816107de8689612838565b9050613e23816107de8d60086152c3565b9050613e2f818a61281d565b6101008b01525081613e45816107de818b612838565b9050613e55816107de858a612838565b9050613e65816107de8589612838565b9050613e76816107de8d60086152c3565b9050613e82818a61281d565b6101208b01525080613e98816107de818b612838565b9050613ea8816107de848a612838565b9050613eb8816107de8489612838565b9050613ec9816107de8d60086152c3565b9050613ed5818a61281d565b610140909a019990995250505050505050505050565b613f246040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f2f84601d6152c3565b8152613f3c84601e6152c3565b6020820152613f4c8460246152c3565b6040820152613f5c8460276152c3565b6060820152613f6c8460266152c3565b6080820152613f7c8460256152c3565b60a08201525f613f8d8560026152c3565b90505f613f9a865f6152c3565b90505f613fae8460400151855f0151612851565b90505f613fc38560200151866020015161281d565b606086015190915086905f90613fd9908061281d565b90505f613ff1613bec89602001518a6060015161281d565b90505f6140106140098a60a001518b60400151612838565b8a51612838565b905061401f613c94828861281d565b905061404661404061403a6140348487612851565b88612851565b84612838565b83612838565b905061406e614063614058838761281d565b6107de8f60096152c3565b6107de60018a612851565b6101608c015250505050602085015160808601515f9161408d91612838565b90505f6140ab6140a188606001518861281d565b8860200151612851565b90505f6140cf6140bb848761281d565b6107e3613a628b60a001518c5f0151612851565b90506140f76140ec6140e1838c61281d565b6107de8e60096152c3565b6107de600189612851565b6101808b0152505f91506141189050614111836011612838565b875161281d565b90505f6141258384612838565b90506141318182612838565b90505f61413f83600961281d565b9050614168614162613a2d61415b8b60a001518c5f0151612838565b8b51612838565b82612851565b60c089018190525f9061418390613bec90614058908d61281d565b90506141968b600b602002015182612838565b6101608c0152505086515f92506141bd9150614111906141b69080612838565b8851612838565b90505f6141fd6141d8836107de8a5f01518b60a00151612851565b6020890151610801906141eb9080612838565b6107de8b602001518c60800151612838565b905061421a89600c60200201516107e3613bec614058858d61281d565b89600c602002015250505050505050505050565b614298604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b83515f906142a6908061281d565b90505f6142b682875f015161281d565b90506142cc6142c688601e6152c3565b8261281d565b8084526142e1906107e3613a628a601d6152c3565b8084526142fd906107e36142f68a601c6152c3565b895161281d565b80845261430f906107e38960016152c3565b808452602084018190526143289061080189601f6152c3565b8352614338613d308860246152c3565b608084015261435661434b8860276152c3565b61080189601f6152c3565b6060840152608083015161436f906107de816001612851565b6101c084015260808301516143af906143a59061439e906107de60015f516020615c6c5f395f51905f526158c9565b6001612838565b846060015161281d565b60a084018190526143e5906143d7906107de6143cc8b60026152c3565b6107de8c60036152c3565b6107de613c948a600a6152c3565b85600e60200201526101c0830151614409906143d7906107de6143cc8b60026152c3565b6101e0860152825161442e906107de6144238a60026152c3565b6107de8b60036152c3565b6101208401525f61444d61444389601f6152c3565b8560200151612851565b905061445e816107de836001612851565b60e085015261447161377b8960266152c3565b60408501819052614490906107e361448a8b60256152c3565b8661281d565b604085018190526144b0906107e36144a98b60246152c3565b8a5161281d565b60408501526144cd6144c38960276152c3565b8560400151612851565b60408501525f6144e1613d688a60266152c3565b905061453361450e61377b61439e886080015160015f516020615c6c5f395f51905f526107de91906158c9565b6107de61439e886040015160015f516020615c6c5f395f51905f526107de91906158c9565b60c086015260408501516145559061454b908061281d565b8660400151612851565b61010086015260c085015161458790614573906107de8c60046152c3565b6107de6145818c600a6152c3565b8961281d565b6102008801526101c08501516145a690614573906107de8c60046152c3565b6102208801526101008501516145c590614573906107de8c60046152c3565b61024088015260e08501516145df906107de8b60046152c3565b6101408601526145fe6145f38a60256152c3565b6108018b601d6152c3565b610160860152608085015161463c90613d68906146319061439e906107de60015f516020615c6c5f395f51905f526158c9565b87610160015161281d565b61018086018190526101208601516101a08701819052614673916107e3906107de6146688e60056152c3565b6107de8f60026152c3565b6101a08601819052855161469391906107e3906107de6146688e5f6152c3565b6101a086018190526101408601516146ab9190612838565b6101a086018190526146c5906107de6145818c600a6152c3565b6101a0860181905287600d6020020152505050505050505050565b6147196040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61474e61473561472a86601c6152c3565b6107de8760256152c3565b6107e36147438760246152c3565b6107de88601d6152c3565b815261479361478861476f61476487601c6152c3565b6107de88601f6152c3565b6107e361477d88601d6152c3565b6107de89601e6152c3565b6108018660266152c3565b604082018190526147a890600160441b61281d565b604082018190526147be906108018660276152c3565b6040820181905281516147d19190612838565b604082018190526147e7906107de8660056152c3565b604082015280516147fc90600160441b61281d565b80825261481c906107e36148118760246152c3565b6107de8860256152c3565b808252602082018190526148439061080161483887601e6152c3565b6107e388601f6152c3565b60208201819052614859906107de8660046152c3565b6020820152805160608201819052614876906107e386601f6152c3565b6060820181905261489a9061080161488f8760266152c3565b6107e38860276152c3565b606082018190526148af906107de865f6152c3565b8160600181815250505f6148d86148ce83602001518460400151612838565b8360600151612838565b90506148e9816107de8760036152c3565b90506149016148f98660256152c3565b61400061281d565b60808301819052614917906107e38760246152c3565b6080830181905261492a9061400061281d565b60808301819052614940906107e387601e6152c3565b608083018190526149539061400061281d565b60808301819052614969906107e387601d6152c3565b6080830181905261497c9061400061281d565b60808301819052614992906107e387601c6152c3565b608083018190526149a89061080187601f6152c3565b608083018190526149be906107de8760056152c3565b60808301526149d16148f98660266152c3565b60a083018190526149e7906107e38760256152c3565b60a083018190526149fa9061400061281d565b60a08301819052614a10906107e38760246152c3565b60a08301819052614a239061400061281d565b60a08301819052614a39906107e387601f6152c3565b60a08301819052614a4c9061400061281d565b60a08301819052614a62906107e387601e6152c3565b60a08301819052614a78906108018760276152c3565b60a08301819052614a8d906107de875f6152c3565b60a0830181905260808301515f91614aa59190612838565b9050614ab6816107de8860046152c3565b9050614ac28282612838565b60c08401819052614adb906107de613c9489600b6152c3565b60c084018190528560136020020152505050505050565b614b686040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614b81614b7685601c6152c3565b6107e38660026152c3565b8152614b9c614b9185601d6152c3565b6107e38660036152c3565b6020820152614bba614baf85601e6152c3565b6107e38660046152c3565b6040820152614bd8614bcd85601f6152c3565b6107e38660056152c3565b60608201528051614c0a90614c0390614bfc90614bf5908061281d565b845161281d565b835161281d565b825161281d565b60808201526020810151614c4890614c3e90614c3490614c2a908061281d565b846020015161281d565b836020015161281d565b826020015161281d565b60a08201526040810151614c8690614c7c90614c7290614c68908061281d565b846040015161281d565b836040015161281d565b826040015161281d565b60c08201526060810151614cba90614cb090614ca6906143a5908061281d565b836060015161281d565b826060015161281d565b60e0820152608081015160a0820151614cd39190612838565b61010082015260c081015160e0820151614ced9190612838565b61012082015260a0810151614d1190614d069080612838565b826101200151612838565b61014082015260e0810151614d3590614d2a9080612838565b826101000151612838565b610160820152610120810151614d4b9080612838565b6101e08201819052614d6c90614d619080612838565b826101600151612838565b6101e0820152610100810151614d829080612838565b6101a08201819052614da390614d989080612838565b826101400151612838565b6101a08201819052610160820151614dba91612838565b6101808201526101408101516101e0820151614dd69190612838565b6101c0820152614dea61377b85600c6152c3565b6102008201819052610280840151610180830151614e15926107e3916107de906108018a60246152c3565b8360146020020152614e4583601560200201516107e38361020001516107de856101a001516108018a60256152c3565b8360156020020152614e7583601660200201516107e38361020001516107de856101c001516108018a60266152c3565b8360166020020152614ea583601760200201516107e38361020001516107de856101e001516108018a60276152c3565b836017602002015250505050565b614f056040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614f3a7f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e761210b565b8152602001614f687f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b61210b565b8152602001614f957e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac1561210b565b8152602001614fc37f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b61210b565b90529050614fe0614fd586601c6152c3565b6107e38760026152c3565b610120830181905261501f906150149061500990614ffe908061281d565b85610120015161281d565b84610120015161281d565b83610120015161281d565b825261502c85601d6152c3565b602083015261503c85601e6152c3565b604083015261504c85601f6152c3565b606083015281516020830151615074916148ce9161506a9190612838565b8460400151612838565b6080830152615087613a2d86600d6152c3565b61014083015281516150a89061509e90835f611508565b8360800151612838565b60a08301526150d484601860200201516107e38461014001516107de8660a001516108018b60246152c3565b61030085015260208201516150ef9061509e90836001611508565b60c083015261511b84601960200201516107e38461014001516107de8660c001516108018b60256152c3565b61032085015260408201516151369061509e90836002611508565b60e083015261516284601a60200201516107e38461014001516107de8660e001516108018b60266152c3565b610340850152606082015161517d9061509e90836003611508565b6101008301526151ab84601b60200201516107e38461014001516107de8661010001516108018b60276152c3565b84601b6138b4565b815160015b601c811015615205576151fb826107e38684601c81106151da576151da615a43565b6020020151866151eb6001876158c9565b601b811061150857611508615a43565b91506001016151b8565b5092915050565b615214615615565b61521c615615565b604051835181526020840151602082015284604082015260408160608360075afa80615246575f5ffd5b5080518252602080820151908301526060016040529392505050565b61526a615615565b615272615615565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806152a7575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156152d7576152d7615c37565b602981106152e7576152e7615a43565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615319615615565b8152602001615326615615565b8152602001615333615615565b8152602001615340615615565b815260200161534d615615565b815260200161535a615615565b8152602001615367615615565b8152602001615374615615565b8152602001615381615615565b815260200161538e615615565b815260200161539b615615565b81526020016153a8615615565b81526020016153b5615615565b81526020016153c2615615565b81526020016153cf615615565b81526020016153dc615615565b81526020016153e9615615565b81526020016153f6615615565b8152602001615403615615565b8152602001615410615615565b815260200161541d615615565b815260200161542a615615565b8152602001615437615615565b8152602001615444615615565b8152602001615451615615565b815260200161545e615615565b815260200161546b615615565b8152602001615478615615565b905290565b604051806101e001604052806154916156e5565b815260200161549e615615565b81526020016154ab615615565b81526020016154b8615615565b81526020016154c5615615565b81526020016154d2615615565b81526020016154df615615565b81526020016154ec615615565b81526020016154f9615615565b8152602001615506615741565b815260200161551361576f565b815260200161552061578e565b815260200161545e61566a565b60405180610100016040528061556060405180608001604052805f81526020015f81526020015f81526020015f81525090565b815260200161556d61562d565b815260200161557a61566a565b815260200161558761566a565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016155e36157bc565b81526020016155f06157bc565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061032001604052806019905b6157596156e5565b8152602001906001900390816157515790505090565b6040518061052001604052806029906020820280368337509192915050565b6040518061030001604052806018905b6157a6615615565b81526020019060019003908161579e5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156157ed575f5ffd5b84356001600160401b03811115615802575f5ffd5b8501601f81018713615812575f5ffd5b80356001600160401b03811115615827575f5ffd5b876020828401011115615838575f5ffd5b6020918201955093508501356001600160401b03811115615857575f5ffd5b8501601f81018713615867575f5ffd5b80356001600160401b0381111561587c575f5ffd5b8760208260051b8401011115615890575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b80820281158282048414176128325761283261589e565b818103818111156128325761283261589e565b808201808211156128325761283261589e565b5f5f858511156158fd575f5ffd5b83861115615909575f5ffd5b5050820193919092039150565b80356020831015612832575f19602084900360031b1b1692915050565b5f8261594d57634e487b7160e01b5f52601260045260245ffd5b500690565b6001815b600184111561598d578085048111156159715761597161589e565b600184161561597f57908102905b60019390931c928002615956565b935093915050565b5f826159a357506001612832565b816159af57505f612832565b81600181146159c557600281146159cf576159eb565b6001915050612832565b60ff8411156159e0576159e061589e565b50506001821b612832565b5060208310610133831016604e8410600b8410161715615a0e575081810a612832565b615a1a5f198484615952565b805f1904821115615a2d57615a2d61589e565b029392505050565b5f61033260ff841683615995565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615a7c57615a7c61589e565b5060010190565b5f8183825b6005811015615aa7578151835260209283019290910190600101615a88565b50505060a08201905092915050565b5f8183825b6009811015615ada578151835260209283019290910190600101615abb565b5050506101208201905092915050565b5f8183825b602a811015615b0e578151835260209283019290910190600101615aef565b5050506105408201905092915050565b81515f90829060208501835b82811015615b48578151845260209384019390910190600101615b2a565b509195945050505050565b5f8183825b6003811015615b77578151835260209283019290910190600101615b58565b50505060608201905092915050565b5f81615b9457615b9461589e565b505f190190565b5f8183825b6008811015615bbf578151835260209283019290910190600101615ba0565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615bf5575f5ffd5b81518015158114610332575f5ffd5b5f8183825b6007811015615c28578151835260209283019290910190600101615c09565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a26469706673582212209b9eac3609c034c5e062bad77d9f7786be50d6f1330b80424da1fbb44eb4450c64736f6c634300081e0033";
|
|
3
|
+
*/ export const HonkVerifierBytecode = "0x610100604052348015610010575f5ffd5b506301000000608052601860a0527f1a3f894cf7d14569f22d5608b0f2588a8613dfcc3a93566dbe4e113cb4fb529560c052607760e05260805160a05160c05160e051615cbd6100de5f395f8181610180015261081101525f61015f01525f8181605b01528181609401528181610100015281816101a10152818161092a01528181610a3701528181610a6301528181610add0152818161131e015281816113be015281816115fb0152818161164701528181611695015281816116ec0152612e0f01525f5050615cbd5ff3fe608060405234801561000f575f5ffd5b5060043610610029575f3560e01c8063ea50d0e41461002d575b5f5ffd5b61004061003b3660046157d6565b610054565b604051901515815260200160405180910390f35b5f5f61007f7f000000000000000000000000000000000000000000000000000000000000000061028b565b905061008c8160206158ae565b85146100ed577f0000000000000000000000000000000000000000000000000000000000000000856100bf8360206158ae565b6040516359895a5360e01b815260048101939093526024830191909152604482015260640160405180910390fd5b5f6100f6610339565b90505f61012488887f000000000000000000000000000000000000000000000000000000000000000061034e565b90506008826040015161013791906158c5565b85146101565760405163fa06659360e01b815260040160405180910390fd5b5f6101c58288887f00000000000000000000000000000000000000000000000000000000000000007f00000000000000000000000000000000000000000000000000000000000000007f0000000000000000000000000000000000000000000000000000000000000000610709565b90506102158787808060200260200160405190810160405280939291908181526020018383602002808284375f9201919091525050855185516020810151604090910151919350915060016107bb565b8151606001525f6102268383610922565b905080610246576040516313f8744360e31b815260040160405180910390fd5b5f610252848685610a23565b905080610272576040516352ec174560e11b815260040160405180910390fd5b81801561027c5750805b9b9a5050505050505050505050565b5f80610299600260086158ae565b905060016102a86008856158ae565b6102b291906158ae565b6102bc90826158d8565b90506102ca600160296158ae565b6102d490826158d8565b905060026102e36001856158c5565b6102ed91906158ae565b6102f790826158d8565b90506103046001846158ae565b61030e90826158d8565b905061031b6002806158ae565b61032590826158d8565b90506103326008826158d8565b9392505050565b6103416152ef565b6103496117cf565b905090565b610356615479565b5f805b600881101561040a575f8683876103716020836158d8565b9261037e939291906158eb565b61038791615912565b905061039460028361592f565b156103a05760786103a3565b60885b6103ae906002615a31565b81106103cd5760405163eb73e0bd60e01b815260040160405180910390fd5b6103d681612107565b845183600881106103e9576103e9615a3f565b6020020181815250506020836103ff91906158d8565b925050600101610359565b5061042e85828661041c6040836158d8565b92610429939291906158eb565b612139565b602083015261043e6040826158d8565b905061045185828661041c6040836158d8565b60408084019190915261046490826158d8565b905061047785828661041c6040836158d8565b60608301526104876040826158d8565b905061049a85828661041c6040836158d8565b60c08301526104aa6040826158d8565b90506104bd85828661041c6040836158d8565b60e08301526104cd6040826158d8565b90506104e085828661041c6040836158d8565b60808301526104f06040826158d8565b905061050385828661041c6040836158d8565b6101008301526105146040826158d8565b905061052785828661041c6040836158d8565b60a08301526105376040826158d8565b90505f5b838110156105c7575f5b60088110156105be5761057187848861055f6020836158d8565b9261056c939291906158eb565b6121f4565b846101200151836019811061058857610588615a3f565b6020020151826008811061059e5761059e615a3f565b6020020181815250506020836105b491906158d8565b9250600101610545565b5060010161053b565b505f5b602981101561061b576105e486838761055f6020836158d8565b83610140015182602981106105fb576105fb615a3f565b60200201818152505060208261061191906158d8565b91506001016105ca565b505f5b6106296001856158c5565b8110156106725761064186838761041c6040836158d8565b836101600151826018811061065857610658615a3f565b60200201526106686040836158d8565b915060010161061e565b505f5b838110156106c55761068e86838761055f6020836158d8565b83610180015182601981106106a5576106a5615a3f565b6020020181815250506020826106bb91906158d8565b9150600101610675565b506106d785828661041c6040836158d8565b6101a08301526106e86040826158d8565b90506106fb85828661041c6040836158d8565b6101c0830152509392505050565b610711615529565b5f610720888888888886612207565b908352905061072f818961226a565b60208401919091529050610743818461236f565b6040840191909152905061075888828561240c565b6060840191909152905061076c88826124ee565b60808401919091529050610781888285612587565b60a08401919091529050610796888285612709565b60c084019190915290506107aa88826127cd565b5060e0830152509695505050505050565b5f600180826107e8866107e3896107de6107d98a63100000006158d8565b612107565b612819565b612834565b90505f610806876108018a6107de6107d98b60016158d8565b61284d565b90505f5b61083560087f00000000000000000000000000000000000000000000000000000000000000006158c5565b8110156108a2575f61085f8c838151811061085257610852615a3f565b6020026020010151612875565b905061086f866107de8684612834565b955061087f856107de8584612834565b945061088b848b612834565b9350610897838b61284d565b92505060010161080a565b505f5b6008811015610909575f8a82600881106108c1576108c1615a3f565b602002015190506108d6866107de8684612834565b95506108e6856107de8584612834565b94506108f2848b612834565b93506108fe838b61284d565b9250506001016108a5565b5061091484846128a4565b9a9950505050505050505050565b5f806001815b7f00000000000000000000000000000000000000000000000000000000000000008110156109f9575f866101200151826019811061096857610968615a3f565b602002015190505f61097a82866128b2565b90508061099a576040516313f8744360e31b815260040160405180910390fd5b5f876060015184601981106109b1576109b1615a3f565b602002015190506109c283826128d2565b95506109e9886040015185601981106109dd576109dd615a3f565b60200201518683612a81565b9450505050806001019050610928565b505f610a13866101400151865f0151876020015185612aac565b90508281145b9695505050505050565b5f610a2c6155a1565b5f610a5b8460a001517f0000000000000000000000000000000000000000000000000000000000000000612b25565b90505f610a897f000000000000000000000000000000000000000000000000000000000000000060246158d8565b610a949060026158d8565b6001600160401b03811115610aab57610aab615a53565b604051908082528060200260200182016040528015610ad4578160200160208202803683370190505b5090505f610b037f000000000000000000000000000000000000000000000000000000000000000060246158d8565b610b0e9060026158d8565b6001600160401b03811115610b2557610b25615a53565b604051908082528060200260200182016040528015610b5e57816020015b610b4b615611565b815260200190600190039081610b435790505b509050610b90610b8b8760e00151855f81518110610b7e57610b7e615a3f565b602002602001015161284d565b612bee565b84610120018181525050610bc4610b8b8760e00151855f81518110610bb757610bb7615a3f565b6020026020010151612834565b610140850181905261012085015160c0880151610be5926107e39190612819565b845260a0860151610c1590610bf990612bee565b6107de8661012001516108018a60c00151896101400151612819565b6020850152815160019083905f90610c2f57610c2f615a3f565b602002602001018181525050876101a00151815f81518110610c5357610c53615a3f565b6020908102919091010152600160a08501525f60c08501528351610c7690612c86565b60408501526020840151610c8990612c86565b606085015260015b60248111610d3457610cab85604001518660a00151612819565b838281518110610cbd57610cbd615a3f565b602002602001018181525050610d068560c001516107e38b6101400151600185610ce791906158c5565b60298110610cf757610cf7615a3f565b60200201518860a00151612819565b60c086015260a08501516080880151610d1f9190612819565b60a0860152610d2d81615a67565b9050610c91565b505f5b6005811015610e02575f610d4c601d836158d8565b90505f610d5a6024846158d8565b9050610d8b858381518110610d7157610d71615a3f565b60200260200101516107e389606001518a60a00151612819565b858381518110610d9d57610d9d615a3f565b602002602001018181525050610dda8760c001516107e38d61014001518460298110610dcb57610dcb615a3f565b60200201518a60a00151612819565b60c088015260a087015160808a0151610df39190612819565b60a08801525050600101610d37565b50866060015181600181518110610e1b57610e1b615a3f565b6020026020010181905250866080015181600281518110610e3e57610e3e615a3f565b60200260200101819052508660a0015181600381518110610e6157610e61615a3f565b60200260200101819052508660c0015181600481518110610e8457610e84615a3f565b60200260200101819052508660e0015181600581518110610ea757610ea7615a3f565b602002602001018190525086610100015181600681518110610ecb57610ecb615a3f565b602002602001018190525086610120015181600781518110610eef57610eef615a3f565b602002602001018190525086610140015181600881518110610f1357610f13615a3f565b602002602001018190525086610160015181600981518110610f3757610f37615a3f565b6020026020010181905250866101c0015181600a81518110610f5b57610f5b615a3f565b602002602001018190525086610180015181600b81518110610f7f57610f7f615a3f565b6020026020010181905250866101a0015181600c81518110610fa357610fa3615a3f565b6020026020010181905250866101e0015181600d81518110610fc757610fc7615a3f565b602002602001018190525086610200015181600e81518110610feb57610feb615a3f565b602002602001018190525086610220015181600f8151811061100f5761100f615a3f565b60200260200101819052508661024001518160108151811061103357611033615a3f565b60200260200101819052508661026001518160118151811061105757611057615a3f565b60200260200101819052508661028001518160128151811061107b5761107b615a3f565b6020026020010181905250866102a001518160138151811061109f5761109f615a3f565b6020026020010181905250866102c00151816014815181106110c3576110c3615a3f565b6020026020010181905250866102e00151816015815181106110e7576110e7615a3f565b60200260200101819052508661030001518160168151811061110b5761110b615a3f565b60200260200101819052508661032001518160178151811061112f5761112f615a3f565b60200260200101819052508661034001518160188151811061115357611153615a3f565b60200260200101819052508661036001518160198151811061117757611177615a3f565b602002602001018190525086610380015181601a8151811061119b5761119b615a3f565b6020026020010181905250866103a0015181601b815181106111bf576111bf615a3f565b6020026020010181905250866103c0015181601c815181106111e3576111e3615a3f565b6020026020010181905250876020015181601d8151811061120657611206615a3f565b6020026020010181905250876040015181601e8151811061122957611229615a3f565b6020026020010181905250876060015181601f8151811061124c5761124c615a3f565b602002602001018190525087608001518160208151811061126f5761126f615a3f565b60200260200101819052508760a001518160218151811061129257611292615a3f565b6020026020010181905250876101000151816022815181106112b6576112b6615a3f565b60200260200101819052508760c00151816023815181106112d9576112d9615a3f565b60200260200101819052508760e00151816024815181106112fc576112fc615a3f565b60200260200101819052505f61134287606001518660c001518b6101800151877f0000000000000000000000000000000000000000000000000000000000000000612c98565b905061136c815f8151811061135957611359615a3f565b6020026020010151866101200151612819565b608086018190526101808a01515160c089015161139d92916107e3916113929190612819565b886101400151612819565b608086015260c08701516113b090612df6565b60a08601525f5b6113e260017f00000000000000000000000000000000000000000000000000000000000000006158c5565b8110156115df57611412610b8b8960e001518784600161140291906158d8565b81518110610b7e57610b7e615a3f565b61012087015260e088015161144190610b8b90876114318560016158d8565b81518110610bb757610bb7615a3f565b61014087015260a086015161012087015161145c9190612819565b61016087015260a086015160c08901516114849161147991612819565b876101400151612819565b61018087018190526114a79061149990612c86565b6107e3886101600151612c86565b84826114b5602460016158d8565b6114bf91906158d8565b815181106114cf576114cf615a3f565b6020026020010181815250505f6115128761018001518c61018001518460016114f891906158d8565b6019811061150857611508615a3f565b6020020151612819565b905061154c816107e38961016001518686600161152f91906158d8565b8151811061153f5761153f615a3f565b6020026020010151612819565b905061155c876080015182612834565b608088015260a087015160c08a01516115829161157891612819565b8a60c00151612819565b60a08801526101608b0151826018811061159e5761159e615a3f565b602002015184836115b1602460016158d8565b6115bb91906158d8565b815181106115cb576115cb615a3f565b6020908102919091010152506001016113b7565b50604080518082019091526001815260026020820152826116217f000000000000000000000000000000000000000000000000000000000000000060246158d8565b8151811061163157611631615a3f565b602090810291909101015260808501518361166d7f000000000000000000000000000000000000000000000000000000000000000060246158d8565b8151811061167d5761167d615a3f565b60209081029190910101526101c089015180836116bb7f000000000000000000000000000000000000000000000000000000000000000060246158d8565b6116c69060016158d8565b815181106116d6576116d6615a3f565b602090810291909101015260e0880151846117127f000000000000000000000000000000000000000000000000000000000000000060246158d8565b61171d9060016158d8565b8151811061172d5761172d615a3f565b6020026020010181815250505f6117448486612e01565b90505f61175083612f11565b905061175e8c5f0151612f48565b6117b5575f6117718d5f01518484612f81565b90505f5f6117818f5f0151613006565b9150915061178e826130e3565b611797816130e3565b6117a285838561310d565b94506117af84828561310d565b93505050505b6117bf8282613133565b9c9b505050505050505050505050565b6117d76152ef565b50604080516103e081018252630100000081526018602080830191909152607782840152825180840184527f0a8c8d00df2bbaac52bf07ea6415f961b384d15326ac0ab3c4b76b01b364751581527f2e84a1450ccec0ded8b3d6081466c2dd38d34ef9f333caf4a244d0c04d74fb02818301526060830152825180840184527f196e39aef110c0cf0e876f0867553746b8586b9fa38d1706a06cc2cab4adcf5681527f0b0afa97d90e3a67f33e54f0edd5d399c8acf733fd8d2e60f3b3222c31460789818301526080830152825180840184527f19d60fc6cb516b53fb02c2f744ef2dd3e4b405ec0592916f9e54ad49564cbb3b81527f24bd86e923b001dcd4a0473009f68e92081a633a29644fd9a4a9d6389493c4c38183015260a0830152825180840184527f19fc267282b0c6ec56af6cd24cda9674c130139bffc3c8db692fd5de2155be6881527f23dac8f577dbbbe088b5670246d41130a50a24c18a641746b33e74dd910f4a788183015260c0830152825180840184527ed5cdc3287439391b5e162ce2185d9f1b5ab68f296e6e36db43b0919ffb1fff81527f1e4520363297e3cdee4389d8a51b25a949975cd358f59ae93872dc8cc0add9298183015260e0830152825180840184527f1ae0d30a666f493f3b9bf24694b6c506512db1eb7f47950865f248261c951ef881527f2ba1ce4124f7f4c721b173a258516b2153807aa65d539b0e27924fb14a3ce53881830152610100830152825180840184527f2cb419ef3eccb0db6e471fd8fda94ff432adc91fa3d7b996e2620738b68f36b781527f02a10bfbecf3601c6c06b65fe96abc9fb42f812f9794cbded65e33942a411fef81830152610120830152825180840184527f1d53c7b3cf3f0a708d91a78bd70e55e12968067a7aadaf57573e4aefd2cb957481527f278476b377ca161acf02afffbcaa96f3e7a9236d7d87c053c9b8c847bf2b39dc81830152610140830152825180840184527f2d8b10ecfca537a11774635c509fcbf8440ad770d49dec1e70ca9d653d5c505681527f0ff2f6db61c995571a87c61c45e70d6d7e1707d7bd3f522028d58bce0cab8f4581830152610160830152825180840184527f2d049c934b957264bbce287a0ad903147bf5c3219e9b2664733b112fcedbacbe81527f27a29f97a375ce8ac35fb48384c5d09b147d5498413271bfe398b98d06582d8881830152610180830152825180840184527f17f4ecedac2901a7a78eb22fa98c2d567e58d08da4f7cc3dcb5d0cf0af88a42781527f1885bbe06a64dc2982878b24fd0a0f94f56ceb656a2e02c8fbf0de2f3c6ad14c818301526101a0830152825180840184527f06c5f70d14f8d1f2f016d3ee9a623de9d3aafbe4b452310e6918ab1087a7043981527f23c05f41383aa0afaf5c788f4c0453c131580130390aba9783ba2ea57dec6788818301526101c0830152825180840184527f123b4c3b58b588eb5742c3b0333c78c9988cb89d0ed82dac9cbb9c843b5de81981527f1c6170a17c1a548949af9ffb492a26035f70337e2603e4cb78af5be6f0ea9858818301526101e0830152825180840184527f0d255cca72a76f442194aa053101b3d98dda680ce1e7c05f17918c8d7270aa1181527f279d29c0a15a88042de800c859fdcdbb5b54c5db0b6c2bd8cdd16cf5905ddf6f81830152610200830152825180840184527f11a3b9c7c85ace8a4250ebea0be44182f6e131df2529115bb4b238f6f4f54c4e81527f1d964fa8886d564252397006b641afb5b5483abc5c8eb8d86ed48e86ea832feb81830152610220830152825180840184527f27a9aef219fe7704a8a8c69f75de236fcb5c26ba1667d4968fc4fe99799b0a7e81527ec200c87404986e204a86cce49484e98da6a1ca8be79d0dd4b762fdad021b7f81830152610240830152825180840184527f189542e2eb4af5d2ed5dc563399d9f386022a1ec9182c5ccddb7c364ca1843c781527f203a781642c4c550611116ec2600b7a139af81b0e83b0ddb0af80c053f31adfa81830152610260830152825180840184527f27c2c4d975ea5dce1afcf98187a3298c9b9cb793599a39d1b59bcb48b58b4ce181527f0faa6c007b00ccd939aeec05282e8f8e4b6d90b4cd2ef34f075728281f33de3c81830152610280830152825180840184527f142b7ffd5fc65d784b06ef0305207d6ce56d8a5bd988b58a87c4438a154cc28981527f16dcc049b3881b6fc47833040fbd577da36d2744ab82720be9992332ecc62830818301526102a0830152825180840184527f1255dc7929665cb1e9967bcee3b5e8fcc772576daf07a8410c8e27695a5f19c881527f076a081ea5400fb7f7c2c529fdb9c88a08a062a5e919f3da7a26aefb1fab4ab5818301526102c0830152825180840184527f305881fea4a5a74d0e3a8a842002098414b00df034fe8a1763406d685eed17d981527f2eee772f93f903838ff22103edf6574dda242be7c27e9ba8b5a6cff978322d62818301526102e0830152825180840184527f2c0e981468d262c7dcc5243ae29466db7a980130afc1303a57d03043ca2d122381527ebc3ddcd237f770995393f077864bc2f313371b053cfeee52b355072fe40c1c81830152610300830152825180840184527f2194d92617bbb3ba3d9e53f4f13c5c7c6fc5ae0c56f06e0a35747f24625e576381527f11ca88979a66ada092bb26e2b64b8602eb63f6e2fc21862f6fefead2978de7e081830152610320830152825180840184527f1d346dd159688f85b77717f8197777c6ced8daf349335d74908736241f5f332881527f10e952d77959f4aa6fe9cb7222d9901d06ddfeea51240c79980d4daac814444381830152610340830152825180840184527f20b8784b739f9968d269d3db4e7e7e7e666acd5804af5ff4a54f8dfbea8d257281527f21ad5edf078583d5e29052c50b4e8d46067ddaae2aa2345c15a755074d932f9581830152610360830152825180840184527f062b31b3719d79c253d59707efcc41556e43d9f4f122ba79d3484e023fb4da7d81527f283eb52c07506637e09fb73d7875ada840d8e4c75295a90dc312b4d2571c52c38183015261038083015282518084018452600181526002818301526103a083015282518084019093527f12b9f10190d9b8ee97874cce294761a25c6b52cbe2f07f8f680451d79287853d83527e99874be1cffce9c9c33ba0a4fa132b17209ea9d6257394b70037ebc1a2e9b2908301526103c081019190915290565b5f5f516020615c685f395f51905f528210612135576040516320a3358960e01b815260040160405180910390fd5b5090565b612141615611565b5f61214f60208285876158eb565b61215891615912565b90505f6121696040602086886158eb565b61217291615912565b90505f516020615c485f395f51905f528210801561219c57505f516020615c485f395f51905f5281105b6121b95760405163303df09f60e11b815260040160405180910390fd5b8082175f036121db57604051634ddaa5e560e01b815260040160405180910390fd5b6040805180820190915291825260208201529392505050565b5f6103326122028385615912565b612875565b61222e60405180608001604052805f81526020015f81526020015f81526020015f81525090565b5f61223c8888888888613327565b908352925061224b838961364a565b6040850191909152602084019190915291989197509095505050505050565b612272615629565b5f61227b615648565b8481526101008401805151602080840191909152905181015160408084019190915260a086018051516060850152518201516080840152516122f4915f516020615c685f395f51905f52916122d291859101615a7f565b604051602081830303815290604052805190602001205f1c6107d9919061592f565b91505f612300836136e0565b50808552905060015b6123156001601c6158c5565b811015612365576123468561232b6001846158c5565b601b811061233b5761233b615a3f565b602002015183612819565b8582601b811061235857612358615a3f565b6020020152600101612309565b5050509250929050565b612377615666565b5f61239c5f516020615c685f395f51905f52856040516020016122d291815260200190565b93506123a7846136e0565b50825260015b83811015612404576123e5836123c46001846158c5565b601981106123d4576123d4615a3f565b6020020151846114f86001856158c5565b8382601981106123f7576123f7615a3f565b60200201526001016123ad565b509093915050565b612414615666565b5f805b838110156124e457612427615685565b8581525f5b600881101561249057876101200151836019811061244c5761244c615a3f565b6020020151816008811061246257612462615a3f565b6020020151826124738360016158d8565b6009811061248357612483615a3f565b602002015260010161242c565b506124b35f516020615c685f395f51905f52826040516020016122d29190615ab2565b95505f6124bf876136e0565b8685601981106124d1576124d1615a3f565b6020020191909152505050600101612417565b5090949293505050565b5f5f6124f86156a4565b8381525f5b602981101561254b57856101400151816029811061251d5761251d615a3f565b60200201518261252e8360016158d8565b602a811061253e5761253e615a3f565b60200201526001016124fd565b5061256e5f516020615c685f395f51905f52826040516020016122d29190615ae6565b91505f61257a836136e0565b5096929550919350505050565b5f80806125956001856158c5565b6125a09060026158ae565b6125ab9060016158d8565b6001600160401b038111156125c2576125c2615a53565b6040519080825280602002602001820160405280156125eb578160200160208202803683370190505b50905084815f8151811061260157612601615a3f565b60209081029190910101525f5b6126196001866158c5565b8110156126cc57866101600151816018811061263757612637615a3f565b602002015151826126498360026158ae565b6126549060016158d8565b8151811061266457612664615a3f565b602002602001018181525050866101600151816018811061268757612687615a3f565b6020020151602001518282600261269e91906158ae565b6126a99060026158d8565b815181106126b9576126b9615a3f565b602090810291909101015260010161260e565b506126ef5f516020615c685f395f51905f52826040516020016122d29190615b1a565b91505f6126fb836136e0565b509792965091945050505050565b5f80806127178460016158d8565b6001600160401b0381111561272e5761272e615a53565b604051908082528060200260200182016040528015612757578160200160208202803683370190505b50905084815f8151811061276d5761276d615a3f565b60209081029190910101525f5b848110156126cc57866101800151816019811061279957612799615a3f565b6020020151826127aa8360016158d8565b815181106127ba576127ba615a3f565b602090810291909101015260010161277a565b5f5f6127d76156c3565b8381526101a0850180515160208084019190915290518101516040808401919091525161256e915f516020615c685f395f51905f52916122d291859101615b4f565b5f5f516020615c685f395f51905f5282840990505b92915050565b5f5f516020615c685f395f51905f528284089392505050565b5f5f516020615c685f395f51905f52825f516020615c685f395f51905f520384089392505050565b5f815f516020615c685f395f51905f52811061282e576040516320a3358960e01b815260040160405180910390fd5b5f610332836107de84612bee565b815160208301515f9182916128c79190612834565b929092149392505050565b60408051610100810182527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffec5181526102d060208201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff1191810191909152609060608201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593efffff71608082015260f060a08201527f30644e72e131a029b85045b68181585d2833e84879b9709143e1f593effffd3160c08201526113b060e08201525f906001825b60088110156129b9576129af826107de878461284d565b9150600101612998565b506129c26156e1565b5f5b6008811015612a23575f8482600881106129e0576129e0615a3f565b602002015190506129f5816107de898561284d565b9050612a0081612bee565b905080838360088110612a1557612a15615a3f565b6020020152506001016129c4565b505f5b6008811015612a76575f878260088110612a4257612a42615a3f565b60200201519050612a5f8184846008811061150857611508615a3f565b9050612a6b8682612834565b955050600101612a26565b50610a198483612819565b5f5f612a9760016107e3856107de89600161284d565b9050612aa38482612819565b95945050505050565b5f612ab5615700565b612ac0868285613710565b612acc868683866138bc565b612ad886868386613aa4565b612ae3868285613cf3565b612aee868285613ee7565b612afa8686838661422a565b612b058682856146dc565b612b10868285614aee565b612b1b868285614eaf565b610a1981856151af565b60605f826001600160401b03811115612b4057612b40615a53565b604051908082528060200260200182016040528015612b69578160200160208202803683370190505b50905083815f81518110612b7f57612b7f615a3f565b602090810291909101015260015b83811015612be657612bc182612ba46001846158c5565b81518110612bb457612bb4615a3f565b6020026020010151612df6565b828281518110612bd357612bd3615a3f565b6020908102919091010152600101612b8d565b509392505050565b5f81808203612c1057604051635964a97160e11b815260040160405180910390fd5b5f604051602081526020808201526020604082015282606082015260025f516020615c685f395f51905f520360808201525f516020615c685f395f51905f5260a082015260205f60c08360055afa80612c725763f8d6170960e01b5f5260045ffd5b505f5160c091909101604052949350505050565b5f516020615c685f395f51905f520390565b60605f826001600160401b03811115612cb357612cb3615a53565b604051908082528060200260200182016040528015612cdc578160200160208202803683370190505b509050825b8015612deb575f85612cf46001846158c5565b81518110612d0457612d04615a3f565b602002602001015190505f89600184612d1d91906158c5565b60198110612d2d57612d2d615a3f565b602002015190505f612d88612d4c612d45858d612819565b6002612819565b6108018b612d5b6001896158c5565b60198110612d6b57612d6b615a3f565b60200201516107de612d82886107de60018a61284d565b8761284d565b9050612da9816107de610b8b612da3876107de60018961284d565b86612834565b99508990508085612dbb6001876158c5565b81518110612dcb57612dcb615a3f565b60200260200101818152505050505080612de490615b82565b9050612ce1565b509695505050505050565b5f61282e8283612819565b612e09615611565b5f612e357f000000000000000000000000000000000000000000000000000000000000000060246158d8565b612e409060026158d8565b90505f5b81811015612e7657612e6e858281518110612e6157612e61615a3f565b60200260200101516130e3565b600101612e44565b50604051600190815b60018401811015612edb5760208102870160208202870181515160408501528151602001516060850152805160808501525050604080830160606040850160075afa8316925060408260808460065afa90921691600101612e7f565b5080518452602081015160208501525080612f09576040516352ec174560e11b815260040160405180910390fd5b505092915050565b612f19615611565b602082015115612135576020820151612f3f905f516020615c485f395f51905f526158c5565b60208301525090565b5f80805b6008811015612f7957838160088110612f6757612f67615a3f565b60200201519190911790600101612f4c565b501592915050565b5f5f5f612f8d86613006565b91509150612f996156e1565b82518152602080840151818301528251604080840191909152838201516060840152875160808401528782015160a0840152865160c08401528682015160e084015251612ffb915f516020615c685f395f51905f52916122d291859101615b97565b979650505050505050565b61300e615611565b613016615611565b8251602084015160408501516060860151608087015160a088015160c089015160e08a0151608896871b9097179693861b9094179490811b9091179291901b175f516020615c485f395f51905f528410801561307e57505f516020615c485f395f51905f5283105b801561309657505f516020615c485f395f51905f5282105b80156130ae57505f516020615c485f395f51905f5281105b6130cb5760405163303df09f60e11b815260040160405180910390fd5b92855260208086019290925283528201529092909150565b60208101518151175f0361310a57604051634ddaa5e560e01b815260040160405180910390fd5b50565b613115615611565b61311d615611565b6131278386615208565b9050612aa3818561525e565b81516020808401518351848301516040805194850195909552938301919091527f198e9393920d483a7260bfb731fb5d25f1aa493335a9e71297e485b7aef312c260608301527f1800deef121f1e76426a00665e5c4479674322d4f75edadd46debd5cd992f6ed60808301527f090689d0585ff075ec9e99ad690c3395bc4b313370b38ef355acdadcd122975b60a08301527f12c85ea5db8c6deb4aab71808dcb408fe3d1e7690c43d37b4ce6cc0166fa7daa60c083015260e08201526101008101919091527f260e01b251f6f1c7e7ff4e580791dee8ea51d87a358e038b4efe30fac09383c16101208201527f0118c4d5b837bcc2bc89b5b398b5974e9f5944073b32078b7e231fec938883b06101408201527f04fc6369f7110fe3d25156c1bb9a72859cf2a04641f99ba4ee413c80da6a5fe46101608201527f22febda3c0c0632a56475b4214e5615e11e6dd3f96e6cea2854a87d4dacc5e556101808201525f9081906101a00160405160208183030381529060405290505f5f60086001600160a01b0316836040516132c99190615bcb565b5f60405180830381855afa9150503d805f8114613301576040519150601f19603f3d011682016040523d82523d5f602084013e613306565b606091505b5091509150818015610a19575080806020019051810190610a199190615be1565b5f80806133358460016158d8565b6133409060066158d8565b6001600160401b0381111561335757613357615a53565b604051908082528060200260200182016040528015613380578160200160208202803683370190505b509050845f1b815f8151811061339857613398615a3f565b60209081029190910101525f5b6133b06008866158c5565b811015613448575f516020615c685f395f51905f528888838181106133d7576133d7615a3f565b905060200201355f1c106133fe576040516320a3358960e01b815260040160405180910390fd5b87878281811061341057613410615a3f565b905060200201358282600161342591906158d8565b8151811061343557613435615a3f565b60209081029190910101526001016133a5565b505f5b60088110156134b957885161347390826008811061346b5761346b615a3f565b602002015190565b828260086134828960016158d8565b61348c91906158c5565b61349691906158d8565b815181106134a6576134a6615a3f565b602090810291909101015260010161344b565b50602088015151816134cc8660016158d8565b815181106134dc576134dc615a3f565b602090810291909101810191909152888101510151816134fd8660016158d8565b6135089060016158d8565b8151811061351857613518615a3f565b6020908102919091010152604088015151816135358660016158d8565b6135409060026158d8565b8151811061355057613550615a3f565b60209081029190910181019190915260408901510151816135728660016158d8565b61357d9060036158d8565b8151811061358d5761358d615a3f565b6020908102919091010152606088015151816135aa8660016158d8565b6135b59060046158d8565b815181106135c5576135c5615a3f565b60209081029190910181019190915260608901510151816135e78660016158d8565b6135f29060056158d8565b8151811061360257613602615a3f565b6020026020010181815250506136305f516020615c685f395f51905f52826040516020016122d29190615b1a565b915061363b826136e0565b50989197509095505050505050565b5f5f5f61365561571f565b85815260c0858101805151602080850191909152905181015160408085019190915260e08801805151606086015251820151608080860191909152880180515160a0860152518201519284019290925290516136c6915f516020615c685f395f51905f52916122d291859101615c00565b91506136d1826136e0565b90979096509194509092505050565b5f808260016001607f1b038116607f82901c6136fb82612107565b945061370681612107565b9350505050915091565b5f61371c8460076152bf565b90507f183227397098d014dc2822db40c0ac2e9419f4243cdcb848a1f0fac9f80000005f61377d61377761375185600361284d565b6107de61376c6137618b5f6152bf565b6107de8c601d6152bf565b6107de8b601c6152bf565b83612819565b90506137fe6137f36137da6137c16137a8856107e361379d8d60026152bf565b6107de8e601c6152bf565b6107e36137b68c60036152bf565b6107de8d601d6152bf565b6107e36137cf8b60046152bf565b6107de8c601e6152bf565b6107e36137e88a60056152bf565b6107de8b601f6152bf565b6107e38860016152bf565b905061381d816107e361381286600161284d565b6107de8a60276152bf565b90506138298184612819565b90506138358185612819565b8552505f905061386f61386561385a61384f88601c6152bf565b6107e389601f6152bf565b6108018860246152bf565b6107e3875f6152bf565b9050613880816107de84600261284d565b9050613891816107de84600161284d565b905061389d8183612819565b90506138a98184612819565b9050808460015b60200201525050505050565b5f5f5f6138f26138e86138d089601c6152bf565b6107e36138de8b60126152bf565b8a60200151612819565b8760400151612834565b905061392b816107de6139216139098b601d6152bf565b6107e36139178d60136152bf565b8c60200151612819565b8960400151612834565b9050613950816107de6139216139428b601e6152bf565b6107e36139178d60146152bf565b9050613975816107de6139216139678b601f6152bf565b6107e36139178d60156152bf565b92505f90506139996138e861398b89601c6152bf565b6107e36138de8b600e6152bf565b90506139be816107de6139216139b08b601d6152bf565b6107e36139178d600f6152bf565b90506139e3816107de6139216139d58b601e6152bf565b6107e36139178d60106152bf565b9050613a08816107de6139216139fa8b601f6152bf565b6107e36139178d60116152bf565b91505f9050613a2f613a29613a1e8960206152bf565b6107e38a601a6152bf565b84612819565b9050613a6481610801613a5e613a468b60286152bf565b6107e3613a548d601b6152bf565b8c60600151612819565b85612819565b9050613a708185612819565b6040860152505f613a93613a5e613a8889601b6152bf565b6107de8a60286152bf565b606090950194909452505050505050565b5f5f5f613ab986602001518760200151612819565b9050613b1d613b02613af4613adc613ad28b60166152bf565b8a60400151612834565b6107e3613aea8c60176152bf565b8b60200151612819565b6107e3613a5e8b60186152bf565b6107e3613b13613a5e8b60196152bf565b8960200151612819565b9250505f613b3386602001518760200151612819565b90505f613b60613b476139218a601c6152bf565b6107e3613b558b60036152bf565b6107de8c60246152bf565b90505f613b89613b718a601d6152bf565b6107e3613b7e8c5f6152bf565b6107de8d60256152bf565b90505f613bb3613b9a8b601e6152bf565b6107e3613ba88d60016152bf565b6107de8e60266152bf565b9050613bee613bd7613bcd856107e3868e60200151612819565b6107e38488612819565b6107e3613917613be88e60046152bf565b88612819565b9450505050505f613c03613a298860216152bf565b90505f613c14613a298960216152bf565b90505f613c4c613c33613c288b60236152bf565b6107e38c60066152bf565b610801613c418c60236152bf565b6107de8d60066152bf565b90505f613c70613c6a613c5f8789612819565b6107de8d60216152bf565b8361284d565b9050613c7c8188612819565b90505f613ca4613c96613c908d60066152bf565b87612819565b610801613c908e60226152bf565b90505f613cb28c60236152bf565b90505f613cc2613c6a8384612819565b60808c0185905260a08c018490529050613cdc818b612819565b8b6006602002015250505050505050505050505050565b5f613cff5f600161284d565b90505f613d0d5f600261284d565b90505f613d1b5f600361284d565b90505f613d37613d2c88601d6152bf565b61080189601c6152bf565b90505f613d53613d4889601e6152bf565b6108018a601d6152bf565b90505f613d6f613d648a601f6152bf565b6108018b601e6152bf565b90505f613d8b613d808b60246152bf565b6108018c601f6152bf565b905083613d9c816107de818b612834565b9050613dac816107de878a612834565b9050613dbc816107de8789612834565b9050613dcd816107de8d60086152bf565b9050613dd9818a612819565b60e08b01525082613dee816107de818b612834565b9050613dfe816107de868a612834565b9050613e0e816107de8689612834565b9050613e1f816107de8d60086152bf565b9050613e2b818a612819565b6101008b01525081613e41816107de818b612834565b9050613e51816107de858a612834565b9050613e61816107de8589612834565b9050613e72816107de8d60086152bf565b9050613e7e818a612819565b6101208b01525080613e94816107de818b612834565b9050613ea4816107de848a612834565b9050613eb4816107de8489612834565b9050613ec5816107de8d60086152bf565b9050613ed1818a612819565b610140909a019990995250505050505050505050565b613f206040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b613f2b84601d6152bf565b8152613f3884601e6152bf565b6020820152613f488460246152bf565b6040820152613f588460276152bf565b6060820152613f688460266152bf565b6080820152613f788460256152bf565b60a08201525f613f898560026152bf565b90505f613f96865f6152bf565b90505f613faa8460400151855f015161284d565b90505f613fbf85602001518660200151612819565b606086015190915086905f90613fd59080612819565b90505f613fed613be889602001518a60600151612819565b90505f61400c6140058a60a001518b60400151612834565b8a51612834565b905061401b613c908288612819565b905061404261403c614036614030848761284d565b8861284d565b84612834565b83612834565b905061406a61405f6140548387612819565b6107de8f60096152bf565b6107de60018a61284d565b6101608c015250505050602085015160808601515f9161408991612834565b90505f6140a761409d886060015188612819565b886020015161284d565b90505f6140cb6140b78487612819565b6107e3613a5e8b60a001518c5f015161284d565b90506140f36140e86140dd838c612819565b6107de8e60096152bf565b6107de60018961284d565b6101808b0152505f9150614114905061410d836011612834565b8751612819565b90505f6141218384612834565b905061412d8182612834565b90505f61413b836009612819565b905061416461415e613a296141578b60a001518c5f0151612834565b8b51612834565b8261284d565b60c089018190525f9061417f90613be890614054908d612819565b90506141928b600b602002015182612834565b6101608c0152505086515f92506141b9915061410d906141b29080612834565b8851612834565b90505f6141f96141d4836107de8a5f01518b60a0015161284d565b6020890151610801906141e79080612834565b6107de8b602001518c60800151612834565b905061421689600c60200201516107e3613be8614054858d612819565b89600c602002015250505050505050505050565b614294604051806101e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b83515f906142a29080612819565b90505f6142b282875f0151612819565b90506142c86142c288601e6152bf565b82612819565b8084526142dd906107e3613a5e8a601d6152bf565b8084526142f9906107e36142f28a601c6152bf565b8951612819565b80845261430b906107e38960016152bf565b808452602084018190526143249061080189601f6152bf565b8352614334613d2c8860246152bf565b60808401526143526143478860276152bf565b61080189601f6152bf565b6060840152608083015161436b906107de81600161284d565b6101c084015260808301516143ab906143a19061439a906107de60015f516020615c685f395f51905f526158c5565b6001612834565b8460600151612819565b60a084018190526143e1906143d3906107de6143c88b60026152bf565b6107de8c60036152bf565b6107de613c908a600a6152bf565b85600e60200201526101c0830151614405906143d3906107de6143c88b60026152bf565b6101e0860152825161442a906107de61441f8a60026152bf565b6107de8b60036152bf565b6101208401525f61444961443f89601f6152bf565b856020015161284d565b905061445a816107de83600161284d565b60e085015261446d6137778960266152bf565b6040850181905261448c906107e36144868b60256152bf565b86612819565b604085018190526144ac906107e36144a58b60246152bf565b8a51612819565b60408501526144c96144bf8960276152bf565b856040015161284d565b60408501525f6144dd613d648a60266152bf565b905061452f61450a61377761439a886080015160015f516020615c685f395f51905f526107de91906158c5565b6107de61439a886040015160015f516020615c685f395f51905f526107de91906158c5565b60c08601526040850151614551906145479080612819565b866040015161284d565b61010086015260c08501516145839061456f906107de8c60046152bf565b6107de61457d8c600a6152bf565b89612819565b6102008801526101c08501516145a29061456f906107de8c60046152bf565b6102208801526101008501516145c19061456f906107de8c60046152bf565b61024088015260e08501516145db906107de8b60046152bf565b6101408601526145fa6145ef8a60256152bf565b6108018b601d6152bf565b610160860152608085015161463890613d649061462d9061439a906107de60015f516020615c685f395f51905f526158c5565b876101600151612819565b61018086018190526101208601516101a0870181905261466f916107e3906107de6146648e60056152bf565b6107de8f60026152bf565b6101a08601819052855161468f91906107e3906107de6146648e5f6152bf565b6101a086018190526101408601516146a79190612834565b6101a086018190526146c1906107de61457d8c600a6152bf565b6101a0860181905287600d6020020152505050505050505050565b6147156040518060e001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b61474a61473161472686601c6152bf565b6107de8760256152bf565b6107e361473f8760246152bf565b6107de88601d6152bf565b815261478f61478461476b61476087601c6152bf565b6107de88601f6152bf565b6107e361477988601d6152bf565b6107de89601e6152bf565b6108018660266152bf565b604082018190526147a490600160441b612819565b604082018190526147ba906108018660276152bf565b6040820181905281516147cd9190612834565b604082018190526147e3906107de8660056152bf565b604082015280516147f890600160441b612819565b808252614818906107e361480d8760246152bf565b6107de8860256152bf565b8082526020820181905261483f9061080161483487601e6152bf565b6107e388601f6152bf565b60208201819052614855906107de8660046152bf565b6020820152805160608201819052614872906107e386601f6152bf565b606082018190526148969061080161488b8760266152bf565b6107e38860276152bf565b606082018190526148ab906107de865f6152bf565b8160600181815250505f6148d46148ca83602001518460400151612834565b8360600151612834565b90506148e5816107de8760036152bf565b90506148fd6148f58660256152bf565b614000612819565b60808301819052614913906107e38760246152bf565b6080830181905261492690614000612819565b6080830181905261493c906107e387601e6152bf565b6080830181905261494f90614000612819565b60808301819052614965906107e387601d6152bf565b6080830181905261497890614000612819565b6080830181905261498e906107e387601c6152bf565b608083018190526149a49061080187601f6152bf565b608083018190526149ba906107de8760056152bf565b60808301526149cd6148f58660266152bf565b60a083018190526149e3906107e38760256152bf565b60a083018190526149f690614000612819565b60a08301819052614a0c906107e38760246152bf565b60a08301819052614a1f90614000612819565b60a08301819052614a35906107e387601f6152bf565b60a08301819052614a4890614000612819565b60a08301819052614a5e906107e387601e6152bf565b60a08301819052614a74906108018760276152bf565b60a08301819052614a89906107de875f6152bf565b60a0830181905260808301515f91614aa19190612834565b9050614ab2816107de8860046152bf565b9050614abe8282612834565b60c08401819052614ad7906107de613c9089600b6152bf565b60c084018190528560136020020152505050505050565b614b646040518061022001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b614b7d614b7285601c6152bf565b6107e38660026152bf565b8152614b98614b8d85601d6152bf565b6107e38660036152bf565b6020820152614bb6614bab85601e6152bf565b6107e38660046152bf565b6040820152614bd4614bc985601f6152bf565b6107e38660056152bf565b60608201528051614c0690614bff90614bf890614bf19080612819565b8451612819565b8351612819565b8251612819565b60808201526020810151614c4490614c3a90614c3090614c269080612819565b8460200151612819565b8360200151612819565b8260200151612819565b60a08201526040810151614c8290614c7890614c6e90614c649080612819565b8460400151612819565b8360400151612819565b8260400151612819565b60c08201526060810151614cb690614cac90614ca2906143a19080612819565b8360600151612819565b8260600151612819565b60e0820152608081015160a0820151614ccf9190612834565b61010082015260c081015160e0820151614ce99190612834565b61012082015260a0810151614d0d90614d029080612834565b826101200151612834565b61014082015260e0810151614d3190614d269080612834565b826101000151612834565b610160820152610120810151614d479080612834565b6101e08201819052614d6890614d5d9080612834565b826101600151612834565b6101e0820152610100810151614d7e9080612834565b6101a08201819052614d9f90614d949080612834565b826101400151612834565b6101a08201819052610160820151614db691612834565b6101808201526101408101516101e0820151614dd29190612834565b6101c0820152614de661377785600c6152bf565b6102008201819052610280840151610180830151614e11926107e3916107de906108018a60246152bf565b8360146020020152614e4183601560200201516107e38361020001516107de856101a001516108018a60256152bf565b8360156020020152614e7183601660200201516107e38361020001516107de856101c001516108018a60266152bf565b8360166020020152614ea183601760200201516107e38361020001516107de856101e001516108018a60276152bf565b836017602002015250505050565b614f016040518061016001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81525090565b5f6040518060800160405280614f367f10dc6e9c006ea38b04b1e03b4bd9490c0d03f98929ca1d7fb56821fd19d3b6e7612107565b8152602001614f647f0c28145b6a44df3e0149b3d0a30b3bb599df9756d4dd9b84a86b38cfb45a740b612107565b8152602001614f917e544b8338791518b2c7645a50392798b21f75bb60e3596170067d00141cac15612107565b8152602001614fbf7f222c01175718386f2e2e82eb122789e352e105a3b8fa852613bc534433ee428b612107565b90529050614fdc614fd186601c6152bf565b6107e38760026152bf565b610120830181905261501b906150109061500590614ffa9080612819565b856101200151612819565b846101200151612819565b836101200151612819565b825261502885601d6152bf565b602083015261503885601e6152bf565b604083015261504885601f6152bf565b606083015281516020830151615070916148ca916150669190612834565b8460400151612834565b6080830152615083613a2986600d6152bf565b61014083015281516150a49061509a90835f611508565b8360800151612834565b60a08301526150d084601860200201516107e38461014001516107de8660a001516108018b60246152bf565b61030085015260208201516150eb9061509a90836001611508565b60c083015261511784601960200201516107e38461014001516107de8660c001516108018b60256152bf565b61032085015260408201516151329061509a90836002611508565b60e083015261515e84601a60200201516107e38461014001516107de8660e001516108018b60266152bf565b61034085015260608201516151799061509a90836003611508565b6101008301526151a784601b60200201516107e38461014001516107de8661010001516108018b60276152bf565b84601b6138b0565b815160015b601c811015615201576151f7826107e38684601c81106151d6576151d6615a3f565b6020020151866151e76001876158c5565b601b811061150857611508615a3f565b91506001016151b4565b5092915050565b615210615611565b615218615611565b604051835181526020840151602082015284604082015260408160608360075afa80615242575f5ffd5b5080518252602080820151908301526060016040529392505050565b615266615611565b61526e615611565b6040518451815260208501516020820152835160408201526020840151606082015260408160808360065afa806152a3575f5ffd5b5080518252602080820151908301526080016040529392505050565b5f828260288111156152d3576152d3615c33565b602981106152e3576152e3615a3f565b60200201519392505050565b604051806103e001604052805f81526020015f81526020015f8152602001615315615611565b8152602001615322615611565b815260200161532f615611565b815260200161533c615611565b8152602001615349615611565b8152602001615356615611565b8152602001615363615611565b8152602001615370615611565b815260200161537d615611565b815260200161538a615611565b8152602001615397615611565b81526020016153a4615611565b81526020016153b1615611565b81526020016153be615611565b81526020016153cb615611565b81526020016153d8615611565b81526020016153e5615611565b81526020016153f2615611565b81526020016153ff615611565b815260200161540c615611565b8152602001615419615611565b8152602001615426615611565b8152602001615433615611565b8152602001615440615611565b815260200161544d615611565b815260200161545a615611565b8152602001615467615611565b8152602001615474615611565b905290565b604051806101e0016040528061548d6156e1565b815260200161549a615611565b81526020016154a7615611565b81526020016154b4615611565b81526020016154c1615611565b81526020016154ce615611565b81526020016154db615611565b81526020016154e8615611565b81526020016154f5615611565b815260200161550261573d565b815260200161550f61576b565b815260200161551c61578a565b815260200161545a615666565b60405180610100016040528061555c60405180608001604052805f81526020015f81526020015f81526020015f81525090565b8152602001615569615629565b8152602001615576615666565b8152602001615583615666565b81526020015f81526020015f81526020015f81526020015f81525090565b604051806101c001604052805f81526020015f81526020015f81526020015f81526020015f81526020015f81526020015f81526020016155df6157b8565b81526020016155ec6157b8565b81526020015f81526020015f81526020015f81526020015f8152602001606081525090565b60405180604001604052805f81526020015f81525090565b604051806103600160405280601b906020820280368337509192915050565b6040518060a001604052806005906020820280368337509192915050565b6040518061032001604052806019906020820280368337509192915050565b6040518061012001604052806009906020820280368337509192915050565b604051806105400160405280602a906020820280368337509192915050565b60405180606001604052806003906020820280368337509192915050565b6040518061010001604052806008906020820280368337509192915050565b604051806103800160405280601c906020820280368337509192915050565b6040518060e001604052806007906020820280368337509192915050565b6040518061032001604052806019905b6157556156e1565b81526020019060019003908161574d5790505090565b6040518061052001604052806029906020820280368337509192915050565b6040518061030001604052806018905b6157a2615611565b81526020019060019003908161579a5790505090565b60405180608001604052806004906020820280368337509192915050565b5f5f5f5f604085870312156157e9575f5ffd5b84356001600160401b038111156157fe575f5ffd5b8501601f8101871361580e575f5ffd5b80356001600160401b03811115615823575f5ffd5b876020828401011115615834575f5ffd5b6020918201955093508501356001600160401b03811115615853575f5ffd5b8501601f81018713615863575f5ffd5b80356001600160401b03811115615878575f5ffd5b8760208260051b840101111561588c575f5ffd5b949793965060200194505050565b634e487b7160e01b5f52601160045260245ffd5b808202811582820484141761282e5761282e61589a565b8181038181111561282e5761282e61589a565b8082018082111561282e5761282e61589a565b5f5f858511156158f9575f5ffd5b83861115615905575f5ffd5b5050820193919092039150565b8035602083101561282e575f19602084900360031b1b1692915050565b5f8261594957634e487b7160e01b5f52601260045260245ffd5b500690565b6001815b60018411156159895780850481111561596d5761596d61589a565b600184161561597b57908102905b60019390931c928002615952565b935093915050565b5f8261599f5750600161282e565b816159ab57505f61282e565b81600181146159c157600281146159cb576159e7565b600191505061282e565b60ff8411156159dc576159dc61589a565b50506001821b61282e565b5060208310610133831016604e8410600b8410161715615a0a575081810a61282e565b615a165f19848461594e565b805f1904821115615a2957615a2961589a565b029392505050565b5f61033260ff841683615991565b634e487b7160e01b5f52603260045260245ffd5b634e487b7160e01b5f52604160045260245ffd5b5f60018201615a7857615a7861589a565b5060010190565b5f8183825b6005811015615aa3578151835260209283019290910190600101615a84565b50505060a08201905092915050565b5f8183825b6009811015615ad6578151835260209283019290910190600101615ab7565b5050506101208201905092915050565b5f8183825b602a811015615b0a578151835260209283019290910190600101615aeb565b5050506105408201905092915050565b81515f90829060208501835b82811015615b44578151845260209384019390910190600101615b26565b509195945050505050565b5f8183825b6003811015615b73578151835260209283019290910190600101615b54565b50505060608201905092915050565b5f81615b9057615b9061589a565b505f190190565b5f8183825b6008811015615bbb578151835260209283019290910190600101615b9c565b5050506101008201905092915050565b5f82518060208501845e5f920191825250919050565b5f60208284031215615bf1575f5ffd5b81518015158114610332575f5ffd5b5f8183825b6007811015615c24578151835260209283019290910190600101615c05565b50505060e08201905092915050565b634e487b7160e01b5f52602160045260245ffdfe30644e72e131a029b85045b68181585d97816a916871ca8d3c208c16d87cfd4730644e72e131a029b85045b68181585d2833e84879b9709143e1f593f0000001a264697066735822122005105700324da32a75d26dca237d3dde19d6bd1edb772d4b1590c6a5cedcabdb64736f6c634300081e0033";
|
|
4
4
|
/**
|
|
5
5
|
* HonkVerifier link references.
|
|
6
6
|
*/ export const HonkVerifierLinkReferences = {};
|
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
{
|
|
2
|
+
"transactions": [
|
|
3
|
+
{
|
|
4
|
+
"rpc": "http://127.0.0.1:8545"
|
|
5
|
+
},
|
|
6
|
+
{
|
|
7
|
+
"rpc": "http://127.0.0.1:8545"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"rpc": "http://127.0.0.1:8545"
|
|
11
|
+
},
|
|
12
|
+
{
|
|
13
|
+
"rpc": "http://127.0.0.1:8545"
|
|
14
|
+
},
|
|
15
|
+
{
|
|
16
|
+
"rpc": "http://127.0.0.1:8545"
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
"rpc": "http://127.0.0.1:8545"
|
|
20
|
+
},
|
|
21
|
+
{
|
|
22
|
+
"rpc": "http://127.0.0.1:8545"
|
|
23
|
+
},
|
|
24
|
+
{
|
|
25
|
+
"rpc": "http://127.0.0.1:8545"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"rpc": "http://127.0.0.1:8545"
|
|
29
|
+
},
|
|
30
|
+
{
|
|
31
|
+
"rpc": "http://127.0.0.1:8545"
|
|
32
|
+
},
|
|
33
|
+
{
|
|
34
|
+
"rpc": "http://127.0.0.1:8545"
|
|
35
|
+
},
|
|
36
|
+
{
|
|
37
|
+
"rpc": "http://127.0.0.1:8545"
|
|
38
|
+
},
|
|
39
|
+
{
|
|
40
|
+
"rpc": "http://127.0.0.1:8545"
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
"rpc": "http://127.0.0.1:8545"
|
|
44
|
+
},
|
|
45
|
+
{
|
|
46
|
+
"rpc": "http://127.0.0.1:8545"
|
|
47
|
+
},
|
|
48
|
+
{
|
|
49
|
+
"rpc": "http://127.0.0.1:8545"
|
|
50
|
+
},
|
|
51
|
+
{
|
|
52
|
+
"rpc": "http://127.0.0.1:8545"
|
|
53
|
+
},
|
|
54
|
+
{
|
|
55
|
+
"rpc": "http://127.0.0.1:8545"
|
|
56
|
+
},
|
|
57
|
+
{
|
|
58
|
+
"rpc": "http://127.0.0.1:8545"
|
|
59
|
+
},
|
|
60
|
+
{
|
|
61
|
+
"rpc": "http://127.0.0.1:8545"
|
|
62
|
+
},
|
|
63
|
+
{
|
|
64
|
+
"rpc": "http://127.0.0.1:8545"
|
|
65
|
+
},
|
|
66
|
+
{
|
|
67
|
+
"rpc": "http://127.0.0.1:8545"
|
|
68
|
+
},
|
|
69
|
+
{
|
|
70
|
+
"rpc": "http://127.0.0.1:8545"
|
|
71
|
+
},
|
|
72
|
+
{
|
|
73
|
+
"rpc": "http://127.0.0.1:8545"
|
|
74
|
+
},
|
|
75
|
+
{
|
|
76
|
+
"rpc": "http://127.0.0.1:8545"
|
|
77
|
+
},
|
|
78
|
+
{
|
|
79
|
+
"rpc": "http://127.0.0.1:8545"
|
|
80
|
+
},
|
|
81
|
+
{
|
|
82
|
+
"rpc": "http://127.0.0.1:8545"
|
|
83
|
+
},
|
|
84
|
+
{
|
|
85
|
+
"rpc": "http://127.0.0.1:8545"
|
|
86
|
+
},
|
|
87
|
+
{
|
|
88
|
+
"rpc": "http://127.0.0.1:8545"
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
"rpc": "http://127.0.0.1:8545"
|
|
92
|
+
},
|
|
93
|
+
{
|
|
94
|
+
"rpc": "http://127.0.0.1:8545"
|
|
95
|
+
},
|
|
96
|
+
{
|
|
97
|
+
"rpc": "http://127.0.0.1:8545"
|
|
98
|
+
}
|
|
99
|
+
]
|
|
100
|
+
}
|