60806040523480156200001157600080fd5b506040516200358638038062003586833981016040819052620000349162000277565b83836000620000448382620003b9565b506001620000538282620003b9565b50600d91506200006690508382620003b9565b50600e8054336001600160a01b03199182168117909255601080549091166001600160a01b038416179055620000ab906941444d494e5f524f4c4560b01b90620000f5565b601054620000d4906c4f50455241544f525f524f4c4560981b906001600160a01b0316620000f5565b620000eb600c6200010560201b620011821760201c565b5050505062000485565b6200010182826200010e565b5050565b80546001019055565b6000828152600b602090815260408083206001600160a01b038516845290915290205460ff1662000101576000828152600b602090815260408083206001600160a01b03851684529091529020805460ff191660011790556200016e3390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b634e487b7160e01b600052604160045260246000fd5b600082601f830112620001da57600080fd5b81516001600160401b0380821115620001f757620001f7620001b2565b604051601f8301601f19908116603f01168101908282118183101715620002225762000222620001b2565b816040528381526020925086838588010111156200023f57600080fd5b600091505b8382101562000263578582018301518183018401529082019062000244565b600093810190920192909252949350505050565b600080600080608085870312156200028e57600080fd5b84516001600160401b0380821115620002a657600080fd5b620002b488838901620001c8565b95506020870151915080821115620002cb57600080fd5b620002d988838901620001c8565b94506040870151915080821115620002f057600080fd5b50620002ff87828801620001c8565b606087015190935090506001600160a01b03811681146200031f57600080fd5b939692955090935050565b600181811c908216806200033f57607f821691505b6020821081036200036057634e487b7160e01b600052602260045260246000fd5b50919050565b601f821115620003b457600081815260208120601f850160051c810160208610156200038f5750805b601f850160051c820191505b81811015620003b0578281556001016200039b565b5050505b505050565b81516001600160401b03811115620003d557620003d5620001b2565b620003ed81620003e684546200032a565b8462000366565b602080601f8311600181146200042557600084156200040c5750858301515b600019600386901b1c1916600185901b178555620003b0565b600085815260208120601f198616915b82811015620004565788860151825594840194600190910190840162000435565b5085821015620004755787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b6130f180620004956000396000f3fe608060405234801561001057600080fd5b50600436106101f05760003560e01c8063570ca7351161010f578063a217fddf116100a2578063c87b56dd11610071578063c87b56dd14610437578063d547741f1461044a578063e985e9c51461045d578063f2fde38b1461047057600080fd5b8063a217fddf146103f6578063a22cb465146103fe578063a41870e114610411578063b88d4fde1461042457600080fd5b8063887f59fe116100de578063887f59fe146103b55780638da5cb5b146103c857806391d14854146103db57806395d89b41146103ee57600080fd5b8063570ca735146103745780636352211e146103875780636c0360eb1461039a57806370a08231146103a257600080fd5b80632a55205a1161018757806342842e0e1161015657806342842e0e1461032857806342966c681461033b5780634f6ccce71461034e57806355f804b31461036157600080fd5b80632a55205a146102cd5780632f2ff15d146102ef5780632f745c591461030257806336568abe1461031557600080fd5b8063095ea7b3116101c3578063095ea7b31461027057806318160ddd1461028557806323b872dd14610297578063248a9ca3146102aa57600080fd5b806301ffc9a7146101f557806306394c9b1461021d57806306fdde0314610230578063081812fc14610245575b600080fd5b610208610203366004612636565b610483565b60405190151581526020015b60405180910390f35b61020861022b36600461266f565b610494565b61023861057d565b60405161021491906126da565b6102586102533660046126ed565b61060f565b6040516001600160a01b039091168152602001610214565b61028361027e366004612706565b610697565b005b6008545b604051908152602001610214565b6102836102a5366004612730565b6107ac565b6102896102b83660046126ed565b6000908152600b602052604090206001015490565b6102e06102db36600461276c565b6107de565b6040516102149392919061278e565b6102836102fd366004612824565b610ae3565b610289610310366004612706565b610b08565b610283610323366004612824565b610b9e565b610283610336366004612730565b610c1c565b6102836103493660046126ed565b610c37565b61028961035c3660046126ed565b610cb1565b61028361036f3660046128fc565b610d44565b601054610258906001600160a01b031681565b6102586103953660046126ed565b610d67565b610238610dde565b6102896103b036600461266f565b610ded565b6102896103c336600461297d565b610e74565b600e54610258906001600160a01b031681565b6102086103e9366004612824565b610eeb565b610238610f16565b610289600081565b61028361040c366004612a33565b610f25565b61028961041f366004612a6f565b610f30565b610283610432366004612b1e565b611000565b6102386104453660046126ed565b611038565b610283610458366004612824565b611043565b61020861046b366004612b9a565b611068565b61020861047e36600461266f565b6110b3565b600061048e8261118b565b92915050565b60006941444d494e5f524f4c4560b01b6104ad816111b0565b6001600160a01b0383166104dc5760405162461bcd60e51b81526004016104d390612bc4565b60405180910390fd5b601054610503906c4f50455241544f525f524f4c4560981b906001600160a01b03166111ba565b6010546040516001600160a01b038086169216907ffbe5b6cbafb274f445d7fed869dc77a838d8243a22c460de156560e8857cad0390600090a3601080546001600160a01b0319166001600160a01b0385161790556105726c4f50455241544f525f524f4c4560981b84611221565b600191505b50919050565b60606000805461058c90612c0a565b80601f01602080910402602001604051908101604052809291908181526020018280546105b890612c0a565b80156106055780601f106105da57610100808354040283529160200191610605565b820191906000526020600020905b8154815290600101906020018083116105e857829003601f168201915b5050505050905090565b600061061a8261122b565b61067b5760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016104d3565b506000908152600460205260409020546001600160a01b031690565b60006106a282610d67565b9050806001600160a01b0316836001600160a01b03160361070f5760405162461bcd60e51b815260206004820152602160248201527f4552433732313a20617070726f76616c20746f2063757272656e74206f776e656044820152603960f91b60648201526084016104d3565b336001600160a01b038216148061072b575061072b8133611068565b61079d5760405162461bcd60e51b815260206004820152603860248201527f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760448201527f6e6572206e6f7220617070726f76656420666f7220616c6c000000000000000060648201526084016104d3565b6107a78383611248565b505050565b6107b7335b826112b6565b6107d35760405162461bcd60e51b81526004016104d390612c3e565b6107a7838383611380565b60608060006107ec8561122b565b61084b5760405162461bcd60e51b815260206004820152602a60248201527f455243373231526f79616c74793a20717565727920666f72206e6f6e657869736044820152693a32b73a103a37b5b2b760b11b60648201526084016104d3565b600084116108b55760405162461bcd60e51b815260206004820152603160248201527f455243373231526f79616c74793a20616d6f756e742073686f756c642062652060448201527067726561746572207468616e207a65726f60781b60648201526084016104d3565b60008581526011602052604081205467ffffffffffffffff8111156108dc576108dc612850565b604051908082528060200260200182016040528015610905578160200160208202803683370190505b5060008781526011602090815260408083206001018054825181850281018501909352808352949550929390929183018282801561096c57602002820191906000526020600020905b81546001600160a01b0316815260019091019060200180831161094e575b50505060008a815260116020908152604080832080548251818502810185019093528083529697509295869550909350908301828280156109fe57602002820191906000526020600020906000905b82829054906101000a90046001600160601b03166001600160601b0316815260200190600c0190602082600b010492830192600103820291508084116109bb5790505b5050505050905060005b8151816001600160601b03161015610ad4576103e882826001600160601b031681518110610a3857610a38612c8f565b60200260200101516001600160601b03168a610a549190612cbb565b610a5e9190612cf0565b85826001600160601b031681518110610a7957610a79612c8f565b6001600160601b039283166020918202929092010152855186918316908110610aa457610aa4612c8f565b60200260200101516001600160601b031683610ac09190612d04565b925080610acc81612d17565b915050610a08565b50929891975095509350505050565b6000828152600b6020526040902060010154610afe816111b0565b6107a78383611527565b6000610b1383610ded565b8210610b755760405162461bcd60e51b815260206004820152602b60248201527f455243373231456e756d657261626c653a206f776e657220696e646578206f7560448201526a74206f6620626f756e647360a81b60648201526084016104d3565b506001600160a01b03919091166000908152600660209081526040808320938352929052205490565b6001600160a01b0381163314610c0e5760405162461bcd60e51b815260206004820152602f60248201527f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560448201526e103937b632b9903337b91039b2b63360891b60648201526084016104d3565b610c1882826111ba565b5050565b6107a783838360405180602001604052806000815250611000565b610c40336107b1565b610ca55760405162461bcd60e51b815260206004820152603060248201527f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760448201526f1b995c881b9bdc88185c1c1c9bdd995960821b60648201526084016104d3565b610cae816115ad565b50565b6000610cbc60085490565b8210610d1f5760405162461bcd60e51b815260206004820152602c60248201527f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60448201526b7574206f6620626f756e647360a01b60648201526084016104d3565b60088281548110610d3257610d32612c8f565b90600052602060002001549050919050565b6941444d494e5f524f4c4560b01b610d5b816111b0565b600d6107a78382612d8b565b6000818152600260205260408120546001600160a01b03168061048e5760405162461bcd60e51b815260206004820152602960248201527f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460448201526832b73a103a37b5b2b760b91b60648201526084016104d3565b6060610de86115b6565b905090565b60006001600160a01b038216610e585760405162461bcd60e51b815260206004820152602a60248201527f4552433732313a2062616c616e636520717565727920666f7220746865207a65604482015269726f206164647265737360b01b60648201526084016104d3565b506001600160a01b031660009081526003602052604090205490565b60006c4f50455241544f525f524f4c4560981b610e90816111b0565b600c549150610e9f89836115c5565b610ea98288611704565b610eb68287878787611788565b610ed189898460405180602001604052806000815250611000565b610edf600c80546001019055565b50979650505050505050565b6000918252600b602090815260408084206001600160a01b0393909316845291905290205460ff1690565b60606001805461058c90612c0a565b610c183383836118a2565b60608101356000908152600f602052604081205460ff1615610f8c5760405162461bcd60e51b81526020600482015260156024820152744e6f6e6365203a20496e76616c6964204e6f6e636560581b60448201526064016104d3565b60608201356000908152600f60205260409020805460ff19166001179055610fc38733610fbe36869003860186612e4b565b611970565b50600c54610fd133826115c5565b610fdb8188611704565b610fe88187878787611788565b610ff6600c80546001019055565b9695505050505050565b61100a33836112b6565b6110265760405162461bcd60e51b81526004016104d390612c3e565b61103284848484611ab9565b50505050565b606061048e82611aec565b6000828152600b602052604090206001015461105e816111b0565b6107a783836111ba565b6010546000906001600160a01b03838116911614806110ac57506001600160a01b0380841660009081526005602090815260408083209386168352929052205460ff165b9392505050565b60006941444d494e5f524f4c4560b01b6110cc816111b0565b6001600160a01b0383166110f25760405162461bcd60e51b81526004016104d390612bc4565b600e54611116906941444d494e5f524f4c4560b01b906001600160a01b03166111ba565b600e546040516001600160a01b038086169216907f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e090600090a3600e80546001600160a01b0319166001600160a01b0385161790556105726941444d494e5f524f4c4560b01b84611221565b80546001019055565b60006001600160e01b03198216637965db0b60e01b148061048e575061048e82611c4d565b610cae8133611c72565b6111c48282610eeb565b15610c18576000828152600b602090815260408083206001600160a01b0385168085529252808320805460ff1916905551339285917ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b9190a45050565b610c188282611527565b6000908152600260205260409020546001600160a01b0316151590565b600081815260046020526040902080546001600160a01b0319166001600160a01b038416908117909155819061127d82610d67565b6001600160a01b03167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b60006112c18261122b565b6113225760405162461bcd60e51b815260206004820152602c60248201527f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860448201526b34b9ba32b73a103a37b5b2b760a11b60648201526084016104d3565b600061132d83610d67565b9050806001600160a01b0316846001600160a01b0316148061135457506113548185611068565b806113785750836001600160a01b031661136d8461060f565b6001600160a01b0316145b949350505050565b826001600160a01b031661139382610d67565b6001600160a01b0316146113f75760405162461bcd60e51b815260206004820152602560248201527f4552433732313a207472616e736665722066726f6d20696e636f72726563742060448201526437bbb732b960d91b60648201526084016104d3565b6001600160a01b0382166114595760405162461bcd60e51b8152602060048201526024808201527f4552433732313a207472616e7366657220746f20746865207a65726f206164646044820152637265737360e01b60648201526084016104d3565b611464838383611cd6565b61146f600082611248565b6001600160a01b0383166000908152600360205260408120805460019290611498908490612ec0565b90915550506001600160a01b03821660009081526003602052604081208054600192906114c6908490612d04565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b0386811691821790925591518493918716917fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef91a4505050565b6115318282610eeb565b610c18576000828152600b602090815260408083206001600160a01b03851684529091529020805460ff191660011790556115693390565b6001600160a01b0316816001600160a01b0316837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45050565b610cae81611ce1565b6060600d805461058c90612c0a565b6001600160a01b03821661161b5760405162461bcd60e51b815260206004820181905260248201527f4552433732313a206d696e7420746f20746865207a65726f206164647265737360448201526064016104d3565b6116248161122b565b156116715760405162461bcd60e51b815260206004820152601c60248201527f4552433732313a20746f6b656e20616c7265616479206d696e7465640000000060448201526064016104d3565b61167d60008383611cd6565b6001600160a01b03821660009081526003602052604081208054600192906116a6908490612d04565b909155505060008181526002602052604080822080546001600160a01b0319166001600160a01b03861690811790915590518392907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908290a45050565b61170d8261122b565b6117705760405162461bcd60e51b815260206004820152602e60248201527f45524337323155524953746f726167653a2055524920736574206f66206e6f6e60448201526d32bc34b9ba32b73a103a37b5b2b760911b60648201526084016104d3565b6000828152600a602052604090206107a78282612d8b565b8281146117e35760405162461bcd60e51b8152602060048201526024808201527f455243373231526f79616c74793a206c656e6774682073686f756c642062652060448201526373616d6560e01b60648201526084016104d3565b6040518060400160405280858580806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250505090825250604080516020858102828101820190935285825292830192909186918691829185019084908082843760009201829052509390945250508781526011602090815260409091208351805191935061187f9284929101906124c8565b5060208281015180516118989260018501920190612580565b5050505050505050565b816001600160a01b0316836001600160a01b0316036119035760405162461bcd60e51b815260206004820152601960248201527f4552433732313a20617070726f766520746f2063616c6c65720000000000000060448201526064016104d3565b6001600160a01b03838116600081815260056020908152604080832094871680845294825291829020805460ff191686151590811790915591519182527f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c31910160405180910390a3505050565b6000308385846060015160405160200161198d9493929190612ed3565b6040516020818303038152906040528051906020012090506001816040516020016119e491907f19457468657265756d205369676e6564204d6573736167653a0a3332000000008152601c810191909152603c0190565b60408051601f19818403018152828252805160209182012086518783015188850151600087529386018086529290925260ff16928401929092526060830191909152608082015260a0016020604051602081039080840390855afa158015611a50573d6000803e3d6000fd5b5050604051601f190151600e546001600160a01b0390811691161490506110325760405162461bcd60e51b815260206004820152601e60248201527f4f776e6572207369676e20766572696669636174696f6e206661696c6564000060448201526064016104d3565b611ac4848484611380565b611ad084848484611d21565b6110325760405162461bcd60e51b81526004016104d390612f1b565b6060611af78261122b565b611b5d5760405162461bcd60e51b815260206004820152603160248201527f45524337323155524953746f726167653a2055524920717565727920666f72206044820152703737b732bc34b9ba32b73a103a37b5b2b760791b60648201526084016104d3565b6000828152600a602052604081208054611b7690612c0a565b80601f0160208091040260200160405190810160405280929190818152602001828054611ba290612c0a565b8015611bef5780601f10611bc457610100808354040283529160200191611bef565b820191906000526020600020905b815481529060010190602001808311611bd257829003601f168201915b505050505090506000611c006115b6565b90508051600003611c12575092915050565b815115611c44578082604051602001611c2c929190612f6d565b60405160208183030381529060405292505050919050565b61137884611e22565b60006001600160e01b0319821663780e9d6360e01b148061048e575061048e82611eec565b611c7c8282610eeb565b610c1857611c94816001600160a01b03166014611f3c565b611c9f836020611f3c565b604051602001611cb0929190612f9c565b60408051601f198184030181529082905262461bcd60e51b82526104d3916004016126da565b6107a78383836120d8565b611cea81612190565b6000818152600a602052604090208054611d0390612c0a565b159050610cae576000818152600a60205260408120610cae916125d5565b60006001600160a01b0384163b15611e1757604051630a85bd0160e11b81526001600160a01b0385169063150b7a0290611d65903390899088908890600401613011565b6020604051808303816000875af1925050508015611da0575060408051601f3d908101601f19168201909252611d9d91810190613044565b60015b611dfd573d808015611dce576040519150601f19603f3d011682016040523d82523d6000602084013e611dd3565b606091505b508051600003611df55760405162461bcd60e51b81526004016104d390612f1b565b805181602001fd5b6001600160e01b031916630a85bd0160e11b149050611378565b506001949350505050565b6060611e2d8261122b565b611e915760405162461bcd60e51b815260206004820152602f60248201527f4552433732314d657461646174613a2055524920717565727920666f72206e6f60448201526e3732bc34b9ba32b73a103a37b5b2b760891b60648201526084016104d3565b6000611e9b6115b6565b90506000815111611ebb57604051806020016040528060008152506110ac565b80611ec584612237565b604051602001611ed6929190612f6d565b6040516020818303038152906040529392505050565b60006001600160e01b031982166380ac58cd60e01b1480611f1d57506001600160e01b03198216635b5e139f60e01b145b8061048e57506301ffc9a760e01b6001600160e01b031983161461048e565b60606000611f4b836002612cbb565b611f56906002612d04565b67ffffffffffffffff811115611f6e57611f6e612850565b6040519080825280601f01601f191660200182016040528015611f98576020820181803683370190505b509050600360fc1b81600081518110611fb357611fb3612c8f565b60200101906001600160f81b031916908160001a905350600f60fb1b81600181518110611fe257611fe2612c8f565b60200101906001600160f81b031916908160001a9053506000612006846002612cbb565b612011906001612d04565b90505b6001811115612089576f181899199a1a9b1b9c1cb0b131b232b360811b85600f166010811061204557612045612c8f565b1a60f81b82828151811061205b5761205b612c8f565b60200101906001600160f81b031916908160001a90535060049490941c9361208281613061565b9050612014565b5083156110ac5760405162461bcd60e51b815260206004820181905260248201527f537472696e67733a20686578206c656e67746820696e73756666696369656e7460448201526064016104d3565b6001600160a01b0383166121335761212e81600880546000838152600960205260408120829055600182018355919091527ff3f7a9fe364faab93b216da50a3214154f22a0a2b415b23a84c8169e8b636ee30155565b612156565b816001600160a01b0316836001600160a01b031614612156576121568382612338565b6001600160a01b03821661216d576107a7816123d5565b826001600160a01b0316826001600160a01b0316146107a7576107a78282612484565b600061219b82610d67565b90506121a981600084611cd6565b6121b4600083611248565b6001600160a01b03811660009081526003602052604081208054600192906121dd908490612ec0565b909155505060008281526002602052604080822080546001600160a01b0319169055518391906001600160a01b038416907fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef908390a45050565b60608160000361225e5750506040805180820190915260018152600360fc1b602082015290565b8160005b8115612288578061227281613078565b91506122819050600a83612cf0565b9150612262565b60008167ffffffffffffffff8111156122a3576122a3612850565b6040519080825280601f01601f1916602001820160405280156122cd576020820181803683370190505b5090505b8415611378576122e2600183612ec0565b91506122ef600a86613091565b6122fa906030612d04565b60f81b81838151811061230f5761230f612c8f565b60200101906001600160f81b031916908160001a905350612331600a86612cf0565b94506122d1565b6000600161234584610ded565b61234f9190612ec0565b6000838152600760205260409020549091508082146123a2576001600160a01b03841660009081526006602090815260408083208584528252808320548484528184208190558352600790915290208190555b5060009182526007602090815260408084208490556001600160a01b039094168352600681528383209183525290812055565b6008546000906123e790600190612ec0565b6000838152600960205260408120546008805493945090928490811061240f5761240f612c8f565b90600052602060002001549050806008838154811061243057612430612c8f565b6000918252602080832090910192909255828152600990915260408082208490558582528120556008805480612468576124686130a5565b6001900381819060005260206000200160009055905550505050565b600061248f83610ded565b6001600160a01b039093166000908152600660209081526040808320868452825280832085905593825260079052919091209190915550565b828054828255906000526020600020906001016002900481019282156125705791602002820160005b8382111561253b57835183826101000a8154816001600160601b0302191690836001600160601b031602179055509260200192600c01602081600b010492830192600103026124f1565b801561256e5782816101000a8154906001600160601b030219169055600c01602081600b0104928301926001030261253b565b505b5061257c92915061260b565b5090565b828054828255906000526020600020908101928215612570579160200282015b8281111561257057825182546001600160a01b0319166001600160a01b039091161782556020909201916001909101906125a0565b5080546125e190612c0a565b6000825580601f106125f1575050565b601f016020900490600052602060002090810190610cae91905b5b8082111561257c576000815560010161260c565b6001600160e01b031981168114610cae57600080fd5b60006020828403121561264857600080fd5b81356110ac81612620565b80356001600160a01b038116811461266a57600080fd5b919050565b60006020828403121561268157600080fd5b6110ac82612653565b60005b838110156126a557818101518382015260200161268d565b50506000910152565b600081518084526126c681602086016020860161268a565b601f01601f19169290920160200192915050565b6020815260006110ac60208301846126ae565b6000602082840312156126ff57600080fd5b5035919050565b6000806040838503121561271957600080fd5b61272283612653565b946020939093013593505050565b60008060006060848603121561274557600080fd5b61274e84612653565b925061275c60208501612653565b9150604084013590509250925092565b6000806040838503121561277f57600080fd5b50508035926020909101359150565b606080825284519082018190526000906020906080840190828801845b828110156127d05781516001600160601b0316845292840192908401906001016127ab565b5050508381038285015285518082528683019183019060005b8181101561280e5783516001600160a01b0316835292840192918401916001016127e9565b5050809350505050826040830152949350505050565b6000806040838503121561283757600080fd5b8235915061284760208401612653565b90509250929050565b634e487b7160e01b600052604160045260246000fd5b600067ffffffffffffffff8084111561288157612881612850565b604051601f8501601f19908116603f011681019082821181831017156128a9576128a9612850565b816040528093508581528686860111156128c257600080fd5b858560208301376000602087830101525050509392505050565b600082601f8301126128ed57600080fd5b6110ac83833560208501612866565b60006020828403121561290e57600080fd5b813567ffffffffffffffff81111561292557600080fd5b611378848285016128dc565b60008083601f84011261294357600080fd5b50813567ffffffffffffffff81111561295b57600080fd5b6020830191508360208260051b850101111561297657600080fd5b9250929050565b600080600080600080600060a0888a03121561299857600080fd5b6129a188612653565b96506129af60208901612653565b9550604088013567ffffffffffffffff808211156129cc57600080fd5b6129d88b838c016128dc565b965060608a01359150808211156129ee57600080fd5b6129fa8b838c01612931565b909650945060808a0135915080821115612a1357600080fd5b50612a208a828b01612931565b989b979a50959850939692959293505050565b60008060408385031215612a4657600080fd5b612a4f83612653565b915060208301358015158114612a6457600080fd5b809150509250929050565b60008060008060008086880360e0811215612a8957600080fd5b873567ffffffffffffffff80821115612aa157600080fd5b612aad8b838c016128dc565b985060208a0135915080821115612ac357600080fd5b612acf8b838c01612931565b909850965060408a0135915080821115612ae857600080fd5b50612af58a828b01612931565b9095509350506080605f1982011215612b0d57600080fd5b506060870190509295509295509295565b60008060008060808587031215612b3457600080fd5b612b3d85612653565b9350612b4b60208601612653565b925060408501359150606085013567ffffffffffffffff811115612b6e57600080fd5b8501601f81018713612b7f57600080fd5b612b8e87823560208401612866565b91505092959194509250565b60008060408385031215612bad57600080fd5b612bb683612653565b915061284760208401612653565b60208082526026908201527f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160408201526564647265737360d01b606082015260800190565b600181811c90821680612c1e57607f821691505b60208210810361057757634e487b7160e01b600052602260045260246000fd5b60208082526031908201527f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f6040820152701ddb995c881b9bdc88185c1c1c9bdd9959607a1b606082015260800190565b634e487b7160e01b600052603260045260246000fd5b634e487b7160e01b600052601160045260246000fd5b6000816000190483118215151615612cd557612cd5612ca5565b500290565b634e487b7160e01b600052601260045260246000fd5b600082612cff57612cff612cda565b500490565b8082018082111561048e5761048e612ca5565b60006001600160601b03808316818103612d3357612d33612ca5565b6001019392505050565b601f8211156107a757600081815260208120601f850160051c81016020861015612d645750805b601f850160051c820191505b81811015612d8357828155600101612d70565b505050505050565b815167ffffffffffffffff811115612da557612da5612850565b612db981612db38454612c0a565b84612d3d565b602080601f831160018114612dee5760008415612dd65750858301515b600019600386901b1c1916600185901b178555612d83565b600085815260208120601f198616915b82811015612e1d57888601518255948401946001909101908401612dfe565b5085821015612e3b5787850151600019600388901b60f8161c191681555b5050505050600190811b01905550565b600060808284031215612e5d57600080fd5b6040516080810181811067ffffffffffffffff82111715612e8057612e80612850565b604052823560ff81168114612e9457600080fd5b808252506020830135602082015260408301356040820152606083013560608201528091505092915050565b8181038181111561048e5761048e612ca5565b60006001600160601b0319808760601b168352808660601b166014840152508351612f0581602885016020880161268a565b6028920191820192909252604801949350505050565b60208082526032908201527f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560408201527131b2b4bb32b91034b6b83632b6b2b73a32b960711b606082015260800190565b60008351612f7f81846020880161268a565b835190830190612f9381836020880161268a565b01949350505050565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000815260008351612fd481601785016020880161268a565b7001034b99036b4b9b9b4b733903937b6329607d1b601791840191820152835161300581602884016020880161268a565b01602801949350505050565b6001600160a01b0385811682528416602082015260408101839052608060608201819052600090610ff6908301846126ae565b60006020828403121561305657600080fd5b81516110ac81612620565b60008161307057613070612ca5565b506000190190565b60006001820161308a5761308a612ca5565b5060010190565b6000826130a0576130a0612cda565b500690565b634e487b7160e01b600052603160045260246000fdfea26469706673582212207deed791a28f3b4fc161faef8f22e23cfc0e24afee8f76e847ea3555c946795564736f6c63430008100033000000000000000000000000000000000000000000000000000000000000008000000000000000000000000000000000000000000000000000000000000000c0000000000000000000000000000000000000000000000000000000000000010000000000000000000000000086cabf9ed18201c957c87872aa4a43072cd3210b0000000000000000000000000000000000000000000000000000000000000013426c75654269744e465437323120546f6b656e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000d426c75654269744e465437323100000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000002268747470733a2f2f676174657761792e70696e6174612e636c6f75642f697066732f000000000000000000000000000000000000000000000000000000000000