60806040523480156200001157600080fd5b5060405162003b1138038062003b118339818101604052810190620000379190620009ac565b6040518060400160405280600e81526020017f5354594c452050726f746f636f6c0000000000000000000000000000000000008152506040518060400160405280600581526020017f5354594c45000000000000000000000000000000000000000000000000000000815250828260029080519060200190620000bc9291906200075f565b508160039080519060200190620000d59291906200075f565b508060049080519060200190620000ee929190620007f0565b5060005b8151811015620001875760016005600084848151811062000118576200011762000edd565b5b602002602001015173ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff02191690831515021790555080806200017e9062000e31565b915050620000f2565b50731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff166329965a1d307fac7fbab5f54a3ca8194167523c6753bfeb96a445279294b6125b68cce2177054306040518463ffffffff1660e01b8152600401620001fb9392919062000b7c565b600060405180830381600087803b1580156200021657600080fd5b505af11580156200022b573d6000803e3d6000fd5b50505050731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff166329965a1d307faea199e31a596269b42cdafd93407f14436db6e4cad65417994c2eb37381e05a306040518463ffffffff1660e01b8152600401620002a29392919062000b7c565b600060405180830381600087803b158015620002bd57600080fd5b505af1158015620002d2573d6000803e3d6000fd5b505050505050506200030b338360405180602001604052806000815250604051806020016040528060008152506200031360201b60201c565b505062001032565b620003298484848460016200032f60201b60201c565b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff161415620003a2576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620003999062000bb9565b60405180910390fd5b6000620003b46200053060201b60201c565b9050620003cb81600088886200053860201b60201c565b8460016000828254620003df919062000cea565b92505081905550846000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825462000436919062000cea565b925050819055506200045581600088888888886200053e60201b60201c565b8573ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f2fe5be0146f74c5bce36c0b80911af6c7d86ff27e89d5cfa61fc681327954e5d878787604051620004b89392919062000c1a565b60405180910390a38573ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef8760405162000520919062000bfd565b60405180910390a3505050505050565b600033905090565b50505050565b6000731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff1663aabbb8ca877fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6040518363ffffffff1660e01b8152600401620005b192919062000b4f565b60206040518083038186803b158015620005ca57600080fd5b505afa158015620005df573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906200060591906200097a565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614620006ba578073ffffffffffffffffffffffffffffffffffffffff166223de298989898989896040518763ffffffff1660e01b8152600401620006809695949392919062000ad4565b600060405180830381600087803b1580156200069b57600080fd5b505af1158015620006b0573d6000803e3d6000fd5b5050505062000732565b81156200073157620006ed8673ffffffffffffffffffffffffffffffffffffffff166200073c60201b62000e731760201c565b1562000730576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620007279062000bdb565b60405180910390fd5b5b5b5050505050505050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b8280546200076d9062000dc5565b90600052602060002090601f016020900481019282620007915760008555620007dd565b82601f10620007ac57805160ff1916838001178555620007dd565b82800160010185558215620007dd579182015b82811115620007dc578251825591602001919060010190620007bf565b5b509050620007ec91906200087f565b5090565b8280548282559060005260206000209081019282156200086c579160200282015b828111156200086b5782518260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055509160200191906001019062000811565b5b5090506200087b91906200087f565b5090565b5b808211156200089a57600081600090555060010162000880565b5090565b6000620008b5620008af8462000c8e565b62000c65565b90508083825260208201905082856020860282011115620008db57620008da62000f40565b5b60005b858110156200090f5781620008f4888262000919565b845260208401935060208301925050600181019050620008de565b5050509392505050565b6000815190506200092a8162000ffe565b92915050565b600082601f83011262000948576200094762000f3b565b5b81516200095a8482602086016200089e565b91505092915050565b600081519050620009748162001018565b92915050565b60006020828403121562000993576200099262000f4a565b5b6000620009a38482850162000919565b91505092915050565b60008060408385031215620009c657620009c562000f4a565b5b6000620009d68582860162000963565b925050602083015167ffffffffffffffff811115620009fa57620009f962000f45565b5b62000a088582860162000930565b9150509250929050565b62000a1d8162000d47565b82525050565b62000a2e8162000d5b565b82525050565b600062000a418262000cbd565b62000a4d818562000cc8565b935062000a5f81856020860162000d8f565b62000a6a8162000f4f565b840191505092915050565b600062000a8460208362000cd9565b915062000a918262000f60565b602082019050919050565b600062000aab604d8362000cd9565b915062000ab88262000f89565b606082019050919050565b62000ace8162000d85565b82525050565b600060c08201905062000aeb600083018962000a12565b62000afa602083018862000a12565b62000b09604083018762000a12565b62000b18606083018662000ac3565b818103608083015262000b2c818562000a34565b905081810360a083015262000b42818462000a34565b9050979650505050505050565b600060408201905062000b66600083018562000a12565b62000b75602083018462000a23565b9392505050565b600060608201905062000b93600083018662000a12565b62000ba2602083018562000a23565b62000bb1604083018462000a12565b949350505050565b6000602082019050818103600083015262000bd48162000a75565b9050919050565b6000602082019050818103600083015262000bf68162000a9c565b9050919050565b600060208201905062000c14600083018462000ac3565b92915050565b600060608201905062000c31600083018662000ac3565b818103602083015262000c45818562000a34565b9050818103604083015262000c5b818462000a34565b9050949350505050565b600062000c7162000c84565b905062000c7f828262000dfb565b919050565b6000604051905090565b600067ffffffffffffffff82111562000cac5762000cab62000f0c565b5b602082029050602081019050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600062000cf78262000d85565b915062000d048362000d85565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000d3c5762000d3b62000e7f565b5b828201905092915050565b600062000d548262000d65565b9050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000daf57808201518184015260208101905062000d92565b8381111562000dbf576000848401525b50505050565b6000600282049050600182168062000dde57607f821691505b6020821081141562000df55762000df462000eae565b5b50919050565b62000e068262000f4f565b810181811067ffffffffffffffff8211171562000e285762000e2762000f0c565b5b80604052505050565b600062000e3e8262000d85565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82141562000e745762000e7362000e7f565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4552433737373a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460008201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60208201527f6b656e73526563697069656e7400000000000000000000000000000000000000604082015250565b620010098162000d47565b81146200101557600080fd5b50565b620010238162000d85565b81146200102f57600080fd5b50565b612acf80620010426000396000f3fe608060405234801561001057600080fd5b50600436106101165760003560e01c8063959b8c3f116100a2578063d95b637111610071578063d95b6371146102e3578063dd62ed3e14610313578063fad8b32a14610343578063fc673c4f1461035f578063fe9d93031461037b57610116565b8063959b8c3f1461025d57806395d89b41146102795780639bd9bbc614610297578063a9059cbb146102b357610116565b806323b872dd116100e957806323b872dd146101a5578063313ce567146101d5578063556f0dc7146101f357806362ad1b831461021157806370a082311461022d57610116565b806306e485381461011b57806306fdde0314610139578063095ea7b31461015757806318160ddd14610187575b600080fd5b610123610397565b6040516101309190612156565b60405180910390f35b610141610425565b60405161014e9190612193565b60405180910390f35b610171600480360381019061016c9190611c2e565b6104b7565b60405161017e9190612178565b60405180910390f35b61018f6104da565b60405161019c9190612335565b60405180910390f35b6101bf60048036038101906101ba9190611b28565b6104e4565b6040516101cc9190612178565b60405180910390f35b6101dd610535565b6040516101ea9190612395565b60405180910390f35b6101fb61053e565b6040516102089190612335565b60405180910390f35b61022b60048036038101906102269190611b7b565b610547565b005b61024760048036038101906102429190611a8e565b6105ad565b6040516102549190612335565b60405180910390f35b61027760048036038101906102729190611a8e565b6105f5565b005b610281610856565b60405161028e9190612193565b60405180910390f35b6102b160048036038101906102ac9190611c6e565b6108e8565b005b6102cd60048036038101906102c89190611c2e565b610912565b6040516102da9190612178565b60405180910390f35b6102fd60048036038101906102f89190611ae8565b610952565b60405161030a9190612178565b60405180910390f35b61032d60048036038101906103289190611ae8565b610b03565b60405161033a9190612335565b60405180910390f35b61035d60048036038101906103589190611a8e565b610b8a565b005b61037960048036038101906103749190611cdd565b610deb565b005b61039560048036038101906103909190611d7c565b610e4d565b005b6060600480548060200260200160405190810160405280929190818152602001828054801561041b57602002820191906000526020600020905b8160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190600101908083116103d1575b5050505050905090565b606060028054610434906125a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610460906125a2565b80156104ad5780601f10610482576101008083540402835291602001916104ad565b820191906000526020600020905b81548152906001019060200180831161049057829003601f168201915b5050505050905090565b6000806104c2610e96565b90506104cf818585610e9e565b600191505092915050565b6000600154905090565b6000806104ef610e96565b90506104fc858285611069565b610529858585604051806020016040528060008152506040518060200160405280600081525060006110f5565b60019150509392505050565b60006012905090565b60006001905090565b610558610552610e96565b86610952565b610597576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161058e906122b5565b60405180910390fd5b6105a6858585858560016110f5565b5050505050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b8073ffffffffffffffffffffffffffffffffffffffff16610614610e96565b73ffffffffffffffffffffffffffffffffffffffff16141561066b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066290612235565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff161561075557600760006106c9610e96565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690556107f2565b600160066000610763610e96565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055505b6107fa610e96565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167ff4caeb2d6ca8932a215a353d0703c326ec2d81fc68170f320eb2ab49e9df61f960405160405180910390a350565b606060038054610865906125a2565b80601f0160208091040260200160405190810160405280929190818152602001828054610891906125a2565b80156108de5780601f106108b3576101008083540402835291602001916108de565b820191906000526020600020905b8154815290600101906020018083116108c157829003601f168201915b5050505050905090565b61090d6108f3610e96565b8484846040518060200160405280600081525060016110f5565b505050565b600061094861091f610e96565b8484604051806020016040528060008152506040518060200160405280600081525060006110f5565b6001905092915050565b60008173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480610a6a5750600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff168015610a695750600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16155b5b80610afb5750600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff165b905092915050565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610b92610e96565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610c00576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bf790612255565b60405180910390fd5b600560008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff1615610cf357600160076000610c60610e96565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550610d87565b60066000610cff610e96565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008273ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81549060ff02191690555b610d8f610e96565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f50546e66e5f44d728365dc3908c63bc5cfeeab470722c1677e3073a6ac294aa160405160405180910390a350565b610dfc610df6610e96565b85610952565b610e3b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e32906122b5565b60405180910390fd5b610e4784848484611215565b50505050565b610e6f610e58610e96565b838360405180602001604052806000815250611215565b5050565b6000808273ffffffffffffffffffffffffffffffffffffffff163b119050919050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610f0e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f05906121b5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610f7e576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f7590612315565b60405180910390fd5b80600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161105c9190612335565b60405180910390a3505050565b60006110758484610b03565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146110ef57818110156110e1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d890612215565b60405180910390fd5b6110ee8484848403610e9e565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff161415611165576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161115c906122d5565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff1614156111d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016111cc90612295565b60405180910390fd5b60006111df610e96565b90506111ef818888888888611468565b6111fd8188888888886115de565b61120c818888888888886117f8565b50505050505050565b600073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff161415611285576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161127c906121f5565b60405180910390fd5b600061128f610e96565b90506112a081866000878787611468565b6112ad81866000876119d9565b60008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905084811015611333576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161132a906122f5565b60405180910390fd5b8481036000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550846001600082825461138a91906124cd565b925050819055508573ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fa78a9be3a7b862d26933ad85fb11d80ef66b8f972d7cbba06621d583943a40988787876040516113f293929190612350565b60405180910390a3600073ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef876040516114589190612335565b60405180910390a3505050505050565b6000731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff1663aabbb8ca877f29ddb589b1fb5fc7cf394961c1adf5f8c6454761adf795e67fe149f658abe8956040518363ffffffff1660e01b81526004016114d992919061212d565b60206040518083038186803b1580156114f157600080fd5b505afa158015611505573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115299190611abb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146115d5578073ffffffffffffffffffffffffffffffffffffffff166375ab97828888888888886040518763ffffffff1660e01b81526004016115a2969594939291906120be565b600060405180830381600087803b1580156115bc57600080fd5b505af11580156115d0573d6000803e3d6000fd5b505050505b50505050505050565b6115ea868686866119d9565b60008060008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905083811015611670576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611667906121d5565b60405180910390fd5b8381036000808873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550836000808773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546117039190612477565b925050819055508473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff168873ffffffffffffffffffffffffffffffffffffffff167f06b541ddaa720db2b10a4d0cdac39b8d360425fc073085fac19bc8261467798787878760405161178293929190612350565b60405180910390a48473ffffffffffffffffffffffffffffffffffffffff168673ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef866040516117e79190612335565b60405180910390a350505050505050565b6000731820a4b7618bde71dce8cdc73aab6c95905fad2473ffffffffffffffffffffffffffffffffffffffff1663aabbb8ca877fb281fc8c12954d22544db45de3159a39272895b169a852b314f9cc762e44c53b6040518363ffffffff1660e01b815260040161186992919061212d565b60206040518083038186803b15801561188157600080fd5b505afa158015611895573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906118b99190611abb565b9050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611968578073ffffffffffffffffffffffffffffffffffffffff166223de298989898989896040518763ffffffff1660e01b8152600401611931969594939291906120be565b600060405180830381600087803b15801561194b57600080fd5b505af115801561195f573d6000803e3d6000fd5b505050506119cf565b81156119ce5761198d8673ffffffffffffffffffffffffffffffffffffffff16610e73565b156119cd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119c490612275565b60405180910390fd5b5b5b5050505050505050565b50505050565b60006119f26119ed846123d5565b6123b0565b905082815260208101848484011115611a0e57611a0d612697565b5b611a19848285612560565b509392505050565b600081359050611a3081612a6b565b92915050565b600081519050611a4581612a6b565b92915050565b600082601f830112611a6057611a5f612692565b5b8135611a708482602086016119df565b91505092915050565b600081359050611a8881612a82565b92915050565b600060208284031215611aa457611aa36126a1565b5b6000611ab284828501611a21565b91505092915050565b600060208284031215611ad157611ad06126a1565b5b6000611adf84828501611a36565b91505092915050565b60008060408385031215611aff57611afe6126a1565b5b6000611b0d85828601611a21565b9250506020611b1e85828601611a21565b9150509250929050565b600080600060608486031215611b4157611b406126a1565b5b6000611b4f86828701611a21565b9350506020611b6086828701611a21565b9250506040611b7186828701611a79565b9150509250925092565b600080600080600060a08688031215611b9757611b966126a1565b5b6000611ba588828901611a21565b9550506020611bb688828901611a21565b9450506040611bc788828901611a79565b935050606086013567ffffffffffffffff811115611be857611be761269c565b5b611bf488828901611a4b565b925050608086013567ffffffffffffffff811115611c1557611c1461269c565b5b611c2188828901611a4b565b9150509295509295909350565b60008060408385031215611c4557611c446126a1565b5b6000611c5385828601611a21565b9250506020611c6485828601611a79565b9150509250929050565b600080600060608486031215611c8757611c866126a1565b5b6000611c9586828701611a21565b9350506020611ca686828701611a79565b925050604084013567ffffffffffffffff811115611cc757611cc661269c565b5b611cd386828701611a4b565b9150509250925092565b60008060008060808587031215611cf757611cf66126a1565b5b6000611d0587828801611a21565b9450506020611d1687828801611a79565b935050604085013567ffffffffffffffff811115611d3757611d3661269c565b5b611d4387828801611a4b565b925050606085013567ffffffffffffffff811115611d6457611d6361269c565b5b611d7087828801611a4b565b91505092959194509250565b60008060408385031215611d9357611d926126a1565b5b6000611da185828601611a79565b925050602083013567ffffffffffffffff811115611dc257611dc161269c565b5b611dce85828601611a4b565b9150509250929050565b6000611de48383611df0565b60208301905092915050565b611df981612501565b82525050565b611e0881612501565b82525050565b6000611e1982612416565b611e238185612444565b9350611e2e83612406565b8060005b83811015611e5f578151611e468882611dd8565b9750611e5183612437565b925050600181019050611e32565b5085935050505092915050565b611e7581612513565b82525050565b611e848161251f565b82525050565b6000611e9582612421565b611e9f8185612455565b9350611eaf81856020860161256f565b611eb8816126a6565b840191505092915050565b6000611ece8261242c565b611ed88185612466565b9350611ee881856020860161256f565b611ef1816126a6565b840191505092915050565b6000611f09602583612466565b9150611f14826126b7565b604082019050919050565b6000611f2c602783612466565b9150611f3782612706565b604082019050919050565b6000611f4f602283612466565b9150611f5a82612755565b604082019050919050565b6000611f72601e83612466565b9150611f7d826127a4565b602082019050919050565b6000611f95602483612466565b9150611fa0826127cd565b604082019050919050565b6000611fb8602183612466565b9150611fc38261281c565b604082019050919050565b6000611fdb604d83612466565b9150611fe68261286b565b606082019050919050565b6000611ffe602483612466565b9150612009826128e0565b604082019050919050565b6000612021602c83612466565b915061202c8261292f565b604082019050919050565b6000612044602683612466565b915061204f8261297e565b604082019050919050565b6000612067602383612466565b9150612072826129cd565b604082019050919050565b600061208a602383612466565b915061209582612a1c565b604082019050919050565b6120a981612549565b82525050565b6120b881612553565b82525050565b600060c0820190506120d36000830189611dff565b6120e06020830188611dff565b6120ed6040830187611dff565b6120fa60608301866120a0565b818103608083015261210c8185611e8a565b905081810360a08301526121208184611e8a565b9050979650505050505050565b60006040820190506121426000830185611dff565b61214f6020830184611e7b565b9392505050565b600060208201905081810360008301526121708184611e0e565b905092915050565b600060208201905061218d6000830184611e6c565b92915050565b600060208201905081810360008301526121ad8184611ec3565b905092915050565b600060208201905081810360008301526121ce81611efc565b9050919050565b600060208201905081810360008301526121ee81611f1f565b9050919050565b6000602082019050818103600083015261220e81611f42565b9050919050565b6000602082019050818103600083015261222e81611f65565b9050919050565b6000602082019050818103600083015261224e81611f88565b9050919050565b6000602082019050818103600083015261226e81611fab565b9050919050565b6000602082019050818103600083015261228e81611fce565b9050919050565b600060208201905081810360008301526122ae81611ff1565b9050919050565b600060208201905081810360008301526122ce81612014565b9050919050565b600060208201905081810360008301526122ee81612037565b9050919050565b6000602082019050818103600083015261230e8161205a565b9050919050565b6000602082019050818103600083015261232e8161207d565b9050919050565b600060208201905061234a60008301846120a0565b92915050565b600060608201905061236560008301866120a0565b81810360208301526123778185611e8a565b9050818103604083015261238b8184611e8a565b9050949350505050565b60006020820190506123aa60008301846120af565b92915050565b60006123ba6123cb565b90506123c682826125d4565b919050565b6000604051905090565b600067ffffffffffffffff8211156123f0576123ef612663565b5b6123f9826126a6565b9050602081019050919050565b6000819050602082019050919050565b600081519050919050565b600081519050919050565b600081519050919050565b6000602082019050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600061248282612549565b915061248d83612549565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156124c2576124c1612605565b5b828201905092915050565b60006124d882612549565b91506124e383612549565b9250828210156124f6576124f5612605565b5b828203905092915050565b600061250c82612529565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b82818337600083830152505050565b60005b8381101561258d578082015181840152602081019050612572565b8381111561259c576000848401525b50505050565b600060028204905060018216806125ba57607f821691505b602082108114156125ce576125cd612634565b5b50919050565b6125dd826126a6565b810181811067ffffffffffffffff821117156125fc576125fb612663565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4552433737373a20617070726f76652066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a207472616e7366657220616d6f756e7420657863656564732060008201527f62616c616e636500000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a206275726e2066726f6d20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a20696e73756666696369656e7420616c6c6f77616e63650000600082015250565b7f4552433737373a20617574686f72697a696e672073656c66206173206f70657260008201527f61746f7200000000000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a207265766f6b696e672073656c66206173206f70657261746f60008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a20746f6b656e20726563697069656e7420636f6e747261637460008201527f20686173206e6f20696d706c656d656e74657220666f7220455243373737546f60208201527f6b656e73526563697069656e7400000000000000000000000000000000000000604082015250565b7f4552433737373a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a2063616c6c6572206973206e6f7420616e206f70657261746f60008201527f7220666f7220686f6c6465720000000000000000000000000000000000000000602082015250565b7f4552433737373a207472616e736665722066726f6d20746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a206275726e20616d6f756e7420657863656564732062616c6160008201527f6e63650000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433737373a20617070726f766520746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b612a7481612501565b8114612a7f57600080fd5b50565b612a8b81612549565b8114612a9657600080fd5b5056fea2646970667358221220528fb2746d25c5cecb9013363a98fb2ab6c8b873821c087445fd7e08f7a5744c64736f6c63430008070033000000000000000000000000000000000000000002f90193ef3075fa9800000000000000000000000000000000000000000000000000000000000000000000400000000000000000000000000000000000000000000000000000000000000000