60806040523480156200001157600080fd5b506040518060400160405280601081526020017f4368696e6573655a6f646961634e4654000000000000000000000000000000008152506040518060400160405280600581526020017f435a4e4654000000000000000000000000000000000000000000000000000000815250816000908051906020019062000096929190620001a6565b508060019080519060200190620000af929190620001a6565b505050620000d2620000c6620000d860201b60201c565b620000e060201b60201c565b620002bb565b600033905090565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b828054620001b49062000256565b90600052602060002090601f016020900481019282620001d8576000855562000224565b82601f10620001f357805160ff191683800117855562000224565b8280016001018555821562000224579182015b828111156200022357825182559160200191906001019062000206565b5b50905062000233919062000237565b5090565b5b808211156200025257600081600090555060010162000238565b5090565b600060028204905060018216806200026f57607f821691505b602082108114156200028657620002856200028c565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b613b4380620002cb6000396000f3fe608060405234801561001057600080fd5b50600436106101425760003560e01c80636352211e116100b8578063a22cb4651161007c578063a22cb46514610375578063b88d4fde14610391578063c87b56dd146103ad578063d3fc9864146103dd578063e985e9c5146103f9578063f2fde38b1461042957610142565b80636352211e146102cf57806370a08231146102ff578063715018a61461032f5780638da5cb5b1461033957806395d89b411461035757610142565b806323b872dd1161010a57806323b872dd146101ff5780632f745c591461021b57806342842e0e1461024b57806342966c68146102675780634f6ccce71461028357806355f804b3146102b357610142565b806301ffc9a71461014757806306fdde0314610177578063081812fc14610195578063095ea7b3146101c557806318160ddd146101e1575b600080fd5b610161600480360381019061015c9190612921565b610445565b60405161016e9190612e17565b60405180910390f35b61017f610457565b60405161018c9190612e32565b60405180910390f35b6101af60048036038101906101aa91906129b4565b6104e9565b6040516101bc9190612db0565b60405180910390f35b6101df60048036038101906101da919061287e565b61056e565b005b6101e9610686565b6040516101f691906130f4565b60405180910390f35b61021960048036038101906102149190612778565b610693565b005b6102356004803603810190610230919061287e565b6106f3565b60405161024291906130f4565b60405180910390f35b61026560048036038101906102609190612778565b610798565b005b610281600480360381019061027c91906129b4565b6107b8565b005b61029d600480360381019061029891906129b4565b610814565b6040516102aa91906130f4565b60405180910390f35b6102cd60048036038101906102c89190612973565b6108ab565b005b6102e960048036038101906102e491906129b4565b610941565b6040516102f69190612db0565b60405180910390f35b61031960048036038101906103149190612713565b6109f3565b60405161032691906130f4565b60405180910390f35b610337610aab565b005b610341610b33565b60405161034e9190612db0565b60405180910390f35b61035f610b5d565b60405161036c9190612e32565b60405180910390f35b61038f600480360381019061038a9190612842565b610bef565b005b6103ab60048036038101906103a691906127c7565b610d70565b005b6103c760048036038101906103c291906129b4565b610dd2565b6040516103d49190612e32565b60405180910390f35b6103f760048036038101906103f291906128ba565b610f45565b005b610413600480360381019061040e919061273c565b610f5e565b6040516104209190612e17565b60405180910390f35b610443600480360381019061043e9190612713565b610ff2565b005b6000610450826110ea565b9050919050565b6060600080546104669061334a565b80601f01602080910402602001604051908101604052809291908181526020018280546104929061334a565b80156104df5780601f106104b4576101008083540402835291602001916104df565b820191906000526020600020905b8154815290600101906020018083116104c257829003601f168201915b5050505050905090565b60006104f482611164565b610533576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161052a90612fd4565b60405180910390fd5b6004600083815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b600061057982610941565b90508073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156105ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105e190613074565b60405180910390fd5b8073ffffffffffffffffffffffffffffffffffffffff166106096111d0565b73ffffffffffffffffffffffffffffffffffffffff1614806106385750610637816106326111d0565b610f5e565b5b610677576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161066e90612f54565b60405180910390fd5b61068183836111d8565b505050565b6000600880549050905090565b6106a461069e6111d0565b82611291565b6106e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106da90613094565b60405180910390fd5b6106ee83838361136f565b505050565b60006106fe836109f3565b821061073f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161073690612e74565b60405180910390fd5b600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002054905092915050565b6107b383838360405180602001604052806000815250610d70565b505050565b6107c96107c36111d0565b82611291565b610808576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107ff906130d4565b60405180910390fd5b610811816115cb565b50565b600061081e610686565b821061085f576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610856906130b4565b60405180910390fd5b60088281548110610899577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001549050919050565b6108b36111d0565b73ffffffffffffffffffffffffffffffffffffffff166108d1610b33565b73ffffffffffffffffffffffffffffffffffffffff1614610927576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161091e90613014565b60405180910390fd5b80600d908051906020019061093d9291906124f7565b5050565b6000806002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156109ea576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109e190612f94565b60405180910390fd5b80915050919050565b60008073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610a64576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a5b90612f74565b60405180910390fd5b600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b610ab36111d0565b73ffffffffffffffffffffffffffffffffffffffff16610ad1610b33565b73ffffffffffffffffffffffffffffffffffffffff1614610b27576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b1e90613014565b60405180910390fd5b610b3160006115d7565b565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b606060018054610b6c9061334a565b80601f0160208091040260200160405190810160405280929190818152602001828054610b989061334a565b8015610be55780601f10610bba57610100808354040283529160200191610be5565b820191906000526020600020905b815481529060010190602001808311610bc857829003601f168201915b5050505050905090565b610bf76111d0565b73ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610c65576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c5c90612f14565b60405180910390fd5b8060056000610c726111d0565b73ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055508173ffffffffffffffffffffffffffffffffffffffff16610d1f6111d0565b73ffffffffffffffffffffffffffffffffffffffff167f17307eab39ab6107e8899845ad3d59bd9653f200f220920489ca2b5937696c3183604051610d649190612e17565b60405180910390a35050565b610d81610d7b6111d0565b83611291565b610dc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610db790613094565b60405180910390fd5b610dcc8484848461169d565b50505050565b6060610ddd82611164565b610e1c576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e1390613054565b60405180910390fd5b6000600c60008481526020019081526020016000208054610e3c9061334a565b80601f0160208091040260200160405190810160405280929190818152602001828054610e689061334a565b8015610eb55780601f10610e8a57610100808354040283529160200191610eb5565b820191906000526020600020905b815481529060010190602001808311610e9857829003601f168201915b505050505090506000610ec66116f9565b9050600081511415610edc578192505050610f40565b600082511115610f11578082604051602001610ef9929190612d8c565b60405160208183030381529060405292505050610f40565b80610f1b8561178b565b604051602001610f2c929190612d8c565b604051602081830303815290604052925050505b919050565b610f4f8383611938565b610f598282611b88565b505050565b6000600560008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b610ffa6111d0565b73ffffffffffffffffffffffffffffffffffffffff16611018610b33565b73ffffffffffffffffffffffffffffffffffffffff161461106e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161106590613014565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614156110de576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016110d590612eb4565b60405180910390fd5b6110e7816115d7565b50565b60007f780e9d63000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061115d575061115c82611bfc565b5b9050919050565b60008073ffffffffffffffffffffffffffffffffffffffff166002600084815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614159050919050565b600033905090565b816004600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff1661124b83610941565b73ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92560405160405180910390a45050565b600061129c82611164565b6112db576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016112d290612f34565b60405180910390fd5b60006112e683610941565b90508073ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff16148061135557508373ffffffffffffffffffffffffffffffffffffffff1661133d846104e9565b73ffffffffffffffffffffffffffffffffffffffff16145b8061136657506113658185610f5e565b5b91505092915050565b8273ffffffffffffffffffffffffffffffffffffffff1661138f82610941565b73ffffffffffffffffffffffffffffffffffffffff16146113e5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113dc90613034565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415611455576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161144c90612ef4565b60405180910390fd5b611460838383611cde565b61146b6000826111d8565b6001600360008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546114bb9190613260565b925050819055506001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600082825461151291906131d9565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a4505050565b6115d481611cee565b50565b6000600b60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600b60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6116a884848461136f565b6116b484848484611d41565b6116f3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016116ea90612e94565b60405180910390fd5b50505050565b6060600d80546117089061334a565b80601f01602080910402602001604051908101604052809291908181526020018280546117349061334a565b80156117815780601f1061175657610100808354040283529160200191611781565b820191906000526020600020905b81548152906001019060200180831161176457829003601f168201915b5050505050905090565b606060008214156117d3576040518060400160405280600181526020017f30000000000000000000000000000000000000000000000000000000000000008152509050611933565b600082905060005b600082146118055780806117ee906133ad565b915050600a826117fe919061322f565b91506117db565b60008167ffffffffffffffff811115611847577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f1916602001820160405280156118795781602001600182028036833780820191505090505b5090505b6000851461192c576001826118929190613260565b9150600a856118a191906133f6565b60306118ad91906131d9565b60f81b8183815181106118e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600a85611925919061322f565b945061187d565b8093505050505b919050565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156119a8576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161199f90612fb4565b60405180910390fd5b6119b181611164565b156119f1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016119e890612ed4565b60405180910390fd5b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000205410611a73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611a6a90612e54565b60405180910390fd5b611a7f60008383611cde565b6001600360008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254611acf91906131d9565b92505081905550816002600083815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550808273ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b611b9182611164565b611bd0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611bc790612ff4565b60405180910390fd5b80600c60008481526020019081526020016000209080519060200190611bf79291906124f7565b505050565b60007f80ac58cd000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480611cc757507f5b5e139f000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916145b80611cd75750611cd682611ed8565b5b9050919050565b611ce9838383611f42565b505050565b611cf781612056565b6000600a60008381526020019081526020016000208054611d179061334a565b905014611d3e57600a60008281526020019081526020016000206000611d3d919061257d565b5b50565b6000611d628473ffffffffffffffffffffffffffffffffffffffff16612167565b15611ecb578373ffffffffffffffffffffffffffffffffffffffff1663150b7a02611d8b6111d0565b8786866040518563ffffffff1660e01b8152600401611dad9493929190612dcb565b602060405180830381600087803b158015611dc757600080fd5b505af1925050508015611df857506040513d601f19601f82011682018060405250810190611df5919061294a565b60015b611e7b573d8060008114611e28576040519150601f19603f3d011682016040523d82523d6000602084013e611e2d565b606091505b50600081511415611e73576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e6a90612e94565b60405180910390fd5b805181602001fd5b63150b7a0260e01b7bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916817bffffffffffffffffffffffffffffffffffffffffffffffffffffffff191614915050611ed0565b600190505b949350505050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b611f4d83838361217a565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415611f9057611f8b8161217f565b611fcf565b8173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614611fce57611fcd83826121c8565b5b5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156120125761200d81612335565b612051565b8273ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16146120505761204f8282612478565b5b5b505050565b600061206182610941565b905061206f81600084611cde565b61207a6000836111d8565b6001600360008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546120ca9190613260565b925050819055506002600083815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff021916905581600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef60405160405180910390a45050565b600080823b905060008111915050919050565b505050565b6008805490506009600083815260200190815260200160002081905550600881908060018154018082558091505060019003906000526020600020016000909190919091505550565b600060016121d5846109f3565b6121df9190613260565b90506000600760008481526020019081526020016000205490508181146122c4576000600660008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002054905080600660008773ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600084815260200190815260200160002081905550816007600083815260200190815260200160002081905550505b6007600084815260200190815260200160002060009055600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008381526020019081526020016000206000905550505050565b600060016008805490506123499190613260565b905060006009600084815260200190815260200160002054905060006008838154811061239f577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b9060005260206000200154905080600883815481106123e7577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b90600052602060002001819055508160096000838152602001908152602001600020819055506009600085815260200190815260200160002060009055600880548061245c577f4e487b7100000000000000000000000000000000000000000000000000000000600052603160045260246000fd5b6001900381819060005260206000200160009055905550505050565b6000612483836109f3565b905081600660008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600083815260200190815260200160002081905550806007600084815260200190815260200160002081905550505050565b8280546125039061334a565b90600052602060002090601f016020900481019282612525576000855561256c565b82601f1061253e57805160ff191683800117855561256c565b8280016001018555821561256c579182015b8281111561256b578251825591602001919060010190612550565b5b50905061257991906125bd565b5090565b5080546125899061334a565b6000825580601f1061259b57506125ba565b601f0160209004906000526020600020908101906125b991906125bd565b5b50565b5b808211156125d65760008160009055506001016125be565b5090565b60006125ed6125e884613134565b61310f565b90508281526020810184848401111561260557600080fd5b612610848285613308565b509392505050565b600061262b61262684613165565b61310f565b90508281526020810184848401111561264357600080fd5b61264e848285613308565b509392505050565b60008135905061266581613ab1565b92915050565b60008135905061267a81613ac8565b92915050565b60008135905061268f81613adf565b92915050565b6000815190506126a481613adf565b92915050565b600082601f8301126126bb57600080fd5b81356126cb8482602086016125da565b91505092915050565b600082601f8301126126e557600080fd5b81356126f5848260208601612618565b91505092915050565b60008135905061270d81613af6565b92915050565b60006020828403121561272557600080fd5b600061273384828501612656565b91505092915050565b6000806040838503121561274f57600080fd5b600061275d85828601612656565b925050602061276e85828601612656565b9150509250929050565b60008060006060848603121561278d57600080fd5b600061279b86828701612656565b93505060206127ac86828701612656565b92505060406127bd868287016126fe565b9150509250925092565b600080600080608085870312156127dd57600080fd5b60006127eb87828801612656565b94505060206127fc87828801612656565b935050604061280d878288016126fe565b925050606085013567ffffffffffffffff81111561282a57600080fd5b612836878288016126aa565b91505092959194509250565b6000806040838503121561285557600080fd5b600061286385828601612656565b92505060206128748582860161266b565b9150509250929050565b6000806040838503121561289157600080fd5b600061289f85828601612656565b92505060206128b0858286016126fe565b9150509250929050565b6000806000606084860312156128cf57600080fd5b60006128dd86828701612656565b93505060206128ee868287016126fe565b925050604084013567ffffffffffffffff81111561290b57600080fd5b612917868287016126d4565b9150509250925092565b60006020828403121561293357600080fd5b600061294184828501612680565b91505092915050565b60006020828403121561295c57600080fd5b600061296a84828501612695565b91505092915050565b60006020828403121561298557600080fd5b600082013567ffffffffffffffff81111561299f57600080fd5b6129ab848285016126d4565b91505092915050565b6000602082840312156129c657600080fd5b60006129d4848285016126fe565b91505092915050565b6129e681613294565b82525050565b6129f5816132a6565b82525050565b6000612a0682613196565b612a1081856131ac565b9350612a20818560208601613317565b612a29816134e3565b840191505092915050565b6000612a3f826131a1565b612a4981856131bd565b9350612a59818560208601613317565b612a62816134e3565b840191505092915050565b6000612a78826131a1565b612a8281856131ce565b9350612a92818560208601613317565b80840191505092915050565b6000612aab6005836131bd565b9150612ab6826134f4565b602082019050919050565b6000612ace602b836131bd565b9150612ad98261351d565b604082019050919050565b6000612af16032836131bd565b9150612afc8261356c565b604082019050919050565b6000612b146026836131bd565b9150612b1f826135bb565b604082019050919050565b6000612b37601c836131bd565b9150612b428261360a565b602082019050919050565b6000612b5a6024836131bd565b9150612b6582613633565b604082019050919050565b6000612b7d6019836131bd565b9150612b8882613682565b602082019050919050565b6000612ba0602c836131bd565b9150612bab826136ab565b604082019050919050565b6000612bc36038836131bd565b9150612bce826136fa565b604082019050919050565b6000612be6602a836131bd565b9150612bf182613749565b604082019050919050565b6000612c096029836131bd565b9150612c1482613798565b604082019050919050565b6000612c2c6020836131bd565b9150612c37826137e7565b602082019050919050565b6000612c4f602c836131bd565b9150612c5a82613810565b604082019050919050565b6000612c72602c836131bd565b9150612c7d8261385f565b604082019050919050565b6000612c956020836131bd565b9150612ca0826138ae565b602082019050919050565b6000612cb86029836131bd565b9150612cc3826138d7565b604082019050919050565b6000612cdb602f836131bd565b9150612ce682613926565b604082019050919050565b6000612cfe6021836131bd565b9150612d0982613975565b604082019050919050565b6000612d216031836131bd565b9150612d2c826139c4565b604082019050919050565b6000612d44602c836131bd565b9150612d4f82613a13565b604082019050919050565b6000612d676030836131bd565b9150612d7282613a62565b604082019050919050565b612d86816132fe565b82525050565b6000612d988285612a6d565b9150612da48284612a6d565b91508190509392505050565b6000602082019050612dc560008301846129dd565b92915050565b6000608082019050612de060008301876129dd565b612ded60208301866129dd565b612dfa6040830185612d7d565b8181036060830152612e0c81846129fb565b905095945050505050565b6000602082019050612e2c60008301846129ec565b92915050565b60006020820190508181036000830152612e4c8184612a34565b905092915050565b60006020820190508181036000830152612e6d81612a9e565b9050919050565b60006020820190508181036000830152612e8d81612ac1565b9050919050565b60006020820190508181036000830152612ead81612ae4565b9050919050565b60006020820190508181036000830152612ecd81612b07565b9050919050565b60006020820190508181036000830152612eed81612b2a565b9050919050565b60006020820190508181036000830152612f0d81612b4d565b9050919050565b60006020820190508181036000830152612f2d81612b70565b9050919050565b60006020820190508181036000830152612f4d81612b93565b9050919050565b60006020820190508181036000830152612f6d81612bb6565b9050919050565b60006020820190508181036000830152612f8d81612bd9565b9050919050565b60006020820190508181036000830152612fad81612bfc565b9050919050565b60006020820190508181036000830152612fcd81612c1f565b9050919050565b60006020820190508181036000830152612fed81612c42565b9050919050565b6000602082019050818103600083015261300d81612c65565b9050919050565b6000602082019050818103600083015261302d81612c88565b9050919050565b6000602082019050818103600083015261304d81612cab565b9050919050565b6000602082019050818103600083015261306d81612cce565b9050919050565b6000602082019050818103600083015261308d81612cf1565b9050919050565b600060208201905081810360008301526130ad81612d14565b9050919050565b600060208201905081810360008301526130cd81612d37565b9050919050565b600060208201905081810360008301526130ed81612d5a565b9050919050565b60006020820190506131096000830184612d7d565b92915050565b600061311961312a565b9050613125828261337c565b919050565b6000604051905090565b600067ffffffffffffffff82111561314f5761314e6134b4565b5b613158826134e3565b9050602081019050919050565b600067ffffffffffffffff8211156131805761317f6134b4565b5b613189826134e3565b9050602081019050919050565b600081519050919050565b600081519050919050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b60006131e4826132fe565b91506131ef836132fe565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111561322457613223613427565b5b828201905092915050565b600061323a826132fe565b9150613245836132fe565b92508261325557613254613456565b5b828204905092915050565b600061326b826132fe565b9150613276836132fe565b92508282101561328957613288613427565b5b828203905092915050565b600061329f826132de565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b8381101561333557808201518184015260208101905061331a565b83811115613344576000848401525b50505050565b6000600282049050600182168061336257607f821691505b6020821081141561337657613375613485565b5b50919050565b613385826134e3565b810181811067ffffffffffffffff821117156133a4576133a36134b4565b5b80604052505050565b60006133b8826132fe565b91507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8214156133eb576133ea613427565b5b600182019050919050565b6000613401826132fe565b915061340c836132fe565b92508261341c5761341b613456565b5b828206905092915050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f6572726f72000000000000000000000000000000000000000000000000000000600082015250565b7f455243373231456e756d657261626c653a206f776e657220696e646578206f7560008201527f74206f6620626f756e6473000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e7366657220746f206e6f6e20455243373231526560008201527f63656976657220696d706c656d656e7465720000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20746f6b656e20616c7265616479206d696e74656400000000600082015250565b7f4552433732313a207472616e7366657220746f20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f766520746f2063616c6c657200000000000000600082015250565b7f4552433732313a206f70657261746f7220717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76652063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656420666f7220616c6c0000000000000000602082015250565b7f4552433732313a2062616c616e636520717565727920666f7220746865207a6560008201527f726f206164647265737300000000000000000000000000000000000000000000602082015250565b7f4552433732313a206f776e657220717565727920666f72206e6f6e657869737460008201527f656e7420746f6b656e0000000000000000000000000000000000000000000000602082015250565b7f4552433732313a206d696e7420746f20746865207a65726f2061646472657373600082015250565b7f4552433732313a20617070726f76656420717565727920666f72206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920736574206f66206e6f6e657860008201527f697374656e7420746f6b656e0000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f4552433732313a207472616e73666572206f6620746f6b656e2074686174206960008201527f73206e6f74206f776e0000000000000000000000000000000000000000000000602082015250565b7f4552433732314d657461646174613a2055524920717565727920666f72206e6f60008201527f6e6578697374656e7420746f6b656e0000000000000000000000000000000000602082015250565b7f4552433732313a20617070726f76616c20746f2063757272656e74206f776e6560008201527f7200000000000000000000000000000000000000000000000000000000000000602082015250565b7f4552433732313a207472616e736665722063616c6c6572206973206e6f74206f60008201527f776e6572206e6f7220617070726f766564000000000000000000000000000000602082015250565b7f455243373231456e756d657261626c653a20676c6f62616c20696e646578206f60008201527f7574206f6620626f756e64730000000000000000000000000000000000000000602082015250565b7f4552433732314275726e61626c653a2063616c6c6572206973206e6f74206f7760008201527f6e6572206e6f7220617070726f76656400000000000000000000000000000000602082015250565b613aba81613294565b8114613ac557600080fd5b50565b613ad1816132a6565b8114613adc57600080fd5b50565b613ae8816132b2565b8114613af357600080fd5b50565b613aff816132fe565b8114613b0a57600080fd5b5056fea26469706673582212203cc3dd37d948b7d8ccfc452f98a4ffa0ca11fbdbb19fba75e3917474cd10df0664736f6c63430008020033