{"abi":[{"type":"constructor","inputs":[{"name":"registry","type":"address","internalType":"contract ISchemaRegistry"}],"stateMutability":"nonpayable"},{"type":"function","name":"attest","inputs":[{"name":"request","type":"tuple","internalType":"struct AttestationRequest","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple","internalType":"struct AttestationRequestData","components":[{"name":"recipient","type":"address","internalType":"address"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}]}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"attestByDelegation","inputs":[{"name":"delegatedRequest","type":"tuple","internalType":"struct DelegatedAttestationRequest","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple","internalType":"struct AttestationRequestData","components":[{"name":"recipient","type":"address","internalType":"address"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"name":"signature","type":"tuple","internalType":"struct Signature","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"name":"attester","type":"address","internalType":"address"},{"name":"deadline","type":"uint64","internalType":"uint64"}]}],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"payable"},{"type":"function","name":"eip712Domain","inputs":[],"outputs":[{"name":"fields","type":"bytes1","internalType":"bytes1"},{"name":"name","type":"string","internalType":"string"},{"name":"version","type":"string","internalType":"string"},{"name":"chainId","type":"uint256","internalType":"uint256"},{"name":"verifyingContract","type":"address","internalType":"address"},{"name":"salt","type":"bytes32","internalType":"bytes32"},{"name":"extensions","type":"uint256[]","internalType":"uint256[]"}],"stateMutability":"view"},{"type":"function","name":"getAttestTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"getAttestation","inputs":[{"name":"uid","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"tuple","internalType":"struct Attestation","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"time","type":"uint64","internalType":"uint64"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocationTime","type":"uint64","internalType":"uint64"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"recipient","type":"address","internalType":"address"},{"name":"attester","type":"address","internalType":"address"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"data","type":"bytes","internalType":"bytes"}]}],"stateMutability":"view"},{"type":"function","name":"getDomainSeparator","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"view"},{"type":"function","name":"getName","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"function","name":"getNonce","inputs":[{"name":"account","type":"address","internalType":"address"}],"outputs":[{"name":"","type":"uint256","internalType":"uint256"}],"stateMutability":"view"},{"type":"function","name":"getRevokeOffchain","inputs":[{"name":"revoker","type":"address","internalType":"address"},{"name":"data","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"getRevokeTypeHash","inputs":[],"outputs":[{"name":"","type":"bytes32","internalType":"bytes32"}],"stateMutability":"pure"},{"type":"function","name":"getSchemaRegistry","inputs":[],"outputs":[{"name":"","type":"address","internalType":"contract ISchemaRegistry"}],"stateMutability":"view"},{"type":"function","name":"getTimestamp","inputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"view"},{"type":"function","name":"increaseNonce","inputs":[{"name":"newNonce","type":"uint256","internalType":"uint256"}],"outputs":[],"stateMutability":"nonpayable"},{"type":"function","name":"isAttestationValid","inputs":[{"name":"uid","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"bool","internalType":"bool"}],"stateMutability":"view"},{"type":"function","name":"multiAttest","inputs":[{"name":"multiRequests","type":"tuple[]","internalType":"struct MultiAttestationRequest[]","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple[]","internalType":"struct AttestationRequestData[]","components":[{"name":"recipient","type":"address","internalType":"address"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}]}]}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"payable"},{"type":"function","name":"multiAttestByDelegation","inputs":[{"name":"multiDelegatedRequests","type":"tuple[]","internalType":"struct MultiDelegatedAttestationRequest[]","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple[]","internalType":"struct AttestationRequestData[]","components":[{"name":"recipient","type":"address","internalType":"address"},{"name":"expirationTime","type":"uint64","internalType":"uint64"},{"name":"revocable","type":"bool","internalType":"bool"},{"name":"refUID","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"bytes","internalType":"bytes"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"name":"signatures","type":"tuple[]","internalType":"struct Signature[]","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"name":"attester","type":"address","internalType":"address"},{"name":"deadline","type":"uint64","internalType":"uint64"}]}],"outputs":[{"name":"","type":"bytes32[]","internalType":"bytes32[]"}],"stateMutability":"payable"},{"type":"function","name":"multiRevoke","inputs":[{"name":"multiRequests","type":"tuple[]","internalType":"struct MultiRevocationRequest[]","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple[]","internalType":"struct RevocationRequestData[]","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"uint256","internalType":"uint256"}]}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"multiRevokeByDelegation","inputs":[{"name":"multiDelegatedRequests","type":"tuple[]","internalType":"struct MultiDelegatedRevocationRequest[]","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple[]","internalType":"struct RevocationRequestData[]","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"name":"signatures","type":"tuple[]","internalType":"struct Signature[]","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"name":"revoker","type":"address","internalType":"address"},{"name":"deadline","type":"uint64","internalType":"uint64"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"multiRevokeOffchain","inputs":[{"name":"data","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"multiTimestamp","inputs":[{"name":"data","type":"bytes32[]","internalType":"bytes32[]"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"revoke","inputs":[{"name":"request","type":"tuple","internalType":"struct RevocationRequest","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple","internalType":"struct RevocationRequestData","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"uint256","internalType":"uint256"}]}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeByDelegation","inputs":[{"name":"delegatedRequest","type":"tuple","internalType":"struct DelegatedRevocationRequest","components":[{"name":"schema","type":"bytes32","internalType":"bytes32"},{"name":"data","type":"tuple","internalType":"struct RevocationRequestData","components":[{"name":"uid","type":"bytes32","internalType":"bytes32"},{"name":"value","type":"uint256","internalType":"uint256"}]},{"name":"signature","type":"tuple","internalType":"struct Signature","components":[{"name":"v","type":"uint8","internalType":"uint8"},{"name":"r","type":"bytes32","internalType":"bytes32"},{"name":"s","type":"bytes32","internalType":"bytes32"}]},{"name":"revoker","type":"address","internalType":"address"},{"name":"deadline","type":"uint64","internalType":"uint64"}]}],"outputs":[],"stateMutability":"payable"},{"type":"function","name":"revokeOffchain","inputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"timestamp","inputs":[{"name":"data","type":"bytes32","internalType":"bytes32"}],"outputs":[{"name":"","type":"uint64","internalType":"uint64"}],"stateMutability":"nonpayable"},{"type":"function","name":"version","inputs":[],"outputs":[{"name":"","type":"string","internalType":"string"}],"stateMutability":"view"},{"type":"event","name":"Attested","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"attester","type":"address","indexed":true,"internalType":"address"},{"name":"uid","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"schemaUID","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"EIP712DomainChanged","inputs":[],"anonymous":false},{"type":"event","name":"NonceIncreased","inputs":[{"name":"oldNonce","type":"uint256","indexed":false,"internalType":"uint256"},{"name":"newNonce","type":"uint256","indexed":false,"internalType":"uint256"}],"anonymous":false},{"type":"event","name":"Revoked","inputs":[{"name":"recipient","type":"address","indexed":true,"internalType":"address"},{"name":"attester","type":"address","indexed":true,"internalType":"address"},{"name":"uid","type":"bytes32","indexed":false,"internalType":"bytes32"},{"name":"schemaUID","type":"bytes32","indexed":true,"internalType":"bytes32"}],"anonymous":false},{"type":"event","name":"RevokedOffchain","inputs":[{"name":"revoker","type":"address","indexed":true,"internalType":"address"},{"name":"data","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"timestamp","type":"uint64","indexed":true,"internalType":"uint64"}],"anonymous":false},{"type":"event","name":"Timestamped","inputs":[{"name":"data","type":"bytes32","indexed":true,"internalType":"bytes32"},{"name":"timestamp","type":"uint64","indexed":true,"internalType":"uint64"}],"anonymous":false},{"type":"error","name":"AccessDenied","inputs":[]},{"type":"error","name":"AlreadyRevoked","inputs":[]},{"type":"error","name":"AlreadyRevokedOffchain","inputs":[]},{"type":"error","name":"AlreadyTimestamped","inputs":[]},{"type":"error","name":"DeadlineExpired","inputs":[]},{"type":"error","name":"FailedCall","inputs":[]},{"type":"error","name":"InsufficientBalance","inputs":[{"name":"balance","type":"uint256","internalType":"uint256"},{"name":"needed","type":"uint256","internalType":"uint256"}]},{"type":"error","name":"InsufficientValue","inputs":[]},{"type":"error","name":"InvalidAttestation","inputs":[]},{"type":"error","name":"InvalidAttestations","inputs":[]},{"type":"error","name":"InvalidExpirationTime","inputs":[]},{"type":"error","name":"InvalidLength","inputs":[]},{"type":"error","name":"InvalidNonce","inputs":[]},{"type":"error","name":"InvalidOffset","inputs":[]},{"type":"error","name":"InvalidRegistry","inputs":[]},{"type":"error","name":"InvalidRevocation","inputs":[]},{"type":"error","name":"InvalidRevocations","inputs":[]},{"type":"error","name":"InvalidSchema","inputs":[]},{"type":"error","name":"InvalidShortString","inputs":[]},{"type":"error","name":"InvalidSignature","inputs":[]},{"type":"error","name":"InvalidVerifier","inputs":[]},{"type":"error","name":"Irrevocable","inputs":[]},{"type":"error","name":"NotFound","inputs":[]},{"type":"error","name":"NotPayable","inputs":[]},{"type":"error","name":"StringTooLong","inputs":[{"name":"str","type":"string","internalType":"string"}]},{"type":"error","name":"WrongSchema","inputs":[]}],"bytecode":{"object":"0x6101e0806040523461032c5760208161493c80380380916100208285610330565b83398101031261032c57516001600160a01b0381169081810361032c576040519161004c604084610330565b60038352602083016245415360e81b81526040519061006c604083610330565b600582526020820190640312e332e360dc1b82526001608052600360a0525f60c05261009786610353565b610180526100a4836104d5565b6101a05285519020918261014052519020806101605246610100526040519060208201927f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f8452604083015260608201524660808201523060a082015260a0815261011060c082610330565b51902060e052306101205282516001600160401b03811161031857600254600181811c9116801561030e575b60208210146102fa57601f8111610297575b506020601f821160011461023457819293945f92610229575b50508160011b915f199060031b1c1916176002555b1561021a576101c05260405161432e908161060e8239608051816108dc015260a05181610907015260c05181610932015260e05181613712015261010051816137cf015261012051816136e301526101405181613761015261016051816137870152610180518161075b01526101a0518161078701526101c0518181816101e401528181611e6601528181612186015281816125d00152612d2e0152f35b6311a1e69760e01b5f5260045ffd5b015190505f80610167565b601f1982169060025f52805f20915f5b81811061027f57509583600195969710610267575b505050811b0160025561017c565b01515f1960f88460031b161c191690555f8080610259565b9192602060018192868b015181550194019201610244565b60025f527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace601f830160051c810191602084106102f0575b601f0160051c01905b8181106102e5575061014e565b5f81556001016102d8565b90915081906102cf565b634e487b7160e01b5f52602260045260245ffd5b90607f169061013c565b634e487b7160e01b5f52604160045260245ffd5b5f80fd5b601f909101601f19168101906001600160401b0382119082101761031857604052565b908151602081105f146103cd575090601f81511161038d57602081519101516020821061037e571790565b5f198260200360031b1b161790565b604460209160405192839163305a27a960e01b83528160048401528051918291826024860152018484015e5f828201840152601f01601f19168101030190fd5b6001600160401b038111610318575f54600181811c911680156104cb575b60208210146102fa57601f8111610499575b50602092601f821160011461043a57928192935f9261042f575b50508160011b915f199060031b1c1916175f5560ff90565b015190505f80610417565b601f198216935f8052805f20915f5b8681106104815750836001959610610469575b505050811b015f5560ff90565b01515f1960f88460031b161c191690555f808061045c565b91926020600181928685015181550194019201610449565b5f8052601f60205f20910160051c810190601f830160051c015b8181106104c057506103fd565b5f81556001016104b3565b90607f16906103eb565b908151602081105f14610500575090601f81511161038d57602081519101516020821061037e571790565b6001600160401b03811161031857600154600181811c91168015610603575b60208210146102fa57601f81116105d0575b50602092601f821160011461056f57928192935f92610564575b50508160011b915f199060031b1c19161760015560ff90565b015190505f8061054b565b601f1982169360015f52805f20915f5b8681106105b857508360019596106105a0575b505050811b0160015560ff90565b01515f1960f88460031b161c191690555f8080610592565b9192602060018192868501518155019401920161057f565b60015f52601f60205f20910160051c810190601f830160051c015b8181106105f85750610531565b5f81556001016105eb565b90607f169061051f56fe60806040526004361015610011575f80fd5b5f3560e01c80630eabf66014610edb57806312b11a1714610ea157806313893f6114610e3057806317d7de7c14610d485780632d0335ab14610d035780633c04271514610c1157806344adc90e14610b325780634692626714610af25780634cb7e9e514610a215780634d003070146109f757806354fd4d50146108bd57806379f7573a1461082c57806384b0196e14610743578063954115251461050e578063a3112a64146104c3578063a6d4dbc7146103c2578063b469318d14610367578063b83010d31461032d578063cf190f3414610302578063d45c4435146102ce578063e30bb5631461029a578063e71ff3651461022a578063ed24911d14610208578063f10b5cc8146101b85763f17325e71461012c575f80fd5b60206003193601126101b45760043567ffffffffffffffff81116101b45780600401604060031983360301126101b45760206101a481936101ab93610186610172611732565b92610181602436920184611797565b611675565b61018f836114fd565b52610199826114fd565b503491339135612562565b01516114fd565b51604051908152f35b5f80fd5b346101b4575f6003193601126101b457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101b4575f6003193601126101b45760206102226136cc565b604051908152f35b346101b45760206003193601126101b45760043567ffffffffffffffff81116101b45761025b9036906004016110f9565b9067ffffffffffffffff4216915f5b81811061027c57602084604051908152f35b806102948561028e6001948688611558565b3561349b565b0161026a565b346101b45760206003193601126101b45760206102c46004355f52600460205260405f2054151590565b6040519015158152f35b346101b45760206003193601126101b4576004355f526005602052602067ffffffffffffffff60405f205416604051908152f35b346101b45760206003193601126101b457602067ffffffffffffffff42166102228160043533612348565b346101b4575f6003193601126101b45760206040517fb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e758152f35b346101b45760406003193601126101b45773ffffffffffffffffffffffffffffffffffffffff61039561114f565b165f52600660205260405f206024355f52602052602067ffffffffffffffff60405f205416604051908152f35b6101006003193601126101b4576040516103db81611300565b6004358082526103ea366113f5565b602083015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c3601126101b45760405161042581611365565b60643560ff811681036101b4578152608435602082015260a4356040820152604083015260c43573ffffffffffffffffffffffffffffffffffffffff811681036101b45780606084015260e43567ffffffffffffffff811681036101b457836104959160806104c1960152611b1f565b61049d611933565b6104a6366113f5565b6104af826114fd565b526104b9816114fd565b503492611e1b565b005b346101b45760206003193601126101b4576104dc611a04565b506004355f52600460205261050a6104f660405f20611a4e565b6040519182916020835260208301906111ff565b0390f35b60206003193601126101b45760043567ffffffffffffffff81116101b45761053a9036906004016110f9565b90610544826117eb565b915f915f1982019083345b84821061056f5761050a6105638789613433565b60405191829182611193565b61057f82868599969897996112c0565b9461058d6020870187611873565b9390918415801561072b575b610703575f9996604089019460608a01968a359960808c01359967ffffffffffffffff8b16809b14159e5b83811015610694578f908e6105e98c6105e38d8560051b810190611797565b926119b0565b831015610667576105f98e6117ca565b936101b4578f908f9060019561064c73ffffffffffffffffffffffffffffffffffffffff9261063b610661976040519761063289611300565b88523690611675565b6020870152369060608902016114aa565b60408501521660608301526080820152612414565b016105c4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b509a8d9e506106d1949c50839a50600198506106cb6106da9698889f6106c39060209a9d9796959d14966117ca565b9336916118c7565b90612cbd565b9586519061151e565b940180516106e8898961150a565b526106f3888861150a565b505151019501909395929161054f565b7f947d5a84000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061073960408901896119b0565b9050851415610599565b346101b4575f6003193601126101b4576107fe61077f7f0000000000000000000000000000000000000000000000000000000000000000613e65565b61050a6107ab7f0000000000000000000000000000000000000000000000000000000000000000613edd565b61080c604051916107bd6020846113ba565b5f83525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e087019061112a565b90858203604087015261112a565b904660608501523060808501525f60a085015283820360c08501526111cc565b346101b45760206003193601126101b457600435335f52600360205260405f20549081811115610895577f57b09af877df9068fd60a69d7b21f5576b8b38955812d6ae4ac52942f1e38fb791604091335f52600360205280835f205582519182526020820152a1005b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101b4575f6003193601126101b45761050a60206109e360016109007f0000000000000000000000000000000000000000000000000000000000000000613547565b818461092b7f0000000000000000000000000000000000000000000000000000000000000000613547565b81806109567f0000000000000000000000000000000000000000000000000000000000000000613547565b9260405199878b985191829101848a015e8701907f2e0000000000000000000000000000000000000000000000000000000000000083830152805192839101602183015e0101907f2e0000000000000000000000000000000000000000000000000000000000000084830152805192839101600283015e01015f838201520301601f1981018352826113ba565b60405191829160208352602083019061112a565b346101b45760206003193601126101b457602067ffffffffffffffff42166102228160043561349b565b60206003193601126101b45760043567ffffffffffffffff81116101b457610a4d9036906004016110f9565b5f19810191905f90345b818310610a6057005b610a6b838386611833565b60208101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101b45781019182359267ffffffffffffffff84116101b457602001928060061b360384136101b45760019382610ae492610aea95610add8c8b14943393369161143b565b903561213a565b9061151e565b920191610a57565b60606003193601126101b4576104c1610b09611933565b610b12366113f5565b610b1b826114fd565b52610b25816114fd565b5034903390600435611e1b565b60206003193601126101b45760043567ffffffffffffffff81116101b457610b5e9036906004016110f9565b90610b68826117eb565b915f9134905f925f198101905b808510610b895761050a6105638789613433565b9091929394610b99868386611833565b906020820191610ba98382611873565b90501561070357610be9610be089898885610bd9610bcb60019a602099611873565b9390951494339336916118c7565b9035612cbd565b9788519061151e565b96018051610bf7898b61150a565b52610c02888a61150a565b50515101950193929190610b75565b60206003193601126101b45760043567ffffffffffffffff81116101b457806004019060e060031982360301126101b457604051610c4e81611300565b823592838252602483019384359467ffffffffffffffff86116101b457610cfb6101ab95610ce26101a495610ccf60209a98610c918c9a60043691880101611675565b8a820152610ca236604487016114aa565b6040820152610cc560c460a4870196610cba88611172565b6060850152016114e8565b6080820152612414565b610181610cda611732565b953692611797565b610ceb846114fd565b52610cf5836114fd565b506117ca565b903492612562565b346101b45760206003193601126101b45773ffffffffffffffffffffffffffffffffffffffff610d3161114f565b165f526003602052602060405f2054604051908152f35b346101b4575f6003193601126101b4576040515f600254610d6881611568565b8084529060018116908115610dee5750600114610d90575b61050a836109e3818503826113ba565b60025f9081527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210610dd4575090915081016020016109e3610d80565b919260018160209254838588010152019101909291610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506109e39050610d80565b346101b45760206003193601126101b45760043567ffffffffffffffff81116101b457610e619036906004016110f9565b9067ffffffffffffffff4216915f5b818110610e8257602084604051908152f35b80610e9b85610e946001948688611558565b3533612348565b01610e70565b346101b4575f6003193601126101b45760206040517ffeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d9880768152f35b60206003193601126101b45760043567ffffffffffffffff81116101b457610f079036906004016110f9565b5f198101915f91345b818410610f1957005b610f248483856112c0565b60a0813603126101b457604051610f3a81611300565b81358152602082013567ffffffffffffffff81116101b457820136601f820112156101b457610f7090369060208135910161143b565b9060208101918252604083013567ffffffffffffffff81116101b457830136601f820112156101b457803590610fa5826113dd565b91610fb360405193846113ba565b808352602060608185019202830101913683116101b457602001905b8282106110df5750505060408201818152610fff6080610ff160608801611172565b9660608601978852016114e8565b9360808401948552519384519283159081156110d3575b50610703575f5b8381106110605750505050611058928460019593610ae493519073ffffffffffffffffffffffffffffffffffffffff8c8c149451169161213a565b930192610f10565b6001906110cd8651611072838a61150a565b5161107e84885161150a565b5173ffffffffffffffffffffffffffffffffffffffff8c51169067ffffffffffffffff88511692604051946110b286611300565b85526020850152604084015260608301526080820152611b1f565b0161101d565b9050518314158c611016565b60206060916110ee36856114aa565b815201910190610fcf565b9181601f840112156101b45782359167ffffffffffffffff83116101b4576020808501948460051b0101116101b457565b90601f19601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101b457565b359073ffffffffffffffffffffffffffffffffffffffff821682036101b457565b60206040818301928281528451809452019201905f5b8181106111b65750505090565b82518452602093840193909201916001016111a9565b90602080835192838152019201905f5b8181106111e95750505090565b82518452602093840193909201916001016111dc565b906101406101206112bd93805184526020810151602085015267ffffffffffffffff604082015116604085015267ffffffffffffffff606082015116606085015267ffffffffffffffff608082015116608085015260a081015160a085015273ffffffffffffffffffffffffffffffffffffffff60c08201511660c085015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e0850152610100810151151561010085015201519181610120820152019061112a565b90565b91908110156106675760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61813603018212156101b4570190565b60a0810190811067ffffffffffffffff82111761131c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761131c57604052565b6060810190811067ffffffffffffffff82111761131c57604052565b60c0810190811067ffffffffffffffff82111761131c57604052565b610140810190811067ffffffffffffffff82111761131c57604052565b90601f601f19910116810190811067ffffffffffffffff82111761131c57604052565b67ffffffffffffffff811161131c5760051b60200190565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60409101126101b4576040519061142c82611349565b60243582526044356020830152565b929192611447826113dd565b9361145560405195866113ba565b602085848152019260061b8201918183116101b457925b8284106114795750505050565b6040848303126101b4576020604091825161149381611349565b86358152828701358382015281520193019261146c565b91908260609103126101b4576040516114c281611365565b8092803560ff811681036101b45760409182918452602081013560208501520135910152565b359067ffffffffffffffff821682036101b457565b8051156106675760200190565b80518210156106675760209160051b010190565b9190820391821161152b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b91908110156106675760051b0190565b90600182811c921680156115af575b602083101461158257565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611577565b5f92918154916115c883611568565b808352926001811690811561161d57506001146115e457505050565b5f9081526020812093945091925b838310611603575060209250010190565b6001816020929493945483858701015201910191906115f2565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b67ffffffffffffffff811161131c57601f01601f191660200190565b919060c0838203126101b4576040519061168e82611381565b819361169981611172565b83526116a7602082016114e8565b6020840152604081013580151581036101b457604084015260608101356060840152608081013567ffffffffffffffff81116101b45781019082601f830112156101b4578135926116f784611659565b9061170560405192836113ba565b848252602085850101116101b4575f60208560a09682889701838601378301015260808501520135910152565b6040805190919061174383826113ba565b6001815291601f1901825f5b82811061175b57505050565b60209060405161176a81611381565b5f81525f838201525f60408201525f6060820152606060808201525f60a08201528282850101520161174f565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41813603018212156101b4570190565b3573ffffffffffffffffffffffffffffffffffffffff811681036101b45790565b906117f5826113dd565b61180260405191826113ba565b828152601f1961181282946113dd565b01905f5b82811061182257505050565b806060602080938501015201611816565b91908110156106675760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1813603018212156101b4570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b4570180359067ffffffffffffffff82116101b457602001918160051b360383136101b457565b9291906118d3816113dd565b936118e160405195866113ba565b602085838152019160051b8101918383116101b45781905b838210611907575050505050565b813567ffffffffffffffff81116101b4576020916119288784938701611675565b8152019101906118f9565b6040805190919061194483826113ba565b6001815291601f1901825f5b82811061195c57505050565b60209060405161196b81611349565b5f81525f8382015282828501015201611950565b90611989826113dd565b61199660405191826113ba565b828152601f196119a682946113dd565b0190602036910137565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b4570180359067ffffffffffffffff82116101b4576020019160608202360383136101b457565b60405190611a118261139d565b6060610120835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201520152565b906006610120604051611a608161139d565b611b0d8195805483526001810154602084015267ffffffffffffffff60028201548181166040860152818160401c16606086015260801c166080840152600381015460a084015273ffffffffffffffffffffffffffffffffffffffff60048201541660c084015260ff600582015473ffffffffffffffffffffffffffffffffffffffff811660e086015260a01c161515610100840152611b0660405180968193016115b9565b03846113ba565b0152565b5f19811461152b5760010190565b6080810167ffffffffffffffff8151168015159081611cc9575b50611ca1578173ffffffffffffffffffffffffffffffffffffffff611c026020611c729501519260408101519460608201948486511692519160208251920151845f52600360205267ffffffffffffffff60405f2092835493611b9b85611b11565b90555116926040519460208601967fb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e75885260408701526060860152608085015260a084015260c083015260e082015260e08152611bfa610100826113ba565b5190206137f5565b915116611c6d6020840151611c5f60ff60408701519651166040519687936020850191926041937fff00000000000000000000000000000000000000000000000000000000000000928452602084015260f81b1660408201520190565b03601f1981018552846113ba565b613836565b15611c7957565b7f8baa579f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1ab7da6b000000000000000000000000000000000000000000000000000000005f5260045ffd5b905067ffffffffffffffff4216115f611b39565b519081151582036101b457565b6020818303126101b45780519067ffffffffffffffff82116101b45701906080828203126101b457604051916080830183811067ffffffffffffffff82111761131c5760405280518352602081015173ffffffffffffffffffffffffffffffffffffffff811681036101b4576020840152611d6760408201611cdd565b604084015260608101519067ffffffffffffffff82116101b4570181601f820112156101b457805190611d9982611659565b92611da760405194856113ba565b828452602083830101116101b457815f9260208093018386015e83010152606082015290565b90611dd7826113dd565b611de460405191826113ba565b828152601f19611df482946113dd565b01905f5b828110611e0457505050565b602090611e0f611a04565b82828501015201611df8565b9190604051907fa2ea7c6e0000000000000000000000000000000000000000000000000000000082528360048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561212f575f9261210b575b508151156120bb5792835190611eab82611dcd565b93611eb58361197f565b954267ffffffffffffffff16905f5b858110611edf57505050505050916112bd93916001936139f4565b611ee9818361150a565b519081515f52600460205260405f20918254156120e357866001840154036120bb57600583015473ffffffffffffffffffffffffffffffffffffffff8716908173ffffffffffffffffffffffffffffffffffffffff8216036120935760a01c60ff161561206b57600284019167ffffffffffffffff835460801c16612043577ff930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f615602073ffffffffffffffffffffffffffffffffffffffff8f8f88612030918f99936120068f9d61200160019f60c098907fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b611a4e565b612010848461150a565b5261201b838361150a565b5061202a83888b01519261150a565b5261150a565b510151169251604051908152a401611ec4565b7f905e7107000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f157bd4c3000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4ca88867000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fbf37b20e000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc5723b51000000000000000000000000000000000000000000000000000000005f5260045ffd5b6121289192503d805f833e61212081836113ba565b810190611cea565b905f611e96565b6040513d5f823e3d90fd5b949392916040517fa2ea7c6e0000000000000000000000000000000000000000000000000000000081528660048201525f8160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561212f575f9161232e575b508051156120bb5782516121c981611dcd565b926121d38261197f565b944267ffffffffffffffff16905f5b8481106121f95750505050506112bd9596506139f4565b612203818361150a565b519081515f52600460205260405f208054156120e3578d6001820154036120bb57600581015473ffffffffffffffffffffffffffffffffffffffff8716908173ffffffffffffffffffffffffffffffffffffffff8216036120935760a01c60ff161561206b57600282019367ffffffffffffffff855460801c16612043578f92602073ffffffffffffffffffffffffffffffffffffffff60c08f8f899061231b926120068f9861200160019f9a7ff930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f6159b907fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b510151169251604051908152a4016121e2565b61234291503d805f833e61212081836113ba565b5f6121b6565b73ffffffffffffffffffffffffffffffffffffffff1691825f52600660205260405f2090825f528160205267ffffffffffffffff60405f2054166123ec5767ffffffffffffffff91835f5260205260405f208282167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617905516917f92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a22295f80a4565b7fec9d6eeb000000000000000000000000000000000000000000000000000000005f5260045ffd5b6080810167ffffffffffffffff8151168015159081612535575b50611ca1578173ffffffffffffffffffffffffffffffffffffffff611c026020611c7295015192604081015194606082019484865116925191858251169167ffffffffffffffff602082015116906040810151151560608201519060a060808401516020815191012093015193885f52600360205267ffffffffffffffff60405f20968754976124bd89611b11565b90555116966040519860208a019a7ffeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d9880768c5260408b015260608a0152608089015260a088015260c087015260e08601526101008501526101208401526101408301526101608201526101608152611bfa610180826113ba565b905067ffffffffffffffff4216115f61242e565b6040519061255682611349565b60606020835f81520152565b929161256c612549565b50815193612578612549565b946125828161197f565b6020870152604051917fa2ea7c6e0000000000000000000000000000000000000000000000000000000083528060048401525f8360248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa92831561212f575f93612ca1575b508251156120bb5761261482949592611dcd565b9361261e8161197f565b955f935b8285106126415750505050509161263c9391600193613c67565b815290565b9195999094989397612656898499959961150a565b519960208b019767ffffffffffffffff8951168015159081612c8c575b50612c645760408201511580612c57575b61206b5789988c6060810151915167ffffffffffffffff1691815173ffffffffffffffffffffffffffffffffffffffff1690604083015115159260800151936040519d8e6126d18161139d565b5f8152602001528d4267ffffffffffffffff1660408201526060015260808d015f905260a08d015260c08c015273ffffffffffffffffffffffffffffffffffffffff8a1660e08c01526101008b01526101208a01525f5b60208a015160c08b015160e08c01519060408d01518d606081015161010082015115159060a08301519261012001519360405196879660208801998a5260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604088015260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016605487015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016606886015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016607085015260f81b6078840152607983015280516020819201609984015e81018460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166099820152036099017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48101825260040161288990826113ba565b519020805f52600460205260405f2054156128ad575060010163ffffffff16612728565b91979d99939b929895949c9050999599818452815f52600460205260405f2084518155602085015160018201556129b36002820167ffffffffffffffff80604089015116167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617815560608701517fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff6fffffffffffffffff000000000000000083549260401b16911617815567ffffffffffffffff6080880151167fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b60a085810151600383015560c08601516004830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560e08701516005840180546101008a01517fffffffffffffffffffffff000000000000000000000000000000000000000000909116929093169190911791151590921b74ff00000000000000000000000000000000000000001617905561012085015180519067ffffffffffffffff821161131c57612a886006840154611568565b601f8111612c13575b50909e9f9e8994939291602090601f8311600114612ba557600692915f9183612b9a575b50505f198260011b9260031b1c1916179101555b8d8c8c606084015180612b6f575b5086602073ffffffffffffffffffffffffffffffffffffffff95948794612b09848660019e61202a83612b219a61150a565b50612b198460a08901519261150a565b52015161150a565b5251166040519182527f8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35602073ffffffffffffffffffffffffffffffffffffffff891693a401939190612622565b92505050612b8a9193505f52600460205260405f2054151590565b156120e35786918d8c8c5f612ad7565b015190505f80612ab5565b90600684015f52805f20915f5b601f1985168110612bf8575091839160019383601f196006971610612be0575b505050811b01910155612ac9565b01515f1960f88460031b161c191690555f8080612bd2565b8183015184558d985060019093019260209283019201612bb2565b600684015f5260205f20601f840160051c810160208510612c50575b601f830160051c82018110612c45575050612a91565b5f8155600101612c2f565b5080612c2f565b5060408c01511515612684565b7f08e8b937000000000000000000000000000000000000000000000000000000005f5260045ffd5b905067ffffffffffffffff421610155f612673565b612cb69193503d805f833e61212081836113ba565b915f612600565b9290949391612cca612549565b50855193612cd6612549565b94612ce08161197f565b6020870152604051907fa2ea7c6e0000000000000000000000000000000000000000000000000000000082528260048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561212f575f92613417575b508151156120bb5792979091612d7384611dcd565b98612d7d8561197f565b945f935b818510612d995750505050509561263c949596613c67565b91959398949699909297612dad8a8461150a565b519a60208c019867ffffffffffffffff8a51168015159081613402575b50612c6457604081015115806133f5575b61206b578a998d6060810151915167ffffffffffffffff1691815173ffffffffffffffffffffffffffffffffffffffff1690604083015115159260800151936040519e8f90612e298261139d565b5f825260208201524267ffffffffffffffff166040820152606001528d608081015f905260a0015260c08d015273ffffffffffffffffffffffffffffffffffffffff8b1660e08d01526101008c01526101208b01525f5b60208b015160c08c015160e08d0151908d604081015190606081015161010082015115159060a08301519261012001519360405196879660208801998a5260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604088015260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016605487015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016606886015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016607085015260f81b6078840152607983015280516020819201609984015e81018460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166099820152036099017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe481018252600401612fe290826113ba565b519020805f52600460205260405f205415613006575060010163ffffffff16612e80565b90509d979b9199929a949d9c909698939c808452805f52600460205260405f2091845183556020850151600184015561310e6002840167ffffffffffffffff80604089015116167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617815560608701517fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff6fffffffffffffffff000000000000000083549260401b16911617815567ffffffffffffffff6080880151167fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b60a0850151600384015573ffffffffffffffffffffffffffffffffffffffff60c08601511673ffffffffffffffffffffffffffffffffffffffff6004850191167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556005830173ffffffffffffffffffffffffffffffffffffffff8060e088015116167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815561010086015115157fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000083549260a01b16911617905561012085015192835167ffffffffffffffff811161131c57889461322f6006840154611568565b601f811161339d575b50602090601f831160011461332f57600692915f9183613324575b50505f198260011b9260031b1c1916179101555b8d8b8b6060840151806132f9575b5086602073ffffffffffffffffffffffffffffffffffffffff95948794612b09848660019e61202a836132a79a61150a565b5251166040519182527f8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35602073ffffffffffffffffffffffffffffffffffffffff881693a40193949a92909192612d81565b925050506133149193505f52600460205260405f2054151590565b156120e35785918d8b8b5f613275565b015190505f80613253565b90600684015f52805f20915f5b601f1985168110613382575091839160019383601f19600697161061336a575b505050811b01910155613267565b01515f1960f88460031b161c191690555f808061335c565b8183015184558c98506001909301926020928301920161333c565b90919293949550600684015f5260205f20601f840160051c8101602085106133ee575b908b979695949392915b601f830160051c820181106133e0575050613238565b5f81558c98506001016133ca565b50806133c0565b5060408d01511515612ddb565b905067ffffffffffffffff421610155f612dca565b61342c9192503d805f833e61212081836113ba565b905f612d5e565b9061343d9061197f565b905f8151915f5b838110613452575050505090565b61345c818361150a565b5180515f915b81831061347457505050600101613444565b90919460018091613485888561150a565b51613490828c61150a565b520195019190613462565b90815f52600560205267ffffffffffffffff60405f20541661351f5767ffffffffffffffff90825f52600560205260405f208282167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617905516907f5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f5f80a3565b7f2e267946000000000000000000000000000000000000000000000000000000005f5260045ffd5b805f917a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008210156136a4575b806d04ee2d6d415b85acef8100000000600a921015613689575b662386f26fc10000811015613675575b6305f5e100811015613664575b612710811015613655575b6064811015613647575b101561363c575b600a5f1960216001850194601f196135f16135db88611659565b976135e9604051998a6113ba565b808952611659565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a8353048015613637575f19600a91926135fc565b505090565b6001909101906135c1565b6064600291049301926135ba565b612710600491049301926135b0565b6305f5e100600891049301926135a5565b662386f26fc1000060109104930192613598565b6d04ee2d6d415b85acef810000000060209104930192613588565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000810461356e565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806137cc575b15613734577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526137c660c0826113ba565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461370b565b6042906138006136cc565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b9190823b6138ab579061384891613f43565b50600481101561387e5715918261385e57505090565b73ffffffffffffffffffffffffffffffffffffffff919250811691161490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b915f926138fa613908859460405192839160208301957f1626ba7e000000000000000000000000000000000000000000000000000000008752602484015260406044840152606483019061112a565b03601f1981018352826113ba565b51915afa613914613f14565b8161395b575b81613923575090565b90506020818051810103126101b457602001517f1626ba7e000000000000000000000000000000000000000000000000000000001490565b90506020815110159061391a565b929160408401936040815282518095526060810194602060608260051b8401019401905f5b8181106139ab575050506112bd93945060208184039101526111cc565b9091946020806139e5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08860019603018c5289516111ff565b9701980191019691909661398e565b93919080519460018614613c41576020015173ffffffffffffffffffffffffffffffffffffffff16908115613c02575f956040517fce46e046000000000000000000000000000000000000000000000000000000008152602081600481875afa90811561212f575f91613bc8575b50905f915b818310613b3a5750505091602091613aaf93876040518096819582947f88e5b2d900000000000000000000000000000000000000000000000000000000845260048401613969565b03925af190811561212f575f91613b00575b5015613ad857613acf575090565b6112bd906141db565b7fbf2f3a8b000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d602011613b32575b81613b1b602093836113ba565b810103126101b457613b2c90611cdd565b5f613ac1565b3d9150613b0e565b90919796613b48898761150a565b518015613bbd578215613b9557818111613b6d5780600192039801985b019190613a67565b7f11011294000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1574f9f3000000000000000000000000000000000000000000000000000000005f5260045ffd5b509697600190613b65565b90506020813d602011613bfa575b81613be3602093836113ba565b810103126101b457613bf490611cdd565b5f613a62565b3d9150613bd6565b50505f939192935b828110613c2a57505050613c1d57505f90565b613c26906141db565b5f90565b613c34818361150a565b51613b9557600101613c0a565b906112bd955091613c60613c596001949695966114fd565b51916114fd565b5191613f7d565b93919080519460018614613e4e576020015173ffffffffffffffffffffffffffffffffffffffff16908115613e1c575f956040517fce46e046000000000000000000000000000000000000000000000000000000008152602081600481875afa90811561212f575f91613de2575b50905f915b818310613da45750505091602091613d2293876040518096819582947f91db0b7e00000000000000000000000000000000000000000000000000000000845260048401613969565b03925af190811561212f575f91613d6a575b5015613d4257613acf575090565b7fe8bee839000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d602011613d9c575b81613d85602093836113ba565b810103126101b457613d9690611cdd565b5f613d34565b3d9150613d78565b90919796613db2898761150a565b518015613dd7578215613b9557818111613b6d5780600192039801985b019190613cda565b509697600190613dcf565b90506020813d602011613e14575b81613dfd602093836113ba565b810103126101b457613e0e90611cdd565b5f613cd5565b3d9150613df0565b50505f939192935b828110613e3757505050613c1d57505f90565b613e41818361150a565b51613b9557600101613e24565b906112bd955091613c60613c595f949695966114fd565b60ff8114613ec45760ff811690601f8211613e9c5760405191613e896040846113ba565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516112bd81613ed6815f6115b9565b03826113ba565b60ff8114613f015760ff811690601f8211613e9c5760405191613e896040846113ba565b506040516112bd81613ed68160016115b9565b3d15613f3e573d90613f2582611659565b91613f3360405193846113ba565b82523d5f602084013e565b606090565b8151919060418303613f7357613f6c9250602082015190606060408401519301515f1a90614269565b9192909190565b50505f9160029190565b60200151919492909173ffffffffffffffffffffffffffffffffffffffff169081156141c9579085929183614133575b60209291901561407a57613ff7916040519485809481937fe49617e100000000000000000000000000000000000000000000000000000000835287600484015260248301906111ff565b03925af190811561212f575f91614040575b5015614018575b613acf575090565b7fccf3bb27000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d602011614072575b8161405b602093836113ba565b810103126101b45761406c90611cdd565b5f614009565b3d915061404e565b6140ba916040519485809481937fe60c350500000000000000000000000000000000000000000000000000000000835287600484015260248301906111ff565b03925af190811561212f575f916140f9575b50614010577fbd8ba84d000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d60201161412b575b81614114602093836113ba565b810103126101b45761412590611cdd565b5f6140cc565b3d9150614107565b94919092506040517fce46e046000000000000000000000000000000000000000000000000000000008152602081600481875afa90811561212f575f9161418f575b5015613b9557818611613b6d579085900393859290613fad565b90506020813d6020116141c1575b816141aa602093836113ba565b810103126101b4576141bb90611cdd565b5f614175565b3d915061419d565b5050509091613b9557613c1d57505f90565b806141e35750565b80471061423a575f80808093335af16141fa613f14565b90156142035750565b80511561421257805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b477fcf479181000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116142ed579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561212f575f5173ffffffffffffffffffffffffffffffffffffffff8116156142e357905f905f90565b505f906001905f90565b5050505f916003919056fea2646970667358221220d5346dfbad900bbc4724960f9c2c737d0886e7060d17302ff0814594829fe4fb64736f6c634300081b0033","sourceMap":"169:89:0:-:0;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;-1:-1:-1;;;;;169:89:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;;-1:-1:-1;;;169:89:0;;;;;;;;;:::i;:::-;;;;;;;;-1:-1:-1;;;169:89:0;;2476:1:22;759:14:27;;169:89:0;783:14:27;;-1:-1:-1;807:14:27;;3501:45:39;;;:::i;:::-;3493:53;;3567:51;;;:::i;:::-;3556:62;;169:89:0;;3642:22:39;;3628:36;;;;169:89:0;3691:25:39;;3674:42;;;3744:13;3727:30;;169:89:0;;4304:80:39;169:89:0;4304:80:39;;2079:95;;;;169:89:0;2079:95:39;;;;;;;3744:13;759:14:27;2079:95:39;;;4378:4;783:14:27;2079:95:39;;;783:14:27;4304:80:39;;;807:14:27;4304:80:39;;:::i;:::-;169:89:0;4294:91:39;;3767:48;;4378:4;3825:27;;169:89:0;;-1:-1:-1;;;;;169:89:0;;;;2163:12:28;169:89:0;2476:1:22;169:89:0;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;2476:1:22;169:89:0;;;;;;;;;;;2163:12:28;169:89:0;;2531:31:22;2527:86;;2623:26;;169:89:0;;;;;;;;759:14:27;169:89:0;;;;;783:14:27;169:89:0;;;;;807:14:27;169:89:0;;;;;3767:48:39;169:89:0;;;;;3727:30:39;169:89:0;;;;;3825:27:39;169:89:0;;;;;3628:36:39;169:89:0;;;;;3674:42:39;169:89:0;;;;;3493:53:39;169:89:0;;;;;3556:62:39;169:89:0;;;;;2623:26:22;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;2527:86:22;2585:17;;;-1:-1:-1;2585:17:22;;-1:-1:-1;2585:17:22;169:89:0;;;;-1:-1:-1;169:89:0;;;;;;;;;;2163:12:28;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;;;;;;;;2476:1:22;169:89:0;;;;;;;;;;;;;2163:12:28;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;2476:1:22;169:89:0;;;;;;;;;;;;;;;;2163:12:28;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;169:89:0;;2476:1:22;169:89:0;;;;;;-1:-1:-1;169:89:0;;;;;;;;-1:-1:-1;169:89:0;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;-1:-1:-1;169:89:0;;;;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;;;;;;-1:-1:-1;;169:89:0;;;;-1:-1:-1;;;;;169:89:0;;;;;;;;;;:::o;2887:340:35:-;;169:89:0;;3032:2:35;3010:24;;3006:215;3032:2;;;169:89:0;;1854:2:35;169:89:0;;1840:16:35;1836:72;;3032:2;169:89:0;;;;2079:95:39;3032:2:35;169:89:0;;;;1949:36:35;3050:27;:::o;169:89:0:-;;;;3032:2:35;169:89:0;;;;;1949:36:35;3050:27;:::o;1836:72::-;169:89:0;3032:2:35;169:89:0;;;1879:18:35;;;;;;;;;;;;169:89:0;;;;;;;;;;;;;;;;2482:1:22;169:89:0;;;;;;1854:2:35;169:89:0;-1:-1:-1;;169:89:0;;;1879:18:35;;;;3006:215;-1:-1:-1;;;;;169:89:0;;;;2482:1:22;169:89:0;;;;;;;;;;;3006:215:35;3032:2;169:89:0;;;;;;;;;;3006:215:35;169:89:0;3032:2:35;169:89:0;;;;;;;;;;;;2482:1:22;169:89:0;;;;;;;;;;;;;;;;;;;2482:1:22;169:89:0;1390:66:35;3168:42;:::o;169:89:0:-;;;;-1:-1:-1;169:89:0;;;;;;;;;;2482:1:22;169:89:0;;;2482:1:22;169:89:0;;2482:1:22;169:89:0;;;;;;;;;;;;;;;;;;;;;2482:1:22;169:89:0;1390:66:35;3168:42;:::o;169:89:0:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:35;169:89:0;;;;;;;;;;;;;;;;;2482:1:22;169:89:0;;;3032:2:35;2482:1:22;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;2482:1:22;169:89:0;;;;;;;;;;;;;2887:340:35;;169:89:0;;3032:2:35;3010:24;;3006:215;3032:2;;;169:89:0;;1854:2:35;169:89:0;;1840:16:35;1836:72;;3032:2;169:89:0;;;;2079:95:39;3032:2:35;169:89:0;;;;1949:36:35;3050:27;:::o;3006:215::-;-1:-1:-1;;;;;169:89:0;;;;2476:1:22;169:89:0;2476:1:22;169:89:0;;;;;;;;;3006:215:35;3032:2;169:89:0;;;;;;;;;;3006:215:35;169:89:0;3032:2:35;169:89:0;;;;;;;;;;;;;;;;;;;;2476:1:22;169:89:0;;;;;;;;;;;2476:1:22;169:89:0;1390:66:35;3168:42;:::o;169:89:0:-;;;;-1:-1:-1;169:89:0;;;;;;;;;;2476:1:22;169:89:0;;;;;;;;;;;;;;;2476:1:22;169:89:0;;;;;;;;;;;;2476:1:22;169:89:0;1390:66:35;3168:42;:::o;169:89:0:-;;;;;;;;;;;;;;;;;;;;;;;3032:2:35;2476:1:22;169:89:0;;;;;;;;;;;;;;;;2476:1:22;169:89:0;;;3032:2:35;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;2476:1:22;169:89:0;;;;;;;;;","linkReferences":{}},"deployedBytecode":{"object":"0x60806040526004361015610011575f80fd5b5f3560e01c80630eabf66014610edb57806312b11a1714610ea157806313893f6114610e3057806317d7de7c14610d485780632d0335ab14610d035780633c04271514610c1157806344adc90e14610b325780634692626714610af25780634cb7e9e514610a215780634d003070146109f757806354fd4d50146108bd57806379f7573a1461082c57806384b0196e14610743578063954115251461050e578063a3112a64146104c3578063a6d4dbc7146103c2578063b469318d14610367578063b83010d31461032d578063cf190f3414610302578063d45c4435146102ce578063e30bb5631461029a578063e71ff3651461022a578063ed24911d14610208578063f10b5cc8146101b85763f17325e71461012c575f80fd5b60206003193601126101b45760043567ffffffffffffffff81116101b45780600401604060031983360301126101b45760206101a481936101ab93610186610172611732565b92610181602436920184611797565b611675565b61018f836114fd565b52610199826114fd565b503491339135612562565b01516114fd565b51604051908152f35b5f80fd5b346101b4575f6003193601126101b457602060405173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101b4575f6003193601126101b45760206102226136cc565b604051908152f35b346101b45760206003193601126101b45760043567ffffffffffffffff81116101b45761025b9036906004016110f9565b9067ffffffffffffffff4216915f5b81811061027c57602084604051908152f35b806102948561028e6001948688611558565b3561349b565b0161026a565b346101b45760206003193601126101b45760206102c46004355f52600460205260405f2054151590565b6040519015158152f35b346101b45760206003193601126101b4576004355f526005602052602067ffffffffffffffff60405f205416604051908152f35b346101b45760206003193601126101b457602067ffffffffffffffff42166102228160043533612348565b346101b4575f6003193601126101b45760206040517fb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e758152f35b346101b45760406003193601126101b45773ffffffffffffffffffffffffffffffffffffffff61039561114f565b165f52600660205260405f206024355f52602052602067ffffffffffffffff60405f205416604051908152f35b6101006003193601126101b4576040516103db81611300565b6004358082526103ea366113f5565b602083015260607fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff9c3601126101b45760405161042581611365565b60643560ff811681036101b4578152608435602082015260a4356040820152604083015260c43573ffffffffffffffffffffffffffffffffffffffff811681036101b45780606084015260e43567ffffffffffffffff811681036101b457836104959160806104c1960152611b1f565b61049d611933565b6104a6366113f5565b6104af826114fd565b526104b9816114fd565b503492611e1b565b005b346101b45760206003193601126101b4576104dc611a04565b506004355f52600460205261050a6104f660405f20611a4e565b6040519182916020835260208301906111ff565b0390f35b60206003193601126101b45760043567ffffffffffffffff81116101b45761053a9036906004016110f9565b90610544826117eb565b915f915f1982019083345b84821061056f5761050a6105638789613433565b60405191829182611193565b61057f82868599969897996112c0565b9461058d6020870187611873565b9390918415801561072b575b610703575f9996604089019460608a01968a359960808c01359967ffffffffffffffff8b16809b14159e5b83811015610694578f908e6105e98c6105e38d8560051b810190611797565b926119b0565b831015610667576105f98e6117ca565b936101b4578f908f9060019561064c73ffffffffffffffffffffffffffffffffffffffff9261063b610661976040519761063289611300565b88523690611675565b6020870152369060608902016114aa565b60408501521660608301526080820152612414565b016105c4565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52603260045260245ffd5b509a8d9e506106d1949c50839a50600198506106cb6106da9698889f6106c39060209a9d9796959d14966117ca565b9336916118c7565b90612cbd565b9586519061151e565b940180516106e8898961150a565b526106f3888861150a565b505151019501909395929161054f565b7f947d5a84000000000000000000000000000000000000000000000000000000005f5260045ffd5b5061073960408901896119b0565b9050851415610599565b346101b4575f6003193601126101b4576107fe61077f7f0000000000000000000000000000000000000000000000000000000000000000613e65565b61050a6107ab7f0000000000000000000000000000000000000000000000000000000000000000613edd565b61080c604051916107bd6020846113ba565b5f83525f3681376040519586957f0f00000000000000000000000000000000000000000000000000000000000000875260e0602088015260e087019061112a565b90858203604087015261112a565b904660608501523060808501525f60a085015283820360c08501526111cc565b346101b45760206003193601126101b457600435335f52600360205260405f20549081811115610895577f57b09af877df9068fd60a69d7b21f5576b8b38955812d6ae4ac52942f1e38fb791604091335f52600360205280835f205582519182526020820152a1005b7f756688fe000000000000000000000000000000000000000000000000000000005f5260045ffd5b346101b4575f6003193601126101b45761050a60206109e360016109007f0000000000000000000000000000000000000000000000000000000000000000613547565b818461092b7f0000000000000000000000000000000000000000000000000000000000000000613547565b81806109567f0000000000000000000000000000000000000000000000000000000000000000613547565b9260405199878b985191829101848a015e8701907f2e0000000000000000000000000000000000000000000000000000000000000083830152805192839101602183015e0101907f2e0000000000000000000000000000000000000000000000000000000000000084830152805192839101600283015e01015f838201520301601f1981018352826113ba565b60405191829160208352602083019061112a565b346101b45760206003193601126101b457602067ffffffffffffffff42166102228160043561349b565b60206003193601126101b45760043567ffffffffffffffff81116101b457610a4d9036906004016110f9565b5f19810191905f90345b818310610a6057005b610a6b838386611833565b60208101357fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1823603018112156101b45781019182359267ffffffffffffffff84116101b457602001928060061b360384136101b45760019382610ae492610aea95610add8c8b14943393369161143b565b903561213a565b9061151e565b920191610a57565b60606003193601126101b4576104c1610b09611933565b610b12366113f5565b610b1b826114fd565b52610b25816114fd565b5034903390600435611e1b565b60206003193601126101b45760043567ffffffffffffffff81116101b457610b5e9036906004016110f9565b90610b68826117eb565b915f9134905f925f198101905b808510610b895761050a6105638789613433565b9091929394610b99868386611833565b906020820191610ba98382611873565b90501561070357610be9610be089898885610bd9610bcb60019a602099611873565b9390951494339336916118c7565b9035612cbd565b9788519061151e565b96018051610bf7898b61150a565b52610c02888a61150a565b50515101950193929190610b75565b60206003193601126101b45760043567ffffffffffffffff81116101b457806004019060e060031982360301126101b457604051610c4e81611300565b823592838252602483019384359467ffffffffffffffff86116101b457610cfb6101ab95610ce26101a495610ccf60209a98610c918c9a60043691880101611675565b8a820152610ca236604487016114aa565b6040820152610cc560c460a4870196610cba88611172565b6060850152016114e8565b6080820152612414565b610181610cda611732565b953692611797565b610ceb846114fd565b52610cf5836114fd565b506117ca565b903492612562565b346101b45760206003193601126101b45773ffffffffffffffffffffffffffffffffffffffff610d3161114f565b165f526003602052602060405f2054604051908152f35b346101b4575f6003193601126101b4576040515f600254610d6881611568565b8084529060018116908115610dee5750600114610d90575b61050a836109e3818503826113ba565b60025f9081527f405787fa12a823e0f2b7631cc41b3ba8828b3321ca811111fa75cd3aa3bb5ace939250905b808210610dd4575090915081016020016109e3610d80565b919260018160209254838588010152019101909291610dbc565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff001660208086019190915291151560051b840190910191506109e39050610d80565b346101b45760206003193601126101b45760043567ffffffffffffffff81116101b457610e619036906004016110f9565b9067ffffffffffffffff4216915f5b818110610e8257602084604051908152f35b80610e9b85610e946001948688611558565b3533612348565b01610e70565b346101b4575f6003193601126101b45760206040517ffeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d9880768152f35b60206003193601126101b45760043567ffffffffffffffff81116101b457610f079036906004016110f9565b5f198101915f91345b818410610f1957005b610f248483856112c0565b60a0813603126101b457604051610f3a81611300565b81358152602082013567ffffffffffffffff81116101b457820136601f820112156101b457610f7090369060208135910161143b565b9060208101918252604083013567ffffffffffffffff81116101b457830136601f820112156101b457803590610fa5826113dd565b91610fb360405193846113ba565b808352602060608185019202830101913683116101b457602001905b8282106110df5750505060408201818152610fff6080610ff160608801611172565b9660608601978852016114e8565b9360808401948552519384519283159081156110d3575b50610703575f5b8381106110605750505050611058928460019593610ae493519073ffffffffffffffffffffffffffffffffffffffff8c8c149451169161213a565b930192610f10565b6001906110cd8651611072838a61150a565b5161107e84885161150a565b5173ffffffffffffffffffffffffffffffffffffffff8c51169067ffffffffffffffff88511692604051946110b286611300565b85526020850152604084015260608301526080820152611b1f565b0161101d565b9050518314158c611016565b60206060916110ee36856114aa565b815201910190610fcf565b9181601f840112156101b45782359167ffffffffffffffff83116101b4576020808501948460051b0101116101b457565b90601f19601f602080948051918291828752018686015e5f8582860101520116010190565b6004359073ffffffffffffffffffffffffffffffffffffffff821682036101b457565b359073ffffffffffffffffffffffffffffffffffffffff821682036101b457565b60206040818301928281528451809452019201905f5b8181106111b65750505090565b82518452602093840193909201916001016111a9565b90602080835192838152019201905f5b8181106111e95750505090565b82518452602093840193909201916001016111dc565b906101406101206112bd93805184526020810151602085015267ffffffffffffffff604082015116604085015267ffffffffffffffff606082015116606085015267ffffffffffffffff608082015116608085015260a081015160a085015273ffffffffffffffffffffffffffffffffffffffff60c08201511660c085015273ffffffffffffffffffffffffffffffffffffffff60e08201511660e0850152610100810151151561010085015201519181610120820152019061112a565b90565b91908110156106675760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff61813603018212156101b4570190565b60a0810190811067ffffffffffffffff82111761131c57604052565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52604160045260245ffd5b6040810190811067ffffffffffffffff82111761131c57604052565b6060810190811067ffffffffffffffff82111761131c57604052565b60c0810190811067ffffffffffffffff82111761131c57604052565b610140810190811067ffffffffffffffff82111761131c57604052565b90601f601f19910116810190811067ffffffffffffffff82111761131c57604052565b67ffffffffffffffff811161131c5760051b60200190565b7fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffdc60409101126101b4576040519061142c82611349565b60243582526044356020830152565b929192611447826113dd565b9361145560405195866113ba565b602085848152019260061b8201918183116101b457925b8284106114795750505050565b6040848303126101b4576020604091825161149381611349565b86358152828701358382015281520193019261146c565b91908260609103126101b4576040516114c281611365565b8092803560ff811681036101b45760409182918452602081013560208501520135910152565b359067ffffffffffffffff821682036101b457565b8051156106675760200190565b80518210156106675760209160051b010190565b9190820391821161152b57565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52601160045260245ffd5b91908110156106675760051b0190565b90600182811c921680156115af575b602083101461158257565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602260045260245ffd5b91607f1691611577565b5f92918154916115c883611568565b808352926001811690811561161d57506001146115e457505050565b5f9081526020812093945091925b838310611603575060209250010190565b6001816020929493945483858701015201910191906115f2565b905060209495507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0091509291921683830152151560051b010190565b67ffffffffffffffff811161131c57601f01601f191660200190565b919060c0838203126101b4576040519061168e82611381565b819361169981611172565b83526116a7602082016114e8565b6020840152604081013580151581036101b457604084015260608101356060840152608081013567ffffffffffffffff81116101b45781019082601f830112156101b4578135926116f784611659565b9061170560405192836113ba565b848252602085850101116101b4575f60208560a09682889701838601378301015260808501520135910152565b6040805190919061174383826113ba565b6001815291601f1901825f5b82811061175b57505050565b60209060405161176a81611381565b5f81525f838201525f60408201525f6060820152606060808201525f60a08201528282850101520161174f565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff41813603018212156101b4570190565b3573ffffffffffffffffffffffffffffffffffffffff811681036101b45790565b906117f5826113dd565b61180260405191826113ba565b828152601f1961181282946113dd565b01905f5b82811061182257505050565b806060602080938501015201611816565b91908110156106675760051b810135907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffc1813603018212156101b4570190565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b4570180359067ffffffffffffffff82116101b457602001918160051b360383136101b457565b9291906118d3816113dd565b936118e160405195866113ba565b602085838152019160051b8101918383116101b45781905b838210611907575050505050565b813567ffffffffffffffff81116101b4576020916119288784938701611675565b8152019101906118f9565b6040805190919061194483826113ba565b6001815291601f1901825f5b82811061195c57505050565b60209060405161196b81611349565b5f81525f8382015282828501015201611950565b90611989826113dd565b61199660405191826113ba565b828152601f196119a682946113dd565b0190602036910137565b9035907fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe1813603018212156101b4570180359067ffffffffffffffff82116101b4576020019160608202360383136101b457565b60405190611a118261139d565b6060610120835f81525f60208201525f60408201525f838201525f60808201525f60a08201525f60c08201525f60e08201525f6101008201520152565b906006610120604051611a608161139d565b611b0d8195805483526001810154602084015267ffffffffffffffff60028201548181166040860152818160401c16606086015260801c166080840152600381015460a084015273ffffffffffffffffffffffffffffffffffffffff60048201541660c084015260ff600582015473ffffffffffffffffffffffffffffffffffffffff811660e086015260a01c161515610100840152611b0660405180968193016115b9565b03846113ba565b0152565b5f19811461152b5760010190565b6080810167ffffffffffffffff8151168015159081611cc9575b50611ca1578173ffffffffffffffffffffffffffffffffffffffff611c026020611c729501519260408101519460608201948486511692519160208251920151845f52600360205267ffffffffffffffff60405f2092835493611b9b85611b11565b90555116926040519460208601967fb5d556f07587ec0f08cf386545cc4362c702a001650c2058002615ee5c9d1e75885260408701526060860152608085015260a084015260c083015260e082015260e08152611bfa610100826113ba565b5190206137f5565b915116611c6d6020840151611c5f60ff60408701519651166040519687936020850191926041937fff00000000000000000000000000000000000000000000000000000000000000928452602084015260f81b1660408201520190565b03601f1981018552846113ba565b613836565b15611c7957565b7f8baa579f000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1ab7da6b000000000000000000000000000000000000000000000000000000005f5260045ffd5b905067ffffffffffffffff4216115f611b39565b519081151582036101b457565b6020818303126101b45780519067ffffffffffffffff82116101b45701906080828203126101b457604051916080830183811067ffffffffffffffff82111761131c5760405280518352602081015173ffffffffffffffffffffffffffffffffffffffff811681036101b4576020840152611d6760408201611cdd565b604084015260608101519067ffffffffffffffff82116101b4570181601f820112156101b457805190611d9982611659565b92611da760405194856113ba565b828452602083830101116101b457815f9260208093018386015e83010152606082015290565b90611dd7826113dd565b611de460405191826113ba565b828152601f19611df482946113dd565b01905f5b828110611e0457505050565b602090611e0f611a04565b82828501015201611df8565b9190604051907fa2ea7c6e0000000000000000000000000000000000000000000000000000000082528360048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561212f575f9261210b575b508151156120bb5792835190611eab82611dcd565b93611eb58361197f565b954267ffffffffffffffff16905f5b858110611edf57505050505050916112bd93916001936139f4565b611ee9818361150a565b519081515f52600460205260405f20918254156120e357866001840154036120bb57600583015473ffffffffffffffffffffffffffffffffffffffff8716908173ffffffffffffffffffffffffffffffffffffffff8216036120935760a01c60ff161561206b57600284019167ffffffffffffffff835460801c16612043577ff930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f615602073ffffffffffffffffffffffffffffffffffffffff8f8f88612030918f99936120068f9d61200160019f60c098907fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b611a4e565b612010848461150a565b5261201b838361150a565b5061202a83888b01519261150a565b5261150a565b510151169251604051908152a401611ec4565b7f905e7107000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f157bd4c3000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f4ca88867000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fbf37b20e000000000000000000000000000000000000000000000000000000005f5260045ffd5b7fc5723b51000000000000000000000000000000000000000000000000000000005f5260045ffd5b6121289192503d805f833e61212081836113ba565b810190611cea565b905f611e96565b6040513d5f823e3d90fd5b949392916040517fa2ea7c6e0000000000000000000000000000000000000000000000000000000081528660048201525f8160248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa90811561212f575f9161232e575b508051156120bb5782516121c981611dcd565b926121d38261197f565b944267ffffffffffffffff16905f5b8481106121f95750505050506112bd9596506139f4565b612203818361150a565b519081515f52600460205260405f208054156120e3578d6001820154036120bb57600581015473ffffffffffffffffffffffffffffffffffffffff8716908173ffffffffffffffffffffffffffffffffffffffff8216036120935760a01c60ff161561206b57600282019367ffffffffffffffff855460801c16612043578f92602073ffffffffffffffffffffffffffffffffffffffff60c08f8f899061231b926120068f9861200160019f9a7ff930a6e2523c9cc298691873087a740550b8fc85a0680830414c148ed927f6159b907fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b510151169251604051908152a4016121e2565b61234291503d805f833e61212081836113ba565b5f6121b6565b73ffffffffffffffffffffffffffffffffffffffff1691825f52600660205260405f2090825f528160205267ffffffffffffffff60405f2054166123ec5767ffffffffffffffff91835f5260205260405f208282167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617905516917f92a1f7a41a7c585a8b09e25b195e225b1d43248daca46b0faf9e0792777a22295f80a4565b7fec9d6eeb000000000000000000000000000000000000000000000000000000005f5260045ffd5b6080810167ffffffffffffffff8151168015159081612535575b50611ca1578173ffffffffffffffffffffffffffffffffffffffff611c026020611c7295015192604081015194606082019484865116925191858251169167ffffffffffffffff602082015116906040810151151560608201519060a060808401516020815191012093015193885f52600360205267ffffffffffffffff60405f20968754976124bd89611b11565b90555116966040519860208a019a7ffeb2925a02bae3dae48d424a0437a2b6ac939aa9230ddc55a1a76f065d9880768c5260408b015260608a0152608089015260a088015260c087015260e08601526101008501526101208401526101408301526101608201526101608152611bfa610180826113ba565b905067ffffffffffffffff4216115f61242e565b6040519061255682611349565b60606020835f81520152565b929161256c612549565b50815193612578612549565b946125828161197f565b6020870152604051917fa2ea7c6e0000000000000000000000000000000000000000000000000000000083528060048401525f8360248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa92831561212f575f93612ca1575b508251156120bb5761261482949592611dcd565b9361261e8161197f565b955f935b8285106126415750505050509161263c9391600193613c67565b815290565b9195999094989397612656898499959961150a565b519960208b019767ffffffffffffffff8951168015159081612c8c575b50612c645760408201511580612c57575b61206b5789988c6060810151915167ffffffffffffffff1691815173ffffffffffffffffffffffffffffffffffffffff1690604083015115159260800151936040519d8e6126d18161139d565b5f8152602001528d4267ffffffffffffffff1660408201526060015260808d015f905260a08d015260c08c015273ffffffffffffffffffffffffffffffffffffffff8a1660e08c01526101008b01526101208a01525f5b60208a015160c08b015160e08c01519060408d01518d606081015161010082015115159060a08301519261012001519360405196879660208801998a5260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604088015260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016605487015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016606886015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016607085015260f81b6078840152607983015280516020819201609984015e81018460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166099820152036099017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe48101825260040161288990826113ba565b519020805f52600460205260405f2054156128ad575060010163ffffffff16612728565b91979d99939b929895949c9050999599818452815f52600460205260405f2084518155602085015160018201556129b36002820167ffffffffffffffff80604089015116167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617815560608701517fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff6fffffffffffffffff000000000000000083549260401b16911617815567ffffffffffffffff6080880151167fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b60a085810151600383015560c08601516004830180547fffffffffffffffffffffffff00000000000000000000000000000000000000001673ffffffffffffffffffffffffffffffffffffffff92831617905560e08701516005840180546101008a01517fffffffffffffffffffffff000000000000000000000000000000000000000000909116929093169190911791151590921b74ff00000000000000000000000000000000000000001617905561012085015180519067ffffffffffffffff821161131c57612a886006840154611568565b601f8111612c13575b50909e9f9e8994939291602090601f8311600114612ba557600692915f9183612b9a575b50505f198260011b9260031b1c1916179101555b8d8c8c606084015180612b6f575b5086602073ffffffffffffffffffffffffffffffffffffffff95948794612b09848660019e61202a83612b219a61150a565b50612b198460a08901519261150a565b52015161150a565b5251166040519182527f8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35602073ffffffffffffffffffffffffffffffffffffffff891693a401939190612622565b92505050612b8a9193505f52600460205260405f2054151590565b156120e35786918d8c8c5f612ad7565b015190505f80612ab5565b90600684015f52805f20915f5b601f1985168110612bf8575091839160019383601f196006971610612be0575b505050811b01910155612ac9565b01515f1960f88460031b161c191690555f8080612bd2565b8183015184558d985060019093019260209283019201612bb2565b600684015f5260205f20601f840160051c810160208510612c50575b601f830160051c82018110612c45575050612a91565b5f8155600101612c2f565b5080612c2f565b5060408c01511515612684565b7f08e8b937000000000000000000000000000000000000000000000000000000005f5260045ffd5b905067ffffffffffffffff421610155f612673565b612cb69193503d805f833e61212081836113ba565b915f612600565b9290949391612cca612549565b50855193612cd6612549565b94612ce08161197f565b6020870152604051907fa2ea7c6e0000000000000000000000000000000000000000000000000000000082528260048301525f8260248173ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000165afa91821561212f575f92613417575b508151156120bb5792979091612d7384611dcd565b98612d7d8561197f565b945f935b818510612d995750505050509561263c949596613c67565b91959398949699909297612dad8a8461150a565b519a60208c019867ffffffffffffffff8a51168015159081613402575b50612c6457604081015115806133f5575b61206b578a998d6060810151915167ffffffffffffffff1691815173ffffffffffffffffffffffffffffffffffffffff1690604083015115159260800151936040519e8f90612e298261139d565b5f825260208201524267ffffffffffffffff166040820152606001528d608081015f905260a0015260c08d015273ffffffffffffffffffffffffffffffffffffffff8b1660e08d01526101008c01526101208b01525f5b60208b015160c08c015160e08d0151908d604081015190606081015161010082015115159060a08301519261012001519360405196879660208801998a5260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016604088015260601b7fffffffffffffffffffffffffffffffffffffffff00000000000000000000000016605487015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016606886015260c01b7fffffffffffffffff00000000000000000000000000000000000000000000000016607085015260f81b6078840152607983015280516020819201609984015e81018460e01b7fffffffff00000000000000000000000000000000000000000000000000000000166099820152036099017fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffe481018252600401612fe290826113ba565b519020805f52600460205260405f205415613006575060010163ffffffff16612e80565b90509d979b9199929a949d9c909698939c808452805f52600460205260405f2091845183556020850151600184015561310e6002840167ffffffffffffffff80604089015116167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617815560608701517fffffffffffffffffffffffffffffffff0000000000000000ffffffffffffffff6fffffffffffffffff000000000000000083549260401b16911617815567ffffffffffffffff6080880151167fffffffffffffffff0000000000000000ffffffffffffffffffffffffffffffff77ffffffffffffffff0000000000000000000000000000000083549260801b169116179055565b60a0850151600384015573ffffffffffffffffffffffffffffffffffffffff60c08601511673ffffffffffffffffffffffffffffffffffffffff6004850191167fffffffffffffffffffffffff00000000000000000000000000000000000000008254161790556005830173ffffffffffffffffffffffffffffffffffffffff8060e088015116167fffffffffffffffffffffffff000000000000000000000000000000000000000082541617815561010086015115157fffffffffffffffffffffff00ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000083549260a01b16911617905561012085015192835167ffffffffffffffff811161131c57889461322f6006840154611568565b601f811161339d575b50602090601f831160011461332f57600692915f9183613324575b50505f198260011b9260031b1c1916179101555b8d8b8b6060840151806132f9575b5086602073ffffffffffffffffffffffffffffffffffffffff95948794612b09848660019e61202a836132a79a61150a565b5251166040519182527f8bf46bf4cfd674fa735a3d63ec1c9ad4153f033c290341f3a588b75685141b35602073ffffffffffffffffffffffffffffffffffffffff881693a40193949a92909192612d81565b925050506133149193505f52600460205260405f2054151590565b156120e35785918d8b8b5f613275565b015190505f80613253565b90600684015f52805f20915f5b601f1985168110613382575091839160019383601f19600697161061336a575b505050811b01910155613267565b01515f1960f88460031b161c191690555f808061335c565b8183015184558c98506001909301926020928301920161333c565b90919293949550600684015f5260205f20601f840160051c8101602085106133ee575b908b979695949392915b601f830160051c820181106133e0575050613238565b5f81558c98506001016133ca565b50806133c0565b5060408d01511515612ddb565b905067ffffffffffffffff421610155f612dca565b61342c9192503d805f833e61212081836113ba565b905f612d5e565b9061343d9061197f565b905f8151915f5b838110613452575050505090565b61345c818361150a565b5180515f915b81831061347457505050600101613444565b90919460018091613485888561150a565b51613490828c61150a565b520195019190613462565b90815f52600560205267ffffffffffffffff60405f20541661351f5767ffffffffffffffff90825f52600560205260405f208282167fffffffffffffffffffffffffffffffffffffffffffffffff000000000000000082541617905516907f5aafceeb1c7ad58e4a84898bdee37c02c0fc46e7d24e6b60e8209449f183459f5f80a3565b7f2e267946000000000000000000000000000000000000000000000000000000005f5260045ffd5b805f917a184f03e93ff9f4daa797ed6e38ed64bf6a1f0100000000000000008210156136a4575b806d04ee2d6d415b85acef8100000000600a921015613689575b662386f26fc10000811015613675575b6305f5e100811015613664575b612710811015613655575b6064811015613647575b101561363c575b600a5f1960216001850194601f196135f16135db88611659565b976135e9604051998a6113ba565b808952611659565b013660208801378501015b01917f30313233343536373839616263646566000000000000000000000000000000008282061a8353048015613637575f19600a91926135fc565b505090565b6001909101906135c1565b6064600291049301926135ba565b612710600491049301926135b0565b6305f5e100600891049301926135a5565b662386f26fc1000060109104930192613598565b6d04ee2d6d415b85acef810000000060209104930192613588565b50604091507a184f03e93ff9f4daa797ed6e38ed64bf6a1f010000000000000000810461356e565b73ffffffffffffffffffffffffffffffffffffffff7f0000000000000000000000000000000000000000000000000000000000000000163014806137cc575b15613734577f000000000000000000000000000000000000000000000000000000000000000090565b60405160208101907f8b73c3c69bb8fe3d512ecc4cf759cc79239f7b179b0ffacaa9a75d522b39400f82527f000000000000000000000000000000000000000000000000000000000000000060408201527f000000000000000000000000000000000000000000000000000000000000000060608201524660808201523060a082015260a081526137c660c0826113ba565b51902090565b507f0000000000000000000000000000000000000000000000000000000000000000461461370b565b6042906138006136cc565b90604051917f19010000000000000000000000000000000000000000000000000000000000008352600283015260228201522090565b9190823b6138ab579061384891613f43565b50600481101561387e5715918261385e57505090565b73ffffffffffffffffffffffffffffffffffffffff919250811691161490565b7f4e487b71000000000000000000000000000000000000000000000000000000005f52602160045260245ffd5b915f926138fa613908859460405192839160208301957f1626ba7e000000000000000000000000000000000000000000000000000000008752602484015260406044840152606483019061112a565b03601f1981018352826113ba565b51915afa613914613f14565b8161395b575b81613923575090565b90506020818051810103126101b457602001517f1626ba7e000000000000000000000000000000000000000000000000000000001490565b90506020815110159061391a565b929160408401936040815282518095526060810194602060608260051b8401019401905f5b8181106139ab575050506112bd93945060208184039101526111cc565b9091946020806139e5837fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffa08860019603018c5289516111ff565b9701980191019691909661398e565b93919080519460018614613c41576020015173ffffffffffffffffffffffffffffffffffffffff16908115613c02575f956040517fce46e046000000000000000000000000000000000000000000000000000000008152602081600481875afa90811561212f575f91613bc8575b50905f915b818310613b3a5750505091602091613aaf93876040518096819582947f88e5b2d900000000000000000000000000000000000000000000000000000000845260048401613969565b03925af190811561212f575f91613b00575b5015613ad857613acf575090565b6112bd906141db565b7fbf2f3a8b000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d602011613b32575b81613b1b602093836113ba565b810103126101b457613b2c90611cdd565b5f613ac1565b3d9150613b0e565b90919796613b48898761150a565b518015613bbd578215613b9557818111613b6d5780600192039801985b019190613a67565b7f11011294000000000000000000000000000000000000000000000000000000005f5260045ffd5b7f1574f9f3000000000000000000000000000000000000000000000000000000005f5260045ffd5b509697600190613b65565b90506020813d602011613bfa575b81613be3602093836113ba565b810103126101b457613bf490611cdd565b5f613a62565b3d9150613bd6565b50505f939192935b828110613c2a57505050613c1d57505f90565b613c26906141db565b5f90565b613c34818361150a565b51613b9557600101613c0a565b906112bd955091613c60613c596001949695966114fd565b51916114fd565b5191613f7d565b93919080519460018614613e4e576020015173ffffffffffffffffffffffffffffffffffffffff16908115613e1c575f956040517fce46e046000000000000000000000000000000000000000000000000000000008152602081600481875afa90811561212f575f91613de2575b50905f915b818310613da45750505091602091613d2293876040518096819582947f91db0b7e00000000000000000000000000000000000000000000000000000000845260048401613969565b03925af190811561212f575f91613d6a575b5015613d4257613acf575090565b7fe8bee839000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d602011613d9c575b81613d85602093836113ba565b810103126101b457613d9690611cdd565b5f613d34565b3d9150613d78565b90919796613db2898761150a565b518015613dd7578215613b9557818111613b6d5780600192039801985b019190613cda565b509697600190613dcf565b90506020813d602011613e14575b81613dfd602093836113ba565b810103126101b457613e0e90611cdd565b5f613cd5565b3d9150613df0565b50505f939192935b828110613e3757505050613c1d57505f90565b613e41818361150a565b51613b9557600101613e24565b906112bd955091613c60613c595f949695966114fd565b60ff8114613ec45760ff811690601f8211613e9c5760405191613e896040846113ba565b6020808452838101919036833783525290565b7fb3512b0c000000000000000000000000000000000000000000000000000000005f5260045ffd5b506040516112bd81613ed6815f6115b9565b03826113ba565b60ff8114613f015760ff811690601f8211613e9c5760405191613e896040846113ba565b506040516112bd81613ed68160016115b9565b3d15613f3e573d90613f2582611659565b91613f3360405193846113ba565b82523d5f602084013e565b606090565b8151919060418303613f7357613f6c9250602082015190606060408401519301515f1a90614269565b9192909190565b50505f9160029190565b60200151919492909173ffffffffffffffffffffffffffffffffffffffff169081156141c9579085929183614133575b60209291901561407a57613ff7916040519485809481937fe49617e100000000000000000000000000000000000000000000000000000000835287600484015260248301906111ff565b03925af190811561212f575f91614040575b5015614018575b613acf575090565b7fccf3bb27000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d602011614072575b8161405b602093836113ba565b810103126101b45761406c90611cdd565b5f614009565b3d915061404e565b6140ba916040519485809481937fe60c350500000000000000000000000000000000000000000000000000000000835287600484015260248301906111ff565b03925af190811561212f575f916140f9575b50614010577fbd8ba84d000000000000000000000000000000000000000000000000000000005f5260045ffd5b90506020813d60201161412b575b81614114602093836113ba565b810103126101b45761412590611cdd565b5f6140cc565b3d9150614107565b94919092506040517fce46e046000000000000000000000000000000000000000000000000000000008152602081600481875afa90811561212f575f9161418f575b5015613b9557818611613b6d579085900393859290613fad565b90506020813d6020116141c1575b816141aa602093836113ba565b810103126101b4576141bb90611cdd565b5f614175565b3d915061419d565b5050509091613b9557613c1d57505f90565b806141e35750565b80471061423a575f80808093335af16141fa613f14565b90156142035750565b80511561421257805190602001fd5b7fd6bda275000000000000000000000000000000000000000000000000000000005f5260045ffd5b477fcf479181000000000000000000000000000000000000000000000000000000005f5260045260245260445ffd5b91907f7fffffffffffffffffffffffffffffff5d576e7357a4501ddfe92f46681b20a084116142ed579160209360809260ff5f9560405194855216868401526040830152606082015282805260015afa1561212f575f5173ffffffffffffffffffffffffffffffffffffffff8116156142e357905f905f90565b505f906001905f90565b5050505f916003919056fea2646970667358221220d5346dfbad900bbc4724960f9c2c737d0886e7060d17302ff0814594829fe4fb64736f6c634300081b0033","sourceMap":"169:89:0:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;3044:58:22;2963:31;;3044:66;2963:31;169:89:0;2963:31:22;;:::i;:::-;169:89:0;3014:12:22;;169:89:0;3014:12:22;;;;:::i;:::-;169:89:0;:::i;:::-;3004:22:22;;;:::i;:::-;;;;;:::i;:::-;;3086:9;3074:10;;169:89:0;;3044:58:22;:::i;:::-;:63;;:66;:::i;:::-;169:89:0;;;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;2773:15:22;169:89:0;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;2475:20:28;;:::i;:::-;169:89:0;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;:::i;:::-;6500:15:28;169:89:0;6500:15:28;169:89:0;14628:13:22;169:89:0;14643:10:22;;;;;;169:89:0;;;;;;;;14655:19:22;14701:7;14710:4;14701:7;;1489:1:21;14701:7:22;;;;:::i;:::-;169:89:0;14710:4:22;:::i;:::-;169:89:0;14628:13:22;;169:89:0;;;;;-1:-1:-1;;169:89:0;;;;;;;;;-1:-1:-1;169:89:0;15013:3:22;169:89:0;;;-1:-1:-1;169:89:0;;15013:25:22;;14928:117;;169:89:0;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;15160:11:22;169:89:0;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;6500:15:28;169:89:0;14064:4:22;169:89:0;;;14046:10:22;14064:4;:::i;169:89:0:-;;;;;-1:-1:-1;;169:89:0;;;;;;;;1451:66:28;169:89:0;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;:::i;:::-;;;;15321:20:22;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;;:::i;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;9575:31:22;169:89:0;;9737:81:22;169:89:0;;;9575:31:22;:::i;:::-;9655:30;;:::i;:::-;169:89:0;;;:::i;:::-;9695:31:22;;;:::i;:::-;;;;;:::i;:::-;;9802:9;9737:81;;:::i;:::-;169:89:0;;;;;;-1:-1:-1;;169:89:0;;;;;;;:::i;:::-;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;:::i;:::-;6363:23:22;;;;:::i;:::-;6396:25;169:89:0;;-1:-1:-1;;169:89:0;;;;6860:9:22;6900:10;;;;;;169:89:0;9106:36:22;;;;:::i;:::-;169:89:0;;;;;;;:::i;6912:19:22:-;7393:25;;;;;;;;;;:::i;:::-;7473:26;;169:89:0;7473:26:22;;;;:::i;:::-;7614:15;;;;;:72;;;;6912:19;7610:133;;169:89:0;7877:13:22;;169:89:0;8148:32:22;;8219:30;;;;169:89:0;;;8285:30:22;;;;169:89:0;;;;;;;;;7872:499:22;7908:19;7892:14;;;;;;169:89:0;;;8148:32:22;169:89:0;;;;;;;;;;:::i;:::-;8148:32:22;;:::i;:::-;169:89:0;;;;;8219:30:22;;;:::i;:::-;169:89:0;;;;;;;7297:1:22;169:89:0;;;;;7982:356:22;169:89:0;;;;;;;:::i;:::-;;;;;;:::i;:::-;;7982:356:22;;169:89:0;;;8219:30:22;169:89:0;;;;:::i;:::-;;7982:356:22;;169:89:0;;8219:30:22;7982:356;;169:89:0;8285:30:22;7982:356;;169:89:0;7982:356:22;:::i;:::-;169:89:0;7877:13:22;;169:89:0;;;;;;;;;;7892:14:22;;;;;;8475:191;7892:14;;;;;;7297:1;7892:14;;169:89:0;8793:31:22;7892:14;;;;8568:30;7892:14;169:89:0;7892:14:22;;;;;;7283:15;8568:30;;:::i;:::-;169:89:0;;;;:::i;:::-;8475:191:22;;:::i;:::-;169:89:0;;;8793:31:22;;:::i;:::-;8906:8;;;;8891:23;;;;:::i;:::-;;;;;;:::i;:::-;;8973:8;169:89:0;;6912:19:22;169:89:0;6885:13:22;;;;;;;7610:133;7713:15;169:89:0;7713:15:22;169:89:0;;7713:15:22;7614:72;7647:32;;169:89:0;7647:32:22;;;;:::i;:::-;7633:53;;;;;7614:72;;169:89:0;;;;;-1:-1:-1;;169:89:0;;;;;;6198:41:39;:5;:41;:::i;:::-;169:89:0;6653:47:39;:8;:47;:::i;:::-;169:89:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;5689:13:39;;169:89:0;;;;5724:4:39;169:89:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;-1:-1:-1;;169:89:0;;;;;;;3647:10:28;169:89:0;;3639:7:28;169:89:0;;;;;;3672:20:28;;;;;3668:72;;3796:58;3647:10;169:89:0;3647:10:28;;169:89:0;;3639:7:28;169:89:0;;;;;;;;;;;;;;;;3796:58:28;169:89:0;3668:72:28;3715:14;169:89:0;3715:14:28;169:89:0;;3715:14:28;169:89:0;;;;;-1:-1:-1;;169:89:0;;;;;;1055:104:27;;169:89:0;1072:24:27;1089:6;1072:24;:::i;:::-;1120:6;;1103:24;1120:6;1103:24;:::i;:::-;1151:6;;1134:24;1151:6;1134:24;:::i;:::-;169:89:0;;;;;;;;;;;;1055:104:27;;;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1055:104:27;;-1:-1:-1;;1055:104:27;;;;;;:::i;:::-;169:89:0;;;;;1055:104:27;169:89:0;;1055:104:27;169:89:0;;;;:::i;:::-;;;;;-1:-1:-1;;169:89:0;;;;;;;6500:15:28;169:89:0;13859:4:22;169:89:0;;;13859:4:22;:::i;169:89:0:-;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;169:89:0;;;10381:9:22;169:89:0;;10381:9:22;10468:10;;;;;;169:89:0;10480:19:22;10942:16;;;;;:::i;:::-;169:89:0;11132:17:22;;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;10865:1:22;10851:15;;11103:81;10851:15;11085:99;10851:15;169:89:0;10851:15:22;;;11151:10;;169:89:0;;;;:::i;:::-;;;11103:81:22;:::i;:::-;11085:99;;:::i;:::-;10480:19;169:89:0;10453:13:22;;;169:89:0;;-1:-1:-1;;169:89:0;;;;;9370:58:22;9297:30;;:::i;:::-;169:89:0;;;:::i;:::-;9337:22:22;;;:::i;:::-;;;;;:::i;:::-;;9412:9;9400:10;;169:89:0;;;9370:58:22;:::i;169:89:0:-;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;:::i;:::-;3964:23:22;;;;:::i;:::-;3997:25;169:89:0;4461:9:22;;4486:13;169:89:0;;-1:-1:-1;;169:89:0;;4481:1287:22;4501:10;;;;;;169:89:0;5861:36:22;;;;:::i;4513:19::-;5034:16;;;;;;;;;;:::i;:::-;5114:17;169:89:0;5114:17:22;;;;;;;:::i;:::-;:29;;;5110:90;;5548:31;5246:175;5308:17;;;;169:89:0;5308:17:22;4898:1;5308:17;169:89:0;5308:17:22;;:::i;:::-;4884:15;;;;5343:10;;169:89:0;;;;:::i;:::-;;;5246:175:22;:::i;:::-;169:89:0;;;5548:31:22;;:::i;:::-;5661:8;;;;5646:23;;;;:::i;:::-;;;;;;:::i;:::-;;5728:8;169:89:0;;4513:19:22;169:89:0;4486:13:22;;;;;;169:89:0;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;3500:25:22;3461:90;169:89:0;;3461:82:22;169:89:0;3290:31:22;169:89:0;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;3290:31:22;:::i;:::-;3422:21;3371:31;;:::i;:::-;169:89:0;;3422:21:22;;:::i;169:89:0:-;3412:31:22;;;:::i;:::-;;;;;:::i;:::-;;3500:25;:::i;:::-;3527:9;;3461:82;;:::i;169:89:0:-;;;;;-1:-1:-1;;169:89:0;;;;;;;;:::i;:::-;;;;2728:7:28;169:89:0;;;;;;;;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;3381:5:28;169:89:0;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;3381:5:28;169:89:0;;;;;;;-1:-1:-1;169:89:0;;;;;;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;;;;;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;:::i;:::-;6500:15:28;169:89:0;6500:15:28;169:89:0;14294:13:22;169:89:0;14309:10:22;;;;;;169:89:0;;;;;;;;14321:19:22;14384:7;14393:4;14384:7;;1489:1:21;14384:7:22;;;;:::i;:::-;169:89:0;14372:10:22;14393:4;:::i;:::-;169:89:0;14294:13:22;;169:89:0;;;;;-1:-1:-1;;169:89:0;;;;;;;;1124:66:28;169:89:0;;;;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;:::i;:::-;-1:-1:-1;;169:89:0;;;;;11801:9:22;11897:10;;;;;;169:89:0;11909:19:22;12387:25;;;;;:::i;:::-;169:89:0;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;:::i;:::-;;;;;;;;12464:26:22;169:89:0;;;12605:15:22;;;:72;;;;;169:89:0;12601:133:22;;;169:89:0;12883:14:22;;;;;;169:89:0;;;;13485:208:22;169:89:0;;12294:1:22;169:89:0;;13503:190:22;169:89:0;;12280:15:22;169:89:0;12280:15:22;;;169:89:0;;;13503:190:22;;:::i;13485:208::-;11909:19;169:89:0;11882:13:22;;;12899:19;12294:1;169:89:0;12973:353:22;169:89:0;;13094:7:22;;;;:::i;:::-;;13138:35;:32;;;:35;:::i;:::-;;169:89:0;;;;;;;;;;;;;;;;:::i;:::-;;;;12973:353:22;;169:89:0;;12973:353:22;;169:89:0;;12973:353:22;;169:89:0;;12973:353:22;;169:89:0;12973:353:22;:::i;:::-;169:89:0;12868:13:22;;12605:72;169:89:0;;;12624:53:22;;;12605:72;;;169:89:0;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;-1:-1:-1;169:89:0;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;:::i;:::-;9347:12:22;169:89:0;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;:::o;:::-;-1:-1:-1;169:89:0;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;-1:-1:-1;;169:89:0;;;;:::o;:::-;;;;;;;;;;;;;;;;:::i;:::-;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;:::i;:::-;3400:1:22;169:89:0;;;-1:-1:-1;;169:89:0;;-1:-1:-1;169:89:0;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;169:89:0;;;;:::i;:::-;;;-1:-1:-1;169:89:0;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;:::i;:::-;9325:1:22;169:89:0;;;-1:-1:-1;;169:89:0;;-1:-1:-1;169:89:0;;;;;;;;;:::o;:::-;;;;;;;;:::i;:::-;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;169:89:0;;;;:::i;:::-;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;;;:::o;:::-;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;:::i;:::-;;;:::o;240:1:21:-;-1:-1:-1;;240:1:21;;;;;;;:::o;5278:988:28:-;5367:16;;;169:89:0;;;;5367:38:28;;;:68;;;;5278:988;5363:123;;;5532:12;169:89:0;5626:367:28;5532:12;6021:178;5532:12;;;5583:17;;;;;5752:15;;;;169:89:0;;;;;;;;5532:12:28;169:89:0;;5855:10:28;;169:89:0;;-1:-1:-1;169:89:0;5887:7:28;5532:12;169:89:0;;5583:17:28;-1:-1:-1;169:89:0;;;;5887:26:28;;;;:::i;:::-;169:89:0;;;;;5583:17:28;169:89:0;5683:286:28;5532:12;5683:286;;169:89:0;1451:66:28;169:89:0;;5583:17:28;240:1:21;;169:89:0;5752:15:28;240:1:21;;169:89:0;5367:16:28;240:1:21;;169:89:0;240:1:21;;;169:89:0;240:1:21;;;169:89:0;240:1:21;;;169:89:0;240:1:21;5683:286:28;;;;;;:::i;:::-;169:89:0;5656:327:28;;5626:367;:::i;:::-;169:89:0;;;6130:55:28;5532:12;6147:11;;169:89:0;6130:55:28;169:89:0;5583:17:28;6160:11;;169:89:0;240:1:21;;169:89:0;5583:17:28;169:89:0;6130:55:28;;;5532:12;6130:55;;240:1:21;;;;;;169:89:0;;240:1:21;;;169:89:0;240:1:21;;;;;;;;;;6130:55:28;;-1:-1:-1;;6130:55:28;;;;;;:::i;:::-;6021:178;:::i;:::-;6020:179;6003:257;;5278:988::o;6003:257::-;6231:18;-1:-1:-1;6231:18:28;;-1:-1:-1;6231:18:28;5363:123;5458:17;-1:-1:-1;5458:17:28;;-1:-1:-1;5458:17:28;5367:68;6500:15;;169:89:0;6500:15:28;169:89:0;-1:-1:-1;5367:68:28;;;169:89:0;;;;;;;;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;;;;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;-1:-1:-1;;169:89:0;;;;:::i;:::-;;;-1:-1:-1;169:89:0;;;;;;;;;:::o;:::-;;;;;:::i;:::-;;;;;;;;;;19220:2157:22;;;169:89:0;;19537:36:22;169:89:0;19537:36:22;;;;;;169:89:0;-1:-1:-1;19537:15:22;:36;:15;169:89:0;19537:15:22;169:89:0;19537:36:22;;;;;;;-1:-1:-1;19537:36:22;;;19220:2157;169:89:0;;;19587:29:22;19583:82;;169:89:0;;;19749:25:22;;;;:::i;:::-;19810:21;;;;:::i;:::-;19847:13;6500:15:28;169:89:0;;;-1:-1:-1;19862:10:22;;;;;;21286:84;;;;;;;;;;9325:1;21286:84;;:::i;19874:19::-;19948:7;;;;:::i;:::-;;169:89:0;;;-1:-1:-1;169:89:0;19537:36:22;169:89:0;;;-1:-1:-1;169:89:0;;;;20125:28:22;20121:84;;20295:18;9325:1;20295:18;;169:89:0;20295:31:22;20291:92;;20476:20;;;169:89:0;;;;;;;;;20476:31:22;20472:91;;169:89:0;;;;20773:22:22;20769:81;;20950:26;;;169:89:0;;;;;;;20946:93:22;;21191:67;169:89:0;;21052:36:22;;;21199:15;21052:36;;;;169:89:0;21052:36:22;;;9325:1;21052:36;21199:25;21052:36;169:89:0;;;;;;;;;;;;;;;21052:36:22;169:89:0;:::i;:::-;21103:29:22;;;;:::i;:::-;;;;;;:::i;:::-;;21146:25;21158:13;;;;169:89:0;21146:25:22;;:::i;:::-;169:89:0;21199:15:22;:::i;:::-;;:25;169:89:0;;;;;;;;;21191:67:22;169:89:0;19847:13:22;;20946:93;21008:16;-1:-1:-1;21008:16:22;19537:36;-1:-1:-1;21008:16:22;20769:81;20822:13;-1:-1:-1;20822:13:22;19537:36;-1:-1:-1;20822:13:22;20472:91;20534:14;-1:-1:-1;20534:14:22;19537:36;-1:-1:-1;20534:14:22;20291:92;20353:15;-1:-1:-1;20353:15:22;19537:36;-1:-1:-1;20353:15:22;20121:84;20180:10;-1:-1:-1;20180:10:22;19537:36;-1:-1:-1;20180:10:22;19537:36;;;;;;;-1:-1:-1;19537:36:22;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;169:89:0;;;-1:-1:-1;169:89:0;;;;;19220:2157:22;;;;;169:89:0;;;19537:36:22;;;;;;169:89:0;-1:-1:-1;19537:15:22;:36;:15;169:89:0;19537:15:22;169:89:0;19537:36:22;;;;;;;-1:-1:-1;19537:36:22;;;19220:2157;169:89:0;;;19587:29:22;19583:82;;169:89:0;;19749:25:22;;;:::i;:::-;19810:21;;;;:::i;:::-;19847:13;6500:15:28;169:89:0;;;-1:-1:-1;19862:10:22;;;;;;21286:84;;;;;;;;;;:::i;19874:19::-;19948:7;;;;:::i;:::-;;169:89:0;;;-1:-1:-1;169:89:0;19537:36:22;169:89:0;;;-1:-1:-1;169:89:0;;;20125:28:22;20121:84;;20295:18;1489:1:21;20295:18:22;;169:89:0;20295:31:22;20291:92;;20476:20;;;169:89:0;;;;;;;;;20476:31:22;20472:91;;169:89:0;;;;20773:22:22;20769:81;;20950:26;;;169:89:0;;;;;;;20946:93:22;;21052:36;;169:89:0;;21199:25:22;21052:36;;;;21199:15;21052:36;169:89:0;21052:36:22;;;1489:1:21;21052:36:22;;21191:67;21052:36;169:89:0;;;;;;;;;;;;;;;21199:15:22;;:25;169:89:0;;;;;;;;;21191:67:22;169:89:0;19847:13:22;;19537:36;;;;;;-1:-1:-1;19537:36:22;;;;;;:::i;:::-;;;;28242:368;169:89:0;;;;-1:-1:-1;169:89:0;28393:20:22;169:89:0;;;-1:-1:-1;169:89:0;;;-1:-1:-1;169:89:0;;;;;;-1:-1:-1;169:89:0;;;28433:84:22;;169:89:0;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;28567:36:22;;-1:-1:-1;28567:36:22;;28242:368::o;28433:84::-;28482:24;-1:-1:-1;28482:24:22;;-1:-1:-1;28482:24:22;3995:1151:28;4085:16;;;169:89:0;;;;4085:38:28;;;:68;;;;3995:1151;4081:123;;;4251:12;169:89:0;4345:527:28;4251:12;4900:179;4251:12;;;4302:17;;;;;4471:16;;;;169:89:0;;;;;;;;;;;;4581:19:28;169:89:0;4251:12:28;4581:19;;169:89:0;;4622:14:28;4302:17;4622:14;;169:89:0;;;4471:16:28;4658:11;;169:89:0;4701:9:28;4733:10;4085:16;4701:9;;;4251:12;169:89:0;;;;4691:20:28;4733:10;;169:89:0;;;-1:-1:-1;169:89:0;4765:7:28;4251:12;169:89:0;;4302:17:28;-1:-1:-1;169:89:0;;;;4765:27:28;;;;:::i;:::-;169:89:0;;;;;4302:17:28;169:89:0;4402:446:28;4251:12;4402:446;;169:89:0;1124:66:28;169:89:0;;4302:17:28;169:89:0;;;4471:16:28;169:89:0;;;4085:16:28;169:89:0;;;4733:10:28;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;4402:446:28;;;;;;:::i;4085:68::-;6500:15;;169:89:0;6500:15:28;169:89:0;-1:-1:-1;4085:68:28;;;169:89:0;;;;;;;:::i;:::-;;;;-1:-1:-1;169:89:0;;;;:::o;15846:2898:22:-;;;169:89:0;;:::i;:::-;;;;;;;:::i;:::-;16162:21:22;;;;:::i;:::-;16151:8;;;:32;169:89:0;;16309:36:22;169:89:0;16309:36:22;;;;;;169:89:0;-1:-1:-1;16309:15:22;:36;:15;169:89:0;16309:15:22;169:89:0;16309:36:22;;;;;;;-1:-1:-1;16309:36:22;;;15846:2898;169:89:0;;;16359:29:22;16355:82;;16483:25;;;;;;:::i;:::-;16544:21;;;;:::i;:::-;16581:13;-1:-1:-1;16576:2029:22;16596:10;;;;;;18631:85;;;;;;;;;3400:1;18631:85;;:::i;:::-;169:89:0;;15846:2898:22;:::o;16608:19::-;16683:7;;;;;;;;;;;;;;;:::i;:::-;;16804:22;16151:8;16804:22;;169:89:0;;;;;16804:44:22;;;:81;;;;16608:19;16800:150;;;169:89:0;17073:22:22;;169:89:0;;17072:44:22;;;16608:19;17068:103;;17323:14;;;;;;169:89:0;;;;;;;;;;17570:17:22;169:89:0;17570:17:22;;169:89:0;;;17611:12:22;;;;169:89:0;;;;;;;;:::i;:::-;-1:-1:-1;169:89:0;;16151:8:22;17218:420;169:89:0;6500:15:28;;169:89:0;;;17218:420:22;;169:89:0;17323:14:22;17218:420;169:89:0;17611:12:22;17218:420;;-1:-1:-1;169:89:0;;17218:420:22;;;169:89:0;17218:420:22;;;169:89:0;;;;;17218:420:22;;169:89:0;17218:420:22;;;169:89:0;17218:420:22;;;169:89:0;-1:-1:-1;17818:247:22;16151:8;17218:420;;169:89:0;17218:420:22;;;169:89:0;;17218:420:22;;169:89:0;17218:420:22;169:89:0;17218:420:22;;169:89:0;17218:420:22;17323:14;17218:420;;169:89:0;17218:420:22;;;169:89:0;;;17218:420:22;;;;169:89:0;17218:420:22;;;27029:16;169:89:0;;;26697:392:22;;;16151:8;26697:392;;169:89:0;;;17323:14:22;169:89:0;;;;;;;17323:14:22;169:89:0;;;;;;;17218:420:22;169:89:0;;;;;;;17218:420:22;169:89:0;;;;;;;240:1:21;;169:89:0;;;;;;;;;;16151:8:22;169:89:0;;;;;;;;;;;;;;;;;;26697:392:22;169:89:0;26697:392:22;;;;;;16309:36;26697:392;;;;;:::i;:::-;169:89:0;26670:433:22;;169:89:0;-1:-1:-1;169:89:0;16309:36:22;16151:8;169:89:0;;-1:-1:-1;169:89:0;;17903:25:22;17899:77;;-1:-1:-1;3400:1:22;169:89:0;;;17818:247:22;;17899:77;17952:5;;;;;;;;;;;;;;;;169:89:0;;;;-1:-1:-1;169:89:0;16309:36:22;16151:8;169:89:0;;-1:-1:-1;169:89:0;;;;;16151:8:22;17218:420;;169:89:0;3400:1:22;169:89:0;;;;;;;;17218:420:22;169:89:0;17218:420:22;;169:89:0;;;;;;;;;;17323:14:22;17218:420;;169:89:0;;;;;;;;;;;;;;;17611:12:22;17218:420;;169:89:0;;;;;;;;;;;;;;;;;17218:420:22;;;;169:89:0;;;;;17218:420:22;;;169:89:0;16309:36:22;169:89:0;;;;;;;;;;;;;;17218:420:22;;169:89:0;;;;;;17218:420:22;;;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;17218:420:22;;;169:89:0;;;;;;;;;;;;;;;:::i;:::-;;;;;;17818:247:22;169:89:0;;;;;;;;;;16151:8:22;169:89:0;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;-1:-1:-1;;169:89:0;3400:1:22;169:89:0;;;;;;;;;;;;17323:14:22;;;;;;169:89:0;18155:27:22;18151:256;;169:89:0;18421:29:22;;16151:8;169:89:0;18421:29:22;;;;;;;3400:1;18421:29;;;18504:17;18421:29;;:::i;:::-;;18464:25;18476:13;17218:420;18476:13;;169:89:0;18464:25:22;;:::i;:::-;169:89:0;16151:8:22;18504;:17;:::i;:::-;169:89:0;;;;;;;;18541:53:22;16151:8;169:89:0;;;18541:53:22;;169:89:0;16581:13:22;;;;;18151:256;18299:34;;;;;;;;-1:-1:-1;169:89:0;15013:3:22;169:89:0;;;-1:-1:-1;169:89:0;;15013:25:22;;14928:117;;18299:34;18298:35;18294:99;;18151:256;;;;;;;;169:89:0;;;;-1:-1:-1;169:89:0;;;;;;;;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;-1:-1:-1;;169:89:0;;;;;;;;;;3400:1:22;169:89:0;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;240:1:21;169:89:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;3400:1:22;169:89:0;;;;16151:8:22;169:89:0;;;;;;;;;;;-1:-1:-1;169:89:0;16151:8:22;-1:-1:-1;169:89:0;;;;;;;;16151:8:22;169:89:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;169:89:0;;3400:1:22;169:89:0;;;;;;;;17072:44:22;17099:17;169:89:0;17099:17:22;;169:89:0;;;17072:44:22;;16800:150;16912:23;-1:-1:-1;16912:23:22;16309:36;-1:-1:-1;16912:23:22;16804:81;6500:15:28;;169:89:0;6500:15:28;169:89:0;-1:-1:-1;16852:33:22;16804:81;;;16309:36;;;;;;;-1:-1:-1;16309:36:22;;;;;;:::i;:::-;;;;;15846:2898;;;;;;169:89:0;;:::i;:::-;;;;;;;:::i;:::-;16162:21:22;;;;:::i;:::-;16151:8;;;:32;169:89:0;;16309:36:22;169:89:0;16309:36:22;;;;;;169:89:0;-1:-1:-1;16309:15:22;:36;:15;169:89:0;16309:15:22;169:89:0;16309:36:22;;;;;;;-1:-1:-1;16309:36:22;;;15846:2898;169:89:0;;;16359:29:22;16355:82;;16483:25;;;;;;;:::i;:::-;16544:21;;;;:::i;:::-;16581:13;-1:-1:-1;16576:2029:22;16596:10;;;;;;18631:85;;;;;;;;;;;:::i;16608:19::-;16683:7;;;;;;;;;;;;;;:::i;:::-;;16804:22;16151:8;16804:22;;169:89:0;;;;;16804:44:22;;;:81;;;;16608:19;16800:150;;;169:89:0;17073:22:22;;169:89:0;;17072:44:22;;;16608:19;17068:103;;17323:14;;;;;;169:89:0;;;;;;;;;;17570:17:22;169:89:0;17570:17:22;;169:89:0;;;17611:12:22;;;;169:89:0;;;;;;;;;:::i;:::-;-1:-1:-1;169:89:0;;16151:8:22;17218:420;;169:89:0;6500:15:28;169:89:0;;;17218:420:22;;169:89:0;17323:14:22;17218:420;169:89:0;17218:420:22;17611:12;17218:420;;-1:-1:-1;169:89:0;;17218:420:22;;169:89:0;17218:420:22;;;169:89:0;;;;;17218:420:22;;169:89:0;17218:420:22;;;169:89:0;17218:420:22;;;169:89:0;-1:-1:-1;17818:247:22;16151:8;17218:420;;169:89:0;17218:420:22;;;169:89:0;;17218:420:22;;169:89:0;17218:420:22;;169:89:0;17218:420:22;;169:89:0;17218:420:22;17323:14;17218:420;;169:89:0;17218:420:22;;;169:89:0;;;17218:420:22;;;;169:89:0;17218:420:22;;;27029:16;169:89:0;;;26697:392:22;;;16151:8;26697:392;;169:89:0;;;17323:14:22;169:89:0;;;;;;;17323:14:22;169:89:0;;;;;;;17218:420:22;169:89:0;;;;;;;17218:420:22;169:89:0;;;;;;;240:1:21;;169:89:0;;;;;;;;;;16151:8:22;169:89:0;;;;;;;;;;;;;;;;;;26697:392:22;169:89:0;26697:392:22;;;;;;16309:36;26697:392;;;;;:::i;:::-;169:89:0;26670:433:22;;169:89:0;-1:-1:-1;169:89:0;16309:36:22;16151:8;169:89:0;;-1:-1:-1;169:89:0;;17903:25:22;17899:77;;-1:-1:-1;1489:1:21;169:89:0;;;17818:247:22;;17899:77;17952:5;;;;;;;;;;;;;;;;;169:89:0;;;;-1:-1:-1;169:89:0;16309:36:22;16151:8;169:89:0;;-1:-1:-1;169:89:0;;;;;;16151:8:22;17218:420;;169:89:0;1489:1:21;169:89:0;;;;;;;;17218:420:22;169:89:0;17218:420:22;;169:89:0;;;;;;;;;;17323:14:22;17218:420;;169:89:0;;;;;;;;;;;;;;;17611:12:22;17218:420;;169:89:0;;;;;;;;;;;;;;;;;17218:420:22;;;169:89:0;;;;;;17218:420:22;;;169:89:0;;;16309:36:22;169:89:0;;;;;;;;;;;;;;;17218:420:22;169:89:0;17218:420:22;;169:89:0;;;;;;;;;;17218:420:22;;;169:89:0;;;;;;;;17218:420:22;169:89:0;;;;;;;17218:420:22;;;169:89:0;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;17818:247:22;169:89:0;16151:8:22;169:89:0;;;;;;;;;;;-1:-1:-1;;169:89:0;;;;;;-1:-1:-1;;169:89:0;1489:1:21;169:89:0;;;;;;;;;;;;17323:14:22;;;;;;169:89:0;18155:27:22;18151:256;;169:89:0;18421:29:22;;16151:8;169:89:0;18421:29:22;;;;;;;1489:1:21;18421:29:22;;;18504:17;18421:29;;:::i;18504:17::-;169:89:0;;;;;;;;18541:53:22;16151:8;169:89:0;;;18541:53:22;;169:89:0;16581:13:22;;;;;;;;;18151:256;18299:34;;;;;;;;-1:-1:-1;169:89:0;15013:3:22;169:89:0;;;-1:-1:-1;169:89:0;;15013:25:22;;14928:117;;18299:34;18298:35;18294:99;;18151:256;;;;;;;;169:89:0;;;;-1:-1:-1;169:89:0;;;;;;;;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;;-1:-1:-1;169:89:0;-1:-1:-1;;169:89:0;;;;;;;;;;1489:1:21;169:89:0;;-1:-1:-1;;169:89:0;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;;240:1:21;169:89:0;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;1489:1:21;169:89:0;;;;16151:8:22;169:89:0;;;;;;;;;;;;;;;;;;-1:-1:-1;169:89:0;16151:8:22;-1:-1:-1;169:89:0;;;;;;;;16151:8:22;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;-1:-1:-1;169:89:0;;;;-1:-1:-1;1489:1:21;169:89:0;;;;;;;;17072:44:22;17099:17;169:89:0;17099:17:22;;169:89:0;;;17072:44:22;;16804:81;6500:15:28;;169:89:0;6500:15:28;169:89:0;-1:-1:-1;16852:33:22;16804:81;;;16309:36;;;;;;;-1:-1:-1;16309:36:22;;;;;;:::i;:::-;;;;;28803:701;;28944:23;28803:701;28944:23;:::i;:::-;28978:24;29001:1;169:89:0;;29066:13:22;29001:1;29081:17;;;;;;29486:11;;;;28803:701;:::o;29100:19::-;29166:11;;;;:::i;:::-;;169:89:0;;29001:1:22;29251:215;29271:21;;;;;;29100:19;;;1489:1:21;169:89:0;29066:13:22;;29294:19;29354:14;;;1489:1:21;29354:14:22;;;;;;:::i;:::-;169:89:0;29333:35:22;;;;:::i;:::-;169:89:0;;29294:19:22;169:89:0;29256:13:22;;;;27816:225;;169:89:0;-1:-1:-1;169:89:0;27885:11:22;169:89:0;;;;-1:-1:-1;169:89:0;;;27881:80:22;;169:89:0;;;-1:-1:-1;169:89:0;27885:11:22;169:89:0;;;-1:-1:-1;169:89:0;;;;;;;;;;;;28011:23:22;;-1:-1:-1;28011:23:22;;27816:225::o;27881:80::-;27930:20;-1:-1:-1;27930:20:22;;-1:-1:-1;27930:20:22;1308:632:37;1430:17;-1:-1:-1;29282:17:42;29291:8;29282:17;;;29278:103;;1308:632:37;29398:17:42;29407:8;29978:7;29398:17;;;29394:103;;1308:632:37;29523:8:42;29514:17;;;29510:103;;1308:632:37;29639:7:42;29630:16;;;29626:100;;1308:632:37;29752:7:42;29743:16;;;29739:100;;1308:632:37;29865:7:42;29856:16;;;29852:100;;1308:632:37;29969:16:42;;29965:66;;1308:632:37;29978:7:42;-1:-1:-1;;1545:92:37;1450:1;169:89:0;;1488:18:37;-1:-1:-1;;169:89:0;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;;:::i;:::-;;;;;;;1545:92:37;;;1650:247;169:89:0;1704:111:37;;;;;;;;169:89:0;1865:10:37;;1861:21;;-1:-1:-1;;29978:7:42;1650:247:37;;;;1861:21;1877:5;;1308:632;:::o;29965:66:42:-;30015:1;169:89:0;;;;29965:66:42;;29852:100;29865:7;29936:1;169:89:0;;;;29852:100:42;;;29739;29752:7;29823:1;169:89:0;;;;29739:100:42;;;29626;29639:7;29710:1;169:89:0;;;;29626:100:42;;;29510:103;29523:8;29596:2;169:89:0;;;;29510:103:42;;;29394;29407:8;29480:2;169:89:0;;;;29394:103:42;;;29278;-1:-1:-1;29364:2:42;;-1:-1:-1;29291:8:42;169:89:0;;29278:103:42;;3945:262:39;169:89:0;4038:11:39;169:89:0;4029:4:39;4021:28;:63;;;3945:262;4017:184;;;4107:22;4100:29;:::o;4017:184::-;169:89:0;;4304:80:39;;;169:89:0;2079:95:39;169:89:0;;4326:11:39;169:89:0;2079:95:39;;169:89:0;4339:14:39;2079:95;;;169:89:0;4355:13:39;2079:95;;;169:89:0;4029:4:39;2079:95;;;169:89:0;2079:95:39;4304:80;;;;;;:::i;:::-;169:89:0;4294:91:39;;4160:30;:::o;4021:63::-;4070:14;;4053:13;:31;4021:63;;5017:176;3993:249:40;5017:176:39;5153:20;;:::i;:::-;3993:249:40;;;;;;;;;;;;;;;;5017:176:39;:::o;1041:429:41:-;;;1167:18;;;;1254:33;;;;:::i;:::-;169:89:0;;;;;;;1308:33:41;:56;;;;1301:63;;;:::o;1308:56::-;169:89:0;;;;;;;;1345:19:41;1301:63;:::o;169:89:0:-;;;;;;;;;;1163:301:41;169:89:0;;;;2105:60:41;169:89:0;;;;2105:60:41;;;;;;;;;;;;;169:89:0;;;;;;;;;;;:::i;:::-;2105:60:41;-1:-1:-1;;2105:60:41;;;;;;:::i;:::-;2074:101;;;;;;:::i;:::-;2193:42;;;1163:301;2193:134;;;1395:58;;:::o;2193:134::-;169:89:0;;2105:60:41;169:89:0;;;2251:29:41;;169:89:0;;;;2105:60:41;2251:29;169:89:0;2105:60:41;2251:76;;1395:58::o;2193:42::-;169:89:0;;2105:60:41;169:89:0;;2216:19:41;;2193:42;;;169:89:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;24099:2238:22;;;;169:89:0;;24417:11:22;1489:1:21;24417:11:22;;24413:146;;24596:21;;169:89:0;;;;24631:31:22;;24627:406;;169:89:0;;;;;25104:20:22;;24596:21;25104:20;;;;;;;;;;;169:89:0;25104:20:22;;;24099:2238;25140:13;;169:89:0;25135:777:22;25155:10;;;;;;169:89:0;;;;24596:21:22;169:89:0;25959:67:22;169:89:0;;;;25959:67:22;;;;;;169:89:0;25959:67:22;;25104:20;25959:67;;;:::i;:::-;;;;;;;;;;169:89:0;25959:67:22;;;25135:777;25958:68;;25954:134;;26241:58;;26309:21;24099:2238;:::o;26241:58::-;26273:14;;;:::i;25954:134::-;26053:20;169:89:0;26053:20:22;25104;169:89:0;26053:20:22;25959:67;;;24596:21;25959:67;;24596:21;25959:67;;;;;;24596:21;25959:67;;;:::i;:::-;;;169:89:0;;;;;;;:::i;:::-;25959:67:22;;;;;;-1:-1:-1;25959:67:22;;25167:19;25218:9;;;;;;;;:::i;:::-;169:89:0;25340:10:22;;25336:57;;25411:18;;25407:76;;25591:22;;;25587:87;;169:89:0;1489:1:21;169:89:0;;;;25167:19:22;25140:13;169:89:0;25140:13:22;;;;25587:87;25640:19;169:89:0;25640:19:22;25104:20;169:89:0;25640:19:22;25407:76;25456:12;169:89:0;25456:12:22;25104:20;169:89:0;25456:12:22;25336:57;25370:8;;;1489:1:21;25370:8:22;;;25104:20;;;24596:21;25104:20;;24596:21;25104:20;;;;;;24596:21;25104:20;;;:::i;:::-;;;169:89:0;;;;;;;:::i;:::-;25104:20:22;;;;;;-1:-1:-1;25104:20:22;;24627:406;24760:13;;169:89:0;24760:13:22;;;;24775:10;;;;;;24934:66;;;;;25014:8;169:89:0;25014:8:22;:::o;24934:66::-;24970:14;;;:::i;:::-;169:89:0;25014:8:22;:::o;24787:19::-;24830:9;;;;:::i;:::-;169:89:0;24826:80:22;;1489:1:21;169:89:0;24760:13:22;;24413:146;24485:15;24451:97;24485:15;;;24502:9;24485:15;1489:1:21;24485:15:22;;;;;:::i;:::-;;24502:9;;:::i;:::-;169:89:0;24451:97:22;;:::i;24099:2238::-;;;;169:89:0;;24417:11:22;24427:1;24417:11;;24413:146;;24596:21;;169:89:0;;;;24631:31:22;;24627:406;;-1:-1:-1;169:89:0;;;;25104:20:22;;24596:21;25104:20;;;;;;;;;;;-1:-1:-1;25104:20:22;;;24099:2238;25140:13;;-1:-1:-1;25135:777:22;25155:10;;;;;;25922:309;;;;24596:21;25922:309;26109:67;25922:309;169:89:0;;;26109:67:22;;;;;;169:89:0;26109:67:22;;25104:20;26109:67;;;:::i;:::-;;;;;;;;;;25922:309;26109:67;;;25135:777;26108:68;;26104:127;;26241:58;;26309:21;24099:2238;:::o;26104:127::-;26199:21;25922:309;26199:21;25104:20;25922:309;26199:21;26109:67;;;24596:21;26109:67;;24596:21;26109:67;;;;;;24596:21;26109:67;;;:::i;:::-;;;169:89:0;;;;;;;:::i;:::-;26109:67:22;;;;;;-1:-1:-1;26109:67:22;;25167:19;25218:9;;;;;;;;:::i;:::-;169:89:0;25340:10:22;;25336:57;;25411:18;;25407:76;;25591:22;;;25587:87;;169:89:0;24427:1:22;169:89:0;;;;25167:19:22;25140:13;169:89:0;25140:13:22;;;;25336:57;25370:8;;;24427:1;25370:8;;;25104:20;;;24596:21;25104:20;;24596:21;25104:20;;;;;;24596:21;25104:20;;;:::i;:::-;;;169:89:0;;;;;;;:::i;:::-;25104:20:22;;;;;;-1:-1:-1;25104:20:22;;24627:406;24760:13;;-1:-1:-1;24760:13:22;;;;24775:10;;;;;;24934:66;;;;;25014:8;-1:-1:-1;25014:8:22;:::o;24787:19::-;24830:9;;;;:::i;:::-;169:89:0;24826:80:22;;24427:1;169:89:0;24760:13:22;;24413:146;24485:15;24451:97;24485:15;;;24502:9;24485:15;-1:-1:-1;24485:15:22;;;;;:::i;3368:267:35:-;1390:66;3491:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;169:89:0;;;;;;;:::i;:::-;2311:2:35;169:89:0;;;;;;;;;;;2324:106:35;;;3553:22;:::o;2675:69::-;2713:20;169:89:0;2713:20:35;;169:89:0;2713:20:35;3487:142;169:89:0;;;1390:66:35;;;;169:89:0;1390:66:35;:::i;:::-;;;;:::i;3368:267::-;1390:66;3491:46;;1390:66;;;2625:40;;2679:11;2688:2;2679:11;;2675:69;;169:89:0;;;;;;;:::i;3487:142:35:-;169:89:0;;;1390:66:35;;;;6683:16:39;1390:66:35;:::i;169:89:0:-;;;;;;;;;;:::i;:::-;;;;;;;;:::i;:::-;;;;-1:-1:-1;169:89:0;;;;:::o;:::-;;;:::o;2129:778:38:-;169:89:0;;;2129:778:38;2319:2;2299:22;;2319:2;;2751:25;2535:196;;;;;;;;;;;;;;;-1:-1:-1;2535:196:38;2751:25;;:::i;:::-;2744:32;;;;;:::o;2295:606::-;2807:83;;2823:1;2807:83;2827:35;2807:83;;:::o;21968:1538:22:-;22249:21;;169:89:0;21968:1538:22;;;;;169:89:0;;;22284:31:22;;22280:309;;22693:10;;;;;22689:449;;21968:1538;22249:21;;23148:261;;;;;169:89:0;;;;23185:44:22;;;;;;169:89:0;23185:44:22;;;;;;169:89:0;;;;;;:::i;:::-;23185:44:22;;;;;;;;;169:89:0;23185:44:22;;;23148:261;23184:45;;23180:110;;23148:261;23419:58;;23487:12;21968:1538;:::o;23180:110::-;23256:19;169:89:0;23256:19:22;23185:44;169:89:0;23256:19:22;23185:44;;;22249:21;23185:44;;22249:21;23185:44;;;;;;22249:21;23185:44;;;:::i;:::-;;;169:89:0;;;;;;;:::i;:::-;23185:44:22;;;;;;-1:-1:-1;23185:44:22;;23148:261;169:89:0;;;;23311:44:22;;;;;;169:89:0;23311:44:22;;;;;;169:89:0;;;;;;:::i;:::-;23311:44:22;;;;;;;;;169:89:0;23311:44:22;;;23148:261;23310:45;23148:261;23306:103;23378:20;169:89:0;23378:20:22;23311:44;169:89:0;23378:20:22;23311:44;;;22249:21;23311:44;;22249:21;23311:44;;;;;;22249:21;23311:44;;;:::i;:::-;;;169:89:0;;;;;;;:::i;:::-;23311:44:22;;;;;;-1:-1:-1;23311:44:22;;22689:449;169:89:0;;;;;;;;22724:20:22;;22249:21;22724:20;;;;;;;;;;;169:89:0;22724:20:22;;;22689:449;22723:21;;22719:79;;22906:22;;;22902:87;;169:89:0;;;;;;;;22689:449:22;;22724:20;;;22249:21;22724:20;;22249:21;22724:20;;;;;;22249:21;22724:20;;;:::i;:::-;;;169:89:0;;;;;;;:::i;:::-;22724:20:22;;;;;;-1:-1:-1;22724:20:22;;22280:309;22412:10;;;;;22408:68;;22490:66;;22570:8;169:89:0;22570:8:22;:::o;27265:415::-;27328:18;27324:350;;27265:415;:::o;27324:350::-;1375:21:32;;:30;1371:125;;27345:1:22;27626:10;;;;;1548:33:32;;;;:::i;:::-;1595:8;;1591:58;;27265:415:22;:::o;1591:58:32:-;169:89:0;;5690:21:32;:17;;5815:158;;;;;;5686:354;6010:19;27345:1:22;6010:19:32;;27345:1:22;6010:19:32;1371:125;1455:21;1428:57;27345:1:22;1428:57:32;;169:89:0;;;;27345:1:22;1428:57:32;5203:1551:38;;;6283:66;6270:79;;6266:164;;169:89:0;;;;;;-1:-1:-1;169:89:0;;;;;;;;;;;;;;;;;;;6541:24:38;;;;;;;;;-1:-1:-1;6541:24:38;169:89:0;;;6579:20:38;6575:113;;6698:49;-1:-1:-1;6698:49:38;-1:-1:-1;5203:1551:38;:::o;6575:113::-;6615:62;-1:-1:-1;6615:62:38;6541:24;6615:62;-1:-1:-1;6615:62:38;:::o;6266:164::-;6365:54;;;6381:1;6365:54;6385:30;6365:54;;:::o","linkReferences":{},"immutableReferences":{"39456":[{"start":484,"length":32},{"start":7782,"length":32},{"start":8582,"length":32},{"start":9680,"length":32},{"start":11566,"length":32}],"41838":[{"start":2268,"length":32}],"41840":[{"start":2311,"length":32}],"41842":[{"start":2354,"length":32}],"44773":[{"start":14098,"length":32}],"44775":[{"start":14287,"length":32}],"44777":[{"start":14051,"length":32}],"44779":[{"start":14177,"length":32}],"44781":[{"start":14215,"length":32}],"44784":[{"start":1883,"length":32}],"44787":[{"start":1927,"length":32}]}},"methodIdentifiers":{"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))":"f17325e7","attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))":"3c042715","eip712Domain()":"84b0196e","getAttestTypeHash()":"12b11a17","getAttestation(bytes32)":"a3112a64","getDomainSeparator()":"ed24911d","getName()":"17d7de7c","getNonce(address)":"2d0335ab","getRevokeOffchain(address,bytes32)":"b469318d","getRevokeTypeHash()":"b83010d3","getSchemaRegistry()":"f10b5cc8","getTimestamp(bytes32)":"d45c4435","increaseNonce(uint256)":"79f7573a","isAttestationValid(bytes32)":"e30bb563","multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])":"44adc90e","multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])":"95411525","multiRevoke((bytes32,(bytes32,uint256)[])[])":"4cb7e9e5","multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])":"0eabf660","multiRevokeOffchain(bytes32[])":"13893f61","multiTimestamp(bytes32[])":"e71ff365","revoke((bytes32,(bytes32,uint256)))":"46926267","revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))":"a6d4dbc7","revokeOffchain(bytes32)":"cf190f34","timestamp(bytes32)":"4d003070","version()":"54fd4d50"},"rawMetadata":"{\"compiler\":{\"version\":\"0.8.27+commit.40a35a09\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"contract ISchemaRegistry\",\"name\":\"registry\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"inputs\":[],\"name\":\"AccessDenied\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyRevoked\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyRevokedOffchain\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"AlreadyTimestamped\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"DeadlineExpired\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"FailedCall\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"},{\"internalType\":\"uint256\",\"name\":\"needed\",\"type\":\"uint256\"}],\"name\":\"InsufficientBalance\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InsufficientValue\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAttestation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidAttestations\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidExpirationTime\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidLength\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidNonce\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidOffset\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRegistry\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRevocation\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidRevocations\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSchema\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidShortString\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidSignature\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"InvalidVerifier\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"Irrevocable\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotFound\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"NotPayable\",\"type\":\"error\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"str\",\"type\":\"string\"}],\"name\":\"StringTooLong\",\"type\":\"error\"},{\"inputs\":[],\"name\":\"WrongSchema\",\"type\":\"error\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schemaUID\",\"type\":\"bytes32\"}],\"name\":\"Attested\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[],\"name\":\"EIP712DomainChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"oldNonce\",\"type\":\"uint256\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"newNonce\",\"type\":\"uint256\"}],\"name\":\"NonceIncreased\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"schemaUID\",\"type\":\"bytes32\"}],\"name\":\"Revoked\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"RevokedOffchain\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"uint64\",\"name\":\"timestamp\",\"type\":\"uint64\"}],\"name\":\"Timestamped\",\"type\":\"event\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct AttestationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"attest\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature\",\"name\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct DelegatedAttestationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"attestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"eip712Domain\",\"outputs\":[{\"internalType\":\"bytes1\",\"name\":\"fields\",\"type\":\"bytes1\"},{\"internalType\":\"string\",\"name\":\"name\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"version\",\"type\":\"string\"},{\"internalType\":\"uint256\",\"name\":\"chainId\",\"type\":\"uint256\"},{\"internalType\":\"address\",\"name\":\"verifyingContract\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"salt\",\"type\":\"bytes32\"},{\"internalType\":\"uint256[]\",\"name\":\"extensions\",\"type\":\"uint256[]\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getAttestTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"getAttestation\",\"outputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"internalType\":\"uint64\",\"name\":\"time\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"uint64\",\"name\":\"revocationTime\",\"type\":\"uint64\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"internalType\":\"struct Attestation\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDomainSeparator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getName\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"getNonce\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getRevokeTypeHash\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getSchemaRegistry\",\"outputs\":[{\"internalType\":\"contract ISchemaRegistry\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"getTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"newNonce\",\"type\":\"uint256\"}],\"name\":\"increaseNonce\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"}],\"name\":\"isAttestationValid\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"struct MultiAttestationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttest\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"address\",\"name\":\"recipient\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"expirationTime\",\"type\":\"uint64\"},{\"internalType\":\"bool\",\"name\":\"revocable\",\"type\":\"bool\"},{\"internalType\":\"bytes32\",\"name\":\"refUID\",\"type\":\"bytes32\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct AttestationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"attester\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct MultiDelegatedAttestationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiAttestByDelegation\",\"outputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"\",\"type\":\"bytes32[]\"}],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"}],\"internalType\":\"struct MultiRevocationRequest[]\",\"name\":\"multiRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData[]\",\"name\":\"data\",\"type\":\"tuple[]\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature[]\",\"name\":\"signatures\",\"type\":\"tuple[]\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct MultiDelegatedRevocationRequest[]\",\"name\":\"multiDelegatedRequests\",\"type\":\"tuple[]\"}],\"name\":\"multiRevokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiRevokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32[]\",\"name\":\"data\",\"type\":\"bytes32[]\"}],\"name\":\"multiTimestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData\",\"name\":\"data\",\"type\":\"tuple\"}],\"internalType\":\"struct RevocationRequest\",\"name\":\"request\",\"type\":\"tuple\"}],\"name\":\"revoke\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"schema\",\"type\":\"bytes32\"},{\"components\":[{\"internalType\":\"bytes32\",\"name\":\"uid\",\"type\":\"bytes32\"},{\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"internalType\":\"struct RevocationRequestData\",\"name\":\"data\",\"type\":\"tuple\"},{\"components\":[{\"internalType\":\"uint8\",\"name\":\"v\",\"type\":\"uint8\"},{\"internalType\":\"bytes32\",\"name\":\"r\",\"type\":\"bytes32\"},{\"internalType\":\"bytes32\",\"name\":\"s\",\"type\":\"bytes32\"}],\"internalType\":\"struct Signature\",\"name\":\"signature\",\"type\":\"tuple\"},{\"internalType\":\"address\",\"name\":\"revoker\",\"type\":\"address\"},{\"internalType\":\"uint64\",\"name\":\"deadline\",\"type\":\"uint64\"}],\"internalType\":\"struct DelegatedRevocationRequest\",\"name\":\"delegatedRequest\",\"type\":\"tuple\"}],\"name\":\"revokeByDelegation\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"revokeOffchain\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"data\",\"type\":\"bytes32\"}],\"name\":\"timestamp\",\"outputs\":[{\"internalType\":\"uint64\",\"name\":\"\",\"type\":\"uint64\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"version\",\"outputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"errors\":{\"FailedCall()\":[{\"details\":\"A call to an address target failed. The target may have reverted.\"}],\"InsufficientBalance(uint256,uint256)\":[{\"details\":\"The ETH balance of the account is not enough to perform the operation.\"}]},\"events\":{\"Attested(address,address,bytes32,bytes32)\":{\"params\":{\"attester\":\"The attesting account.\",\"recipient\":\"The recipient of the attestation.\",\"schemaUID\":\"The UID of the schema.\",\"uid\":\"The UID of the new attestation.\"}},\"EIP712DomainChanged()\":{\"details\":\"MAY be emitted to signal that the domain could have changed.\"},\"NonceIncreased(uint256,uint256)\":{\"params\":{\"newNonce\":\"The new value.\",\"oldNonce\":\"The previous nonce.\"}},\"Revoked(address,address,bytes32,bytes32)\":{\"params\":{\"attester\":\"The attesting account.\",\"recipient\":\"The recipient of the attestation.\",\"schemaUID\":\"The UID of the schema.\",\"uid\":\"The UID the revoked attestation.\"}},\"RevokedOffchain(address,bytes32,uint64)\":{\"params\":{\"data\":\"The data.\",\"revoker\":\"The address of the revoker.\",\"timestamp\":\"The timestamp.\"}},\"Timestamped(bytes32,uint64)\":{\"params\":{\"data\":\"The data.\",\"timestamp\":\"The timestamp.\"}}},\"kind\":\"dev\",\"methods\":{\"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))\":{\"params\":{\"request\":\"The arguments of the attestation request.\"},\"returns\":{\"_0\":\"The UID of the new attestation. Example:     attest({         schema: \\\"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\\\",         data: {             recipient: \\\"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\\\",             expirationTime: 0,             revocable: true,             refUID: \\\"0x0000000000000000000000000000000000000000000000000000000000000000\\\",             data: \\\"0xF00D\\\",             value: 0         }     })\"}},\"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"params\":{\"delegatedRequest\":\"The arguments of the delegated attestation request.\"},\"returns\":{\"_0\":\"The UID of the new attestation. Example:     attestByDelegation({         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: {             recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',             expirationTime: 1673891048,             revocable: true,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x1234',             value: 0         },         signature: {             v: 28,             r: '0x148c...b25b',             s: '0x5a72...be22'         },         attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e',         deadline: 1673891048     })\"}},\"eip712Domain()\":{\"details\":\"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature.\"},\"getAttestTypeHash()\":{\"returns\":{\"_0\":\"The EIP712 type hash for the attest function.\"}},\"getAttestation(bytes32)\":{\"params\":{\"uid\":\"The UID of the attestation to retrieve.\"},\"returns\":{\"_0\":\"The attestation data members.\"}},\"getDomainSeparator()\":{\"returns\":{\"_0\":\"The domain separator used in the encoding of the signatures for attest, and revoke.\"}},\"getName()\":{\"returns\":{\"_0\":\"The EIP712 name.\"}},\"getNonce(address)\":{\"params\":{\"account\":\"The requested account.\"},\"returns\":{\"_0\":\"The current nonce.\"}},\"getRevokeOffchain(address,bytes32)\":{\"params\":{\"data\":\"The data to query.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"getRevokeTypeHash()\":{\"returns\":{\"_0\":\"The EIP712 type hash for the revoke function.\"}},\"getSchemaRegistry()\":{\"returns\":{\"_0\":\"The address of the global schema registry.\"}},\"getTimestamp(bytes32)\":{\"params\":{\"data\":\"The data to query.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"increaseNonce(uint256)\":{\"params\":{\"newNonce\":\"The (higher) new value.\"}},\"isAttestationValid(bytes32)\":{\"params\":{\"uid\":\"The UID of the attestation to retrieve.\"},\"returns\":{\"_0\":\"Whether an attestation exists.\"}},\"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])\":{\"params\":{\"multiRequests\":\"The arguments of the multi attestation requests. The requests should be grouped by distinct     schema ids to benefit from the best batching optimization.\"},\"returns\":{\"_0\":\"The UIDs of the new attestations. Example:     multiAttest([{         schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd',         data: [{             recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',             expirationTime: 1673891048,             revocable: true,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x1234',             value: 1000         },         {             recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',             expirationTime: 0,             revocable: false,             refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174',             data: '0x00',             value: 0         }],     },     {         schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',         data: [{             recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',             expirationTime: 0,             revocable: true,             refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f',             data: '0x12345678',             value: 0         },     }])\"}},\"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"params\":{\"multiDelegatedRequests\":\"The arguments of the delegated multi attestation requests. The requests should be     grouped by distinct schema ids to benefit from the best batching optimization.\"},\"returns\":{\"_0\":\"The UIDs of the new attestations. Example:     multiAttestByDelegation([{         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: [{             recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',             expirationTime: 1673891048,             revocable: true,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x1234',             value: 0         },         {             recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',             expirationTime: 0,             revocable: false,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x00',             value: 0         }],         signatures: [{             v: 28,             r: '0x148c...b25b',             s: '0x5a72...be22'         },         {             v: 28,             r: '0x487s...67bb',             s: '0x12ad...2366'         }],         attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4',         deadline: 1673891048     }])\"}},\"multiRevoke((bytes32,(bytes32,uint256)[])[])\":{\"params\":{\"multiRequests\":\"The arguments of the multi revocation requests. The requests should be grouped by distinct     schema ids to benefit from the best batching optimization. Example:     multiRevoke([{         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: [{             uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',             value: 1000         },         {             uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',             value: 0         }],     },     {         schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',         data: [{             uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019',             value: 0         },     }])\"}},\"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"params\":{\"multiDelegatedRequests\":\"The arguments of the delegated multi revocation attestation requests. The requests     should be grouped by distinct schema ids to benefit from the best batching optimization. Example:     multiRevokeByDelegation([{         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: [{             uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',             value: 1000         },         {             uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',             value: 0         }],         signatures: [{             v: 28,             r: '0x148c...b25b',             s: '0x5a72...be22'         },         {             v: 28,             r: '0x487s...67bb',             s: '0x12ad...2366'         }],         revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',         deadline: 1673891048     }])\"}},\"multiRevokeOffchain(bytes32[])\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was revoked with.\"}},\"multiTimestamp(bytes32[])\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"revoke((bytes32,(bytes32,uint256)))\":{\"params\":{\"request\":\"The arguments of the revocation request. Example:     revoke({         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: {             uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d',             value: 0         }     })\"}},\"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"params\":{\"delegatedRequest\":\"The arguments of the delegated revocation request. Example:     revokeByDelegation({         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: {             uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba',             value: 0         },         signature: {             v: 27,             r: '0xb593...7142',             s: '0x0f5b...2cce'         },         revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',         deadline: 1673891048     })\"}},\"revokeOffchain(bytes32)\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was revoked with.\"}},\"timestamp(bytes32)\":{\"params\":{\"data\":\"The data to timestamp.\"},\"returns\":{\"_0\":\"The timestamp the data was timestamped with.\"}},\"version()\":{\"returns\":{\"_0\":\"Semver contract version as a string.\"}}},\"version\":1},\"userdoc\":{\"events\":{\"Attested(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted when an attestation has been made.\"},\"NonceIncreased(uint256,uint256)\":{\"notice\":\"Emitted when users invalidate nonces by increasing their nonces to (higher) new values.\"},\"Revoked(address,address,bytes32,bytes32)\":{\"notice\":\"Emitted when an attestation has been revoked.\"},\"RevokedOffchain(address,bytes32,uint64)\":{\"notice\":\"Emitted when a data has been revoked.\"},\"Timestamped(bytes32,uint64)\":{\"notice\":\"Emitted when a data has been timestamped.\"}},\"kind\":\"user\",\"methods\":{\"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))\":{\"notice\":\"Attests to a specific schema.\"},\"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"notice\":\"Attests to a specific schema via the provided ECDSA signature.\"},\"getAttestTypeHash()\":{\"notice\":\"Returns the EIP712 type hash for the attest function.\"},\"getAttestation(bytes32)\":{\"notice\":\"Returns an existing attestation by UID.\"},\"getDomainSeparator()\":{\"notice\":\"Returns the domain separator used in the encoding of the signatures for attest, and revoke.\"},\"getName()\":{\"notice\":\"Returns the EIP712 name.\"},\"getNonce(address)\":{\"notice\":\"Returns the current nonce per-account.\"},\"getRevokeOffchain(address,bytes32)\":{\"notice\":\"Returns the timestamp that the specified data was timestamped with.\"},\"getRevokeTypeHash()\":{\"notice\":\"Returns the EIP712 type hash for the revoke function.\"},\"getSchemaRegistry()\":{\"notice\":\"Returns the address of the global schema registry.\"},\"getTimestamp(bytes32)\":{\"notice\":\"Returns the timestamp that the specified data was timestamped with.\"},\"increaseNonce(uint256)\":{\"notice\":\"Provides users an option to invalidate nonces by increasing their nonces to (higher) new values.\"},\"isAttestationValid(bytes32)\":{\"notice\":\"Checks whether an attestation exists.\"},\"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])\":{\"notice\":\"Attests to multiple schemas.\"},\"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"notice\":\"Attests to multiple schemas using via provided ECDSA signatures.\"},\"multiRevoke((bytes32,(bytes32,uint256)[])[])\":{\"notice\":\"Revokes existing attestations to multiple schemas.\"},\"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])\":{\"notice\":\"Revokes existing attestations to multiple schemas via provided ECDSA signatures.\"},\"multiRevokeOffchain(bytes32[])\":{\"notice\":\"Revokes the specified multiple bytes32 data.\"},\"multiTimestamp(bytes32[])\":{\"notice\":\"Timestamps the specified multiple bytes32 data.\"},\"revoke((bytes32,(bytes32,uint256)))\":{\"notice\":\"Revokes an existing attestation to a specific schema.\"},\"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))\":{\"notice\":\"Revokes an existing attestation to a specific schema via the provided ECDSA signature.\"},\"revokeOffchain(bytes32)\":{\"notice\":\"Revokes the specified bytes32 data.\"},\"timestamp(bytes32)\":{\"notice\":\"Timestamps the specified bytes32 data.\"},\"version()\":{\"notice\":\"Returns the full semver contract version.\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/CustomEAS.sol\":\"CustomEAS\"},\"evmVersion\":\"cancun\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":true,\"runs\":10000},\"remappings\":[\":@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/\",\":@openzeppelin/=node_modules/@openzeppelin/\",\":eth-gas-reporter/=node_modules/eth-gas-reporter/\",\":forge-std/=lib/forge-std/src/\",\":hardhat/=node_modules/hardhat/\"],\"viaIR\":true},\"sources\":{\"contracts/CustomEAS.sol\":{\"keccak256\":\"0xf4ade198ec0e78b9b9db3f9d9e7d0695a244cd29b8fa5ebe6a72e2c24f006e74\",\"license\":\"FSL-1.1-MIT\",\"urls\":[\"bzz-raw://223853f1d30fc85de32548d47e9ed977851200afc3daa6cf9a88d419b42db806\",\"dweb:/ipfs/QmTJEDpWT4LnXw8LQwSuZGHsSY8tSHpEk7x29Nqkn3tMvX\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/Common.sol\":{\"keccak256\":\"0x957bd2e6d0d6d637f86208b135c29fbaf4412cb08e5e7a61ede16b80561bf685\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://da1dc9aedbb1d4d39c46c2235918d3adfbc5741dd34a46010cf425d134e7936d\",\"dweb:/ipfs/QmWUk6bXnLaghS2riF3GTFEeURCzgYFMA5woa6AsgPwEgc\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/EAS.sol\":{\"keccak256\":\"0x60d59e039e6ec40887e8a946f516b55997d689212c44a89f434119535dd9a3c4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b5234ba00beaf7a43005c0759e883c6878eecc4d0efeb42c10be8c9e8b17ba21\",\"dweb:/ipfs/QmPdUaubX2Yr9kMSyyYxkY3ueHiGzPfqTq5ubzbmQiQA6B\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/IEAS.sol\":{\"keccak256\":\"0xdad0674defce04905dc7935f2756d6c477a6e876c0b1b7094b112a862f164c12\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://49e448c26c08952df034692d2ab3519dd40a1ebbeae4ce68b294567441933880\",\"dweb:/ipfs/QmWHcudjskUSCjgqsNWE65LVfWvcYB2vBn8RB1SmzvRLNR\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/ISchemaRegistry.sol\":{\"keccak256\":\"0xea97dcd36a0c422169cbaac06698249e199049b627c16bff93fb8ab829058754\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://d453a929ef64a69cd31195ec2ee5ed1193bfa29f633e13c960e92154c37ad158\",\"dweb:/ipfs/QmXs1Z3njbHs2EMgHonrZDfcwdog4kozHY5tYNrhZK5yqz\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/ISemver.sol\":{\"keccak256\":\"0x04a67939b4e1a8d0a51101b8f69f8882930bbdc66319f38023828625b5d1ff18\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://3dd543fa0e33cef1ea757627f9c2a10a66ee1ce17aa9087f437c5b53a903c7f0\",\"dweb:/ipfs/QmXsy6UsGBzF9zPCCjmiwPpCcX3tHqU13TmR67B69tKnR6\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/Semver.sol\":{\"keccak256\":\"0x4f23442d048661b6aaa188ddc16b69cb310c2e44066b3852026afcb4201d61a9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30c36e580cd93d9acb13e1a11e833946a8bd0bd2a8d1b2be049f0d96e0989808\",\"dweb:/ipfs/QmXmQTxKjSrUWutafQsqkbGufXqtzxuDAiMMJjXCHXiEqh\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/eip1271/EIP1271Verifier.sol\":{\"keccak256\":\"0x590977110db1256cc00416bdf74eb8264a0eda358ccded303610369a2930b614\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ef015b3bee8859e6658c0eac6471d05f2991a5f4b6b5c2aa5571bbdab622d6e9\",\"dweb:/ipfs/QmUHriGkixE62c5qWjyM9DWZFykDcjQ7T6Tbfi3DPD38ym\"]},\"node_modules/@ethereum-attestation-service/eas-contracts/contracts/resolver/ISchemaResolver.sol\":{\"keccak256\":\"0xb7d1961ed928c620cddf35c2bf46845b10828bc5d73145214630202ed355b6bb\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cf1cabacfb15c9bace8280b540b52e5aa440e1b4eba675f9782c34ce0f03902f\",\"dweb:/ipfs/QmakYcK4xbrijzvoaBCmBJK6HeaBqbXxWKtDQ1z62aXwCR\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol\":{\"keccak256\":\"0x3d4cd07258d675b6dfa3d9dfd623a77b38fb9935f4a5381ff4bc969948720976\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://30abb60a4d98ad9a33de4fa5e9072342e12df3a79e9c71b5f59ce049ae8cd535\",\"dweb:/ipfs/QmT6NXJDjsf8H14nPYQsFELDB8q5ZTmG9cjdX2bEQJW7ST\"]},\"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol\":{\"keccak256\":\"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a\",\"dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP\"]},\"node_modules/@openzeppelin/contracts/utils/Address.sol\":{\"keccak256\":\"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e\",\"dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR\"]},\"node_modules/@openzeppelin/contracts/utils/Errors.sol\":{\"keccak256\":\"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf\",\"dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB\"]},\"node_modules/@openzeppelin/contracts/utils/Panic.sol\":{\"keccak256\":\"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a\",\"dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG\"]},\"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol\":{\"keccak256\":\"0x1fcf8cceb1a67e6c8512267e780933c4a3f63ef44756e6c818fda79be51c8402\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://617d7d57f6f9cd449068b4d23daf485676d083aae648e038d05eb3a13291de35\",\"dweb:/ipfs/QmPADWPiGaSzZDFNpFEUx4ZPqhzPkYncBpHyTfAGcfsqzy\"]},\"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol\":{\"keccak256\":\"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b\",\"dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM\"]},\"node_modules/@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x81c274a60a7ae232ae3dc9ff3a4011b4849a853c13b0832cd3351bb1bb2f0dae\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://9da0c20dc74358a2a76330818f3bac9d1e2ce3371aec847b9cbf5d147fbae4f6\",\"dweb:/ipfs/QmeczhmnFv1hbXKGLwbYXY6Rrytc9a5A2YaRi5QMMgjPnb\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol\":{\"keccak256\":\"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9\",\"dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol\":{\"keccak256\":\"0x0c60057e7351874f086db8dc9291b7ada9ad62cb7725befd2991430d04a74572\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://33cdfd1fc36410d45046f88ff9864350146b194736c32834baa38d99b843ffbe\",\"dweb:/ipfs/QmdVmqgFKjgEBURy4KUwWDA6J1LEg1BKcHcXsx4nkeHAD2\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol\":{\"keccak256\":\"0x26670fef37d4adf55570ba78815eec5f31cb017e708f61886add4fc4da665631\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b16d45febff462bafd8a5669f904796a835baf607df58a8461916d3bf4f08c59\",\"dweb:/ipfs/QmU2eJFpjmT4vxeJWJyLeQb8Xht1kdB8Y6MKLDPFA9WPux\"]},\"node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol\":{\"keccak256\":\"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8\",\"dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7\"]},\"node_modules/@openzeppelin/contracts/utils/math/Math.sol\":{\"keccak256\":\"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3\",\"dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB\"]},\"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol\":{\"keccak256\":\"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8\",\"dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy\"]},\"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol\":{\"keccak256\":\"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03\",\"dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ\"]}},\"version\":1}","metadata":{"compiler":{"version":"0.8.27+commit.40a35a09"},"language":"Solidity","output":{"abi":[{"inputs":[{"internalType":"contract ISchemaRegistry","name":"registry","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"inputs":[],"type":"error","name":"AccessDenied"},{"inputs":[],"type":"error","name":"AlreadyRevoked"},{"inputs":[],"type":"error","name":"AlreadyRevokedOffchain"},{"inputs":[],"type":"error","name":"AlreadyTimestamped"},{"inputs":[],"type":"error","name":"DeadlineExpired"},{"inputs":[],"type":"error","name":"FailedCall"},{"inputs":[{"internalType":"uint256","name":"balance","type":"uint256"},{"internalType":"uint256","name":"needed","type":"uint256"}],"type":"error","name":"InsufficientBalance"},{"inputs":[],"type":"error","name":"InsufficientValue"},{"inputs":[],"type":"error","name":"InvalidAttestation"},{"inputs":[],"type":"error","name":"InvalidAttestations"},{"inputs":[],"type":"error","name":"InvalidExpirationTime"},{"inputs":[],"type":"error","name":"InvalidLength"},{"inputs":[],"type":"error","name":"InvalidNonce"},{"inputs":[],"type":"error","name":"InvalidOffset"},{"inputs":[],"type":"error","name":"InvalidRegistry"},{"inputs":[],"type":"error","name":"InvalidRevocation"},{"inputs":[],"type":"error","name":"InvalidRevocations"},{"inputs":[],"type":"error","name":"InvalidSchema"},{"inputs":[],"type":"error","name":"InvalidShortString"},{"inputs":[],"type":"error","name":"InvalidSignature"},{"inputs":[],"type":"error","name":"InvalidVerifier"},{"inputs":[],"type":"error","name":"Irrevocable"},{"inputs":[],"type":"error","name":"NotFound"},{"inputs":[],"type":"error","name":"NotPayable"},{"inputs":[{"internalType":"string","name":"str","type":"string"}],"type":"error","name":"StringTooLong"},{"inputs":[],"type":"error","name":"WrongSchema"},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"attester","type":"address","indexed":true},{"internalType":"bytes32","name":"uid","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"schemaUID","type":"bytes32","indexed":true}],"type":"event","name":"Attested","anonymous":false},{"inputs":[],"type":"event","name":"EIP712DomainChanged","anonymous":false},{"inputs":[{"internalType":"uint256","name":"oldNonce","type":"uint256","indexed":false},{"internalType":"uint256","name":"newNonce","type":"uint256","indexed":false}],"type":"event","name":"NonceIncreased","anonymous":false},{"inputs":[{"internalType":"address","name":"recipient","type":"address","indexed":true},{"internalType":"address","name":"attester","type":"address","indexed":true},{"internalType":"bytes32","name":"uid","type":"bytes32","indexed":false},{"internalType":"bytes32","name":"schemaUID","type":"bytes32","indexed":true}],"type":"event","name":"Revoked","anonymous":false},{"inputs":[{"internalType":"address","name":"revoker","type":"address","indexed":true},{"internalType":"bytes32","name":"data","type":"bytes32","indexed":true},{"internalType":"uint64","name":"timestamp","type":"uint64","indexed":true}],"type":"event","name":"RevokedOffchain","anonymous":false},{"inputs":[{"internalType":"bytes32","name":"data","type":"bytes32","indexed":true},{"internalType":"uint64","name":"timestamp","type":"uint64","indexed":true}],"type":"event","name":"Timestamped","anonymous":false},{"inputs":[{"internalType":"struct AttestationRequest","name":"request","type":"tuple","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct AttestationRequestData","name":"data","type":"tuple","components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}]}]}],"stateMutability":"payable","type":"function","name":"attest","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"struct DelegatedAttestationRequest","name":"delegatedRequest","type":"tuple","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct AttestationRequestData","name":"data","type":"tuple","components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}]},{"internalType":"struct Signature","name":"signature","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"internalType":"address","name":"attester","type":"address"},{"internalType":"uint64","name":"deadline","type":"uint64"}]}],"stateMutability":"payable","type":"function","name":"attestByDelegation","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"eip712Domain","outputs":[{"internalType":"bytes1","name":"fields","type":"bytes1"},{"internalType":"string","name":"name","type":"string"},{"internalType":"string","name":"version","type":"string"},{"internalType":"uint256","name":"chainId","type":"uint256"},{"internalType":"address","name":"verifyingContract","type":"address"},{"internalType":"bytes32","name":"salt","type":"bytes32"},{"internalType":"uint256[]","name":"extensions","type":"uint256[]"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getAttestTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[{"internalType":"bytes32","name":"uid","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getAttestation","outputs":[{"internalType":"struct Attestation","name":"","type":"tuple","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"uint64","name":"time","type":"uint64"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"uint64","name":"revocationTime","type":"uint64"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"address","name":"recipient","type":"address"},{"internalType":"address","name":"attester","type":"address"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes","name":"data","type":"bytes"}]}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getDomainSeparator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getName","outputs":[{"internalType":"string","name":"","type":"string"}]},{"inputs":[{"internalType":"address","name":"account","type":"address"}],"stateMutability":"view","type":"function","name":"getNonce","outputs":[{"internalType":"uint256","name":"","type":"uint256"}]},{"inputs":[{"internalType":"address","name":"revoker","type":"address"},{"internalType":"bytes32","name":"data","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getRevokeOffchain","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"pure","type":"function","name":"getRevokeTypeHash","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"getSchemaRegistry","outputs":[{"internalType":"contract ISchemaRegistry","name":"","type":"address"}]},{"inputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}],"stateMutability":"view","type":"function","name":"getTimestamp","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"uint256","name":"newNonce","type":"uint256"}],"stateMutability":"nonpayable","type":"function","name":"increaseNonce"},{"inputs":[{"internalType":"bytes32","name":"uid","type":"bytes32"}],"stateMutability":"view","type":"function","name":"isAttestationValid","outputs":[{"internalType":"bool","name":"","type":"bool"}]},{"inputs":[{"internalType":"struct MultiAttestationRequest[]","name":"multiRequests","type":"tuple[]","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct AttestationRequestData[]","name":"data","type":"tuple[]","components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}]}]}],"stateMutability":"payable","type":"function","name":"multiAttest","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"struct MultiDelegatedAttestationRequest[]","name":"multiDelegatedRequests","type":"tuple[]","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct AttestationRequestData[]","name":"data","type":"tuple[]","components":[{"internalType":"address","name":"recipient","type":"address"},{"internalType":"uint64","name":"expirationTime","type":"uint64"},{"internalType":"bool","name":"revocable","type":"bool"},{"internalType":"bytes32","name":"refUID","type":"bytes32"},{"internalType":"bytes","name":"data","type":"bytes"},{"internalType":"uint256","name":"value","type":"uint256"}]},{"internalType":"struct Signature[]","name":"signatures","type":"tuple[]","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"internalType":"address","name":"attester","type":"address"},{"internalType":"uint64","name":"deadline","type":"uint64"}]}],"stateMutability":"payable","type":"function","name":"multiAttestByDelegation","outputs":[{"internalType":"bytes32[]","name":"","type":"bytes32[]"}]},{"inputs":[{"internalType":"struct MultiRevocationRequest[]","name":"multiRequests","type":"tuple[]","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct RevocationRequestData[]","name":"data","type":"tuple[]","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}]}]}],"stateMutability":"payable","type":"function","name":"multiRevoke"},{"inputs":[{"internalType":"struct MultiDelegatedRevocationRequest[]","name":"multiDelegatedRequests","type":"tuple[]","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct RevocationRequestData[]","name":"data","type":"tuple[]","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}]},{"internalType":"struct Signature[]","name":"signatures","type":"tuple[]","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"internalType":"address","name":"revoker","type":"address"},{"internalType":"uint64","name":"deadline","type":"uint64"}]}],"stateMutability":"payable","type":"function","name":"multiRevokeByDelegation"},{"inputs":[{"internalType":"bytes32[]","name":"data","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"multiRevokeOffchain","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"bytes32[]","name":"data","type":"bytes32[]"}],"stateMutability":"nonpayable","type":"function","name":"multiTimestamp","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"struct RevocationRequest","name":"request","type":"tuple","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct RevocationRequestData","name":"data","type":"tuple","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}]}]}],"stateMutability":"payable","type":"function","name":"revoke"},{"inputs":[{"internalType":"struct DelegatedRevocationRequest","name":"delegatedRequest","type":"tuple","components":[{"internalType":"bytes32","name":"schema","type":"bytes32"},{"internalType":"struct RevocationRequestData","name":"data","type":"tuple","components":[{"internalType":"bytes32","name":"uid","type":"bytes32"},{"internalType":"uint256","name":"value","type":"uint256"}]},{"internalType":"struct Signature","name":"signature","type":"tuple","components":[{"internalType":"uint8","name":"v","type":"uint8"},{"internalType":"bytes32","name":"r","type":"bytes32"},{"internalType":"bytes32","name":"s","type":"bytes32"}]},{"internalType":"address","name":"revoker","type":"address"},{"internalType":"uint64","name":"deadline","type":"uint64"}]}],"stateMutability":"payable","type":"function","name":"revokeByDelegation"},{"inputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"revokeOffchain","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[{"internalType":"bytes32","name":"data","type":"bytes32"}],"stateMutability":"nonpayable","type":"function","name":"timestamp","outputs":[{"internalType":"uint64","name":"","type":"uint64"}]},{"inputs":[],"stateMutability":"view","type":"function","name":"version","outputs":[{"internalType":"string","name":"","type":"string"}]}],"devdoc":{"kind":"dev","methods":{"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))":{"params":{"request":"The arguments of the attestation request."},"returns":{"_0":"The UID of the new attestation. Example:     attest({         schema: \"0facc36681cbe2456019c1b0d1e7bedd6d1d40f6f324bf3dd3a4cef2999200a0\",         data: {             recipient: \"0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf\",             expirationTime: 0,             revocable: true,             refUID: \"0x0000000000000000000000000000000000000000000000000000000000000000\",             data: \"0xF00D\",             value: 0         }     })"}},"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))":{"params":{"delegatedRequest":"The arguments of the delegated attestation request."},"returns":{"_0":"The UID of the new attestation. Example:     attestByDelegation({         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: {             recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',             expirationTime: 1673891048,             revocable: true,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x1234',             value: 0         },         signature: {             v: 28,             r: '0x148c...b25b',             s: '0x5a72...be22'         },         attester: '0xc5E8740aD971409492b1A63Db8d83025e0Fc427e',         deadline: 1673891048     })"}},"eip712Domain()":{"details":"returns the fields and values that describe the domain separator used by this contract for EIP-712 signature."},"getAttestTypeHash()":{"returns":{"_0":"The EIP712 type hash for the attest function."}},"getAttestation(bytes32)":{"params":{"uid":"The UID of the attestation to retrieve."},"returns":{"_0":"The attestation data members."}},"getDomainSeparator()":{"returns":{"_0":"The domain separator used in the encoding of the signatures for attest, and revoke."}},"getName()":{"returns":{"_0":"The EIP712 name."}},"getNonce(address)":{"params":{"account":"The requested account."},"returns":{"_0":"The current nonce."}},"getRevokeOffchain(address,bytes32)":{"params":{"data":"The data to query."},"returns":{"_0":"The timestamp the data was timestamped with."}},"getRevokeTypeHash()":{"returns":{"_0":"The EIP712 type hash for the revoke function."}},"getSchemaRegistry()":{"returns":{"_0":"The address of the global schema registry."}},"getTimestamp(bytes32)":{"params":{"data":"The data to query."},"returns":{"_0":"The timestamp the data was timestamped with."}},"increaseNonce(uint256)":{"params":{"newNonce":"The (higher) new value."}},"isAttestationValid(bytes32)":{"params":{"uid":"The UID of the attestation to retrieve."},"returns":{"_0":"Whether an attestation exists."}},"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])":{"params":{"multiRequests":"The arguments of the multi attestation requests. The requests should be grouped by distinct     schema ids to benefit from the best batching optimization."},"returns":{"_0":"The UIDs of the new attestations. Example:     multiAttest([{         schema: '0x33e9094830a5cba5554d1954310e4fbed2ef5f859ec1404619adea4207f391fd',         data: [{             recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',             expirationTime: 1673891048,             revocable: true,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x1234',             value: 1000         },         {             recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',             expirationTime: 0,             revocable: false,             refUID: '0x480df4a039efc31b11bfdf491b383ca138b6bde160988222a2a3509c02cee174',             data: '0x00',             value: 0         }],     },     {         schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',         data: [{             recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',             expirationTime: 0,             revocable: true,             refUID: '0x75bf2ed8dca25a8190c50c52db136664de25b2449535839008ccfdab469b214f',             data: '0x12345678',             value: 0         },     }])"}},"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])":{"params":{"multiDelegatedRequests":"The arguments of the delegated multi attestation requests. The requests should be     grouped by distinct schema ids to benefit from the best batching optimization."},"returns":{"_0":"The UIDs of the new attestations. Example:     multiAttestByDelegation([{         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: [{             recipient: '0xf39Fd6e51aad88F6F4ce6aB8827279cffFb92266',             expirationTime: 1673891048,             revocable: true,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x1234',             value: 0         },         {             recipient: '0xdEADBeAFdeAdbEafdeadbeafDeAdbEAFdeadbeaf',             expirationTime: 0,             revocable: false,             refUID: '0x0000000000000000000000000000000000000000000000000000000000000000',             data: '0x00',             value: 0         }],         signatures: [{             v: 28,             r: '0x148c...b25b',             s: '0x5a72...be22'         },         {             v: 28,             r: '0x487s...67bb',             s: '0x12ad...2366'         }],         attester: '0x1D86495b2A7B524D747d2839b3C645Bed32e8CF4',         deadline: 1673891048     }])"}},"multiRevoke((bytes32,(bytes32,uint256)[])[])":{"params":{"multiRequests":"The arguments of the multi revocation requests. The requests should be grouped by distinct     schema ids to benefit from the best batching optimization. Example:     multiRevoke([{         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: [{             uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',             value: 1000         },         {             uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',             value: 0         }],     },     {         schema: '0x5ac273ce41e3c8bfa383efe7c03e54c5f0bff29c9f11ef6ffa930fc84ca32425',         data: [{             uid: '0x053d42abce1fd7c8fcddfae21845ad34dae287b2c326220b03ba241bc5a8f019',             value: 0         },     }])"}},"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])":{"params":{"multiDelegatedRequests":"The arguments of the delegated multi revocation attestation requests. The requests     should be grouped by distinct schema ids to benefit from the best batching optimization. Example:     multiRevokeByDelegation([{         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: [{             uid: '0x211296a1ca0d7f9f2cfebf0daaa575bea9b20e968d81aef4e743d699c6ac4b25',             value: 1000         },         {             uid: '0xe160ac1bd3606a287b4d53d5d1d6da5895f65b4b4bab6d93aaf5046e48167ade',             value: 0         }],         signatures: [{             v: 28,             r: '0x148c...b25b',             s: '0x5a72...be22'         },         {             v: 28,             r: '0x487s...67bb',             s: '0x12ad...2366'         }],         revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',         deadline: 1673891048     }])"}},"multiRevokeOffchain(bytes32[])":{"params":{"data":"The data to timestamp."},"returns":{"_0":"The timestamp the data was revoked with."}},"multiTimestamp(bytes32[])":{"params":{"data":"The data to timestamp."},"returns":{"_0":"The timestamp the data was timestamped with."}},"revoke((bytes32,(bytes32,uint256)))":{"params":{"request":"The arguments of the revocation request. Example:     revoke({         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: {             uid: '0x101032e487642ee04ee17049f99a70590c735b8614079fc9275f9dd57c00966d',             value: 0         }     })"}},"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))":{"params":{"delegatedRequest":"The arguments of the delegated revocation request. Example:     revokeByDelegation({         schema: '0x8e72f5bc0a8d4be6aa98360baa889040c50a0e51f32dbf0baa5199bd93472ebc',         data: {             uid: '0xcbbc12102578c642a0f7b34fe7111e41afa25683b6cd7b5a14caf90fa14d24ba',             value: 0         },         signature: {             v: 27,             r: '0xb593...7142',             s: '0x0f5b...2cce'         },         revoker: '0x244934dd3e31bE2c81f84ECf0b3E6329F5381992',         deadline: 1673891048     })"}},"revokeOffchain(bytes32)":{"params":{"data":"The data to timestamp."},"returns":{"_0":"The timestamp the data was revoked with."}},"timestamp(bytes32)":{"params":{"data":"The data to timestamp."},"returns":{"_0":"The timestamp the data was timestamped with."}},"version()":{"returns":{"_0":"Semver contract version as a string."}}},"version":1},"userdoc":{"kind":"user","methods":{"attest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)))":{"notice":"Attests to a specific schema."},"attestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256),(uint8,bytes32,bytes32),address,uint64))":{"notice":"Attests to a specific schema via the provided ECDSA signature."},"getAttestTypeHash()":{"notice":"Returns the EIP712 type hash for the attest function."},"getAttestation(bytes32)":{"notice":"Returns an existing attestation by UID."},"getDomainSeparator()":{"notice":"Returns the domain separator used in the encoding of the signatures for attest, and revoke."},"getName()":{"notice":"Returns the EIP712 name."},"getNonce(address)":{"notice":"Returns the current nonce per-account."},"getRevokeOffchain(address,bytes32)":{"notice":"Returns the timestamp that the specified data was timestamped with."},"getRevokeTypeHash()":{"notice":"Returns the EIP712 type hash for the revoke function."},"getSchemaRegistry()":{"notice":"Returns the address of the global schema registry."},"getTimestamp(bytes32)":{"notice":"Returns the timestamp that the specified data was timestamped with."},"increaseNonce(uint256)":{"notice":"Provides users an option to invalidate nonces by increasing their nonces to (higher) new values."},"isAttestationValid(bytes32)":{"notice":"Checks whether an attestation exists."},"multiAttest((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[])[])":{"notice":"Attests to multiple schemas."},"multiAttestByDelegation((bytes32,(address,uint64,bool,bytes32,bytes,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])":{"notice":"Attests to multiple schemas using via provided ECDSA signatures."},"multiRevoke((bytes32,(bytes32,uint256)[])[])":{"notice":"Revokes existing attestations to multiple schemas."},"multiRevokeByDelegation((bytes32,(bytes32,uint256)[],(uint8,bytes32,bytes32)[],address,uint64)[])":{"notice":"Revokes existing attestations to multiple schemas via provided ECDSA signatures."},"multiRevokeOffchain(bytes32[])":{"notice":"Revokes the specified multiple bytes32 data."},"multiTimestamp(bytes32[])":{"notice":"Timestamps the specified multiple bytes32 data."},"revoke((bytes32,(bytes32,uint256)))":{"notice":"Revokes an existing attestation to a specific schema."},"revokeByDelegation((bytes32,(bytes32,uint256),(uint8,bytes32,bytes32),address,uint64))":{"notice":"Revokes an existing attestation to a specific schema via the provided ECDSA signature."},"revokeOffchain(bytes32)":{"notice":"Revokes the specified bytes32 data."},"timestamp(bytes32)":{"notice":"Timestamps the specified bytes32 data."},"version()":{"notice":"Returns the full semver contract version."}},"version":1}},"settings":{"remappings":["@ethereum-attestation-service/=node_modules/@ethereum-attestation-service/","@openzeppelin/=node_modules/@openzeppelin/","eth-gas-reporter/=node_modules/eth-gas-reporter/","forge-std/=lib/forge-std/src/","hardhat/=node_modules/hardhat/"],"optimizer":{"enabled":true,"runs":10000},"metadata":{"bytecodeHash":"ipfs"},"compilationTarget":{"contracts/CustomEAS.sol":"CustomEAS"},"evmVersion":"cancun","libraries":{},"viaIR":true},"sources":{"contracts/CustomEAS.sol":{"keccak256":"0xf4ade198ec0e78b9b9db3f9d9e7d0695a244cd29b8fa5ebe6a72e2c24f006e74","urls":["bzz-raw://223853f1d30fc85de32548d47e9ed977851200afc3daa6cf9a88d419b42db806","dweb:/ipfs/QmTJEDpWT4LnXw8LQwSuZGHsSY8tSHpEk7x29Nqkn3tMvX"],"license":"FSL-1.1-MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/Common.sol":{"keccak256":"0x957bd2e6d0d6d637f86208b135c29fbaf4412cb08e5e7a61ede16b80561bf685","urls":["bzz-raw://da1dc9aedbb1d4d39c46c2235918d3adfbc5741dd34a46010cf425d134e7936d","dweb:/ipfs/QmWUk6bXnLaghS2riF3GTFEeURCzgYFMA5woa6AsgPwEgc"],"license":"MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/EAS.sol":{"keccak256":"0x60d59e039e6ec40887e8a946f516b55997d689212c44a89f434119535dd9a3c4","urls":["bzz-raw://b5234ba00beaf7a43005c0759e883c6878eecc4d0efeb42c10be8c9e8b17ba21","dweb:/ipfs/QmPdUaubX2Yr9kMSyyYxkY3ueHiGzPfqTq5ubzbmQiQA6B"],"license":"MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/IEAS.sol":{"keccak256":"0xdad0674defce04905dc7935f2756d6c477a6e876c0b1b7094b112a862f164c12","urls":["bzz-raw://49e448c26c08952df034692d2ab3519dd40a1ebbeae4ce68b294567441933880","dweb:/ipfs/QmWHcudjskUSCjgqsNWE65LVfWvcYB2vBn8RB1SmzvRLNR"],"license":"MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/ISchemaRegistry.sol":{"keccak256":"0xea97dcd36a0c422169cbaac06698249e199049b627c16bff93fb8ab829058754","urls":["bzz-raw://d453a929ef64a69cd31195ec2ee5ed1193bfa29f633e13c960e92154c37ad158","dweb:/ipfs/QmXs1Z3njbHs2EMgHonrZDfcwdog4kozHY5tYNrhZK5yqz"],"license":"MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/ISemver.sol":{"keccak256":"0x04a67939b4e1a8d0a51101b8f69f8882930bbdc66319f38023828625b5d1ff18","urls":["bzz-raw://3dd543fa0e33cef1ea757627f9c2a10a66ee1ce17aa9087f437c5b53a903c7f0","dweb:/ipfs/QmXsy6UsGBzF9zPCCjmiwPpCcX3tHqU13TmR67B69tKnR6"],"license":"MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/Semver.sol":{"keccak256":"0x4f23442d048661b6aaa188ddc16b69cb310c2e44066b3852026afcb4201d61a9","urls":["bzz-raw://30c36e580cd93d9acb13e1a11e833946a8bd0bd2a8d1b2be049f0d96e0989808","dweb:/ipfs/QmXmQTxKjSrUWutafQsqkbGufXqtzxuDAiMMJjXCHXiEqh"],"license":"MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/eip1271/EIP1271Verifier.sol":{"keccak256":"0x590977110db1256cc00416bdf74eb8264a0eda358ccded303610369a2930b614","urls":["bzz-raw://ef015b3bee8859e6658c0eac6471d05f2991a5f4b6b5c2aa5571bbdab622d6e9","dweb:/ipfs/QmUHriGkixE62c5qWjyM9DWZFykDcjQ7T6Tbfi3DPD38ym"],"license":"MIT"},"node_modules/@ethereum-attestation-service/eas-contracts/contracts/resolver/ISchemaResolver.sol":{"keccak256":"0xb7d1961ed928c620cddf35c2bf46845b10828bc5d73145214630202ed355b6bb","urls":["bzz-raw://cf1cabacfb15c9bace8280b540b52e5aa440e1b4eba675f9782c34ce0f03902f","dweb:/ipfs/QmakYcK4xbrijzvoaBCmBJK6HeaBqbXxWKtDQ1z62aXwCR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC1271.sol":{"keccak256":"0x3d4cd07258d675b6dfa3d9dfd623a77b38fb9935f4a5381ff4bc969948720976","urls":["bzz-raw://30abb60a4d98ad9a33de4fa5e9072342e12df3a79e9c71b5f59ce049ae8cd535","dweb:/ipfs/QmT6NXJDjsf8H14nPYQsFELDB8q5ZTmG9cjdX2bEQJW7ST"],"license":"MIT"},"node_modules/@openzeppelin/contracts/interfaces/IERC5267.sol":{"keccak256":"0x92aa1df62dc3d33f1656d63bede0923e0df0b706ad4137c8b10b0a8fe549fd92","urls":["bzz-raw://c5c0f29195ad64cbe556da8e257dac8f05f78c53f90323c0d2accf8e6922d33a","dweb:/ipfs/QmQ61TED8uaCZwcbh8KkgRSsCav7x7HbcGHwHts3U4DmUP"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Address.sol":{"keccak256":"0xaaa1d17c1129b127a4a401db2fbd72960e2671474be3d08cae71ccdc42f7624c","urls":["bzz-raw://cb2f27cd3952aa667e198fba0d9b7bcec52fbb12c16f013c25fe6fb52b29cc0e","dweb:/ipfs/QmeuohBFoeyDPZA9JNCTEDz3VBfBD4EABWuWXVhHAuEpKR"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Errors.sol":{"keccak256":"0x6afa713bfd42cf0f7656efa91201007ac465e42049d7de1d50753a373648c123","urls":["bzz-raw://ba1d02f4847670a1b83dec9f7d37f0b0418d6043447b69f3a29a5f9efc547fcf","dweb:/ipfs/QmQ7iH2keLNUKgq2xSWcRmuBE5eZ3F5whYAkAGzCNNoEWB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Panic.sol":{"keccak256":"0xf7fe324703a64fc51702311dc51562d5cb1497734f074e4f483bfb6717572d7a","urls":["bzz-raw://c6a5ff4f9fd8649b7ee20800b7fa387d3465bd77cf20c2d1068cd5c98e1ed57a","dweb:/ipfs/QmVSaVJf9FXFhdYEYeCEfjMVHrxDh5qL4CGkxdMWpQCrqG"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/ShortStrings.sol":{"keccak256":"0x1fcf8cceb1a67e6c8512267e780933c4a3f63ef44756e6c818fda79be51c8402","urls":["bzz-raw://617d7d57f6f9cd449068b4d23daf485676d083aae648e038d05eb3a13291de35","dweb:/ipfs/QmPADWPiGaSzZDFNpFEUx4ZPqhzPkYncBpHyTfAGcfsqzy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/StorageSlot.sol":{"keccak256":"0xcf74f855663ce2ae00ed8352666b7935f6cddea2932fdf2c3ecd30a9b1cd0e97","urls":["bzz-raw://9f660b1f351b757dfe01438e59888f31f33ded3afcf5cb5b0d9bf9aa6f320a8b","dweb:/ipfs/QmarDJ5hZEgBtCmmrVzEZWjub9769eD686jmzb2XpSU1cM"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/Strings.sol":{"keccak256":"0x81c274a60a7ae232ae3dc9ff3a4011b4849a853c13b0832cd3351bb1bb2f0dae","urls":["bzz-raw://9da0c20dc74358a2a76330818f3bac9d1e2ce3371aec847b9cbf5d147fbae4f6","dweb:/ipfs/QmeczhmnFv1hbXKGLwbYXY6Rrytc9a5A2YaRi5QMMgjPnb"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/ECDSA.sol":{"keccak256":"0x69f54c02b7d81d505910ec198c11ed4c6a728418a868b906b4a0cf29946fda84","urls":["bzz-raw://8e25e4bdb7ae1f21d23bfee996e22736fc0ab44cfabedac82a757b1edc5623b9","dweb:/ipfs/QmQdWQvB6JCP9ZMbzi8EvQ1PTETqkcTWrbcVurS7DKpa5n"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/EIP712.sol":{"keccak256":"0x0c60057e7351874f086db8dc9291b7ada9ad62cb7725befd2991430d04a74572","urls":["bzz-raw://33cdfd1fc36410d45046f88ff9864350146b194736c32834baa38d99b843ffbe","dweb:/ipfs/QmdVmqgFKjgEBURy4KUwWDA6J1LEg1BKcHcXsx4nkeHAD2"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/MessageHashUtils.sol":{"keccak256":"0x26670fef37d4adf55570ba78815eec5f31cb017e708f61886add4fc4da665631","urls":["bzz-raw://b16d45febff462bafd8a5669f904796a835baf607df58a8461916d3bf4f08c59","dweb:/ipfs/QmU2eJFpjmT4vxeJWJyLeQb8Xht1kdB8Y6MKLDPFA9WPux"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/cryptography/SignatureChecker.sol":{"keccak256":"0xbdc3bb48ccedb818cd75a6d74a16df55a822e9f6d3cc54c59f576f10aab67b5f","urls":["bzz-raw://2284f25f2478f419d7781573b17a89d0e7c5589a865d55e2d6ed5163aee23aa8","dweb:/ipfs/QmNsr2625APBQiNKpYnX5VcSnYgfUHR9Uzzp9pRXjoDqK7"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/Math.sol":{"keccak256":"0x1225214420c83ebcca88f2ae2b50f053aaa7df7bd684c3e878d334627f2edfc6","urls":["bzz-raw://6c5fab4970634f9ab9a620983dc1c8a30153981a0b1a521666e269d0a11399d3","dweb:/ipfs/QmVRnBC575MESGkEHndjujtR7qub2FzU9RWy9eKLp4hPZB"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SafeCast.sol":{"keccak256":"0x195533c86d0ef72bcc06456a4f66a9b941f38eb403739b00f21fd7c1abd1ae54","urls":["bzz-raw://b1d578337048cad08c1c03041cca5978eff5428aa130c781b271ad9e5566e1f8","dweb:/ipfs/QmPFKL2r9CBsMwmUqqdcFPfHZB2qcs9g1HDrPxzWSxomvy"],"license":"MIT"},"node_modules/@openzeppelin/contracts/utils/math/SignedMath.sol":{"keccak256":"0xb1970fac7b64e6c09611e6691791e848d5e3fe410fa5899e7df2e0afd77a99e3","urls":["bzz-raw://db5fbb3dddd8b7047465b62575d96231ba8a2774d37fb4737fbf23340fabbb03","dweb:/ipfs/QmVUSvooZKEdEdap619tcJjTLcAuH6QBdZqAzWwnAXZAWJ"],"license":"MIT"}},"version":1},"id":0}