60806040523480156200001157600080fd5b5060405162003573380380620035738339818101604052810190620000379190620004e7565b80888881600290816200004b91906200084e565b5080600390816200005d91906200084e565b506200006e620001b360201b60201c565b60008190555062000084620001b360201b60201c565b62000094620001bc60201b60201c565b1015620000b457620000b363fed8210f60e01b620001e460201b60201c565b5b5050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036200012b5760006040517f1e4fbdf700000000000000000000000000000000000000000000000000000000815260040162000122919062000946565b60405180910390fd5b6200013c81620001ee60201b60201c565b5085600a8190555084600b8190555083600c8190555082600d90816200016391906200084e565b5081600e60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050505050505062000963565b60006001905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b8060005260046000fd5b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6000604051905090565b600080fd5b600080fd5b600080fd5b600080fd5b6000601f19601f8301169050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6200031d82620002d2565b810181811067ffffffffffffffff821117156200033f576200033e620002e3565b5b80604052505050565b600062000354620002b4565b905062000362828262000312565b919050565b600067ffffffffffffffff821115620003855762000384620002e3565b5b6200039082620002d2565b9050602081019050919050565b60005b83811015620003bd578082015181840152602081019050620003a0565b60008484015250505050565b6000620003e0620003da8462000367565b62000348565b905082815260208101848484011115620003ff57620003fe620002cd565b5b6200040c8482856200039d565b509392505050565b600082601f8301126200042c576200042b620002c8565b5b81516200043e848260208601620003c9565b91505092915050565b6000819050919050565b6200045c8162000447565b81146200046857600080fd5b50565b6000815190506200047c8162000451565b92915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000620004af8262000482565b9050919050565b620004c181620004a2565b8114620004cd57600080fd5b50565b600081519050620004e181620004b6565b92915050565b600080600080600080600080610100898b0312156200050b576200050a620002be565b5b600089015167ffffffffffffffff8111156200052c576200052b620002c3565b5b6200053a8b828c0162000414565b985050602089015167ffffffffffffffff8111156200055e576200055d620002c3565b5b6200056c8b828c0162000414565b97505060406200057f8b828c016200046b565b9650506060620005928b828c016200046b565b9550506080620005a58b828c016200046b565b94505060a089015167ffffffffffffffff811115620005c957620005c8620002c3565b5b620005d78b828c0162000414565b93505060c0620005ea8b828c01620004d0565b92505060e0620005fd8b828c01620004d0565b9150509295985092959890939650565b600081519050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b600060028204905060018216806200066057607f821691505b60208210810362000676576200067562000618565b5b50919050565b60008190508160005260206000209050919050565b60006020601f8301049050919050565b600082821b905092915050565b600060088302620006e07fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82620006a1565b620006ec8683620006a1565b95508019841693508086168417925050509392505050565b6000819050919050565b60006200072f62000729620007238462000447565b62000704565b62000447565b9050919050565b6000819050919050565b6200074b836200070e565b620007636200075a8262000736565b848454620006ae565b825550505050565b600090565b6200077a6200076b565b6200078781848462000740565b505050565b5b81811015620007af57620007a360008262000770565b6001810190506200078d565b5050565b601f821115620007fe57620007c8816200067c565b620007d38462000691565b81016020851015620007e3578190505b620007fb620007f28562000691565b8301826200078c565b50505b505050565b600082821c905092915050565b6000620008236000198460080262000803565b1980831691505092915050565b60006200083e838362000810565b9150826002028217905092915050565b62000859826200060d565b67ffffffffffffffff811115620008755762000874620002e3565b5b62000881825462000647565b6200088e828285620007b3565b600060209050601f831160018114620008c65760008415620008b1578287015190505b620008bd858262000830565b8655506200092d565b601f198416620008d6866200067c565b60005b828110156200090057848901518255600182019150602085019450602081019050620008d9565b868310156200092057848901516200091c601f89168262000810565b8355505b6001600288020188555050505b505050505050565b6200094081620004a2565b82525050565b60006020820190506200095d600083018462000935565b92915050565b612c0080620009736000396000f3fe6080604052600436106101665760003560e01c806370a08231116100d1578063a0712d681161008a578063b88d4fde11610064578063b88d4fde146104d0578063c87b56dd146104ec578063e985e9c514610529578063f2fde38b1461056657610166565b8063a0712d6814610460578063a22cb4651461047c578063b0e21e8a146104a557610166565b806370a0823114610362578063715018a61461039f578063729ad39e146103b65780638da5cb5b146103df57806395d89b411461040a578063a035b1fe1461043557610166565b806323b872dd1161012357806323b872dd146102825780633ccfd60b1461029e57806342842e0e146102b5578063449a52f8146102d15780636352211e146102fa5780636c0360eb1461033757610166565b806301ffc9a71461016b578063047fc9aa146101a857806306fdde03146101d3578063081812fc146101fe578063095ea7b31461023b57806318160ddd14610257575b600080fd5b34801561017757600080fd5b50610192600480360381019061018d9190611ebb565b61058f565b60405161019f9190611f03565b60405180910390f35b3480156101b457600080fd5b506101bd610621565b6040516101ca9190611f37565b60405180910390f35b3480156101df57600080fd5b506101e8610627565b6040516101f59190611fe2565b60405180910390f35b34801561020a57600080fd5b5061022560048036038101906102209190612030565b6106b9565b604051610232919061209e565b60405180910390f35b610255600480360381019061025091906120e5565b610717565b005b34801561026357600080fd5b5061026c610727565b6040516102799190611f37565b60405180910390f35b61029c60048036038101906102979190612125565b610774565b005b3480156102aa57600080fd5b506102b3610a35565b005b6102cf60048036038101906102ca9190612125565b610b3c565b005b3480156102dd57600080fd5b506102f860048036038101906102f391906120e5565b610b5c565b005b34801561030657600080fd5b50610321600480360381019061031c9190612030565b610bc9565b60405161032e919061209e565b60405180910390f35b34801561034357600080fd5b5061034c610bdb565b6040516103599190611fe2565b60405180910390f35b34801561036e57600080fd5b5061038960048036038101906103849190612178565b610c69565b6040516103969190611f37565b60405180910390f35b3480156103ab57600080fd5b506103b4610d00565b005b3480156103c257600080fd5b506103dd60048036038101906103d891906122ed565b610d14565b005b3480156103eb57600080fd5b506103f4610dbc565b604051610401919061209e565b60405180910390f35b34801561041657600080fd5b5061041f610de6565b60405161042c9190611fe2565b60405180910390f35b34801561044157600080fd5b5061044a610e78565b6040516104579190611f37565b60405180910390f35b61047a60048036038101906104759190612030565b610e7e565b005b34801561048857600080fd5b506104a3600480360381019061049e9190612362565b611010565b005b3480156104b157600080fd5b506104ba61111b565b6040516104c79190611f37565b60405180910390f35b6104ea60048036038101906104e59190612457565b611121565b005b3480156104f857600080fd5b50610513600480360381019061050e9190612030565b611173565b6040516105209190611fe2565b60405180910390f35b34801561053557600080fd5b50610550600480360381019061054b91906124da565b6111f0565b60405161055d9190611f03565b60405180910390f35b34801561057257600080fd5b5061058d60048036038101906105889190612178565b611284565b005b60006301ffc9a760e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614806105ea57506380ac58cd60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b8061061a5750635b5e139f60e01b827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b9050919050565b600b5481565b60606002805461063690612549565b80601f016020809104026020016040519081016040528092919081815260200182805461066290612549565b80156106af5780601f10610684576101008083540402835291602001916106af565b820191906000526020600020905b81548152906001019060200180831161069257829003601f168201915b5050505050905090565b60006106c48261130a565b6106d9576106d863cf4700e460e01b6113b6565b5b6006600083815260200190815260200160002060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b610723828260016113c0565b5050565b60006107316114ef565b600154600054030390507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff6107646114f8565b1461077157600854810190505b90565b600061077f82611520565b905073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161693508373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146107f4576107f363a114810060e01b6113b6565b5b60008061080084611639565b915091506108168187610811611660565b611668565b6108415761082b86610826611660565b6111f0565b6108405761083f6359c896be60e01b6113b6565b5b5b61084e86868660016116ac565b801561085957600082555b600560008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600081546001900391905081905550600560008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000815460010191905081905550610927856109038888876116b2565b7c0200000000000000000000000000000000000000000000000000000000176116da565b600460008681526020019081526020016000208190555060007c02000000000000000000000000000000000000000000000000000000008416036109ad57600060018501905060006004600083815260200190815260200160002054036109ab5760005481146109aa578360046000838152602001908152602001600020819055505b5b505b600073ffffffffffffffffffffffffffffffffffffffff8673ffffffffffffffffffffffffffffffffffffffff161690508481887fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a460008103610a1f57610a1e63ea553b3460e01b6113b6565b5b610a2c8787876001611705565b50505050505050565b610a3d61170b565b600047905060008111610a85576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7c906125c6565b60405180910390fd5b6000610a8f610dbc565b73ffffffffffffffffffffffffffffffffffffffff1682604051610ab290612617565b60006040518083038185875af1925050503d8060008114610aef576040519150601f19603f3d011682016040523d82523d6000602084013e610af4565b606091505b5050905080610b38576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b2f90612678565b60405180910390fd5b5050565b610b5783838360405180602001604052806000815250611121565b505050565b610b6461170b565b600b5481610b70610727565b610b7a91906126c7565b1115610bbb576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bb29061276d565b60405180910390fd5b610bc58282611792565b5050565b6000610bd482611520565b9050919050565b600d8054610be890612549565b80601f0160208091040260200160405190810160405280929190818152602001828054610c1490612549565b8015610c615780601f10610c3657610100808354040283529160200191610c61565b820191906000526020600020905b815481529060010190602001808311610c4457829003601f168201915b505050505081565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1603610caf57610cae638f4eb60460e01b6113b6565b5b67ffffffffffffffff600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054169050919050565b610d0861170b565b610d126000611918565b565b610d1c61170b565b600b548151610d29610727565b610d3391906126c7565b1115610d74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d6b9061276d565b60405180910390fd5b60005b8151811015610db857610da5828281518110610d9657610d9561278d565b5b60200260200101516001611792565b8080610db0906127bc565b915050610d77565b5050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060038054610df590612549565b80601f0160208091040260200160405190810160405280929190818152602001828054610e2190612549565b8015610e6e5780601f10610e4357610100808354040283529160200191610e6e565b820191906000526020600020905b815481529060010190602001808311610e5157829003601f168201915b5050505050905090565b600a5481565b600b5481610e8a610727565b610e9491906126c7565b1115610ed5576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ecc9061276d565b60405180910390fd5b34600c5482600a54610ee79190612804565b610ef191906126c7565b1115610f32576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610f29906128b8565b60405180910390fd5b610f3c3382611792565b6000600e60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16600c54604051610f8690612617565b60006040518083038185875af1925050503d8060008114610fc3576040519150601f19603f3d011682016040523d82523d6000602084013e610fc8565b606091505b505090508061100c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161100390612924565b60405180910390fd5b5050565b806007600061101d611660565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff166110ca611660565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c318360405161110f9190611f03565b60405180910390a35050565b600c5481565b61112c848484610774565b60008373ffffffffffffffffffffffffffffffffffffffff163b1461116d57611157848484846119de565b61116c5761116b63d1a57ed660e01b6113b6565b5b5b50505050565b606061117e8261130a565b6111935761119263a14c4b5060e01b6113b6565b5b600061119d611b0d565b905060008151036111bd57604051806020016040528060008152506111e8565b806111c784611b57565b6040516020016111d8929190612980565b6040516020818303038152906040525b915050919050565b6000600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b61128c61170b565b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16036112fe5760006040517f1e4fbdf70000000000000000000000000000000000000000000000000000000081526004016112f5919061209e565b60405180910390fd5b61130781611918565b50565b6000816113156114ef565b116113b0576113226114f8565b82111561134c576113456004600084815260200190815260200160002054611ba7565b90506113b1565b6000548210156113af5760005b60006004600085815260200190815260200160002054915081036113885782611381906129a4565b9250611359565b60007c01000000000000000000000000000000000000000000000000000000008216149150505b5b5b919050565b8060005260046000fd5b60006113cb83610bc9565b905081801561140d57508073ffffffffffffffffffffffffffffffffffffffff166113f4611660565b73ffffffffffffffffffffffffffffffffffffffff1614155b15611439576114238161141e611660565b6111f0565b6114385761143763cfb3b94260e01b6113b6565b5b5b836006600085815260200190815260200160002060000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550828473ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a450505050565b60006001905090565b60007fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff905090565b60008161152b6114ef565b11611623576004600083815260200190815260200160002054905061154e6114f8565b8211156115735761155e81611ba7565b6116345761157263df2d9b4260e01b6113b6565b5b600081036115fa5760005482106115955761159463df2d9b4260e01b6113b6565b5b5b600460008360019003935083815260200190815260200160002054905060008103156115f55760007c010000000000000000000000000000000000000000000000000000000082160315611634576115f463df2d9b4260e01b6113b6565b5b611596565b60007c010000000000000000000000000000000000000000000000000000000082160315611634575b61163363df2d9b4260e01b6113b6565b5b919050565b60008060006006600085815260200190815260200160002090508092508254915050915091565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff8316925073ffffffffffffffffffffffffffffffffffffffff821691508382148383141790509392505050565b50505050565b60008060e883901c905060e86116c9868684611be8565b62ffffff16901b9150509392505050565b600073ffffffffffffffffffffffffffffffffffffffff83169250814260a01b178317905092915050565b50505050565b611713611bf1565b73ffffffffffffffffffffffffffffffffffffffff16611731610dbc565b73ffffffffffffffffffffffffffffffffffffffff161461179057611754611bf1565b6040517f118cdaa7000000000000000000000000000000000000000000000000000000008152600401611787919061209e565b60405180910390fd5b565b600080549050600082036117b1576117b063b562e8dd60e01b6113b6565b5b6117be60008483856116ac565b6117de836117cf60008660006116b2565b6117d885611bf9565b176116da565b6004600083815260200190815260200160002081905550600160406001901b178202600560008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282540192505081905550600073ffffffffffffffffffffffffffffffffffffffff8473ffffffffffffffffffffffffffffffffffffffff161690506000810361189657611895632e07630060e01b6113b6565b5b6000838301905060008390506118aa6114f8565b6001830311156118c5576118c46381647e3a60e01b6113b6565b5b5b808360007fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef600080a48181600101915081036118c657816000819055505050506119136000848385611705565b505050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611a04611660565b8786866040518563ffffffff1660e01b8152600401611a269493929190612a22565b6020604051808303816000875af1925050508015611a6257506040513d601f19601f82011682018060405250810190611a5f9190612a83565b60015b611aba573d8060008114611a92576040519150601f19603f3d011682016040523d82523d6000602084013e611a97565b606091505b506000815103611ab257611ab163d1a57ed660e01b6113b6565b5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050949350505050565b6060600d611b323073ffffffffffffffffffffffffffffffffffffffff166014611c09565b604051602001611b43929190612b6e565b604051602081830303815290604052905090565b606060a060405101806040526020810391506000825281835b600115611b9257600184039350600a81066030018453600a8104905080611b70575b50828103602084039350808452505050919050565b60007c0100000000000000000000000000000000000000000000000000000000821673ffffffffffffffffffffffffffffffffffffffff8316119050919050565b60009392505050565b600033905090565b60006001821460e11b9050919050565b6060600083905060006002846002611c219190612804565b611c2b91906126c7565b67ffffffffffffffff811115611c4457611c436121aa565b5b6040519080825280601f01601f191660200182016040528015611c765781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611cae57611cad61278d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611d1257611d1161278d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a90535060006001856002611d529190612804565b611d5c91906126c7565b90505b6001811115611dfc577f3031323334353637383961626364656600000000000000000000000000000000600f841660108110611d9e57611d9d61278d565b5b1a60f81b828281518110611db557611db461278d565b5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600483901c925080611df5906129a4565b9050611d5f565b5060008214611e445784846040517fe22e27eb000000000000000000000000000000000000000000000000000000008152600401611e3b929190612ba1565b60405180910390fd5b809250505092915050565b6000604051905090565b600080fd5b600080fd5b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b611e9881611e63565b8114611ea357600080fd5b50565b600081359050611eb581611e8f565b92915050565b600060208284031215611ed157611ed0611e59565b5b6000611edf84828501611ea6565b91505092915050565b60008115159050919050565b611efd81611ee8565b82525050565b6000602082019050611f186000830184611ef4565b92915050565b6000819050919050565b611f3181611f1e565b82525050565b6000602082019050611f4c6000830184611f28565b92915050565b600081519050919050565b600082825260208201905092915050565b60005b83811015611f8c578082015181840152602081019050611f71565b60008484015250505050565b6000601f19601f8301169050919050565b6000611fb482611f52565b611fbe8185611f5d565b9350611fce818560208601611f6e565b611fd781611f98565b840191505092915050565b60006020820190508181036000830152611ffc8184611fa9565b905092915050565b61200d81611f1e565b811461201857600080fd5b50565b60008135905061202a81612004565b92915050565b60006020828403121561204657612045611e59565b5b60006120548482850161201b565b91505092915050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b60006120888261205d565b9050919050565b6120988161207d565b82525050565b60006020820190506120b3600083018461208f565b92915050565b6120c28161207d565b81146120cd57600080fd5b50565b6000813590506120df816120b9565b92915050565b600080604083850312156120fc576120fb611e59565b5b600061210a858286016120d0565b925050602061211b8582860161201b565b9150509250929050565b60008060006060848603121561213e5761213d611e59565b5b600061214c868287016120d0565b935050602061215d868287016120d0565b925050604061216e8682870161201b565b9150509250925092565b60006020828403121561218e5761218d611e59565b5b600061219c848285016120d0565b91505092915050565b600080fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6121e282611f98565b810181811067ffffffffffffffff82111715612201576122006121aa565b5b80604052505050565b6000612214611e4f565b905061222082826121d9565b919050565b600067ffffffffffffffff8211156122405761223f6121aa565b5b602082029050602081019050919050565b600080fd5b600061226961226484612225565b61220a565b9050808382526020820190506020840283018581111561228c5761228b612251565b5b835b818110156122b557806122a188826120d0565b84526020840193505060208101905061228e565b5050509392505050565b600082601f8301126122d4576122d36121a5565b5b81356122e4848260208601612256565b91505092915050565b60006020828403121561230357612302611e59565b5b600082013567ffffffffffffffff81111561232157612320611e5e565b5b61232d848285016122bf565b91505092915050565b61233f81611ee8565b811461234a57600080fd5b50565b60008135905061235c81612336565b92915050565b6000806040838503121561237957612378611e59565b5b6000612387858286016120d0565b92505060206123988582860161234d565b9150509250929050565b600080fd5b600067ffffffffffffffff8211156123c2576123c16121aa565b5b6123cb82611f98565b9050602081019050919050565b82818337600083830152505050565b60006123fa6123f5846123a7565b61220a565b905082815260208101848484011115612416576124156123a2565b5b6124218482856123d8565b509392505050565b600082601f83011261243e5761243d6121a5565b5b813561244e8482602086016123e7565b91505092915050565b6000806000806080858703121561247157612470611e59565b5b600061247f878288016120d0565b9450506020612490878288016120d0565b93505060406124a18782880161201b565b925050606085013567ffffffffffffffff8111156124c2576124c1611e5e565b5b6124ce87828801612429565b91505092959194509250565b600080604083850312156124f1576124f0611e59565b5b60006124ff858286016120d0565b9250506020612510858286016120d0565b9150509250929050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000600282049050600182168061256157607f821691505b6020821081036125745761257361251a565b5b50919050565b7f496e73756666696369656e742062616c616e6365000000000000000000000000600082015250565b60006125b0601483611f5d565b91506125bb8261257a565b602082019050919050565b600060208201905081810360008301526125df816125a3565b9050919050565b600081905092915050565b50565b60006126016000836125e6565b915061260c826125f1565b600082019050919050565b6000612622826125f4565b9150819050919050565b7f5472616e73666572206661696c65640000000000000000000000000000000000600082015250565b6000612662600f83611f5d565b915061266d8261262c565b602082019050919050565b6000602082019050818103600083015261269181612655565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b60006126d282611f1e565b91506126dd83611f1e565b92508282019050808211156126f5576126f4612698565b5b92915050565b7f54686520726571756573746564206d696e74207175616e74697479206578636560008201527f6564732074686520737570706c79000000000000000000000000000000000000602082015250565b6000612757602e83611f5d565b9150612762826126fb565b604082019050919050565b600060208201905081810360008301526127868161274a565b9050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60006127c782611f1e565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff82036127f9576127f8612698565b5b600182019050919050565b600061280f82611f1e565b915061281a83611f1e565b925082820261282881611f1e565b9150828204841483151761283f5761283e612698565b5b5092915050565b7f4e6f7420656e6f7567682076616c756520666f72206d696e74207472616e736160008201527f6374696f6e000000000000000000000000000000000000000000000000000000602082015250565b60006128a2602583611f5d565b91506128ad82612846565b604082019050919050565b600060208201905081810360008301526128d181612895565b9050919050565b7f50726f746f636f6c20666565207472616e73666572206661696c656400000000600082015250565b600061290e601c83611f5d565b9150612919826128d8565b602082019050919050565b6000602082019050818103600083015261293d81612901565b9050919050565b600081905092915050565b600061295a82611f52565b6129648185612944565b9350612974818560208601611f6e565b80840191505092915050565b600061298c828561294f565b9150612998828461294f565b91508190509392505050565b60006129af82611f1e565b9150600082036129c2576129c1612698565b5b600182039050919050565b600081519050919050565b600082825260208201905092915050565b60006129f4826129cd565b6129fe81856129d8565b9350612a0e818560208601611f6e565b612a1781611f98565b840191505092915050565b6000608082019050612a37600083018761208f565b612a44602083018661208f565b612a516040830185611f28565b8181036060830152612a6381846129e9565b905095945050505050565b600081519050612a7d81611e8f565b92915050565b600060208284031215612a9957612a98611e59565b5b6000612aa784828501612a6e565b91505092915050565b60008190508160005260206000209050919050565b60008154612ad281612549565b612adc8186612944565b94506001821660008114612af75760018114612b0c57612b3f565b60ff1983168652811515820286019350612b3f565b612b1585612ab0565b60005b83811015612b3757815481890152600182019150602081019050612b18565b838801955050505b50505092915050565b7f2f00000000000000000000000000000000000000000000000000000000000000815250565b6000612b7a8285612ac5565b9150612b86828461294f565b9150612b9182612b48565b6001820191508190509392505050565b6000604082019050612bb66000830185611f28565b612bc36020830184611f28565b939250505056fea26469706673582212201cc506d70248f923c759af3e58c1042f296ac46b51c4d88fdabd02303981bc5c64736f6c63430008140033000000000000000000000000000000000000000000000000000000000000010000000000000000000000000000000000000000000000000000000000000001600000000000000000000000000000000000000000000000000000048c2739500000000000000000000000000000000000000000000000000000000000000003e800000000000000000000000000000000000000000000000000005af3107a400000000000000000000000000000000000000000000000000000000000000001a00000000000000000000000005d279ef4d8ea23f7d2f08095485286fee9fa838d000000000000000000000000d25be75de73b270c5243170f85dd12090d10458e00000000000000000000000000000000000000000000000000000000000000254d696e74205075626c6963204d61696e6e657420436f6d6d656d6f726174697665204e465400000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000044d50434e00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000003568747470733a2f2f6170692d6c61756e63687061642e6f6d6e696875622e78797a2f6170692f6d657461646174612f63796265722f0000000000000000000000