0 txs
11.6k calls
constructor
No constructor.
functions
No functions.
events
PositionProcessed
event PositionProcessed(uint256 orderId, (uint256 timestamp, uint256 orders, int256 collateral, uint256 makerPos, uint256 makerNeg, uint256 longPos, uint256 longNeg, uint256 shortPos, uint256 shortNeg, uint256 protection, uint256 makerReferral, uint256 takerReferral) order, (uint256 tradeFee, uint256 subtractiveFee, int256 tradeOffset, int256 tradeOffsetMaker, uint256 tradeOffsetMarket, int256 adiabaticExposure, int256 adiabaticExposureMaker, int256 adiabaticExposureMarket, int256 fundingMaker, int256 fundingLong, int256 fundingShort, uint256 fundingFee, int256 interestMaker, int256 interestLong, int256 interestShort, uint256 interestFee, int256 pnlMaker, int256 pnlLong, int256 pnlShort, uint256 settlementFee, uint256 liquidationFee) accumulationResult)
errors
Adiabatic6ZeroScaleError
error Adiabatic6ZeroScaleError()
CurveMath6OutOfBoundsError
error CurveMath6OutOfBoundsError()
DivisionByZero
error DivisionByZero()
Fixed6OverflowError
error Fixed6OverflowError(uint256 value)
UFixed6UnderflowError
error UFixed6UnderflowError(int256 value)
creation bytecode
0x6080806040523461001c57612ebc90816100218239308160220152f35b5f80fdfe600436101561000c575f80fd5b5f3560e01c634d54b69d1461001f575f80fd5b307f000000000000000000000000000000000000000000000000000000000000000014610d6f577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc3601610fc08112610d6f57610a6013610d6f576101e060405260043573ffffffffffffffffffffffffffffffffffffffff81168103610d6f576080526101407fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc360112610d6f576100d6610da0565b602435815260443560208201526064356040820152608435606082015260a435608082015260c43560a082015260e43560c08201526101043560e0820152610124358015158103610d6f57610100820152610144358015158103610d6f5761012082015260a0526102e0367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe9c0112610d6f576040516101a0810181811067ffffffffffffffff821117610d735760405261016435815261018435602082015260807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe5c360112610d6f576101c7610e22565b6101a43581526101c43560208201526101e4356040820152610204356060820152604082015260607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffddc360112610d6f5761021f610dc1565b61022435815261024435602082015261026435604082015260608201526102843560808201526102a43560a08201526102c43560c082015260807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffd1c360112610d6f57610289610e22565b6102e435815261030435602082015261032435604082015261034435606082015260e082015260607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc9c360112610d6f576102e1610dc1565b6103643581526103843560208201526103a43560408201526101008201526103c4356101208201526103e435610140820152610404356101608201526104243515156104243503610d6f576104243561018082015260c0526060367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffbbc0112610d6f5761036b610dc1565b610444358152610464356020820152610484358015158103610d6f57604082015260e0526104a43561010052610120367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffb3c0112610d6f576103ca610de1565b6104c43581526104e43560208201526105043560408201526105243560608201526105443560808201526105643560a08201526105843560c082015260407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa5c360112610d6f57610438610e02565b6105a43581526105c435602082015260e0820152610120526080367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa1c0112610d6f57610482610e22565b6105e4358152610604356020820152610624356040820152610644356060820152610140526080367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff99c0112610d6f576104d9610e22565b6106643581526106843560208201526106a43560408201526106c4356060820152610160526080367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff91c0112610d6f57610530610e22565b6106e4358152610704356020820152610724356040820152610744356060820152610180908152367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff89c0112610d6f57610587610e42565b6107643581526107843560208201526107a43560408201526107c43560608201526107e43560808201526108043560a08201526108243560c08201526108443560e082015261086435610100820152610884356101208201526108a4356101408201526108c4356101608201526101a052610180367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff71c0112610d6f5761062b610e42565b6108e43581526109043560208201526109243560408201526109443560608201526109643560808201526109843560a08201526109a43560c08201526109c43560e08201526109e435610100820152610a0435610120820152610a2435610140820152610a44356101608201526101c052610260367ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff59c0112610d6f576106cf610dc1565b6101807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff59c360112610d6f57610702610e42565b610a64358015158103610d6f578152610a8435602082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff55c360112610d6f5761074c610e63565b610aa4358152604082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff53c360112610d6f57610789610e63565b610ac4358152606082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff51c360112610d6f576107c6610e63565b610ae4358152608082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4fc360112610d6f57610803610e63565b610b0435815260a082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4dc360112610d6f57610840610e63565b610b2435815260c082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff4bc360112610d6f5761087d610e63565b610b4435815260e082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff49c360112610d6f576108ba610e63565b610b6435815261010082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff47c360112610d6f576108f8610e63565b610b8435815261012082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff45c360112610d6f57610936610e63565b610ba435815261014082015260207ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff43c360112610d6f57610974610e63565b610bc4358152610160820152815260807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41c360112610d6f576109b4610e22565b610be4358152610c04356020820152610c24356040820152610c44356060820152602082015260607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff39c360112610d6f57610a0c610dc1565b610c64358152610c84356020820152610ca4351515610ca43503610d6f57610ca435604082015260408201526101807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff31c360112610d6f57610a6b610e42565b90610ce4358252610d04356020830152610d24356040830152610d44356060830152610d64356080830152610d843560a0830152610da43560c0830152610dc43560e0830152610de435610100830152610e0435610120830152610e2435610140830152610e443561016083015260c07ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff19c360112610d6f576040519060c0820182811067ffffffffffffffff821117610d7357604052610e64358252610e84356020830152610ea4356040830152610ec4356060830152610ee4356080830152610f043560a083015260607ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0dc360112610d6f57610b86610dc1565b91610f24358352610f44356020840152610f64358015158103610d6f57604084015260407ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff07c360112610d6f57610c7260e09360409360209361030097610bea610e02565b610f84358152610fa43587820152610c00610e83565b50610c09610f3b565b50610c12610f83565b5060a0608001519489608001519389860151908960800151948b6080015196610c39610da0565b998a528b8a0152610cc4358c8a01526060890152608088015260a087015260c08601528885015261010084015261012083015251610f9d565b9291949061016085519680511515885284810151858901528681015151878901526060810151516060890152608081015151608089015260a08101515160a089015260c08101515160c08901528381015151848901526101008101515161010089015261012081015151610120890152610140810151516101408901520151516101608701528051610180870152828101516101a0870152848101516101c087015260608101516101e0870152608081015161020087015260a081015161022087015260c081015161024087015201518051610260860152015161028084015280516102a084015260208101516102c084015201516102e0820152f35b5f80fd5b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b60405190610140820182811067ffffffffffffffff821117610d7357604052565b604051906060820182811067ffffffffffffffff821117610d7357604052565b60405190610100820182811067ffffffffffffffff821117610d7357604052565b604051906040820182811067ffffffffffffffff821117610d7357604052565b604051906080820182811067ffffffffffffffff821117610d7357604052565b60405190610180820182811067ffffffffffffffff821117610d7357604052565b604051906020820182811067ffffffffffffffff821117610d7357604052565b610e8b610e42565b905f82525f6020830152610e9d610e63565b5f81526040830152610ead610e63565b5f81526060830152610ebd610e63565b5f81526080830152610ecd610e63565b5f815260a0830152610edd610e63565b5f815260c0830152610eed610e63565b5f815260e0830152610efd610e63565b5f8152610100830152610f0e610e63565b5f8152610120830152610f1f610e63565b5f8152610140830152610f30610e63565b5f8152610160830152565b610f43610de1565b905f82525f60208301525f60408301525f60608301525f60808301525f60a08301525f60c0830152610f73610e02565b5f81525f602082015260e0830152565b610f8b610dc1565b905f82525f60208301525f6040830152565b610fa5610e83565b90610fae610f3b565b50610fb7610f83565b50604051906102a082019082821067ffffffffffffffff831117610d73576080916040525f83525f60208401525f60408401525f60608401525f828401525f60a08401525f60c08401525f60e08401525f6101008401525f6101208401525f6101408401525f6101608401525f6101808401525f6101a08401525f6101c08401525f6101e08401525f6102008401525f6102208401525f6102408401525f6102608401525f61028084015260408101515160408501515260608101515160608501515201515160808301515260c083015160206040820151151591015160208401528252602060c0840151015160a0845101526110c26020606085015101516080850151519061232d565b80612321575f905b610140840151906110da836125c8565b620f4240820291808304620f42401490151715612061576110fa9261272a565b61026082015260c0830151604001511561231b57620f424061112b60e08501515160c0610120870151015190612623565b045b61114561016084015161113f836125c8565b9061264e565b6102808201526112b561129f61129f620f424061119f8161118e61117760608b01516080606082015191015190612787565b611188602060c08d01510151612ac0565b90612623565b0460406101008a0151015190612623565b046111cf60a08701516111b1836125c8565b6111c960608b01516080606082015191015190612787565b9161272a565b6111e760608801516080606082015191015190612787565b6122e6576112a95f915b6112a4836112a48a8c611241611233606083015161122d61121c60a083015161010084015190612787565b9160c060e082015191015190612787565b90612787565b60808084015101519061232d565b61128c8160c0620f4240611279816112686112626020868b01510151612ac0565b86612623565b046060610100890151015190612623565b04950151611286866125c8565b9061272a565b806122c85750505f9889955b8c51612787565b612787565b61232d565b85526020850151612787565b6020820152611422620f424061131a60606101208701510151826113146112f26112ed60608b01516080606082015191015190612787565b6125c8565b9261130f611307602060c08d01510151612ac0565b915194612ac0565b612623565b04612623565b0461134460e085015161132c836125c8565b6111c960608901516080606082015191015190612787565b61129f611372611363606088015161010060a082015191015190612787565b6040608089015101519061232d565b6113b9620f42406113a889826113146040610120840151015161130f611307602060c061139e8c6125c8565b9701510151612ac0565b0491610100880151611286846125c8565b6113e36113d4606089015160c060e082015191015190612787565b606060808a015101519061232d565b9261129f620f42406114118a826113148961130f611307602060c061139e60406101208a01510151956125c8565b0494610120890151611286876125c8565b60208481015101516122c257805b61143a818361232d565b9161145a604086015161144c856125c8565b6020808a0151015191612794565b6114686040850151916125c8565b905f82820192831291129080158216911516176120615760408401526114926060840151926125c8565b80808401125f8412908015821691151617612061576114bb920160608401526080830151612787565b60808201526115f2620f424061152a6060610120870151015161130f6114f26112ed60608a01516080606082015191015190612787565b91611525611507602060c08c01510151612ac0565b8661131461151e6020604087015196015197612ac0565b9283612623565b612750565b0461153c60e085015161132c836125c8565b61129f61155b611363606088015161010060a082015191015190612787565b61159b61158b60406101208a01510151611574846125c8565b611585602060c08d01510151612ac0565b916127a8565b91610100880151611286846125c8565b6115b66113d4606089015160c060e082015191015190612787565b9261129f6115e260406101208b015101518a611585602060c06115d88b6125c8565b9301510151612ac0565b94610120890151611286876125c8565b60208481015101516122bc57805b61160a818361232d565b9161161c604086015161144c856125c8565b61162a6040850151916125c8565b905f82820192831291129080158216911516176120615760408401526116546060840151926125c8565b915f83820193841291129080158216911516176120615761167e9160608401526080830151612787565b60808201526116ae6040610120850151015161169d60208601516127dc565b906040606082015191015190612d28565b602060c08501510151602060a08601510151915f8312828481031281169083858103139015161761206157620f4240926116e89203612387565b05620f42406116f682612352565b05906020808601510151155f146122b55781905b818303925f83128015828613169185121617612061576117376040860151846020808a0151015191612794565b60a084015260e083015260c0820152611771611762606085015161010060a082015191015190612787565b6040608086015101519061232d565b6117b76040610120860151015161178b60208701516127dc565b611794846125c8565b906117a6602060c08a01510151612ac0565b926040606082015191015190612db9565b6117c7828261010087015161272a565b60408301515f8282019283129112908015821691151617612061576040830152611811611802606086015160c060e082015191015190612787565b6060608087015101519061232d565b90604061012086015101519061183361182d60208801516127dc565b916125c8565b905f82820192831291129080158216911516176120615761187c9161186f9161185b856125c8565b5f03906117a6602060c08b01510151612ac0565b918261012086015161272a565b60408201515f82820192831291129080158216911516176120615760408201526101008084015101516122ac5760c0830151604001515f901561229a576118c660208501516127dc565b6060850151906118e660c06118de60a08501516125c8565b9301516125c8565b915f8382039312818412811691841390151617612061575f82820192831291129080158216911516176120615760608501519061192c6101006118de60e08501516125c8565b915f8382039312818412811691841390151617612061575f8282039212818312811691831390151617612061575b60e08551015190611988610120870151916119826060604061010086015195015101516125c8565b90612892565b620f4240811215612290575b7ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdc0811315612269575b60a0870151519160c08801515192620f42406119e68a611188602060a06115d88285015161290b565b048551611a28620f4240611a0f60208a0151611a0a611a05888c61232d565b61233a565b612387565b05611a23611a1d87516125c8565b9161233a565b612810565b93848201948512945f831292831596801585169088161761206157604083019384518084125f146122605750602083945b019384518082135f146122585750975b611a7b611a76898d61232d565b612636565b948385039685881284168689138416176120615751906002611a9d8387612e75565b148015612246575b1561220a57505050505f915b036121ad57505050620f42408502858104620f4240148615171561206157915b865184808201125f82129080158216911516176120615781620f4240810204620f4240148215171561206157611a058385611b189388620f4240621e848097029101612ae1565b0594620f4240810290808204620f4240149015171561206157611b3b9284612ae1565b9383808601125f86129080158216911516176120615760209181520152808201916101806101208801510151151580612185575b61216d575b5050807ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdc0027f80000000000000000000000000000000000000000000000000000000000000008214600116612061577ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdc08105820361206157620f42409005620f4240611c0f611c0284612ac0565b6101008901515190612623565b04621e8480611c20611a05836125c8565b0591611c2b826125c8565b905f82820392128183128116918313901516176120615782808201125f8212908015821691151617612061575f8312848481031281169085858103139015161761206157828403928082019460208a01516002611c916040830151606084015190612b49565b14612129575b505060208901516002611cb36060830151604084015190612b49565b146120e5575b505050611cd36040870151856020808b0151015191612794565b611ceb606087015184604060208b0151015191612794565b611d03608087015183606060208b0151015191612794565b610160850152610140840152610120830152610100820152620f4240611df981611d61611d3e60208801516060604082015191015190612787565b6020888101510151808210156120de57505b611188602060a08a01510151612ac0565b04826113146101208801518860e082015191611dc360208301519186611dba611d89856129b8565b9260a0611db1611dab6020890196611da5885161122d8c612aca565b90612b79565b976129b8565b91015190612623565b04905190612b79565b808211156120d757505b848110156120c65761118891611df3611a76925b60c060a0840151519301515195612b94565b9361232d565b0480620f4240810204620f4240148115171561206157620f4240611e3060206101008701510151651cae8c13e00083850204612623565b04906020850151611e40816129b8565b6120955750611e5b651cae8c13e000620f42408302046125c8565b91611e72651cae8c13e000620f42408402046125c8565b915f8412838581031281169084868103139015161761206157611ebc611ea96112ed84651cae8c13e000620f42408096020461232d565b9482611eb482612352565b059403612352565b0590611ed56040870151856020808b0151015191612794565b611eed606087015184604060208b0151015191612794565b611f05608087015183606060208b0151015191612794565b6101e08501526101c08401526101a0830152610180820152602060c08401510151602060a08501510151905f828203921281831281169183139015161761206157611f82620f424091611f7c60208701516040611f6b6020830151606084015190612787565b9101518082101561208e57506125c8565b90612387565b0592602060a08201510151602060c08301510151905f828203921281831281169183139015161761206157611fd2620f424091611f7c60208501516060611f6b6020830151604084015190612787565b05808501948186125f821290801582169115161761206157620f4240611ffa61205a97612352565b059161201460608701518360406020880151015191612794565b61202c60808701518260606020880151015191612794565b612043604087015184602080880151015191612794565b6102408501526102208401526102008301526123c5565b9192909190565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b90506125c8565b6112ed816115256120b260606040611e5b96015193015183612787565b91651cae8c13e000620f4240870204612623565b50611a7661118891611df386611de1565b9050611dcd565b9050611d50565b620f4240929650612107919395506112ed6120ff91612978565b838701612387565b059301838103905f8512801582841316918312161761206157915f8080611cb9565b61214a919750620f42409295506112ed61214291612978565b858803612387565b0594839003858103905f8712801582841316918312161761206157925f80611c97565b620f4240925061217d9101612352565b055f80611b74565b5061219182820161293d565b6121a66121a160208a01516127dc565b61293d565b1415611b6f565b620f4240850291858304620f424014861517156120615761152561122d926121d76121dd96612ac0565b92612623565b620f42408602868104620f42401487151715612061578082101561220357505b91611ad1565b90506121fd565b5f6122148961293d565b131561223d5750905b838203928284121691831316176120615761223790612ac0565b91611ab1565b9050519061221d565b50612252815186612e75565b15611aa5565b905097611a69565b60209094611a59565b507ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdc06119bd565b50620f4240611994565b6122a760208501516127dc565b61195a565b61205a926123c5565b5f9061170a565b5f611600565b5f611430565b61152561016060606122de940151015184612623565b988995611298565b6112a9612315606089015161152561230e610140830151926080606082015191015190612787565b9185612623565b916111f1565b5f61112d565b60e084015151906110ca565b9190820391821161206157565b90620f42409182810292818405149015171561206157565b907ffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0bdc09182810292818405149015171561206157565b81810292915f82127f800000000000000000000000000000000000000000000000000000000000000082141661206157818405149015171561206157565b9290916123d0610e83565b506123d9610f3b565b506123e2610f83565b506040840151610160606086015160405192835280516020840152602081015160408401526040810151606084015260608101516080840152608081015160a084015260a081015160c084015260c081015160e084015260e081015161010084015261010081015161012084015261012081015161014084015261014081015182840152015161018082015283516101a082015260208401516101c082015260408401516101e08201526060840151610200820152608084015161022082015260a084015161024082015260c084015161026082015260e084019081516102808201526101008501516102a08201526101208501516102c08201526101408501516102e08201526125b561016086019687516103008401526101808701516103208401526101a08701516103408401526101c08701516103608401526125ad6101e088019182516103808601526102008901516103a08601526102208901516103c08601526102408901516103e08601527fe627e065dccddb829dad0df21140f6b91ad7a6fe0c8dea5fd6cfc44ae84ff77f6104406102608b019687516104008201526102808c0151610420820152a151986125ad61259f610f83565b996080815191015190612787565b905190612787565b8552516020850152516040840152929190565b7f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81116125f25790565b602490604051907feecaa25d0000000000000000000000000000000000000000000000000000000082526004820152fd5b8181029291811591840414171561206157565b620f4240908181029181830414901517156120615790565b811561272657612666815192620f4240918291612352565b05906126718261293d565b917fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff908184036127125783800560011484151715612061576126b290612ac0565b908282029180830484149015171561206157816126f2575050506126d7905f90612865565b915b5f83820193841291129080158216911516176120615752565b810190811161206157049060018201809211612061576126d79190612865565b905061271f91925061233a565b05916126d9565b5050565b9091821561274b576126d790620f4240612745845195612352565b056129cf565b505050565b811561275a570490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601260045260245ffd5b9190820180921161206157565b9091821561274b576126d7908251936129cf565b9061130f6127d892611525611314956127ca6020606085015194015195612ac0565b90620f424097889183612623565b0490565b6127f660606127ee60408401516125c8565b9201516125c8565b905f82820392128183128116918313901516176120615790565b811561275a577fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82147f8000000000000000000000000000000000000000000000000000000000000000821416612061570590565b5f8113612885575f1361287757505f90565b612880906125c8565b5f0390565b5061288f906125c8565b90565b90806128ff57506128a290612e5d565b600281146128da57156128b657620f424090565b7f800000000000000000000000000000000000000000000000000000000000000090565b507f7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b611a2361288f9261233a565b61292c612917826129b8565b91602061292382612aca565b91015190612787565b80821015612938575090565b905090565b5f8113612972575f1361294e575f90565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90565b50600190565b6129818161290b565b61298a57505f90565b806129b26129ac61299d61288f9461290b565b6129a684612aca565b9061232d565b9161290b565b90612b5a565b606060408201519101518082115f14612938575090565b906129d98261293d565b907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff90818303612aac57612a25612a1f612a15612a2b936125c8565b94611f7c8661293d565b94612ac0565b92612ac0565b90620f424092838102938185041490151715612061578115612a825782612a5a5750505061288f905f90612865565b820191821161206157612a6c91612750565b90600182018092116120615761288f9190612865565b60046040517f23d359a3000000000000000000000000000000000000000000000000000000008152fd5b61288f939250611a239150611a1d906125c8565b5f81126128805790565b606060408201519101518082105f14612938575090565b651cae8c13e00093611f7c612b1694612b09612b1094611f7c6112ed620f424098899561232d565b05916125c8565b0561233a565b0590565b620f424090818111612b345710612b3057600190565b5f90565b5050600290565b612b4457600190565b600290565b818111612b345710612b3057600190565b90620f4240918281029281840414901517156120615761288f91612750565b9080612b8b575061294e57620f424090565b61288f91612b5a565b90606082018051612ba58184612b49565b8015612cc4575050612bb682612b1a565b908115612bc7575050506020015190565b5190612be5612bdf60206040870151960151956125c8565b946125c8565b90612bf08385612b49565b15908115612cb9575b50612c8f57620f4240928284039284841161206157858303925f8712801582861316918512161761206157612c3d93612c386112ed92611f7c9461232d565b612b5a565b055f8282019283129112908015821691151617612061575f8112612c5e5790565b602490604051907fb02ef0870000000000000000000000000000000000000000000000000000000082526004820152fd5b60046040517f4a83a53f000000000000000000000000000000000000000000000000000000008152fd5b60029150145f612bf9565b90929150612cdb612bdf60408651960151956125c8565b90612ce583612b3b565b15908115612d1d575b50612c8f57838103905f8512801582841316918312161761206157611f7c6112ed620f424094612c3d94612b5a565b60029150145f612cee565b908215612db2578115612d8857612d3e826125c8565b1561275a57621e8480612d81612b0994612d7a612d69612d60612b16976125c8565b611a238461233a565b94611f7c620f42408099819561233a565b059261233a565b0590612387565b60046040517fc7d40ac9000000000000000000000000000000000000000000000000000000008152fd5b5050505f90565b91939293801580612e55575b612e4c578215612d8857611f7c91611f7c612dfe612df5612def612e1095611a23611a1d8a6125c8565b966125c8565b611a238961233a565b95612b09620f424098899687936125c8565b0590828101928312905f81129081159280158316908416176120615784019384129081151691161761206157621e8480612d81612b169361233a565b50505050505f90565b508415612dc5565b5f8113612e6f575f13612b3057600190565b50600290565b818113612b345712612b305760019056fea264697066735822122030dc0f37d95107889d15ba62a0694abbd72a5897a811d281994ea9c81a73970b64736f6c63430008180033