60806040526d04ee2d6d415b85acef8100000000600355600480556200005160646200003d601e600354620003c660201b6200148b1790919060201c565b6200044a60201b620015061790919060201c565b600555620000646200049c60201b60201c565b600660006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620000b46200049c60201b60201c565b600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073e9a2c76903108da11e3336ff2763ecaee5ac1320600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506040518060400160405280600a81526020017f466c6f6b69204d61726b00000000000000000000000000000000000000000000815250600b9080519060200190620001969291906200050c565b506040518060400160405280600981526020017f464c4f4b494d41524b0000000000000000000000000000000000000000000000815250600c9080519060200190620001e49291906200050c565b506000600d60006101000a81548160ff0219169083151502179055506012600d60016101000a81548160ff021916908360ff1602179055506001600e553480156200022e57600080fd5b506000620002416200049c60201b60201c565b9050806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508073ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35060035460016000620002f66200049c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550620003446200049c60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff1673ab5801a7d398351b8be11c439e05c5b3259aec9b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600354604051620003b891906200067b565b60405180910390a3620008b0565b600080831415620003db576000905062000444565b60008284620003eb9190620006ec565b9050828482620003fc9190620006b4565b146200043f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004369062000659565b60405180910390fd5b809150505b92915050565b60006200049483836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250620004a460201b60201c565b905092915050565b600033905090565b60008083118290620004ee576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620004e5919062000635565b60405180910390fd5b5060008385620004ff9190620006b4565b9050809150509392505050565b8280546200051a906200078d565b90600052602060002090601f0160209004810192826200053e57600085556200058a565b82601f106200055957805160ff19168380011785556200058a565b828001600101855582156200058a579182015b82811115620005895782518255916020019190600101906200056c565b5b5090506200059991906200059d565b5090565b5b80821115620005b85760008160009055506001016200059e565b5090565b6000620005c98262000698565b620005d58185620006a3565b9350620005e781856020860162000757565b620005f28162000850565b840191505092915050565b60006200060c602183620006a3565b9150620006198262000861565b604082019050919050565b6200062f816200074d565b82525050565b60006020820190508181036000830152620006518184620005bc565b905092915050565b600060208201905081810360008301526200067481620005fd565b9050919050565b600060208201905062000692600083018462000624565b92915050565b600081519050919050565b600082825260208201905092915050565b6000620006c1826200074d565b9150620006ce836200074d565b925082620006e157620006e0620007f2565b5b828204905092915050565b6000620006f9826200074d565b915062000706836200074d565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615620007425762000741620007c3565b5b828202905092915050565b6000819050919050565b60005b83811015620007775780820151818401526020810190506200075a565b8381111562000787576000848401525b50505050565b60006002820490506001821680620007a657607f821691505b60208210811415620007bd57620007bc62000821565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b61306980620008c06000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c8063715018a6116100b8578063b55053351161007c578063b55053351461032b578063c9567bf914610347578063dd62ed3e14610351578063df93644614610381578063e7cd4a04146103b1578063f2fde38b146103cd57610142565b8063715018a6146102995780638da5cb5b146102a357806395d89b41146102c1578063a9059cbb146102df578063acedf07c1461030f57610142565b806323b872dd1161010a57806323b872dd146101eb578063301370af1461021b578063303d0a0d14610225578063313ce5671461022f57806343462ebd1461024d57806370a082311461026957610142565b8063025ff12f1461014757806306fdde0314610163578063095ea7b31461018157806318160ddd146101b15780632042e5c2146101cf575b600080fd5b610161600480360381019061015c91906124b4565b6103e9565b005b61016b610644565b60405161017891906127f1565b60405180910390f35b61019b6004803603810190610196919061253d565b6106d6565b6040516101a891906127d6565b60405180910390f35b6101b96106f4565b6040516101c69190612993565b60405180910390f35b6101e960048036038101906101e49190612400565b6106fe565b005b61020560048036038101906102009190612465565b6107fb565b60405161021291906127d6565b60405180910390f35b6102236108d4565b005b61022d610b09565b005b610237610bab565b60405161024491906129ae565b60405180910390f35b61026760048036038101906102629190612400565b610bc2565b005b610283600480360381019061027e9190612400565b610c9d565b6040516102909190612993565b60405180910390f35b6102a1610ce6565b005b6102ab610e39565b6040516102b891906127bb565b60405180910390f35b6102c9610e62565b6040516102d691906127f1565b60405180910390f35b6102f960048036038101906102f4919061253d565b610ef4565b60405161030691906127d6565b60405180910390f35b61032960048036038101906103249190612579565b610f12565b005b61034560048036038101906103409190612579565b610fb3565b005b61034f611054565b005b61036b60048036038101906103669190612429565b611106565b6040516103789190612993565b60405180910390f35b61039b60048036038101906103969190612579565b61118d565b6040516103a891906127bb565b60405180910390f35b6103cb60048036038101906103c69190612400565b6111cc565b005b6103e760048036038101906103e29190612400565b6112c9565b005b6103f1611550565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461047e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161047590612933565b60405180910390fd5b60008282905085859050146104c8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016104bf90612853565b60405180910390fd5b60005b858590508110156105365783838281811061050f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b905060200201358261052191906129e5565b9150808061052e90612bb4565b9150506104cb565b508061054187610c9d565b1015610582576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610579906128b3565b60405180910390fd5b60005b8585905081101561063b57610627878787848181106105cd577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020160208101906105e29190612400565b86868581811061061b577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90506020020135611558565b50808061063390612bb4565b915050610585565b50505050505050565b6060600b805461065390612b82565b80601f016020809104026020016040519081016040528092919081815260200182805461067f90612b82565b80156106cc5780601f106106a1576101008083540402835291602001916106cc565b820191906000526020600020905b8154815290600101906020018083116106af57829003601f168201915b5050505050905090565b60006106ea6106e3611550565b848461172b565b6001905092915050565b6000600354905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661073f611550565b73ffffffffffffffffffffffffffffffffffffffff1614610795576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161078c90612813565b60405180910390fd5b600a819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60006108088484846118f6565b6108c984610814611550565b6108c485604051806060016040528060288152602001612fe660289139600260008b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600061087a611550565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f509092919063ffffffff16565b61172b565b600190509392505050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610915611550565b73ffffffffffffffffffffffffffffffffffffffff161461096b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096290612813565b60405180910390fd5b600060016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905060006127106003546109e39190612a6c565b9050600354816109f391906129e5565b6003819055508181610a0591906129e5565b60016000600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ab5801a7d398351b8be11c439e05c5b3259aec9b73ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610afd9190612993565b60405180910390a35050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610b4a611550565b73ffffffffffffffffffffffffffffffffffffffff1614610ba0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b9790612813565b60405180910390fd5b600e54600581905550565b6000600d60019054906101000a900460ff16905090565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610c03611550565b73ffffffffffffffffffffffffffffffffffffffff1614610c59576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5090612813565b60405180910390fd5b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610cee611550565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614610d7b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d7290612933565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a360008060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600c8054610e7190612b82565b80601f0160208091040260200160405190810160405280929190818152602001828054610e9d90612b82565b8015610eea5780601f10610ebf57610100808354040283529160200191610eea565b820191906000526020600020905b815481529060010190602001808311610ecd57829003601f168201915b5050505050905090565b6000610f08610f01611550565b84846118f6565b6001905092915050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610f53611550565b73ffffffffffffffffffffffffffffffffffffffff1614610fa9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fa090612813565b60405180910390fd5b80600e8190555050565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16610ff4611550565b73ffffffffffffffffffffffffffffffffffffffff161461104a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161104190612813565b60405180910390fd5b8060048190555050565b61105c611550565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16146110e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110e090612933565b60405180910390fd5b6001600d60006101000a81548160ff021916908315150217905550565b6000600260008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b6009818154811061119d57600080fd5b906000526020600020016000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1661120d611550565b73ffffffffffffffffffffffffffffffffffffffff1614611263576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161125a90612813565b60405180910390fd5b6009819080600181540180825580915050600190039060005260206000200160009091909190916101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b6112d1611550565b73ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461135e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161135590612933565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156113ce576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113c590612873565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff1660008054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a3806000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050565b60008083141561149e5760009050611500565b600082846114ac9190612a6c565b90508284826114bb9190612a3b565b146114fb576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114f290612913565b60405180910390fd5b809150505b92915050565b600061154883836040518060400160405280601a81526020017f536166654d6174683a206469766973696f6e206279207a65726f000000000000815250611fb4565b905092915050565b600033905090565b60006115e3826040518060400160405280601481526020017f496e73756666696369656e742042616c616e6365000000000000000000000000815250600160008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f509092919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000208190555061167882600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201790919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef846040516117189190612993565b60405180910390a3600190509392505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16141561179b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161179290612973565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561180b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161180290612893565b60405180910390fd5b80600260008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b925836040516118e99190612993565b60405180910390a3505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611966576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195d90612833565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119d6576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119cd90612953565b60405180910390fd5b600115156119e384612075565b15151415611a30576004548110611a2f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a26906128f3565b60405180910390fd5b5b611a38610e39565b73ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161480611abe5750600660009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff16145b15611c7157611b2f8160405180606001604052806026815260200161300e60269139600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f509092919063ffffffff16565b600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611bc481600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201790919063ffffffff16565b600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611c649190612993565b60405180910390a3611f4b565b611c7a83612146565b611c8357600080fd5b6000611cad6064611c9f6004548561148b90919063ffffffff16565b61150690919063ffffffff16565b90506000611cc4828461222790919063ffffffff16565b9050611d328360405180606001604052806026815260200161300e60269139600160008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054611f509092919063ffffffff16565b600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611dc781600160008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201790919063ffffffff16565b600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550611e7e8260016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205461201790919063ffffffff16565b60016000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508373ffffffffffffffffffffffffffffffffffffffff168573ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051611f409190612993565b60405180910390a350505b505050565b6000838311158290611f98576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611f8f91906127f1565b60405180910390fd5b5060008385611fa79190612ac6565b9050809150509392505050565b60008083118290611ffb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611ff291906127f1565b60405180910390fd5b506000838561200a9190612a3b565b9050809150509392505050565b600080828461202691906129e5565b90508381101561206b576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401612062906128d3565b60405180910390fd5b8091505092915050565b600080600090505b60098054905081101561213f578273ffffffffffffffffffffffffffffffffffffffff16600982815481106120db577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561212c576001915050612141565b808061213790612bb4565b91505061207d565b505b919050565b6000806121726064612164601e60035461148b90919063ffffffff16565b61150690919063ffffffff16565b9050600760009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614806121dc5750600115156121d884612271565b1515145b156121eb576001915050612222565b6005546121f784610c9d565b1015801561220d57508061220a84610c9d565b11155b1561221c576000915050612222565b60019150505b919050565b600061226983836040518060400160405280601e81526020017f536166654d6174683a207375627472616374696f6e206f766572666c6f770000815250611f50565b905092915050565b600080600090505b600a8054905081101561233b578273ffffffffffffffffffffffffffffffffffffffff16600a82815481106122d7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16141561232857600191505061233d565b808061233390612bb4565b915050612279565b505b919050565b60008135905061235181612fb7565b92915050565b60008083601f84011261236957600080fd5b8235905067ffffffffffffffff81111561238257600080fd5b60208301915083602082028301111561239a57600080fd5b9250929050565b60008083601f8401126123b357600080fd5b8235905067ffffffffffffffff8111156123cc57600080fd5b6020830191508360208202830111156123e457600080fd5b9250929050565b6000813590506123fa81612fce565b92915050565b60006020828403121561241257600080fd5b600061242084828501612342565b91505092915050565b6000806040838503121561243c57600080fd5b600061244a85828601612342565b925050602061245b85828601612342565b9150509250929050565b60008060006060848603121561247a57600080fd5b600061248886828701612342565b935050602061249986828701612342565b92505060406124aa868287016123eb565b9150509250925092565b6000806000806000606086880312156124cc57600080fd5b60006124da88828901612342565b955050602086013567ffffffffffffffff8111156124f757600080fd5b61250388828901612357565b9450945050604086013567ffffffffffffffff81111561252257600080fd5b61252e888289016123a1565b92509250509295509295909350565b6000806040838503121561255057600080fd5b600061255e85828601612342565b925050602061256f858286016123eb565b9150509250929050565b60006020828403121561258b57600080fd5b6000612599848285016123eb565b91505092915050565b6125ab81612afa565b82525050565b6125ba81612b0c565b82525050565b60006125cb826129c9565b6125d581856129d4565b93506125e5818560208601612b4f565b6125ee81612c8a565b840191505092915050565b60006126066020836129d4565b915061261182612c9b565b602082019050919050565b60006126296025836129d4565b915061263482612cc4565b604082019050919050565b600061264c6028836129d4565b915061265782612d13565b604082019050919050565b600061266f6026836129d4565b915061267a82612d62565b604082019050919050565b60006126926022836129d4565b915061269d82612db1565b604082019050919050565b60006126b5601c836129d4565b91506126c082612e00565b602082019050919050565b60006126d8601b836129d4565b91506126e382612e29565b602082019050919050565b60006126fb6028836129d4565b915061270682612e52565b604082019050919050565b600061271e6021836129d4565b915061272982612ea1565b604082019050919050565b60006127416020836129d4565b915061274c82612ef0565b602082019050919050565b60006127646023836129d4565b915061276f82612f19565b604082019050919050565b60006127876024836129d4565b915061279282612f68565b604082019050919050565b6127a681612b38565b82525050565b6127b581612b42565b82525050565b60006020820190506127d060008301846125a2565b92915050565b60006020820190506127eb60008301846125b1565b92915050565b6000602082019050818103600083015261280b81846125c0565b905092915050565b6000602082019050818103600083015261282c816125f9565b9050919050565b6000602082019050818103600083015261284c8161261c565b9050919050565b6000602082019050818103600083015261286c8161263f565b9050919050565b6000602082019050818103600083015261288c81612662565b9050919050565b600060208201905081810360008301526128ac81612685565b9050919050565b600060208201905081810360008301526128cc816126a8565b9050919050565b600060208201905081810360008301526128ec816126cb565b9050919050565b6000602082019050818103600083015261290c816126ee565b9050919050565b6000602082019050818103600083015261292c81612711565b9050919050565b6000602082019050818103600083015261294c81612734565b9050919050565b6000602082019050818103600083015261296c81612757565b9050919050565b6000602082019050818103600083015261298c8161277a565b9050919050565b60006020820190506129a8600083018461279d565b92915050565b60006020820190506129c360008301846127ac565b92915050565b600081519050919050565b600082825260208201905092915050565b60006129f082612b38565b91506129fb83612b38565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115612a3057612a2f612bfd565b5b828201905092915050565b6000612a4682612b38565b9150612a5183612b38565b925082612a6157612a60612c2c565b5b828204905092915050565b6000612a7782612b38565b9150612a8283612b38565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0483118215151615612abb57612aba612bfd565b5b828202905092915050565b6000612ad182612b38565b9150612adc83612b38565b925082821015612aef57612aee612bfd565b5b828203905092915050565b6000612b0582612b18565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b83811015612b6d578082015181840152602081019050612b52565b83811115612b7c576000848401525b50505050565b60006002820490506001821680612b9a57607f821691505b60208210811415612bae57612bad612c5b565b5b50919050565b6000612bbf82612b38565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff821415612bf257612bf1612bfd565b5b600182019050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a2063616e6e6f74207065726d6974206465762061646472657373600082015250565b7f42455032303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f4d69736d61746368206265747765656e204164647265737320616e6420746f6b60008201527f656e20636f756e74000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f4e6f7420656e6f75676820746f6b656e7320746f2061697264726f7000000000600082015250565b7f536166654d6174683a206164646974696f6e206f766572666c6f770000000000600082015250565b7f5472616e7366657220616d6f756e74206578636565647320746865206d61785460008201527f78416d6f756e742e000000000000000000000000000000000000000000000000602082015250565b7f536166654d6174683a206d756c7469706c69636174696f6e206f766572666c6f60008201527f7700000000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f42455032303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b612fc081612afa565b8114612fcb57600080fd5b50565b612fd781612b38565b8114612fe257600080fd5b5056fe45524332303a207472616e7366657220616d6f756e74206578636565647320616c6c6f77616e636542455032303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365a2646970667358221220f91fe2eb082010f2831cb1f65d61e808a1c9fefe760a6e9b6e07ad45851d847e64736f6c63430008040033