Add support for the Wasm multi-value proposal
authorkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Oct 2019 16:38:26 +0000 (16:38 +0000)
committerkeith_miller@apple.com <keith_miller@apple.com@268f45cc-cd09-0410-ab3c-d52691b4dbfc>
Tue, 1 Oct 2019 16:38:26 +0000 (16:38 +0000)
https://bugs.webkit.org/show_bug.cgi?id=202250

Reviewed by Saam Barati.

JSTests:

This patch adds a new way to run stress tests via the .wat text
format. By attaching an asm.js compiled version of the wabt tool
we can easily create wat files programatically and convert them
into a wasm blob to compile. To make this easy there is a
wabt-wrapper.js module file that exports two useful functions that
correspond to WebAssembly.compile and WebAssembly.instantiate.

* wasm.yaml:
* wasm/function-tests/if-no-else-non-void.js:
* wasm/js-api/web-assembly-instantiate.js:
(assert.asyncTest.async.test):
(assert.asyncTest):
* wasm/libwabt.js: Added.
(WabtModule):
(set get if):
* wasm/references/func_ref.js:
* wasm/references/validation.js:
(assert.throws):
* wasm/spec-harness/index.js:
* wasm/spec-tests/block.wast.js:
* wasm/spec-tests/br.wast.js:
* wasm/spec-tests/br_if.wast.js:
* wasm/spec-tests/call.wast.js:
* wasm/spec-tests/call_indirect.wast.js:
* wasm/spec-tests/func.wast.js:
* wasm/spec-tests/if.wast.js:
* wasm/spec-tests/loop.wast.js:
* wasm/spec-tests/type.wast.js:
* wasm/stress/js-wasm-call-many-return-types-on-stack-no-args.js: Added.
(buildWat):
* wasm/stress/js-wasm-js-varying-arities.js: Added.
(paramForwarder):
* wasm/stress/wasm-js-call-many-return-types-on-stack-no-args.js: Added.
(buildWat):
* wasm/stress/wasm-js-multi-value-exception-in-iterator.js: Added.
(buildWat.throwError):
(buildWat.throwErrorInIterator):
(buildWat.tooManyValues):
(buildWat.tooFewValues):
(buildWat):
* wasm/stress/wasm-wasm-call-indirect-many-return-types-on-stack.js: Added.
(buildWat):
* wasm/stress/wasm-wasm-call-many-return-types-on-stack-no-args.js: Added.
(buildWat):
* wasm/wabt-wrapper.js: Added.
(export.compile):
* wasm/wast-tests/br-if-at-end-of-block.wasm: Added.
* wasm/wast-tests/br-if-at-end-of-block.wast: Added.
* wasm/wast-tests/harness.js:
(async.runWasmFile):
* wasm/wast-tests/single-param-loop-signature.wasm: Added.
* wasm/wast-tests/single-param-loop-signature.wast: Added.

Source/JavaScriptCore:

The wasm multi-value proposal makes two major changes to the
spec. The first is that functions may now return more than one
value across calls. When calling to/from JS, if there is more than
one return type we return/receive a JSArray/Iterable,
respectively. In the Wasm calls JS case, if the iteratable object
does not vend the exact number of objects expected by the
signature an error is thrown.

The second major change in the multi-value proposal allows blocks
to have any signature type. This works in a backwards compatible
way by exploiting the fact that the old value-type thunk signatures
(where the block takes no arguments and returns just the value
type i.e. [] -> [type]) were always encoded as a negative
number. If a block has a function signature, it is encoded as a
positive index into the type section. When a block has a function
signature type then the values from the enclosing stack are popped
off that stack and added to the new block's stack. In the case of
a br/br_if to a Loop block the "argument" values should be on the
brancher's stack.

The biggest change in this patch is stripping down the
WasmCallingConventions file into one simpler API that just tells
you where the each argument should be located. It also now handles
adding or subtracting sizeof(CallerFrameAndPC) depending on
whether you are caller or callee. Additionally, when computing
locations for the callee it returns a B3::ValueRep that has the
offsetFromFP rather than offsetFromSP. Since the code has been
cleaned up I tried to also reduce code duplication in the various
stubs for wasm code. This patch also removes the Air specific
calling convention code and moves that logic into the Air IR
generator.

Since blocks can now have arbitrary signatures the control entries
now use a const signature* rather than just the return
type. Additionally, what used to be the result phi is now the phis
for all the results for non-loop blocks and the arguments for a
loop block. Due to the control flow restrictions of wasm
conveniently we don't have to worry about generating non-optimal
SSA, thus we can just use phis directly rather than using a
variable.

Lastly, to help clean up some code in the IR generators new helper
methods were added to create call Patchpoints. These helpers do
most of the boiler-plate initialization.

* JavaScriptCore.xcodeproj/project.pbxproj:
* assembler/AbstractMacroAssembler.h:
(JSC::AbstractMacroAssembler::ImplicitAddress::ImplicitAddress):
* assembler/LinkBuffer.cpp:
(JSC::shouldDumpDisassemblyFor):
* assembler/LinkBuffer.h:
* assembler/MacroAssemblerARM64.h:
(JSC::MacroAssemblerARM64::callOperation):
* assembler/MacroAssemblerX86_64.h:
(JSC::MacroAssemblerX86_64::callOperation):
* b3/B3LowerToAir.cpp:
* b3/B3PatchpointSpecial.cpp:
(JSC::B3::PatchpointSpecial::forEachArg):
(JSC::B3::PatchpointSpecial::isValid):
(JSC::B3::PatchpointSpecial::admitsStack):
(JSC::B3::PatchpointSpecial::generate):
* b3/B3Procedure.h:
(JSC::B3::Procedure::resultCount const):
(JSC::B3::Procedure::typeAtOffset const):
(JSC::B3::Procedure::returnCount const): Deleted.
* b3/B3StackmapGenerationParams.cpp:
(JSC::B3::StackmapGenerationParams::code const):
* b3/B3StackmapGenerationParams.h:
* b3/B3ValueRep.h:
* b3/air/AirHelpers.h: Added.
(JSC::B3::Air::moveForType):
(JSC::B3::Air::relaxedMoveForType):
* jit/AssemblyHelpers.h:
(JSC::AssemblyHelpers::store64FromReg):
(JSC::AssemblyHelpers::store32FromReg):
(JSC::AssemblyHelpers::load64ToReg):
(JSC::AssemblyHelpers::load32ToReg):
* runtime/JSCConfig.h:
* runtime/OptionsList.h:
* tools/JSDollarVM.cpp:
* tools/VMInspector.cpp:
(JSC::VMInspector::dumpValue):
* wasm/WasmAirIRGenerator.cpp:
(JSC::Wasm::ConstrainedTmp::operator bool const):
(JSC::Wasm::TypedTmp::dump const):
(JSC::Wasm::AirIRGenerator::ControlData::ControlData):
(JSC::Wasm::AirIRGenerator::ControlData::dump const):
(JSC::Wasm::AirIRGenerator::ControlData::blockType const):
(JSC::Wasm::AirIRGenerator::ControlData::signature const):
(JSC::Wasm::AirIRGenerator::ControlData::targetBlockForBranch):
(JSC::Wasm::AirIRGenerator::ControlData::convertIfToBlock):
(JSC::Wasm::AirIRGenerator::addEndToUnreachable):
(JSC::Wasm::AirIRGenerator::emitCallPatchpoint):
(JSC::Wasm::AirIRGenerator::validateInst):
(JSC::Wasm::AirIRGenerator::tmpsForSignature):
(JSC::Wasm::AirIRGenerator::emitPatchpoint):
(JSC::Wasm::AirIRGenerator::AirIRGenerator):
(JSC::Wasm::AirIRGenerator::toB3ResultType):
(JSC::Wasm::AirIRGenerator::addBottom):
(JSC::Wasm::AirIRGenerator::emitLoopTierUpCheck):
(JSC::Wasm::AirIRGenerator::addTopLevel):
(JSC::Wasm::AirIRGenerator::addLoop):
(JSC::Wasm::AirIRGenerator::addBlock):
(JSC::Wasm::AirIRGenerator::addIf):
(JSC::Wasm::AirIRGenerator::addElse):
(JSC::Wasm::AirIRGenerator::addElseToUnreachable):
(JSC::Wasm::AirIRGenerator::addReturn):
(JSC::Wasm::AirIRGenerator::addBranch):
(JSC::Wasm::AirIRGenerator::addSwitch):
(JSC::Wasm::AirIRGenerator::endBlock):
(JSC::Wasm::AirIRGenerator::addCall):
(JSC::Wasm::AirIRGenerator::addCallIndirect):
(JSC::Wasm::dumpExpressionStack):
(JSC::Wasm::AirIRGenerator::dump):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncUF64>):
(JSC::Wasm::AirIRGenerator::addOp<OpType::I64TruncUF32>):
(JSC::Wasm::AirIRGenerator::ControlData::type const): Deleted.
(JSC::Wasm::AirIRGenerator::ControlData::hasNonVoidSignature const): Deleted.
(JSC::Wasm::AirIRGenerator::ControlData::resultForBranch const): Deleted.
* wasm/WasmB3IRGenerator.cpp:
(JSC::Wasm::B3IRGenerator::ControlData::ControlData):
(JSC::Wasm::B3IRGenerator::ControlData::dump const):
(JSC::Wasm::B3IRGenerator::ControlData::blockType const):
(JSC::Wasm::B3IRGenerator::ControlData::hasNonVoidresult const):
(JSC::Wasm::B3IRGenerator::ControlData::targetBlockForBranch):
(JSC::Wasm::B3IRGenerator::ControlData::convertIfToBlock):
(JSC::Wasm::B3IRGenerator::addEndToUnreachable):
(JSC::Wasm::B3IRGenerator::B3IRGenerator):
(JSC::Wasm::B3IRGenerator::framePointer):
(JSC::Wasm::B3IRGenerator::toB3ResultType):
(JSC::Wasm::B3IRGenerator::addArguments):
(JSC::Wasm::B3IRGenerator::addGrowMemory):
(JSC::Wasm::B3IRGenerator::addLoop):
(JSC::Wasm::B3IRGenerator::addTopLevel):
(JSC::Wasm::B3IRGenerator::addBlock):
(JSC::Wasm::B3IRGenerator::addIf):
(JSC::Wasm::B3IRGenerator::addElse):
(JSC::Wasm::B3IRGenerator::addElseToUnreachable):
(JSC::Wasm::B3IRGenerator::addReturn):
(JSC::Wasm::B3IRGenerator::addBranch):
(JSC::Wasm::B3IRGenerator::addSwitch):
(JSC::Wasm::B3IRGenerator::endBlock):
(JSC::Wasm::B3IRGenerator::createCallPatchpoint):
(JSC::Wasm::B3IRGenerator::addCall):
(JSC::Wasm::B3IRGenerator::addCallIndirect):
(JSC::Wasm::B3IRGenerator::ControlData::type const): Deleted.
(JSC::Wasm::B3IRGenerator::ControlData::hasNonVoidSignature const): Deleted.
(JSC::Wasm::B3IRGenerator::ControlData::resultForBranch const): Deleted.
(JSC::Wasm::B3IRGenerator::createStack): Deleted.
* wasm/WasmBBQPlan.cpp:
(JSC::Wasm::BBQPlan::didReceiveFunctionData):
(JSC::Wasm::BBQPlan::parseAndValidateModule):
(JSC::Wasm::BBQPlan::complete):
* wasm/WasmBBQPlan.h:
* wasm/WasmBinding.cpp:
(JSC::Wasm::wasmToWasm):
* wasm/WasmCallingConvention.cpp:
(JSC::Wasm::jsCallingConvention):
(JSC::Wasm::wasmCallingConvention):
(JSC::Wasm::jscCallingConvention): Deleted.
(JSC::Wasm::jscCallingConventionAir): Deleted.
(JSC::Wasm::wasmCallingConventionAir): Deleted.
* wasm/WasmCallingConvention.h:
(JSC::Wasm::CallInformation::CallInformation):
(JSC::Wasm::CallInformation::computeResultsOffsetList):
(JSC::Wasm::WasmCallingConvention::WasmCallingConvention):
(JSC::Wasm::WasmCallingConvention::marshallLocationImpl const):
(JSC::Wasm::WasmCallingConvention::marshallLocation const):
(JSC::Wasm::WasmCallingConvention::callInformationFor const):
(JSC::Wasm::JSCallingConvention::JSCallingConvention):
(JSC::Wasm::JSCallingConvention::marshallLocationImpl const):
(JSC::Wasm::JSCallingConvention::marshallLocation const):
(JSC::Wasm::JSCallingConvention::callInformationFor const):
(JSC::Wasm::CallingConvention::CallingConvention): Deleted.
(JSC::Wasm::CallingConvention::marshallArgumentImpl const): Deleted.
(JSC::Wasm::CallingConvention::marshallArgument const): Deleted.
(JSC::Wasm::CallingConvention::headerSizeInBytes): Deleted.
(JSC::Wasm::CallingConvention::setupFrameInPrologue const): Deleted.
(JSC::Wasm::CallingConvention::loadArguments const): Deleted.
(JSC::Wasm::CallingConvention::setupCall const): Deleted.
(JSC::Wasm::CallingConventionAir::CallingConventionAir): Deleted.
(JSC::Wasm::CallingConventionAir::prologueScratch const): Deleted.
(JSC::Wasm::CallingConventionAir::marshallArgumentImpl const): Deleted.
(JSC::Wasm::CallingConventionAir::marshallArgument const): Deleted.
(JSC::Wasm::CallingConventionAir::headerSizeInBytes): Deleted.
(JSC::Wasm::CallingConventionAir::loadArguments const): Deleted.
(JSC::Wasm::CallingConventionAir::setupCall const): Deleted.
(JSC::Wasm::nextJSCOffset): Deleted.
* wasm/WasmFormat.h:
* wasm/WasmFunctionParser.h:
(JSC::Wasm::splitStack):
(JSC::Wasm::FunctionParser::signature const):
(JSC::Wasm::FunctionParser<Context>::FunctionParser):
(JSC::Wasm::FunctionParser<Context>::parseBody):
(JSC::Wasm::FunctionParser<Context>::parseExpression):
(JSC::Wasm::FunctionParser<Context>::parseUnreachableExpression):
* wasm/WasmInstance.h:
* wasm/WasmMemoryInformation.cpp:
(JSC::Wasm::getPinnedRegisters):
* wasm/WasmOMGForOSREntryPlan.cpp:
(JSC::Wasm::OMGForOSREntryPlan::work):
* wasm/WasmOMGPlan.cpp:
(JSC::Wasm::OMGPlan::work):
* wasm/WasmParser.h:
(JSC::Wasm::FailureHelper::makeString):
(JSC::Wasm::Parser<SuccessType>::Parser):
(JSC::Wasm::Parser<SuccessType>::peekInt7):
(JSC::Wasm::Parser<SuccessType>::parseBlockSignature):
(JSC::Wasm::Parser<SuccessType>::parseValueType):
(JSC::Wasm::Parser<SuccessType>::parseResultType): Deleted.
* wasm/WasmSectionParser.cpp:
(JSC::Wasm::SectionParser::parseType):
(JSC::Wasm::SectionParser::parseStart):
* wasm/WasmSectionParser.h:
* wasm/WasmSignature.cpp:
(JSC::Wasm::Signature::toString const):
(JSC::Wasm::Signature::dump const):
(JSC::Wasm::computeHash):
(JSC::Wasm::Signature::hash const):
(JSC::Wasm::Signature::tryCreate):
(JSC::Wasm::SignatureInformation::SignatureInformation):
(JSC::Wasm::ParameterTypes::hash):
(JSC::Wasm::ParameterTypes::equal):
(JSC::Wasm::ParameterTypes::translate):
(JSC::Wasm::SignatureInformation::signatureFor):
(JSC::Wasm::SignatureInformation::adopt): Deleted.
* wasm/WasmSignature.h:
(JSC::Wasm::Signature::Signature):
(JSC::Wasm::Signature::allocatedSize):
(JSC::Wasm::Signature::returnCount const):
(JSC::Wasm::Signature::returnType const):
(JSC::Wasm::Signature::returnsVoid const):
(JSC::Wasm::Signature::argument const):
(JSC::Wasm::Signature::operator== const):
(JSC::Wasm::Signature::getReturnType):
(JSC::Wasm::Signature::getArgument):
(JSC::Wasm::SignatureHash::SignatureHash):
(JSC::Wasm::SignatureHash::equal):
(JSC::Wasm::SignatureInformation::thunkFor const):
(JSC::Wasm::Signature::returnType): Deleted.
(JSC::Wasm::Signature::argument): Deleted.
* wasm/WasmStreamingParser.cpp:
(JSC::Wasm::StreamingParser::parseCodeSectionSize):
(JSC::Wasm::StreamingParser::parseFunctionPayload):
(JSC::Wasm::StreamingParser::parseSectionPayload):
* wasm/WasmStreamingParser.h:
(JSC::Wasm::StreamingParserClient::didReceiveSectionData):
(JSC::Wasm::StreamingParser::reportError):
(JSC::Wasm::StreamingParserClient::didReceiveFunctionData): Deleted.
* wasm/WasmThunks.cpp:
(JSC::Wasm::throwExceptionFromWasmThunkGenerator):
(JSC::Wasm::throwStackOverflowFromWasmThunkGenerator):
(JSC::Wasm::triggerOMGEntryTierUpThunkGenerator):
* wasm/WasmValidate.cpp:
(JSC::Wasm::Validate::ControlData::ControlData):
(JSC::Wasm::Validate::ControlData::dump const):
(JSC::Wasm::Validate::ControlData::blockType const):
(JSC::Wasm::Validate::ControlData::signature const):
(JSC::Wasm::Validate::ControlData::branchTargetArity const):
(JSC::Wasm::Validate::ControlData::branchTargetType const):
(JSC::Wasm::Validate::fail const):
(JSC::Wasm::Validate::addTableGet):
(JSC::Wasm::Validate::addTableGrow):
(JSC::Wasm::Validate::addTableFill):
(JSC::Wasm::Validate::addRefIsNull):
(JSC::Wasm::Validate::addTopLevel):
(JSC::Wasm::splitStack):
(JSC::Wasm::Validate::addBlock):
(JSC::Wasm::Validate::addLoop):
(JSC::Wasm::Validate::addIf):
(JSC::Wasm::Validate::addElseToUnreachable):
(JSC::Wasm::Validate::addReturn):
(JSC::Wasm::Validate::checkBranchTarget):
(JSC::Wasm::Validate::addSwitch):
(JSC::Wasm::Validate::addGrowMemory):
(JSC::Wasm::Validate::addEndToUnreachable):
(JSC::Wasm::Validate::addCall):
(JSC::Wasm::Validate::addCallIndirect):
(JSC::Wasm::Validate::unify):
(JSC::Wasm::Validate::ControlData::hasNonVoidSignature const): Deleted.
(JSC::Wasm::Validate::ControlData::type const): Deleted.
(JSC::Wasm::Validate::ControlData::branchTargetSignature const): Deleted.
* wasm/generateWasmOpsHeader.py:
* wasm/js/JSToWasm.cpp:
(JSC::Wasm::boxWasmResult):
(JSC::Wasm::allocateResultsArray):
(JSC::Wasm::marshallJSResult):
(JSC::Wasm::createJSToWasmWrapper):
* wasm/js/JSToWasm.h:
* wasm/js/JSWebAssemblyCodeBlock.cpp:
(JSC::JSWebAssemblyCodeBlock::JSWebAssemblyCodeBlock):
* wasm/js/WasmToJS.cpp:
(JSC::Wasm::handleBadI64Use):
(JSC::Wasm::wasmToJS):
* wasm/js/WasmToJS.h:
* wasm/js/WebAssemblyFunction.cpp:
(JSC::callWebAssemblyFunction):
(JSC::WebAssemblyFunction::useTagRegisters const):
(JSC::WebAssemblyFunction::jsCallEntrypointSlow):
* wasm/js/WebAssemblyModuleRecord.cpp:
(JSC::WebAssemblyModuleRecord::link):

Tools:

* Scripts/run-jsc-stress-tests:

git-svn-id: https://svn.webkit.org/repository/webkit/trunk@250559 268f45cc-cd09-0410-ab3c-d52691b4dbfc

80 files changed:
JSTests/ChangeLog
JSTests/wasm.yaml
JSTests/wasm/function-tests/if-no-else-non-void.js
JSTests/wasm/js-api/web-assembly-instantiate.js
JSTests/wasm/libwabt.js [new file with mode: 0644]
JSTests/wasm/references/func_ref.js
JSTests/wasm/references/validation.js
JSTests/wasm/spec-harness/index.js
JSTests/wasm/spec-tests/block.wast.js
JSTests/wasm/spec-tests/br.wast.js
JSTests/wasm/spec-tests/br_if.wast.js
JSTests/wasm/spec-tests/call.wast.js
JSTests/wasm/spec-tests/call_indirect.wast.js
JSTests/wasm/spec-tests/func.wast.js
JSTests/wasm/spec-tests/if.wast.js
JSTests/wasm/spec-tests/loop.wast.js
JSTests/wasm/spec-tests/type.wast.js
JSTests/wasm/stress/js-wasm-call-many-return-types-on-stack-no-args.js [new file with mode: 0644]
JSTests/wasm/stress/js-wasm-js-varying-arities.js [new file with mode: 0644]
JSTests/wasm/stress/wasm-js-call-many-return-types-on-stack-no-args.js [new file with mode: 0644]
JSTests/wasm/stress/wasm-js-multi-value-exception-in-iterator.js [new file with mode: 0644]
JSTests/wasm/stress/wasm-wasm-call-indirect-many-return-types-on-stack.js [new file with mode: 0644]
JSTests/wasm/stress/wasm-wasm-call-many-return-types-on-stack-no-args.js [new file with mode: 0644]
JSTests/wasm/wabt-wrapper.js [new file with mode: 0644]
JSTests/wasm/wast-tests/br-if-at-end-of-block.wasm [new file with mode: 0644]
JSTests/wasm/wast-tests/br-if-at-end-of-block.wast [new file with mode: 0644]
JSTests/wasm/wast-tests/harness.js
JSTests/wasm/wast-tests/single-param-loop-signature.wasm [new file with mode: 0644]
JSTests/wasm/wast-tests/single-param-loop-signature.wast [new file with mode: 0644]
Source/JavaScriptCore/ChangeLog
Source/JavaScriptCore/JavaScriptCore.xcodeproj/project.pbxproj
Source/JavaScriptCore/assembler/AbstractMacroAssembler.h
Source/JavaScriptCore/assembler/LinkBuffer.cpp
Source/JavaScriptCore/assembler/LinkBuffer.h
Source/JavaScriptCore/assembler/MacroAssemblerARM64.h
Source/JavaScriptCore/assembler/MacroAssemblerX86_64.h
Source/JavaScriptCore/b3/B3LowerToAir.cpp
Source/JavaScriptCore/b3/B3PatchpointSpecial.cpp
Source/JavaScriptCore/b3/B3Procedure.h
Source/JavaScriptCore/b3/B3StackmapGenerationParams.cpp
Source/JavaScriptCore/b3/B3StackmapGenerationParams.h
Source/JavaScriptCore/b3/B3ValueRep.h
Source/JavaScriptCore/b3/air/AirHelpers.h [new file with mode: 0644]
Source/JavaScriptCore/jit/AssemblyHelpers.h
Source/JavaScriptCore/runtime/JSCConfig.h
Source/JavaScriptCore/runtime/OptionsList.h
Source/JavaScriptCore/tools/JSDollarVM.cpp
Source/JavaScriptCore/tools/VMInspector.cpp
Source/JavaScriptCore/wasm/WasmAirIRGenerator.cpp
Source/JavaScriptCore/wasm/WasmB3IRGenerator.cpp
Source/JavaScriptCore/wasm/WasmBBQPlan.cpp
Source/JavaScriptCore/wasm/WasmBBQPlan.h
Source/JavaScriptCore/wasm/WasmBinding.cpp
Source/JavaScriptCore/wasm/WasmCallingConvention.cpp
Source/JavaScriptCore/wasm/WasmCallingConvention.h
Source/JavaScriptCore/wasm/WasmFormat.h
Source/JavaScriptCore/wasm/WasmFunctionParser.h
Source/JavaScriptCore/wasm/WasmInstance.h
Source/JavaScriptCore/wasm/WasmMemoryInformation.cpp
Source/JavaScriptCore/wasm/WasmOMGForOSREntryPlan.cpp
Source/JavaScriptCore/wasm/WasmOMGPlan.cpp
Source/JavaScriptCore/wasm/WasmParser.h
Source/JavaScriptCore/wasm/WasmSectionParser.cpp
Source/JavaScriptCore/wasm/WasmSectionParser.h
Source/JavaScriptCore/wasm/WasmSignature.cpp
Source/JavaScriptCore/wasm/WasmSignature.h
Source/JavaScriptCore/wasm/WasmStreamingParser.cpp
Source/JavaScriptCore/wasm/WasmStreamingParser.h
Source/JavaScriptCore/wasm/WasmThunks.cpp
Source/JavaScriptCore/wasm/WasmValidate.cpp
Source/JavaScriptCore/wasm/generateWasmOpsHeader.py
Source/JavaScriptCore/wasm/js/JSToWasm.cpp
Source/JavaScriptCore/wasm/js/JSToWasm.h
Source/JavaScriptCore/wasm/js/JSWebAssemblyCodeBlock.cpp
Source/JavaScriptCore/wasm/js/WasmToJS.cpp
Source/JavaScriptCore/wasm/js/WasmToJS.h
Source/JavaScriptCore/wasm/js/WebAssemblyFunction.cpp
Source/JavaScriptCore/wasm/js/WebAssemblyModuleRecord.cpp
Tools/ChangeLog
Tools/Scripts/run-jsc-stress-tests

index 5a1e684..cc2b227 100644 (file)
@@ -1,3 +1,63 @@
+2019-10-01  Keith Miller  <keith_miller@apple.com>
+
+        Add support for the Wasm multi-value proposal
+        https://bugs.webkit.org/show_bug.cgi?id=202250
+
+        Reviewed by Saam Barati.
+
+        This patch adds a new way to run stress tests via the .wat text
+        format. By attaching an asm.js compiled version of the wabt tool
+        we can easily create wat files programatically and convert them
+        into a wasm blob to compile. To make this easy there is a
+        wabt-wrapper.js module file that exports two useful functions that
+        correspond to WebAssembly.compile and WebAssembly.instantiate.
+
+        * wasm.yaml:
+        * wasm/function-tests/if-no-else-non-void.js:
+        * wasm/js-api/web-assembly-instantiate.js:
+        (assert.asyncTest.async.test):
+        (assert.asyncTest):
+        * wasm/libwabt.js: Added.
+        (WabtModule):
+        (set get if):
+        * wasm/references/func_ref.js:
+        * wasm/references/validation.js:
+        (assert.throws):
+        * wasm/spec-harness/index.js:
+        * wasm/spec-tests/block.wast.js:
+        * wasm/spec-tests/br.wast.js:
+        * wasm/spec-tests/br_if.wast.js:
+        * wasm/spec-tests/call.wast.js:
+        * wasm/spec-tests/call_indirect.wast.js:
+        * wasm/spec-tests/func.wast.js:
+        * wasm/spec-tests/if.wast.js:
+        * wasm/spec-tests/loop.wast.js:
+        * wasm/spec-tests/type.wast.js:
+        * wasm/stress/js-wasm-call-many-return-types-on-stack-no-args.js: Added.
+        (buildWat):
+        * wasm/stress/js-wasm-js-varying-arities.js: Added.
+        (paramForwarder):
+        * wasm/stress/wasm-js-call-many-return-types-on-stack-no-args.js: Added.
+        (buildWat):
+        * wasm/stress/wasm-js-multi-value-exception-in-iterator.js: Added.
+        (buildWat.throwError):
+        (buildWat.throwErrorInIterator):
+        (buildWat.tooManyValues):
+        (buildWat.tooFewValues):
+        (buildWat):
+        * wasm/stress/wasm-wasm-call-indirect-many-return-types-on-stack.js: Added.
+        (buildWat):
+        * wasm/stress/wasm-wasm-call-many-return-types-on-stack-no-args.js: Added.
+        (buildWat):
+        * wasm/wabt-wrapper.js: Added.
+        (export.compile):
+        * wasm/wast-tests/br-if-at-end-of-block.wasm: Added.
+        * wasm/wast-tests/br-if-at-end-of-block.wast: Added.
+        * wasm/wast-tests/harness.js:
+        (async.runWasmFile):
+        * wasm/wast-tests/single-param-loop-signature.wasm: Added.
+        * wasm/wast-tests/single-param-loop-signature.wast: Added.
+
 2019-09-30  Tadeu Zagallo  <tzagallo@apple.com>
 
         Make assertion in JSObject::putOwnDataProperty more precise
index 697f12a..8ed16b7 100644 (file)
@@ -21,6 +21,8 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
 # THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 
+- path: wasm/stress
+  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/wast-tests/
   cmd: runWebAssemblyWithHarness
 - path: wasm/js-api/
@@ -35,8 +37,6 @@
   cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/fuzz
   cmd: runWebAssemblySuite unless parseRunCommands
-- path: wasm/stress
-  cmd: runWebAssemblySuite unless parseRunCommands
 - path: wasm/lowExecutableMemory
   cmd: runWebAssemblyLowExecutableMemory unless parseRunCommands
 - path: wasm/regress/
index 8833164..df302de 100644 (file)
@@ -13,4 +13,4 @@ const builder = (new Builder())
       .End();
 
 const bin = builder.WebAssembly().get();
-assert.throws(() => new WebAssembly.Module(bin), WebAssembly.CompileError, "WebAssembly.Module doesn't validate: If-block had a non-void result type: I32 but had no else-block, in function at index 0 (evaluating 'new WebAssembly.Module(bin)')");
+assert.throws(() => new WebAssembly.Module(bin), WebAssembly.CompileError, "WebAssembly.Module doesn't validate:  block with type: () -> [I32] returns: 1 but stack has: 0 values, in function at index 0 (evaluating 'new WebAssembly.Module(bin)')");
index 1b6b714..9409889 100644 (file)
@@ -76,7 +76,7 @@ assert.eq(WebAssembly.instantiate.length, 1);
             let {module, instance} = await WebAssembly.instantiate(bin);
         } catch(e) {
             assert.truthy(e instanceof WebAssembly.CompileError);
-            assert.eq(e.message, "WebAssembly.Module doesn't validate: control flow returns with unexpected type, in function at index 0");
+            assert.eq(e.message, "WebAssembly.Module doesn't validate: control flow returns with unexpected type. F32 is not a subtype of I32, in function at index 0");
         }
     }
 
diff --git a/JSTests/wasm/libwabt.js b/JSTests/wasm/libwabt.js
new file mode 100644 (file)
index 0000000..95c7a51
--- /dev/null
@@ -0,0 +1,57 @@
+/*
+ * Copyright 2016 WebAssembly Community Group participants
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ *     http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+var WabtModule = (function() {
+  var _scriptDir = typeof document !== 'undefined' && document.currentScript ? document.currentScript.src : undefined;
+  return (
+function(WabtModule) {
+  WabtModule = WabtModule || {};
+
+var Module=typeof WabtModule!=="undefined"?WabtModule:{};var moduleOverrides={};var key;for(key in Module){if(Module.hasOwnProperty(key)){moduleOverrides[key]=Module[key]}}Module["arguments"]=[];Module["thisProgram"]="./this.program";Module["quit"]=function(status,toThrow){throw toThrow};Module["preRun"]=[];Module["postRun"]=[];var ENVIRONMENT_IS_WEB=false;var ENVIRONMENT_IS_WORKER=false;var ENVIRONMENT_IS_NODE=false;var ENVIRONMENT_IS_SHELL=false;ENVIRONMENT_IS_WEB=typeof window==="object";ENVIRONMENT_IS_WORKER=typeof importScripts==="function";ENVIRONMENT_IS_NODE=typeof process==="object"&&typeof require==="function"&&!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_WORKER;ENVIRONMENT_IS_SHELL=!ENVIRONMENT_IS_WEB&&!ENVIRONMENT_IS_NODE&&!ENVIRONMENT_IS_WORKER;var scriptDirectory="";function locateFile(path){if(Module["locateFile"]){return Module["locateFile"](path,scriptDirectory)}else{return scriptDirectory+path}}if(ENVIRONMENT_IS_NODE){scriptDirectory=__dirname+"/";var nodeFS;var nodePath;Module["read"]=function shell_read(filename,binary){var ret;ret=tryParseAsDataURI(filename);if(!ret){if(!nodeFS)nodeFS=require("fs");if(!nodePath)nodePath=require("path");filename=nodePath["normalize"](filename);ret=nodeFS["readFileSync"](filename)}return binary?ret:ret.toString()};Module["readBinary"]=function readBinary(filename){var ret=Module["read"](filename,true);if(!ret.buffer){ret=new Uint8Array(ret)}assert(ret.buffer);return ret};if(process["argv"].length>1){Module["thisProgram"]=process["argv"][1].replace(/\\/g,"/")}Module["arguments"]=process["argv"].slice(2);process["on"]("uncaughtException",function(ex){if(!(ex instanceof ExitStatus)){throw ex}});process["on"]("unhandledRejection",abort);Module["quit"]=function(status){process["exit"](status)};Module["inspect"]=function(){return"[Emscripten Module object]"}}else if(ENVIRONMENT_IS_SHELL){if(typeof read!="undefined"){Module["read"]=function shell_read(f){var data=tryParseAsDataURI(f);if(data){return intArrayToString(data)}return read(f)}}Module["readBinary"]=function readBinary(f){var data;data=tryParseAsDataURI(f);if(data){return data}if(typeof readbuffer==="function"){return new Uint8Array(readbuffer(f))}data=read(f,"binary");assert(typeof data==="object");return data};if(typeof scriptArgs!="undefined"){Module["arguments"]=scriptArgs}else if(typeof arguments!="undefined"){Module["arguments"]=arguments}if(typeof quit==="function"){Module["quit"]=function(status){quit(status)}}}else if(ENVIRONMENT_IS_WEB||ENVIRONMENT_IS_WORKER){if(ENVIRONMENT_IS_WORKER){scriptDirectory=self.location.href}else if(document.currentScript){scriptDirectory=document.currentScript.src}if(_scriptDir){scriptDirectory=_scriptDir}if(scriptDirectory.indexOf("blob:")!==0){scriptDirectory=scriptDirectory.substr(0,scriptDirectory.lastIndexOf("/")+1)}else{scriptDirectory=""}Module["read"]=function shell_read(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.send(null);return xhr.responseText}catch(err){var data=tryParseAsDataURI(url);if(data){return intArrayToString(data)}throw err}};if(ENVIRONMENT_IS_WORKER){Module["readBinary"]=function readBinary(url){try{var xhr=new XMLHttpRequest;xhr.open("GET",url,false);xhr.responseType="arraybuffer";xhr.send(null);return new Uint8Array(xhr.response)}catch(err){var data=tryParseAsDataURI(url);if(data){return data}throw err}}}Module["readAsync"]=function readAsync(url,onload,onerror){var xhr=new XMLHttpRequest;xhr.open("GET",url,true);xhr.responseType="arraybuffer";xhr.onload=function xhr_onload(){if(xhr.status==200||xhr.status==0&&xhr.response){onload(xhr.response);return}var data=tryParseAsDataURI(url);if(data){onload(data.buffer);return}onerror()};xhr.onerror=onerror;xhr.send(null)};Module["setWindowTitle"]=function(title){document.title=title}}else{}var out=Module["print"]||(typeof console!=="undefined"?console.log.bind(console):typeof print!=="undefined"?print:null);var err=Module["printErr"]||(typeof printErr!=="undefined"?printErr:typeof console!=="undefined"&&console.warn.bind(console)||out);for(key in moduleOverrides){if(moduleOverrides.hasOwnProperty(key)){Module[key]=moduleOverrides[key]}}moduleOverrides=undefined;var STACK_ALIGN=16;function dynamicAlloc(size){var ret=HEAP32[DYNAMICTOP_PTR>>2];var end=ret+size+15&-16;if(end<=_emscripten_get_heap_size()){HEAP32[DYNAMICTOP_PTR>>2]=end}else{var success=_emscripten_resize_heap(end);if(!success)return 0}return ret}function getNativeTypeSize(type){switch(type){case"i1":case"i8":return 1;case"i16":return 2;case"i32":return 4;case"i64":return 8;case"float":return 4;case"double":return 8;default:{if(type[type.length-1]==="*"){return 4}else if(type[0]==="i"){var bits=parseInt(type.substr(1));assert(bits%8===0,"getNativeTypeSize invalid bits "+bits+", type "+type);return bits/8}else{return 0}}}}function warnOnce(text){if(!warnOnce.shown)warnOnce.shown={};if(!warnOnce.shown[text]){warnOnce.shown[text]=1;err(text)}}var jsCallStartIndex=1;var functionPointers=new Array(10);var funcWrappers={};function dynCall(sig,ptr,args){if(args&&args.length){return Module["dynCall_"+sig].apply(null,[ptr].concat(args))}else{return Module["dynCall_"+sig].call(null,ptr)}}var tempRet0=0;var setTempRet0=function(value){tempRet0=value};var getTempRet0=function(){return tempRet0};var GLOBAL_BASE=8;var ABORT=false;var EXITSTATUS=0;function assert(condition,text){if(!condition){abort("Assertion failed: "+text)}}function getCFunc(ident){var func=Module["_"+ident];assert(func,"Cannot call unknown function "+ident+", make sure it is exported");return func}function ccall(ident,returnType,argTypes,args,opts){var toC={"string":function(str){var ret=0;if(str!==null&&str!==undefined&&str!==0){var len=(str.length<<2)+1;ret=stackAlloc(len);stringToUTF8(str,ret,len)}return ret},"array":function(arr){var ret=stackAlloc(arr.length);writeArrayToMemory(arr,ret);return ret}};function convertReturnValue(ret){if(returnType==="string")return UTF8ToString(ret);if(returnType==="boolean")return Boolean(ret);return ret}var func=getCFunc(ident);var cArgs=[];var stack=0;if(args){for(var i=0;i<args.length;i++){var converter=toC[argTypes[i]];if(converter){if(stack===0)stack=stackSave();cArgs[i]=converter(args[i])}else{cArgs[i]=args[i]}}}var ret=func.apply(null,cArgs);ret=convertReturnValue(ret);if(stack!==0)stackRestore(stack);return ret}function setValue(ptr,value,type,noSafe){type=type||"i8";if(type.charAt(type.length-1)==="*")type="i32";switch(type){case"i1":HEAP8[ptr>>0]=value;break;case"i8":HEAP8[ptr>>0]=value;break;case"i16":HEAP16[ptr>>1]=value;break;case"i32":HEAP32[ptr>>2]=value;break;case"i64":tempI64=[value>>>0,(tempDouble=value,+Math_abs(tempDouble)>=+1?tempDouble>+0?(Math_min(+Math_floor(tempDouble/+4294967296),+4294967295)|0)>>>0:~~+Math_ceil((tempDouble-+(~~tempDouble>>>0))/+4294967296)>>>0:0)],HEAP32[ptr>>2]=tempI64[0],HEAP32[ptr+4>>2]=tempI64[1];break;case"float":HEAPF32[ptr>>2]=value;break;case"double":HEAPF64[ptr>>3]=value;break;default:abort("invalid type for setValue: "+type)}}var ALLOC_NONE=3;function getMemory(size){if(!runtimeInitialized)return dynamicAlloc(size);return _malloc(size)}var UTF8Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf8"):undefined;function UTF8ArrayToString(u8Array,idx,maxBytesToRead){var endIdx=idx+maxBytesToRead;var endPtr=idx;while(u8Array[endPtr]&&!(endPtr>=endIdx))++endPtr;if(endPtr-idx>16&&u8Array.subarray&&UTF8Decoder){return UTF8Decoder.decode(u8Array.subarray(idx,endPtr))}else{var str="";while(idx<endPtr){var u0=u8Array[idx++];if(!(u0&128)){str+=String.fromCharCode(u0);continue}var u1=u8Array[idx++]&63;if((u0&224)==192){str+=String.fromCharCode((u0&31)<<6|u1);continue}var u2=u8Array[idx++]&63;if((u0&240)==224){u0=(u0&15)<<12|u1<<6|u2}else{u0=(u0&7)<<18|u1<<12|u2<<6|u8Array[idx++]&63}if(u0<65536){str+=String.fromCharCode(u0)}else{var ch=u0-65536;str+=String.fromCharCode(55296|ch>>10,56320|ch&1023)}}}return str}function UTF8ToString(ptr,maxBytesToRead){return ptr?UTF8ArrayToString(HEAPU8,ptr,maxBytesToRead):""}function stringToUTF8Array(str,outU8Array,outIdx,maxBytesToWrite){if(!(maxBytesToWrite>0))return 0;var startIdx=outIdx;var endIdx=outIdx+maxBytesToWrite-1;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343){var u1=str.charCodeAt(++i);u=65536+((u&1023)<<10)|u1&1023}if(u<=127){if(outIdx>=endIdx)break;outU8Array[outIdx++]=u}else if(u<=2047){if(outIdx+1>=endIdx)break;outU8Array[outIdx++]=192|u>>6;outU8Array[outIdx++]=128|u&63}else if(u<=65535){if(outIdx+2>=endIdx)break;outU8Array[outIdx++]=224|u>>12;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}else{if(outIdx+3>=endIdx)break;outU8Array[outIdx++]=240|u>>18;outU8Array[outIdx++]=128|u>>12&63;outU8Array[outIdx++]=128|u>>6&63;outU8Array[outIdx++]=128|u&63}}outU8Array[outIdx]=0;return outIdx-startIdx}function stringToUTF8(str,outPtr,maxBytesToWrite){return stringToUTF8Array(str,HEAPU8,outPtr,maxBytesToWrite)}function lengthBytesUTF8(str){var len=0;for(var i=0;i<str.length;++i){var u=str.charCodeAt(i);if(u>=55296&&u<=57343)u=65536+((u&1023)<<10)|str.charCodeAt(++i)&1023;if(u<=127)++len;else if(u<=2047)len+=2;else if(u<=65535)len+=3;else len+=4}return len}var UTF16Decoder=typeof TextDecoder!=="undefined"?new TextDecoder("utf-16le"):undefined;function allocateUTF8(str){var size=lengthBytesUTF8(str)+1;var ret=_malloc(size);if(ret)stringToUTF8Array(str,HEAP8,ret,size);return ret}function writeArrayToMemory(array,buffer){HEAP8.set(array,buffer)}function writeAsciiToMemory(str,buffer,dontAddNull){for(var i=0;i<str.length;++i){HEAP8[buffer++>>0]=str.charCodeAt(i)}if(!dontAddNull)HEAP8[buffer>>0]=0}function demangle(func){return func}function demangleAll(text){var regex=/__Z[\w\d_]+/g;return text.replace(regex,function(x){var y=demangle(x);return x===y?x:y+" ["+x+"]"})}function jsStackTrace(){var err=new Error;if(!err.stack){try{throw new Error(0)}catch(e){err=e}if(!err.stack){return"(no stack trace available)"}}return err.stack.toString()}function alignUp(x,multiple){if(x%multiple>0){x+=multiple-x%multiple}return x}var buffer,HEAP8,HEAPU8,HEAP16,HEAPU16,HEAP32,HEAPU32,HEAPF32,HEAPF64;function updateGlobalBuffer(buf){Module["buffer"]=buffer=buf}function updateGlobalBufferViews(){Module["HEAP8"]=HEAP8=new Int8Array(buffer);Module["HEAP16"]=HEAP16=new Int16Array(buffer);Module["HEAP32"]=HEAP32=new Int32Array(buffer);Module["HEAPU8"]=HEAPU8=new Uint8Array(buffer);Module["HEAPU16"]=HEAPU16=new Uint16Array(buffer);Module["HEAPU32"]=HEAPU32=new Uint32Array(buffer);Module["HEAPF32"]=HEAPF32=new Float32Array(buffer);Module["HEAPF64"]=HEAPF64=new Float64Array(buffer)}var STACK_BASE=354992,DYNAMIC_BASE=5597872,DYNAMICTOP_PTR=354736;var TOTAL_STACK=5242880;var TOTAL_MEMORY=Module["TOTAL_MEMORY"]||16777216;if(TOTAL_MEMORY<TOTAL_STACK)err("TOTAL_MEMORY should be larger than TOTAL_STACK, was "+TOTAL_MEMORY+"! (TOTAL_STACK="+TOTAL_STACK+")");if(Module["buffer"]){buffer=Module["buffer"]}else{{buffer=new ArrayBuffer(TOTAL_MEMORY)}Module["buffer"]=buffer}updateGlobalBufferViews();HEAP32[DYNAMICTOP_PTR>>2]=DYNAMIC_BASE;function callRuntimeCallbacks(callbacks){while(callbacks.length>0){var callback=callbacks.shift();if(typeof callback=="function"){callback();continue}var func=callback.func;if(typeof func==="number"){if(callback.arg===undefined){Module["dynCall_v"](func)}else{Module["dynCall_vi"](func,callback.arg)}}else{func(callback.arg===undefined?null:callback.arg)}}}var __ATPRERUN__=[];var __ATINIT__=[];var __ATMAIN__=[];var __ATEXIT__=[];var __ATPOSTRUN__=[];var runtimeInitialized=false;var runtimeExited=false;function preRun(){if(Module["preRun"]){if(typeof Module["preRun"]=="function")Module["preRun"]=[Module["preRun"]];while(Module["preRun"].length){addOnPreRun(Module["preRun"].shift())}}callRuntimeCallbacks(__ATPRERUN__)}function ensureInitRuntime(){if(runtimeInitialized)return;runtimeInitialized=true;callRuntimeCallbacks(__ATINIT__)}function preMain(){callRuntimeCallbacks(__ATMAIN__)}function exitRuntime(){callRuntimeCallbacks(__ATEXIT__);runtimeExited=true}function postRun(){if(Module["postRun"]){if(typeof Module["postRun"]=="function")Module["postRun"]=[Module["postRun"]];while(Module["postRun"].length){addOnPostRun(Module["postRun"].shift())}}callRuntimeCallbacks(__ATPOSTRUN__)}function addOnPreRun(cb){__ATPRERUN__.unshift(cb)}function addOnPostRun(cb){__ATPOSTRUN__.unshift(cb)}var Math_abs=Math.abs;var Math_ceil=Math.ceil;var Math_floor=Math.floor;var Math_min=Math.min;var runDependencies=0;var runDependencyWatcher=null;var dependenciesFulfilled=null;function addRunDependency(id){runDependencies++;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}}function removeRunDependency(id){runDependencies--;if(Module["monitorRunDependencies"]){Module["monitorRunDependencies"](runDependencies)}if(runDependencies==0){if(runDependencyWatcher!==null){clearInterval(runDependencyWatcher);runDependencyWatcher=null}if(dependenciesFulfilled){var callback=dependenciesFulfilled;dependenciesFulfilled=null;callback()}}}Module["preloadedImages"]={};Module["preloadedAudios"]={};var memoryInitializer=null;var dataURIPrefix="data:application/octet-stream;base64,";function isDataURI(filename){return String.prototype.startsWith?filename.startsWith(dataURIPrefix):filename.indexOf(dataURIPrefix)===0}__ATINIT__.push({func:function(){___emscripten_environ_constructor()}});memoryInitializer="data:application/octet-stream;base64,AAAAAAAAAAAyCgUAwZkEAFAKBQB1CQUAZgkFANkJBQBEkAQAhgkFALEJBQCUCQUAzQkFAFQJBQDGDAUAbwoFACsKBQAOCgUA/QkFAAAAAAAAAAAAAAAAAEGSBABbkgQAc5IEAIqSBAChkgQAuZIEANCSBADmkgQA/pIEABmTBAAzkwQASpMEAGaTBAAAAAAAAAAAAAAAAAD3kwQAApQEAAyUBAAdlAQAKZQEADaUBABBlAQASJQEAE6UBABRlAQAVpQEAF6UBABmlAQAa5QEAHiUBACAlAQAhpQEAI6UBACTlAQAnZQEAKeUBACqlAQAr5QEALiUBADBlAQAypQEAM+UBADalAQA45QEAO6UBAD5lAQABJUEAA+VBAATlQQAHZUEACWVBAAtlQQANJUEAD+VBABSlQQAWZUEAGSVBABylQQAfJUEAIKVBACMlQQAlZUEAJ+VBAColQQAspUEALyVBADFlQQAzZUEANOVBADXlQQA3ZUEAAoMBQDA////wP///8D////A////AAAAAAAAAAAAAAAAAAAAAJgLBQDA////wP///8D////A////AAAAAAAAAAABAAAAAQAAACoNBQDA////wP///8D////A////AAAAAAAAAAACAAAAAgAAABoOBQDA////wP///8D////A////AAAAAAAAAAADAAAAAwAAAB8OBQDA////wP///8D////A////AAAAAAAAAAAEAAAABAAAADkLBQDA////wP///8D////A////AAAAAAAAAAAFAAAABQAAADIOBQDA////wP///8D////A////AAAAAAAAAAAGAAAABgAAAAkLBQDA////wP///8D////A////AAAAAAAAAAAHAAAABwAAAJIOBQDA////wP///8D////A////AAAAAAAAAAAIAAAACAAAAIoOBQDA////wP///8D////A////AAAAAAAAAAAJAAAACQAAADkNBQDA////wP///8D////A////AAAAAAAAAAAKAAAACgAAAD4LBQDA////wP///8D////A////AAAAAAAAAAALAAAACwAAADANBQDA////wP///8D////A////AAAAAAAAAAAMAAAADAAAADMNBQDA////wP///8D////A////AAAAAAAAAAANAAAADQAAAHkNBQDA////wP///8D////A////AAAAAAAAAAAOAAAADgAAAJgOBQDA////wP///8D////A////AAAAAAAAAAAPAAAADwAAAL8NBQDA////wP///8D////A////AAAAAAAAAAAQAAAAEAAAAMQNBQDA////wP///8D////A////AAAAAAAAAAARAAAAEQAAANINBQDA////wP///8D////A////AAAAAAAAAAASAAAAEgAAAN4NBQDA////wP///8D////A////AAAAAAAAAAATAAAAEwAAAP0NBQDA////wP///8D////A////AAAAAAAAAAAaAAAAGgAAAJ8OBQDA////wP///8D////A////AAAAAAAAAAAbAAAAGwAAAFILBQDA////wP///8D////A////AAAAAAAAAAAgAAAAIAAAAEsOBQDA////wP///8D////A////AAAAAAAAAAAhAAAAIQAAAFUOBQDA////wP///8D////A////AAAAAAAAAAAiAAAAIgAAAEILBQDA////wP///8D////A////AAAAAAAAAAAjAAAAIwAAAEAOBQDA////wP///8D////A////AAAAAAAAAAAkAAAAJAAAAH6lBAD//////////8D////A////BAAAAAAAAAAoAAAAKAAAAHWlBAD+/////////8D////A////CAAAAAAAAAApAAAAKQAAAGylBAD9/////////8D////A////BAAAAAAAAAAqAAAAKgAAAGOlBAD8/////////8D////A////CAAAAAAAAAArAAAAKwAAAN2qBAD//////////8D////A////AQAAAAAAAAAsAAAALAAAAPWqBAD//////////8D////A////AQAAAAAAAAAtAAAALQAAALilBAD//////////8D////A////AgAAAAAAAAAuAAAALgAAANulBAD//////////8D////A////AgAAAAAAAAAvAAAALwAAANGqBAD+/////////8D////A////AQAAAAAAAAAwAAAAMAAAAOmqBAD+/////////8D////A////AQAAAAAAAAAxAAAAMQAAAKulBAD+/////////8D////A////AgAAAAAAAAAyAAAAMgAAAM6lBAD+/////////8D////A////AgAAAAAAAAAzAAAAMwAAAEKoBAD+/////////8D////A////BAAAAAAAAAA0AAAANAAAAFmoBAD+/////////8D////A////BAAAAAAAAAA1AAAANQAAACmlBADA///////////////A////BAAAAAAAAAA2AAAANgAAAB+lBADA//////////7////A////CAAAAAAAAAA3AAAANwAAABWlBADA//////////3////A////BAAAAAAAAAA4AAAAOAAAAAulBADA//////////z////A////CAAAAAAAAAA5AAAAOQAAAJ6qBADA///////////////A////AQAAAAAAAAA6AAAAOgAAAIesBADA///////////////A////AgAAAAAAAAA7AAAAOwAAAJOqBADA//////////7////A////AQAAAAAAAAA8AAAAPAAAAHusBADA//////////7////A////AgAAAAAAAAA9AAAAPQAAADOlBADA//////////7////A////BAAAAAAAAAA+AAAAPgAAAIwLBQD/////wP///8D////A////AAAAAAAAAAA/AAAAPwAAAHQLBQD//////////8D////A////AAAAAAAAAABAAAAAQAAAANmkBAD/////wP///8D////A////AAAAAAAAAABBAAAAQQAAAM+kBAD+////wP///8D////A////AAAAAAAAAABCAAAAQgAAAMWkBAD9////wP///8D////A////AAAAAAAAAABDAAAAQwAAALukBAD8////wP///8D////A////AAAAAAAAAABEAAAARAAAAO+rBAD//////////8D////A////AAAAAAAAAABFAAAARQAAAPe0BAD////////////////A////AAAAAAAAAABGAAAARgAAAF6kBAD////////////////A////AAAAAAAAAABHAAAARwAAAJKjBAD////////////////A////AAAAAAAAAABIAAAASAAAAKSjBAD////////////////A////AAAAAAAAAABJAAAASQAAAPGtBAD////////////////A////AAAAAAAAAABKAAAASgAAAA2uBAD////////////////A////AAAAAAAAAABLAAAASwAAALajBAD////////////////A////AAAAAAAAAABMAAAATAAAAMijBAD////////////////A////AAAAAAAAAABNAAAATQAAAB+uBAD////////////////A////AAAAAAAAAABOAAAATgAAADGuBAD////////////////A////AAAAAAAAAABPAAAATwAAAOerBAD//////v///8D////A////AAAAAAAAAABQAAAAUAAAAPC0BAD//////v////7////A////AAAAAAAAAABRAAAAUQAAAFekBAD//////v////7////A////AAAAAAAAAABSAAAAUgAAAImjBAD//////v////7////A////AAAAAAAAAABTAAAAUwAAAJujBAD//////v////7////A////AAAAAAAAAABUAAAAVAAAAOitBAD//////v////7////A////AAAAAAAAAABVAAAAVQAAAASuBAD//////v////7////A////AAAAAAAAAABWAAAAVgAAAK2jBAD//////v////7////A////AAAAAAAAAABXAAAAVwAAAL+jBAD//////v////7////A////AAAAAAAAAABYAAAAWAAAABauBAD//////v////7////A////AAAAAAAAAABZAAAAWQAAACiuBAD//////v////7////A////AAAAAAAAAABaAAAAWgAAANq0BAD//////f////3////A////AAAAAAAAAABbAAAAWwAAAFCkBAD//////f////3////A////AAAAAAAAAABcAAAAXAAAAESjBAD//////f////3////A////AAAAAAAAAABdAAAAXQAAAA6tBAD//////f////3////A////AAAAAAAAAABeAAAAXgAAAFKjBAD//////f////3////A////AAAAAAAAAABfAAAAXwAAAG2tBAD//////f////3////A////AAAAAAAAAABgAAAAYAAAANO0BAD//////P////z////A////AAAAAAAAAABhAAAAYQAAAEmkBAD//////P////z////A////AAAAAAAAAABiAAAAYgAAAD2jBAD//////P////z////A////AAAAAAAAAABjAAAAYwAAAAetBAD//////P////z////A////AAAAAAAAAABkAAAAZAAAAEujBAD//////P////z////A////AAAAAAAAAABlAAAAZQAAAGatBAD//////P////z////A////AAAAAAAAAABmAAAAZgAAAG2kBAD//////////8D////A////AAAAAAAAAABnAAAAZwAAAO2jBAD//////////8D////A////AAAAAAAAAABoAAAAaAAAAMG1BAD//////////8D////A////AAAAAAAAAABpAAAAaQAAACGkBAD////////////////A////AAAAAAAAAABqAAAAagAAAIGjBAD////////////////A////AAAAAAAAAABrAAAAawAAAKGkBAD////////////////A////AAAAAAAAAABsAAAAbAAAAO2kBAD////////////////A////AAAAAAAAAABtAAAAbQAAAAGlBAD////////////////A////AAAAAAAAAABuAAAAbgAAANujBAD////////////////A////AAAAAAAAAABvAAAAbwAAAP+jBAD////////////////A////AAAAAAAAAABwAAAAcAAAADGkBAD////////////////A////AAAAAAAAAABxAAAAcQAAAP6rBAD////////////////A////AAAAAAAAAAByAAAAcgAAADiwBAD////////////////A////AAAAAAAAAABzAAAAcwAAACavBAD////////////////A////AAAAAAAAAAB0AAAAdAAAANmuBAD////////////////A////AAAAAAAAAAB1AAAAdQAAAO2uBAD////////////////A////AAAAAAAAAAB2AAAAdgAAAEilBAD////////////////A////AAAAAAAAAAB3AAAAdwAAAFqlBAD////////////////A////AAAAAAAAAAB4AAAAeAAAAGWkBAD+/////v///8D////A////AAAAAAAAAAB5AAAAeQAAAOWjBAD+/////v///8D////A////AAAAAAAAAAB6AAAAegAAALa1BAD+/////v///8D////A////AAAAAAAAAAB7AAAAewAAABmkBAD+/////v////7////A////AAAAAAAAAAB8AAAAfAAAAHmjBAD+/////v////7////A////AAAAAAAAAAB9AAAAfQAAAJmkBAD+/////v////7////A////AAAAAAAAAAB+AAAAfgAAAOOkBAD+/////v////7////A////AAAAAAAAAAB/AAAAfwAAAPekBAD+/////v////7////A////AAAAAAAAAACAAAAAgAAAANGjBAD+/////v////7////A////AAAAAAAAAACBAAAAgQAAAPWjBAD+/////v////7////A////AAAAAAAAAACCAAAAggAAACmkBAD+/////v////7////A////AAAAAAAAAACDAAAAgwAAAPerBAD+/////v////7////A////AAAAAAAAAACEAAAAhAAAADCwBAD+/////v////7////A////AAAAAAAAAACFAAAAhQAAAB6vBAD+/////v////7////A////AAAAAAAAAACGAAAAhgAAAM+uBAD+/////v////7////A////AAAAAAAAAACHAAAAhwAAAOOuBAD+/////v////7////A////AAAAAAAAAACIAAAAiAAAAD+lBAD+/////v////7////A////AAAAAAAAAACJAAAAiQAAAFGlBAD+/////v////7////A////AAAAAAAAAACKAAAAigAAAGGjBAD9/////f////3////A////AAAAAAAAAACLAAAAiwAAAAqwBAD9/////f////3////A////AAAAAAAAAACMAAAAjAAAALKkBAD9/////f////3////A////AAAAAAAAAACNAAAAjQAAAFytBAD9/////f////3////A////AAAAAAAAAACOAAAAjgAAAH+kBAD9/////f////3////A////AAAAAAAAAACPAAAAjwAAAP2lBAD9/////f////3////A////AAAAAAAAAACQAAAAkAAAAGisBAD9/////f////3////A////AAAAAAAAAACRAAAAkQAAABGkBAD9/////f////3////A////AAAAAAAAAACSAAAAkgAAAHGjBAD9/////f////3////A////AAAAAAAAAACTAAAAkwAAAJGkBAD9/////f////3////A////AAAAAAAAAACUAAAAlAAAAJmlBAD9/////f////3////A////AAAAAAAAAACVAAAAlQAAAEGkBAD9/////f////3////A////AAAAAAAAAACWAAAAlgAAAOSzBAD9/////f////3////A////AAAAAAAAAACXAAAAlwAAAGe5BAD9/////f////3////A////AAAAAAAAAACYAAAAmAAAAFmjBAD8/////P////z////A////AAAAAAAAAACZAAAAmQAAAAKwBAD8/////P////z////A////AAAAAAAAAACaAAAAmgAAAKmkBAD8/////P////z////A////AAAAAAAAAACbAAAAmwAAAFKtBAD8/////P////z////A////AAAAAAAAAACcAAAAnAAAAHWkBAD8/////P////z////A////AAAAAAAAAACdAAAAnQAAAPGlBAD8/////P////z////A////AAAAAAAAAACeAAAAngAAAF+sBAD8/////P////z////A////AAAAAAAAAACfAAAAnwAAAAmkBAD8/////P////z////A////AAAAAAAAAACgAAAAoAAAAGmjBAD8/////P////z////A////AAAAAAAAAAChAAAAoQAAAImkBAD8/////P////z////A////AAAAAAAAAACiAAAAogAAAJGlBAD8/////P////z////A////AAAAAAAAAACjAAAAowAAADmkBAD8/////P////z////A////AAAAAAAAAACkAAAApAAAANyzBAD8/////P////z////A////AAAAAAAAAAClAAAApQAAAFq5BAD8/////P////z////A////AAAAAAAAAACmAAAApgAAACG3BAD//////v///8D////A////AAAAAAAAAACnAAAApwAAACinBAD//////f///8D////A////AAAAAAAAAACoAAAAqAAAAEinBAD//////f///8D////A////AAAAAAAAAACpAAAAqQAAAOaoBAD//////P///8D////A////AAAAAAAAAACqAAAAqgAAAAapBAD//////P///8D////A////AAAAAAAAAACrAAAAqwAAAEGvBAD+/////////8D////A////AAAAAAAAAACsAAAArAAAAFKvBAD+/////////8D////A////AAAAAAAAAACtAAAArQAAABinBAD+/////f///8D////A////AAAAAAAAAACuAAAArgAAADinBAD+/////f///8D////A////AAAAAAAAAACvAAAArwAAANaoBAD+/////P///8D////A////AAAAAAAAAACwAAAAsAAAAPaoBAD+/////P///8D////A////AAAAAAAAAACxAAAAsQAAAIGqBAD9/////////8D////A////AAAAAAAAAACyAAAAsgAAAHGrBAD9/////////8D////A////AAAAAAAAAACzAAAAswAAABOrBAD9/////v///8D////A////AAAAAAAAAAC0AAAAtAAAAKWsBAD9/////v///8D////A////AAAAAAAAAAC1AAAAtQAAABapBAD9/////P///8D////A////AAAAAAAAAAC2AAAAtgAAAG+qBAD8/////////8D////A////AAAAAAAAAAC3AAAAtwAAAF+rBAD8/////////8D////A////AAAAAAAAAAC4AAAAuAAAAAGrBAD8/////v///8D////A////AAAAAAAAAAC5AAAAuQAAAJOsBAD8/////v///8D////A////AAAAAAAAAAC6AAAAugAAAN+yBAD8/////f///8D////A////AAAAAAAAAAC7AAAAuwAAALi2BAD//////f///8D////A////AAAAAAAAAAC8AAAAvAAAAA23BAD+/////P///8D////A////AAAAAAAAAAC9AAAAvQAAAI+xBAD9/////////8D////A////AAAAAAAAAAC+AAAAvgAAAO+yBAD8/////v///8D////A////AAAAAAAAAAC/AAAAvwAAACaxBAD//////////8D////A////AAAAAAAAAADAAAAAwAAAACGwBAD//////////8D////A////AAAAAAAAAADBAAAAwQAAABixBAD+/////v///8D////A////AAAAAAAAAADCAAAAwgAAABKwBAD+/////v///8D////A////AAAAAAAAAADDAAAAwwAAAAOvBAD+/////v///8D////A////AAAAAAAAAADEAAAAxAAAAOyVBADA////wP///8D////A////AAAAAAAAAADgAAAA4AAAAPOVBADA////wP///8D////A////AAAAAAAAAADhAAAA4QAAAP2VBADA////wP///8D////A////AAAAAAAAAADiAAAA4gAAAO8JBQDA////wP///8D////A////AAAAAAAAAADjAAAA4wAAAAeWBADA////wP///8D////A////AAAAAAAAAADkAAAA5AAAABmsBAD//////f///8D////A////AAAAAPwAAAAAAAAAAPwAAEGsBAD//////f///8D////A////AAAAAPwAAAABAAAAAfwAAJmwBAD//////P///8D////A////AAAAAPwAAAACAAAAAvwAAMGwBAD//////P///8D////A////AAAAAPwAAAADAAAAA/wAAAWsBAD+/////f///8D////A////AAAAAPwAAAAEAAAABPwAAC2sBAD+/////f///8D////A////AAAAAPwAAAAFAAAABfwAAIWwBAD+/////P///8D////A////AAAAAPwAAAAGAAAABvwAAK2wBAD+/////P///8D////A////AAAAAPwAAAAHAAAAB/wAAIALBQDA////////////////////AAAAAPwAAAAIAAAACPwAACULBQDA////wP///8D////A////AAAAAPwAAAAJAAAACfwAAFwLBQDA////////////////////AAAAAPwAAAAKAAAACvwAAGgLBQDA////////////////////AAAAAPwAAAALAAAAC/wAAOYLBQDA////////////////////AAAAAPwAAAAMAAAADPwAAC8LBQDA////wP///8D////A////AAAAAPwAAAANAAAADfwAANsLBQDA////////////////////AAAAAPwAAAAOAAAADvwAAF8OBQDA////wP///8D////A////AAAAAAAAAAAlAAAAJQAAAGkOBQDA////wP///8D////A////AAAAAAAAAAAmAAAAJgAAAHMOBQDA////wP///8D////A////AAAAAPwAAAAPAAAAD/wAAPELBQDA////wP///8D////A////AAAAAPwAAAAQAAAAEPwAAKULBQDA////wP///8D////A////AAAAAAAAAADQAAAA0AAAAH4OBQDA////wP///8D////A////AAAAAAAAAADRAAAA0QAAAJwLBQDA////wP///8D////A////AAAAAAAAAADSAAAA0gAAAE+oBAD7/////////8D////A////EAAAAP0AAAAAAAAAAP0AAMWmBADA//////////v////A////EAAAAP0AAAABAAAAAf0AAFGmBAD7////wP///8D////A////AAAAAP0AAAACAAAAAv0AAGO2BAD7/////////8D////A////AAAAAP0AAAAEAAAABP0AAM63BAD/////+////8D////A////AAAAAP0AAAAFAAAABf0AAOO3BAD/////+////8D////A////AAAAAP0AAAAGAAAABv0AADa4BAD7////+//////////A////AAAAAP0AAAAHAAAAB/0AAEa3BAD7/////////8D////A////AAAAAP0AAAAIAAAACP0AANK4BAD/////+////8D////A////AAAAAP0AAAAJAAAACf0AAOe4BAD/////+////8D////A////AAAAAP0AAAAKAAAACv0AADi5BAD7////+//////////A////AAAAAP0AAAALAAAAC/0AAHSyBAD7/////////8D////A////AAAAAP0AAAAMAAAADP0AAPC1BAD/////+////8D////A////AAAAAP0AAAANAAAADf0AAIK2BAD7////+//////////A////AAAAAP0AAAAOAAAADv0AABKvBAD7/////v///8D////A////AAAAAP0AAAAPAAAAD/0AAMyyBAD+////+////8D////A////AAAAAP0AAAAQAAAAEP0AAEW0BAD7////+/////7////A////AAAAAP0AAAARAAAAEf0AAF6yBAD7/////f///8D////A////AAAAAP0AAAASAAAAEv0AAMy1BAD9////+////8D////A////AAAAAP0AAAATAAAAE/0AAG+2BAD7////+/////3////A////AAAAAP0AAAAUAAAAFP0AAPeuBAD7/////P///8D////A////AAAAAP0AAAAVAAAAFf0AAKiyBAD8////+////8D////A////AAAAAP0AAAAWAAAAFv0AACe0BAD7////+/////z////A////AAAAAP0AAAAXAAAAF/0AAHS5BAD7////+/////v////A////AAAAAP0AAAAYAAAAGP0AADquBAD7////+/////v////A////AAAAAP0AAAAZAAAAGf0AAH2uBAD7////+/////v////A////AAAAAP0AAAAaAAAAGv0AAIiuBAD7////+/////v////A////AAAAAP0AAAAbAAAAG/0AABy0BAD7////+/////v////A////AAAAAP0AAAAcAAAAHP0AADq0BAD7////+/////v////A////AAAAAP0AAAAdAAAAHf0AAJOuBAD7////+/////v////A////AAAAAP0AAAAeAAAAHv0AAJ6uBAD7////+/////v////A////AAAAAP0AAAAfAAAAH/0AAFi0BAD7////+/////v////A////AAAAAP0AAAAgAAAAIP0AAGO0BAD7////+/////v////A////AAAAAP0AAAAhAAAAIf0AAIm5BAD7////+/////v////A////AAAAAP0AAAAiAAAAIv0AAHywBAD7////+/////v////A////AAAAAP0AAAAjAAAAI/0AAOywBAD7////+/////v////A////AAAAAP0AAAAkAAAAJP0AAPewBAD7////+/////v////A////AAAAAP0AAAAlAAAAJf0AADe2BAD7////+/////v////A////AAAAAP0AAAAmAAAAJv0AAEK2BAD7////+/////v////A////AAAAAP0AAAAnAAAAJ/0AAAKxBAD7////+/////v////A////AAAAAP0AAAAoAAAAKP0AAA2xBAD7////+/////v////A////AAAAAP0AAAApAAAAKf0AAE22BAD7////+/////v////A////AAAAAP0AAAAqAAAAKv0AAFi2BAD7////+/////v////A////AAAAAP0AAAArAAAAK/0AAAG4BAD7////+/////v////A////AAAAAP0AAAAsAAAALP0AAHqpBAD7////+/////v////A////AAAAAP0AAAAtAAAALf0AABSqBAD7////+/////v////A////AAAAAP0AAAAuAAAALv0AADWqBAD7////+/////v////A////AAAAAP0AAAAvAAAAL/0AAGyvBAD7////+/////v////A////AAAAAP0AAAAwAAAAMP0AAHevBAD7////+/////v////A////AAAAAP0AAAAxAAAAMf0AAECqBAD7////+/////v////A////AAAAAP0AAAAyAAAAMv0AAEuqBAD7////+/////v////A////AAAAAP0AAAAzAAAAM/0AAIKvBAD7////+/////v////A////AAAAAP0AAAA0AAAANP0AAJavBAD7////+/////v////A////AAAAAP0AAAA1AAAANf0AAPi3BAD7////+/////v////A////AAAAAP0AAABAAAAAQP0AAFqpBAD7////+/////v////A////AAAAAP0AAABBAAAAQf0AAIOpBAD7////+/////v////A////AAAAAP0AAABCAAAAQv0AAC6vBAD7////+/////v////A////AAAAAP0AAABDAAAAQ/0AAAGqBAD7////+/////v////A////AAAAAP0AAABEAAAARP0AAGOvBAD7////+/////v////A////AAAAAP0AAABFAAAARf0AAK+2BAD7////+/////v////A////AAAAAP0AAABGAAAARv0AAMWlBAD7////+/////v////A////AAAAAP0AAABHAAAAR/0AAOilBAD7////+/////v////A////AAAAAP0AAABIAAAASP0AACWrBAD7////+/////v////A////AAAAAP0AAABJAAAASf0AAAmmBAD7////+/////v////A////AAAAAP0AAABKAAAASv0AAFarBAD7////+/////v////A////AAAAAP0AAABLAAAAS/0AABymBAD7////+////8D////A////AAAAAP0AAABMAAAATP0AAKOmBAD7////+/////v////A////AAAAAP0AAABNAAAATf0AANCmBAD7////+/////v////A////AAAAAP0AAABOAAAATv0AAI2vBAD7////+/////v////A////AAAAAP0AAABPAAAAT/0AAKymBAD7////+/////v////7////AAAAAP0AAABQAAAAUP0AALO3BAD7////+////8D////A////AAAAAP0AAABRAAAAUf0AAEm4BAD/////+////8D////A////AAAAAP0AAABSAAAAUv0AAK2xBAD/////+////8D////A////AAAAAP0AAABTAAAAU/0AAHC3BAD7////+//////////A////AAAAAP0AAABUAAAAVP0AAC63BAD7////+//////////A////AAAAAP0AAABVAAAAVf0AADq3BAD7////+//////////A////AAAAAP0AAABWAAAAVv0AAKGvBAD7////+/////v////A////AAAAAP0AAABXAAAAV/0AAF6zBAD7////+/////v////A////AAAAAP0AAABYAAAAWP0AAHOzBAD7////+/////v////A////AAAAAP0AAABZAAAAWf0AAPqtBAD7////+/////v////A////AAAAAP0AAABaAAAAWv0AAGWxBAD7////+/////v////A////AAAAAP0AAABbAAAAW/0AAHqxBAD7////+/////v////A////AAAAAP0AAABcAAAAXP0AADevBAD7////+/////v////A////AAAAAP0AAABdAAAAXf0AAIm4BAD7////+////8D////A////AAAAAP0AAABiAAAAYv0AAEu5BAD/////+////8D////A////AAAAAP0AAABjAAAAY/0AAOG0BAD/////+////8D////A////AAAAAP0AAABkAAAAZP0AAHC4BAD7////+//////////A////AAAAAP0AAABlAAAAZf0AAFi4BAD7////+//////////A////AAAAAP0AAABmAAAAZv0AAGS4BAD7////+//////////A////AAAAAP0AAABnAAAAZ/0AAGqyBAD7////+/////v////A////AAAAAP0AAABoAAAAaP0AAAO2BAD7////+/////v////A////AAAAAP0AAABpAAAAaf0AABi2BAD7////+/////v////A////AAAAAP0AAABqAAAAav0AAGqwBAD7////+/////v////A////AAAAAP0AAABrAAAAa/0AAKm0BAD7////+/////v////A////AAAAAP0AAABsAAAAbP0AAL60BAD7////+/////v////A////AAAAAP0AAABtAAAAbf0AAKOxBAD7////+/////v////A////AAAAAP0AAABuAAAAbv0AAKy1BAD7////+////8D////A////AAAAAP0AAABzAAAAc/0AAJW2BAD/////+////8D////A////AAAAAP0AAAB0AAAAdP0AAEOtBAD/////+////8D////A////AAAAAP0AAAB1AAAAdf0AAES1BAD7////+//////////A////AAAAAP0AAAB2AAAAdv0AACy1BAD7////+//////////A////AAAAAP0AAAB3AAAAd/0AADi1BAD7////+//////////A////AAAAAP0AAAB4AAAAeP0AAMeqBAD7////+/////v////A////AAAAAP0AAAB5AAAAef0AADmpBAD7////+/////v////A////AAAAAP0AAAB8AAAAfP0AALOqBAD7////+/////v////A////AAAAAP0AAAB/AAAAf/0AAIqyBAD7////+////8D////A////AAAAAP0AAACEAAAAhP0AAG60BAD/////+////8D////A////AAAAAP0AAACFAAAAhf0AAFaqBAD/////+////8D////A////AAAAAP0AAACGAAAAhv0AALyxBAD7////+//////////A////AAAAAP0AAACHAAAAh/0AAE2xBAD7////+//////////A////AAAAAP0AAACIAAAAiP0AAFmxBAD7////+//////////A////AAAAAP0AAACJAAAAif0AAA6nBAD7////+/////v////A////AAAAAP0AAACKAAAAiv0AAKGlBAD7////+/////v////A////AAAAAP0AAACNAAAAjf0AAGWqBAD7////+////8D////A////AAAAAP0AAACVAAAAlf0AAKK1BAD7////+////8D////A////AAAAAP0AAACWAAAAlv0AAAOzBAD7////+////8D////A////AAAAAP0AAACXAAAAl/0AAL2qBAD7////+/////v////A////AAAAAP0AAACaAAAAmv0AAC+pBAD7////+/////v////A////AAAAAP0AAACbAAAAm/0AAKmqBAD7////+/////v////A////AAAAAP0AAACcAAAAnP0AAFWsBAD7////+/////v////A////AAAAAP0AAACdAAAAnf0AAAqqBAD7////+/////v////A////AAAAAP0AAACeAAAAnv0AAGa3BAD7////+/////v////A////AAAAAP0AAACfAAAAn/0AAGamBAD7////+////8D////A////AAAAAP0AAACgAAAAoP0AAICyBAD7////+////8D////A////AAAAAP0AAAChAAAAof0AAKuvBAD7////+////8D////A////AAAAAP0AAACiAAAAov0AAASnBAD7////+/////v////A////AAAAAP0AAAClAAAApf0AAIelBAD7////+/////v////A////AAAAAP0AAACmAAAApv0AALumBAD7////+/////v////A////AAAAAP0AAACnAAAAp/0AACWpBAD7////+/////v////A////AAAAAP0AAACoAAAAqP0AABKmBAD7////+/////v////A////AAAAAP0AAACpAAAAqf0AAC22BAD7////+/////v////A////AAAAAP0AAACqAAAAqv0AAE61BAD7////+////8D////A////AAAAAP0AAACrAAAAq/0AAGa1BAD7////+////8D////A////AAAAAP0AAACsAAAArP0AAIizBAD7////+////8D////A////AAAAAP0AAACtAAAArf0AAKCzBAD7////+////8D////A////AAAAAP0AAACuAAAArv0AAIe3BAD7////+////8D////A////AAAAAP0AAACvAAAAr/0AAJ23BAD7////+////8D////A////AAAAAP0AAACwAAAAsP0AAAq4BAD7////+////8D////A////AAAAAP0AAACxAAAAsf0AACC4BAD7////+////8D////A////AAAAAP0AAACyAAAAsv0AADSxBAD7////+/////v////A////AAAAAP0AAADAAAAAwP0AAMcLBQD7////+/////v////A////AAAAAP0AAADBAAAAwf0AAL23BAD7/////////8D////A////AQAAAP0AAADCAAAAwv0AAJO4BAD7/////////8D////A////AgAAAP0AAADDAAAAw/0AAN+1BAD7/////////8D////A////BAAAAP0AAADEAAAAxP0AALuyBAD7/////////8D////A////CAAAAP0AAADFAAAAxf0AAPy4BAD////////////////A////BAAAAP4AAAAAAAAAAP4AAICmBAD////////////////+////BAAAAP4AAAABAAAAAf4AAHCmBAD///////////7////+////CAAAAP4AAAACAAAAAv4AAPKnBAD//////////8D////A////BAAAAP4AAAAQAAAAEP4AAOKnBAD+/////////8D////A////CAAAAP4AAAARAAAAEf4AAFauBAD//////////8D////A////AQAAAP4AAAASAAAAEv4AAEKrBAD//////////8D////A////AgAAAP4AAAATAAAAE/4AAEOuBAD+/////////8D////A////AQAAAP4AAAAUAAAAFP4AAC6rBAD+/////////8D////A////AgAAAP4AAAAVAAAAFf4AAGmuBAD+/////////8D////A////BAAAAP4AAAAWAAAAFv4AAECmBADA///////////////A////BAAAAP4AAAAXAAAAF/4AAC+mBADA//////////7////A////CAAAAP4AAAAYAAAAGP4AAJC1BADA///////////////A////AQAAAP4AAAAZAAAAGf4AALyuBADA///////////////A////AgAAAP4AAAAaAAAAGv4AAH61BADA//////////7////A////AQAAAP4AAAAbAAAAG/4AAKmuBADA//////////7////A////AgAAAP4AAAAcAAAAHP4AAJCmBADA//////////7////A////BAAAAP4AAAAdAAAAHf4AAMOoBAD////////////////A////BAAAAP4AAAAeAAAAHv4AALCoBAD+//////////7////A////CAAAAP4AAAAfAAAAH/4AAG6nBAD////////////////A////AQAAAP4AAAAgAAAAIP4AAPCsBAD////////////////A////AgAAAP4AAAAhAAAAIf4AAFinBAD+//////////7////A////AQAAAP4AAAAiAAAAIv4AANmsBAD+//////////7////A////AgAAAP4AAAAjAAAAI/4AAEOpBAD+//////////7////A////BAAAAP4AAAAkAAAAJP4AAJ2oBAD////////////////A////BAAAAP4AAAAlAAAAJf4AAIqoBAD+//////////7////A////CAAAAP4AAAAmAAAAJv4AAO6mBAD////////////////A////AQAAAP4AAAAnAAAAJ/4AAJqrBAD////////////////A////AgAAAP4AAAAoAAAAKP4AANimBAD+//////////7////A////AQAAAP4AAAApAAAAKf4AAIOrBAD+//////////7////A////AgAAAP4AAAAqAAAAKv4AALCnBAD+//////////7////A////BAAAAP4AAAArAAAAK/4AAO6pBAD////////////////A////BAAAAP4AAAAsAAAALP4AANupBAD+//////////7////A////CAAAAP4AAAAtAAAALf4AAJqnBAD////////////////A////AQAAAP4AAAAuAAAALv4AACytBAD////////////////A////AgAAAP4AAAAvAAAAL/4AAISnBAD+//////////7////A////AQAAAP4AAAAwAAAAMP4AABWtBAD+//////////7////A////AgAAAP4AAAAxAAAAMf4AAGOpBAD+//////////7////A////BAAAAP4AAAAyAAAAMv4AAHioBAD////////////////A////BAAAAP4AAAAzAAAAM/4AAGaoBAD+//////////7////A////CAAAAP4AAAA0AAAANP4AAFWwBAD////////////////A////AQAAAP4AAAA1AAAANf4AANKtBAD////////////////A////AgAAAP4AAAA2AAAANv4AAECwBAD+//////////7////A////AQAAAP4AAAA3AAAAN/4AALytBAD+//////////7////A////AgAAAP4AAAA4AAAAOP4AAB+qBAD+//////////7////A////BAAAAP4AAAA5AAAAOf4AAPO2BAD////////////////A////BAAAAP4AAAA6AAAAOv4AAOC2BAD+//////////7////A////CAAAAP4AAAA7AAAAO/4AAJO0BAD////////////////A////AQAAAP4AAAA8AAAAPP4AABW1BAD////////////////A////AgAAAP4AAAA9AAAAPf4AAH20BAD+//////////7////A////AQAAAP4AAAA+AAAAPv4AAP60BAD+//////////7////A////AgAAAP4AAAA/AAAAP/4AANWwBAD+//////////7////A////BAAAAP4AAABAAAAAQP4AAKa5BAD////////////////A////BAAAAP4AAABBAAAAQf4AAJK5BAD+//////////7////A////CAAAAP4AAABCAAAAQv4AALu4BAD////////////////A////AQAAAP4AAABDAAAAQ/4AAAS0BAD////////////////A////AgAAAP4AAABEAAAARP4AAKS4BAD+//////////7////A////AQAAAP4AAABFAAAARf4AAOyzBAD+//////////7////A////AgAAAP4AAABGAAAARv4AALavBAD+//////////7////A////BAAAAP4AAABHAAAAR/4AACG5BAD/////////////////////BAAAAP4AAABIAAAASP4AAAq5BAD+//////////7////+////CAAAAP4AAABJAAAASf4AAOivBAD/////////////////////AQAAAP4AAABKAAAASv4AAMyrBAD/////////////////////AgAAAP4AAABLAAAAS/4AAM6vBAD+//////////7////+////AQAAAP4AAABMAAAATP4AALGrBAD+//////////7////+////AgAAAP4AAABNAAAATf4AAMenBAD+//////////7////+////BAAAAP4AAABOAAAATv4AABGWBADA////wP///8D////A////AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQABAQEBAQAAAQEAAQEBDQ0NDQ0NDQ0NDQEAAQEBAQEFBQUFBQUBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEBAQcHBwcHBwMDAwMDAwMDAwMDAwMDAwMDAwMDAAEAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEgHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHCQArAEgHDgAKAI8ACQA4AcoAkgAaAeUBVwBIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAcJAAkAPwAMAAkAFgAPAAkAPQEqAgwADQAJACwACgAaAD8ApwHTAS4ACQAJAAsAVgAnAJIBMwIRAEgHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAdIB0gHSAcAAAAAAAAAAAAAAAAAAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAAABAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEwMTIzNDU2Nzg5YWJjZGVmAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEAAQEBAQEAAAEBAAEBAQEBAQEBAQEBAQEBAAEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEAAQABAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQEBAQABAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgAAAAAAAAAQAAAAIAAAADAAAABAAAAAUAAAAGAAAABwAAAAgAAAAJAAAACgAAAAsAAAAMAAAADQAAAA4AAAAPAAAAEAAAABEAAAASAAAAEwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABQAAAAVAAAAAAAAAAAAAAAAAAAAAAAAABYAAAAXAAAAGAAAABkAAAAaAAAAzAAAAM0AAAAAAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAEkAAABKAAAASwAAAEwAAABNAAAATgAAAE8AAABQAAAAUQAAAFIAAABTAAAAVAAAAFUAAABWAAAAVwAAAFgAAABZAAAAWgAAAFsAAABcAAAAXQAAAF4AAABfAAAAYAAAAGEAAABiAAAAYwAAAGQAAABlAAAAZgAAAGcAAABoAAAAaQAAAGoAAABrAAAAbAAAAG0AAABuAAAAbwAAAHAAAABxAAAAcgAAAHMAAAB0AAAAdQAAAHYAAAB3AAAAeAAAAHkAAAB6AAAAewAAAHwAAAB9AAAAfgAAAH8AAACAAAAAgQAAAIIAAACDAAAAhAAAAIUAAACGAAAAhwAAAIgAAACJAAAAigAAAIsAAACMAAAAjQAAAI4AAACPAAAAkAAAAJEAAACSAAAAkwAAAJQAAACVAAAAlgAAAJcAAACYAAAAmQAAAJoAAACbAAAAnAAAAJ0AAACeAAAAnwAAAKAAAAChAAAAogAAAKMAAACkAAAApQAAAKYAAACnAAAAqAAAAKkAAACqAAAAqwAAAKwAAACtAAAArgAAAK8AAACwAAAAsQAAALIAAACzAAAAtAAAALUAAAC2AAAAtwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0AAAANEAAADSAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAALgAAAC5AAAAugAAALsAAAC8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAC9AAAAvgAAAL8AAADAAAAAwQAAAMIAAADDAAAAxAAAAMUAAADGAAAAxwAAAMgAAADJAAAAygAAAMsAAADOAAAAzwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA0wAAANQAAADVAAAAAAAAANYAAADXAAAA2AAAANkAAADaAAAA2wAAANwAAADdAAAA3gAAAN8AAADgAAAA4QAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgBAAAJAQAACgEAAAsBAAAMAQAADQEAAA4BAAAPAQAAEAEAABEBAAASAQAAEwEAABQBAAAVAQAAFgEAABcBAAAYAQAAGQEAABoBAAAbAQAAHAEAAB0BAAAeAQAAHwEAACABAAAhAQAAIgEAACMBAAAkAQAAJQEAAAAAAAAAAAAAAAAAAAAAAAAmAQAAJwEAACgBAAApAQAAKgEAACsBAAAsAQAALQEAAC4BAAAvAQAAMAEAADEBAAAyAQAAAAAAAAAAAAAAAAAAAAAAADMBAAA0AQAANQEAADYBAAA3AQAAOAEAADkBAAAAAAAAAAAAADoBAAAAAAAAAAAAADsBAAAAAAAAAAAAAAAAAAAAAAAAPAEAAD0BAAA+AQAAPwEAAEABAABBAQAAQgEAAAAAAAAAAAAAQwEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEAQAARQEAAEYBAAAAAAAAAAAAAEcBAABIAQAASQEAAEoBAABLAQAATAEAAE0BAABOAQAATwEAAAAAAAAAAAAAUAEAAFEBAABSAQAAUwEAAFQBAABVAQAAVgEAAFcBAABYAQAAWQEAAFoBAABbAQAAXAEAAF0BAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAXgEAAF8BAABgAQAAYQEAAGIBAABjAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGQBAABlAQAAZgEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABnAQAAaAEAAGkBAABqAQAAawEAAGwBAABtAQAAbgEAAG8BAABwAQAAcQEAAHIBAABzAQAAdAEAAHUBAAB2AQAAdwEAAHgBAAB5AQAAegEAAHsBAAB8AQAAfQEAAH4BAAB/AQAAgAEAAIEBAACCAQAAgwEAAIQBAACFAQAAhgEAAIcBAACIAQAAiQEAAIoBAACLAQAAjAEAAI0BAACOAQAAjwEAAJABAACRAQAAkgEAAJMBAACUAQAAlQEAAJYBAACXAQAAmAEAAJkBAACaAQAAmwEAAJwBAACdAQAAngEAAJ8BAACgAQAAoQEAAKIBAACjAQAApAEAAKUBAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAATAkFAFQJBQBmCQUAdQkFAIYJBQCUCQUAsQkFAM0JBQDZCQUA6wkFAO8JBQD0CQUA+QkFAP0JBQADCgUAxgwFAAoKBQAOCgUAFQoFABwKBQAjCgUAKQoFACsKBQAyCgUAOQoFAD0KBQBECgUASgoFAFAKBQBZCgUAYAoFAGIKBQBpCgUAbwoFAHUKBQB6CgUAfwoFAIUKBQCLCgUAkQoFAJcKBQCdCgUAowoFAKkKBQCtCgUAsQoFAL0KBQDLCgUA1goFAOkKBQD2CgUAAgsFACoNBQAwDQUAMw0FADkNBQB5DQUAvw0FAMQNBQAJCwUADwsFABcLBQAdCwUAJQsFAP0NBQAvCwUAOQsFAD4LBQBCCwUAQA4FAB8OBQBNCwUAUgsFAEsOBQBVDgUAGg4FAFwLBQBoCwUAdAsFAIALBQCMCwUAmAsFAJwLBQB+DgUApQsFAIoOBQDeDQUA0g0FAJgOBQCfDgUArgsFALkLBQDHCwUA1QsFANsLBQBfDgUAcw4FAOYLBQBpDgUA8QsFAPwLBQCSDgUAMg4FAAQMBQAKDAUAFgwFAB0MBQAoDAUAMAwFADkMBQA+DAUAQgwFABEOBQAqDQUAGg4FAB8OBQAiDgUAMg4FADYOBQAAAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAABAAAAAQAAAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAACAAAAAgAAAAIAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAAAwAAAAMAAAADAAAABAAAAAQAAAAEAAAABAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABEACgAREREAAAAABQAAAAAAAAkAAAAACwAAAAAAAAAAEQAPChEREQMKBwABEwkLCwAACQYLAAALAAYRAAAAERERAAAAAAAAAAAAAAAAAAAAAAsAAAAAAAAAABEACgoREREACgAAAgAJCwAAAAkACwAACwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAMAAAAAAAAAAAAAAAMAAAAAAwAAAAACQwAAAAAAAwAAAwAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAADgAAAAAAAAAAAAAADQAAAAQNAAAAAAkOAAAAAAAOAAAOAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABAAAAAAAAAAAAAAAA8AAAAADwAAAAAJEAAAAAAAEAAAEAAAEgAAABISEgAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAASAAAAEhISAAAAAAAACQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACwAAAAAAAAAAAAAACgAAAAAKAAAAAAkLAAAAAAALAAALAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAwAAAAAAAAAAAAAAAwAAAAADAAAAAAJDAAAAAAADAAADAAAMDEyMzQ1Njc4OUFCQ0RFRlQhIhkNAQIDEUscDBAECx0SHidobm9wcWIgBQYPExQVGggWBygkFxgJCg4bHyUjg4J9JiorPD0+P0NHSk1YWVpbXF1eX2BhY2RlZmdpamtscnN0eXp7fAAAAAAAAAAAAElsbGVnYWwgYnl0ZSBzZXF1ZW5jZQBEb21haW4gZXJyb3IAUmVzdWx0IG5vdCByZXByZXNlbnRhYmxlAE5vdCBhIHR0eQBQZXJtaXNzaW9uIGRlbmllZABPcGVyYXRpb24gbm90IHBlcm1pdHRlZABObyBzdWNoIGZpbGUgb3IgZGlyZWN0b3J5AE5vIHN1Y2ggcHJvY2VzcwBGaWxlIGV4aXN0cwBWYWx1ZSB0b28gbGFyZ2UgZm9yIGRhdGEgdHlwZQBObyBzcGFjZSBsZWZ0IG9uIGRldmljZQBPdXQgb2YgbWVtb3J5AFJlc291cmNlIGJ1c3kASW50ZXJydXB0ZWQgc3lzdGVtIGNhbGwAUmVzb3VyY2UgdGVtcG9yYXJpbHkgdW5hdmFpbGFibGUASW52YWxpZCBzZWVrAENyb3NzLWRldmljZSBsaW5rAFJlYWQtb25seSBmaWxlIHN5c3RlbQBEaXJlY3Rvcnkgbm90IGVtcHR5AENvbm5lY3Rpb24gcmVzZXQgYnkgcGVlcgBPcGVyYXRpb24gdGltZWQgb3V0AENvbm5lY3Rpb24gcmVmdXNlZABIb3N0IGlzIGRvd24ASG9zdCBpcyB1bnJlYWNoYWJsZQBBZGRyZXNzIGluIHVzZQBCcm9rZW4gcGlwZQBJL08gZXJyb3IATm8gc3VjaCBkZXZpY2Ugb3IgYWRkcmVzcwBCbG9jayBkZXZpY2UgcmVxdWlyZWQATm8gc3VjaCBkZXZpY2UATm90IGEgZGlyZWN0b3J5AElzIGEgZGlyZWN0b3J5AFRleHQgZmlsZSBidXN5AEV4ZWMgZm9ybWF0IGVycm9yAEludmFsaWQgYXJndW1lbnQAQXJndW1lbnQgbGlzdCB0b28gbG9uZwBTeW1ib2xpYyBsaW5rIGxvb3AARmlsZW5hbWUgdG9vIGxvbmcAVG9vIG1hbnkgb3BlbiBmaWxlcyBpbiBzeXN0ZW0ATm8gZmlsZSBkZXNjcmlwdG9ycyBhdmFpbGFibGUAQmFkIGZpbGUgZGVzY3JpcHRvcgBObyBjaGlsZCBwcm9jZXNzAEJhZCBhZGRyZXNzAEZpbGUgdG9vIGxhcmdlAFRvbyBtYW55IGxpbmtzAE5vIGxvY2tzIGF2YWlsYWJsZQBSZXNvdXJjZSBkZWFkbG9jayB3b3VsZCBvY2N1cgBTdGF0ZSBub3QgcmVjb3ZlcmFibGUAUHJldmlvdXMgb3duZXIgZGllZABPcGVyYXRpb24gY2FuY2VsZWQARnVuY3Rpb24gbm90IGltcGxlbWVudGVkAE5vIG1lc3NhZ2Ugb2YgZGVzaXJlZCB0eXBlAElkZW50aWZpZXIgcmVtb3ZlZABEZXZpY2Ugbm90IGEgc3RyZWFtAE5vIGRhdGEgYXZhaWxhYmxlAERldmljZSB0aW1lb3V0AE91dCBvZiBzdHJlYW1zIHJlc291cmNlcwBMaW5rIGhhcyBiZWVuIHNldmVyZWQAUHJvdG9jb2wgZXJyb3IAQmFkIG1lc3NhZ2UARmlsZSBkZXNjcmlwdG9yIGluIGJhZCBzdGF0ZQBOb3QgYSBzb2NrZXQARGVzdGluYXRpb24gYWRkcmVzcyByZXF1aXJlZABNZXNzYWdlIHRvbyBsYXJnZQBQcm90b2NvbCB3cm9uZyB0eXBlIGZvciBzb2NrZXQAUHJvdG9jb2wgbm90IGF2YWlsYWJsZQBQcm90b2NvbCBub3Qgc3VwcG9ydGVkAFNvY2tldCB0eXBlIG5vdCBzdXBwb3J0ZWQATm90IHN1cHBvcnRlZABQcm90b2NvbCBmYW1pbHkgbm90IHN1cHBvcnRlZABBZGRyZXNzIGZhbWlseSBub3Qgc3VwcG9ydGVkIGJ5IHByb3RvY29sAEFkZHJlc3Mgbm90IGF2YWlsYWJsZQBOZXR3b3JrIGlzIGRvd24ATmV0d29yayB1bnJlYWNoYWJsZQBDb25uZWN0aW9uIHJlc2V0IGJ5IG5ldHdvcmsAQ29ubmVjdGlvbiBhYm9ydGVkAE5vIGJ1ZmZlciBzcGFjZSBhdmFpbGFibGUAU29ja2V0IGlzIGNvbm5lY3RlZABTb2NrZXQgbm90IGNvbm5lY3RlZABDYW5ub3Qgc2VuZCBhZnRlciBzb2NrZXQgc2h1dGRvd24AT3BlcmF0aW9uIGFscmVhZHkgaW4gcHJvZ3Jlc3MAT3BlcmF0aW9uIGluIHByb2dyZXNzAFN0YWxlIGZpbGUgaGFuZGxlAFJlbW90ZSBJL08gZXJyb3IAUXVvdGEgZXhjZWVkZWQATm8gbWVkaXVtIGZvdW5kAFdyb25nIG1lZGl1bSB0eXBlAE5vIGVycm9yIGluZm9ybWF0aW9uAAAAAAAACgAAAGQAAADoAwAAECcAAKCGAQBAQg8AgJaYAADh9QUAAAAAAgAAAAMAAAAFAAAABwAAAAsAAAANAAAAEQAAABMAAAAXAAAAHQAAAB8AAAAlAAAAKQAAACsAAAAvAAAANQAAADsAAAA9AAAAQwAAAEcAAABJAAAATwAAAFMAAABZAAAAYQAAAGUAAABnAAAAawAAAG0AAABxAAAAfwAAAIMAAACJAAAAiwAAAJUAAACXAAAAnQAAAKMAAACnAAAArQAAALMAAAC1AAAAvwAAAMEAAADFAAAAxwAAANMAAAABAAAACwAAAA0AAAARAAAAEwAAABcAAAAdAAAAHwAAACUAAAApAAAAKwAAAC8AAAA1AAAAOwAAAD0AAABDAAAARwAAAEkAAABPAAAAUwAAAFkAAABhAAAAZQAAAGcAAABrAAAAbQAAAHEAAAB5AAAAfwAAAIMAAACJAAAAiwAAAI8AAACVAAAAlwAAAJ0AAACjAAAApwAAAKkAAACtAAAAswAAALUAAAC7AAAAvwAAAMEAAADFAAAAxwAAANEAAADIdAQAGXUEAEBUBAAAAAAAyHQEADx1BABQVAQAAAAAAKB0BABedQQAyHQEAIKJBADgXAQAAAAAAMh0BAB8dQQAeFQEAAAAAADIdAQAjnUEAIhUBAAAAAAA8HQEALN1BAAAAAAAAQAAAKBUBAACBAAAoHQEAMB1BADIdAQA6HUEALhUBAAAAAAAyHQEAAt2BACIVAQAAAAAAMh0BAAwdgQA2FQEAAAAAADIdAQASnYEAOhUBAAAAAAA8HQEAH92BAAAAAAAAQAAAABVBAACBAAAoHQEAJR2BADIdAQAMXcEABhVBAAAAAAAyHQEAFF3BADoVAQAAAAAAMh0BACFdwQAOFUEAAAAAADIdAQApXcEAOhUBAAAAAAAyHQEAP93BABYVQQAAAAAAMh0BAApeAQAiFQEAAAAAADIdAQATngEAHhVBAAAAAAAyHQEAGl4BACIVAQAAAAAAMh0BACOeAQAmFUEAAAAAADIdAQApngEAIhUBAAAAAAAyHQEAOV4BACIVAQAAAAAAMh0BAAKeQQAyFUEAAAAAADIdAQAMXkEAIhUBAAAAAAAyHQEAFZ5BADoVQQAAAAAAMh0BAB9eQQAiFQEAAAAAADIdAQAonkEAAhWBAAAAAAAyHQEALJ5BACIVAQAAAAAAMh0BADXeQQAKFYEAAAAAADIdAQA+nkEAIhUBAAAAAAAyHQEAB96BABIVgQAAAAAAMh0BABJegQAiFQEAAAAAADIdAQAbnoEAIhUBAAAAAAAyHQEAJN6BAB4VgQAAAAAAMh0BACzegQAiFQEAAAAAADIdAQA2HoEAJhWBAAAAAAAyHQEAPt6BACIVAQAAAAAAMh0BAAgewQAiFQEAAAAAADIdAQARXsEAIhUBAAAAAAAyHQEAGp7BACIVAQAAAAAAMh0BACPewQAiFQEAAAAAADIdAQAtHsEAIhUBAAAAAAAyHQEANl7BAAIVwQAAAAAAMh0BAD8ewQAiFQEAAAAAADIdAQAIXwEAChXBAAAAAAAyHQEAER8BACIVAQAAAAAAMh0BABpfAQASFcEAAAAAADIdAQAjHwEAIhUBAAAAAAAyHQEALF8BABoVwQAAAAAAMh0BADUfAQAiFQEAAAAAADIdAQA+XwEAIhXBAAAAAAAyHQEABx9BACIVAQAAAAAAMh0BABBfQQAqFcEAAAAAADIdAQAZH0EAIhUBAAAAAAAyHQEAIl9BACIVAQAAAAAAMh0BACufQQAiFQEAAAAAADIdAQA030EAOhXBAAAAAAAyHQEAPZ9BACIVAQAAAAAAMh0BAAbfgQAiFQEAAAAAADIdAQAQH4EAIhUBAAAAAAAyHQEAGV+BAAoWAQAAAAAAMh0BACIfgQAiFQEAAAAAADIdAQArX4EAIhUBAAAAAAAyHQEANJ+BABYWAQAAAAAAMh0BAD8fgQAiFQEAAAAAADIdAQAIX8EAHhYBAAAAAAAyHQEAER/BACIVAQAAAAAAMh0BABpfwQAmFgEAAAAAADIdAQAjH8EAIhUBAAAAAAAyHQEALF/BAC4WAQAAAAAAMh0BADUfwQAiFQEAAAAAADIdAQA+X8EANhYBAAAAAAAyHQEACOABACIVAQAAAAAAMh0BABIgAQA+FgEAAAAAADIdAQAV4AEAIhUBAAAAAAAyHQEAHyABAAYWQQAAAAAAMh0BACfgAQAiFQEAAAAAADIdAQA6IAEAIhUBAAAAAAAyHQEAA2BBABIWQQAAAAAAMh0BAA0gQQAiFQEAAAAAADIdAQAWYEEAGhZBAAAAAAAyHQEAICBBACIVAQAAAAAAMh0BADLgQQAiFkEAAAAAADIdAQA5YEEAIhUBAAAAAAAyHQEAAqCBACoWQQAAAAAAMh0BAAtggQAiFQEAAAAAADIdAQAUoIEAMhZBAAAAAAAyHQEAGeCBACIVAQAAAAAAMh0BACMggQA6FkEAAAAAADIdAQAoYIEAIhUBAAAAAAAyHQEAMaCBAAIWgQAAAAAAMh0BADoggQAiFQEAAAAAADIdAQADIMEAChaBAAAAAAAyHQEAC6DBACIVAQAAAAAAMh0BABSgwQASFoEAAAAAADIdAQAe4MEAIhUBAAAAAAAyHQEAJ+DBABoWgQAAAAAAMh0BADFgwQAiFQEAAAAAADIdAQA6YMEAIhaBAAAAAAAyHQEABKEBACIVAQAAAAAAMh0BAA2hAQAqFoEAAAAAADIdAQAX4QEAIhUBAAAAAAAyHQEAIOEBADIWgQAAAAAAMh0BACshAQAiFQEAAAAAADIdAQA0IQEAOhaBAAAAAAAyHQEAPmEBACIVAQAAAAAAMh0BAAdhQQACFsEAAAAAADIdAQARoUEAIhUBAAAAAAAyHQEAGqFBAAoWwQAAAAAAMh0BACThQQAiFQEAAAAAADIdAQAt4UEAEhbBAAAAAAAyHQEANGFBADoVAQAAAAAAMh0BAAFhgQAaFsEAAAAAADIdAQAIIYEAOhUBAAAAAAAyHQEAFSGBACIWwQAAAAAAMh0BABvhgQA6FQEAAAAAADIdAQAo4YEAKhbBAAAAAAAyHQEAL6GBADoVAQAAAAAAMh0BADyhgQAyFsEAAAAAADIdAQADIcEAOhUBAAAAAAAyHQEAECHBADoWwQAAAAAAMh0BABZhwQA6FQEAAAAAADIdAQAjYcEAAhcBAAAAAAAyHQEAKiHBADoVAQAAAAAAMh0BADrhwQAMFwEAAAAAACgdAQA3IcEAMh0BAAAiAQAKFwEAAAAAADIdAQALIgEAFBcBAAAAAAAyHQEAEKIBAAoXAQAAAAAAMh0BABuiAQAcFwEAAAAAADIdAQAhIgEAChcBAAAAAAAyHQEALCIBACQXAQAAAAAAMh0BADFiAQAKFwEAAAAAADIdAQA8YgEALBcBAAAAAAAyHQEAAWJBAAoXAQAAAAAAMh0BAAxiQQA0FwEAAAAAADIdAQATokEAOhUBAAAAAAAyHQEAKiJBADwXAQAAAAAAKB0BADBiQQAyHQEABORBAAQXQQAAAAAAKB0BABhkAQAoHQEAPSRBADIdAQA0pMEAEBUBAAAAAAAyHQEAJaWBABAXQQAAAAAAKB0BAA2lgQAoHQEAFeXBADIdAQAKpgEAEBdBAAAAAAAoHQEANKXBADIdAQAPZkEAEBUBAAAAAAAyHQEAGGZBACAXQQAAAAAAKB0BAB3mQQAyHQEACaeBABAXQQAAAAAAKB0BAC5nQQAyHQEAF6gBAC4XQQAAAAAAKB0BADinwQAoHQEAAWhBADIdAQA+KIEAFBUBAAAAAAAyHQEADm9BABAVAQAAAAAAMh0BAAfvgQA8F0EAAAAAADIdAQANr4EAABeBAAAAAAAoHQEAGK+BADIdAQAcr4EABheBAAAAAAAyHQEAIy+BAAoXgQAAAAAAKB0BADCvgQAyHQEANi+BABAXgQAAAAAAMh0BAANvwQAKF4EAAAAAADIdAQAQ78EAGBeBAAAAAAAyHQEAHi/BAAoXgQAAAAAAMh0BAC4vwQAgF4EAAAAAADIdAQA0b8EAABeBAAAAAAAyHQEAP2/BACgXgQAAAAAAMh0BAAPwAQAsF4EAAAAAACgdAQAOcAEAMh0BABIwAQAyF4EAAAAAADIdAQAXsAEALBeBAAAAAAAyHQEAIjABADoXgQAAAAAAMh0BAC5wAQAAF4EAAAAAADIdAQA5cAEAAhfBAAAAAAAyHQEABjBBAAAXgQAAAAAAMh0BABEwQQAKF8EAAAAAADIdAQAesEEAABeBAAAAAAAyHQEAKfBBABIXwQAAAAAAMh0BADawQQAAF4EAAAAAADIdAQABsIEAGhfBAAAAAAAyHQEADfCBAAAXgQAAAAAAMh0BABjwgQAiF8EAAAAAADIdAQAlMIEAABeBAAAAAAAyHQEAMDCBACoXwQAAAAAAMh0BADdwgQAAF4EAAAAAADIdAQACcMEAMhfBAAAAAAAyHQEADzDBAAAXgQAAAAAAMh0BABowwQA6F8EAAAAAADIdAQAm8MEAABeBAAAAAAAyHQEAMfDBAAIYAQAAAAAAMh0BAD9wwQAAF4EAAAAAADIdAQAqMQEAFBUBAAAAAAAyHQEAC8JBQDwXAQAAAAAAMh0BACmDwUASGAEAAAAAADIdAQAUw8FAFhgBAAAAAAAoHQEAHQPBQDIdAQAgQ8FADhgBAAAAAAAyHQEAMgPBQA4YAQAAAAAAAAAAAAwVAQACwAAAAwAAAALAAAADAAAAA0AAAAOAAAADwAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAABYAAAAXAAAAGAAAABkAAAAaAAAAGwAAABwAAAAdAAAAHgAAAB8AAAAgAAAAIQAAACIAAAAjAAAAJAAAACUAAAAmAAAAJwAAACgAAAApAAAAKgAAACsAAAAsAAAALQAAAC4AAAAvAAAAMAAAADEAAAAyAAAAMwAAADQAAAA1AAAANgAAADcAAAA4AAAAOQAAADoAAAA7AAAAPAAAAD0AAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAAAAAABYVAQADQAAAA4AAABJAAAACwAAAEoAAAALAAAACwAAAAsAAAAMAAAASwAAAEwAAAALAAAADQAAAE0AAABOAAAADAAAAAwAAAALAAAADQAAAAwAAAAOAAAADgAAAE8AAABQAAAADAAAAA8AAABRAAAAUgAAAA0AAAAQAAAAUwAAAFQAAAANAAAAEQAAAFUAAABWAAAADgAAAFcAAABYAAAAWQAAABIAAABaAAAAWwAAAAsAAAATAAAAXAAAAF0AAAAUAAAAXgAAAF8AAAAOAAAAYAAAAA8AAABhAAAAFQAAAGIAAABjAAAADwAAABAAAAARAAAAZAAAABIAAABlAAAAZgAAABAAAAARAAAAEgAAABMAAAAUAAAAFQAAAGcAAABoAAAAaQAAAGoAAAATAAAAFgAAAGsAAAAUAAAAFgAAAGwAAABtAAAAFwAAABgAAAAZAAAAGgAAAG4AAAAVAAAAbwAAAHAAAABxAAAAcgAAABYAAABzAAAAFwAAAHQAAAB1AAAAdgAAAHcAAAAbAAAAeAAAABwAAAAdAAAAeQAAAB4AAAAfAAAAegAAAHsAAAB8AAAAfQAAAH4AAAB/AAAAIAAAACEAAAAiAAAAIwAAACQAAACAAAAAFwAAACUAAAAYAAAAgQAAAIIAAACDAAAAhAAAACYAAACFAAAAJwAAABkAAAAYAAAAGgAAAIYAAACHAAAADAAAAIgAAACJAAAAGQAAAIoAAAAaAAAAiwAAACgAAACMAAAAjQAAABsAAACOAAAAjwAAABwAAACQAAAAKQAAAJEAAACSAAAAKgAAAJMAAAAdAAAAlAAAAB4AAACVAAAAGwAAAB8AAACWAAAAHAAAACAAAAArAAAAlwAAAB0AAAANAAAALAAAAJgAAAAOAAAAmQAAAJoAAAAtAAAAmwAAAJwAAAAhAAAADQAAAA8AAAAQAAAAIgAAABEAAACdAAAAEgAAAJ4AAAAeAAAAnwAAACMAAAAfAAAALgAAAKAAAAChAAAAIAAAAC8AAAAhAAAAJAAAACIAAAAjAAAAJAAAACUAAAAAAAAAaFQEAA8AAAAQAAAAAAAAAKhUBAARAAAAEgAAAAAAAADIVAQAEwAAABQAAAAAAAAACFUEABUAAAAWAAAAAAAAAChVBAAXAAAAGAAAAAAAAABIVQQADwAAABkAAAAAAAAAaFUEAA8AAAAaAAAAAAAAAIhVBAAPAAAAGwAAAAAAAACoVQQADwAAABwAAAAAAAAAuFUEAA8AAAAdAAAAAAAAANhVBAAPAAAAHgAAAAAAAAD4VQQAHwAAACAAAAAAAAAAGFYEACEAAAAiAAAAAAAAADhWBAAPAAAAIwAAAAAAAABYVgQADwAAACQAAAAAAAAAaFYEACUAAAAmAAAAAAAAAIhWBAAnAAAAKAAAAAAAAACoVgQADwAAACkAAAAAAAAAuFYEAA8AAAAqAAAAAAAAAMhWBAAPAAAAKwAAAAAAAADYVgQADwAAACwAAAAAAAAA6FYEAA8AAAAtAAAAAAAAAPhWBAAuAAAALwAAAAAAAAAYVwQAMAAAADEAAAAAAAAAOFcEADIAAAAzAAAAAAAAAFhXBAA0AAAANQAAAAAAAAB4VwQANgAAADcAAAAAAAAAmFcEADgAAAA5AAAAAAAAALhXBAAPAAAAOgAAAAAAAADIVwQADwAAADsAAAAAAAAA2FcEADwAAAA9AAAAAAAAAPhXBAAPAAAAPgAAAAAAAAAIWAQADwAAAD8AAAAAAAAAGFgEAEAAAABBAAAAAAAAADhYBAAPAAAAQgAAAAAAAABIWAQAQwAAAEQAAAAAAAAAaFgEAEUAAABGAAAAAAAAAIhYBABHAAAASAAAAAAAAACoWAQASQAAAEoAAAAAAAAAyFgEAA8AAABLAAAAAAAAAOhYBABMAAAATQAAAAAAAAAIWQQATgAAAE8AAAAAAAAAKFkEAA8AAABQAAAAAAAAADhZBAAPAAAAUQAAAAAAAABYWQQADwAAAFIAAAAAAAAAeFkEAFMAAABUAAAAAAAAAJhZBABVAAAAVgAAAAAAAAC4WQQAVwAAAFgAAAAAAAAA2FkEAFkAAABaAAAAAAAAAPhZBABbAAAAXAAAAAAAAAAYWgQAXQAAAF4AAAAAAAAAOFoEAF8AAABgAAAAAAAAAFhaBAAPAAAAYQAAAAAAAAB4WgQADwAAAGIAAAAAAAAAmFoEAA8AAABjAAAAAAAAALhaBAAPAAAAZAAAAAAAAADYWgQADwAAAGUAAAAAAAAA+FoEAA8AAABmAAAAAAAAABhbBAAPAAAAZwAAAAAAAAA4WwQAaAAAAGkAAAAAAAAAWFsEAGoAAABrAAAAAAAAAHhbBABsAAAAbQAAAAAAAACYWwQAbgAAAG8AAAAAAAAAuFsEAHAAAABxAAAAAAAAANhbBAByAAAAcwAAAAAAAAAYXAQAdAAAAHUAAAAAAAAA+FsEAHYAAAB3AAAAAAAAAChcBAB4AAAAeQAAAAAAAABAXAQAegAAAHsAAAAAAAAAYFwEAHwAAAB9AAAAAAAAAIBcBAB+AAAAfwAAAAAAAACgXAQAgAAAAIEAAAAAAAAAwFwEAIIAAACDAAAAAAAAAPhcBACEAAAAhQAAADAAAAAMAAAAhgAAAIcAAACiAAAAowAAADEAAAAAAAAAGF0EAIgAAACJAAAACwAAAKQAAAClAAAApgAAAKcAAACoAAAAqQAAAKoAAACrAAAAFAAAABUAAAAWAAAAFwAAAKwAAACtAAAArgAAABsAAACvAAAAHQAAALAAAACxAAAAsgAAALMAAAC0AAAAIwAAALUAAAAlAAAAJgAAALYAAAAoAAAAKQAAALcAAAC4AAAAuQAAALoAAAC7AAAAvAAAADAAAAAxAAAAMgAAADMAAAC9AAAAvgAAADYAAAA3AAAAOAAAADkAAAC/AAAAOwAAAMAAAADBAAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAAAAAAAAYF0EAIoAAACLAAAACwAAAMIAAADDAAAAxAAAAMUAAADGAAAAxwAAAMgAAADJAAAAFAAAABUAAAAWAAAAFwAAAMoAAADLAAAAzAAAABsAAADNAAAAHQAAAM4AAADPAAAA0AAAANEAAADSAAAAIwAAANMAAAAlAAAAJgAAANQAAAAoAAAAKQAAANUAAADWAAAA1wAAANgAAADZAAAA2gAAADAAAAAxAAAAMgAAADMAAADbAAAA3AAAADYAAAA3AAAAOAAAADkAAADdAAAAOwAAAN4AAADfAAAAPgAAAD8AAABAAAAAQQAAAEIAAABDAAAARAAAAEUAAABGAAAARwAAAEgAAAAAAAAASF0EAIwAAACNAAAAMgAAAA0AAACOAAAAjwAAAAsAAADgAAAAMwAAAAAAAAAoXQQAjAAAAJAAAAA0AAAADgAAAJEAAACSAAAADAAAAOEAAAA1AAAAAAAAAHBdBACTAAAAlAAAACYAAAAnAAAAAAAAAMBdBACVAAAAlgAAAOIAAADjAAAA5AAAAOUAAADmAAAA5wAAAOgAAADpAAAA6gAAAOsAAADsAAAA7QAAAO4AAADvAAAA8AAAAPEAAADyAAAA8wAAAPQAAAD1AAAA9gAAAPcAAAD4AAAA+QAAAPoAAAD7AAAA/AAAAP0AAAD+AAAA/wAAAAABAAABAQAAAgEAAAMBAAAEAQAABQEAAAYBAAAHAQAACAEAAAkBAAAKAQAACwEAAAwBAAANAQAADgEAAA8BAAAQAQAAEQEAABIBAAATAQAAFAEAABUBAAAWAQAAFwEAABgBAAAZAQAAGgEAABsBAAAcAQAAHQEAAB4BAAAfAQAAAAAAAKBdBACXAAAAmAAAADYAAAAPAAAAmQAAAJoAAAAQAAAAIAEAADcAAAAAAAAAiF0EAIwAAACbAAAAOAAAABEAAACcAAAAnQAAAA0AAAAhAQAAOQAAAAAAAADQXQQAngAAAJ8AAAALAAAAIgEAAKUAAACmAAAApwAAAKgAAACpAAAAqgAAACMBAAAUAAAAFQAAABYAAAAXAAAArAAAAK0AAAAkAQAAGwAAAK8AAAAdAAAAsAAAALEAAACyAAAAJQEAALQAAAAjAAAAtQAAACUAAAAmAAAAtgAAACgAAAApAAAAtwAAALgAAAC5AAAAugAAALsAAAC8AAAAMAAAADEAAAAyAAAAMwAAAL0AAAAmAQAANgAAADcAAAA4AAAAOQAAACcBAAA7AAAAwAAAAMEAAAA+AAAAPwAAAEAAAABBAAAAQgAAAEMAAABEAAAARQAAAEYAAABHAAAASAAAAAAAAADgXQQAoAAAAKEAAAAAAAAAUF4EAKIAAACjAAAAOgAAAAAAAAAwXgQApAAAAKUAAAA7AAAAAAAAAAheBACmAAAApwAAADwAAAAAAAAA2F4EAKgAAACpAAAAAAAAAHBeBACqAAAAqwAAAAAAAACwXgQArAAAAK0AAAAAAAAAuF4EAK4AAACvAAAAAAAAAJBeBACsAAAAsAAAAAAAAAD4XgQAsQAAALIAAAAAAAAAOF8EALMAAAC0AAAAAAAAABhfBAC1AAAAtgAAAAAAAABYXwQAtwAAALgAAAAAAAAAeF8EALkAAAC6AAAAAAAAAJhfBAC7AAAAvAAAAAAAAAC4XwQAvQAAAL4AAAAAAAAA2F8EAL8AAADAAAAAAAAAAPhfBADBAAAAwgAAAAAAAAAYYAQAngAAAMMAAAAoAQAAKQEAACoBAAArAQAALAEAAC0BAAAuAQAALwEAADABAAAxAQAAMgEAADMBAAA0AQAANQEAADYBAAA3AQAAOAEAADkBAAA6AQAAOwEAADwBAAA9AQAAPgEAAD8BAABAAQAAQQEAAEIBAABDAQAARAEAAEUBAABGAQAARwEAAEgBAABJAQAASgEAAEsBAABMAQAATQEAAE4BAABPAQAAUAEAAFEBAABSAQAAUwEAAFQBAABVAQAAVgEAAFcBAABYAQAAWQEAAFoBAABbAQAAXAEAAF0BAABeAQAAXwEAAGABAABhAQAAYgEAAGMBAABkAQAAZQEAAAAAAAAoYAQAxAAAAMUAAABmAQAAEgAAAGcBAAA9AAAAKAAAACUAAAA+AAAAaAEAAGkBAAAPAAAAPwAAAGoBAABrAQAAKQAAABAAAAAOAAAAEQAAAA8AAAASAAAAQAAAAGwBAABtAQAAJgAAAEEAAABuAQAAbwEAACoAAABCAAAAcAEAAHEBAAAnAAAAQwAAAHIBAABzAQAAKwAAAHQBAAB1AQAAdgEAAEQAAAB3AQAAeAEAABMAAABFAAAAeQEAAHoBAABGAAAAewEAAHwBAAAoAAAAfQEAACwAAAB+AQAARwAAAH8BAACAAQAAKQAAACoAAAArAAAAgQEAACwAAACCAQAAgwEAAC0AAAAuAAAALwAAADAAAAAxAAAAMgAAAIQBAACFAQAAhgEAAIcBAAAtAAAAMwAAAIgBAAAuAAAASAAAAIkBAACKAQAASQAAAEoAAABLAAAATAAAAIsBAAAvAAAAjAEAAI0BAACOAQAAjwEAADAAAACQAQAANAAAAJEBAACSAQAAkwEAAJQBAABNAAAAlQEAAE4AAABPAAAAlgEAAFAAAABRAAAAlwEAAJgBAACZAQAAmgEAAJsBAACcAQAAUgAAAFMAAABUAAAAVQAAAFYAAACdAQAAMQAAAFcAAAA1AAAAngEAAJ8BAACgAQAAoQEAAFgAAACiAQAAWQAAADYAAAAyAAAANwAAAKMBAACkAQAAFAAAAKUBAACmAQAAMwAAAKcBAAA0AAAAqAEAAFoAAACpAQAAqgEAADgAAACrAQAArAEAADkAAACtAQAAWwAAAK4BAACvAQAAXAAAALABAAA6AAAAsQEAADsAAACyAQAANQAAADwAAACzAQAANgAAAD0AAABdAAAAtAEAADcAAAAVAAAAXgAAALUBAAAWAAAAtgEAALcBAABfAAAAuAEAALkBAAA+AAAAEAAAABcAAAAYAAAAPwAAABkAAAC6AQAAGgAAALsBAAA4AAAAvAEAAEAAAAA5AAAAYAAAAL0BAAC+AQAAOgAAAGEAAAA7AAAAQQAAADwAAAA9AAAAPgAAAEIAAAAFAAAAAAAAAAAAAABiAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA/AAAAQAAAAJ1pBQAAAAAAAAAAAAAAAAACAAAAAAAAAAAAAAAAAAD//////wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA//////8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAF9wiQD/CS8PAAAAADhgBADGAAAAxwAAAMgAAADJAAAAQgAAAAsAAAALAAAACwAAAAAAAABgYAQAxgAAAMoAAADIAAAAyQAAAEIAAAAMAAAADAAAAAwAAAAAAAAAcGAEAMYAAADLAAAAyAAAAMkAAABCAAAADQAAAA0AAAANAAAAPGJpbmFyeT4ATjR3YWJ0MTJfR0xPQkFMX19OXzExMU5hbWVBcHBsaWVyRQBONHdhYnQxMUV4cHJWaXNpdG9yMTFEZWxlZ2F0ZU5vcEUATjR3YWJ0MTFFeHByVmlzaXRvcjhEZWxlZ2F0ZUUATjR3YWJ0OUNvbnN0RXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTE1RUVFAE40d2FidDRFeHByRQBONHdhYnQxOWludHJ1c2l2ZV9saXN0X2Jhc2VJTlNfNEV4cHJFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUxOEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMThFRUUATjR3YWJ0MTZFdmVudE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTEwRUVFAE40d2FidDExTW9kdWxlRmllbGRFAE40d2FidDE5aW50cnVzaXZlX2xpc3RfYmFzZUlOU18xMU1vZHVsZUZpZWxkRUVFAGV4cGVjdGVkIGxvY2FsIG5hbWUgY291bnQgKCV1KSA8PSBsb2NhbCBjb3VudCAoJXUpAGV4cGVjdGVkIGZ1bmN0aW9uIG5hbWUgY291bnQgKCV1KSA8PSBmdW5jdGlvbiBjb3VudCAoJXpkKQBONHdhYnQyMkRhdGFTZWdtZW50TW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFOEVFRQBONHdhYnQyMkVsZW1TZWdtZW50TW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFNkVFRQBhY2Nlc3Npbmcgc3RhY2sgZGVwdGg6ICV1ID49IG1heDogJXpkAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTQyRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU0MkVFRQBONHdhYnQxN1NpbWRTaHVmZmxlT3BFeHByRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDFFRUUATjR3YWJ0MTRTaW1kTGFuZU9wRXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTQwRUVFAHBvcHBpbmcgZW1wdHkgbGFiZWwgc3RhY2sATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTU1RUVFAE40d2FidDEwT3Bjb2RlRXhwcklMTlNfOEV4cHJUeXBlRTUxRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1MUVFRQBONHdhYnQxME9wY29kZUV4cHJJTE5TXzhFeHByVHlwZUU1NEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNTRFRUUATjR3YWJ0N1RyeUV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1M0VFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTUyRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1MkVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUU0M0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDNFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTM5RUVFAE40d2FidDIyUmV0dXJuQ2FsbEluZGlyZWN0RXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTM4RUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMzdFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTM3RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzNkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzVFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTMyRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzM0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMzRFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0OUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDlFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0OEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDhFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU1MEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNTBFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0N0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDdFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0NkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDZFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU0NUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNDVFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTQ0RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzMUVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTMwRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzMEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjlFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTI4RUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMjdFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTI3RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyNkVFRQBONHdhYnQxM0Jsb2NrRXhwckJhc2VJTE5TXzhFeHByVHlwZUUyNUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjVFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUyNEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjRFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUyM0VFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjNFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUUyMkVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMjJFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFMjFFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTIxRUVFAE40d2FidDZJZkV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUyMEVFRQBONHdhYnQ3VmFyRXhwcklMTlNfOEV4cHJUeXBlRTE5RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxOUVFRQBlbHNlIGV4cHJlc3Npb24gd2l0aG91dCBtYXRjaGluZyBpZgBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMTdFRUUATjR3YWJ0MTBPcGNvZGVFeHBySUxOU184RXhwclR5cGVFMTZFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTE2RUVFAE40d2FidDEwT3Bjb2RlRXhwcklMTlNfOEV4cHJUeXBlRTE0RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxNEVFRQBjYXRjaCBleHByZXNzaW9uIHdpdGhvdXQgbWF0Y2hpbmcgdHJ5AE40d2FidDE2Q2FsbEluZGlyZWN0RXhwckUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTEzRUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFMTJFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTEyRUVFAE40d2FidDExQnJUYWJsZUV4cHJFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUxMUVFRQBONHdhYnQxMUJyT25FeG5FeHByRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMTBFRUUATjR3YWJ0N1ZhckV4cHJJTE5TXzhFeHByVHlwZUU5RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU5RUVFAE40d2FidDdWYXJFeHBySUxOU184RXhwclR5cGVFOEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFOEVFRQBONHdhYnQxM0Jsb2NrRXhwckJhc2VJTE5TXzhFeHByVHlwZUU3RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU3RUVFAE40d2FidDEwT3Bjb2RlRXhwcklMTlNfOEV4cHJUeXBlRTZFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTZFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFNEVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFNEVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUU1RUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUU1RUVFAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTJFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTJFRUUATjR3YWJ0MTNMb2FkU3RvcmVFeHBySUxOU184RXhwclR5cGVFMUVFRQBONHdhYnQ5RXhwck1peGluSUxOU184RXhwclR5cGVFMUVFRQBONHdhYnQxM0xvYWRTdG9yZUV4cHJJTE5TXzhFeHByVHlwZUUzRUVFAE40d2FidDlFeHByTWl4aW5JTE5TXzhFeHByVHlwZUUzRUVFAE40d2FidDEzTG9hZFN0b3JlRXhwcklMTlNfOEV4cHJUeXBlRTBFRUUATjR3YWJ0OUV4cHJNaXhpbklMTlNfOEV4cHJUeXBlRTBFRUUATjR3YWJ0MTZTdGFydE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTlFRUUATjR3YWJ0MTdFeHBvcnRNb2R1bGVGaWVsZEUATjR3YWJ0MTZNb2R1bGVGaWVsZE1peGluSUxOU18xNU1vZHVsZUZpZWxkVHlwZUUzRUVFAE40d2FidDE3R2xvYmFsTW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFMUVFRQBONHdhYnQxN01lbW9yeU1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTdFRUUATjR3YWJ0MTZUYWJsZU1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTVFRUUATjR3YWJ0MTVGdW5jTW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFMEVFRQBONHdhYnQxN0ltcG9ydE1vZHVsZUZpZWxkRQBONHdhYnQxNk1vZHVsZUZpZWxkTWl4aW5JTE5TXzE1TW9kdWxlRmllbGRUeXBlRTJFRUUATjR3YWJ0NkltcG9ydEUATjR3YWJ0MTFFdmVudEltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFNEVFRQBONHdhYnQxMkdsb2JhbEltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFM0VFRQBONHdhYnQxMk1lbW9yeUltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFMkVFRQBONHdhYnQxMVRhYmxlSW1wb3J0RQBONHdhYnQxMUltcG9ydE1peGluSUxOU18xMkV4dGVybmFsS2luZEUxRUVFAE40d2FidDEwRnVuY0ltcG9ydEUATjR3YWJ0MTFJbXBvcnRNaXhpbklMTlNfMTJFeHRlcm5hbEtpbmRFMEVFRQBONHdhYnQxOUZ1bmNUeXBlTW9kdWxlRmllbGRFAE40d2FidDE2TW9kdWxlRmllbGRNaXhpbklMTlNfMTVNb2R1bGVGaWVsZFR5cGVFNEVFRQBONHdhYnQxMl9HTE9CQUxfX05fMTE0QmluYXJ5UmVhZGVySVJFAE40d2FidDE1QmluYXJ5UmVhZGVyTm9wRQBONHdhYnQyMEJpbmFyeVJlYWRlckRlbGVnYXRlRQBwcmVmaXgAbGltaXRzOiBmbGFncwBsaW1pdHM6IGluaXRpYWwAbGltaXRzOiBtYXgAV0FTTV9CSU5BUllfTUFHSUMAV0FTTV9CSU5BUllfVkVSU0lPTgBudW0gdHlwZXMARklYVVAgc2VjdGlvbiBzaXplADsgJXMgJWQKAG51bSBwYXJhbXMAbnVtIHJlc3VsdHMAbnVtIGltcG9ydHMAaW1wb3J0IGhlYWRlcgBudW0gZnVuY3Rpb25zAGZ1bmN0aW9uICV6ZCBzaWduYXR1cmUgaW5kZXgAbnVtIHRhYmxlcwBudW0gbWVtb3JpZXMAbnVtIGdsb2JhbHMAbnVtIGV4cG9ydHMAZXhwb3J0IG5hbWUAZXhwb3J0IGZ1bmMgaW5kZXgAZXhwb3J0IHRhYmxlIGluZGV4AGV4cG9ydCBtZW1vcnkgaW5kZXgAZXhwb3J0IGdsb2JhbCBpbmRleABleHBvcnQgZXZlbnQgaW5kZXgAc3RhcnQgZnVuYyBpbmRleABudW0gZWxlbSBzZWdtZW50cwBlbGVtIHNlZ21lbnQgaGVhZGVyAG51bSBlbGVtIGV4cHJzAGVsZW0gZXhwciBmdW5jdGlvbiBpbmRleABmdW5jdGlvbiBib2R5AGZ1bmMgYm9keSBzaXplIChndWVzcykAbG9jYWwgZGVjbCBjb3VudABGSVhVUCBmdW5jIGJvZHkgc2l6ZQBudW0gZGF0YSBzZWdtZW50cwBkYXRhIHNlZ21lbnQgaGVhZGVyAGRhdGEgc2VnbWVudCBzaXplAG1vZHVsZSBuYW1lIHR5cGUAc3Vic2VjdGlvbiBzaXplIChndWVzcykARklYVVAgc3Vic2VjdGlvbiBzaXplAGZ1bmN0aW9uIG5hbWUgdHlwZQBmdW5jIG5hbWUgJXpkAGxvY2FsIG5hbWUgdHlwZQBudW0gbG9jYWxzAGxvY2FsIG5hbWUgJXpkAGxvY2FsIGluZGV4AG1ldGFkYXRhIHZlcnNpb24Ac3ltYm9sIHRhYmxlAG51bSBzeW1ib2xzAHN5bWJvbCB0eXBlAHN5bWJvbCBmbGFncwBlbGVtZW50IGluZGV4AGdsb2JhbCBuYW1lACVzLiVzAHJlbG9jIHNlY3Rpb24gaW5kZXgAbnVtIHJlbG9jcwByZWxvYyB0eXBlAHJlbG9jIG9mZnNldAByZWxvYyBpbmRleAByZWxvYyBhZGRlbmQAc2VjdGlvbiAiJXMiADsgJXMKAHNlY3Rpb24gc2l6ZSAoZ3Vlc3MpAGN1c3RvbSBzZWN0aW9uIG5hbWUAYWxpZ25tZW50AGJyZWFrIGRlcHRoAG51bSB0YXJnZXRzAGJyZWFrIGRlcHRoIGZvciBkZWZhdWx0AHNpZ25hdHVyZSBpbmRleABpMzIgbGl0ZXJhbABpNjQgbGl0ZXJhbABmMzIgbGl0ZXJhbABmNjQgbGl0ZXJhbAB2MTI4IGxpdGVyYWwAZ2xvYmFsIGluZGV4AG1lbW9yeS5jb3B5IHJlc2VydmVkAGRhdGEuZHJvcCBzZWdtZW50AG1lbW9yeS5maWxsIHJlc2VydmVkAG1lbW9yeS5pbml0IHNlZ21lbnQAbWVtb3J5LmluaXQgcmVzZXJ2ZWQAdGFibGUuY29weSByZXNlcnZlZABlbGVtLmRyb3Agc2VnbWVudAB0YWJsZS5pbml0IHNlZ21lbnQAdGFibGUuaW5pdCByZXNlcnZlZAB0YWJsZS5nZXQgdGFibGUgaW5kZXgAdGFibGUuc2V0IHRhYmxlIGluZGV4AHRhYmxlLmdyb3cgdGFibGUgaW5kZXgAdGFibGUuc2l6ZSB0YWJsZSBpbmRleAB0aHJvdyBldmVudABTaW1kIExhbmUgbGl0ZXJhbABTaW1kIExhbmVbMTZdIGxpdGVyYWwAYmxvY2sgdHlwZSBmdW5jdGlvbiBpbmRleABzZWN0aW9uICIlcyIgKCV1KQB7InNvdXJjZV9maWxlbmFtZSI6IAAsCiAiY29tbWFuZHMiOiBbCgAKACAgewAiJXMiOiAAIiVzIgBsaW5lAGZpbGVuYW1lAGV4cGVjdGVkACIldSIAYXMAdGV4dAB9AF19CgB7AHZhbHVlACIlbGx1IgBtb2R1bGVfdHlwZQBmaWVsZABhcmdzAGFzc2VydF91bmluc3RhbnRpYWJsZQBcdSUwNHgAWk40d2FidDIxV3JpdGVCaW5hcnlTcGVjU2NyaXB0RVBOU182U3RyZWFtRVBOU182U2NyaXB0RU5TXzExc3RyaW5nX3ZpZXdFUzRfUktOU18xOFdyaXRlQmluYXJ5T3B0aW9uc0VQTlN0M19fMjZ2ZWN0b3JJTlNfMjRGaWxlbmFtZU1lbW9yeVN0cmVhbVBhaXJFTlM4XzlhbGxvY2F0b3JJU0FfRUVFRVMxX0UzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONHdhYnQyMVdyaXRlQmluYXJ5U3BlY1NjcmlwdEVQTlMyXzZTdHJlYW1FUE5TMl82U2NyaXB0RU5TMl8xMXN0cmluZ192aWV3RVM3X1JLTlMyXzE4V3JpdGVCaW5hcnlPcHRpb25zRVBOU182dmVjdG9ySU5TMl8yNEZpbGVuYW1lTWVtb3J5U3RyZWFtUGFpckVOU185YWxsb2NhdG9ySVNDX0VFRUVTNF9FMyRfME5TRF9JU0hfRUVGUzRfUzdfRUVFAE5TdDNfXzIxMF9fZnVuY3Rpb242X19iYXNlSUZQTjR3YWJ0NlN0cmVhbUVOUzJfMTFzdHJpbmdfdmlld0VFRUUARk9SQ0VfQ09MT1IAUl9XQVNNX0ZVTkNUSU9OX0lOREVYX0xFQgBSX1dBU01fVEFCTEVfSU5ERVhfU0xFQgBSX1dBU01fVEFCTEVfSU5ERVhfSTMyAFJfV0FTTV9NRU1PUllfQUREUl9MRUIAUl9XQVNNX01FTU9SWV9BRERSX1NMRUIAUl9XQVNNX01FTU9SWV9BRERSX0kzMgBSX1dBU01fVFlQRV9JTkRFWF9MRUIAUl9XQVNNX0dMT0JBTF9JTkRFWF9MRUIAUl9XQVNNX0ZVTkNUSU9OX09GRlNFVF9JMzIAUl9XQVNNX1NFQ1RJT05fT0ZGU0VUX0kzMgBSX1dBU01fRVZFTlRfSU5ERVhfTEVCAFJfV0FTTV9NRU1PUllfQUREUl9SRUxfU0xFQgBSX1dBU01fVEFCTEVfSU5ERVhfUkVMX1NMRUIAG1sxbQAlZDolZDogABtbMzFtADogABtbMG0AG1szMm0ALndhc20ALndhdAAkZwAkdAAkZgAkVAAkTQAkZQAkZAAkcAAkbAAkTAAkSQAkQgBONHdhYnQxMl9HTE9CQUxfX05fMTEzTmFtZUdlbmVyYXRvckUAQXRvbWljTG9hZABBdG9taWNSbXcAQXRvbWljUm13Q21weGNoZwBBdG9taWNTdG9yZQBBdG9taWNOb3RpZnkAQXRvbWljV2FpdABCaW5hcnkAQmxvY2sAQnIAQnJJZgBCck9uRXhuAEJyVGFibGUAQ2FsbABDYWxsSW5kaXJlY3QAQ29tcGFyZQBDb25zdABDb252ZXJ0AERyb3AAR2xvYmFsR2V0AEdsb2JhbFNldABJZgBMb2FkAExvY2FsR2V0AExvY2FsU2V0AExvY2FsVGVlAExvb3AATWVtb3J5Q29weQBEYXRhRHJvcABNZW1vcnlGaWxsAE1lbW9yeUdyb3cATWVtb3J5SW5pdABNZW1vcnlTaXplAE5vcABSZWZJc051bGwAUmVmTnVsbABSZXRocm93AFJldHVybgBSZXR1cm5DYWxsAFJldHVybkNhbGxJbmRpcmVjdABTZWxlY3QAU2ltZExhbmVPcABTaW1kU2h1ZmZsZU9wAExvYWRTcGxhdABTdG9yZQBUYWJsZUNvcHkARWxlbURyb3AAVGFibGVJbml0AFRhYmxlR2V0AFRhYmxlR3JvdwBUYWJsZVNpemUAVGFibGVTZXQAVGVybmFyeQBUaHJvdwBUcnkAVW5hcnkAVW5yZWFjaGFibGUAKzAAYWxsb2NhAGJyX3VubGVzcwBjYWxsX2hvc3QAZHJvcF9rZWVwADxpbnZhbGlkPgB1bmRlZmluZWQgJXMgdmFyaWFibGUgIiVzIgBaTjR3YWJ0MTJfR0xPQkFMX19OXzExMk5hbWVSZXNvbHZlcjlWaXNpdEZ1bmNFUE5TXzRGdW5jRUUzJF8xAHBhcmFtZXRlcgByZWRlZmluaXRpb24gb2YgJXMgIiVzIgBOU3QzX18yMTBfX2Z1bmN0aW9uNl9fZnVuY0laTjR3YWJ0MTJfR0xPQkFMX19OXzExMk5hbWVSZXNvbHZlcjlWaXNpdEZ1bmNFUE5TMl80RnVuY0VFMyRfMU5TXzlhbGxvY2F0b3JJUzdfRUVGdlJLTlNfNHBhaXJJS05TXzEyYmFzaWNfc3RyaW5nSWNOU18xMWNoYXJfdHJhaXRzSWNFRU5TOF9JY0VFRUVOUzJfN0JpbmRpbmdFRUVTS19FRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZSS05TXzRwYWlySUtOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU185YWxsb2NhdG9ySWNFRUVFTjR3YWJ0N0JpbmRpbmdFRUVTRV9FRUUAWk40d2FidDEyX0dMT0JBTF9fTl8xMTJOYW1lUmVzb2x2ZXIyMkNoZWNrRHVwbGljYXRlQmluZGluZ3NFUEtOU18xMUJpbmRpbmdIYXNoRVBLY0UzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONHdhYnQxMl9HTE9CQUxfX05fMTEyTmFtZVJlc29sdmVyMjJDaGVja0R1cGxpY2F0ZUJpbmRpbmdzRVBLTlMyXzExQmluZGluZ0hhc2hFUEtjRTMkXzBOU185YWxsb2NhdG9ySVNBX0VFRnZSS05TXzRwYWlySUtOU18xMmJhc2ljX3N0cmluZ0ljTlNfMTFjaGFyX3RyYWl0c0ljRUVOU0JfSWNFRUVFTlMyXzdCaW5kaW5nRUVFU05fRUVFAGVsZW0gc2VnbWVudABkYXRhIHNlZ21lbnQAdW5kZWZpbmVkIGxhYmVsIHZhcmlhYmxlICIlcyIATjR3YWJ0MTJfR0xPQkFMX19OXzExMk5hbWVSZXNvbHZlckUATjR3YWJ0MTJNZW1vcnlTdHJlYW1FAE40d2FidDZTdHJlYW1FACUwN3p4OiAAJTAyeAAgIDsgJXMAOyBtb3ZlIGRhdGE6IFslengsICV6eCkgLT4gWyV6eCwgJXp4KQoAYWN0aW9uAGV4cGVjdGVkIDEgcmVzdWx0LCBnb3QgJXpkAHR5cGUgbWlzbWF0Y2ggYXQgJXMuIGdvdCAlcywgZXhwZWN0ZWQgZjMyIG9yIGY2NAB0eXBlIG1pc21hdGNoIGZvciAlcyAldSBvZiAlcy4gZ290ICVzLCBleHBlY3RlZCAlcwBleHBlY3RlZCAlemQgcmVzdWx0cywgZ290ICV6ZAB1bmtub3duIG1vZHVsZQB1bmtub3duIGZ1bmN0aW9uIGV4cG9ydCAiJXMiAG1hbnkAZmV3AHRvbyAlcyBwYXJhbWV0ZXJzIHRvIGZ1bmN0aW9uLiBnb3QgJXpkLCBleHBlY3RlZCAlemQAYXJndW1lbnQAdW5rbm93biBnbG9iYWwgZXhwb3J0ICIlcyIAJXMgdmFyaWFibGUgb3V0IG9mIHJhbmdlIChtYXggJXUpAGVsZW0gc2VnbWVudCBvZmZzZXQAZGF0YSBzZWdtZW50IG9mZnNldABmdW5jdGlvbiB0eXBlAEV2ZW50IHNpZ25hdHVyZSBtdXN0IGhhdmUgMCByZXN1bHRzLgBtdWx0aXBsZSByZXN1bHQgdmFsdWVzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgBnbG9iYWwgaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbgBtdXRhYmxlIGdsb2JhbHMgY2Fubm90IGJlIGltcG9ydGVkAG11dGFibGUgZ2xvYmFscyBjYW5ub3QgYmUgZXhwb3J0ZWQAb25seSBvbmUgc3RhcnQgZnVuY3Rpb24gYWxsb3dlZABzdGFydCBmdW5jdGlvbiBtdXN0IGJlIG51bGxhcnkAc3RhcnQgZnVuY3Rpb24gbXVzdCBub3QgcmV0dXJuIGFueXRoaW5nAG9ubHkgb25lIG1lbW9yeSBibG9jayBhbGxvd2VkAHBhZ2VzAGluaXRpYWwgJXMgKCVsbHUpIG11c3QgYmUgPD0gKCVsbHUpAG1heCAlcyAoJWxsdSkgbXVzdCBiZSA8PSAoJWxsdSkAbWF4ICVzICglbGx1KSBtdXN0IGJlID49IGluaXRpYWwgJXMgKCVsbHUpAG1lbW9yaWVzIG1heSBub3QgYmUgc2hhcmVkAHNoYXJlZCBtZW1vcmllcyBtdXN0IGhhdmUgbWF4IHNpemVzAG9ubHkgb25lIHRhYmxlIGFsbG93ZWQAZWxlbXMAdGFibGVzIG11c3QgaGF2ZSBhbnlyZWYgdHlwZQB0YWJsZXMgbXVzdCBoYXZlIGFueXJlZiBvciBmdW5jcmVmIHR5cGUAZXhwZWN0ZWQgJXpkICVzcywgZ290ICV6ZABaTjR3YWJ0MTJfR0xPQkFMX19OXzE5VmFsaWRhdG9yMjhDaGVja0R1cGxpY2F0ZUV4cG9ydEJpbmRpbmdzRVBLTlNfNk1vZHVsZUVFMyRfMQByZWRlZmluaXRpb24gb2YgZXhwb3J0ICIlcyIATlN0M19fMjEwX19mdW5jdGlvbjZfX2Z1bmNJWk40d2FidDEyX0dMT0JBTF9fTl8xOVZhbGlkYXRvcjI4Q2hlY2tEdXBsaWNhdGVFeHBvcnRCaW5kaW5nc0VQS05TMl82TW9kdWxlRUUzJF8xTlNfOWFsbG9jYXRvcklTOF9FRUZ2UktOU180cGFpcklLTlNfMTJiYXNpY19zdHJpbmdJY05TXzExY2hhcl90cmFpdHNJY0VFTlM5X0ljRUVFRU5TMl83QmluZGluZ0VFRVNMX0VFRQBpbnZhbGlkICVzLCBtdXN0IGJlIGEgY29uc3RhbnQgZXhwcmVzc2lvbjsgZWl0aGVyICouY29uc3Qgb3IgZ2xvYmFsLmdldC4AaW5pdGlhbGl6ZXIgZXhwcmVzc2lvbiBjYW4gb25seSByZWZlcmVuY2UgYW4gaW1wb3J0ZWQgZ2xvYmFsAGluaXRpYWxpemVyIGV4cHJlc3Npb24gY2Fubm90IHJlZmVyZW5jZSBhIG11dGFibGUgZ2xvYmFsAHR5cGUgbWlzbWF0Y2ggYXQgJXMuIGdvdCAlcywgZXhwZWN0ZWQgJXMAWk40d2FidDEyX0dMT0JBTF9fTl8xOVZhbGlkYXRvckMxRVBOU3QzX18yNnZlY3RvcklOU181RXJyb3JFTlMyXzlhbGxvY2F0b3JJUzRfRUVFRVBLTlNfNlNjcmlwdEVSS05TXzE1VmFsaWRhdGVPcHRpb25zRUUzJF8wAE5TdDNfXzIxMF9fZnVuY3Rpb242X19mdW5jSVpONHdhYnQxMl9HTE9CQUxfX05fMTlWYWxpZGF0b3JDMUVQTlNfNnZlY3RvcklOUzJfNUVycm9yRU5TXzlhbGxvY2F0b3JJUzZfRUVFRVBLTlMyXzZTY3JpcHRFUktOUzJfMTVWYWxpZGF0ZU9wdGlvbnNFRTMkXzBOUzdfSVNIX0VFRnZQS2NFRUUATlN0M19fMjEwX19mdW5jdGlvbjZfX2Jhc2VJRnZQS2NFRUUAJXMgcmVxdWlyZXMgYW4gaW1wb3J0ZWQgb3IgZGVmaW5lZCBtZW1vcnkuAGFsaWdubWVudCBtdXN0IG5vdCBiZSBsYXJnZXIgdGhhbiBuYXR1cmFsIGFsaWdubWVudCAoJXUpACVzIHJlcXVpcmVzIG1lbW9yeSB0byBiZSBzaGFyZWQuAGFsaWdubWVudCBtdXN0IGJlIGVxdWFsIHRvIG5hdHVyYWwgYWxpZ25tZW50ICgldSkAJXMgcGFyYW1zIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgBtdWx0aXBsZSAlcyByZXN1bHRzIG5vdCBjdXJyZW50bHkgc3VwcG9ydGVkLgAlcyByZXF1aXJlcyB0YWJsZSAlZCB0byBiZSBhbiBpbXBvcnRlZCBvciBkZWZpbmVkIHRhYmxlLgBlbGVtX3NlZ21lbnQAZGF0YV9zZWdtZW50AHVuZGVmaW5lZCBsb2NhbCB2YXJpYWJsZSAiJXMiAGxvY2FsIHZhcmlhYmxlIG91dCBvZiByYW5nZSAobWF4ICV1KQBjYW4ndCBnbG9iYWwuc2V0IG9uIGltbXV0YWJsZSBnbG9iYWwgYXQgaW5kZXggJXUuAE40d2FidDEyX0dMT0JBTF9fTl8xOVZhbGlkYXRvckUAdW5leHBlY3RlZCBjaGFyAEVPRiBpbiBibG9jayBjb21tZW50AGY2NC5sdABmMzIubHQAZjY0LmxlAGYzMi5sZQBmNjQuYWJzAGYzMi5hYnMAZjY0LnN1YgBmMzIuc3ViAGk2NC5zdWIAaTMyLnN1YgBpNjQubHRfcwBpMzIubHRfcwBpNjQubHRfdQBpMzIubHRfdQBpNjQubGVfcwBpMzIubGVfcwBpNjQubGVfdQBpMzIubGVfdQBpNjQucmVtX3MAaTMyLnJlbV9zAGk2NC5jdHoAaTMyLmN0egBpNjQucmVtX3UAaTMyLnJlbV91AGY2NC5hZGQAZjMyLmFkZABpNjQuYWRkAGkzMi5hZGQAaTY0LmFuZABpMzIuYW5kAGY2NC5taW4AZjMyLm1pbgBmNjQubmUAZjMyLm5lAGk2NC5uZQBpMzIubmUAaTY0LmNsegBpMzIuY2x6AGY2NC50cnVuYwBmMzIudHJ1bmMAZjY0Lm11bABmMzIubXVsAGk2NC5tdWwAaTMyLm11bABmNjQuY2VpbABmMzIuY2VpbABmNjQuY29uc3QAZjMyLmNvbnN0AGk2NC5jb25zdABpMzIuY29uc3QAaTY0LmRpdl9zAGkzMi5kaXZfcwBpNjQuZGl2X3UAaTMyLmRpdl91AGY2NC5zdG9yZQBmMzIuc3RvcmUAaTY0LnN0b3JlAGkzMi5zdG9yZQBpNjQuc3RvcmUzMgBpNjQucm90bABpMzIucm90bABpNjQucm90cgBpMzIucm90cgBmNjQubG9hZABmMzIubG9hZABpNjQubG9hZABpMzIubG9hZABmNjR4Mi5zdWIAZjY0LmRpdgBmMzIuZGl2AGk2NHgyLnN1YgBpNjQubG9hZDE2X3MAaTMyLmxvYWQxNl9zAGY2NHgyLm5lAGk2NC5sb2FkMTZfdQBpMzIubG9hZDE2X3UAZjY0eDIubHQAZjY0Lm5lYXJlc3QAZjMyLm5lYXJlc3QAZjY0eDIubGUAZjY0eDIubWluAHYxMjgubm90AHNldF9sb2NhbABpNjQuYXRvbWljLnN0b3JlAGkzMi5hdG9taWMuc3RvcmUAdjEyOC5jb25zdAB0ZWVfbG9jYWwAZjY0eDIuYWJzAGk2NC5hdG9taWMud2FpdABpMzIuYXRvbWljLndhaXQAaTY0LmF0b21pYy5zdG9yZTMyAHYxMjguYW5kAHYxMjguYml0c2VsZWN0AGY2NHgyLm11bAB2MTI4LnN0b3JlAHYxMjgub3IAaTY0LmF0b21pYy5ybXc4LnN1Yl91AGkzMi5hdG9taWMucm13OC5zdWJfdQBmNjR4Mi5hZGQAaTY0eDIuYWRkAGk2NC50cnVuY19mMzJfcwBpMzIudHJ1bmNfZjMyX3MAaTY0LnRydW5jX2YzMl91AGkzMi50cnVuY19mMzJfdQBpNjQuYXRvbWljLnJtdzguYWRkX3UAaTMyLmF0b21pYy5ybXc4LmFkZF91AGk2NC5hdG9taWMucm13OC5hbmRfdQBpMzIuYXRvbWljLnJtdzguYW5kX3UAaTY0LmF0b21pYy5ybXczMi5zdWJfdQBpNjQuYXRvbWljLnJtdzMyLmNtcHhjaGdfdQBpNjQuYXRvbWljLmxvYWQAaTMyLmF0b21pYy5sb2FkAGk2NC50cnVuY19zL2YzMgBpMzIudHJ1bmNfcy9mMzIAaTY0LnRydW5jX3UvZjMyAGkzMi50cnVuY191L2YzMgBpNjQubG9hZDMyX3MAdjEyOC5sb2FkAGk2NC5sb2FkMzJfdQBpNjQuYXRvbWljLnJtdy5vcgBpMzIuYXRvbWljLnJtdy5vcgBpNjQuYXRvbWljLnJtdy5zdWIAaTMyLmF0b21pYy5ybXcuc3ViAGk2NC5hdG9taWMucm13LmFkZABpMzIuYXRvbWljLnJtdy5hZGQAaTY0LnRydW5jX2Y2NF9zAGkzMi50cnVuY19mNjRfcwBpNjQudHJ1bmNfZjY0X3UAaTMyLnRydW5jX2Y2NF91AGYzMi5kZW1vdGVfZjY0AGY2NHgyLmRpdgBmMzJ4NC5zdWIAaTMyeDQuc3ViAGk2NC5hdG9taWMucm13MzIuYWRkX3UAZjMyeDQubmUAaTY0LmF0b21pYy5ybXczMi5hbmRfdQBpMzJ4NC5uZQBmMzJ4NC5sdABpNjQudHJ1bmNfcy9mNjQAaTMyLnRydW5jX3MvZjY0AGk2NC50cnVuY191L2Y2NABpMzIudHJ1bmNfdS9mNjQAZjMyLmRlbW90ZS9mNjQAaTY0LmF0b21pYy5ybXcuYW5kAGkzMi5hdG9taWMucm13LmFuZABmMzJ4NC5sZQBmMzJ4NC5taW4AaTMyeDQubHRfcwBpNjQuYXRvbWljLnJtdzMyLm9yX3UAaTMyeDQubHRfdQBpMzJ4NC5sZV9zAGkzMng0LmxlX3UAaTY0eDIuYWxsX3RydWUAZjMyeDQuYWJzAGY2NC5jb252ZXJ0X2kzMl9zAGYzMi5jb252ZXJ0X2kzMl9zAGk2NC5zdG9yZTgAaTMyLnN0b3JlOABmMzJ4NC5tdWwAaTMyeDQubXVsAGYzMng0LmFkZABpMzJ4NC5hZGQAaTY0LmxvYWQ4X3MAaTMyLmxvYWQ4X3MAaTY0LmxvYWQ4X3UAaTMyLmxvYWQ4X3UAZjY0LmNvbnZlcnRfaTY0X3MAZjMyLmNvbnZlcnRfaTY0X3MAZjY0eDIuZ3QAaTY0LmF0b21pYy5sb2FkMTZfdQBpMzIuYXRvbWljLmxvYWQxNl91AGY2NHgyLmdlAGY2NC5jb252ZXJ0X2kzMl91AGYzMi5jb252ZXJ0X2kzMl91AGk2NC5hdG9taWMucm13MTYuc3ViX3UAaTMyLmF0b21pYy5ybXcxNi5zdWJfdQBpNjQuYXRvbWljLnJtdzE2LmNtcHhjaGdfdQBpMzIuYXRvbWljLnJtdzE2LmNtcHhjaGdfdQBpNjQuZXF6AGkzMi5lcXoAaTY0Lm9yAGkzMi5vcgBpNjQudHJ1bmNfc2F0X2YzMl9zAGkzMi50cnVuY19zYXRfZjMyX3MAaTY0LnRydW5jX3NhdF9mMzJfdQBpMzIudHJ1bmNfc2F0X2YzMl91AGYzMng0LmRpdgBmNjQuc3FydABmMzIuc3FydABnZXRfbG9jYWwAaTY0LnN0b3JlMTYAaTMyLnN0b3JlMTYAZjY0LmNvbnZlcnRfaTY0X3UAZjMyLmNvbnZlcnRfaTY0X3UAaTY0LmV4dGVuZF9zL2kzMgBpNjQuZXh0ZW5kX3UvaTMyAGk2NC5hdG9taWMucm13MTYuYWRkX3UAaTMyLmF0b21pYy5ybXcxNi5hZGRfdQBmNjQuZ3QAZjMyLmd0AGk2NC5hdG9taWMucm13MTYuYW5kX3UAaTMyLmF0b21pYy5ybXcxNi5hbmRfdQBpMzJ4NC5hbGxfdHJ1ZQBmNjQuZmxvb3IAZjMyLmZsb29yAGY2NC5nZQBmMzIuZ2UAZjY0LmNvbnZlcnRfcy9pMzIAZjMyLmNvbnZlcnRfcy9pMzIAZjY0LmNvbnZlcnRfdS9pMzIAZjMyLmNvbnZlcnRfdS9pMzIAaTY0LmF0b21pYy5ybXcxNi5vcl91AGkzMi5hdG9taWMucm13MTYub3JfdQBpNjQuZ3RfcwBpMzIuZ3RfcwBpOHgxNi5zdWIAaTY0Lmd0X3UAaTMyLmd0X3UAaTY0LmdlX3MAaTMyLmdlX3MAaTY0LmdlX3UAaTMyLmdlX3UAaTh4MTYubmUAaTY0LmF0b21pYy5sb2FkOF91AGkzMi5hdG9taWMubG9hZDhfdQBpNjQuYXRvbWljLmxvYWQzMl91AGk4eDE2Lmx0X3MAaTh4MTYubHRfdQBpOHgxNi5sZV9zAGk4eDE2LmxlX3UAaTY0LmF0b21pYy5zdG9yZTE2AGkzMi5hdG9taWMuc3RvcmUxNgBpNjQuc2hyX3MAaTMyLnNocl9zAGk2NC5zaHJfdQBpMzIuc2hyX3UAZjY0eDIuc3BsYXQAaTY0LmV4dGVuZDMyX3MAaTY0eDIuc3BsYXQAaTY0LnNobABpMzIuc2hsAGYzMng0Lmd0AGk4eDE2Lm11bABpNjQuZXh0ZW5kX2kzMl9zAGk2NC5leHRlbmRfaTMyX3UAZjMyeDQuZ2UAaTMyeDQuZ3RfcwBpMzJ4NC5ndF91AGkzMng0LmdlX3MAdjEyOC54b3IAaTMyeDQuZ2VfdQBpOHgxNi5hZGQAZjY0eDIuc3FydABpNjQuYXRvbWljLnJtdzMyLnhjaGdfdQBpNjQuYXRvbWljLnJtdzguY21weGNoZ191AGkzMi5hdG9taWMucm13OC5jbXB4Y2hnX3UAZjY0Lm5lZwBmMzIubmVnAGk2NC5leHRlbmQxNl9zAGkzMi5leHRlbmQxNl9zAGk2NC54b3IAaTMyLnhvcgBpNjQuYXRvbWljLnJtdzgub3JfdQBpMzIuYXRvbWljLnJtdzgub3JfdQBpMTZ4OC5zdWIAYW55ZnVuYwBpMTZ4OC5uZQBpNjQudHJ1bmNfc2F0X2Y2NF9zAGkzMi50cnVuY19zYXRfZjY0X3MAaTY0LnRydW5jX3NhdF9mNjRfdQBpMzIudHJ1bmNfc2F0X2Y2NF91AGk2NC5hdG9taWMucm13MzIueG9yX3UAaTE2eDgubHRfcwBpMTZ4OC5sdF91AGkxNng4LmxlX3MAaTE2eDgubGVfdQBpNjQuZXh0ZW5kOF9zAGkzMi5leHRlbmQ4X3MAdjh4MTYuc3dpenpsZQBzZXRfZ2xvYmFsAGk2NHgyLnNocl9zAGk2NHgyLnNocl91AGk4eDE2LnN1Yl9zYXR1cmF0ZV9zAGk4eDE2LnN1Yl9zYXR1cmF0ZV91AGYzMi5yZWludGVycHJldF9pMzIAaTE2eDgubXVsAGk4eDE2LmFsbF90cnVlAGk2NHgyLnNobABpNjQudHJ1bmNfczpzYXQvZjMyAGkzMi50cnVuY19zOnNhdC9mMzIAaTY0LnRydW5jX3U6c2F0L2YzMgBpMzIudHJ1bmNfdTpzYXQvZjMyAGY2NC5jb252ZXJ0X3MvaTY0AGYzMi5jb252ZXJ0X3MvaTY0AGY2NC5jb252ZXJ0X3UvaTY0AGYzMi5jb252ZXJ0X3UvaTY0AGYzMng0LnNwbGF0AGkxNng4LmFkZABpMzJ4NC5zcGxhdABmNjR4Mi5uZWcAaTY0eDIubmVnAGYzMi5yZWludGVycHJldC9pMzIAZjY0eDIuZXh0cmFjdF9sYW5lAGk2NHgyLmxvYWRfc3BsYXQAaTY0eDIuZXh0cmFjdF9sYW5lAGY2NC5wcm9tb3RlX2YzMgBmNjQucmVpbnRlcnByZXRfaTY0AGYzMng0LnNxcnQAaTY0LnRydW5jX3M6c2F0L2Y2NABpMzIudHJ1bmNfczpzYXQvZjY0AGk2NC50cnVuY191OnNhdC9mNjQAaTMyLnRydW5jX3U6c2F0L2Y2NABpOHgxNi5hZGRfc2F0dXJhdGVfcwBpOHgxNi5hZGRfc2F0dXJhdGVfdQBpNjR4Mi50cnVuY19zYXRfZjY0eDJfcwBpNjR4Mi50cnVuY19zYXRfZjY0eDJfdQBmNjQucHJvbW90ZS9mMzIAZjY0LnJlaW50ZXJwcmV0L2k2NABmNjQubWF4AGYzMi5tYXgAaTY0LmF0b21pYy5ybXcxNi54Y2hnX3UAaTMyLmF0b21pYy5ybXcxNi54Y2hnX3UAaTh4MTYuZ3RfcwBmNjR4Mi5yZXBsYWNlX2xhbmUAaTh4MTYuZ3RfdQBpNjR4Mi5yZXBsYWNlX2xhbmUAaTh4MTYuZ2VfcwBpOHgxNi5nZV91AGk2NHgyLmFueV90cnVlAGk2NC5hdG9taWMucm13OC54b3JfdQBpMzIuYXRvbWljLnJtdzgueG9yX3UAaTE2eDguc3ViX3NhdHVyYXRlX3MAaTE2eDguc3ViX3NhdHVyYXRlX3UAZjY0LmVxAGYzMi5lcQBpMTZ4OC5hbGxfdHJ1ZQBpNjQuZXEAaTMyLmVxAGk2NC5hdG9taWMucm13MTYueG9yX3UAaTMyLmF0b21pYy5ybXcxNi54b3JfdQBpMzJ4NC5zaHJfcwBpMzJ4NC5zaHJfdQBpMzJ4NC5zaGwAaTMyeDQudHJ1bmNfc2F0X2YzMng0X3MAaTMyeDQudHJ1bmNfc2F0X2YzMng0X3UAaTY0LmF0b21pYy5zdG9yZTgAaTMyLmF0b21pYy5zdG9yZTgAZjMyeDQubmVnAGkzMng0Lm5lZwBpNjQucG9wY250AGkzMi5wb3BjbnQAZjMyeDQuZXh0cmFjdF9sYW5lAGkzMng0LmxvYWRfc3BsYXQAaTMyeDQuZXh0cmFjdF9sYW5lAGkxNng4LmFkZF9zYXR1cmF0ZV9zAGkxNng4LmFkZF9zYXR1cmF0ZV91AGY2NHgyLm1heABpMTZ4OC5ndF9zAGkxNng4Lmd0X3UAaTE2eDguZ2VfcwBpMTZ4OC5nZV91AGk4eDE2LnNwbGF0AGYzMng0LnJlcGxhY2VfbGFuZQBpMzJ4NC5yZXBsYWNlX2xhbmUAaTMyeDQuYW55X3RydWUAZ2V0X2dsb2JhbABmNjR4Mi5lcQBpMzIucmVpbnRlcnByZXRfZjMyAGkzMi5yZWludGVycHJldC9mMzIAaTY0LmF0b21pYy5ybXcueG9yAGkzMi5hdG9taWMucm13LnhvcgBiaW5hcnkAaTY0LnJlaW50ZXJwcmV0X2Y2NABpMzIud3JhcF9pNjQAaTh4MTYuc2hyX3MAaTh4MTYuc2hyX3UAaTE2eDguc3BsYXQAaTY0LnJlaW50ZXJwcmV0L2Y2NABmMzJ4NC5tYXgAaTh4MTYuc2hsAGkzMi53cmFwL2k2NABmMzJ4NC5jb252ZXJ0X2kzMng0X3MAZjMyeDQuY29udmVydF9pMzJ4NF91AGk4eDE2Lm5lZwBpOHgxNi5sb2FkX3NwbGF0AGk4eDE2LmV4dHJhY3RfbGFuZV9zAGk4eDE2LmV4dHJhY3RfbGFuZV91AGYzMng0LmVxAGkzMng0LmVxAGY2NHgyLmNvbnZlcnRfaTY0eDJfcwBmNjR4Mi5jb252ZXJ0X2k2NHgyX3UAaTh4MTYucmVwbGFjZV9sYW5lAGk4eDE2LmFueV90cnVlAGkxNng4LnNocl9zAGkxNng4LnNocl91AGkxNng4LnNobABjdXJyZW50X21lbW9yeQBpMTZ4OC5uZWcAaTE2eDgubG9hZF9zcGxhdABpNjQuYXRvbWljLnJtdzgueGNoZ191AGkzMi5hdG9taWMucm13OC54Y2hnX3UAaTE2eDguZXh0cmFjdF9sYW5lX3MAaTE2eDguZXh0cmFjdF9sYW5lX3UAYXRvbWljLm5vdGlmeQBpNjQuYXRvbWljLnJtdy5jbXB4Y2hnAGkzMi5hdG9taWMucm13LmNtcHhjaGcAaTE2eDgucmVwbGFjZV9sYW5lAGkxNng4LmFueV90cnVlAGY2NC5jb3B5c2lnbgBmMzIuY29weXNpZ24AaTh4MTYuZXEAZ3Jvd19tZW1vcnkAaTE2eDguZXEAaTY0LmF0b21pYy5ybXcueGNoZwBpMzIuYXRvbWljLnJtdy54Y2hnAG5ld2xpbmUgaW4gc3RyaW5nAGJhZCBlc2NhcGUgIiUuKnMiAGFubm90YXRpb25zIG5vdCBlbmFibGVkOiAlcwB1bmV4cGVjdGVkIHRva2VuICVzLCBleHBlY3RlZCAlcy4AdW5leHBlY3RlZCB0b2tlbiAlcy4Ab3Bjb2RlIG5vdCBhbGxvd2VkOiAlcwAgb3IgACAoZS5nLiAAdW5leHBlY3RlZCB0b2tlbiAiJXMiJXMuAGludmFsaWQgaW50ICIlLipzIgBhIG51bWVyaWMgaW5kZXgAYSBuYW1lADEyIG9yICRmb28AYW4gb2Zmc2V0IGV4cHIAKGkzMi5jb25zdCAxMjMpAGFuIGV4cHIAdGhlbiBibG9jawAodGhlbiAuLi4pAHVuZXhwZWN0ZWQgbGFiZWwgIiVzIgBtaXNtYXRjaGluZyBsYWJlbCAiJXMiICE9ICIlcyIAYSBuYXR1cmFsIG51bWJlciBpbiByYW5nZSBbMCwgMzIpAGludmFsaWQgbGl0ZXJhbCAiJS4qcyIAc2h1ZmZsZSBpbmRleCAiJS4qcyIgb3V0LW9mLXJhbmdlIFswLCAzMikAYSBuYXR1cmFsIG51bWJlcgAxMjMAYSBudW1lcmljIGxpdGVyYWwAMTIzLCAtNDUsIDYuN2U4AFVuZXhwZWN0ZWQgdHlwZSBhdCBzdGFydCBvZiBzaW1kIGNvbnN0YW50LiBFeHBlY3RlZCBvbmUgb2Y6IGk4eDE2LCBpMTZ4OCwgaTMyeDQsIGk2NHgyLCBmMzJ4NCwgZjY0eDIuIEZvdW5kICIlcyIuAGEgTmF0IG9yIEludGVnZXIgbGl0ZXJhbABhIEZsb2F0IGxpdGVyYWwANDIuMABpbnZhbGlkIGFsaWdubWVudCAiJS4qcyIAYWxpZ25tZW50IG11c3QgYmUgcG93ZXItb2YtdHdvAGludmFsaWQgb2Zmc2V0ICIlLipzIgBvZmZzZXQgbXVzdCBiZSBsZXNzIHRoYW4gb3IgZXF1YWwgdG8gMHhmZmZmZmZmZgB2YWx1ZSB0eXBlIG5vdCBhbGxvd2VkOiAlcwBhIHF1b3RlZCBzdHJpbmcAImZvbyIAcXVvdGVkIHN0cmluZyBoYXMgYW4gaW52YWxpZCB1dGYtOCBlbmNvZGluZwBhIG1vZHVsZSBmaWVsZABONHdhYnQxMl9HTE9CQUxfX05fMTM1UmVzb2x2ZUZ1bmNUeXBlc0V4cHJWaXNpdG9yRGVsZWdhdGVFAGltcG9ydHMgbXVzdCBvY2N1ciBiZWZvcmUgYWxsIG5vbi1pbXBvcnQgZGVmaW5pdGlvbnMAYW4gZXh0ZXJuYWwga2luZAA8dGV4dD4AZXJyb3IgaW4gYmluYXJ5IG1vZHVsZTogJXMAZXJyb3IgaW4gYmluYXJ5IG1vZHVsZTogQDB4JTA4eng6ICVzAGEgYmluYXJ5IG1vZHVsZQBhIHRleHQgbW9kdWxlAE40d2FidDEzTW9kdWxlQ29tbWFuZEUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFMEVFRQBONHdhYnQ3Q29tbWFuZEUATjR3YWJ0MTZUZXh0U2NyaXB0TW9kdWxlRQBONHdhYnQxN1NjcmlwdE1vZHVsZU1peGluSUxOU18xNlNjcmlwdE1vZHVsZVR5cGVFMEVFRQBONHdhYnQxMlNjcmlwdE1vZHVsZUUATjR3YWJ0MTZEYXRhU2NyaXB0TW9kdWxlSUxOU18xNlNjcmlwdE1vZHVsZVR5cGVFMkVFRQBONHdhYnQxN1NjcmlwdE1vZHVsZU1peGluSUxOU18xNlNjcmlwdE1vZHVsZVR5cGVFMkVFRQBONHdhYnQxNkRhdGFTY3JpcHRNb2R1bGVJTE5TXzE2U2NyaXB0TW9kdWxlVHlwZUUxRUVFAE40d2FidDE3U2NyaXB0TW9kdWxlTWl4aW5JTE5TXzE2U2NyaXB0TW9kdWxlVHlwZUUxRUVFAGEgY29tbWFuZABONHdhYnQxNVJlZ2lzdGVyQ29tbWFuZEUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFMkVFRQBONHdhYnQ5R2V0QWN0aW9uRQBONHdhYnQxMUFjdGlvbk1peGluSUxOU18xMEFjdGlvblR5cGVFMUVFRQBONHdhYnQ2QWN0aW9uRQBONHdhYnQxMkludm9rZUFjdGlvbkUATjR3YWJ0MTFBY3Rpb25NaXhpbklMTlNfMTBBY3Rpb25UeXBlRTBFRUUATjR3YWJ0MTdBY3Rpb25Db21tYW5kQmFzZUlMTlNfMTFDb21tYW5kVHlwZUUxRUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTFFRUUATjR3YWJ0MTlBc3NlcnRNb2R1bGVDb21tYW5kSUxOU18xMUNvbW1hbmRUeXBlRTVFRUUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFNUVFRQBONHdhYnQyMUFzc2VydFRyYXBDb21tYW5kQmFzZUlMTlNfMTFDb21tYW5kVHlwZUUxMEVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUUxMEVFRQBONHdhYnQxOUFzc2VydE1vZHVsZUNvbW1hbmRJTE5TXzExQ29tbWFuZFR5cGVFNkVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU2RUVFAE40d2FidDE3QWN0aW9uQ29tbWFuZEJhc2VJTE5TXzExQ29tbWFuZFR5cGVFOEVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU4RUVFAE40d2FidDE3QWN0aW9uQ29tbWFuZEJhc2VJTE5TXzExQ29tbWFuZFR5cGVFOUVFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUU5RUVFAE40d2FidDE5QXNzZXJ0UmV0dXJuQ29tbWFuZEUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFN0VFRQBONHdhYnQxOUFzc2VydE1vZHVsZUNvbW1hbmRJTE5TXzExQ29tbWFuZFR5cGVFM0VFRQBONHdhYnQxMkNvbW1hbmRNaXhpbklMTlNfMTFDb21tYW5kVHlwZUUzRUVFAE40d2FidDE5QXNzZXJ0TW9kdWxlQ29tbWFuZElMTlNfMTFDb21tYW5kVHlwZUU0RUVFAE40d2FidDEyQ29tbWFuZE1peGluSUxOU18xMUNvbW1hbmRUeXBlRTRFRUUATjR3YWJ0MjFBc3NlcnRUcmFwQ29tbWFuZEJhc2VJTE5TXzExQ29tbWFuZFR5cGVFMTFFRUUATjR3YWJ0MTJDb21tYW5kTWl4aW5JTE5TXzExQ29tbWFuZFR5cGVFMTFFRUUAKDsldTspACVsbHUAb2Zmc2V0PSV1AGFsaWduPSV1ACAldQAgOzsgbGFiZWwgPSBAJXUAJWxsZAAoOz0lZzspAGkzMng0IDB4JTA4eCAweCUwOHggMHglMDh4IDB4JTA4eAAldSAoO0AldTspACV1ICg7IElOVkFMSUQgOykATjR3YWJ0MTJfR0xPQkFMX19OXzE5V2F0V3JpdGVyMTlFeHByVmlzaXRvckRlbGVnYXRlRQBJbnZhbGlkIE9wY29kZSBmb3IgZXhwciB0eXBlOiAlcwoAYmFkIGV4cHIgdHlwZTogJXMKAERhdGEAQ29kZQBEYXRhQ291bnQARWxlbQBTdGFydABFeHBvcnQARXZlbnQAR2xvYmFsAE1lbW9yeQBUYWJsZQBGdW5jdGlvbgBJbXBvcnQAVHlwZQBDdXN0b20AbWFnaWMAdWludDMyX3QAdW5hYmxlIHRvIHJlYWQgJXM6ICVzAGJhZCBtYWdpYyB2YWx1ZQB2ZXJzaW9uAGJhZCB3YXNtIGZpbGUgdmVyc2lvbjogJSN4IChleHBlY3RlZCAlI3gpAEJlZ2luTW9kdWxlIGNhbGxiYWNrIGZhaWxlZABmdW5jdGlvbiBzaWduYXR1cmUgY291bnQgIT0gZnVuY3Rpb24gYm9keSBjb3VudABFbmRNb2R1bGUgY2FsbGJhY2sgZmFpbGVkAHNlY3Rpb24gY29kZQB1bmFibGUgdG8gcmVhZCB1MzIgbGViMTI4OiAlcwBzZWN0aW9uIHNpemUAaW52YWxpZCBzZWN0aW9uIGNvZGU6ICV1AGludmFsaWQgc2VjdGlvbiBzaXplOiBleHRlbmRzIHBhc3QgZW5kAHNlY3Rpb24gJXMgb3V0IG9mIG9yZGVyACVzIHNlY3Rpb24gY2FuIG5vdCBvY2N1ciBhZnRlciBOYW1lIHNlY3Rpb24AQmVnaW5TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABzZWN0aW9uIG5hbWUAQmVnaW5DdXN0b21TZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABuYW1lAEJlZ2luTmFtZXNTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABuYW1lIHR5cGUAZHVwbGljYXRlIHN1Yi1zZWN0aW9uAG91dC1vZi1vcmRlciBzdWItc2VjdGlvbgBzdWJzZWN0aW9uIHNpemUAaW52YWxpZCBzdWItc2VjdGlvbiBzaXplOiBleHRlbmRzIHBhc3QgZW5kAE9uTW9kdWxlTmFtZVN1YnNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG1vZHVsZSBuYW1lAE9uTW9kdWxlTmFtZSBjYWxsYmFjayBmYWlsZWQAT25GdW5jdGlvbk5hbWVTdWJzZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABuYW1lIGNvdW50AGludmFsaWQgJXMgJXUsIG9ubHkgJXpkIGJ5dGVzIGxlZnQgaW4gc2VjdGlvbgBPbkZ1bmN0aW9uTmFtZXNDb3VudCBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gaW5kZXgAZHVwbGljYXRlIGZ1bmN0aW9uIG5hbWU6ICV1AGZ1bmN0aW9uIGluZGV4IG91dCBvZiBvcmRlcjogJXUAaW52YWxpZCBmdW5jdGlvbiBpbmRleDogJXUAZnVuY3Rpb24gbmFtZQBPbkZ1bmN0aW9uTmFtZSBjYWxsYmFjayBmYWlsZWQAT25Mb2NhbE5hbWVTdWJzZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABmdW5jdGlvbiBjb3VudABPbkxvY2FsTmFtZUZ1bmN0aW9uQ291bnQgY2FsbGJhY2sgZmFpbGVkAGxvY2FscyBmdW5jdGlvbiBpbmRleCBvdXQgb2Ygb3JkZXI6ICV1AGxvY2FsIGNvdW50AE9uTG9jYWxOYW1lTG9jYWxDb3VudCBjYWxsYmFjayBmYWlsZWQAbmFtZWQgaW5kZXgAZHVwbGljYXRlIGxvY2FsIGluZGV4OiAldQBsb2NhbCBpbmRleCBvdXQgb2Ygb3JkZXI6ICV1AE9uTG9jYWxOYW1lIGNhbGxiYWNrIGZhaWxlZAB1bmZpbmlzaGVkIHN1Yi1zZWN0aW9uIChleHBlY3RlZCBlbmQ6IDB4JXp4KQBFbmROYW1lc1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGR5bGluawBCZWdpbkR5bGlua1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG1lbV9zaXplAG1lbV9hbGlnbgB0YWJsZV9zaXplAHRhYmxlX2FsaWduAE9uRHlsaW5rSW5mbyBjYWxsYmFjayBmYWlsZWQAbmVlZGVkX2R5bmxpYnMAT25EeWxpbmtOZWVkZWRDb3VudCBjYWxsYmFjayBmYWlsZWQAZHlsaWIgc29fbmFtZQBPbkR5bGlua05lZWRlZCBjYWxsYmFjayBmYWlsZWQARW5kRHlsaW5rU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAcmVsb2MAQmVnaW5SZWxvY1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAHNlY3Rpb24gaW5kZXgAcmVsb2NhdGlvbiBjb3VudABPblJlbG9jQ291bnQgY2FsbGJhY2sgZmFpbGVkAHJlbG9jYXRpb24gdHlwZQBpbmRleABhZGRlbmQAdW5hYmxlIHRvIHJlYWQgaTMyIGxlYjEyODogJXMAT25SZWxvYyBjYWxsYmFjayBmYWlsZWQARW5kUmVsb2NTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABsaW5raW5nAEJlZ2luTGlua2luZ1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGludmFsaWQgbGlua2luZyBtZXRhZGF0YSB2ZXJzaW9uOiAldQBzeW0gY291bnQAT25TeW1ib2xDb3VudCBjYWxsYmFjayBmYWlsZWQAc3ltIHR5cGUAc3ltIGZsYWdzAE9uU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABzeW1ib2wgbmFtZQBPbkZ1bmN0aW9uU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABPbkdsb2JhbFN5bWJvbCBjYWxsYmFjayBmYWlsZWQAT25FdmVudFN5bWJvbCBjYWxsYmFjayBmYWlsZWQAc2VnbWVudABzaXplAE9uRGF0YVN5bWJvbCBjYWxsYmFjayBmYWlsZWQAT25TZWN0aW9uU3ltYm9sIGNhbGxiYWNrIGZhaWxlZABpbmZvIGNvdW50AE9uU2VnbWVudEluZm9Db3VudCBjYWxsYmFjayBmYWlsZWQAc2VnbWVudCBuYW1lAHNlZ21lbnQgYWxpZ25tZW50AHNlZ21lbnQgZmxhZ3MAT25TZWdtZW50SW5mbyBjYWxsYmFjayBmYWlsZWQAT25Jbml0RnVuY3Rpb25Db3VudCBjYWxsYmFjayBmYWlsZWQAcHJpb3JpdHkAT25Jbml0RnVuY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGNvdW50AE9uQ29tZGF0Q291bnQgY2FsbGJhY2sgZmFpbGVkAGNvbWRhdCBuYW1lAGZsYWdzAGVudHJ5IGNvdW50AE9uQ29tZGF0QmVnaW4gY2FsbGJhY2sgZmFpbGVkAGtpbmQAT25Db21kYXRFbnRyeSBjYWxsYmFjayBmYWlsZWQARW5kTGlua2luZ1NlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEVuZEN1c3RvbVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luVHlwZVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAHR5cGUgY291bnQAT25UeXBlQ291bnQgY2FsbGJhY2sgZmFpbGVkAHR5cGUgZm9ybQAtAHVuZXhwZWN0ZWQgdHlwZSBmb3JtIChnb3QgJXMlI3gpAGZ1bmN0aW9uIHBhcmFtIGNvdW50AGZ1bmN0aW9uIHBhcmFtIHR5cGUAZXhwZWN0ZWQgdmFsaWQgcGFyYW0gdHlwZSAoZ290ICVzJSN4KQBmdW5jdGlvbiByZXN1bHQgY291bnQAcmVzdWx0IGNvdW50IG11c3QgYmUgMCBvciAxAGZ1bmN0aW9uIHJlc3VsdCB0eXBlAGV4cGVjdGVkIHZhbGlkIHJlc3VsdCB0eXBlIChnb3QgJXMlI3gpAE9uVHlwZSBjYWxsYmFjayBmYWlsZWQARW5kVHlwZVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luSW1wb3J0U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAaW1wb3J0IGNvdW50AE9uSW1wb3J0Q291bnQgY2FsbGJhY2sgZmFpbGVkAGltcG9ydCBtb2R1bGUgbmFtZQBpbXBvcnQgZmllbGQgbmFtZQBpbXBvcnQga2luZAB1aW50OF90AGltcG9ydCBzaWduYXR1cmUgaW5kZXgAaW52YWxpZCBpbXBvcnQgc2lnbmF0dXJlIGluZGV4AE9uSW1wb3J0IGNhbGxiYWNrIGZhaWxlZABPbkltcG9ydEZ1bmMgY2FsbGJhY2sgZmFpbGVkAE9uSW1wb3J0VGFibGUgY2FsbGJhY2sgZmFpbGVkAE9uSW1wb3J0TWVtb3J5IGNhbGxiYWNrIGZhaWxlZABPbkltcG9ydEdsb2JhbCBjYWxsYmFjayBmYWlsZWQAaW52YWxpZCBpbXBvcnQgZXZlbnQga2luZDogZXhjZXB0aW9ucyBub3QgYWxsb3dlZABPbkltcG9ydEV2ZW50IGNhbGxiYWNrIGZhaWxlZABFbmRJbXBvcnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkZ1bmN0aW9uU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gc2lnbmF0dXJlIGNvdW50AE9uRnVuY3Rpb25Db3VudCBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gc2lnbmF0dXJlIGluZGV4AGludmFsaWQgZnVuY3Rpb24gc2lnbmF0dXJlIGluZGV4OiAldQBPbkZ1bmN0aW9uIGNhbGxiYWNrIGZhaWxlZABFbmRGdW5jdGlvblNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luVGFibGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZAB0YWJsZSBjb3VudAB0YWJsZSBjb3VudCAoJXUpIG11c3QgYmUgMCBvciAxAE9uVGFibGVDb3VudCBjYWxsYmFjayBmYWlsZWQAT25UYWJsZSBjYWxsYmFjayBmYWlsZWQARW5kVGFibGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbk1lbW9yeVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAG1lbW9yeSBjb3VudABtZW1vcnkgY291bnQgbXVzdCBiZSAwIG9yIDEAT25NZW1vcnlDb3VudCBjYWxsYmFjayBmYWlsZWQAT25NZW1vcnkgY2FsbGJhY2sgZmFpbGVkAEVuZE1lbW9yeVNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luR2xvYmFsU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZ2xvYmFsIGNvdW50AE9uR2xvYmFsQ291bnQgY2FsbGJhY2sgZmFpbGVkAEJlZ2luR2xvYmFsIGNhbGxiYWNrIGZhaWxlZABCZWdpbkdsb2JhbEluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABFbmRHbG9iYWxJbml0RXhwciBjYWxsYmFjayBmYWlsZWQARW5kR2xvYmFsIGNhbGxiYWNrIGZhaWxlZABFbmRHbG9iYWxTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkV4cG9ydFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGV4cG9ydCBjb3VudABPbkV4cG9ydENvdW50IGNhbGxiYWNrIGZhaWxlZABleHBvcnQgaXRlbSBuYW1lAGV4cG9ydCBraW5kAGludmFsaWQgZXhwb3J0IGV4dGVybmFsIGtpbmQ6ICVkAGV4cG9ydCBpdGVtIGluZGV4AGludmFsaWQgZXhwb3J0IGZ1bmMgaW5kZXg6ICV1AGludmFsaWQgZXhwb3J0IHRhYmxlIGluZGV4OiAldQBpbnZhbGlkIGV4cG9ydCBtZW1vcnkgaW5kZXg6ICV1AGludmFsaWQgZXhwb3J0IGdsb2JhbCBpbmRleDogJXUAaW52YWxpZCBleHBvcnQgZXZlbnQga2luZDogZXhjZXB0aW9ucyBub3QgYWxsb3dlZABpbnZhbGlkIGV4cG9ydCBldmVudCBpbmRleDogJXUAT25FeHBvcnQgY2FsbGJhY2sgZmFpbGVkAEVuZEV4cG9ydFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEJlZ2luU3RhcnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABzdGFydCBmdW5jdGlvbiBpbmRleABpbnZhbGlkIHN0YXJ0IGZ1bmN0aW9uIGluZGV4OiAldQBPblN0YXJ0RnVuY3Rpb24gY2FsbGJhY2sgZmFpbGVkAEVuZFN0YXJ0U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5FbGVtU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWdtZW50IGNvdW50AE9uRWxlbVNlZ21lbnRDb3VudCBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWN0aW9uIHdpdGhvdXQgdGFibGUgc2VjdGlvbgBlbGVtIHNlZ21lbnQgZmxhZ3MAaW52YWxpZCBlbGVtIHNlZ21lbnQgZmxhZ3MAZWxlbSBzZWdtZW50IHRhYmxlIGluZGV4AHRhYmxlIGVsZW0gdHlwZQBzZWdtZW50IGVsZW0gdHlwZSBtdXN0IGJ5IGZ1bmNyZWYgb3IgYW55cmVmAEJlZ2luRWxlbVNlZ21lbnQgY2FsbGJhY2sgZmFpbGVkAEJlZ2luRWxlbVNlZ21lbnRJbml0RXhwciBjYWxsYmFjayBmYWlsZWQARW5kRWxlbVNlZ21lbnRJbml0RXhwciBjYWxsYmFjayBmYWlsZWQAZWxlbSBleHByIGNvdW50AE9uRWxlbVNlZ21lbnRFbGVtRXhwckNvdW50IGNhbGxiYWNrIGZhaWxlZABlbGVtIGV4cHIgb3Bjb2RlAGVsZW0gZXhwciBmdW5jIGluZGV4AGV4cGVjdGVkIHJlZi5udWxsIG9yIHJlZi5mdW5jIGluIHBhc3NpdmUgZWxlbWVudCBzZWdtZW50AG9wY29kZQBPbkVsZW1TZWdtZW50RWxlbUV4cHJfUmVmRnVuYyBjYWxsYmFjayBmYWlsZWQAT25FbGVtU2VnbWVudEVsZW1FeHByX1JlZk51bGwgY2FsbGJhY2sgZmFpbGVkAGV4cGVjdGVkIEVORCBvcGNvZGUgYWZ0ZXIgZWxlbWVudCBleHByZXNzaW9uAEVuZEVsZW1TZWdtZW50IGNhbGxiYWNrIGZhaWxlZABFbmRFbGVtU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5Db2RlU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAZnVuY3Rpb24gYm9keSBjb3VudABPbkZ1bmN0aW9uQm9keUNvdW50IGNhbGxiYWNrIGZhaWxlZABmdW5jdGlvbiBib2R5IHNpemUAQmVnaW5GdW5jdGlvbkJvZHkgY2FsbGJhY2sgZmFpbGVkAGxvY2FsIGRlY2xhcmF0aW9uIGNvdW50AE9uTG9jYWxEZWNsQ291bnQgY2FsbGJhY2sgZmFpbGVkAGxvY2FsIHR5cGUgY291bnQAbG9jYWwgY291bnQgbXVzdCBiZSA8IDB4MTAwMDAwMDAAbG9jYWwgdHlwZQBleHBlY3RlZCB2YWxpZCBsb2NhbCB0eXBlAE9uTG9jYWxEZWNsIGNhbGxiYWNrIGZhaWxlZABFbmRGdW5jdGlvbkJvZHkgY2FsbGJhY2sgZmFpbGVkAEVuZENvZGVTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABCZWdpbkRhdGFTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABkYXRhIHNlZ21lbnQgY291bnQAT25EYXRhU2VnbWVudENvdW50IGNhbGxiYWNrIGZhaWxlZABkYXRhIHNlY3Rpb24gd2l0aG91dCBtZW1vcnkgc2VjdGlvbgBkYXRhIHNlZ21lbnQgY291bnQgZG9lcyBub3QgZXF1YWwgY291bnQgaW4gRGF0YUNvdW50IHNlY3Rpb24AZGF0YSBzZWdtZW50IGZsYWdzAGludmFsaWQgZGF0YSBzZWdtZW50IGZsYWdzAGRhdGEgc2VnbWVudCBtZW1vcnkgaW5kZXgAQmVnaW5EYXRhU2VnbWVudCBjYWxsYmFjayBmYWlsZWQAQmVnaW5EYXRhU2VnbWVudEluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABFbmREYXRhU2VnbWVudEluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABkYXRhIHNlZ21lbnQgZGF0YQBkYXRhIHNpemUAdW5hYmxlIHRvIHJlYWQgZGF0YTogJXMAT25EYXRhU2VnbWVudERhdGEgY2FsbGJhY2sgZmFpbGVkAEVuZERhdGFTZWdtZW50IGNhbGxiYWNrIGZhaWxlZABFbmREYXRhU2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5FdmVudFNlY3Rpb24gY2FsbGJhY2sgZmFpbGVkAGV2ZW50IGNvdW50AE9uRXZlbnRDb3VudCBjYWxsYmFjayBmYWlsZWQAT25FdmVudFR5cGUgY2FsbGJhY2sgZmFpbGVkAEVuZEV2ZW50U2VjdGlvbiBjYWxsYmFjayBmYWlsZWQAQmVnaW5EYXRhQ291bnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZABkYXRhIGNvdW50AE9uRGF0YUNvdW50IGNhbGxiYWNrIGZhaWxlZABFbmREYXRhQ291bnRTZWN0aW9uIGNhbGxiYWNrIGZhaWxlZAB1bmZpbmlzaGVkIHNlY3Rpb24gKGV4cGVjdGVkIGVuZDogMHglengpAE9uT3Bjb2RlIGNhbGxiYWNrIGZhaWxlZABPblVucmVhY2hhYmxlRXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVCYXJlIGNhbGxiYWNrIGZhaWxlZABibG9jayBzaWduYXR1cmUgdHlwZQBleHBlY3RlZCB2YWxpZCBibG9jayBzaWduYXR1cmUgdHlwZQBPbkJsb2NrRXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVCbG9ja1NpZyBjYWxsYmFjayBmYWlsZWQAbG9vcCBzaWduYXR1cmUgdHlwZQBPbkxvb3BFeHByIGNhbGxiYWNrIGZhaWxlZABpZiBzaWduYXR1cmUgdHlwZQBPbklmRXhwciBjYWxsYmFjayBmYWlsZWQAT25FbHNlRXhwciBjYWxsYmFjayBmYWlsZWQAT25TZWxlY3RFeHByIGNhbGxiYWNrIGZhaWxlZABiciBkZXB0aABPbkJyRXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVJbmRleCBjYWxsYmFjayBmYWlsZWQAYnJfaWYgZGVwdGgAT25CcklmRXhwciBjYWxsYmFjayBmYWlsZWQAYnJfdGFibGUgdGFyZ2V0IGNvdW50AGJyX3RhYmxlIHRhcmdldCBkZXB0aABicl90YWJsZSBkZWZhdWx0IHRhcmdldCBkZXB0aABPbkJyVGFibGVFeHByIGNhbGxiYWNrIGZhaWxlZABPblJldHVybkV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uTm9wRXhwciBjYWxsYmFjayBmYWlsZWQAT25Ecm9wRXhwciBjYWxsYmFjayBmYWlsZWQAT25FbmRGdW5jIGNhbGxiYWNrIGZhaWxlZABPbkVuZEV4cHIgY2FsbGJhY2sgZmFpbGVkAGkzMi5jb25zdCB2YWx1ZQBPbkkzMkNvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVVaW50MzIgY2FsbGJhY2sgZmFpbGVkAGk2NC5jb25zdCB2YWx1ZQB1bmFibGUgdG8gcmVhZCBpNjQgbGViMTI4OiAlcwBPbkk2NENvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVVaW50NjQgY2FsbGJhY2sgZmFpbGVkAGYzMi5jb25zdCB2YWx1ZQBmbG9hdABPbkYzMkNvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVGMzIgY2FsbGJhY2sgZmFpbGVkAGY2NC5jb25zdCB2YWx1ZQBkb3VibGUAT25GNjRDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlRjY0IGNhbGxiYWNrIGZhaWxlZAB2MTI4LmNvbnN0IHZhbHVlAE9uVjEyOENvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAT25PcGNvZGVWMTI4IGNhbGxiYWNrIGZhaWxlZABnbG9iYWwuZ2V0IGdsb2JhbCBpbmRleABPbkdsb2JhbEdldEV4cHIgY2FsbGJhY2sgZmFpbGVkAGxvY2FsLmdldCBsb2NhbCBpbmRleABPbkxvY2FsR2V0RXhwciBjYWxsYmFjayBmYWlsZWQAZ2xvYmFsLnNldCBnbG9iYWwgaW5kZXgAT25HbG9iYWxTZXRFeHByIGNhbGxiYWNrIGZhaWxlZABsb2NhbC5zZXQgbG9jYWwgaW5kZXgAT25Mb2NhbFNldEV4cHIgY2FsbGJhY2sgZmFpbGVkAGNhbGwgZnVuY3Rpb24gaW5kZXgAaW52YWxpZCBjYWxsIGZ1bmN0aW9uIGluZGV4OiAldQBPbkNhbGxFeHByIGNhbGxiYWNrIGZhaWxlZABjYWxsX2luZGlyZWN0IHNpZ25hdHVyZSBpbmRleABpbnZhbGlkIGNhbGxfaW5kaXJlY3Qgc2lnbmF0dXJlIGluZGV4AGNhbGxfaW5kaXJlY3QgdGFibGUgaW5kZXgAaW52YWxpZCBjYWxsX2luZGlyZWN0IHRhYmxlIGluZGV4AGNhbGxfaW5kaXJlY3QgcmVzZXJ2ZWQAY2FsbF9pbmRpcmVjdCByZXNlcnZlZCB2YWx1ZSBtdXN0IGJlIDAAT25DYWxsSW5kaXJlY3RFeHByIGNhbGxiYWNrIGZhaWxlZABPbk9wY29kZVVpbnQzMlVpbnQzMiBjYWxsYmFjayBmYWlsZWQAaW52YWxpZCByZXR1cm5fY2FsbCBmdW5jdGlvbiBpbmRleDogJXUAT25SZXR1cm5DYWxsRXhwciBjYWxsYmFjayBmYWlsZWQAaW52YWxpZCByZXR1cm5fY2FsbF9pbmRpcmVjdCBzaWduYXR1cmUgaW5kZXgAcmV0dXJuX2NhbGxfaW5kaXJlY3QgdGFibGUgaW5kZXgAaW52YWxpZCByZXR1cm5fY2FsbF9pbmRpcmVjdCB0YWJsZSBpbmRleAByZXR1cm5fY2FsbF9pbmRpcmVjdCByZXNlcnZlZAByZXR1cm5fY2FsbF9pbmRpcmVjdCByZXNlcnZlZCB2YWx1ZSBtdXN0IGJlIDAAT25SZXR1cm5DYWxsSW5kaXJlY3RFeHByIGNhbGxiYWNrIGZhaWxlZABsb2NhbC50ZWUgbG9jYWwgaW5kZXgAT25Mb2NhbFRlZUV4cHIgY2FsbGJhY2sgZmFpbGVkAGxvYWQgYWxpZ25tZW50AGxvYWQgb2Zmc2V0AE9uTG9hZEV4cHIgY2FsbGJhY2sgZmFpbGVkAHN0b3JlIGFsaWdubWVudABzdG9yZSBvZmZzZXQAT25TdG9yZUV4cHIgY2FsbGJhY2sgZmFpbGVkAG1lbW9yeS5zaXplIHJlc2VydmVkAG1lbW9yeS5zaXplIHJlc2VydmVkIHZhbHVlIG11c3QgYmUgMABPbk1lbW9yeVNpemVFeHByIGNhbGxiYWNrIGZhaWxlZABtZW1vcnkuZ3JvdyByZXNlcnZlZABtZW1vcnkuZ3JvdyByZXNlcnZlZCB2YWx1ZSBtdXN0IGJlIDAAT25NZW1vcnlHcm93RXhwciBjYWxsYmFjayBmYWlsZWQAT25CaW5hcnlFeHByIGNhbGxiYWNrIGZhaWxlZABPbkNvbXBhcmVFeHByIGNhbGxiYWNrIGZhaWxlZABPblVuYXJ5RXhwciBjYWxsYmFjayBmYWlsZWQAT25UZXJuYXJ5RXhwciBjYWxsYmFjayBmYWlsZWQATGFuZSBpZHgAT25TaW1kTGFuZU9wRXhwciBjYWxsYmFjayBmYWlsZWQATGFuZSBpZHggWzE2XQBPblNpbWRTaHVmZmxlT3BFeHByIGNhbGxiYWNrIGZhaWxlZABPbkxvYWRTcGxhdEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQ29udmVydEV4cHIgY2FsbGJhY2sgZmFpbGVkAHRyeSBzaWduYXR1cmUgdHlwZQBPblRyeUV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uQ2F0Y2hFeHByIGNhbGxiYWNrIGZhaWxlZABPblJldGhyb3dFeHByIGNhbGxiYWNrIGZhaWxlZABldmVudCBpbmRleABPblRocm93RXhwciBjYWxsYmFjayBmYWlsZWQAYnJfb25fZXhuIGRlcHRoAE9uQnJPbkV4bkV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uT3Bjb2RlSW5kZXhJbmRleCBjYWxsYmFjayBmYWlsZWQAT25BdG9taWNOb3RpZnlFeHByIGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY1dhaXRFeHByIGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY0xvYWRFeHByIGNhbGxiYWNrIGZhaWxlZABPbkF0b21pY1N0b3JlRXhwciBjYWxsYmFjayBmYWlsZWQAbWVtb3J5IGFsaWdubWVudABtZW1vcnkgb2Zmc2V0AE9uQXRvbWljUm13RXhwciBjYWxsYmFjayBmYWlsZWQAT25BdG9taWNSbXdDbXB4Y2hnRXhwciBjYWxsYmFjayBmYWlsZWQAZWxlbSBzZWdtZW50IGluZGV4AHJlc2VydmVkIHRhYmxlIGluZGV4AHJlc2VydmVkIHZhbHVlIG11c3QgYmUgMABPblRhYmxlSW5pdEV4cHIgY2FsbGJhY2sgZmFpbGVkAHJlc2VydmVkIG1lbW9yeSBpbmRleABPbk1lbW9yeUluaXRFeHByIGNhbGxiYWNrIGZhaWxlZABzZWdtZW50IGluZGV4AE9uRGF0YURyb3BFeHByIGNhbGxiYWNrIGZhaWxlZABPbkVsZW1Ecm9wRXhwciBjYWxsYmFjayBmYWlsZWQAT25NZW1vcnlGaWxsRXhwciBjYWxsYmFjayBmYWlsZWQAT25NZW1vcnlDb3B5RXhwciBjYWxsYmFjayBmYWlsZWQAT25UYWJsZUNvcHlFeHByIGNhbGxiYWNrIGZhaWxlZAB0YWJsZSBpbmRleABPblRhYmxlR2V0RXhwciBjYWxsYmFjayBmYWlsZWQAT25UYWJsZVNldEV4cHIgY2FsbGJhY2sgZmFpbGVkAE9uVGFibGVHcm93RXhwciBjYWxsYmFjayBmYWlsZWQAT25UYWJsZVNpemVFeHByIGNhbGxiYWNrIGZhaWxlZABPblJlZk51bGxFeHByIGNhbGxiYWNrIGZhaWxlZABPblJlZklzTnVsbEV4cHIgY2FsbGJhY2sgZmFpbGVkAGZ1bmN0aW9uIGJvZHkgbG9uZ2VyIHRoYW4gZ2l2ZW4gc2l6ZQBmdW5jdGlvbiBib2R5IG11c3QgZW5kIHdpdGggRU5EIG9wY29kZQB1bmV4cGVjdGVkIG9wY29kZQA6ACAweCV4AGluaXRfZXhwciBpMzIuY29uc3QgdmFsdWUAT25Jbml0RXhwckkzMkNvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAaW5pdF9leHByIGk2NC5jb25zdCB2YWx1ZQBPbkluaXRFeHBySTY0Q29uc3RFeHByIGNhbGxiYWNrIGZhaWxlZABpbml0X2V4cHIgZjMyLmNvbnN0IHZhbHVlAE9uSW5pdEV4cHJGMzJDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGluaXRfZXhwciBmNjQuY29uc3QgdmFsdWUAT25Jbml0RXhwckY2NENvbnN0RXhwciBjYWxsYmFjayBmYWlsZWQAaW5pdF9leHByIHYxMjguY29uc3QgdmFsdWUAT25Jbml0RXhwclYxMjhDb25zdEV4cHIgY2FsbGJhY2sgZmFpbGVkAGluaXRfZXhwciBnbG9iYWwuZ2V0IGluZGV4AE9uSW5pdEV4cHJHbG9iYWxHZXRFeHByIGNhbGxiYWNrIGZhaWxlZABpbiBpbml0aWFsaXplciBleHByZXNzaW9uAGV4cGVjdGVkIGkzMiBpbml0X2V4cHIAZXhwZWN0ZWQgRU5EIG9wY29kZSBhZnRlciBpbml0aWFsaXplciBleHByZXNzaW9uAGV2ZW50IGF0dHJpYnV0ZQBldmVudCBhdHRyaWJ1dGUgbXVzdCBiZSAwAGV2ZW50IHNpZ25hdHVyZSBpbmRleABpbnZhbGlkIGV2ZW50IHNpZ25hdHVyZSBpbmRleABnbG9iYWwgdHlwZQBpbnZhbGlkIGdsb2JhbCB0eXBlOiAlI3gAZ2xvYmFsIG11dGFiaWxpdHkAZ2xvYmFsIG11dGFiaWxpdHkgbXVzdCBiZSAwIG9yIDEAbWVtb3J5IGZsYWdzAG1lbW9yeSBpbml0aWFsIHBhZ2UgY291bnQAaW52YWxpZCBtZW1vcnkgaW5pdGlhbCBzaXplAHNoYXJlZCBtZW1vcnkgbXVzdCBoYXZlIGEgbWF4IHNpemUAbWVtb3J5IG1heCBwYWdlIGNvdW50AGludmFsaWQgbWVtb3J5IG1heCBzaXplAG1lbW9yeSBpbml0aWFsIHNpemUgbXVzdCBiZSA8PSBtYXggc2l6ZQB0YWJsZSBlbGVtIHR5cGUgbXVzdCBieSBmdW5jcmVmIG9yIGFueXJlZgB0YWJsZSBmbGFncwB0YWJsZSBpbml0aWFsIGVsZW0gY291bnQAdGFibGVzIG1heSBub3QgYmUgc2hhcmVkAHRhYmxlIG1heCBlbGVtIGNvdW50AHRhYmxlIGluaXRpYWwgZWxlbSBjb3VudCBtdXN0IGJlIDw9IG1heCBlbGVtIGNvdW50AHN0cmluZyBsZW5ndGgAdW5hYmxlIHRvIHJlYWQgc3RyaW5nOiAlcwBpbnZhbGlkIHV0Zi04IGVuY29kaW5nOiAlcwBlcnJvcgB3YXJuaW5nACUwN3p4OiAlczogJXMKAE9uSW5pdEV4cHJJNjRDb25zdEV4cHIoaW5kZXg6ICV1LCB2YWx1ZTogJWxsdSkKAE9uSW5pdEV4cHJJMzJDb25zdEV4cHIoaW5kZXg6ICV1LCB2YWx1ZTogJXUpCgBPbkluaXRFeHByR2xvYmFsR2V0RXhwcihpbmRleDogJXUsIGdsb2JhbF9pbmRleDogJXUpCgBPbkluaXRFeHByVjEyOENvbnN0RXhwcihpbmRleDogJXUgdmFsdWU6ICggMHglMDh4IDB4JTA4eCAweCUwOHggMHglMDh4KSkKAE9uSW5pdEV4cHJGNjRDb25zdEV4cHIoaW5kZXg6ICV1IHZhbHVlOiAlZyAoMHgwOCVsbHgpKQoAT25Jbml0RXhwckYzMkNvbnN0RXhwcihpbmRleDogJXUsIHZhbHVlOiAlZyAoMHgwNCV4KSkKAEVuZEV2ZW50U2VjdGlvbgoAT25FdmVudFR5cGUoaW5kZXg6ICV1LCBzaWdfaW5kZXg6ICV1KQoAT25FdmVudENvdW50KCV1KQoAQmVnaW5FdmVudFNlY3Rpb24oJXpkKQoARW5kTGlua2luZ1NlY3Rpb24KAE9uQ29tZGF0RW50cnkoa2luZDogJWQsIGluZGV4OiAldSkKAE9uQ29tZGF0QmVnaW4oJS4qcywgZmxhZ3M6ICVkLCBjb3VudDogJXUpCgBPbkNvbWRhdENvdW50KCV1KQoAT25Jbml0RnVuY3Rpb24oJWQgcHJpb3JpdHk6ICVkKQoAT25Jbml0RnVuY3Rpb25Db3VudCgldSkKAE9uU2VnbWVudEluZm8oJWQgbmFtZTogJS4qcywgYWxpZ25tZW50OiAlZCwgZmxhZ3M6IDB4JXgpCgBPblNlZ21lbnRJbmZvQ291bnQoJXUpCgBPbkV2ZW50U3ltYm9sKG5hbWU6ICUuKnMgZmxhZ3M6IDB4JXggaW5kZXg6ICV1KQoAT25TZWN0aW9uU3ltYm9sKGZsYWdzOiAweCV4IGluZGV4OiAldSkKAE9uR2xvYmFsU3ltYm9sKG5hbWU6ICUuKnMgZmxhZ3M6IDB4JXggaW5kZXg6ICV1KQoAT25GdW5jdGlvblN5bWJvbChuYW1lOiAlLipzIGZsYWdzOiAweCV4IGluZGV4OiAldSkKAE9uRGF0YVN5bWJvbChuYW1lOiAlLipzIGZsYWdzOiAweCV4KQoAPGVycm9yX3N5bWJvbF90eXBlPgBzZWN0aW9uAE9uU3ltYm9sKHR5cGU6ICVzIGZsYWdzOiAweCV4KQoAT25TeW1ib2xDb3VudCgldSkKAEJlZ2luTGlua2luZ1NlY3Rpb24oJXpkKQoARW5kRHlsaW5rU2VjdGlvbgoAT25EeWxpbmtOZWVkZWQobmFtZTogJS4qcykKAE9uRHlsaW5rTmVlZGVkQ291bnQoJXUpCgBPbkR5bGlua0luZm8obWVtX3NpemU6ICV1LCBtZW1fYWxpZ246ICV1LCB0YWJsZV9zaXplOiAldSwgdGFibGVfYWxpZ246ICV1KQoAQmVnaW5EeWxpbmtTZWN0aW9uKCV6ZCkKAEVuZFJlbG9jU2VjdGlvbgoAPGVycm9yX3JlbG9jX3R5cGU+AE9uUmVsb2ModHlwZTogJXMsIG9mZnNldDogJXpkLCBpbmRleDogJXUsIGFkZGVuZDogJWQpCgBPblJlbG9jQ291bnQoY291bnQ6ICV1LCBzZWN0aW9uOiAldSkKAEJlZ2luUmVsb2NTZWN0aW9uKCV6ZCkKAEVuZE5hbWVzU2VjdGlvbgoAT25Mb2NhbE5hbWUoZnVuY19pbmRleDogJXUsIGxvY2FsX2luZGV4OiAldSwgbmFtZTogIiUuKnMiKQoAT25Mb2NhbE5hbWVMb2NhbENvdW50KGluZGV4OiAldSwgY291bnQ6ICV1KQoAT25Mb2NhbE5hbWVGdW5jdGlvbkNvdW50KCV1KQoAT25Mb2NhbE5hbWVTdWJzZWN0aW9uKGluZGV4OiV1LCBuYW1ldHlwZToldSwgc2l6ZTolemQpCgBPbkZ1bmN0aW9uTmFtZShpbmRleDogJXUsIG5hbWU6ICIlLipzIikKAE9uRnVuY3Rpb25OYW1lc0NvdW50KCV1KQoAT25GdW5jdGlvbk5hbWVTdWJzZWN0aW9uKGluZGV4OiV1LCBuYW1ldHlwZToldSwgc2l6ZTolemQpCgBPbk1vZHVsZU5hbWUobmFtZTogIiUuKnMiKQoAT25Nb2R1bGVOYW1lU3Vic2VjdGlvbihpbmRleDoldSwgbmFtZXR5cGU6JXUsIHNpemU6JXpkKQoAQmVnaW5OYW1lc1NlY3Rpb24oJXpkKQoARW5kRGF0YUNvdW50U2VjdGlvbgoAT25EYXRhQ291bnQoJXUpCgBCZWdpbkRhdGFDb3VudFNlY3Rpb24oJXpkKQoARW5kRGF0YVNlY3Rpb24KAEVuZERhdGFTZWdtZW50KCV1KQoAT25EYXRhU2VnbWVudERhdGEoaW5kZXg6JXUsIHNpemU6JXUpCgBFbmREYXRhU2VnbWVudEluaXRFeHByKCV1KQoAQmVnaW5EYXRhU2VnbWVudEluaXRFeHByKCV1KQoAdHJ1ZQBmYWxzZQBCZWdpbkRhdGFTZWdtZW50KGluZGV4OiAldSwgbWVtb3J5X2luZGV4OiAldSwgcGFzc2l2ZTogJXMpCgBPbkRhdGFTZWdtZW50Q291bnQoJXUpCgBCZWdpbkRhdGFTZWN0aW9uKCV6ZCkKAEVuZEVsZW1TZWN0aW9uCgBFbmRFbGVtU2VnbWVudCgldSkKAE9uRWxlbVNlZ21lbnRFbGVtRXhwcl9SZWZGdW5jKGluZGV4OiAldSwgZnVuY19pbmRleDogJXUpCgBPbkVsZW1TZWdtZW50RWxlbUV4cHJfUmVmTnVsbCgldSkKAE9uRWxlbVNlZ21lbnRFbGVtRXhwckNvdW50KGluZGV4OiAldSwgY291bnQ6ICV1KQoARW5kRWxlbVNlZ21lbnRJbml0RXhwcigldSkKAEJlZ2luRWxlbVNlZ21lbnRJbml0RXhwcigldSkKAEJlZ2luRWxlbVNlZ21lbnQoaW5kZXg6ICV1LCB0YWJsZV9pbmRleDogJXUsIHBhc3NpdmU6ICVzLCBlbGVtX3R5cGU6ICVzKQoAT25FbGVtU2VnbWVudENvdW50KCV1KQoAQmVnaW5FbGVtU2VjdGlvbiglemQpCgBPbkxvYWRTcGxhdEV4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25TaW1kU2h1ZmZsZU9wRXhwciAobGFuZTogMHglMDh4ICUwOHggJTA4eCAlMDh4KQoAT25TaW1kTGFuZU9wRXhwciAobGFuZTogJWxsdSkKAEVuZENvZGVTZWN0aW9uCgBFbmRGdW5jdGlvbkJvZHkoJXUpCgBPblVucmVhY2hhYmxlRXhwcgoAT25UZXJuYXJ5RXhwcigiJXMiICgldSkpCgBPblVuYXJ5RXhwcigiJXMiICgldSkpCgBPblRyeUV4cHIoc2lnOiAAKQoAZnVuY2lkeFslZF0AT25UaHJvd0V4cHIoZXZlbnRfaW5kZXg6ICV1KQoAT25TdG9yZUV4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25TZWxlY3RFeHByCgBPblJldHVybkNhbGxJbmRpcmVjdEV4cHIoc2lnX2luZGV4OiAldSwgdGFibGVfaW5kZXg6ICV1KQoAT25SZXR1cm5DYWxsRXhwcihmdW5jX2luZGV4OiAldSkKAE9uUmV0dXJuRXhwcgoAT25SZXRocm93RXhwcgoAT25Ob3BFeHByCgBPblJlZklzTnVsbEV4cHIKAE9uUmVmTnVsbEV4cHIKAE9uVGFibGVTaXplRXhwcigldSkKAE9uVGFibGVHcm93RXhwcigldSkKAE9uVGFibGVTZXRFeHByKCV1KQoAT25UYWJsZUdldEV4cHIoJXUpCgBPblRhYmxlSW5pdEV4cHIoJXUpCgBPbkVsZW1Ecm9wRXhwcigldSkKAE9uVGFibGVDb3B5RXhwcgoAT25NZW1vcnlTaXplRXhwcgoAT25NZW1vcnlJbml0RXhwcigldSkKAE9uTWVtb3J5R3Jvd0V4cHIKAE9uTWVtb3J5RmlsbEV4cHIKAE9uRGF0YURyb3BFeHByKCV1KQoAT25NZW1vcnlDb3B5RXhwcgoAT25Mb29wRXhwcihzaWc6IABPbkxvY2FsVGVlRXhwcihpbmRleDogJXUpCgBPbkxvY2FsU2V0RXhwcihpbmRleDogJXUpCgBPbkxvY2FsR2V0RXhwcihpbmRleDogJXUpCgBPbkxvYWRFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uSWZFeHByKHNpZzogAE9uSTY0Q29uc3RFeHByKCVsbHUgKDB4JWxseCkpCgBPbkkzMkNvbnN0RXhwcigldSAoMHgleCkpCgBPbkdsb2JhbFNldEV4cHIoaW5kZXg6ICV1KQoAT25HbG9iYWxHZXRFeHByKGluZGV4OiAldSkKAE9uVjEyOENvbnN0RXhwcigweCUwOHggMHglMDh4IDB4JTA4eCAweCUwOHgpCgBPbkY2NENvbnN0RXhwciglZyAoMHgwOCVsbHgpKQoAT25GMzJDb25zdEV4cHIoJWcgKDB4MDQleCkpCgBPbkVuZEV4cHIKAE9uRWxzZUV4cHIKAE9uRHJvcEV4cHIKAE9uQ29udmVydEV4cHIoIiVzIiAoJXUpKQoAT25Db21wYXJlRXhwcigiJXMiICgldSkpCgBPbkNhdGNoRXhwcgoAT25DYWxsSW5kaXJlY3RFeHByKHNpZ19pbmRleDogJXUsIHRhYmxlX2luZGV4OiAldSkKAE9uQ2FsbEV4cHIoZnVuY19pbmRleDogJXUpCgBPbkJyVGFibGVFeHByKG51bV90YXJnZXRzOiAldSwgZGVwdGhzOiBbAF0sIGRlZmF1bHQ6ICV1KQoAT25Cck9uRXhuRXhwcihkZXB0aDogJXUsIGV2ZW50X2luZGV4OiAldSkKAE9uQnJJZkV4cHIoZGVwdGg6ICV1KQoAT25CckV4cHIoZGVwdGg6ICV1KQoAT25CbG9ja0V4cHIoc2lnOiAAT25CaW5hcnlFeHByKCIlcyIgKCV1KSkKAE9uQXRvbWljTm90aWZ5RXhwcihvcGNvZGU6ICIlcyIgKCV1KSwgYWxpZ24gbG9nMjogJXUsIG9mZnNldDogJXUpCgBPbkF0b21pY1dhaXRFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uQXRvbWljUm13Q21weGNoZ0V4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25BdG9taWNSbXdFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uQXRvbWljU3RvcmVFeHByKG9wY29kZTogIiVzIiAoJXUpLCBhbGlnbiBsb2cyOiAldSwgb2Zmc2V0OiAldSkKAE9uQXRvbWljTG9hZEV4cHIob3Bjb2RlOiAiJXMiICgldSksIGFsaWduIGxvZzI6ICV1LCBvZmZzZXQ6ICV1KQoAT25Mb2NhbERlY2woaW5kZXg6ICV1LCBjb3VudDogJXUsIHR5cGU6ICVzKQoAT25Mb2NhbERlY2xDb3VudCgldSkKAEJlZ2luRnVuY3Rpb25Cb2R5KCV1LCBzaXplOiV6ZCkKAE9uRnVuY3Rpb25Cb2R5Q291bnQoJXUpCgBCZWdpbkNvZGVTZWN0aW9uKCV6ZCkKAEVuZFN0YXJ0U2VjdGlvbgoAT25TdGFydEZ1bmN0aW9uKCV1KQoAQmVnaW5TdGFydFNlY3Rpb24oJXpkKQoARW5kRXhwb3J0U2VjdGlvbgoAPGVycm9yX2tpbmQ+AE9uRXhwb3J0KGluZGV4OiAldSwga2luZDogJXMsIGl0ZW1faW5kZXg6ICV1LCBuYW1lOiAiJS4qcyIpCgBPbkV4cG9ydENvdW50KCV1KQoAQmVnaW5FeHBvcnRTZWN0aW9uKCV6ZCkKAEVuZEdsb2JhbFNlY3Rpb24KAEVuZEdsb2JhbCgldSkKAEVuZEdsb2JhbEluaXRFeHByKCV1KQoAQmVnaW5HbG9iYWxJbml0RXhwcigldSkKAEJlZ2luR2xvYmFsKGluZGV4OiAldSwgdHlwZTogJXMsIG11dGFibGU6ICVzKQoAT25HbG9iYWxDb3VudCgldSkKAEJlZ2luR2xvYmFsU2VjdGlvbiglemQpCgBFbmRNZW1vcnlTZWN0aW9uCgBpbml0aWFsOiAlbGx1LCBtYXg6ICVsbHUAaW5pdGlhbDogJWxsdQBPbk1lbW9yeShpbmRleDogJXUsICVzKQoAT25NZW1vcnlDb3VudCgldSkKAEJlZ2luTWVtb3J5U2VjdGlvbiglemQpCgBFbmRUYWJsZVNlY3Rpb24KAE9uVGFibGUoaW5kZXg6ICV1LCBlbGVtX3R5cGU6ICVzLCAlcykKAE9uVGFibGVDb3VudCgldSkKAEJlZ2luVGFibGVTZWN0aW9uKCV6ZCkKAEVuZEZ1bmN0aW9uU2VjdGlvbgoAT25GdW5jdGlvbihpbmRleDogJXUsIHNpZ19pbmRleDogJXUpCgBPbkZ1bmN0aW9uQ291bnQoJXUpCgBCZWdpbkZ1bmN0aW9uU2VjdGlvbiglemQpCgBFbmRJbXBvcnRTZWN0aW9uCgBPbkltcG9ydEV2ZW50KGltcG9ydF9pbmRleDogJXUsIGV2ZW50X2luZGV4OiAldSwgc2lnX2luZGV4OiAldSkKAE9uSW1wb3J0R2xvYmFsKGltcG9ydF9pbmRleDogJXUsIGdsb2JhbF9pbmRleDogJXUsIHR5cGU6ICVzLCBtdXRhYmxlOiAlcykKAE9uSW1wb3J0TWVtb3J5KGltcG9ydF9pbmRleDogJXUsIG1lbW9yeV9pbmRleDogJXUsICVzKQoAT25JbXBvcnRUYWJsZShpbXBvcnRfaW5kZXg6ICV1LCB0YWJsZV9pbmRleDogJXUsIGVsZW1fdHlwZTogJXMsICVzKQoAT25JbXBvcnRGdW5jKGltcG9ydF9pbmRleDogJXUsIGZ1bmNfaW5kZXg6ICV1LCBzaWdfaW5kZXg6ICV1KQoAT25JbXBvcnQoaW5kZXg6ICV1LCBtb2R1bGU6ICIlLipzIiwgZmllbGQ6ICIlLipzIikKAE9uSW1wb3J0Q291bnQoJXUpCgBCZWdpbkltcG9ydFNlY3Rpb24oJXpkKQoARW5kVHlwZVNlY3Rpb24KAE9uVHlwZShpbmRleDogJXUsIHBhcmFtczogAFsALCByZXN1bHRzOiAAT25UeXBlQ291bnQoJXUpCgBCZWdpblR5cGVTZWN0aW9uKCV6ZCkKAEVuZEN1c3RvbVNlY3Rpb24KAEJlZ2luQ3VzdG9tU2VjdGlvbignJS4qcycsIHNpemU6ICV6ZCkKAEVuZE1vZHVsZQoAQmVnaW5Nb2R1bGUodmVyc2lvbjogJXUpCgBONHdhYnQxOUJpbmFyeVJlYWRlckxvZ2dpbmdFAEludmFsaWQAYXNzZXJ0X2V4aGF1c3Rpb24AYXNzZXJ0X2ludmFsaWQAYXNzZXJ0X21hbGZvcm1lZABhc3NlcnRfcmV0dXJuAGFzc2VydF9yZXR1cm5fYXJpdGhtZXRpY19uYW4AYXNzZXJ0X3JldHVybl9jYW5vbmljYWxfbmFuAGFzc2VydF90cmFwAGFzc2VydF91bmxpbmthYmxlAGJpbgBkYXRhAGVsZW0ARU9GAGV2ZW50AGV4cG9ydABnZXQAZ2xvYmFsAGltcG9ydABpbnZva2UAbG9jYWwAKABtZW1vcnkAbW9kdWxlAG11dABvZmZzZXQAcGFyYW0AcXVvdGUAcmVnaXN0ZXIAcmVzdWx0ACkAc2hhcmVkAHN0YXJ0AHRhYmxlAHRoZW4AdHlwZQBpOHgxNgBpMTZ4OABpMzJ4NABpNjR4MgBmMzJ4NABmNjR4MgBGTE9BVABJTlQATkFUAEFUT01JQ19MT0FEAEFUT01JQ19OT1RJRlkAQVRPTUlDX1JNVwBBVE9NSUNfUk1XX0NNUFhDSEcAQVRPTUlDX1NUT1JFAEFUT01JQ19XQUlUAEJJTkFSWQBjYXRjaABDT01QQVJFAENPTlNUAENPTlZFUlQAZGF0YS5kcm9wAGVsZW0uZHJvcABlbHNlAGVuZABnbG9iYWwuZ2V0AExPQUQAbG9jYWwuZ2V0AG1lbW9yeS5jb3B5AG1lbW9yeS5maWxsAG1lbW9yeS5ncm93AG1lbW9yeS5pbml0AG1lbW9yeS5zaXplAG5vcAByZWYuZnVuYwByZWYubnVsbABTSU1ETEFORU9QAFNJTURMT0FEU1BMQVQAdjh4MTYuc2h1ZmZsZQBTVE9SRQB0YWJsZS5jb3B5AHRhYmxlLmluaXQAdGFibGUuc2l6ZQBURVJOQVJZAFVOQVJZAHVucmVhY2hhYmxlAGFsaWduPQBBbm5vdGF0aW9uAG9mZnNldD0AUmVzZXJ2ZWQAVEVYVABWQVIAVkFMVUVUWVBFAC4uLgBpbnZhbGlkIGRlcHRoOiAldSAobWF4ICV6ZCkAdHlwZSBtaXNtYXRjaCBpbiAALCBleHBlY3RlZCAAIGJ1dCBnb3QgAC4uLiAAJXMAXQA8dHlwZV9pbmRleD4AYW55cmVmAGFueQB2b2lkAGV4Y2VwdF9yZWYAZnVuYwBmdW5jcmVmAHYxMjgAZjY0AGYzMgBpNjQAaTMyACwgAHJldHVybiBzaWduYXR1cmVzIGhhdmUgaW5jb25zaXN0ZW50IHR5cGVzOiBleHBlY3RlZCAlcywgZ290ICVzAGJsb2NrAGJyAGJyX2lmAGJyX29uX2V4bgBicl9vbl9leG4gaGFzIGluY29uc2lzdGVudCB0eXBlczogZXhwZWN0ZWQgJXMsIGdvdCAlcwBicl90YWJsZQBicl90YWJsZSBsYWJlbHMgaGF2ZSBpbmNvbnNpc3RlbnQgdHlwZXM6IGV4cGVjdGVkICVzLCBnb3QgJXMAY2FsbABjYWxsX2luZGlyZWN0AHJldHVybl9jYWxsAHJldHVybl9jYWxsX2luZGlyZWN0AHRyeSBibG9jawBkcm9wAGlmIHRydWUgYnJhbmNoAGZ1bmN0aW9uAGxvb3AAaWYAaWYgZmFsc2UgYnJhbmNoAHRyeQB0cnkgY2F0Y2gAZ2xvYmFsLnNldABsb2NhbC5zZXQAbG9jYWwudGVlAHRhYmxlLmdldAB0YWJsZS5zZXQAdGFibGUuZ3JvdwByZWYuaXNfbnVsbAByZXRocm93AHRocm93AHJldHVybgBzZWxlY3QAbGFuZSBpbmRleCBtdXN0IGJlIGxlc3MgdGhhbiAlZCAoZ290ICVsbHUpAGxhbmUgaW5kZXggbXVzdCBiZSBsZXNzIHRoYW4gMzIgKGdvdCAlZCkAaW1wbGljaXQgcmV0dXJuAC0rICAgMFgweAAobnVsbCkALTBYKzBYIDBYLTB4KzB4IDB4AGluZgBJTkYATkFOAC4AaW5maW5pdHkAbmFuACVkACV1ACVsdQBOMTBfX2N4eGFiaXYxMTZfX3NoaW1fdHlwZV9pbmZvRQBTdDl0eXBlX2luZm8ATjEwX19jeHhhYml2MTIwX19zaV9jbGFzc190eXBlX2luZm9FAE4xMF9fY3h4YWJpdjExN19fY2xhc3NfdHlwZV9pbmZvRQBOMTBfX2N4eGFiaXYxMjFfX3ZtaV9jbGFzc190eXBlX2luZm9F";var tempDoublePtr=354976;var ENV={};function ___buildEnvironment(environ){var MAX_ENV_VALUES=64;var TOTAL_ENV_SIZE=1024;var poolPtr;var envPtr;if(!___buildEnvironment.called){___buildEnvironment.called=true;ENV["USER"]=ENV["LOGNAME"]="web_user";ENV["PATH"]="/";ENV["PWD"]="/";ENV["HOME"]="/home/web_user";ENV["LANG"]="C.UTF-8";ENV["_"]=Module["thisProgram"];poolPtr=getMemory(TOTAL_ENV_SIZE);envPtr=getMemory(MAX_ENV_VALUES*4);HEAP32[envPtr>>2]=poolPtr;HEAP32[environ>>2]=envPtr}else{envPtr=HEAP32[environ>>2];poolPtr=HEAP32[envPtr>>2]}var strings=[];var totalSize=0;for(var key in ENV){if(typeof ENV[key]==="string"){var line=key+"="+ENV[key];strings.push(line);totalSize+=line.length}}if(totalSize>TOTAL_ENV_SIZE){throw new Error("Environment size exceeded TOTAL_ENV_SIZE!")}var ptrSize=4;for(var i=0;i<strings.length;i++){var line=strings[i];writeAsciiToMemory(line,poolPtr);HEAP32[envPtr+i*ptrSize>>2]=poolPtr;poolPtr+=line.length+1}HEAP32[envPtr+strings.length*ptrSize>>2]=0}var SYSCALLS={buffers:[null,[],[]],printChar:function(stream,curr){var buffer=SYSCALLS.buffers[stream];if(curr===0||curr===10){(stream===1?out:err)(UTF8ArrayToString(buffer,0));buffer.length=0}else{buffer.push(curr)}},varargs:0,get:function(varargs){SYSCALLS.varargs+=4;var ret=HEAP32[SYSCALLS.varargs-4>>2];return ret},getStr:function(){var ret=UTF8ToString(SYSCALLS.get());return ret},get64:function(){var low=SYSCALLS.get(),high=SYSCALLS.get();return low},getZero:function(){SYSCALLS.get()}};function ___syscall140(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD(),offset_high=SYSCALLS.get(),offset_low=SYSCALLS.get(),result=SYSCALLS.get(),whence=SYSCALLS.get();var offset=offset_low;FS.llseek(stream,offset,whence);HEAP32[result>>2]=stream.position;if(stream.getdents&&offset===0&&whence===0)stream.getdents=null;return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function flush_NO_FILESYSTEM(){var fflush=Module["_fflush"];if(fflush)fflush(0);var buffers=SYSCALLS.buffers;if(buffers[1].length)SYSCALLS.printChar(1,10);if(buffers[2].length)SYSCALLS.printChar(2,10)}function ___syscall146(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.get(),iov=SYSCALLS.get(),iovcnt=SYSCALLS.get();var ret=0;for(var i=0;i<iovcnt;i++){var ptr=HEAP32[iov+i*8>>2];var len=HEAP32[iov+(i*8+4)>>2];for(var j=0;j<len;j++){SYSCALLS.printChar(stream,HEAPU8[ptr+j])}ret+=len}return ret}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall54(which,varargs){SYSCALLS.varargs=varargs;try{return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function ___syscall6(which,varargs){SYSCALLS.varargs=varargs;try{var stream=SYSCALLS.getStreamFromFD();FS.close(stream);return 0}catch(e){if(typeof FS==="undefined"||!(e instanceof FS.ErrnoError))abort(e);return-e.errno}}function _abort(){Module["abort"]()}function _emscripten_get_heap_size(){return TOTAL_MEMORY}function abortOnCannotGrowMemory(requestedSize){abort("OOM")}function emscripten_realloc_buffer(size){try{var newBuffer=new ArrayBuffer(size);if(newBuffer.byteLength!=size)return false;new Int8Array(newBuffer).set(HEAP8)}catch(e){return false}Module["_emscripten_replace_memory"](newBuffer);HEAP8=new Int8Array(newBuffer);HEAP16=new Int16Array(newBuffer);HEAP32=new Int32Array(newBuffer);HEAPU8=new Uint8Array(newBuffer);HEAPU16=new Uint16Array(newBuffer);HEAPU32=new Uint32Array(newBuffer);HEAPF32=new Float32Array(newBuffer);HEAPF64=new Float64Array(newBuffer);buffer=newBuffer;return newBuffer}function _emscripten_resize_heap(requestedSize){var oldSize=_emscripten_get_heap_size();var PAGE_MULTIPLE=16777216;var LIMIT=2147483648-PAGE_MULTIPLE;if(requestedSize>LIMIT){return false}var MIN_TOTAL_MEMORY=16777216;var newSize=Math.max(oldSize,MIN_TOTAL_MEMORY);while(newSize<requestedSize){if(newSize<=536870912){newSize=alignUp(2*newSize,PAGE_MULTIPLE)}else{newSize=Math.min(alignUp((3*newSize+2147483648)/4,PAGE_MULTIPLE),LIMIT)}}var replacement=emscripten_realloc_buffer(newSize);if(!replacement||replacement.byteLength!=newSize){return false}updateGlobalBuffer(replacement);updateGlobalBufferViews();TOTAL_MEMORY=newSize;HEAPU32[DYNAMICTOP_PTR>>2]=requestedSize;return true}function _getenv(name){if(name===0)return 0;name=UTF8ToString(name);if(!ENV.hasOwnProperty(name))return 0;if(_getenv.ret)_free(_getenv.ret);_getenv.ret=allocateUTF8(ENV[name]);return _getenv.ret}function _emscripten_memcpy_big(dest,src,num){HEAPU8.set(HEAPU8.subarray(src,src+num),dest)}function ___setErrNo(value){if(Module["___errno_location"])HEAP32[Module["___errno_location"]()>>2]=value;return value}var ASSERTIONS=false;function intArrayToString(array){var ret=[];for(var i=0;i<array.length;i++){var chr=array[i];if(chr>255){if(ASSERTIONS){assert(false,"Character code "+chr+" ("+String.fromCharCode(chr)+")  at offset "+i+" not in 0x00-0xFF.")}chr&=255}ret.push(String.fromCharCode(chr))}return ret.join("")}var decodeBase64=typeof atob==="function"?atob:function(input){var keyStr="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";var output="";var chr1,chr2,chr3;var enc1,enc2,enc3,enc4;var i=0;input=input.replace(/[^A-Za-z0-9\+\/\=]/g,"");do{enc1=keyStr.indexOf(input.charAt(i++));enc2=keyStr.indexOf(input.charAt(i++));enc3=keyStr.indexOf(input.charAt(i++));enc4=keyStr.indexOf(input.charAt(i++));chr1=enc1<<2|enc2>>4;chr2=(enc2&15)<<4|enc3>>2;chr3=(enc3&3)<<6|enc4;output=output+String.fromCharCode(chr1);if(enc3!==64){output=output+String.fromCharCode(chr2)}if(enc4!==64){output=output+String.fromCharCode(chr3)}}while(i<input.length);return output};function intArrayFromBase64(s){if(typeof ENVIRONMENT_IS_NODE==="boolean"&&ENVIRONMENT_IS_NODE){var buf;try{buf=Buffer.from(s,"base64")}catch(_){buf=new Buffer(s,"base64")}return new Uint8Array(buf.buffer,buf.byteOffset,buf.byteLength)}try{var decoded=decodeBase64(s);var bytes=new Uint8Array(decoded.length);for(var i=0;i<decoded.length;++i){bytes[i]=decoded.charCodeAt(i)}return bytes}catch(_){throw new Error("Converting base64 string to bytes failed.")}}function tryParseAsDataURI(filename){if(!isDataURI(filename)){return}return intArrayFromBase64(filename.slice(dataURIPrefix.length))}function jsCall_ii(index,a1){return functionPointers[index](a1)}function jsCall_iii(index,a1,a2){return functionPointers[index](a1,a2)}function jsCall_iiii(index,a1,a2,a3){return functionPointers[index](a1,a2,a3)}function jsCall_iiiii(index,a1,a2,a3,a4){return functionPointers[index](a1,a2,a3,a4)}function jsCall_iiiiii(index,a1,a2,a3,a4,a5){return functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_iiiiiii(index,a1,a2,a3,a4,a5,a6){return functionPointers[index](a1,a2,a3,a4,a5,a6)}function jsCall_iiiiiiii(index,a1,a2,a3,a4,a5,a6,a7){return functionPointers[index](a1,a2,a3,a4,a5,a6,a7)}function jsCall_v(index){functionPointers[index]()}function jsCall_vi(index,a1){functionPointers[index](a1)}function jsCall_vii(index,a1,a2){functionPointers[index](a1,a2)}function jsCall_viii(index,a1,a2,a3){functionPointers[index](a1,a2,a3)}function jsCall_viiii(index,a1,a2,a3,a4){functionPointers[index](a1,a2,a3,a4)}function jsCall_viiiii(index,a1,a2,a3,a4,a5){functionPointers[index](a1,a2,a3,a4,a5)}function jsCall_viiiiii(index,a1,a2,a3,a4,a5,a6){functionPointers[index](a1,a2,a3,a4,a5,a6)}var asmGlobalArg={"Math":Math,"Int8Array":Int8Array,"Int16Array":Int16Array,"Int32Array":Int32Array,"Uint8Array":Uint8Array,"Uint16Array":Uint16Array,"Float32Array":Float32Array,"Float64Array":Float64Array,"NaN":NaN,Infinity:Infinity};var asmLibraryArg={"a":abort,"b":setTempRet0,"c":getTempRet0,"d":jsCall_ii,"e":jsCall_iii,"f":jsCall_iiii,"g":jsCall_iiiii,"h":jsCall_iiiiii,"i":jsCall_iiiiiii,"j":jsCall_iiiiiiii,"k":jsCall_v,"l":jsCall_vi,"m":jsCall_vii,"n":jsCall_viii,"o":jsCall_viiii,"p":jsCall_viiiii,"q":jsCall_viiiiii,"r":___buildEnvironment,"s":___setErrNo,"t":___syscall140,"u":___syscall146,"v":___syscall54,"w":___syscall6,"x":_abort,"y":_emscripten_get_heap_size,"z":_emscripten_memcpy_big,"A":_emscripten_resize_heap,"B":_getenv,"C":abortOnCannotGrowMemory,"D":emscripten_realloc_buffer,"E":flush_NO_FILESYSTEM,"F":tempDoublePtr,"G":DYNAMICTOP_PTR};// EMSCRIPTEN_START_ASM
+var asm=(/** @suppress {uselessCode} */ function(global,env,buffer) {
+"almost asm";var a=new global.Int8Array(buffer),b=new global.Int16Array(buffer),c=new global.Int32Array(buffer),d=new global.Uint8Array(buffer),e=new global.Uint16Array(buffer),f=new global.Float32Array(buffer),g=new global.Float64Array(buffer),h=env.F|0,i=env.G|0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=global.NaN,s=global.Infinity,t=global.Math.abs,u=global.Math.ceil,v=global.Math.imul,w=global.Math.clz32,x=env.a,y=env.b,z=env.c,A=env.d,B=env.e,C=env.f,D=env.g,E=env.h,F=env.i,G=env.j,H=env.k,I=env.l,J=env.m,K=env.n,L=env.o,M=env.p,N=env.q,O=env.r,P=env.s,Q=env.t,R=env.u,S=env.v,T=env.w,U=env.x,V=env.y,W=env.z,X=env.A,Y=env.B,Z=env.C,_=env.D,$=env.E,aa=354992,ba=5597872,ca=0.0;function da(newBuffer){a=new Int8Array(newBuffer);d=new Uint8Array(newBuffer);b=new Int16Array(newBuffer);e=new Uint16Array(newBuffer);c=new Int32Array(newBuffer);f=new Float32Array(newBuffer);g=new Float64Array(newBuffer);buffer=newBuffer;return true}
+// EMSCRIPTEN_START_FUNCS
+function Up(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=aa;aa=aa+64|0;o=q+32|0;n=q+12|0;l=q;p=e+36|0;f=c[p>>2]|0;g=f;m=c[e+24>>2]|0;if(((m>>>0>g>>>0?(h=g+1|0,c[p>>2]=h,(a[g>>0]|0)==105&h>>>0<m>>>0):0)?(i=g+2|0,c[p>>2]=i,(a[h>>0]|0)==110&i>>>0<m>>>0):0)?(j=g+3|0,c[p>>2]=j,(a[i>>0]|0)==102):0){g=j;f=j;h=j;k=0;while(1){i=h>>>0<m>>>0;if(i)j=d[h>>0]|0;else j=-1;if(!(a[15616+(j+1)>>0]&1))break;if(i){h=h+1|0;c[p>>2]=h;g=h;f=h}k=k+1|0}if(!k){i=e+4|0;j=a[i+11>>0]|0;h=j<<24>>24<0;j=h?c[e+8>>2]|0:j&255;k=c[e+16>>2]|0;p=c[e+32>>2]|0;e=c[e+28>>2]|0;m=p-e+1|0;e=f-e+1|0;c[n>>2]=h?c[i>>2]|0:i;c[n+4>>2]=j;c[n+8>>2]=k;c[n+12>>2]=(m|0)>1?m:1;c[n+16>>2]=(e|0)>1?e:1;c[l>>2]=3;c[l+4>>2]=p;c[l+8>>2]=f-p;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];oy(b,o,42,l);aa=q;return}a:while(1){h=g>>>0<m>>>0;if(h)f=d[g>>0]|0;else f=-1;while(1){if(!(a[15616+(f+1)>>0]&1))break a;if(h)break;else f=-1}l=g+1|0;c[p>>2]=l;g=l}m=g;i=e+4|0;j=a[i+11>>0]|0;h=j<<24>>24<0;j=h?c[e+8>>2]|0:j&255;k=c[e+16>>2]|0;p=c[e+32>>2]|0;e=c[e+28>>2]|0;l=p-e+1|0;e=m-e+1|0;c[n>>2]=h?c[i>>2]|0:i;c[n+4>>2]=j;c[n+8>>2]=k;c[n+12>>2]=(l|0)>1?l:1;c[n+16>>2]=(e|0)>1?e:1;c[o>>2]=c[n>>2];c[o+4>>2]=c[n+4>>2];c[o+8>>2]=c[n+8>>2];c[o+12>>2]=c[n+12>>2];c[o+16>>2]=c[n+16>>2];my(b,o,108,p,m-p|0);aa=q;return}c[p>>2]=f;Zp(b,e);aa=q;return}function Vp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=aa;aa=aa+64|0;o=t+32|0;p=t+12|0;r=t;q=e+36|0;h=c[q>>2]|0;k=h;n=c[e+24>>2]|0;a:do if(((n>>>0>k>>>0?(i=k+1|0,c[q>>2]=i,(a[k>>0]|0)==110&i>>>0<n>>>0):0)?(j=k+2|0,c[q>>2]=j,(a[i>>0]|0)==97&j>>>0<n>>>0):0)?(f=k+3|0,c[q>>2]=f,g=f,(a[j>>0]|0)==110):0){if(f>>>0<n>>>0?(a[f>>0]|0)==58:0){g=k+4|0;c[q>>2]=g;f=g;if((g>>>0<n>>>0?(l=k+5|0,c[q>>2]=l,(a[g>>0]|0)==48&l>>>0<n>>>0):0)?(m=k+6|0,c[q>>2]=m,(a[l>>0]|0)==120):0){f=m;g=m;while(1){h=g>>>0<n>>>0;if(h)i=(d[g>>0]|0)+1|0;else i=0;if(!(a[15616+i>>0]&4))break a;if(h){f=g+1|0;c[q>>2]=f;g=f}do if(g>>>0<n>>>0){h=a[g>>0]|0;if(h<<24>>24==95){g=g+1|0;c[q>>2]=g;f=g;break}else{h=(h&255)+1|0;s=17;break}}else{h=0;s=17}while(0);if((s|0)==17){s=0;if(!(a[15616+h>>0]&4))break}}j=0;while(1){h=g>>>0<n>>>0;if(h)i=d[g>>0]|0;else i=-1;if(!(a[15616+(i+1)>>0]&1))break;if(h){g=g+1|0;c[q>>2]=g;f=g}j=j+1|0}if(j|0)break;l=e+4|0;m=a[l+11>>0]|0;k=m<<24>>24<0;m=k?c[e+8>>2]|0:m&255;n=c[e+16>>2]|0;s=c[e+32>>2]|0;e=c[e+28>>2]|0;q=s-e+1|0;e=f-e+1|0;c[p>>2]=k?c[l>>2]|0:l;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=(q|0)>1?q:1;c[p+16>>2]=(e|0)>1?e:1;c[r>>2]=4;c[r+4>>2]=s;c[r+8>>2]=f-s;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];oy(b,o,42,r);aa=t;return}c[q>>2]=f;break}j=0;while(1){h=f>>>0<n>>>0;if(h)i=d[f>>0]|0;else i=-1;if(!(a[15616+(i+1)>>0]&1))break;if(h){f=f+1|0;c[q>>2]=f;g=f}j=j+1|0}if(!j){l=e+4|0;m=a[l+11>>0]|0;k=m<<24>>24<0;m=k?c[e+8>>2]|0:m&255;n=c[e+16>>2]|0;s=c[e+32>>2]|0;e=c[e+28>>2]|0;q=s-e+1|0;e=g-e+1|0;c[p>>2]=k?c[l>>2]|0:l;c[p+4>>2]=m;c[p+8>>2]=n;c[p+12>>2]=(q|0)>1?q:1;c[p+16>>2]=(e|0)>1?e:1;c[r>>2]=4;c[r+4>>2]=s;c[r+8>>2]=g-s;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];oy(b,o,42,r);aa=t;return}}else s=3;while(0);if((s|0)==3)c[q>>2]=h;Zp(b,e);aa=t;return}function Wp(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=aa;aa=aa+64|0;o=r+32|0;p=r+12|0;m=r;q=e+36|0;g=c[q>>2]|0;n=c[e+24>>2]|0;a:do if(g>>>0<n>>>0){while(1){if(((d[g>>0]|0)+-48|0)>>>0>=10)break a;j=g+1|0;c[q>>2]=j;if(j>>>0>=n>>>0){k=28;break}i=a[j>>0]|0;if(i<<24>>24!=95)if(((i&255)+-48|0)>>>0<10)g=j;else{k=9;break}else{g=g+2|0;c[q>>2]=g}if(g>>>0>=n>>>0)break a}do if((k|0)==9){h=j;if(i<<24>>24==46){g=g+2|0;c[q>>2]=g;h=g;if(g>>>0<n>>>0?((d[g>>0]|0)+-48|0)>>>0<10:0){do{i=g+1|0;c[q>>2]=i;if(i>>>0>=n>>>0){k=27;break}h=a[i>>0]|0;if(h<<24>>24!=95)if(((h&255)+-48|0)>>>0<10)g=i;else{k=27;break}else{g=g+2|0;c[q>>2]=g}if(g>>>0>=n>>>0)break}while(((d[g>>0]|0)+-48|0)>>>0<10);if((k|0)==27){g=i;h=i;i=42;break}b:while(1){i=g>>>0<n>>>0;if(i)h=d[g>>0]|0;else h=-1;while(1){if(!(a[15616+(h+1)>>0]&1))break b;if(i)break;else h=-1}m=g+1|0;c[q>>2]=m;g=m}n=g;f=e+4|0;k=a[f+11>>0]|0;j=k<<24>>24<0;k=j?c[e+8>>2]|0:k&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;m=q-e+1|0;e=n-e+1|0;c[p>>2]=j?c[f>>2]|0:f;c[p+4>>2]=k;c[p+8>>2]=l;c[p+12>>2]=(m|0)>1?m:1;c[p+16>>2]=(e|0)>1?e:1;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];my(b,o,108,q,n-q|0);aa=r;return}else i=42}else{g=j;i=f}}else if((k|0)==28){g=j;h=j;i=f}while(0);c:do if(g>>>0<n>>>0){switch(a[g>>0]|0){case 69:case 101:break;default:break c}h=g+1|0;c[q>>2]=h;d:do if(h>>>0<n>>>0){switch(a[h>>0]|0){case 45:case 43:break;default:{g=h;break d}}g=g+2|0;c[q>>2]=g}else g=h;while(0);e:do if(g>>>0<n>>>0){while(1){if(((d[g>>0]|0)+-48|0)>>>0>=10)break e;i=g+1|0;c[q>>2]=i;if(i>>>0>=n>>>0)break;h=a[i>>0]|0;if(h<<24>>24!=95)if(((h&255)+-48|0)>>>0<10)g=i;else break;else{g=g+2|0;c[q>>2]=g}if(g>>>0>=n>>>0)break e}g=i;h=i;i=42;break c}while(0);f:while(1){i=g>>>0<n>>>0;if(i)h=d[g>>0]|0;else h=-1;while(1){if(!(a[15616+(h+1)>>0]&1))break f;if(i)break;else h=-1}m=g+1|0;c[q>>2]=m;g=m}n=g;f=e+4|0;k=a[f+11>>0]|0;j=k<<24>>24<0;k=j?c[e+8>>2]|0:k&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;m=q-e+1|0;e=n-e+1|0;c[p>>2]=j?c[f>>2]|0:f;c[p+4>>2]=k;c[p+8>>2]=l;c[p+12>>2]=(m|0)>1?m:1;c[p+16>>2]=(e|0)>1?e:1;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];my(b,o,108,q,n-q|0);aa=r;return}while(0);k=h;j=h;l=0;while(1){h=g>>>0<n>>>0;if(h)f=d[g>>0]|0;else f=-1;if(!(a[15616+(f+1)>>0]&1))break;if(h){g=g+1|0;c[q>>2]=g;j=g;h=j}else h=k;k=h;l=l+1|0}if(!l)if((i|0)==42){j=e+4|0;f=a[j+11>>0]|0;i=f<<24>>24<0;f=i?c[e+8>>2]|0:f&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;n=q-e+1|0;e=k-e+1|0;c[p>>2]=i?c[j>>2]|0:j;c[p+4>>2]=f;c[p+8>>2]=l;c[p+12>>2]=(n|0)>1?n:1;c[p+16>>2]=(e|0)>1?e:1;c[m>>2]=1;c[m+4>>2]=q;c[m+8>>2]=k-q;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];oy(b,o,42,m);aa=r;return}else{f=e+4|0;k=a[f+11>>0]|0;h=k<<24>>24<0;k=h?c[e+8>>2]|0:k&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;n=q-e+1|0;e=j-e+1|0;c[p>>2]=h?c[f>>2]|0:f;c[p+4>>2]=k;c[p+8>>2]=l;c[p+12>>2]=(n|0)>1?n:1;c[p+16>>2]=(e|0)>1?e:1;c[m>>2]=0;c[m+4>>2]=q;c[m+8>>2]=j-q;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];oy(b,o,i,m);aa=r;return}}while(0);g:while(1){i=g>>>0<n>>>0;if(i)h=d[g>>0]|0;else h=-1;while(1){if(!(a[15616+(h+1)>>0]&1))break g;if(i)break;h=-1}m=g+1|0;c[q>>2]=m;g=m}n=g;f=e+4|0;k=a[f+11>>0]|0;j=k<<24>>24<0;k=j?c[e+8>>2]|0:k&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;m=q-e+1|0;e=n-e+1|0;c[p>>2]=j?c[f>>2]|0:f;c[p+4>>2]=k;c[p+8>>2]=l;c[p+12>>2]=(m|0)>1?m:1;c[p+16>>2]=(e|0)>1?e:1;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];my(b,o,108,q,n-q|0);aa=r;return}function Xp(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=aa;aa=aa+48|0;m=p+20|0;n=p;o=e+36|0;f=c[o>>2]|0;l=c[e+24>>2]|0;if(f>>>0<l>>>0){f=f+1|0;c[o>>2]=f}g=f;j=g;h=f;k=0;while(1){f=h>>>0<l>>>0;if(f)i=d[h>>0]|0;else i=-1;if(!(a[15616+(i+1)>>0]&1))break;if(f){h=h+1|0;c[o>>2]=h;g=h;f=g}else f=j;j=f;k=k+1|0}if(!k){h=e+4|0;i=a[h+11>>0]|0;g=i<<24>>24<0;i=g?c[e+8>>2]|0:i&255;k=c[e+16>>2]|0;o=c[e+32>>2]|0;e=c[e+28>>2]|0;l=o-e+1|0;e=j-e+1|0;c[n>>2]=g?c[h>>2]|0:h;c[n+4>>2]=i;c[n+8>>2]=k;c[n+12>>2]=(l|0)>1?l:1;c[n+16>>2]=(e|0)>1?e:1;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];c[m+16>>2]=c[n+16>>2];my(b,m,108,o,j-o|0);aa=p;return}else{i=e+4|0;j=a[i+11>>0]|0;h=j<<24>>24<0;j=h?c[e+8>>2]|0:j&255;k=c[e+16>>2]|0;o=c[e+32>>2]|0;e=c[e+28>>2]|0;l=o-e+1|0;e=g-e+1|0;c[n>>2]=h?c[i>>2]|0:i;c[n+4>>2]=j;c[n+8>>2]=k;c[n+12>>2]=(l|0)>1?l:1;c[n+16>>2]=(e|0)>1?e:1;c[m>>2]=c[n>>2];c[m+4>>2]=c[n+4>>2];c[m+8>>2]=c[n+8>>2];c[m+12>>2]=c[n+12>>2];c[m+16>>2]=c[n+16>>2];my(b,m,110,o,g-o|0);aa=p;return}}function Yp(b,e,f,g,h){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0;t=aa;aa=aa+48|0;q=t+20|0;r=t;s=e+36|0;j=c[s>>2]|0;n=f+g|0;i=j;p=c[e+24>>2]|0;do if(g){k=j;while(1){l=a[f>>0]|0;if(i>>>0<p>>>0){k=i+1|0;c[s>>2]=k;m=k;i=d[i>>0]|0}else{m=i;i=-1}f=f+1|0;if((i|0)!=(l<<24>>24|0)){m=7;break}if((f|0)==(n|0)){m=8;break}else i=m}if((m|0)==7){c[s>>2]=j;break}else if((m|0)==8){i=k;j=k;m=9;break}}else m=9;while(0);a:do if((m|0)==9){if(i>>>0>=p>>>0){c[s>>2]=j;break}f=i+1|0;c[s>>2]=f;if((a[i>>0]|0)==48&f>>>0<p>>>0?(o=i+2|0,c[s>>2]=o,(a[f>>0]|0)==120):0){i=o;j=o;l=o;while(1){f=l>>>0<p>>>0;if(f)k=(d[l>>0]|0)+1|0;else k=0;if(!(a[15616+k>>0]&4))break a;if(f){j=l+1|0;c[s>>2]=j;i=j;l=j}do if(l>>>0<p>>>0){f=a[l>>0]|0;if(f<<24>>24==95){i=l+1|0;c[s>>2]=i;j=i;f=i;break}else{f=(f&255)+1|0;m=20;break}}else{f=0;m=20}while(0);if((m|0)==20){m=0;if(!(a[15616+f>>0]&4))break;else f=l}l=f}l=0;while(1){f=i>>>0<p>>>0;if(f)k=d[i>>0]|0;else k=-1;if(!(a[15616+(k+1)>>0]&1))break;if(f){i=i+1|0;c[s>>2]=i;j=i}l=l+1|0}if(l|0)break;m=e+4|0;n=a[m+11>>0]|0;l=n<<24>>24<0;n=l?c[e+8>>2]|0:n&255;o=c[e+16>>2]|0;s=c[e+32>>2]|0;e=c[e+28>>2]|0;p=s-e+1|0;e=j-e+1|0;c[r>>2]=l?c[m>>2]|0:m;c[r+4>>2]=n;c[r+8>>2]=o;c[r+12>>2]=(p|0)>1?p:1;c[r+16>>2]=(e|0)>1?e:1;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];my(b,q,h,s+g|0,j-(s+g)|0);aa=t;return}c[s>>2]=j;while(1){if(((d[i>>0]|0)+-48|0)>>>0>=10)break a;f=i+1|0;c[s>>2]=f;if(f>>>0>=p>>>0)break;j=a[f>>0]|0;if(j<<24>>24!=95)if(((j&255)+-48|0)>>>0<10)i=f;else break;else{i=i+2|0;c[s>>2]=i}if(i>>>0>=p>>>0)break a}i=f;j=f;l=0;while(1){f=i>>>0<p>>>0;if(f)k=d[i>>0]|0;else k=-1;if(!(a[15616+(k+1)>>0]&1))break;if(f){i=i+1|0;c[s>>2]=i;j=i}l=l+1|0}if(!l){m=e+4|0;n=a[m+11>>0]|0;l=n<<24>>24<0;n=l?c[e+8>>2]|0:n&255;o=c[e+16>>2]|0;s=c[e+32>>2]|0;e=c[e+28>>2]|0;p=s-e+1|0;e=j-e+1|0;c[r>>2]=l?c[m>>2]|0:m;c[r+4>>2]=n;c[r+8>>2]=o;c[r+12>>2]=(p|0)>1?p:1;c[r+16>>2]=(e|0)>1?e:1;c[q>>2]=c[r>>2];c[q+4>>2]=c[r+4>>2];c[q+8>>2]=c[r+8>>2];c[q+12>>2]=c[r+12>>2];c[q+16>>2]=c[r+16>>2];my(b,q,h,s+g|0,j-(s+g)|0);aa=t;return}}while(0);Zp(b,e);aa=t;return}function Zp(b,f){b=b|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=aa;aa=aa+80|0;t=u+60|0;p=u;r=u+40|0;s=u+20|0;q=f+36|0;h=c[f+24>>2]|0;j=c[q>>2]|0;a:while(1){i=j>>>0<h>>>0;if(i)g=d[j>>0]|0;else g=-1;while(1){if(!(a[15616+(g+1)>>0]&1))break a;if(i)break;else g=-1}n=j+1|0;c[q>>2]=n;j=n}n=f+32|0;k=c[n>>2]|0;j=j-k|0;if((a[354128]|0)==0?eC()|0:0){c[82940]=354708;c[82943]=354708;c[82946]=354708;c[82949]=354708;c[82952]=354708;c[82955]=354708;c[82958]=354708;c[82961]=354708;c[82964]=354708;c[82967]=354708;c[82970]=354708;c[82973]=354708;c[82976]=354708;c[82979]=354708;c[82982]=354708;c[82985]=354708;c[82988]=354708;c[82991]=354708;c[82994]=354708;c[82997]=354708;c[83e3]=354708;c[83003]=354708;c[83006]=354708;c[83009]=331295;c[83010]=70;c[83011]=4;c[83012]=354708;c[83015]=354708;c[83018]=354708;c[83021]=354708;c[83024]=354708;c[83027]=354708;c[83030]=330968;c[83031]=111;c[83032]=-4;c[83033]=330297;c[83034]=24;c[83036]=330972;c[83037]=111;c[83038]=-3;c[83039]=330976;c[83040]=111;c[83041]=-2;c[83042]=354708;c[83045]=330980;c[83046]=111;c[83047]=-1;c[83048]=354708;c[83051]=354708;c[83054]=354708;c[83057]=354708;c[83060]=354708;c[83063]=354708;c[83066]=354708;c[83069]=330553;c[83070]=66;c[83071]=5;c[83072]=330228;c[83073]=11;c[83075]=354708;c[83078]=354708;c[83081]=354708;c[83084]=330950;c[83085]=15;c[83087]=354708;c[83090]=330351;c[83091]=33;c[83093]=354708;c[83096]=303933;c[83097]=60;c[83098]=86;c[83099]=303940;c[83100]=60;c[83101]=80;c[83102]=330357;c[83103]=34;c[83105]=330237;c[83106]=13;c[83108]=354708;c[83111]=354708;c[83114]=354708;c[83117]=354708;c[83120]=331056;c[83121]=53;c[83122]=12;c[83123]=354708;c[83126]=330558;c[83127]=67;c[83128]=11;c[83129]=354708;c[83132]=303947;c[83133]=60;c[83134]=88;c[83135]=303954;c[83136]=60;c[83137]=82;c[83138]=354708;c[83141]=303961;c[83142]=103;c[83143]=140;c[83144]=303969;c[83145]=103;c[83146]=126;c[83147]=303977;c[83148]=51;c[83149]=148;c[83150]=303985;c[83151]=51;c[83152]=134;c[83153]=354708;c[83156]=303993;c[83157]=51;c[83158]=112;c[83159]=304001;c[83160]=51;c[83161]=94;c[83162]=354708;c[83165]=304009;c[83166]=60;c[83167]=70;c[83168]=304018;c[83169]=60;c[83170]=59;c[83171]=354708;c[83174]=330290;c[83175]=23;c[83177]=304027;c[83178]=60;c[83179]=71;c[83180]=304036;c[83181]=60;c[83182]=60;c[83183]=304045;c[83184]=60;c[83185]=74;c[83186]=304054;c[83187]=60;c[83188]=63;c[83189]=354708;c[83192]=330955;c[83193]=111;c[83194]=-16;c[83195]=304063;c[83196]=60;c[83197]=75;c[83198]=304072;c[83199]=60;c[83200]=64;c[83201]=354708;c[83204]=354708;c[83207]=330329;c[83208]=29;c[83210]=331369;c[83211]=98;c[83212]=205;c[83213]=304081;c[83214]=51;c[83215]=116;c[83216]=304091;c[83217]=51;c[83218]=98;c[83219]=304101;c[83220]=103;c[83221]=109;c[83222]=304109;c[83223]=103;c[83224]=91;c[83225]=304117;c[83226]=51;c[83227]=117;c[83228]=304127;c[83229]=51;c[83230]=99;c[83231]=330345;c[83232]=32;c[83234]=330223;c[83235]=10;c[83237]=331423;c[83238]=89;c[83239]=21;c[83240]=354708;c[83243]=331199;c[83244]=57;c[83245]=16;c[83246]=330737;c[83247]=99;c[83248]=207;c[83249]=304137;c[83250]=51;c[83251]=147;c[83252]=304145;c[83253]=51;c[83254]=133;c[83255]=330301;c[83256]=25;c[83258]=304153;c[83259]=51;c[83260]=111;c[83261]=304161;c[83262]=51;c[83263]=93;c[83264]=330726;c[83265]=97;c[83266]=201;c[83267]=354708;c[83270]=304169;c[83271]=51;c[83272]=118;c[83273]=304177;c[83274]=51;c[83275]=100;c[83276]=330275;c[83277]=20;c[83279]=354708;c[83282]=354708;c[83285]=304185;c[83286]=51;c[83287]=151;c[83288]=304193;c[83289]=51;c[83290]=137;c[83291]=304201;c[83292]=60;c[83293]=85;c[83294]=304208;c[83295]=60;c[83296]=79;c[83297]=354708;c[83300]=304215;c[83301]=60;c[83302]=69;c[83303]=304222;c[83304]=60;c[83305]=58;c[83306]=331416;c[83307]=88;c[83308]=15;c[83309]=331339;c[83310]=73;c[83311]=23;c[83312]=354708;c[83315]=354708;c[83318]=354708;c[83321]=331129;c[83322]=56;c[83323]=14;c[83324]=304229;c[83325]=103;c[83326]=108;c[83327]=304237;c[83328]=103;c[83329]=90;c[83330]=354708;c[83333]=330338;c[83334]=31;c[83336]=354708;c[83339]=331050;c[83340]=52;c[83341]=2;c[83342]=354708;c[83345]=331349;c[83346]=74;c[83347]=24;c[83348]=354708;c[83351]=354708;c[83354]=354708;c[83357]=304245;c[83358]=103;c[83359]=144;c[83360]=304255;c[83361]=103;c[83362]=130;c[83363]=354708;c[83366]=354708;c[83369]=354708;c[83372]=354708;c[83375]=354708;c[83378]=354708;c[83381]=354708;c[83384]=354708;c[83387]=354708;c[83390]=304265;c[83391]=51;c[83392]=149;c[83393]=304273;c[83394]=51;c[83395]=135;c[83396]=354708;c[83399]=304281;c[83400]=51;c[83401]=113;c[83402]=304289;c[83403]=51;c[83404]=95;c[83405]=354708;c[83408]=354708;c[83411]=354708;c[83414]=354708;c[83417]=354708;c[83420]=354708;c[83423]=354708;c[83426]=354708;c[83429]=304297;c[83430]=103;c[83431]=142;c[83432]=304306;c[83433]=103;c[83434]=128;c[83435]=304315;c[83436]=61;c[83437]=55;c[83438]=304325;c[83439]=61;c[83440]=54;c[83441]=354708;c[83444]=304335;c[83445]=61;c[83446]=53;c[83447]=304345;c[83448]=61;c[83449]=52;c[83450]=304355;c[83451]=51;c[83452]=114;c[83453]=304365;c[83454]=51;c[83455]=96;c[83456]=354708;c[83459]=354708;c[83462]=304375;c[83463]=51;c[83464]=115;c[83465]=304385;c[83466]=51;c[83467]=97;c[83468]=330397;c[83469]=41;c[83471]=354708;c[83474]=330268;c[83475]=19;c[83477]=330385;c[83478]=39;c[83480]=354708;c[83483]=354708;c[83486]=354708;c[83489]=354708;c[83492]=304395;c[83493]=93;c[83494]=44;c[83495]=304405;c[83496]=93;c[83497]=43;c[83498]=354708;c[83501]=304415;c[83502]=93;c[83503]=42;c[83504]=304425;c[83505]=93;c[83506]=41;c[83507]=331204;c[83508]=58;c[83509]=17;c[83510]=354708;c[83513]=354708;c[83516]=354708;c[83519]=354708;c[83522]=304435;c[83523]=93;c[83524]=49;c[83525]=354708;c[83528]=354708;c[83531]=354708;c[83534]=304447;c[83535]=51;c[83536]=124;c[83537]=304456;c[83538]=51;c[83539]=106;c[83540]=354708;c[83543]=354708;c[83546]=304465;c[83547]=51;c[83548]=125;c[83549]=304474;c[83550]=51;c[83551]=107;c[83552]=354708;c[83555]=354708;c[83558]=304483;c[83559]=71;c[83560]=30;c[83561]=304492;c[83562]=71;c[83563]=29;c[83564]=354708;c[83567]=304501;c[83568]=71;c[83569]=28;c[83570]=304510;c[83571]=71;c[83572]=27;c[83573]=354708;c[83576]=331402;c[83577]=85;c[83578]=9;c[83579]=354708;c[83582]=354708;c[83585]=354708;c[83588]=354708;c[83591]=354708;c[83594]=354708;c[83597]=354708;c[83600]=354708;c[83603]=354708;c[83606]=331390;c[83607]=83;c[83608]=209;c[83609]=304519;c[83610]=51;c[83611]=337;c[83612]=304529;c[83613]=51;c[83614]=150;c[83615]=304537;c[83616]=51;c[83617]=136;c[83618]=304545;c[83619]=51;c[83620]=323;c[83621]=354708;c[83624]=354708;c[83627]=354708;c[83630]=354708;c[83633]=354708;c[83636]=304555;c[83637]=71;c[83638]=37;c[83639]=304568;c[83640]=71;c[83641]=33;c[83642]=304581;c[83643]=60;c[83644]=271;c[83645]=354708;c[83648]=304590;c[83649]=71;c[83650]=38;c[83651]=304603;c[83652]=71;c[83653]=34;c[83654]=354708;c[83657]=354708;c[83660]=304616;c[83661]=60;c[83662]=272;c[83663]=354708;c[83666]=354708;c[83669]=354708;c[83672]=354708;c[83675]=354708;c[83678]=354708;c[83681]=354708;c[83684]=354708;c[83687]=304625;c[83688]=103;c[83689]=145;c[83690]=304637;c[83691]=103;c[83692]=131;c[83693]=354708;c[83696]=304649;c[83697]=60;c[83698]=274;c[83699]=304658;c[83700]=51;c[83701]=340;c[83702]=304668;c[83703]=103;c[83704]=276;c[83705]=354708;c[83708]=354708;c[83711]=354708;c[83714]=354708;c[83717]=354708;c[83720]=304677;c[83721]=73;c[83722]=23;c[83723]=354708;c[83726]=354708;c[83729]=304687;c[83730]=49;c[83731]=367;c[83732]=304704;c[83733]=49;c[83734]=366;c[83735]=304721;c[83736]=61;c[83737]=213;c[83738]=304732;c[83739]=74;c[83740]=24;c[83741]=354708;c[83744]=354708;c[83747]=330661;c[83748]=84;c[83749]=208;c[83750]=331218;c[83751]=87;c[83752]=18;c[83753]=354708;c[83756]=304742;c[83757]=103;c[83758]=333;c[83759]=354708;c[83762]=304752;c[83763]=50;c[83764]=358;c[83765]=304768;c[83766]=50;c[83767]=357;c[83768]=354708;c[83771]=354708;c[83774]=354708;c[83777]=304784;c[83778]=49;c[83779]=372;c[83780]=304803;c[83781]=51;c[83782]=277;c[83783]=304812;c[83784]=100;c[83785]=280;c[83786]=330118;c[83787]=4;c[83789]=354708;c[83792]=354708;c[83795]=354708;c[83798]=354708;c[83801]=354708;c[83804]=304827;c[83805]=51;c[83806]=338;c[83807]=354708;c[83810]=354708;c[83813]=304837;c[83814]=93;c[83815]=212;c[83816]=354708;c[83819]=354708;c[83822]=354708;c[83825]=354708;c[83828]=354708;c[83831]=354708;c[83834]=354708;c[83837]=354708;c[83840]=354708;c[83843]=304848;c[83844]=51;c[83845]=278;c[83846]=354708;c[83849]=354708;c[83852]=304856;c[83853]=47;c[83854]=384;c[83855]=304878;c[83856]=47;c[83857]=382;c[83858]=354708;c[83861]=354708;c[83864]=304900;c[83865]=51;c[83866]=336;c[83867]=354708;c[83870]=354708;c[83873]=304910;c[83874]=51;c[83875]=322;c[83876]=354708;c[83879]=354708;c[83882]=330086;c[83883]=2;c[83885]=354708;c[83888]=354708;c[83891]=354708;c[83894]=354708;c[83897]=304920;c[83898]=62;c[83899]=161;c[83900]=304936;c[83901]=62;c[83902]=155;c[83903]=304952;c[83904]=62;c[83905]=162;c[83906]=304968;c[83907]=62;c[83908]=156;c[83909]=354708;c[83912]=354708;c[83915]=354708;c[83918]=354708;c[83921]=354708;c[83924]=304984;c[83925]=47;c[83926]=377;c[83927]=305006;c[83928]=47;c[83929]=375;c[83930]=354708;c[83933]=330201;c[83934]=8;c[83936]=305028;c[83937]=47;c[83938]=391;c[83939]=305050;c[83940]=47;c[83941]=389;c[83942]=354708;c[83945]=354708;c[83948]=331230;c[83949]=86;c[83950]=19;c[83951]=305072;c[83952]=47;c[83953]=386;c[83954]=330250;c[83955]=16;c[83957]=354708;c[83960]=305095;c[83961]=48;c[83962]=421;c[83963]=354708;c[83966]=354708;c[83969]=305122;c[83970]=45;c[83971]=360;c[83972]=305138;c[83973]=45;c[83974]=359;c[83975]=330391;c[83976]=40;c[83978]=354708;c[83981]=354708;c[83984]=330379;c[83985]=38;c[83987]=354708;c[83990]=354708;c[83993]=354708;c[83996]=331059;c[83997]=54;c[83998]=13;c[83999]=305154;c[84e3]=62;c[84001]=161;c[84002]=305170;c[84003]=62;c[84004]=155;c[84005]=305186;c[84006]=62;c[84007]=162;c[84008]=305202;c[84009]=62;c[84010]=156;c[84011]=354708;c[84014]=354708;c[84017]=354708;c[84020]=330101;c[84021]=3;c[84023]=305218;c[84024]=71;c[84025]=39;c[84026]=305231;c[84027]=71;c[84028]=211;c[84029]=354708;c[84032]=354708;c[84035]=305241;c[84036]=71;c[84037]=40;c[84038]=305254;c[84039]=47;c[84040]=395;c[84041]=305272;c[84042]=47;c[84043]=394;c[84044]=305290;c[84045]=47;c[84046]=381;c[84047]=305309;c[84048]=47;c[84049]=380;c[84050]=354708;c[84053]=305328;c[84054]=47;c[84055]=374;c[84056]=305347;c[84057]=47;c[84058]=373;c[84059]=354708;c[84062]=354708;c[84065]=354708;c[84068]=354708;c[84071]=305366;c[84072]=62;c[84073]=163;c[84074]=305382;c[84075]=62;c[84076]=157;c[84077]=305398;c[84078]=62;c[84079]=164;c[84080]=305414;c[84081]=62;c[84082]=158;c[84083]=354708;c[84086]=330963;c[84087]=111;c[84088]=-5;c[84089]=305430;c[84090]=62;c[84091]=169;c[84092]=354708;c[84095]=305445;c[84096]=51;c[84097]=339;c[84098]=354708;c[84101]=354708;c[84104]=354708;c[84107]=354708;c[84110]=354708;c[84113]=354708;c[84116]=354708;c[84119]=305455;c[84120]=51;c[84121]=328;c[84122]=354708;c[84125]=354708;c[84128]=305465;c[84129]=51;c[84130]=314;c[84131]=354708;c[84134]=331359;c[84135]=95;c[84136]=204;c[84137]=354708;c[84140]=354708;c[84143]=354708;c[84146]=305475;c[84147]=47;c[84148]=379;c[84149]=354708;c[84152]=305498;c[84153]=60;c[84154]=265;c[84155]=354708;c[84158]=305507;c[84159]=47;c[84160]=393;c[84161]=305530;c[84162]=60;c[84163]=255;c[84164]=354708;c[84167]=354708;c[84170]=305539;c[84171]=60;c[84172]=266;c[84173]=305548;c[84174]=62;c[84175]=163;c[84176]=305564;c[84177]=62;c[84178]=157;c[84179]=305580;c[84180]=62;c[84181]=164;c[84182]=305596;c[84183]=62;c[84184]=158;c[84185]=354708;c[84188]=354708;c[84191]=305612;c[84192]=62;c[84193]=169;c[84194]=354708;c[84197]=305627;c[84198]=47;c[84199]=388;c[84200]=305646;c[84201]=47;c[84202]=387;c[84203]=354708;c[84206]=305665;c[84207]=60;c[84208]=268;c[84209]=305674;c[84210]=51;c[84211]=331;c[84212]=305684;c[84213]=60;c[84214]=256;c[84215]=305695;c[84216]=47;c[84217]=400;c[84218]=305717;c[84219]=60;c[84220]=257;c[84221]=354708;c[84224]=354708;c[84227]=354708;c[84230]=305728;c[84231]=60;c[84232]=260;c[84233]=330578;c[84234]=72;c[84235]=22;c[84236]=305739;c[84237]=60;c[84238]=261;c[84239]=354708;c[84242]=305750;c[84243]=103;c[84244]=318;c[84245]=330652;c[84246]=82;c[84247]=210;c[84248]=354708;c[84251]=354708;c[84254]=354708;c[84257]=354708;c[84260]=354708;c[84263]=354708;c[84266]=305765;c[84267]=103;c[84268]=324;c[84269]=354708;c[84272]=354708;c[84275]=354708;c[84278]=354708;c[84281]=305775;c[84282]=62;c[84283]=170;c[84284]=305793;c[84285]=62;c[84286]=165;c[84287]=354708;c[84290]=354708;c[84293]=330362;c[84294]=35;c[84296]=354708;c[84299]=354708;c[84302]=354708;c[84305]=305811;c[84306]=93;c[84307]=47;c[84308]=305822;c[84309]=93;c[84310]=45;c[84311]=354708;c[84314]=305833;c[84315]=51;c[84316]=329;c[84317]=354708;c[84320]=354708;c[84323]=305843;c[84324]=51;c[84325]=315;c[84326]=354708;c[84329]=354708;c[84332]=354708;c[84335]=354708;c[84338]=354708;c[84341]=354708;c[84344]=330261;c[84345]=18;c[84347]=354708;c[84350]=354708;c[84353]=330243;c[84354]=14;c[84356]=354708;c[84359]=354708;c[84362]=354708;c[84365]=354708;c[84368]=354708;c[84371]=354708;c[84374]=305853;c[84375]=51;c[84376]=327;c[84377]=354708;c[84380]=354708;c[84383]=305863;c[84384]=51;c[84385]=313;c[84386]=354708;c[84389]=354708;c[84392]=354708;c[84395]=354708;c[84398]=330254;c[84399]=17;c[84401]=354708;c[84404]=331328;c[84405]=69;c[84406]=26;c[84407]=354708;c[84410]=305873;c[84411]=71;c[84412]=35;c[84413]=305885;c[84414]=71;c[84415]=31;c[84416]=354708;c[84419]=354708;c[84422]=305897;c[84423]=71;c[84424]=36;c[84425]=305909;c[84426]=71;c[84427]=32;c[84428]=330320;c[84429]=28;c[84431]=354708;c[84434]=354708;c[84437]=354708;c[84440]=354708;c[84443]=331410;c[84444]=101;c[84445]=8;c[84446]=354708;c[84449]=354708;c[84452]=354708;c[84455]=354708;c[84458]=305921;c[84459]=62;c[84460]=172;c[84461]=305939;c[84462]=62;c[84463]=167;c[84464]=354708;c[84467]=354708;c[84470]=330308;c[84471]=26;c[84473]=354708;c[84476]=331261;c[84477]=64;c[84478]=20;c[84479]=305957;c[84480]=60;c[84481]=273;c[84482]=331379;c[84483]=96;c[84484]=206;c[84485]=354708;c[84488]=305966;c[84489]=45;c[84490]=364;c[84491]=305986;c[84492]=45;c[84493]=362;c[84494]=354708;c[84497]=354708;c[84500]=330161;c[84501]=6;c[84503]=354708;c[84506]=354708;c[84509]=354708;c[84512]=354708;c[84515]=306006;c[84516]=60;c[84517]=275;c[84518]=306015;c[84519]=62;c[84520]=171;c[84521]=306033;c[84522]=62;c[84523]=166;c[84524]=354708;c[84527]=306051;c[84528]=47;c[84529]=385;c[84530]=306074;c[84531]=47;c[84532]=383;c[84533]=354708;c[84536]=306097;c[84537]=48;c[84538]=420;c[84539]=306124;c[84540]=48;c[84541]=418;c[84542]=331290;c[84543]=75;c[84544]=3;c[84545]=354708;c[84548]=354708;c[84551]=354708;c[84554]=306151;c[84555]=62;c[84556]=67;c[84557]=306159;c[84558]=62;c[84559]=56;c[84560]=354708;c[84563]=354708;c[84566]=306167;c[84567]=51;c[84568]=119;c[84569]=306174;c[84570]=51;c[84571]=101;c[84572]=354708;c[84575]=354708;c[84578]=306181;c[84579]=62;c[84580]=193;c[84581]=306201;c[84582]=62;c[84583]=189;c[84584]=354708;c[84587]=354708;c[84590]=306221;c[84591]=62;c[84592]=194;c[84593]=306241;c[84594]=62;c[84595]=190;c[84596]=354708;c[84599]=354708;c[84602]=354708;c[84605]=306261;c[84606]=51;c[84607]=330;c[84608]=354708;c[84611]=354708;c[84614]=354708;c[84617]=330314;c[84618]=27;c[84620]=354708;c[84623]=354708;c[84626]=354708;c[84629]=354708;c[84632]=354708;c[84635]=354708;c[84638]=306271;c[84639]=103;c[84640]=146;c[84641]=306280;c[84642]=103;c[84643]=132;c[84644]=306289;c[84645]=72;c[84646]=22;c[84647]=354708;c[84650]=354708;c[84653]=331065;c[84654]=55;c[84655]=10;c[84656]=354708;c[84659]=354708;c[84662]=354708;c[84665]=354708;c[84668]=354708;c[84671]=354708;c[84674]=306299;c[84675]=93;c[84676]=48;c[84677]=306311;c[84678]=93;c[84679]=46;c[84680]=354708;c[84683]=354708;c[84686]=354708;c[84689]=354708;c[84692]=354708;c[84695]=306323;c[84696]=62;c[84697]=173;c[84698]=306341;c[84699]=62;c[84700]=168;c[84701]=354708;c[84704]=354708;c[84707]=330505;c[84708]=59;c[84709]=7;c[84710]=354708;c[84713]=306359;c[84714]=62;c[84715]=159;c[84716]=354708;c[84719]=306376;c[84720]=62;c[84721]=160;c[84722]=306393;c[84723]=47;c[84724]=378;c[84725]=306416;c[84726]=47;c[84727]=376;c[84728]=306439;c[84729]=60;c[84730]=87;c[84731]=306446;c[84732]=60;c[84733]=81;c[84734]=306453;c[84735]=47;c[84736]=392;c[84737]=306476;c[84738]=47;c[84739]=390;c[84740]=354708;c[84743]=354708;c[84746]=354708;c[84749]=354708;c[84752]=306499;c[84753]=103;c[84754]=309;c[84755]=354708;c[84758]=306514;c[84759]=103;c[84760]=143;c[84761]=306524;c[84762]=103;c[84763]=129;c[84764]=306534;c[84765]=60;c[84766]=89;c[84767]=306541;c[84768]=60;c[84769]=83;c[84770]=354708;c[84773]=354708;c[84776]=354708;c[84779]=306548;c[84780]=62;c[84781]=170;c[84782]=306566;c[84783]=62;c[84784]=165;c[84785]=306584;c[84786]=62;c[84787]=171;c[84788]=306602;c[84789]=62;c[84790]=166;c[84791]=306620;c[84792]=47;c[84793]=399;c[84794]=306642;c[84795]=47;c[84796]=397;c[84797]=306664;c[84798]=60;c[84799]=72;c[84800]=306673;c[84801]=60;c[84802]=61;c[84803]=354708;c[84806]=306682;c[84807]=51;c[84808]=290;c[84809]=306692;c[84810]=60;c[84811]=73;c[84812]=306701;c[84813]=60;c[84814]=62;c[84815]=306710;c[84816]=60;c[84817]=76;c[84818]=306719;c[84819]=60;c[84820]=65;c[84821]=354708;c[84824]=354708;c[84827]=306728;c[84828]=60;c[84829]=77;c[84830]=306737;c[84831]=60;c[84832]=66;c[84833]=354708;c[84836]=354708;c[84839]=306746;c[84840]=60;c[84841]=235;c[84842]=354708;c[84845]=354708;c[84848]=354708;c[84851]=306755;c[84852]=45;c[84853]=363;c[84854]=306774;c[84855]=45;c[84856]=361;c[84857]=354708;c[84860]=354708;c[84863]=354708;c[84866]=306793;c[84867]=45;c[84868]=365;c[84869]=354708;c[84872]=354708;c[84875]=354708;c[84878]=354708;c[84881]=354708;c[84884]=354708;c[84887]=354708;c[84890]=306813;c[84891]=60;c[84892]=236;c[84893]=354708;c[84896]=306824;c[84897]=60;c[84898]=237;c[84899]=354708;c[84902]=354708;c[84905]=354708;c[84908]=306835;c[84909]=60;c[84910]=240;c[84911]=354708;c[84914]=306846;c[84915]=60;c[84916]=241;c[84917]=330923;c[84918]=111;c[84919]=-17;c[84920]=354708;c[84923]=354708;c[84926]=354708;c[84929]=330636;c[84930]=80;c[84931]=50;c[84932]=306857;c[84933]=49;c[84934]=371;c[84935]=306876;c[84936]=49;c[84937]=369;c[84938]=306895;c[84939]=51;c[84940]=122;c[84941]=306905;c[84942]=51;c[84943]=104;c[84944]=330624;c[84945]=79;c[84946]=197;c[84947]=354708;c[84950]=306915;c[84951]=51;c[84952]=123;c[84953]=306925;c[84954]=51;c[84955]=105;c[84956]=354708;c[84959]=354708;c[84962]=354708;c[84965]=306935;c[84966]=103;c[84967]=231;c[84968]=306947;c[84969]=103;c[84970]=183;c[84971]=354708;c[84974]=306962;c[84975]=103;c[84976]=225;c[84977]=306974;c[84978]=51;c[84979]=121;c[84980]=306982;c[84981]=51;c[84982]=103;c[84983]=354708;c[84986]=354708;c[84989]=306990;c[84990]=60;c[84991]=267;c[84992]=354708;c[84995]=354708;c[84998]=354708;c[85001]=306999;c[85002]=51;c[85003]=293;c[85004]=354708;c[85007]=354708;c[85010]=307009;c[85011]=62;c[85012]=159;c[85013]=354708;c[85016]=354708;c[85019]=354708;c[85022]=307026;c[85023]=62;c[85024]=160;c[85025]=307043;c[85026]=60;c[85027]=269;c[85028]=354708;c[85031]=307052;c[85032]=60;c[85033]=258;c[85034]=354708;c[85037]=307063;c[85038]=60;c[85039]=259;c[85040]=354708;c[85043]=354708;c[85046]=354708;c[85049]=307074;c[85050]=60;c[85051]=262;c[85052]=307085;c[85053]=51;c[85054]=279;c[85055]=307094;c[85056]=60;c[85057]=263;c[85058]=354708;c[85061]=307105;c[85062]=51;c[85063]=287;c[85064]=354708;c[85067]=354708;c[85070]=354708;c[85073]=307115;c[85074]=103;c[85075]=335;c[85076]=354708;c[85079]=354708;c[85082]=354708;c[85085]=354708;c[85088]=354708;c[85091]=354708;c[85094]=354708;c[85097]=354708;c[85100]=354708;c[85103]=330600;c[85104]=77;c[85105]=200;c[85106]=354708;c[85109]=354708;c[85112]=354708;c[85115]=354708;c[85118]=354708;c[85121]=354708;c[85124]=354708;c[85127]=307126;c[85128]=47;c[85129]=414;c[85130]=354708;c[85133]=307150;c[85134]=48;c[85135]=419;c[85136]=307176;c[85137]=48;c[85138]=417;c[85139]=354708;c[85142]=354708;c[85145]=354708;c[85148]=354708;c[85151]=307202;c[85152]=103;c[85153]=141;c[85154]=307210;c[85155]=103;c[85156]=127;c[85157]=307218;c[85158]=103;c[85159]=182;c[85160]=307233;c[85161]=103;c[85162]=180;c[85163]=354708;c[85166]=354708;c[85169]=354708;c[85172]=354708;c[85175]=354708;c[85178]=307248;c[85179]=51;c[85180]=120;c[85181]=307256;c[85182]=51;c[85183]=102;c[85184]=330762;c[85185]=104;c[85186]=0;c[85187]=307264;c[85188]=47;c[85189]=398;c[85190]=307285;c[85191]=47;c[85192]=396;c[85193]=354708;c[85196]=354708;c[85199]=354708;c[85202]=354708;c[85205]=354708;c[85208]=354708;c[85211]=354708;c[85214]=354708;c[85217]=354708;c[85220]=354708;c[85223]=307306;c[85224]=51;c[85225]=303;c[85226]=354708;c[85229]=307316;c[85230]=111;c[85231]=-16;c[85232]=354708;c[85235]=354708;c[85238]=354708;c[85241]=330367;c[85242]=36;c[85244]=354708;c[85247]=354708;c[85250]=354708;c[85253]=354708;c[85256]=307324;c[85257]=60;c[85258]=245;c[85259]=354708;c[85262]=307333;c[85263]=62;c[85264]=195;c[85265]=307353;c[85266]=62;c[85267]=191;c[85268]=354708;c[85271]=330068;c[85272]=1;c[85274]=307373;c[85275]=62;c[85276]=196;c[85277]=307393;c[85278]=62;c[85279]=192;c[85280]=354708;c[85283]=354708;c[85286]=307413;c[85287]=47;c[85288]=407;c[85289]=354708;c[85292]=354708;c[85295]=354708;c[85298]=354708;c[85301]=354708;c[85304]=354708;c[85307]=307436;c[85308]=60;c[85309]=246;c[85310]=354708;c[85313]=307447;c[85314]=60;c[85315]=247;c[85316]=354708;c[85319]=354708;c[85322]=354708;c[85325]=307458;c[85326]=60;c[85327]=250;c[85328]=330562;c[85329]=68;c[85330]=25;c[85331]=307469;c[85332]=60;c[85333]=251;c[85334]=354708;c[85337]=354708;c[85340]=354708;c[85343]=354708;c[85346]=354708;c[85349]=354708;c[85352]=307480;c[85353]=103;c[85354]=181;c[85355]=307494;c[85356]=103;c[85357]=179;c[85358]=354708;c[85361]=307508;c[85362]=51;c[85363]=350;c[85364]=307522;c[85365]=69;c[85366]=26;c[85367]=354708;c[85370]=354708;c[85373]=307533;c[85374]=51;c[85375]=320;c[85376]=354708;c[85379]=354708;c[85382]=354708;c[85385]=307545;c[85386]=51;c[85387]=321;c[85388]=354708;c[85391]=354708;c[85394]=354708;c[85397]=354708;c[85400]=307557;c[85401]=51;c[85402]=291;c[85403]=354708;c[85406]=307578;c[85407]=51;c[85408]=292;c[85409]=354708;c[85412]=307599;c[85413]=62;c[85414]=177;c[85415]=354708;c[85418]=307619;c[85419]=51;c[85420]=306;c[85421]=354708;c[85424]=354708;c[85427]=354708;c[85430]=307629;c[85431]=103;c[85432]=283;c[85433]=354708;c[85436]=354708;c[85439]=307644;c[85440]=51;c[85441]=319;c[85442]=307654;c[85443]=62;c[85444]=193;c[85445]=307674;c[85446]=62;c[85447]=189;c[85448]=307694;c[85449]=62;c[85450]=194;c[85451]=307714;c[85452]=62;c[85453]=190;c[85454]=354708;c[85457]=354708;c[85460]=307734;c[85461]=62;c[85462]=172;c[85463]=307752;c[85464]=62;c[85465]=167;c[85466]=307770;c[85467]=62;c[85468]=173;c[85469]=307788;c[85470]=62;c[85471]=168;c[85472]=354708;c[85475]=307806;c[85476]=103;c[85477]=228;c[85478]=307818;c[85479]=51;c[85480]=300;c[85481]=354708;c[85484]=307828;c[85485]=103;c[85486]=222;c[85487]=354708;c[85490]=354708;c[85493]=354708;c[85496]=354708;c[85499]=354708;c[85502]=307840;c[85503]=103;c[85504]=334;c[85505]=354708;c[85508]=354708;c[85511]=307850;c[85512]=103;c[85513]=316;c[85514]=307860;c[85515]=62;c[85516]=177;c[85517]=354708;c[85520]=307880;c[85521]=90;c[85522]=232;c[85523]=354708;c[85526]=307899;c[85527]=71;c[85528]=355;c[85529]=307916;c[85530]=90;c[85531]=226;c[85532]=354708;c[85535]=354708;c[85538]=354708;c[85541]=354708;c[85544]=307935;c[85545]=62;c[85546]=174;c[85547]=354708;c[85550]=354708;c[85553]=354708;c[85556]=354708;c[85559]=354708;c[85562]=354708;c[85565]=330648;c[85566]=81;c[85567]=1;c[85568]=354708;c[85571]=354708;c[85574]=354708;c[85577]=354708;c[85580]=307951;c[85581]=62;c[85582]=178;c[85583]=307971;c[85584]=103;c[85585]=326;c[85586]=354708;c[85589]=354708;c[85592]=354708;c[85595]=354708;c[85598]=354708;c[85601]=354708;c[85604]=354708;c[85607]=354708;c[85610]=354708;c[85613]=307982;c[85614]=62;c[85615]=195;c[85616]=308002;c[85617]=62;c[85618]=191;c[85619]=308022;c[85620]=62;c[85621]=196;c[85622]=308042;c[85623]=62;c[85624]=192;c[85625]=308062;c[85626]=51;c[85627]=288;c[85628]=354708;c[85631]=308083;c[85632]=51;c[85633]=289;c[85634]=308104;c[85635]=103;c[85636]=344;c[85637]=354708;c[85640]=308128;c[85641]=103;c[85642]=345;c[85643]=354708;c[85646]=308152;c[85647]=62;c[85648]=174;c[85649]=354708;c[85652]=354708;c[85655]=354708;c[85658]=354708;c[85661]=354708;c[85664]=354708;c[85667]=354708;c[85670]=354708;c[85673]=354708;c[85676]=354708;c[85679]=354708;c[85682]=308168;c[85683]=62;c[85684]=178;c[85685]=354708;c[85688]=354708;c[85691]=354708;c[85694]=308188;c[85695]=51;c[85696]=152;c[85697]=308196;c[85698]=51;c[85699]=138;c[85700]=354708;c[85703]=308204;c[85704]=47;c[85705]=413;c[85706]=308228;c[85707]=47;c[85708]=411;c[85709]=308252;c[85710]=60;c[85711]=238;c[85712]=308263;c[85713]=90;c[85714]=233;c[85715]=308282;c[85716]=60;c[85717]=239;c[85718]=354708;c[85721]=308293;c[85722]=90;c[85723]=227;c[85724]=330132;c[85725]=5;c[85727]=308312;c[85728]=60;c[85729]=242;c[85730]=354708;c[85733]=308323;c[85734]=60;c[85735]=243;c[85736]=354708;c[85739]=354708;c[85742]=354708;c[85745]=308334;c[85746]=103;c[85747]=317;c[85748]=354708;c[85751]=354708;c[85754]=354708;c[85757]=354708;c[85760]=354708;c[85763]=354708;c[85766]=354708;c[85769]=354708;c[85772]=308349;c[85773]=47;c[85774]=405;c[85775]=308371;c[85776]=47;c[85777]=403;c[85778]=354708;c[85781]=354708;c[85784]=354708;c[85787]=354708;c[85790]=354708;c[85793]=354708;c[85796]=354708;c[85799]=354708;c[85802]=354708;c[85805]=354708;c[85808]=354708;c[85811]=354708;c[85814]=354708;c[85817]=308393;c[85818]=51;c[85819]=304;c[85820]=354708;c[85823]=308414;c[85824]=51;c[85825]=305;c[85826]=354708;c[85829]=354708;c[85832]=354708;c[85835]=354708;c[85838]=354708;c[85841]=308435;c[85842]=60;c[85843]=84;c[85844]=308442;c[85845]=60;c[85846]=78;c[85847]=308449;c[85848]=103;c[85849]=296;c[85850]=308464;c[85851]=60;c[85852]=68;c[85853]=308471;c[85854]=60;c[85855]=57;c[85856]=354708;c[85859]=354708;c[85862]=308478;c[85863]=47;c[85864]=406;c[85865]=308501;c[85866]=47;c[85867]=404;c[85868]=354708;c[85871]=354708;c[85874]=354708;c[85877]=354708;c[85880]=354708;c[85883]=308524;c[85884]=51;c[85885]=311;c[85886]=354708;c[85889]=354708;c[85892]=354708;c[85895]=308536;c[85896]=51;c[85897]=312;c[85898]=330373;c[85899]=37;c[85901]=354708;c[85904]=354708;c[85907]=354708;c[85910]=354708;c[85913]=354708;c[85916]=354708;c[85919]=354708;c[85922]=354708;c[85925]=354708;c[85928]=354708;c[85931]=354708;c[85934]=354708;c[85937]=354708;c[85940]=354708;c[85943]=354708;c[85946]=354708;c[85949]=308548;c[85950]=51;c[85951]=310;c[85952]=354708;c[85955]=354708;c[85958]=354708;c[85961]=354708;c[85964]=354708;c[85967]=354708;c[85970]=308558;c[85971]=103;c[85972]=342;c[85973]=330189;c[85974]=7;c[85976]=308582;c[85977]=103;c[85978]=343;c[85979]=354708;c[85982]=354708;c[85985]=354708;c[85988]=308606;c[85989]=49;c[85990]=370;c[85991]=308624;c[85992]=49;c[85993]=368;c[85994]=354708;c[85997]=354708;c[86e3]=354708;c[86003]=354708;c[86006]=354708;c[86009]=354708;c[86012]=308642;c[86013]=103;c[86014]=325;c[86015]=354708;c[86018]=354708;c[86021]=308652;c[86022]=103;c[86023]=307;c[86024]=308662;c[86025]=103;c[86026]=110;c[86027]=308673;c[86028]=103;c[86029]=92;c[86030]=308684;c[86031]=90;c[86032]=229;c[86033]=354708;c[86036]=308703;c[86037]=71;c[86038]=354;c[86039]=308720;c[86040]=90;c[86041]=223;c[86042]=308739;c[86043]=51;c[86044]=301;c[86045]=354708;c[86048]=308760;c[86049]=51;c[86050]=302;c[86051]=354708;c[86054]=354708;c[86057]=354708;c[86060]=354708;c[86063]=354708;c[86066]=354708;c[86069]=354708;c[86072]=354708;c[86075]=354708;c[86078]=354708;c[86081]=354708;c[86084]=354708;c[86087]=354708;c[86090]=354708;c[86093]=354708;c[86096]=354708;c[86099]=330612;c[86100]=78;c[86101]=51;c[86102]=354708;c[86105]=354708;c[86108]=308781;c[86109]=51;c[86110]=341;c[86111]=354708;c[86114]=354708;c[86117]=330543;c[86118]=65;c[86119]=202;c[86120]=330533;c[86121]=63;c[86122]=198;c[86123]=354708;c[86126]=308791;c[86127]=60;c[86128]=248;c[86129]=354708;c[86132]=308802;c[86133]=60;c[86134]=249;c[86135]=354708;c[86138]=354708;c[86141]=354708;c[86144]=308813;c[86145]=60;c[86146]=252;c[86147]=354708;c[86150]=308824;c[86151]=60;c[86152]=253;c[86153]=354708;c[86156]=354708;c[86159]=354708;c[86162]=308835;c[86163]=103;c[86164]=214;c[86165]=354708;c[86168]=354708;c[86171]=354708;c[86174]=354708;c[86177]=354708;c[86180]=354708;c[86183]=354708;c[86186]=354708;c[86189]=354708;c[86192]=354708;c[86195]=354708;c[86198]=354708;c[86201]=354708;c[86204]=354708;c[86207]=354708;c[86210]=354708;c[86213]=354708;c[86216]=354708;c[86219]=354708;c[86222]=308847;c[86223]=90;c[86224]=230;c[86225]=354708;c[86228]=354708;c[86231]=308866;c[86232]=90;c[86233]=224;c[86234]=354708;c[86237]=354708;c[86240]=354708;c[86243]=354708;c[86246]=354708;c[86249]=354708;c[86252]=354708;c[86255]=308885;c[86256]=103;c[86257]=308;c[86258]=354708;c[86261]=330715;c[86262]=94;c[86263]=203;c[86264]=354708;c[86267]=354708;c[86270]=354708;c[86273]=354708;c[86276]=354708;c[86279]=354708;c[86282]=354708;c[86285]=354708;c[86288]=308900;c[86289]=68;c[86290]=25;c[86291]=354708;c[86294]=354708;c[86297]=354708;c[86300]=354708;c[86303]=354708;c[86306]=354708;c[86309]=354708;c[86312]=354708;c[86315]=354708;c[86318]=354708;c[86321]=308911;c[86322]=60;c[86323]=270;c[86324]=354708;c[86327]=354708;c[86330]=354708;c[86333]=308920;c[86334]=62;c[86335]=175;c[86336]=354708;c[86339]=354708;c[86342]=354708;c[86345]=354708;c[86348]=354708;c[86351]=354708;c[86354]=331314;c[86355]=102;c[86356]=6;c[86357]=354708;c[86360]=354708;c[86363]=354708;c[86366]=354708;c[86369]=354708;c[86372]=354708;c[86375]=354708;c[86378]=354708;c[86381]=354708;c[86384]=354708;c[86387]=354708;c[86390]=354708;c[86393]=354708;c[86396]=354708;c[86399]=354708;c[86402]=354708;c[86405]=354708;c[86408]=354708;c[86411]=354708;c[86414]=354708;c[86417]=354708;c[86420]=354708;c[86423]=330283;c[86424]=22;c[86426]=354708;c[86429]=354708;c[86432]=354708;c[86435]=308940;c[86436]=62;c[86437]=175;c[86438]=308960;c[86439]=47;c[86440]=402;c[86441]=308979;c[86442]=47;c[86443]=401;c[86444]=354708;c[86447]=354708;c[86450]=354708;c[86453]=354708;c[86456]=354708;c[86459]=354708;c[86462]=354708;c[86465]=354708;c[86468]=354708;c[86471]=354708;c[86474]=354708;c[86477]=308998;c[86478]=9;c[86480]=354708;c[86483]=354708;c[86486]=354708;c[86489]=354708;c[86492]=354708;c[86495]=354708;c[86498]=354708;c[86501]=309005;c[86502]=62;c[86503]=176;c[86504]=354708;c[86507]=354708;c[86510]=354708;c[86513]=354708;c[86516]=354708;c[86519]=354708;c[86522]=354708;c[86525]=354708;c[86528]=354708;c[86531]=309025;c[86532]=62;c[86533]=154;c[86534]=354708;c[86537]=354708;c[86540]=354708;c[86543]=354708;c[86546]=354708;c[86549]=354708;c[86552]=354708;c[86555]=354708;c[86558]=354708;c[86561]=309038;c[86562]=51;c[86563]=285;c[86564]=354708;c[86567]=354708;c[86570]=354708;c[86573]=309050;c[86574]=51;c[86575]=286;c[86576]=354708;c[86579]=309062;c[86580]=103;c[86581]=218;c[86582]=354708;c[86585]=354708;c[86588]=354708;c[86591]=354708;c[86594]=354708;c[86597]=354708;c[86600]=354708;c[86603]=309074;c[86604]=62;c[86605]=176;c[86606]=354708;c[86609]=354708;c[86612]=354708;c[86615]=354708;c[86618]=309094;c[86619]=51;c[86620]=332;c[86621]=354708;c[86624]=354708;c[86627]=309104;c[86628]=51;c[86629]=284;c[86630]=354708;c[86633]=309114;c[86634]=62;c[86635]=154;c[86636]=354708;c[86639]=354708;c[86642]=354708;c[86645]=354708;c[86648]=354708;c[86651]=354708;c[86654]=354708;c[86657]=354708;c[86660]=354708;c[86663]=354708;c[86666]=354708;c[86669]=354708;c[86672]=309127;c[86673]=103;c[86674]=346;c[86675]=354708;c[86678]=309149;c[86679]=103;c[86680]=347;c[86681]=354708;c[86684]=354708;c[86687]=354708;c[86690]=354708;c[86693]=354708;c[86696]=354708;c[86699]=309171;c[86700]=103;c[86701]=281;c[86702]=354708;c[86705]=354708;c[86708]=354708;c[86711]=354708;c[86714]=309181;c[86715]=71;c[86716]=352;c[86717]=354708;c[86720]=354708;c[86723]=354708;c[86726]=354708;c[86729]=354708;c[86732]=309198;c[86733]=90;c[86734]=215;c[86735]=354708;c[86738]=309219;c[86739]=90;c[86740]=216;c[86741]=354708;c[86744]=354708;c[86747]=354708;c[86750]=354708;c[86753]=354708;c[86756]=354708;c[86759]=354708;c[86762]=354708;c[86765]=354708;c[86768]=354708;c[86771]=354708;c[86774]=354708;c[86777]=354708;c[86780]=354708;c[86783]=354708;c[86786]=354708;c[86789]=354708;c[86792]=354708;c[86795]=354708;c[86798]=354708;c[86801]=354708;c[86804]=354708;c[86807]=354708;c[86810]=354708;c[86813]=354708;c[86816]=354708;c[86819]=354708;c[86822]=354708;c[86825]=354708;c[86828]=354708;c[86831]=309240;c[86832]=60;c[86833]=264;c[86834]=354708;c[86837]=354708;c[86840]=309249;c[86841]=60;c[86842]=254;c[86843]=354708;c[86846]=354708;c[86849]=309258;c[86850]=103;c[86851]=348;c[86852]=354708;c[86855]=309280;c[86856]=103;c[86857]=349;c[86858]=354708;c[86861]=354708;c[86864]=354708;c[86867]=354708;c[86870]=354708;c[86873]=354708;c[86876]=354708;c[86879]=330695;c[86880]=92;c[86881]=351;c[86882]=354708;c[86885]=354708;c[86888]=354708;c[86891]=354708;c[86894]=354708;c[86897]=354708;c[86900]=354708;c[86903]=354708;c[86906]=354708;c[86909]=309302;c[86910]=90;c[86911]=217;c[86912]=354708;c[86915]=354708;c[86918]=354708;c[86921]=354708;c[86924]=354708;c[86927]=354708;c[86930]=354708;c[86933]=309321;c[86934]=103;c[86935]=282;c[86936]=354708;c[86939]=354708;c[86942]=354708;c[86945]=354708;c[86948]=354708;c[86951]=354708;c[86954]=354708;c[86957]=354708;c[86960]=354708;c[86963]=354708;c[86966]=354708;c[86969]=354708;c[86972]=354708;c[86975]=354708;c[86978]=309336;c[86979]=51;c[86980]=298;c[86981]=354708;c[86984]=354708;c[86987]=354708;c[86990]=309348;c[86991]=51;c[86992]=299;c[86993]=354708;c[86996]=354708;c[86999]=354708;c[87002]=354708;c[87005]=354708;c[87008]=354708;c[87011]=354708;c[87014]=354708;c[87017]=354708;c[87020]=354708;c[87023]=354708;c[87026]=354708;c[87029]=354708;c[87032]=354708;c[87035]=354708;c[87038]=354708;c[87041]=354708;c[87044]=309360;c[87045]=51;c[87046]=297;c[87047]=354708;c[87050]=354708;c[87053]=354708;c[87056]=354708;c[87059]=354708;c[87062]=354708;c[87065]=354708;c[87068]=354708;c[87071]=309370;c[87072]=80;c[87073]=50;c[87074]=354708;c[87077]=354708;c[87080]=354708;c[87083]=354708;c[87086]=354708;c[87089]=354708;c[87092]=354708;c[87095]=354708;c[87098]=354708;c[87101]=354708;c[87104]=354708;c[87107]=354708;c[87110]=354708;c[87113]=354708;c[87116]=309385;c[87117]=103;c[87118]=294;c[87119]=354708;c[87122]=354708;c[87125]=354708;c[87128]=354708;c[87131]=309395;c[87132]=71;c[87133]=353;c[87134]=354708;c[87137]=309412;c[87138]=47;c[87139]=412;c[87140]=309435;c[87141]=47;c[87142]=410;c[87143]=354708;c[87146]=354708;c[87149]=309458;c[87150]=90;c[87151]=219;c[87152]=354708;c[87155]=309479;c[87156]=90;c[87157]=220;c[87158]=309500;c[87159]=46;c[87160]=356;c[87161]=354708;c[87164]=354708;c[87167]=354708;c[87170]=354708;c[87173]=354708;c[87176]=354708;c[87179]=354708;c[87182]=354708;c[87185]=354708;c[87188]=354708;c[87191]=354708;c[87194]=354708;c[87197]=354708;c[87200]=354708;c[87203]=354708;c[87206]=354708;c[87209]=354708;c[87212]=354708;c[87215]=354708;c[87218]=354708;c[87221]=354708;c[87224]=354708;c[87227]=354708;c[87230]=309514;c[87231]=48;c[87232]=416;c[87233]=309537;c[87234]=48;c[87235]=415;c[87236]=354708;c[87239]=354708;c[87242]=354708;c[87245]=354708;c[87248]=354708;c[87251]=354708;c[87254]=354708;c[87257]=354708;c[87260]=354708;c[87263]=354708;c[87266]=354708;c[87269]=354708;c[87272]=354708;c[87275]=354708;c[87278]=354708;c[87281]=354708;c[87284]=354708;c[87287]=354708;c[87290]=354708;c[87293]=354708;c[87296]=354708;c[87299]=354708;c[87302]=354708;c[87305]=354708;c[87308]=354708;c[87311]=354708;c[87314]=354708;c[87317]=354708;c[87320]=354708;c[87323]=354708;c[87326]=309560;c[87327]=90;c[87328]=221;c[87329]=354708;c[87332]=354708;c[87335]=354708;c[87338]=354708;c[87341]=354708;c[87344]=354708;c[87347]=354708;c[87350]=309579;c[87351]=103;c[87352]=295;c[87353]=354708;c[87356]=354708;c[87359]=354708;c[87362]=354708;c[87365]=354708;c[87368]=354708;c[87371]=354708;c[87374]=354708;c[87377]=309594;c[87378]=51;c[87379]=153;c[87380]=309607;c[87381]=51;c[87382]=139;c[87383]=354708;c[87386]=354708;c[87389]=354708;c[87392]=354708;c[87395]=354708;c[87398]=354708;c[87401]=354708;c[87404]=354708;c[87407]=354708;c[87410]=354708;c[87413]=354708;c[87416]=354708;c[87419]=354708;c[87422]=354708;c[87425]=354708;c[87428]=354708;c[87431]=354708;c[87434]=354708;c[87437]=354708;c[87440]=354708;c[87443]=354708;c[87446]=354708;c[87449]=354708;c[87452]=354708;c[87455]=354708;c[87458]=354708;c[87461]=354708;c[87464]=354708;c[87467]=354708;c[87470]=354708;c[87473]=354708;c[87476]=354708;c[87479]=354708;c[87482]=354708;c[87485]=354708;c[87488]=354708;c[87491]=354708;c[87494]=354708;c[87497]=354708;c[87500]=354708;c[87503]=354708;c[87506]=354708;c[87509]=354708;c[87512]=354708;c[87515]=354708;c[87518]=309620;c[87519]=60;c[87520]=234;c[87521]=354708;c[87524]=354708;c[87527]=354708;c[87530]=354708;c[87533]=354708;c[87536]=354708;c[87539]=354708;c[87542]=354708;c[87545]=354708;c[87548]=354708;c[87551]=354708;c[87554]=354708;c[87557]=354708;c[87560]=354708;c[87563]=354708;c[87566]=354708;c[87569]=354708;c[87572]=354708;c[87575]=354708;c[87578]=354708;c[87581]=354708;c[87584]=354708;c[87587]=354708;c[87590]=354708;c[87593]=354708;c[87596]=354708;c[87599]=354708;c[87602]=354708;c[87605]=354708;c[87608]=354708;c[87611]=354708;c[87614]=354708;c[87617]=354708;c[87620]=354708;c[87623]=354708;c[87626]=354708;c[87629]=354708;c[87632]=354708;c[87635]=354708;c[87638]=354708;c[87641]=354708;c[87644]=354708;c[87647]=354708;c[87650]=354708;c[87653]=354708;c[87656]=354708;c[87659]=354708;c[87662]=354708;c[87665]=354708;c[87668]=354708;c[87671]=354708;c[87674]=354708;c[87677]=354708;c[87680]=354708;c[87683]=354708;c[87686]=354708;c[87689]=354708;c[87692]=354708;c[87695]=354708;c[87698]=354708;c[87701]=354708;c[87704]=354708;c[87707]=354708;c[87710]=354708;c[87713]=354708;c[87716]=354708;c[87719]=354708;c[87722]=354708;c[87725]=354708;c[87728]=354708;c[87731]=354708;c[87734]=354708;c[87737]=354708;c[87740]=354708;c[87743]=354708;c[87746]=354708;c[87749]=354708;c[87752]=354708;c[87755]=354708;c[87758]=354708;c[87761]=354708;c[87764]=354708;c[87767]=354708;c[87770]=354708;c[87773]=354708;c[87776]=354708;c[87779]=354708;c[87782]=354708;c[87785]=354708;c[87788]=354708;c[87791]=354708;c[87794]=354708;c[87797]=354708;c[87800]=354708;c[87803]=354708;c[87806]=354708;c[87809]=354708;c[87812]=309629;c[87813]=78;c[87814]=51;c[87815]=354708;c[87818]=354708;c[87821]=354708;c[87824]=354708;c[87827]=354708;c[87830]=354708;c[87833]=354708;c[87836]=354708;c[87839]=354708;c[87842]=354708;c[87845]=354708;c[87848]=354708;c[87851]=354708;c[87854]=354708;c[87857]=354708;c[87860]=354708;c[87863]=354708;c[87866]=354708;c[87869]=354708;c[87872]=354708;c[87875]=354708;c[87878]=354708;c[87881]=354708;c[87884]=354708;c[87887]=354708;c[87890]=354708;c[87893]=354708;c[87896]=354708;c[87899]=354708;c[87902]=354708;c[87905]=354708;c[87908]=354708;c[87911]=354708;c[87914]=354708;c[87917]=354708;c[87920]=354708;c[87923]=354708;c[87926]=354708;c[87929]=354708;c[87932]=354708;c[87935]=309641;c[87936]=60;c[87937]=244;c[87938]=354708;c[87941]=354708;c[87944]=354708;c[87947]=354708;c[87950]=354708;c[87953]=354708;c[87956]=354708;c[87959]=354708;c[87962]=354708;c[87965]=354708;c[87968]=354708;c[87971]=354708;c[87974]=354708;c[87977]=354708;c[87980]=354708;c[87983]=354708;c[87986]=354708;c[87989]=354708;c[87992]=354708;c[87995]=354708;c[87998]=354708;c[88001]=354708;c[88004]=354708;c[88007]=354708;c[88010]=354708;c[88013]=354708;c[88016]=354708;c[88019]=354708;c[88022]=354708;c[88025]=354708;c[88028]=354708;c[88031]=354708;c[88034]=354708;c[88037]=354708;c[88040]=354708;c[88043]=354708;c[88046]=354708;c[88049]=354708;c[88052]=354708;c[88055]=354708;c[88058]=354708;c[88061]=354708;c[88064]=354708;c[88067]=354708;c[88070]=354708;c[88073]=354708;c[88076]=354708;c[88079]=354708;c[88082]=354708;c[88085]=354708;c[88088]=354708;c[88091]=354708;c[88094]=354708;c[88097]=354708;c[88100]=354708;c[88103]=354708;c[88106]=354708;c[88109]=354708;c[88112]=354708;c[88115]=354708;c[88118]=354708;c[88121]=354708;c[88124]=354708;c[88127]=354708;c[88130]=354708;c[88133]=354708;c[88136]=354708;c[88139]=354708;c[88142]=354708;c[88145]=354708;c[88148]=354708;c[88151]=354708;c[88154]=354708;c[88157]=354708;c[88160]=354708;c[88163]=354708;c[88166]=354708;c[88169]=354708;c[88172]=354708;c[88175]=354708;c[88178]=354708;c[88181]=354708;c[88184]=354708;c[88187]=354708;c[88190]=354708;c[88193]=354708;c[88196]=354708;c[88199]=354708;c[88202]=354708;c[88205]=354708;c[88208]=354708;c[88211]=354708;c[88214]=354708;c[88217]=354708;c[88220]=354708;c[88223]=354708;c[88226]=354708;c[88229]=354708;c[88232]=354708;c[88235]=354708;c[88238]=354708;c[88241]=354708;c[88244]=354708;c[88247]=354708;c[88250]=354708;c[88253]=354708;c[88256]=354708;c[88259]=354708;c[88262]=354708;c[88265]=354708;c[88268]=354708;c[88271]=354708;c[88274]=354708;c[88277]=354708;c[88280]=354708;c[88283]=354708;c[88286]=354708;c[88289]=354708;c[88292]=354708;c[88295]=354708;c[88298]=354708;c[88301]=354708;c[88304]=354708;c[88307]=354708;c[88310]=354708;c[88313]=354708;c[88316]=354708;c[88319]=354708;c[88322]=354708;c[88325]=354708;c[88328]=354708;c[88331]=354708;c[88334]=354708;c[88337]=354708;c[88340]=354708;c[88343]=354708;c[88346]=354708;c[88349]=354708;c[88352]=354708;c[88355]=354708;c[88358]=354708;c[88361]=354708;c[88364]=354708;c[88367]=354708;c[88370]=330588;c[88371]=76;c[88372]=199;c[88373]=354708;c[88376]=354708;c[88379]=354708;c[88382]=354708;c[88385]=354708;c[88388]=354708;c[88391]=354708;c[88394]=354708;c[88397]=354708;c[88400]=354708;c[88403]=354708;c[88406]=354708;c[88409]=354708;c[88412]=354708;c[88415]=354708;c[88418]=354708;c[88421]=354708;c[88424]=354708;c[88427]=354708;c[88430]=354708;c[88433]=354708;c[88436]=354708;c[88439]=354708;c[88442]=354708;c[88445]=354708;c[88448]=354708;c[88451]=354708;c[88454]=354708;c[88457]=354708;c[88460]=354708;c[88463]=354708;c[88466]=354708;c[88469]=354708;c[88472]=354708;c[88475]=354708;c[88478]=354708;c[88481]=354708;c[88484]=354708;c[88487]=354708;c[88490]=354708;c[88493]=354708;c[88496]=354708;c[88499]=354708;c[88502]=354708;c[88505]=354708;c[88508]=354708;c[88511]=354708;c[88514]=354708;c[88517]=354708;c[88520]=354708;c[88523]=354708;c[88526]=309650;c[88527]=47;c[88528]=409;c[88529]=309670;c[88530]=47;c[88531]=408}if((j+-2|0)>>>0<27){switch(j|0){case 18:{g=18;l=14;break}case 17:{g=17;l=15;break}case 16:{g=16;l=16;break}case 14:case 15:{g=j;l=17;break}case 13:{g=13;l=18;break}case 12:{g=12;l=19;break}case 11:{g=11;l=20;break}case 9:case 10:{g=j;l=21;break}case 8:{g=8;l=22;break}case 7:{g=7;l=23;break}case 6:{g=6;l=24;break}case 5:{g=5;l=25;break}case 3:case 4:{g=j;l=26;break}case 2:{h=2;break}default:{g=j+(e[15888+(d[k+18>>0]<<1)>>1]|0)|0;l=14}}if((l|0)==14){g=g+(e[15888+(d[k+17>>0]<<1)>>1]|0)|0;l=15}if((l|0)==15){g=g+(e[15888+(((a[k+16>>0]|0)+1&255)<<1)>>1]|0)|0;l=16}if((l|0)==16){g=g+(e[15888+(d[k+15>>0]<<1)>>1]|0)|0;l=17}if((l|0)==17){g=g+(e[15888+(d[k+13>>0]<<1)>>1]|0)|0;l=18}if((l|0)==18){g=g+(e[15888+(d[k+12>>0]<<1)>>1]|0)|0;l=19}if((l|0)==19){g=g+(e[15888+(d[k+11>>0]<<1)>>1]|0)|0;l=20}if((l|0)==20){g=g+(e[15888+(d[k+10>>0]<<1)>>1]|0)|0;l=21}if((l|0)==21){g=g+(e[15888+(d[k+8>>0]<<1)>>1]|0)|0;l=22}if((l|0)==22){g=g+(e[15888+(d[k+7>>0]<<1)>>1]|0)|0;l=23}if((l|0)==23){g=g+(e[15888+(d[k+6>>0]<<1)>>1]|0)|0;l=24}if((l|0)==24){g=g+(e[15888+(d[k+5>>0]<<1)>>1]|0)|0;l=25}if((l|0)==25){g=g+(e[15888+(((a[k+4>>0]|0)+1&255)<<1)>>1]|0)|0;l=26}if((l|0)==26)h=g+(e[15888+(d[k+2>>0]<<1)>>1]|0)|0;g=a[k>>0]|0;i=j+-1|0;m=h+(e[15888+((g&255)<<1)>>1]|0)+(e[15888+(d[k+i>>0]<<1)>>1]|0)|0;if(((m>>>0<1864?(o=c[331760+(m*12|0)>>2]|0,g<<24>>24==(a[o>>0]|0)):0)?(wA(k+1|0,o+1|0,i)|0)==0:0)?(a[o+j>>0]|0)==0:0){l=c[331760+(m*12|0)+4>>2]|0;if(l>>>0<42){k=f+4|0;m=a[k+11>>0]|0;j=m<<24>>24<0;m=j?c[f+8>>2]|0:m&255;o=c[f+16>>2]|0;s=c[f+28>>2]|0;r=(c[n>>2]|0)-s+1|0;s=(c[q>>2]|0)-s+1|0;c[p>>2]=j?c[k>>2]|0:k;c[p+4>>2]=m;c[p+8>>2]=o;c[p+12>>2]=(r|0)>1?r:1;c[p+16>>2]=(s|0)>1?s:1;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];ky(b,t,l);aa=u;return}h=f+4|0;k=a[h+11>>0]|0;p=k<<24>>24<0;k=p?c[f+8>>2]|0:k&255;j=c[f+16>>2]|0;g=c[f+28>>2]|0;i=(c[n>>2]|0)-g+1|0;i=(i|0)>1?i:1;g=(c[q>>2]|0)-g+1|0;g=(g|0)>1?g:1;h=p?c[h>>2]|0:h;if((l|0)==111){c[r>>2]=h;c[r+4>>2]=k;c[r+8>>2]=j;c[r+12>>2]=i;c[r+16>>2]=g;s=c[331760+(m*12|0)+8>>2]|0;c[t>>2]=c[r>>2];c[t+4>>2]=c[r+4>>2];c[t+8>>2]=c[r+8>>2];c[t+12>>2]=c[r+12>>2];c[t+16>>2]=c[r+16>>2];ly(b,t,111,s);aa=u;return}else{c[s>>2]=h;c[s+4>>2]=k;c[s+8>>2]=j;c[s+12>>2]=i;c[s+16>>2]=g;r=c[331760+(m*12|0)+8>>2]|0;c[t>>2]=c[s>>2];c[t+4>>2]=c[s+4>>2];c[t+8>>2]=c[s+8>>2];c[t+12>>2]=c[s+12>>2];c[t+16>>2]=c[s+16>>2];ny(b,t,l,r);aa=u;return}}}l=f+4|0;m=a[l+11>>0]|0;k=m<<24>>24<0;m=k?c[f+8>>2]|0:m&255;o=c[f+16>>2]|0;s=c[n>>2]|0;n=c[f+28>>2]|0;f=s-n+1|0;r=c[q>>2]|0;q=r-n+1|0;c[p>>2]=k?c[l>>2]|0:l;c[p+4>>2]=m;c[p+8>>2]=o;c[p+12>>2]=(f|0)>1?f:1;c[p+16>>2]=(q|0)>1?q:1;c[t>>2]=c[p>>2];c[t+4>>2]=c[p+4>>2];c[t+8>>2]=c[p+8>>2];c[t+12>>2]=c[p+12>>2];c[t+16>>2]=c[p+16>>2];my(b,t,108,s,r-s|0);aa=u;return}function _p(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=aa;aa=aa+64|0;o=r+32|0;p=r+12|0;m=r;q=e+36|0;g=c[q>>2]|0;n=c[e+24>>2]|0;j=g;i=j;while(1){h=g>>>0<n>>>0;if(h)k=(d[g>>0]|0)+1|0;else k=0;if(!(a[15616+k>>0]&4))break;if(h){g=g+1|0;c[q>>2]=g;j=g;i=j}k=g>>>0<n>>>0;do if(k){h=a[g>>0]|0;if(h<<24>>24==95){g=g+1|0;c[q>>2]=g;j=g;i=j;break}else{h=(h&255)+1|0;l=11;break}}else{h=0;l=11}while(0);if((l|0)==11){l=0;if(!(a[15616+h>>0]&4)){l=13;break}}}if((l|0)==13){a:do if(k?(a[g>>0]|0)==46:0){h=g+1|0;c[q>>2]=h;j=h;if(h>>>0<n>>>0)g=(d[h>>0]|0)+1|0;else g=0;if(!(a[15616+g>>0]&4)){i=j;k=42}else{i=j;k=j;while(1){g=h>>>0<n>>>0;if(g)j=(d[h>>0]|0)+1|0;else j=0;if(!(a[15616+j>>0]&4))break;if(g){h=h+1|0;c[q>>2]=h;j=h;i=j}else j=k;do if(h>>>0<n>>>0){g=a[h>>0]|0;if(g<<24>>24==95){h=h+1|0;c[q>>2]=h;g=h;i=g;break}else{g=(g&255)+1|0;l=28;break}}else{g=0;l=28}while(0);if((l|0)==28){l=0;if(!(a[15616+g>>0]&4)){k=42;break a}else g=j}k=g}b:while(1){i=h>>>0<n>>>0;if(i)g=d[h>>0]|0;else g=-1;while(1){if(!(a[15616+(g+1)>>0]&1))break b;if(i)break;else g=-1}m=h+1|0;c[q>>2]=m;h=m}n=h;k=e+4|0;f=a[k+11>>0]|0;j=f<<24>>24<0;f=j?c[e+8>>2]|0:f&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;m=q-e+1|0;e=n-e+1|0;c[p>>2]=j?c[k>>2]|0:k;c[p+4>>2]=f;c[p+8>>2]=l;c[p+12>>2]=(m|0)>1?m:1;c[p+16>>2]=(e|0)>1?e:1;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];my(b,o,108,q,n-q|0);aa=r;return}}else{h=g;k=f}while(0);c:do if(h>>>0<n>>>0){switch(a[h>>0]|0){case 80:case 112:break;default:{g=h;h=j;l=k;break c}}g=h+1|0;c[q>>2]=g;d:do if(g>>>0<n>>>0){switch(a[g>>0]|0){case 45:case 43:break;default:break d}g=h+2|0;c[q>>2]=g}while(0);e:do if(g>>>0<n>>>0){while(1){if(((d[g>>0]|0)+-48|0)>>>0>=10)break e;i=g+1|0;c[q>>2]=i;if(i>>>0>=n>>>0)break;h=a[i>>0]|0;if(h<<24>>24!=95)if(((h&255)+-48|0)>>>0<10)g=i;else break;else{g=g+2|0;c[q>>2]=g}if(g>>>0>=n>>>0)break e}h=i;g=i;i=h;l=42;break c}while(0);f:while(1){i=g>>>0<n>>>0;if(i)h=d[g>>0]|0;else h=-1;while(1){if(!(a[15616+(h+1)>>0]&1))break f;if(i)break;else h=-1}m=g+1|0;c[q>>2]=m;g=m}n=g;k=e+4|0;f=a[k+11>>0]|0;j=f<<24>>24<0;f=j?c[e+8>>2]|0:f&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;m=q-e+1|0;e=n-e+1|0;c[p>>2]=j?c[k>>2]|0:k;c[p+4>>2]=f;c[p+8>>2]=l;c[p+12>>2]=(m|0)>1?m:1;c[p+16>>2]=(e|0)>1?e:1;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];my(b,o,108,q,n-q|0);aa=r;return}else{g=h;h=j;l=k}while(0);f=0;while(1){j=g>>>0<n>>>0;if(j)k=d[g>>0]|0;else k=-1;if(!(a[15616+(k+1)>>0]&1))break;if(j){g=g+1|0;c[q>>2]=g;h=g;i=h}f=f+1|0}if(!f)if((l|0)==42){k=e+4|0;f=a[k+11>>0]|0;j=f<<24>>24<0;f=j?c[e+8>>2]|0:f&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;n=q-e+1|0;e=i-e+1|0;c[p>>2]=j?c[k>>2]|0:k;c[p+4>>2]=f;c[p+8>>2]=l;c[p+12>>2]=(n|0)>1?n:1;c[p+16>>2]=(e|0)>1?e:1;c[m>>2]=2;c[m+4>>2]=q;c[m+8>>2]=i-q;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];oy(b,o,42,m);aa=r;return}else{j=e+4|0;k=a[j+11>>0]|0;i=k<<24>>24<0;k=i?c[e+8>>2]|0:k&255;f=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;n=q-e+1|0;e=h-e+1|0;c[p>>2]=i?c[j>>2]|0:j;c[p+4>>2]=k;c[p+8>>2]=f;c[p+12>>2]=(n|0)>1?n:1;c[p+16>>2]=(e|0)>1?e:1;c[m>>2]=0;c[m+4>>2]=q;c[m+8>>2]=h-q;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];oy(b,o,l,m);aa=r;return}}g:while(1){i=g>>>0<n>>>0;if(i)h=d[g>>0]|0;else h=-1;while(1){if(!(a[15616+(h+1)>>0]&1))break g;if(i)break;else h=-1}m=g+1|0;c[q>>2]=m;g=m}n=g;k=e+4|0;f=a[k+11>>0]|0;j=f<<24>>24<0;f=j?c[e+8>>2]|0:f&255;l=c[e+16>>2]|0;q=c[e+32>>2]|0;e=c[e+28>>2]|0;m=q-e+1|0;e=n-e+1|0;c[p>>2]=j?c[k>>2]|0:k;c[p+4>>2]=f;c[p+8>>2]=l;c[p+12>>2]=(m|0)>1?m:1;c[p+16>>2]=(e|0)>1?e:1;c[o>>2]=c[p>>2];c[o+4>>2]=c[p+4>>2];c[o+8>>2]=c[p+8>>2];c[o+12>>2]=c[p+12>>2];c[o+16>>2]=c[p+16>>2];my(b,o,108,q,n-q|0);aa=r;return}function $p(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=aa;aa=aa+48|0;n=p+24|0;o=p;m=p+4|0;l=b+36|0;f=c[l>>2]|0;k=c[b+24>>2]|0;a:do if(f>>>0<k>>>0){e=b+16|0;g=b+28|0;h=1;b:while(1){i=f+1|0;c[l>>2]=i;j=i;switch(a[f>>0]|0){case 10:{c[e>>2]=(c[e>>2]|0)+1;c[g>>2]=j;f=i;break}case 59:{if(i>>>0<k>>>0?(a[i>>0]|0)==41:0){i=f+2|0;c[l>>2]=i;h=h+-1|0;if(!h){e=1;break b}else{f=i;j=i}}else f=i;break}case 40:{if(i>>>0<k>>>0?(a[i>>0]|0)==59:0){j=f+2|0;c[l>>2]=j;f=j;h=h+1|0}else f=i;break}default:f=i}if(f>>>0>=k>>>0){f=j;break a}}aa=p;return e|0}else{g=b+28|0;e=b+16|0}while(0);i=b+4|0;j=a[i+11>>0]|0;h=j<<24>>24<0;j=h?c[b+8>>2]|0:j&255;k=c[e>>2]|0;g=c[g>>2]|0;l=(c[b+32>>2]|0)-g+1|0;b=f-g+1|0;c[m>>2]=h?c[i>>2]|0:i;c[m+4>>2]=j;c[m+8>>2]=k;c[m+12>>2]=(l|0)>1?l:1;c[m+16>>2]=(b|0)>1?b:1;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];c[n+8>>2]=c[m+8>>2];c[n+12>>2]=c[m+12>>2];c[n+16>>2]=c[m+16>>2];aq(d,n,303912,o);o=0;aa=p;return o|0}function aq(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+176|0;k=j+144|0;f=j+128|0;g=j;h=j+164|0;i=j+160|0;c[k>>2]=e;c[f>>2]=c[k>>2];c[h>>2]=g;e=(Vz(g,128,d,k)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[h>>2]=g;Vz(g,e,d,f)|0}e=c[a+8>>2]|0;c[i>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>0){k=Uz(g)|0;c[f>>2]=1;i=f+4|0;c[i>>2]=c[b>>2];c[i+4>>2]=c[b+4>>2];c[i+8>>2]=c[b+8>>2];c[i+12>>2]=c[b+12>>2];c[i+16>>2]=c[b+16>>2];Wn(f+24|0,g,k);c[d>>2]=(c[d>>2]|0)+36;aa=j;return}else{bq(e,i,b,h);aa=j;return}}function bq(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)HB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=_A(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Uz(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];Wn(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)$A(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}$A(e);aa=o;return}function cq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=aa;aa=aa+144|0;p=s+96|0;r=s;l=s+40|0;k=s+76|0;n=s+4|0;o=b+88|0;if((c[o>>2]|0)>>>0>d>>>0){r=b+92|0;r=c[r>>2]|0;d=r+d|0;d=d&1;b=b+16+(d*36|0)+20|0;b=c[b>>2]|0;aa=s;return b|0}q=l+20|0;m=b+12|0;e=b+92|0;j=n+11|0;do{Sp(l,c[b>>2]|0,b);a:do if((c[q>>2]|0)==106){if(!(a[(c[m>>2]|0)+10>>0]|0)){c[k>>2]=c[l>>2];c[k+4>>2]=c[l+4>>2];c[k+8>>2]=c[l+8>>2];c[k+12>>2]=c[l+12>>2];c[k+16>>2]=c[l+16>>2];py(n,l);c[r>>2]=(a[j>>0]|0)<0?c[n>>2]|0:n;c[p>>2]=c[k>>2];c[p+4>>2]=c[k+4>>2];c[p+8>>2]=c[k+8>>2];c[p+12>>2]=c[k+12>>2];c[p+16>>2]=c[k+16>>2];aq(b,p,309726,r);if((a[j>>0]|0)<0)$A(c[n>>2]|0);c[p>>2]=c[l>>2];c[p+4>>2]=c[l+4>>2];c[p+8>>2]=c[l+8>>2];c[p+12>>2]=c[l+12>>2];c[p+16>>2]=c[l+16>>2];ky(n,p,0);g=c[o>>2]|0;c[o>>2]=g+1;g=b+16+(((c[e>>2]|0)+g&1)*36|0)|0;h=n;i=g+36|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));break}f=1;while(1){Sp(p,c[b>>2]|0,b);g=l;h=p;i=g+36|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));switch(c[q>>2]|0){case 106:case 21:{f=f+1|0;break}case 30:{f=f+-1|0;break}default:{}}if((f|0)<=0){f=15;break a}}}else{g=c[o>>2]|0;c[o>>2]=g+1;g=b+16+(((c[e>>2]|0)+g&1)*36|0)|0;h=l;i=g+36|0;do{c[g>>2]=c[h>>2];g=g+4|0;h=h+4|0}while((g|0)<(i|0));f=15}while(0);if((f|0)==15)f=0}while((c[o>>2]|0)>>>0<=d>>>0);r=c[e>>2]|0;d=r+d|0;d=d&1;b=b+16+(d*36|0)+20|0;b=c[b>>2]|0;aa=s;return b|0}function dq(a){a=a|0;switch(a|0){case 92:case 90:case 100:case 50:case 46:case 48:case 47:case 49:case 45:case 83:case 84:case 85:case 101:case 99:case 96:case 98:case 95:case 97:case 65:case 94:case 80:case 79:case 78:case 77:case 63:case 76:case 62:case 60:case 51:case 103:case 61:case 93:case 71:case 69:case 68:case 74:case 73:case 72:case 58:case 57:case 86:case 87:case 88:case 56:case 55:case 54:case 53:case 89:case 64:case 81:case 104:{a=1;break}default:a=0}return a|0}function eq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=aa;aa=aa+96|0;f=m+76|0;k=m;j=m+40|0;e=m+8|0;i=m+28|0;if((cq(b,0)|0)==(d|0)){o=b+92|0;n=b+16+((c[o>>2]&1)*36|0)|0;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;c[n+12>>2]=0;c[n+16>>2]=0;c[n+20>>2]=0;c[o>>2]=c[o>>2]&1^1;o=b+88|0;c[o>>2]=(c[o>>2]|0)+-1;o=0;aa=m;return o|0}h=b+92|0;g=b+16+((c[h>>2]&1)*36|0)|0;l=j;n=g;o=l+36|0;do{c[l>>2]=c[n>>2];l=l+4|0;n=n+4|0}while((l|0)<(o|0));c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[h>>2]=c[h>>2]&1^1;o=b+88|0;c[o>>2]=(c[o>>2]|0)+-1;c[e>>2]=c[j>>2];c[e+4>>2]=c[j+4>>2];c[e+8>>2]=c[j+8>>2];c[e+12>>2]=c[j+12>>2];c[e+16>>2]=c[j+16>>2];qy(i,j);o=i+11|0;l=(a[o>>0]|0)<0?c[i>>2]|0:i;n=jy(d)|0;c[k>>2]=l;c[k+4>>2]=n;c[f>>2]=c[e>>2];c[f+4>>2]=c[e+4>>2];c[f+8>>2]=c[e+8>>2];c[f+12>>2]=c[e+12>>2];c[f+16>>2]=c[e+16>>2];aq(b,f,309754,k);if((a[o>>0]|0)<0)$A(c[i>>2]|0);o=1;aa=m;return o|0}function fq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=aa;aa=aa+112|0;h=u+80|0;q=u;f=u+72|0;o=u+36|0;g=u+4|0;m=u+24|0;j=f+4|0;k=b+92|0;n=b+88|0;p=o+20|0;e=m+11|0;l=0;while(1){t=cq(b,0)|0;c[f>>2]=t;t=cq(b,1)|0;c[j>>2]=t;c[h>>2]=c[f>>2];c[h+4>>2]=c[f+4>>2];if(ea[d&127](h)|0){e=0;f=8;break}i=b+16+((c[k>>2]&1)*36|0)|0;r=o;s=i;t=r+36|0;do{c[r>>2]=c[s>>2];r=r+4|0;s=s+4|0}while((r|0)<(t|0));c[i>>2]=0;c[i+4>>2]=0;c[i+8>>2]=0;c[i+12>>2]=0;c[i+16>>2]=0;c[i+20>>2]=0;c[k>>2]=c[k>>2]&1^1;c[n>>2]=(c[n>>2]|0)+-1;if((c[p>>2]|0)==108?(c[g>>2]=c[o>>2],c[g+4>>2]=c[o+4>>2],c[g+8>>2]=c[o+8>>2],c[g+12>>2]=c[o+12>>2],c[g+16>>2]=c[o+16>>2],qy(m,o),c[q>>2]=(a[e>>0]|0)<0?c[m>>2]|0:m,c[h>>2]=c[g>>2],c[h+4>>2]=c[g+4>>2],c[h+8>>2]=c[g+8>>2],c[h+12>>2]=c[g+12>>2],c[h+16>>2]=c[g+16>>2],aq(b,h,309788,q),(a[e>>0]|0)<0):0)$A(c[m>>2]|0);l=l+1|0;if(l>>>0>=10){e=1;f=8;break}}if((f|0)==8){aa=u;return e|0}return 0}function gq(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=aa;aa=aa+112|0;m=q+88|0;p=q;k=q+52|0;n=q+40|0;l=q+8|0;o=q+28|0;g=b+92|0;f=b+16+((c[g>>2]&1)*36|0)|0;h=k;i=f;j=h+36|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[g>>2]=c[g>>2]&1^1;g=b+88|0;c[g>>2]=(c[g>>2]|0)+-1;c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;g=d+4|0;if((c[d>>2]|0)!=(c[g>>2]|0)){qB(n,330878)|0;f=(c[g>>2]|0)-(c[d>>2]|0)|0;if(f|0){h=0;f=(f|0)/12|0;do{do if(h|0)if((h|0)==(f+-1|0)){vB(n,309832)|0;break}else{vB(n,330984)|0;break}while(0);j=c[d>>2]|0;r=j+(h*12|0)|0;f=a[r+11>>0]|0;i=f<<24>>24<0;uB(n,i?c[r>>2]|0:r,i?c[j+(h*12|0)+4>>2]|0:f&255)|0;h=h+1|0;f=((c[g>>2]|0)-(c[d>>2]|0)|0)/12|0}while(h>>>0<f>>>0)}if(e|0){vB(n,309837)|0;vB(n,e)|0;vB(n,330336)|0}};c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];c[l+8>>2]=c[k+8>>2];c[l+12>>2]=c[k+12>>2];c[l+16>>2]=c[k+16>>2];qy(o,k);r=o+11|0;f=n+11|0;k=(a[f>>0]|0)<0?c[n>>2]|0:n;c[p>>2]=(a[r>>0]|0)<0?c[o>>2]|0:o;c[p+4>>2]=k;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[m+16>>2]=c[l+16>>2];aq(b,m,309845,p);if((a[r>>0]|0)<0)$A(c[o>>2]|0);if((a[f>>0]|0)>=0){aa=q;return}$A(c[n>>2]|0);aa=q;return}function hq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=aa;aa=aa+96|0;m=n+52|0;h=n+8|0;l=n+16|0;g=n;if((cq(b,0)|0)==44){f=b+92|0;e=b+16+((c[f>>2]&1)*36|0)|0;i=l;j=e;k=i+36|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[f>>2]=c[f>>2]&1^1;e=b+88|0;c[e>>2]=(c[e>>2]|0)+-1;e=c[l+28>>2]|0;f=c[l+32>>2]|0;k=g;c[k>>2]=-1;c[k+4>>2]=0;if((om(e,e+f|0,g)|0)==1){c[h>>2]=f;c[h+4>>2]=e;c[m>>2]=c[l>>2];c[m+4>>2]=c[l+4>>2];c[m+8>>2]=c[l+8>>2];c[m+12>>2]=c[l+12>>2];c[m+16>>2]=c[l+16>>2];aq(b,m,309870,h)}El(m,c[g>>2]|0,l);Hl(d,m)|0;Ml(m);m=0;aa=n;return m|0}if((cq(b,0)|0)==110){f=b+92|0;e=b+16+((c[f>>2]&1)*36|0)|0;i=m;j=e;k=i+36|0;do{c[i>>2]=c[j>>2];i=i+4|0;j=j+4|0}while((i|0)<(k|0));c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[f>>2]=c[f>>2]&1^1;b=b+88|0;c[b>>2]=(c[b>>2]|0)+-1;Fl(l,c[m+24>>2]|0,c[m+28>>2]|0,m);Hl(d,l)|0;Ml(l);m=0;aa=n;return m|0}h=_A(16)|0;c[l>>2]=h;c[l+8>>2]=-2147483632;c[l+4>>2]=15;i=h;j=309889;k=i+15|0;do{a[i>>0]=a[j>>0]|0;i=i+1|0;j=j+1|0}while((i|0)<(k|0));a[h+15>>0]=0;k=l+12|0;c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0;a[k+11>>0]=6;a[k>>0]=a[309905]|0;a[k+1>>0]=a[309906]|0;a[k+2>>0]=a[309907]|0;a[k+3>>0]=a[309908]|0;a[k+4>>0]=a[309909]|0;a[k+5>>0]=a[309910]|0;a[k+6>>0]=0;f=m+4|0;g=_A(24)|0;c[m>>2]=g;d=g+24|0;c[m+8>>2]=d;cB(g,l);e=g+12|0;cB(e,k);c[f>>2]=d;gq(b,m,309912);if((a[g+23>>0]|0)<0)$A(c[e>>2]|0);if((a[g+11>>0]|0)<0)$A(c[g>>2]|0);c[f>>2]=g;$A(g);$A(h);m=1;aa=n;return m|0}function iq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+32|0;h=j+12|0;i=j;if(jq(b,d)|0){b=0;aa=j;return b|0}g=_A(16)|0;c[i>>2]=g;c[i+8>>2]=-2147483632;c[i+4>>2]=14;d=g;e=309923;f=d+14|0;do{a[d>>0]=a[e>>0]|0;d=d+1|0;e=e+1|0}while((d|0)<(f|0));a[g+14>>0]=0;d=h+4|0;e=_A(12)|0;c[h>>2]=e;f=e+12|0;c[h+8>>2]=f;cB(e,i);c[d>>2]=f;gq(b,h,309938);if((a[e+11>>0]|0)<0)$A(c[e>>2]|0);c[d>>2]=e;$A(e);$A(g);b=1;aa=j;return b|0}function jq(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;if((cq(a,0)|0)==21?(cq(a,1)|0)==25:0){e=a+92|0;f=a+16+((c[e>>2]&1)*36|0)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;f=c[e>>2]&1^1;c[e>>2]=f;d=a+88|0;c[d>>2]=(c[d>>2]|0)+-1;f=a+16+(f*36|0)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[e>>2]=c[e>>2]&1^1;c[d>>2]=(c[d>>2]|0)+-1;if((kq(a,b)|0)==1){f=1;return f|0}eq(a,30)|0;f=1;return f|0}f=cq(a,0)|0;d=cq(a,1)|0;if((f|0)!=21){f=0;return f|0}a:do if(!(dq(d)|0)){switch(d|0){case 102:case 70:case 75:case 52:break a;default:d=0}return d|0}while(0);lq(a,b)|0;f=1;return f|0}function kq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+64|0;g=l+24|0;k=l+12|0;e=l;i=rq(b,d)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+11>>0]=8;h=e;c[h>>2]=1763733089;c[h+4>>2]=1920234350;a[e+8>>0]=0;h=k+4|0;j=_A(12)|0;c[k>>2]=j;f=j+12|0;c[k+8>>2]=f;cB(j,e);c[h>>2]=f;if((cq(b,0)|0)==21){d=b+92|0;e=b+16+((c[d>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[d>>2]=c[d>>2]&1^1;e=b+88|0;f=(c[e>>2]|0)+-1|0;c[e>>2]=f;if(!f){Sp(g,c[b>>2]|0,b);f=c[e>>2]|0;c[e>>2]=f+1;f=b+16+(((c[d>>2]|0)+f&1)*36|0)|0;d=g;e=f+36|0;do{c[f>>2]=c[d>>2];f=f+4|0;d=d+4|0}while((f|0)<(e|0))}gq(b,k,0);d=1}else d=0;if((a[j+11>>0]|0)>=0){c[h>>2]=j;$A(j);b=d?1:i;aa=l;return b|0}$A(c[j>>2]|0);c[h>>2]=j;$A(j);b=d?1:i;aa=l;return b|0}function lq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0;D=aa;aa=aa+96|0;C=D+60|0;h=D+24|0;m=D+40|0;B=D;g=D+28|0;if((cq(b,0)|0)!=21){aa=D;return 1}if(dq(cq(b,1)|0)|0){e=b+92|0;f=b+16+((c[e>>2]&1)*36|0)|0;c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;c[f+12>>2]=0;c[f+16>>2]=0;c[f+20>>2]=0;c[e>>2]=c[e>>2]&1^1;f=b+88|0;c[f>>2]=(c[f>>2]|0)+-1;c[m>>2]=0;if((mq(b,m)|0)==1){e=c[m>>2]|0;c[m>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=D;return 1}if((nq(b,d)|0)==1){e=c[m>>2]|0;c[m>>2]=0;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);aa=D;return 1}c[g+8>>2]=117440512;a[g>>0]=a[309954]|0;a[g+1>>0]=a[309955]|0;a[g+2>>0]=a[309956]|0;a[g+3>>0]=a[309957]|0;a[g+4>>0]=a[309958]|0;a[g+5>>0]=a[309959]|0;a[g+6>>0]=a[309960]|0;a[g+7>>0]=0;h=B+4|0;i=_A(12)|0;c[B>>2]=i;A=i+12|0;c[B+8>>2]=A;cB(i,g);c[h>>2]=A;if((cq(b,0)|0)==21){A=b+16+((c[e>>2]&1)*36|0)|0;c[A>>2]=0;c[A+4>>2]=0;c[A+8>>2]=0;c[A+12>>2]=0;c[A+16>>2]=0;c[A+20>>2]=0;c[e>>2]=c[e>>2]&1^1;A=(c[f>>2]|0)+-1|0;c[f>>2]=A;if(!A){Sp(C,c[b>>2]|0,b);k=c[f>>2]|0;c[f>>2]=k+1;k=b+16+(((c[e>>2]|0)+k&1)*36|0)|0;j=C;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0))}gq(b,B,0);e=1}else e=0;if((a[i+11>>0]|0)<0)$A(c[i>>2]|0);c[h>>2]=i;$A(i);g=c[m>>2]|0;c[m>>2]=0;if(e){if(g|0)ma[c[(c[g>>2]|0)+4>>2]&255](g);aa=D;return 1}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[g+8>>2]=e;e=e+4|0}c[e>>2]=g;c[f>>2]=g;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;b=eq(b,30)|0;b=(b|0)==1;b=b&1;aa=D;return b|0}A=b+88|0;if(!(c[A>>2]|0)){Sp(C,c[b>>2]|0,b);k=c[A>>2]|0;c[A>>2]=k+1;e=b+92|0;k=b+16+(((c[e>>2]|0)+k&1)*36|0)|0;j=C;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0))}else e=b+92|0;y=b+16+((c[e>>2]&1)*36|0)|0;c[m>>2]=c[y>>2];c[m+4>>2]=c[y+4>>2];c[m+8>>2]=c[y+8>>2];c[m+12>>2]=c[y+12>>2];c[m+16>>2]=c[y+16>>2];a:do switch(cq(b,1)|0){case 52:{g=b+92|0;h=b+16+((c[g>>2]&1)*36|0)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;h=c[g>>2]&1^1;c[g>>2]=h;c[A>>2]=(c[A>>2]|0)+-1;h=b+16+(h*36|0)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;g=_A(144)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[g+32>>2]=7;c[g>>2]=288732;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;El(g+52|0,-1,C);k=g+88|0;l=k+56|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));oq(b,e);if((pq(b,e)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;z=126;break}case 75:{g=b+92|0;h=b+16+((c[g>>2]&1)*36|0)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;h=c[g>>2]&1^1;c[g>>2]=h;c[A>>2]=(c[A>>2]|0)+-1;h=b+16+(h*36|0)|0;c[h>>2]=0;c[h+4>>2]=0;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;c[h+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;g=_A(144)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[g+32>>2]=25;c[g>>2]=288476;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;El(g+52|0,-1,C);k=g+88|0;l=k+56|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));oq(b,e);if((pq(b,e)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;z=126;break}case 70:{w=b+92|0;g=b+16+((c[w>>2]&1)*36|0)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;g=c[w>>2]&1^1;c[w>>2]=g;c[A>>2]=(c[A>>2]|0)+-1;g=b+16+(g*36|0)|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;c[g+16>>2]=0;c[g+20>>2]=0;c[w>>2]=c[w>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;g=_A(176)|0;c[g+4>>2]=0;y=g+8|0;c[y>>2]=0;e=g+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[g+32>>2]=20;c[g>>2]=288556;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;El(g+52|0,-1,C);k=g+88|0;l=k+88|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));oq(b,e);b:do if((qq(b,g+48|0)|0)!=1){v=cq(b,0)|0;e=cq(b,1)|0;c:do if((v|0)==21){if(!(dq(e)|0))switch(e|0){case 102:case 70:case 75:case 52:break;default:break c}c[C>>2]=0;t=C+4|0;c[t>>2]=0;v=C+8|0;c[v>>2]=0;if((lq(b,C)|0)!=1){h=c[C>>2]|0;f=h;if(!h){e=f;f=0}else{s=d+4|0;u=d+8|0;r=c[s>>2]|0;e=f;k=f;n=c[t>>2]|0;q=c[v>>2]|0;p=c[u>>2]|0;while(1){o=r;r=h;h=c[r+4>>2]|0;do if((k|0)!=(n|0)){f=r+8|0;m=c[f>>2]|0;i=r+4|0;l=m;if(!m){j=h;c[C>>2]=h;e=j;k=j}else{c[m+4>>2]=h;j=c[i>>2]|0}if(!j){c[t>>2]=l;j=m;break}else{c[j+8>>2]=l;j=n;break}}else{c[t>>2]=0;c[C>>2]=0;e=0;k=0;j=0;i=r+4|0;f=r+8|0}while(0);c[f>>2]=0;c[i>>2]=0;q=q+-1|0;if(!o)f=d;else{c[r+8>>2]=o;f=o+4|0}c[f>>2]=r;p=p+1|0;if(!h)break;else n=j}c[v>>2]=q;c[s>>2]=r;c[u>>2]=p;f=0}}else{e=c[C>>2]|0;f=1}if(e|0)do{v=e;e=c[e+4>>2]|0;ma[c[(c[v>>2]|0)+4>>2]&255](v)}while((e|0)!=0);if(f|0)break b}while(0);if((cq(b,0)|0)==21?(cq(b,1)|0)==34:0){B=b+16+((c[w>>2]&1)*36|0)|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;B=c[w>>2]&1^1;c[w>>2]=B;c[A>>2]=(c[A>>2]|0)+-1;B=b+16+(B*36|0)|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[w>>2]=c[w>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;if((kq(b,g+112|0)|0)==1)break;if(!(c[A>>2]|0)){Sp(C,c[b>>2]|0,b);k=c[A>>2]|0;c[A>>2]=k+1;k=b+16+(((c[w>>2]|0)+k&1)*36|0)|0;j=C;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0))}v=b+16+((c[w>>2]&1)*36|0)|0;B=g+124|0;c[B>>2]=c[v>>2];c[B+4>>2]=c[v+4>>2];c[B+8>>2]=c[v+8>>2];c[B+12>>2]=c[v+12>>2];c[B+16>>2]=c[v+16>>2];if((eq(b,30)|0)==1)break;if((cq(b,0)|0)==21?(cq(b,1)|0)==66:0){B=b+16+((c[w>>2]&1)*36|0)|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;B=c[w>>2]&1^1;c[w>>2]=B;c[A>>2]=(c[A>>2]|0)+-1;B=b+16+(B*36|0)|0;c[B>>2]=0;c[B+4>>2]=0;c[B+8>>2]=0;c[B+12>>2]=0;c[B+16>>2]=0;c[B+20>>2]=0;c[w>>2]=c[w>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;if((kq(b,g+144|0)|0)==1)break;if((eq(b,30)|0)==1)break}else z=75;d:do if((z|0)==75?(B=cq(b,0)|0,x=cq(b,1)|0,(B|0)==21):0){if(!(dq(x)|0))switch(x|0){case 102:case 70:case 75:case 52:break;default:break d}if((lq(b,g+144|0)|0)==1)break b}while(0);if(!(c[A>>2]|0)){Sp(C,c[b>>2]|0,b);k=c[A>>2]|0;c[A>>2]=k+1;k=b+16+(((c[w>>2]|0)+k&1)*36|0)|0;j=C;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0))}B=b+16+((c[w>>2]&1)*36|0)|0;C=g+156|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];c[C+16>>2]=c[B+16>>2]}else z=82;e:do if((z|0)==82){z=cq(b,0)|0;e=cq(b,1)|0;f:do if((z|0)==21){if(!(dq(e)|0))switch(e|0){case 102:case 70:case 75:case 52:break;default:break f}if((lq(b,g+112|0)|0)==1)break b;if(!(c[A>>2]|0)){Sp(C,c[b>>2]|0,b);k=c[A>>2]|0;c[A>>2]=k+1;k=b+16+(((c[w>>2]|0)+k&1)*36|0)|0;j=C;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0))}e=b+16+((c[w>>2]&1)*36|0)|0;B=g+124|0;c[B>>2]=c[e>>2];c[B+4>>2]=c[e+4>>2];c[B+8>>2]=c[e+8>>2];c[B+12>>2]=c[e+12>>2];c[B+16>>2]=c[e+16>>2];B=cq(b,0)|0;e=cq(b,1)|0;if((B|0)!=21)break e;if(!(dq(e)|0))switch(e|0){case 102:case 70:case 75:case 52:break;default:break e}if((lq(b,g+144|0)|0)==1)break b;if(!(c[A>>2]|0)){Sp(C,c[b>>2]|0,b);k=c[A>>2]|0;c[A>>2]=k+1;k=b+16+(((c[w>>2]|0)+k&1)*36|0)|0;j=C;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0))}B=b+16+((c[w>>2]&1)*36|0)|0;C=g+156|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];c[C+16>>2]=c[B+16>>2];break e}while(0);if((cq(b,0)|0)==21){d=b+16+((c[w>>2]&1)*36|0)|0;c[d>>2]=0;c[d+4>>2]=0;c[d+8>>2]=0;c[d+12>>2]=0;c[d+16>>2]=0;c[d+20>>2]=0;c[w>>2]=c[w>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1}a[B+11>>0]=10;k=B;j=309962;l=k+10|0;do{a[k>>0]=a[j>>0]|0;k=k+1|0;j=j+1|0}while((k|0)<(l|0));a[B+10>>0]=0;e=C+4|0;f=_A(12)|0;c[C>>2]=f;d=f+12|0;c[C+8>>2]=d;cB(f,B);c[e>>2]=d;gq(b,C,309973);if((a[f+11>>0]|0)<0)$A(c[f>>2]|0);c[e>>2]=f;$A(f);break b}while(0);f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[y>>2]=e;e=e+4|0}c[e>>2]=g;e=f;z=126;break a}while(0);ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break}case 102:{f=b+92|0;e=b+16+((c[f>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;e=c[f>>2]&1^1;c[f>>2]=e;c[A>>2]=(c[A>>2]|0)+-1;z=b+16+(e*36|0)|0;c[B>>2]=c[z>>2];c[B+4>>2]=c[z+4>>2];c[B+8>>2]=c[z+8>>2];c[B+12>>2]=c[z+12>>2];c[B+16>>2]=c[z+16>>2];c[B+20>>2]=c[z+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[z>>2]=0;c[z+4>>2]=0;c[z+8>>2]=0;c[z+12>>2]=0;c[z+16>>2]=0;c[z+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[A>>2]=(c[A>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(C,e);c[h>>2]=c[C>>2];c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];c[C+16>>2]=c[B+16>>2];aq(b,C,309809,h)}g=_A(156)|0;c[g+4>>2]=0;h=g+8|0;c[h>>2]=0;e=g+12|0;c[e>>2]=c[m>>2];c[e+4>>2]=c[m+4>>2];c[e+8>>2]=c[m+8>>2];c[e+12>>2]=c[m+12>>2];c[e+16>>2]=c[m+16>>2];c[g+32>>2]=53;c[g>>2]=288092;e=g+36|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;a[e+12>>0]=0;c[C>>2]=0;c[C+4>>2]=0;c[C+8>>2]=0;c[C+12>>2]=0;c[C+16>>2]=0;El(g+52|0,-1,C);k=g+88|0;l=k+68|0;do{c[k>>2]=0;k=k+4|0}while((k|0)<(l|0));oq(b,e);if((qq(b,g+48|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}if((rq(b,g+112|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}if(!(c[A>>2]|0)){Sp(C,c[b>>2]|0,b);k=c[A>>2]|0;c[A>>2]=k+1;k=b+16+(((c[f>>2]|0)+k&1)*36|0)|0;j=C;l=k+36|0;do{c[k>>2]=c[j>>2];k=k+4|0;j=j+4|0}while((k|0)<(l|0))}B=b+16+((c[f>>2]&1)*36|0)|0;C=g+124|0;c[C>>2]=c[B>>2];c[C+4>>2]=c[B+4>>2];c[C+8>>2]=c[B+8>>2];c[C+12>>2]=c[B+12>>2];c[C+16>>2]=c[B+16>>2];if((eq(b,21)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}if((eq(b,59)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}if((kq(b,g+144|0)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}if((eq(b,30)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);z=125;break a}f=d+4|0;e=c[f>>2]|0;if(!e)e=d;else{c[h>>2]=e;e=e+4|0}c[e>>2]=g;e=f;z=126;break}default:z=125}while(0);if((z|0)==125){aa=D;return 1}else if((z|0)==126){c[e>>2]=g;d=d+8|0;c[d>>2]=(c[d>>2]|0)+1;b=eq(b,30)|0;b=(b|0)==1;b=b&1;aa=D;return b|0}return 0}function mq(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0;W=aa;aa=aa+480|0;V=W+336|0;O=W+328|0;N=W+320|0;H=W+312|0;G=W+304|0;F=W+296|0;E=W+288|0;D=W+280|0;B=W+272|0;A=W+264|0;z=W+256|0;y=W+248|0;x=W+240|0;w=W+232|0;v=W+224|0;u=W+216|0;t=W+208|0;s=W+200|0;q=W+192|0;p=W+184|0;o=W+176|0;n=W+168|0;m=W+160|0;l=W+152|0;k=W+144|0;j=W+136|0;i=W+128|0;h=W+120|0;C=W+112|0;r=W+104|0;g=W+96|0;f=W+88|0;S=W+48|0;R=W;U=W+384|0;I=W+440|0;J=W+404|0;Q=W+24|0;P=W+372|0;T=b+88|0;if(!(c[T>>2]|0)){Sp(V,c[b>>2]|0,b);K=c[T>>2]|0;c[T>>2]=K+1;e=b+92|0;K=b+16+(((c[e>>2]|0)+K&1)*36|0)|0;L=V;M=K+36|0;do{c[K>>2]=c[L>>2];K=K+4|0;L=L+4|0}while((K|0)<(M|0))}else e=b+92|0;M=b+16+((c[e>>2]&1)*36|0)|0;c[U>>2]=c[M>>2];c[U+4>>2]=c[M+4>>2];c[U+8>>2]=c[M+8>>2];c[U+12>>2]=c[M+12>>2];c[U+16>>2]=c[M+16>>2];do switch(cq(b,0)|0){case 104:{V=b+92|0;e=b+16+((c[V>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[V>>2]=c[V>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=55;c[V>>2]=288044;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 81:{V=b+92|0;e=b+16+((c[V>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[V>>2]=c[V>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=32;c[V>>2]=288220;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 64:{V=b+92|0;e=b+16+((c[V>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[V>>2]=c[V>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=17;c[V>>2]=288588;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 89:{V=b+92|0;e=b+16+((c[V>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[V>>2]=c[V>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=39;c[V>>2]=288140;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 53:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=8;c[b>>2]=288716;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 54:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=9;c[b>>2]=288700;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 55:{f=b+92|0;e=b+16+((c[f>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[f>>2]=c[f>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;f=_A(108)|0;c[f+4>>2]=0;c[f+8>>2]=0;e=f+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[f+32>>2]=10;c[f>>2]=288684;U=f+36|0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(U,-1,V);e=f+72|0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(e,-1,V);if((hq(b,U)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);d=1;aa=W;return d|0}if((hq(b,e)|0)==1){ma[c[(c[f>>2]|0)+4>>2]&255](f);d=1;aa=W;return d|0}e=c[d>>2]|0;c[d>>2]=f;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 56:{g=b+92|0;e=b+16+((c[g>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;g=_A(84)|0;c[g+4>>2]=0;c[g+8>>2]=0;e=g+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[g+32>>2]=11;c[g>>2]=288668;U=g+36|0;c[U>>2]=0;e=g+40|0;c[e>>2]=0;c[g+44>>2]=0;f=g+48|0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(f,-1,V);if((Aq(b,U)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);d=1;aa=W;return d|0}Jl(f,(c[e>>2]|0)+-36|0)|0;V=(c[e>>2]|0)+-36|0;Ml(V);c[e>>2]=V;e=c[d>>2]|0;c[d>>2]=g;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 88:{V=b+92|0;e=b+16+((c[V>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[V>>2]=c[V>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=36;c[V>>2]=288188;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 57:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=12;c[b>>2]=288652;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 58:{g=b+92|0;e=b+16+((c[g>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[g>>2]=c[g>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;g=_A(136)|0;c[g+4>>2]=0;c[g+8>>2]=0;e=g+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[g+32>>2]=13;c[g>>2]=288636;U=g+36|0;a[U>>0]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(g+40|0,-1,V);e=g+76|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;f=g+100|0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(f,-1,V);if((wq(b,U)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);d=1;aa=W;return d|0}if((xq(b,26,e)|0)!=1?(xq(b,29,g+88|0)|0)!=1:0){c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(I,0,V);if((cq(b,0)|0)!=44?(cq(b,0)|0)!=110:0)Jl(f,I)|0;else hq(b,f)|0;Ml(I);e=c[d>>2]|0;c[d>>2]=g;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}ma[c[(c[g>>2]|0)+4>>2]&255](g);d=1;aa=W;return d|0}case 87:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[f>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,f)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=37;c[b>>2]=288172;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 86:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[g>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,g)}g=_A(136)|0;c[g+4>>2]=0;c[g+8>>2]=0;e=g+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[g+32>>2]=38;c[g>>2]=288156;U=g+36|0;a[U>>0]=0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(g+40|0,-1,V);e=g+76|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;f=g+100|0;c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(f,-1,V);if((wq(b,U)|0)==1){ma[c[(c[g>>2]|0)+4>>2]&255](g);d=1;aa=W;return d|0}if((xq(b,26,e)|0)!=1?(xq(b,29,g+88|0)|0)!=1:0){c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;El(J,0,V);if((cq(b,0)|0)!=44?(cq(b,0)|0)!=110:0)Jl(f,J)|0;else hq(b,f)|0;Ml(J);e=c[d>>2]|0;c[d>>2]=g;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}ma[c[(c[g>>2]|0)+4>>2]&255](g);d=1;aa=W;return d|0}case 72:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=22;c[b>>2]=288524;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 73:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=23;c[b>>2]=288508;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 74:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=24;c[b>>2]=288492;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 68:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=18;c[b>>2]=287932;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 69:{Q=b+92|0;P=b+16+((c[Q>>2]&1)*36|0)|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=19;c[b>>2]=288572;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 71:{e=b+92|0;Q=c[e>>2]&1;P=b+16+(Q*36|0)|0;Q=c[b+16+(Q*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[e>>2]=c[e>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;e=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;V=b+12|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[b+32>>2]=21;c[b>>2]=288540;c[b+36>>2]=Q;c[b+40>>2]=U;c[b+44>>2]=e;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 93:{e=b+92|0;Q=c[e>>2]&1;P=b+16+(Q*36|0)|0;Q=c[b+16+(Q*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[e>>2]=c[e>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;e=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;V=b+12|0;c[V>>2]=c[R>>2];c[V+4>>2]=c[R+4>>2];c[V+8>>2]=c[R+8>>2];c[V+12>>2]=c[R+12>>2];c[V+16>>2]=c[R+16>>2];c[b+32>>2]=43;c[b>>2]=288124;c[b+36>>2]=Q;c[b+40>>2]=U;c[b+44>>2]=e;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 61:{c[V>>2]=0;c[V+4>>2]=0;c[V+8>>2]=0;c[V+12>>2]=0;c[V+16>>2]=0;Nl(S,0,V);if((Dq(b,S)|0)==1){d=1;aa=W;return d|0}f=_A(80)|0;c[f+4>>2]=0;c[f+8>>2]=0;K=f+12|0;c[K>>2]=c[U>>2];c[K+4>>2]=c[U+4>>2];c[K+8>>2]=c[U+8>>2];c[K+12>>2]=c[U+12>>2];c[K+16>>2]=c[U+16>>2];c[f+32>>2]=15;c[f>>2]=287916;K=f+40|0;L=S;M=K+40|0;do{c[K>>2]=c[L>>2];K=K+4|0;L=L+4|0}while((K|0)<(M|0));e=c[d>>2]|0;c[d>>2]=f;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 103:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[r>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,r)}V=_A(40)|0;c[V+4>>2]=0;c[V+8>>2]=0;b=V+12|0;c[b>>2]=c[U>>2];c[b+4>>2]=c[U+4>>2];c[b+8>>2]=c[U+8>>2];c[b+12>>2]=c[U+12>>2];c[b+16>>2]=c[U+16>>2];c[V+32>>2]=54;c[V>>2]=288076;c[V+36>>2]=e;e=c[d>>2]|0;c[d>>2]=V;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 51:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[C>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,C)}V=_A(40)|0;c[V+4>>2]=0;c[V+8>>2]=0;b=V+12|0;c[b>>2]=c[U>>2];c[b+4>>2]=c[U+4>>2];c[b+8>>2]=c[U+8>>2];c[b+12>>2]=c[U+12>>2];c[b+16>>2]=c[U+16>>2];c[V+32>>2]=6;c[V>>2]=288748;c[V+36>>2]=e;e=c[d>>2]|0;c[d>>2]=V;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 60:{V=_A(40)|0;S=b+92|0;e=c[S>>2]&1;R=b+16+(e*36|0)|0;e=c[b+16+(e*36|0)+24>>2]|0;c[R>>2]=0;c[R+4>>2]=0;c[R+8>>2]=0;c[R+12>>2]=0;c[R+16>>2]=0;c[R+20>>2]=0;c[S>>2]=c[S>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[V+4>>2]=0;c[V+8>>2]=0;b=V+12|0;c[b>>2]=c[U>>2];c[b+4>>2]=c[U+4>>2];c[b+8>>2]=c[U+8>>2];c[b+12>>2]=c[U+12>>2];c[b+16>>2]=c[U+16>>2];c[V+32>>2]=14;c[V>>2]=288620;c[V+36>>2]=e;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 62:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[h>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,h)}V=_A(40)|0;c[V+4>>2]=0;c[V+8>>2]=0;b=V+12|0;c[b>>2]=c[U>>2];c[b+4>>2]=c[U+4>>2];c[b+8>>2]=c[U+8>>2];c[b+12>>2]=c[U+12>>2];c[b+16>>2]=c[U+16>>2];c[V+32>>2]=16;c[V>>2]=288604;c[V+36>>2]=e;e=c[d>>2]|0;c[d>>2]=V;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 76:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[i>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,i)}V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=26;c[V>>2]=288460;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 77:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[j>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,j)}V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=28;c[V>>2]=288428;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 63:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[k>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,k)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=27;c[b>>2]=288444;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 79:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[l>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,l)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=30;c[b>>2]=288396;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 80:{V=b+92|0;e=b+16+((c[V>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[V>>2]=c[V>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=31;c[V>>2]=288380;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 78:{V=b+92|0;e=b+16+((c[V>>2]&1)*36|0)|0;c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;c[e+12>>2]=0;c[e+16>>2]=0;c[e+20>>2]=0;c[V>>2]=c[V>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=29;c[V>>2]=288412;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 94:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[m>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,m)}V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=44;c[V>>2]=288364;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 65:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[n>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,n)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=45;c[b>>2]=288348;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 97:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[o>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,o)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=46;c[b>>2]=288332;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 95:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[p>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,p)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=47;c[b>>2]=288316;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 98:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[q>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,q)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=50;c[b>>2]=288300;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 96:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[s>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,s)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=48;c[b>>2]=288284;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 99:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[t>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,t)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=49;c[b>>2]=288268;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 84:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[u>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,u)}V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=34;c[V>>2]=288252;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 83:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[v>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,v)}V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=33;c[V>>2]=288236;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 101:{Q=b+92|0;e=c[Q>>2]&1;P=b+16+(e*36|0)|0;c[S>>2]=c[P>>2];c[S+4>>2]=c[P+4>>2];c[S+8>>2]=c[P+8>>2];c[S+12>>2]=c[P+12>>2];c[S+16>>2]=c[P+16>>2];c[S+20>>2]=c[P+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[P>>2]=0;c[P+4>>2]=0;c[P+8>>2]=0;c[P+12>>2]=0;c[P+16>>2]=0;c[P+20>>2]=0;c[Q>>2]=c[Q>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[w>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,w)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;El(V,-1,S);if((hq(b,V)|0)==1){Ml(V);d=1;aa=W;return d|0}b=_A(72)|0;c[b+4>>2]=0;c[b+8>>2]=0;e=b+12|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];c[e+16>>2]=c[R+16>>2];c[b+32>>2]=52;c[b>>2]=288108;Il(b+36|0,V);e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);Ml(V);d=0;aa=W;return d|0}case 85:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[x>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,x)}V=_A(36)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=35;c[V>>2]=288204;e=c[d>>2]|0;c[d>>2]=V;if(!e){d=0;aa=W;return d|0}ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 46:{P=b+92|0;e=c[P>>2]&1;O=b+16+(e*36|0)|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=c[O+4>>2];c[Q+8>>2]=c[O+8>>2];c[Q+12>>2]=c[O+12>>2];c[Q+16>>2]=c[O+16>>2];c[Q+20>>2]=c[O+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[P>>2]=c[P>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[y>>2]=c[V>>2];c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,309809,y)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;V=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;T=b+12|0;c[T>>2]=c[R>>2];c[T+4>>2]=c[R+4>>2];c[T+8>>2]=c[R+8>>2];c[T+12>>2]=c[R+12>>2];c[T+16>>2]=c[R+16>>2];c[b+32>>2]=4;c[b>>2]=288764;c[b+36>>2]=e;c[b+40>>2]=U;c[b+44>>2]=V;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 50:{P=b+92|0;e=c[P>>2]&1;O=b+16+(e*36|0)|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=c[O+4>>2];c[Q+8>>2]=c[O+8>>2];c[Q+12>>2]=c[O+12>>2];c[Q+16>>2]=c[O+16>>2];c[Q+20>>2]=c[O+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[P>>2]=c[P>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[z>>2]=c[V>>2];c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,309809,z)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;V=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;T=b+12|0;c[T>>2]=c[R>>2];c[T+4>>2]=c[R+4>>2];c[T+8>>2]=c[R+8>>2];c[T+12>>2]=c[R+12>>2];c[T+16>>2]=c[R+16>>2];c[b+32>>2]=5;c[b>>2]=288780;c[b+36>>2]=e;c[b+40>>2]=U;c[b+44>>2]=V;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 45:{P=b+92|0;e=c[P>>2]&1;O=b+16+(e*36|0)|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=c[O+4>>2];c[Q+8>>2]=c[O+8>>2];c[Q+12>>2]=c[O+12>>2];c[Q+16>>2]=c[O+16>>2];c[Q+20>>2]=c[O+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[P>>2]=c[P>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[A>>2]=c[V>>2];c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,309809,A)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;V=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;T=b+12|0;c[T>>2]=c[R>>2];c[T+4>>2]=c[R+4>>2];c[T+8>>2]=c[R+8>>2];c[T+12>>2]=c[R+12>>2];c[T+16>>2]=c[R+16>>2];c[b+32>>2]=0;c[b>>2]=288844;c[b+36>>2]=e;c[b+40>>2]=U;c[b+44>>2]=V;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 49:{P=b+92|0;e=c[P>>2]&1;O=b+16+(e*36|0)|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=c[O+4>>2];c[Q+8>>2]=c[O+8>>2];c[Q+12>>2]=c[O+12>>2];c[Q+16>>2]=c[O+16>>2];c[Q+20>>2]=c[O+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[P>>2]=c[P>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[B>>2]=c[V>>2];c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,309809,B)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;V=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;T=b+12|0;c[T>>2]=c[R>>2];c[T+4>>2]=c[R+4>>2];c[T+8>>2]=c[R+8>>2];c[T+12>>2]=c[R+12>>2];c[T+16>>2]=c[R+16>>2];c[b+32>>2]=3;c[b>>2]=288828;c[b+36>>2]=e;c[b+40>>2]=U;c[b+44>>2]=V;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 47:{P=b+92|0;e=c[P>>2]&1;O=b+16+(e*36|0)|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=c[O+4>>2];c[Q+8>>2]=c[O+8>>2];c[Q+12>>2]=c[O+12>>2];c[Q+16>>2]=c[O+16>>2];c[Q+20>>2]=c[O+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[P>>2]=c[P>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[D>>2]=c[V>>2];c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,309809,D)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;V=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;T=b+12|0;c[T>>2]=c[R>>2];c[T+4>>2]=c[R+4>>2];c[T+8>>2]=c[R+8>>2];c[T+12>>2]=c[R+12>>2];c[T+16>>2]=c[R+16>>2];c[b+32>>2]=1;c[b>>2]=288812;c[b+36>>2]=e;c[b+40>>2]=U;c[b+44>>2]=V;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 48:{P=b+92|0;e=c[P>>2]&1;O=b+16+(e*36|0)|0;c[Q>>2]=c[O>>2];c[Q+4>>2]=c[O+4>>2];c[Q+8>>2]=c[O+8>>2];c[Q+12>>2]=c[O+12>>2];c[Q+16>>2]=c[O+16>>2];c[Q+20>>2]=c[O+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[O>>2]=0;c[O+4>>2]=0;c[O+8>>2]=0;c[O+12>>2]=0;c[O+16>>2]=0;c[O+20>>2]=0;c[P>>2]=c[P>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[E>>2]=c[V>>2];c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,309809,E)};c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];c[R+16>>2]=c[U+16>>2];Bq(b,V);Cq(b,S);b=_A(48)|0;U=c[S>>2]|0;V=c[V>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;T=b+12|0;c[T>>2]=c[R>>2];c[T+4>>2]=c[R+4>>2];c[T+8>>2]=c[R+8>>2];c[T+12>>2]=c[R+12>>2];c[T+16>>2]=c[R+16>>2];c[b+32>>2]=2;c[b>>2]=288796;c[b+36>>2]=e;c[b+40>>2]=U;c[b+44>>2]=V;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 100:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[F>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,F)}V=_A(40)|0;c[V+4>>2]=0;c[V+8>>2]=0;b=V+12|0;c[b>>2]=c[U>>2];c[b+4>>2]=c[U+4>>2];c[b+8>>2]=c[U+8>>2];c[b+12>>2]=c[U+12>>2];c[b+16>>2]=c[U+16>>2];c[V+32>>2]=51;c[V>>2]=288060;c[V+36>>2]=e;e=c[d>>2]|0;c[d>>2]=V;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 90:{R=b+92|0;e=c[R>>2]&1;Q=b+16+(e*36|0)|0;c[S>>2]=c[Q>>2];c[S+4>>2]=c[Q+4>>2];c[S+8>>2]=c[Q+8>>2];c[S+12>>2]=c[Q+12>>2];c[S+16>>2]=c[Q+16>>2];c[S+20>>2]=c[Q+20>>2];e=c[b+16+(e*36|0)+24>>2]|0;c[Q>>2]=0;c[Q+4>>2]=0;c[Q+8>>2]=0;c[Q+12>>2]=0;c[Q+16>>2]=0;c[Q+20>>2]=0;c[R>>2]=c[R>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(e,c[b+12>>2]|0)|0)){Am(V,e);c[G>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,G)}if((Eq(b,V)|0)==1){d=1;aa=W;return d|0}b=_A(48)|0;T=c[V>>2]|0;V=c[V+4>>2]|0;c[b+4>>2]=0;c[b+8>>2]=0;S=b+12|0;c[S>>2]=c[U>>2];c[S+4>>2]=c[U+4>>2];c[S+8>>2]=c[U+8>>2];c[S+12>>2]=c[U+12>>2];c[S+16>>2]=c[U+16>>2];c[b+32>>2]=40;c[b>>2]=288028;c[b+36>>2]=e;e=b+40|0;c[e>>2]=T;c[e+4>>2]=V;e=c[d>>2]|0;c[d>>2]=b;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}case 92:{i=b+92|0;j=c[i>>2]&1;M=b+16+(j*36|0)|0;c[S>>2]=c[M>>2];c[S+4>>2]=c[M+4>>2];c[S+8>>2]=c[M+8>>2];c[S+12>>2]=c[M+12>>2];c[S+16>>2]=c[M+16>>2];c[S+20>>2]=c[M+20>>2];j=c[b+16+(j*36|0)+24>>2]|0;c[M>>2]=0;c[M+4>>2]=0;c[M+8>>2]=0;c[M+12>>2]=0;c[M+16>>2]=0;c[M+20>>2]=0;c[i>>2]=c[i>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;if(!(Dm(j,c[b+12>>2]|0)|0)){Am(V,j);c[H>>2]=c[V>>2];c[V>>2]=c[S>>2];c[V+4>>2]=c[S+4>>2];c[V+8>>2]=c[S+8>>2];c[V+12>>2]=c[S+12>>2];c[V+16>>2]=c[S+16>>2];aq(b,V,309809,H)}h=0;while(1){if(!(c[T>>2]|0)){Sp(V,c[b>>2]|0,b);K=c[T>>2]|0;c[T>>2]=K+1;K=b+16+(((c[i>>2]|0)+K&1)*36|0)|0;L=V;M=K+36|0;do{c[K>>2]=c[L>>2];K=K+4|0;L=L+4|0}while((K|0)<(M|0))}S=b+16+((c[i>>2]&1)*36|0)|0;c[Q>>2]=c[S>>2];c[Q+4>>2]=c[S+4>>2];c[Q+8>>2]=c[S+8>>2];c[Q+12>>2]=c[S+12>>2];c[Q+16>>2]=c[S+16>>2];if((cq(b,0)|0)!=44){h=245;break}g=c[i>>2]&1;S=b+16+(g*36|0)|0;f=c[b+16+(g*36|0)+28>>2]|0;g=c[b+16+(g*36|0)+32>>2]|0;c[S>>2]=0;c[S+4>>2]=0;c[S+8>>2]=0;c[S+12>>2]=0;c[S+16>>2]=0;c[S+20>>2]=0;c[i>>2]=c[i>>2]&1^1;c[T>>2]=(c[T>>2]|0)+-1;c[P>>2]=0;if((sm(f,f+g|0,P,0)|0)==1){h=249;break}e=c[P>>2]|0;if(e>>>0>31){h=251;break}a[R+h>>0]=e;h=h+1|0;if(h>>>0>=16){h=254;break}}if((h|0)==245){g=_A(48)|0;c[P>>2]=g;c[P+8>>2]=-2147483600;c[P+4>>2]=33;K=g;L=310037;M=K+33|0;do{a[K>>0]=a[L>>0]|0;K=K+1|0;L=L+1|0}while((K|0)<(M|0));a[g+33>>0]=0;e=V+4|0;f=_A(12)|0;c[V>>2]=f;d=f+12|0;c[V+8>>2]=d;cB(f,P);c[e>>2]=d;gq(b,V,0);if((a[f+11>>0]|0)<0)$A(c[f>>2]|0);c[e>>2]=f;$A(f);$A(g)}else if((h|0)==249){c[N>>2]=g;c[N+4>>2]=f;c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,310071,N);h=252}else if((h|0)==251){c[O>>2]=g;c[O+4>>2]=f;c[V>>2]=c[Q>>2];c[V+4>>2]=c[Q+4>>2];c[V+8>>2]=c[Q+8>>2];c[V+12>>2]=c[Q+12>>2];c[V+16>>2]=c[Q+16>>2];aq(b,V,310094,O);h=252}else if((h|0)==254){V=_A(56)|0;c[V+4>>2]=0;c[V+8>>2]=0;e=V+12|0;c[e>>2]=c[U>>2];c[e+4>>2]=c[U+4>>2];c[e+8>>2]=c[U+8>>2];c[e+12>>2]=c[U+12>>2];c[e+16>>2]=c[U+16>>2];c[V+32>>2]=41;c[V>>2]=288012;c[V+36>>2]=j;e=V+40|0;c[e>>2]=c[R>>2];c[e+4>>2]=c[R+4>>2];c[e+8>>2]=c[R+8>>2];c[e+12>>2]=c[R+12>>2];e=c[d>>2]|0;c[d>>2]=V;if(e|0)ma[c[(c[e>>2]|0)+4>>2]&255](e);d=0;aa=W;return d|0}d=1;aa=W;return d|0}default:{d=1;aa=W;return d|0}}while(0);return 0}
+function ou(b,e){b=b|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0,$=0,ba=0,ca=0,da=0,ia=0,ja=0,ka=0,la=0,ma=0,na=0,oa=0,pa=0,qa=0,ra=0,sa=0,ta=0,ua=0,va=0,wa=0,xa=0,ya=0,za=0,Aa=0,Ba=0,Ca=0,Da=0,Ea=0,Fa=0,Ga=0,Ha=0,Ia=0,Ja=0,Ka=0,La=0,Ma=0,Na=0,Oa=0,Pa=0,Qa=0,Ra=0,Sa=0,Ta=0,Ua=0,Va=0,Wa=0,Xa=0,Ya=0,Za=0,_a=0,$a=0,ab=0,bb=0,cb=0,db=0,eb=0,fb=0,gb=0,hb=0,ib=0,jb=0,kb=0,lb=0,mb=0,nb=0,ob=0,pb=0,qb=0,rb=0,sb=0,tb=0,ub=0,vb=0,wb=0,xb=0,yb=0,zb=0,Ab=0,Bb=0,Cb=0,Db=0,Eb=0,Fb=0,Gb=0,Hb=0,Ib=0,Jb=0,Kb=0,Lb=0,Mb=0,Nb=0,Ob=0,Pb=0,Qb=0,Rb=0,Sb=0,Tb=0,Ub=0,Vb=0,Wb=0,Xb=0,Yb=0,Zb=0,_b=0,$b=0,ac=0,bc=0,cc=0,dc=0,ec=0,fc=0,gc=0,hc=0,ic=0,jc=0,kc=0,lc=0,mc=0,nc=0,oc=0,pc=0,qc=0,rc=0,sc=0,tc=0,uc=0,vc=0,wc=0,xc=0,yc=0,zc=0,Ac=0,Bc=0,Cc=0,Dc=0,Ec=0,Fc=0,Gc=0,Hc=0,Ic=0,Jc=0,Kc=0,Lc=0,Mc=0,Nc=0,Oc=0,Pc=0,Qc=0,Rc=0,Sc=0,Tc=0,Uc=0,Vc=0,Wc=0,Xc=0,Yc=0,Zc=0,_c=0,$c=0,ad=0,bd=0,cd=0,dd=0,ed=0,fd=0,gd=0,hd=0,id=0,jd=0,kd=0,ld=0,md=0,nd=0,od=0,pd=0,qd=0,rd=0,sd=0,td=0,ud=0,vd=0,wd=0,xd=0,yd=0,zd=0,Ad=0,Bd=0,Cd=0,Dd=0,Ed=0,Fd=0,Gd=0,Hd=0,Id=0,Jd=0,Kd=0,Ld=0,Md=0,Nd=0,Od=0,Pd=0,Qd=0,Rd=0,Sd=0,Td=0,Ud=0,Vd=0,Wd=0,Xd=0,Yd=0,Zd=0,_d=0,$d=0,ae=0,be=0,ce=0,de=0;ce=aa;aa=aa+1872|0;R=ce+1744|0;G=ce+1856|0;be=ce+1736|0;ae=ce+1728|0;Ed=ce+1720|0;Dd=ce+1712|0;Bd=ce+1704|0;Ad=ce+1696|0;zd=ce+1688|0;yd=ce+1680|0;wd=ce+1672|0;vd=ce+1664|0;ud=ce+1656|0;td=ce+1648|0;sd=ce+1640|0;qd=ce+1632|0;pd=ce+1624|0;od=ce+1616|0;nd=ce+1608|0;md=ce+1600|0;ld=ce+1592|0;kd=ce+1584|0;jd=ce+1576|0;id=ce+1568|0;hd=ce+1560|0;gd=ce+1552|0;fd=ce+1544|0;dd=ce+1536|0;cd=ce+1528|0;bd=ce+1520|0;ad=ce+1512|0;$c=ce+1504|0;_c=ce+1496|0;Zc=ce+1488|0;Yc=ce+1480|0;Wc=ce+1472|0;Vc=ce+1464|0;Uc=ce+1456|0;Tc=ce+1448|0;Sc=ce+1440|0;Rc=ce+1432|0;Qc=ce+1424|0;Pc=ce+1416|0;Nc=ce+1408|0;Mc=ce+1400|0;Lc=ce+1392|0;Kc=ce+1384|0;Jc=ce+1376|0;Ic=ce+1368|0;Hc=ce+1360|0;Gc=ce+1352|0;Fc=ce+1344|0;Ec=ce+1336|0;Dc=ce+1328|0;Bc=ce+1320|0;Ac=ce+1312|0;zc=ce+1304|0;yc=ce+1296|0;xc=ce+1288|0;wc=ce+1280|0;vc=ce+1272|0;uc=ce+1264|0;sc=ce+1256|0;rc=ce+1248|0;qc=ce+1240|0;pc=ce+1232|0;oc=ce+1224|0;nc=ce+1216|0;mc=ce+1208|0;lc=ce+1200|0;jc=ce+1192|0;ic=ce+1184|0;hc=ce+1176|0;gc=ce+1168|0;fc=ce+1160|0;ec=ce+1152|0;dc=ce+1144|0;cc=ce+1136|0;bc=ce+1128|0;$b=ce+1120|0;_b=ce+1112|0;Zb=ce+1104|0;Yb=ce+1096|0;Xb=ce+1088|0;Wb=ce+1080|0;Vb=ce+1072|0;Ub=ce+1064|0;Tb=ce+1056|0;Rb=ce+1048|0;Qb=ce+1040|0;Pb=ce+1032|0;Ob=ce+1024|0;Mb=ce+1016|0;Lb=ce+1008|0;Kb=ce+1e3|0;Jb=ce+992|0;Ib=ce+984|0;Gb=ce+976|0;Fb=ce+968|0;Eb=ce+960|0;Db=ce+952|0;Cb=ce+944|0;Bb=ce+936|0;Ab=ce+928|0;yb=ce+920|0;xb=ce+912|0;wb=ce+904|0;vb=ce+896|0;ub=ce+888|0;tb=ce+880|0;sb=ce+872|0;rb=ce+864|0;qb=ce+856|0;pb=ce+848|0;nb=ce+840|0;mb=ce+832|0;lb=ce+824|0;kb=ce+816|0;jb=ce+808|0;ib=ce+800|0;hb=ce+792|0;gb=ce+784|0;fb=ce+776|0;eb=ce+768|0;db=ce+760|0;cb=ce+752|0;ab=ce+744|0;$a=ce+736|0;_a=ce+728|0;Za=ce+720|0;Ya=ce+712|0;Xa=ce+704|0;Wa=ce+696|0;Va=ce+688|0;Ua=ce+680|0;Sa=ce+672|0;Ra=ce+664|0;Qa=ce+656|0;Pa=ce+648|0;Oa=ce+640|0;Na=ce+632|0;Ma=ce+624|0;Ka=ce+616|0;Ja=ce+608|0;Ia=ce+600|0;Ha=ce+592|0;Ga=ce+584|0;Fa=ce+576|0;Ea=ce+568|0;Da=ce+560|0;Ba=ce+552|0;Aa=ce+544|0;za=ce+536|0;ya=ce+528|0;xa=ce+520|0;wa=ce+512|0;va=ce+504|0;ua=ce+496|0;ta=ce+488|0;sa=ce+480|0;ra=ce+472|0;qa=ce+464|0;pa=ce+456|0;na=ce+448|0;ma=ce+440|0;la=ce+432|0;ka=ce+424|0;ja=ce+416|0;ia=ce+408|0;da=ce+400|0;ca=ce+392|0;$=ce+384|0;_=ce+376|0;Z=ce+368|0;Y=ce+360|0;_d=ce+352|0;Zd=ce+344|0;Yd=ce+336|0;Xd=ce+328|0;Vd=ce+320|0;Ud=ce+312|0;Td=ce+304|0;Sd=ce+296|0;Rd=ce+288|0;Qd=ce+280|0;Pd=ce+272|0;Od=ce+264|0;Nd=ce+256|0;Ld=ce+248|0;Kd=ce+240|0;Jd=ce+232|0;Id=ce+224|0;Hd=ce+216|0;Gd=ce+208|0;Fd=ce+200|0;Cd=ce+192|0;rd=ce+184|0;ed=ce+176|0;Xc=ce+168|0;Oc=ce+160|0;Cc=ce+152|0;tc=ce+144|0;kc=ce+136|0;ac=ce+128|0;Sb=ce+120|0;Hb=ce+112|0;zb=ce+104|0;ob=ce+96|0;bb=ce+88|0;Ta=ce+80|0;La=ce+72|0;Ca=ce+64|0;oa=ce+56|0;ba=ce+48|0;Wd=ce+40|0;Md=ce+32|0;xd=ce+24|0;Nb=ce+16|0;X=ce+8|0;W=ce;V=ce+1776|0;S=ce+1852|0;U=ce+1760|0;y=ce+1848|0;z=ce+1844|0;A=ce+1840|0;B=ce+1836|0;C=ce+1832|0;D=ce+1828|0;E=ce+1824|0;F=ce+1820|0;H=ce+1816|0;I=ce+1812|0;J=ce+1808|0;K=ce+1804|0;L=ce+1800|0;M=ce+1796|0;N=ce+1792|0;O=ce+1788|0;P=ce+1784|0;Q=ce+1780|0;T=b+12|0;g=c[T>>2]|0;a:do if(g>>>0<e>>>0){m=b+36|0;o=b+76|0;l=b+4|0;t=b+64|0;k=b+68|0;u=b+96|0;v=b+116|0;n=b+88|0;w=b+100|0;x=b+120|0;f=0;b:while(1){if((nu(b,V,317907)|0)==1)break;i=c[m>>2]|0;h=c[(c[i>>2]|0)+212>>2]|0;j=c[V>>2]|0;c[S>>2]=j;c[R>>2]=c[S>>2];if(fa[h&511](i,R)|0){$d=5;break}if(!(Dm(j,c[o>>2]|0)|0)){$d=7;break}c:do switch(j|0){case 0:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+496>>2]&127](j)|0){$d=10;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){$d=12;break b}break}case 2:{c[R>>2]=0;g=c[l>>2]|0;g=$l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=14;break b}c[T>>2]=(c[T>>2]|0)+g;h=c[R>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;$d=19;break}case -24:{g=c[o>>2]|0;$d=19;break}case -17:{g=(c[o>>2]|0)+9|0;$d=19;break}default:{p=0;$d=20}}if(($d|0)==19){p=(a[g>>0]|0)!=0;$d=20}if(($d|0)==20?($d=0,!((h|0)==-64|p)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){$d=23;break b}if((c[n>>2]|0)>>>0<=h>>>0){$d=23;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+284>>2]&511](j,h)|0){$d=25;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){$d=27;break b}break}case 3:{c[R>>2]=0;g=c[l>>2]|0;g=$l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=29;break b}c[T>>2]=(c[T>>2]|0)+g;h=c[R>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;$d=34;break}case -24:{g=c[o>>2]|0;$d=34;break}case -17:{g=(c[o>>2]|0)+9|0;$d=34;break}default:{r=0;$d=35}}if(($d|0)==34){r=(a[g>>0]|0)!=0;$d=35}if(($d|0)==35?($d=0,!((h|0)==-64|r)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){$d=38;break b}if((c[n>>2]|0)>>>0<=h>>>0){$d=38;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+388>>2]&511](j,h)|0){$d=40;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){$d=42;break b}break}case 4:{c[R>>2]=0;g=c[l>>2]|0;g=$l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=44;break b}c[T>>2]=(c[T>>2]|0)+g;h=c[R>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;$d=49;break}case -24:{g=c[o>>2]|0;$d=49;break}case -17:{g=(c[o>>2]|0)+9|0;$d=49;break}default:{s=0;$d=50}}if(($d|0)==49){s=(a[g>>0]|0)!=0;$d=50}if(($d|0)==50?($d=0,!((h|0)==-64|s)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){$d=53;break b}if((c[n>>2]|0)>>>0<=h>>>0){$d=53;break b}}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+368>>2]&511](j,h)|0){$d=55;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+252>>2]&511](j,h)|0){$d=57;break b}break}case 5:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+328>>2]&127](j)|0){$d=59;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){$d=61;break b}break}case 21:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+472>>2]&127](j)|0){$d=63;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){$d=65;break b}break}case 12:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=67;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+288>>2]&511](j,g)|0){$d=69;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=71;break b}break}case 13:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=73;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+292>>2]&511](j,g)|0){$d=75;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=77;break b}break}case 14:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=79;break b}g=(c[T>>2]|0)+g|0;c[T>>2]=g;j=c[R>>2]|0;h=c[t>>2]|0;i=(c[k>>2]|0)-h>>2;if(j>>>0<=i>>>0){if(j>>>0<i>>>0)c[k>>2]=h+(j<<2);if(!j)h=1;else $d=85}else{qu(t,j-i|0);g=c[T>>2]|0;$d=85}if(($d|0)==85){$d=0;h=0;while(1){i=c[l>>2]|0;g=_l(i+g|0,i+(c[b>>2]|0)|0,R)|0;if(!g){$d=88;break b}g=(c[T>>2]|0)+g|0;c[T>>2]=g;c[(c[t>>2]|0)+(h<<2)>>2]=c[R>>2];h=h+1|0;if(h>>>0>=j>>>0){h=0;break}}}i=c[l>>2]|0;g=_l(i+g|0,i+(c[b>>2]|0)|0,R)|0;if(!g){$d=90;break b}c[T>>2]=(c[T>>2]|0)+g;if(h)g=0;else g=c[t>>2]|0;i=c[m>>2]|0;if(ha[c[(c[i>>2]|0)+300>>2]&127](i,j,g,c[R>>2]|0)|0){$d=94;break b}break}case 15:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+460>>2]&127](j)|0){$d=96;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){$d=98;break b}break}case 1:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+452>>2]&127](j)|0){$d=100;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){$d=102;break b}break}case 20:{j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+324>>2]&127](j)|0){$d=104;break b}j=c[m>>2]|0;if(ea[c[(c[j>>2]|0)+216>>2]&127](j)|0){$d=106;break b}break}case 11:{g=c[m>>2]|0;h=c[g>>2]|0;if((c[T>>2]|0)==(e|0))if(!(ea[c[h+336>>2]&127](g)|0)){f=1;break c}else{$d=109;break b}else if(!(ea[c[h+332>>2]&127](g)|0))break c;else{$d=111;break b}}case 52:{g=c[l>>2]|0;g=$l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=113;break b}c[T>>2]=(c[T>>2]|0)+g;j=c[m>>2]|0;g=c[R>>2]|0;if(fa[c[(c[j>>2]|0)+360>>2]&511](j,g)|0){$d=115;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+220>>2]&511](j,g)|0){$d=117;break b}break}case 53:{g=c[l>>2]|0;g=am(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=120;break b}c[T>>2]=(c[T>>2]|0)+g;j=c[m>>2]|0;h=R;g=c[h>>2]|0;h=c[h+4>>2]|0;if(ga[c[(c[j>>2]|0)+364>>2]&127](j,g,h)|0){$d=122;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+236>>2]&127](j,g,h)|0){$d=124;break b}break}case 54:{g=c[T>>2]|0;h=g+4|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=127;break b}g=(c[l>>2]|0)+g|0;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;c[T>>2]=h;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+340>>2]&511](j,g)|0){$d=129;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+240>>2]&511](j,g)|0){$d=131;break b}break}case 55:{g=c[T>>2]|0;i=g+8|0;if(i>>>0>(c[b>>2]|0)>>>0){$d=133;break b}h=(c[l>>2]|0)+g|0;g=h;g=d[g>>0]|d[g+1>>0]<<8|d[g+2>>0]<<16|d[g+3>>0]<<24;h=h+4|0;h=d[h>>0]|d[h+1>>0]<<8|d[h+2>>0]<<16|d[h+3>>0]<<24;c[T>>2]=i;j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+344>>2]&127](j,g,h)|0){$d=135;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+244>>2]&127](j,g,h)|0){$d=137;break b}break}case 213:{c[G>>2]=0;c[G+4>>2]=0;c[G+8>>2]=0;c[G+12>>2]=0;g=c[T>>2]|0;h=g+16|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=139;break b}j=G;g=(c[l>>2]|0)+g|0;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));c[T>>2]=h;j=c[m>>2]|0;i=c[(c[j>>2]|0)+348>>2]|0;c[R>>2]=c[G>>2];c[R+4>>2]=c[G+4>>2];c[R+8>>2]=c[G+8>>2];c[R+12>>2]=c[G+12>>2];if(fa[i&511](j,R)|0){$d=141;break b}j=c[m>>2]|0;i=c[(c[j>>2]|0)+248>>2]|0;c[R>>2]=c[G>>2];c[R+4>>2]=c[G+4>>2];c[R+8>>2]=c[G+8>>2];c[R+12>>2]=c[G+12>>2];if(fa[i&511](j,R)|0){$d=143;break b}break}case 25:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=146;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+352>>2]&511](j,g)|0){$d=148;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=150;break b}break}case 22:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=152;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+376>>2]&511](j,g)|0){$d=154;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=156;break b}break}case 26:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=158;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+356>>2]&511](j,g)|0){$d=160;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=162;break b}break}case 23:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=164;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+380>>2]&511](j,g)|0){$d=166;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=168;break b}break}case 16:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=170;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;if(g>>>0>=((c[v>>2]|0)+(c[u>>2]|0)|0)>>>0){$d=172;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+304>>2]&511](j,g)|0){$d=174;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=176;break b}break}case 17:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=178;break b}g=(c[T>>2]|0)+g|0;c[T>>2]=g;i=c[R>>2]|0;if(i>>>0>=(c[n>>2]|0)>>>0){$d=180;break b}if(!(a[(c[o>>2]|0)+9>>0]|0)){h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=187;break b}j=a[(c[l>>2]|0)+g>>0]|0;c[T>>2]=h;if(!(j<<24>>24))g=0;else{$d=189;break b}}else{j=c[l>>2]|0;g=_l(j+g|0,j+(c[b>>2]|0)|0,R)|0;if(!g){$d=183;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;if(g>>>0>=((c[x>>2]|0)+(c[w>>2]|0)|0)>>>0){$d=185;break b}}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+308>>2]&127](j,i,g)|0){$d=191;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+232>>2]&127](j,i,g)|0){$d=193;break b}break}case 18:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=195;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;if(g>>>0>=((c[v>>2]|0)+(c[u>>2]|0)|0)>>>0){$d=197;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+464>>2]&511](j,g)|0){$d=199;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=201;break b}break}case 19:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=203;break b}g=(c[T>>2]|0)+g|0;c[T>>2]=g;i=c[R>>2]|0;if(i>>>0>=(c[n>>2]|0)>>>0){$d=205;break b}if(!(a[(c[o>>2]|0)+9>>0]|0)){h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=212;break b}j=a[(c[l>>2]|0)+g>>0]|0;c[T>>2]=h;if(!(j<<24>>24))g=0;else{$d=214;break b}}else{j=c[l>>2]|0;g=_l(j+g|0,j+(c[b>>2]|0)|0,R)|0;if(!g){$d=208;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;if(g>>>0>=((c[x>>2]|0)+(c[w>>2]|0)|0)>>>0){$d=210;break b}}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+468>>2]&127](j,i,g)|0){$d=216;break b}j=c[m>>2]|0;if(ga[c[(c[j>>2]|0)+232>>2]&127](j,i,g)|0){$d=218;break b}break}case 24:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=220;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+384>>2]&511](j,g)|0){$d=222;break b}j=c[m>>2]|0;if(fa[c[(c[j>>2]|0)+224>>2]&511](j,g)|0){$d=224;break b}break}case 211:case 30:case 29:case 28:case 27:case 40:case 39:case 38:case 37:case 36:case 35:case 34:case 33:case 32:case 31:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=226;break b}i=(c[T>>2]|0)+g|0;c[T>>2]=i;g=c[l>>2]|0;g=_l(g+i|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=228;break b}c[T>>2]=(c[T>>2]|0)+g;i=c[m>>2]|0;de=c[(c[i>>2]|0)+372>>2]|0;c[y>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[y>>2];if(ha[de&127](i,R,g,h)|0){$d=230;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=232;break b}break}case 212:case 44:case 43:case 42:case 41:case 49:case 48:case 47:case 46:case 45:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=236;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=238;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;i=c[(c[de>>2]|0)+476>>2]|0;c[z>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[z>>2];if(ha[i&127](de,R,g,h)|0){$d=240;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=242;break b}break}case 50:{g=c[T>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=246;break b}de=a[(c[l>>2]|0)+g>>0]|0;c[T>>2]=h;if(de<<24>>24){$d=248;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+412>>2]&127](de)|0){$d=250;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,0)|0){$d=252;break b}break}case 51:{g=c[T>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=254;break b}de=a[(c[l>>2]|0)+g>>0]|0;c[T>>2]=h;if(de<<24>>24){$d=256;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+404>>2]&127](de)|0){$d=258;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,0)|0){$d=260;break b}break}case 350:case 338:case 329:case 339:case 330:case 337:case 328:case 336:case 327:case 341:case 332:case 340:case 331:case 279:case 278:case 277:case 321:case 320:case 312:case 311:case 299:case 298:case 286:case 285:case 319:case 310:case 297:case 284:case 305:case 304:case 292:case 291:case 302:case 301:case 289:case 288:case 315:case 306:case 293:case 323:case 314:case 303:case 290:case 322:case 313:case 300:case 287:case 153:case 152:case 151:case 150:case 149:case 148:case 147:case 139:case 138:case 137:case 136:case 135:case 134:case 133:case 124:case 125:case 122:case 123:case 121:case 120:case 119:case 118:case 117:case 116:case 115:case 114:case 113:case 112:case 111:case 106:case 107:case 104:case 105:case 103:case 102:case 101:case 100:case 99:case 98:case 97:case 96:case 95:case 94:case 93:{de=c[m>>2]|0;i=c[(c[de>>2]|0)+280>>2]|0;c[A>>2]=j;c[R>>2]=c[A>>2];if(fa[i&511](de,R)|0){$d=262;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=264;break b}break}case 275:case 269:case 263:case 262:case 253:case 252:case 243:case 242:case 273:case 267:case 259:case 258:case 249:case 248:case 239:case 238:case 274:case 268:case 261:case 260:case 251:case 250:case 241:case 240:case 272:case 266:case 257:case 256:case 247:case 246:case 237:case 236:case 271:case 265:case 255:case 245:case 235:case 270:case 264:case 254:case 244:case 234:case 89:case 87:case 88:case 86:case 85:case 84:case 83:case 81:case 82:case 80:case 79:case 78:case 77:case 73:case 76:case 72:case 75:case 71:case 74:case 70:case 69:case 68:case 66:case 62:case 65:case 61:case 64:case 60:case 63:case 59:case 58:case 57:{de=c[m>>2]|0;i=c[(c[de>>2]|0)+316>>2]|0;c[B>>2]=j;c[R>>2]=c[B>>2];if(fa[i&511](de,R)|0){$d=266;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=268;break b}break}case 335:case 326:case 333:case 324:case 334:case 325:case 318:case 309:case 296:case 283:case 317:case 308:case 295:case 282:case 276:case 316:case 307:case 294:case 281:case 231:case 228:case 225:case 222:case 218:case 214:case 146:case 145:case 144:case 143:case 142:case 141:case 140:case 132:case 131:case 130:case 129:case 128:case 127:case 126:case 110:case 109:case 108:case 92:case 91:case 90:{de=c[m>>2]|0;i=c[(c[de>>2]|0)+488>>2]|0;c[C>>2]=j;c[R>>2]=c[C>>2];if(fa[i&511](de,R)|0){$d=270;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=272;break b}break}case 280:{de=c[m>>2]|0;j=c[(c[de>>2]|0)+492>>2]|0;c[D>>2]=280;c[R>>2]=c[D>>2];if(fa[j&511](de,R)|0){$d=274;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=276;break b}break}case 233:case 230:case 227:case 224:case 221:case 217:case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:{g=c[T>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=278;break b}g=a[(c[l>>2]|0)+g>>0]|0;c[T>>2]=h;de=c[m>>2]|0;i=c[(c[de>>2]|0)+508>>2]|0;c[E>>2]=j;g=g&255;c[R>>2]=c[E>>2];if(ha[i&127](de,R,g,0)|0){$d=280;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+236>>2]&127](de,g,0)|0){$d=282;break b}break}case 351:{g=c[T>>2]|0;h=g+16|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=284;break b}j=U;g=(c[l>>2]|0)+g|0;i=j+16|0;do{a[j>>0]=a[g>>0]|0;j=j+1|0;g=g+1|0}while((j|0)<(i|0));c[T>>2]=h;de=c[m>>2]|0;j=c[(c[de>>2]|0)+512>>2]|0;c[F>>2]=351;c[G>>2]=c[F>>2];c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];if(ga[j&127](de,G,R)|0){$d=286;break b}de=c[m>>2]|0;j=c[(c[de>>2]|0)+248>>2]|0;c[R>>2]=c[U>>2];c[R+4>>2]=c[U+4>>2];c[R+8>>2]=c[U+8>>2];c[R+12>>2]=c[U+12>>2];if(fa[j&511](de,R)|0){$d=288;break b}break}case 355:case 354:case 353:case 352:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=291;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=293;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;i=c[(c[de>>2]|0)+516>>2]|0;c[H>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[H>>2];if(ha[i&127](de,R,g,h)|0){$d=295;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=297;break b}break}case 345:case 344:case 343:case 342:case 349:case 348:case 347:case 346:case 67:case 56:case 176:case 175:case 178:case 174:case 173:case 172:case 171:case 170:case 177:case 169:case 168:case 167:case 166:case 165:case 160:case 159:case 164:case 162:case 163:case 161:case 154:case 158:case 156:case 157:case 155:{de=c[m>>2]|0;i=c[(c[de>>2]|0)+320>>2]|0;c[I>>2]=j;c[R>>2]=c[I>>2];if(fa[i&511](de,R)|0){$d=301;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=303;break b}break}case 6:{c[R>>2]=0;g=c[l>>2]|0;g=$l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=305;break b}c[T>>2]=(c[T>>2]|0)+g;h=c[R>>2]|0;switch(h|0){case -4:case -3:case -2:case -1:break;case -5:{g=(c[o>>2]|0)+4|0;$d=310;break}case -24:{g=c[o>>2]|0;$d=310;break}case -17:{g=(c[o>>2]|0)+9|0;$d=310;break}default:{q=0;$d=311}}if(($d|0)==310){q=(a[g>>0]|0)!=0;$d=311}if(($d|0)==311?($d=0,!((h|0)==-64|q)):0){if(!((h|0)>-1?(a[(c[o>>2]|0)+6>>0]|0)!=0:0)){$d=314;break b}if((c[n>>2]|0)>>>0<=h>>>0){$d=314;break b}}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+484>>2]&511](de,h)|0){$d=316;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+252>>2]&511](de,h)|0){$d=318;break b}break}case 7:{de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+312>>2]&127](de)|0){$d=320;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=322;break b}break}case 9:{de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+456>>2]&127](de)|0){$d=324;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=326;break b}break}case 8:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=328;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+480>>2]&511](de,g)|0){$d=330;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+224>>2]&511](de,g)|0){$d=332;break b}break}case 10:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=334;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;h=c[R>>2]|0;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=336;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+296>>2]&127](de,h,g)|0){$d=338;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+228>>2]&127](de,h,g)|0){$d=340;break b}break}case 183:case 182:case 181:case 180:case 179:{de=c[m>>2]|0;i=c[(c[de>>2]|0)+488>>2]|0;c[J>>2]=j;c[R>>2]=c[J>>2];if(fa[i&511](de,R)|0){$d=342;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=344;break b}break}case 196:case 195:case 194:case 193:case 192:case 191:case 190:case 189:{de=c[m>>2]|0;i=c[(c[de>>2]|0)+320>>2]|0;c[K>>2]=j;c[R>>2]=c[K>>2];if(fa[i&511](de,R)|0){$d=346;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=348;break b}break}case 356:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=350;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=352;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;j=c[(c[de>>2]|0)+276>>2]|0;c[L>>2]=356;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[L>>2];if(ha[j&127](de,R,g,h)|0){$d=354;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=356;break b}break}case 358:case 357:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=360;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=362;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;i=c[(c[de>>2]|0)+272>>2]|0;c[M>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[M>>2];if(ha[i&127](de,R,g,h)|0){$d=364;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=366;break b}break}case 360:case 359:case 365:case 364:case 363:case 362:case 361:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=370;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=372;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;i=c[(c[de>>2]|0)+256>>2]|0;c[N>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[N>>2];if(ha[i&127](de,R,g,h)|0){$d=374;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=376;break b}break}case 367:case 366:case 372:case 371:case 370:case 369:case 368:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=380;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=382;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;i=c[(c[de>>2]|0)+260>>2]|0;c[O>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[O>>2];if(ha[i&127](de,R,g,h)|0){$d=384;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=386;break b}break}case 414:case 413:case 412:case 411:case 410:case 409:case 408:case 407:case 406:case 405:case 404:case 403:case 402:case 401:case 400:case 399:case 398:case 397:case 396:case 395:case 394:case 393:case 392:case 391:case 390:case 389:case 388:case 387:case 386:case 385:case 384:case 383:case 382:case 381:case 380:case 379:case 378:case 377:case 376:case 375:case 374:case 373:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=390;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=392;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;i=c[(c[de>>2]|0)+264>>2]|0;c[P>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[P>>2];if(ha[i&127](de,R,g,h)|0){$d=394;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=396;break b}break}case 421:case 420:case 419:case 418:case 417:case 416:case 415:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,G)|0;if(!g){$d=400;break b}de=(c[T>>2]|0)+g|0;c[T>>2]=de;g=c[l>>2]|0;g=_l(g+de|0,g+(c[b>>2]|0)|0,U)|0;if(!g){$d=402;break b}c[T>>2]=(c[T>>2]|0)+g;de=c[m>>2]|0;i=c[(c[de>>2]|0)+268>>2]|0;c[Q>>2]=j;g=c[G>>2]|0;h=c[U>>2]|0;c[R>>2]=c[Q>>2];if(ha[i&127](de,R,g,h)|0){$d=404;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,h)|0){$d=406;break b}break}case 201:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=410;break b}i=(c[T>>2]|0)+g|0;c[T>>2]=i;g=c[R>>2]|0;h=i+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=412;break b}de=a[(c[l>>2]|0)+i>>0]|0;c[T>>2]=h;if(de<<24>>24){$d=414;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+424>>2]&511](de,g)|0){$d=416;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,0)|0){$d=418;break b}break}case 197:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=420;break b}i=(c[T>>2]|0)+g|0;c[T>>2]=i;g=c[R>>2]|0;h=i+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=422;break b}de=a[(c[l>>2]|0)+i>>0]|0;c[T>>2]=h;if(de<<24>>24){$d=424;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+408>>2]&511](de,g)|0){$d=426;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,g,0)|0){$d=428;break b}break}case 202:case 198:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=430;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;h=c[m>>2]|0;i=c[h>>2]|0;if((j|0)==198){if(fa[c[i+396>>2]&511](h,g)|0){$d=433;break b}}else if(fa[c[i+420>>2]&511](h,g)|0){$d=435;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,g)|0){$d=437;break b}break}case 200:{g=c[T>>2]|0;h=g+1|0;if(h>>>0>(c[b>>2]|0)>>>0){$d=439;break b}de=a[(c[l>>2]|0)+g>>0]|0;c[T>>2]=h;if(de<<24>>24){$d=441;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+400>>2]&127](de)|0){$d=443;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,0)|0){$d=445;break b}break}case 199:{g=c[T>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){$d=447;break b}i=c[l>>2]|0;de=a[i+g>>0]|0;c[T>>2]=j;if(de<<24>>24){$d=449;break b}g=g+2|0;if(g>>>0>h>>>0){$d=451;break b}de=a[i+j>>0]|0;c[T>>2]=g;if(de<<24>>24){$d=453;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+392>>2]&127](de)|0){$d=455;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,0,0)|0){$d=457;break b}break}case 203:{g=c[T>>2]|0;j=g+1|0;h=c[b>>2]|0;if(j>>>0>h>>>0){$d=459;break b}i=c[l>>2]|0;de=a[i+g>>0]|0;c[T>>2]=j;if(de<<24>>24){$d=461;break b}g=g+2|0;if(g>>>0>h>>>0){$d=463;break b}de=a[i+j>>0]|0;c[T>>2]=g;if(de<<24>>24){$d=465;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+416>>2]&127](de)|0){$d=467;break b}de=c[m>>2]|0;if(ga[c[(c[de>>2]|0)+232>>2]&127](de,0,0)|0){$d=469;break b}break}case 204:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=471;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+428>>2]&511](de,g)|0){$d=473;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,g)|0){$d=475;break b}break}case 205:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=477;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+432>>2]&511](de,g)|0){$d=479;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,g)|0){$d=481;break b}break}case 206:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=483;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+436>>2]&511](de,g)|0){$d=485;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,g)|0){$d=487;break b}break}case 207:{g=c[l>>2]|0;g=_l(g+(c[T>>2]|0)|0,g+(c[b>>2]|0)|0,R)|0;if(!g){$d=489;break b}c[T>>2]=(c[T>>2]|0)+g;g=c[R>>2]|0;de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+440>>2]&511](de,g)|0){$d=491;break b}de=c[m>>2]|0;if(fa[c[(c[de>>2]|0)+220>>2]&511](de,g)|0){$d=493;break b}break}case 208:{de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+444>>2]&127](de)|0){$d=495;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=497;break b}break}case 209:{de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+448>>2]&127](de)|0){$d=499;break b}de=c[m>>2]|0;if(ea[c[(c[de>>2]|0)+216>>2]&127](de)|0){$d=501;break b}break}default:{$d=502;break b}}while(0);g=c[T>>2]|0;if(g>>>0>=e>>>0)break a}switch($d|0){case 5:{eu(b,319296,W);break}case 7:{pu(b,j,0);break}case 10:{eu(b,319321,X);break}case 12:{eu(b,319355,Nb);break}case 14:{c[xd>>2]=319384;eu(b,314399,xd);break}case 23:{eu(b,319405,Md);break}case 25:{eu(b,319441,Wd);break}case 27:{eu(b,319469,ba);break}case 29:{c[oa>>2]=319502;eu(b,314399,oa);break}case 38:{eu(b,319405,Ca);break}case 40:{eu(b,319522,La);break}case 42:{eu(b,319469,Ta);break}case 44:{c[bb>>2]=319549;eu(b,314399,bb);break}case 53:{eu(b,319405,ob);break}case 55:{eu(b,319567,zb);break}case 57:{eu(b,319469,Hb);break}case 59:{eu(b,319592,Sb);break}case 61:{eu(b,319355,ac);break}case 63:{eu(b,319619,kc);break}case 65:{eu(b,319355,tc);break}case 67:{c[Cc>>2]=319648;eu(b,312904,Cc);break}case 69:{eu(b,319657,Oc);break}case 71:{eu(b,319682,Xc);break}case 73:{c[ed>>2]=319712;eu(b,312904,ed);break}case 75:{eu(b,319724,rd);break}case 77:{eu(b,319682,Cd);break}case 79:{c[Fd>>2]=319751;eu(b,312904,Fd);break}case 88:{c[Gd>>2]=319773;eu(b,312904,Gd);break}case 90:{c[Hd>>2]=319795;eu(b,312904,Hd);break}case 94:{eu(b,319825,Id);break}case 96:{eu(b,319855,Jd);break}case 98:{eu(b,319355,Kd);break}case 100:{eu(b,319884,Ld);break}case 102:{eu(b,319355,Nd);break}case 104:{eu(b,319910,Od);break}case 106:{eu(b,319355,Pd);break}case 109:{eu(b,319937,Qd);break}case 111:{eu(b,319963,Rd);break}case 113:{c[Sd>>2]=319989;eu(b,314399,Sd);break}case 115:{eu(b,320005,Td);break}case 117:{eu(b,320036,Ud);break}case 120:{c[Vd>>2]=320067;eu(b,320083,Vd);break}case 122:{eu(b,320113,Xd);break}case 124:{eu(b,320144,Yd);break}case 127:{c[Zd>>2]=320191;c[Zd+4>>2]=320175;eu(b,312701,Zd);break}case 129:{eu(b,320197,_d);break}case 131:{eu(b,320228,Y);break}case 133:{c[Z>>2]=320272;c[Z+4>>2]=320256;eu(b,312701,Z);break}case 135:{eu(b,320279,_);break}case 137:{eu(b,320310,$);break}case 139:{c[ca>>2]=330963;c[ca+4>>2]=320338;eu(b,312701,ca);break}case 141:{eu(b,320355,da);break}case 143:{eu(b,320387,ia);break}case 146:{c[ja>>2]=320416;eu(b,312904,ja);break}case 148:{eu(b,320440,ka);break}case 150:{eu(b,319682,la);break}case 152:{c[ma>>2]=320472;eu(b,312904,ma);break}case 154:{eu(b,320494,na);break}case 156:{eu(b,319682,pa);break}case 158:{c[qa>>2]=320525;eu(b,312904,qa);break}case 160:{eu(b,320549,ra);break}case 162:{eu(b,319682,sa);break}case 164:{c[ta>>2]=320581;eu(b,312904,ta);break}case 166:{eu(b,320603,ua);break}case 168:{eu(b,319682,va);break}case 170:{c[wa>>2]=320634;eu(b,312904,wa);break}case 172:{c[xa>>2]=g;eu(b,320654,xa);break}case 174:{eu(b,320686,ya);break}case 176:{eu(b,319682,za);break}case 178:{c[Aa>>2]=320713;eu(b,312904,Aa);break}case 180:{eu(b,320743,Ba);break}case 183:{c[Da>>2]=320781;eu(b,312904,Da);break}case 185:{eu(b,320807,Ea);break}case 187:{c[Fa>>2]=315712;c[Fa+4>>2]=320841;eu(b,312701,Fa);break}case 189:{eu(b,320864,Ga);break}case 191:{eu(b,320903,Ha);break}case 193:{eu(b,320938,Ia);break}case 195:{c[Ja>>2]=331218;eu(b,312904,Ja);break}case 197:{c[Ka>>2]=g;eu(b,320975,Ka);break}case 199:{eu(b,321014,Ma);break}case 201:{eu(b,319682,Na);break}case 203:{c[Oa>>2]=331230;eu(b,312904,Oa);break}case 205:{eu(b,321047,Pa);break}case 208:{c[Qa>>2]=321092;eu(b,312904,Qa);break}case 210:{eu(b,321125,Ra);break}case 212:{c[Sa>>2]=315712;c[Sa+4>>2]=321166;eu(b,312701,Sa);break}case 214:{eu(b,321196,Ua);break}case 216:{eu(b,321242,Va);break}case 218:{eu(b,320938,Wa);break}case 220:{c[Xa>>2]=321283;eu(b,312904,Xa);break}case 222:{eu(b,321305,Ya);break}case 224:{eu(b,319682,Za);break}case 226:{c[_a>>2]=321336;eu(b,312904,_a);break}case 228:{c[$a>>2]=321351;eu(b,312904,$a);$d=233;break}case 230:{eu(b,321363,ab);$d=233;break}case 232:{eu(b,320938,cb);$d=233;break}case 236:{c[db>>2]=321390;eu(b,312904,db);break}case 238:{c[eb>>2]=321406;eu(b,312904,eb);$d=243;break}case 240:{eu(b,321419,fb);$d=243;break}case 242:{eu(b,320938,gb);$d=243;break}case 246:{c[hb>>2]=315712;c[hb+4>>2]=321447;eu(b,312701,hb);break}case 248:{eu(b,321468,ib);break}case 250:{eu(b,321505,jb);break}case 252:{eu(b,320036,kb);break}case 254:{c[lb>>2]=315712;c[lb+4>>2]=321538;eu(b,312701,lb);break}case 256:{eu(b,321559,mb);break}case 258:{eu(b,321596,nb);break}case 260:{eu(b,320036,pb);break}case 262:{eu(b,321629,qb);break}case 264:{eu(b,319355,rb);break}case 266:{eu(b,321658,sb);break}case 268:{eu(b,319355,tb);break}case 270:{eu(b,321688,ub);break}case 272:{eu(b,319355,vb);break}case 274:{eu(b,321716,wb);break}case 276:{eu(b,319355,xb);break}case 278:{c[yb>>2]=315712;c[yb+4>>2]=321746;eu(b,312701,yb);break}case 280:{eu(b,321755,Ab);break}case 282:{eu(b,320144,Bb);break}case 284:{c[Cb>>2]=330963;c[Cb+4>>2]=321788;eu(b,312701,Cb);break}case 286:{eu(b,321802,Db);break}case 288:{eu(b,320387,Eb);break}case 291:{c[Fb>>2]=321336;eu(b,312904,Fb);break}case 293:{c[Gb>>2]=321351;eu(b,312904,Gb);$d=298;break}case 295:{eu(b,321838,Ib);$d=298;break}case 297:{eu(b,320938,Jb);$d=298;break}case 301:{eu(b,321870,Kb);break}case 303:{eu(b,319355,Lb);break}case 305:{c[Mb>>2]=321900;eu(b,314399,Mb);break}case 314:{eu(b,319405,Ob);break}case 316:{eu(b,321919,Pb);break}case 318:{eu(b,319469,Qb);break}case 320:{eu(b,321945,Rb);break}case 322:{eu(b,319355,Tb);break}case 324:{eu(b,321973,Ub);break}case 326:{eu(b,319355,Vb);break}case 328:{c[Wb>>2]=322003;eu(b,312904,Wb);break}case 330:{eu(b,322015,Xb);break}case 332:{eu(b,319682,Yb);break}case 334:{c[Zb>>2]=322043;eu(b,312904,Zb);break}case 336:{c[_b>>2]=322003;eu(b,312904,_b);break}case 338:{eu(b,322059,$b);break}case 340:{eu(b,322089,bc);break}case 342:{eu(b,321688,cc);break}case 344:{eu(b,319355,dc);break}case 346:{eu(b,321870,ec);break}case 348:{eu(b,319355,fc);break}case 350:{c[gc>>2]=321336;eu(b,312904,gc);break}case 352:{c[hc>>2]=321351;eu(b,312904,hc);$d=357;break}case 354:{eu(b,322124,ic);$d=357;break}case 356:{eu(b,320938,jc);$d=357;break}case 360:{c[lc>>2]=321336;eu(b,312904,lc);break}case 362:{c[mc>>2]=321351;eu(b,312904,mc);$d=367;break}case 364:{eu(b,322159,nc);$d=367;break}case 366:{eu(b,320938,oc);$d=367;break}case 370:{c[pc>>2]=321336;eu(b,312904,pc);break}case 372:{c[qc>>2]=321351;eu(b,312904,qc);$d=377;break}case 374:{eu(b,322192,rc);$d=377;break}case 376:{eu(b,320938,sc);$d=377;break}case 380:{c[uc>>2]=321390;eu(b,312904,uc);break}case 382:{c[vc>>2]=321406;eu(b,312904,vc);$d=387;break}case 384:{eu(b,322225,wc);$d=387;break}case 386:{eu(b,320938,xc);$d=387;break}case 390:{c[yc>>2]=322259;eu(b,312904,yc);break}case 392:{c[zc>>2]=322276;eu(b,312904,zc);$d=397;break}case 394:{eu(b,322290,Ac);$d=397;break}case 396:{eu(b,320938,Bc);$d=397;break}case 400:{c[Dc>>2]=322259;eu(b,312904,Dc);break}case 402:{c[Ec>>2]=322276;eu(b,312904,Ec);$d=407;break}case 404:{eu(b,322322,Fc);$d=407;break}case 406:{eu(b,320938,Gc);$d=407;break}case 410:{c[Hc>>2]=322361;eu(b,312904,Hc);break}case 412:{c[Ic>>2]=315712;c[Ic+4>>2]=322380;eu(b,312701,Ic);break}case 414:{eu(b,322401,Jc);break}case 416:{eu(b,322426,Kc);break}case 418:{eu(b,320938,Lc);break}case 420:{c[Mc>>2]=322361;eu(b,312904,Mc);break}case 422:{c[Nc>>2]=315712;c[Nc+4>>2]=322458;eu(b,312701,Nc);break}case 424:{eu(b,322401,Pc);break}case 426:{eu(b,322480,Qc);break}case 428:{eu(b,320938,Rc);break}case 430:{c[Sc>>2]=322513;eu(b,312904,Sc);break}case 433:{eu(b,322527,Tc);break}case 435:{eu(b,322558,Uc);break}case 437:{eu(b,320036,Vc);break}case 439:{c[Wc>>2]=315712;c[Wc+4>>2]=322458;eu(b,312701,Wc);break}case 441:{eu(b,322401,Yc);break}case 443:{eu(b,322589,Zc);break}case 445:{eu(b,320036,_c);break}case 447:{c[$c>>2]=315712;c[$c+4>>2]=322458;eu(b,312701,$c);break}case 449:{eu(b,322401,ad);break}case 451:{c[bd>>2]=315712;c[bd+4>>2]=322458;eu(b,312701,bd);break}case 453:{eu(b,322401,cd);break}case 455:{eu(b,322622,dd);break}case 457:{eu(b,320938,fd);break}case 459:{c[gd>>2]=315712;c[gd+4>>2]=322380;eu(b,312701,gd);break}case 461:{eu(b,322401,hd);break}case 463:{c[id>>2]=315712;c[id+4>>2]=322380;eu(b,312701,id);break}case 465:{eu(b,322401,jd);break}case 467:{eu(b,322655,kd);break}case 469:{eu(b,320938,ld);break}case 471:{c[md>>2]=322687;eu(b,312904,md);break}case 473:{eu(b,322699,nd);break}case 475:{eu(b,320036,od);break}case 477:{c[pd>>2]=322687;eu(b,312904,pd);break}case 479:{eu(b,322730,qd);break}case 481:{eu(b,320036,sd);break}case 483:{c[td>>2]=322687;eu(b,312904,td);break}case 485:{eu(b,322761,ud);break}case 487:{eu(b,320036,vd);break}case 489:{c[wd>>2]=322687;eu(b,312904,wd);break}case 491:{eu(b,322793,yd);break}case 493:{eu(b,320036,zd);break}case 495:{eu(b,322825,Ad);break}case 497:{eu(b,319355,Bd);break}case 499:{eu(b,322855,Dd);break}case 501:{eu(b,319355,Ed);break}case 502:{pu(b,j,0);break}}de=1;aa=ce;return de|0}else f=0;while(0);if((g|0)!=(e|0)){eu(b,322887,ae);de=1;aa=ce;return de|0}if(f){de=0;aa=ce;return de|0}eu(b,322924,be);de=1;aa=ce;return de|0}function pu(b,e,f){b=b|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=aa;aa=aa+48|0;n=q+8|0;p=q;o=q+36|0;k=q+24|0;m=q+12|0;g=_A(32)|0;c[o>>2]=g;c[o+8>>2]=-2147483616;c[o+4>>2]=17;h=g;i=322963;j=h+17|0;do{a[h>>0]=a[i>>0]|0;h=h+1|0;i=i+1|0}while((h|0)<(j|0));a[g+17>>0]=0;if(f|0){wB(o,32);vB(o,f)|0}vB(o,322981)|0;Fm(k,e);l=c[k>>2]|0;j=k+4|0;g=c[j>>2]|0;if((l|0)!=(g|0)){h=m+11|0;i=m+4|0;f=l;do{c[n>>2]=d[f>>0];Ij(m,322983,n);r=a[h>>0]|0;k=r<<24>>24<0;e=c[m>>2]|0;uB(o,k?e:m,k?c[i>>2]|0:r&255)|0;if(k)$A(e);f=f+1|0}while((f|0)!=(g|0))}g=o+11|0;c[p>>2]=(a[g>>0]|0)<0?c[o>>2]|0:o;eu(b,330905,p);if(l|0){c[j>>2]=l;$A(l)}if((a[g>>0]|0)>=0){aa=q;return}$A(c[o>>2]|0);aa=q;return}function qu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=a+8|0;e=c[k>>2]|0;j=a+4|0;d=c[j>>2]|0;if(e-d>>2>>>0>=b>>>0){uC(d|0,0,b<<2|0)|0;c[j>>2]=d+(b<<2);return}i=c[a>>2]|0;g=d-i|0;f=g>>2;d=f+b|0;if(d>>>0>1073741823)HB();m=e-i|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{l=_A(e<<2)|0;h=l;break}else{h=0;l=0}while(0);d=l+(f<<2)|0;uC(d|0,0,b<<2|0)|0;if((g|0)>0)sC(h|0,i|0,g|0)|0;c[a>>2]=l;c[j>>2]=d+(b<<2);c[k>>2]=l+(e<<2);if(!i)return;$A(i);return}function ru(a){a=a|0;return}function su(a){a=a|0;$A(a);return}function tu(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+8>>2]&511](a,b)|0}function uu(a,b){a=a|0;b=b|0;c[a+4>>2]=b;a=c[a+12>>2]|0;na[c[(c[a>>2]|0)+12>>2]&31](a,b);return}function vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,330005,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;b=fa[c[(c[h>>2]|0)+16>>2]&511](h,b)|0;aa=i;return b|0}function wu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,329994,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+20>>2]&127](g)|0;aa=h;return g|0}function xu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;a=c[a+12>>2]|0;return ha[c[(c[a>>2]|0)+24>>2]&127](a,b,d,e)|0}function yu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;j=k+8|0;h=k;i=a+16|0;e=c[i>>2]|0;if(e>>>0<=142){f=a+8|0;if(!e)e=f;else g=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[i>>2]|0;g=6}if((g|0)==6){Qn(c[f>>2]|0,17104,e,0,0);e=f}f=c[e>>2]|0;g=c[d>>2]|0;c[j>>2]=c[d+4>>2];c[j+4>>2]=g;c[j+8>>2]=b;Pn(f,329955,j);c[i>>2]=(c[i>>2]|0)+2;a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+28>>2]|0;f=d;g=c[f+4>>2]|0;d=h;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];j=ga[i&127](a,b,j)|0;aa=k;return j|0}function zu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,329937,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+32>>2]&127](g)|0;aa=h;return g|0}function Au(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,329914,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+36>>2]&511](h,b)|0;aa=i;return h|0}function Bu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,329897,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+40>>2]&511](h,b)|0;aa=i;return h|0}function Cu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=aa;aa=aa+80|0;u=v+64|0;t=v+56|0;s=v+48|0;r=v+40|0;q=v+32|0;p=v+24|0;o=v+16|0;n=v+8|0;m=v;j=a+16|0;h=c[j>>2]|0;if(h>>>0<=142){i=a+8|0;if(!h)l=i;else k=6}else{i=a+8|0;do{Qn(c[i>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[j>>2]|0;k=6}if((k|0)==6){Qn(c[i>>2]|0,17104,h,0,0);l=i}k=c[l>>2]|0;c[m>>2]=b;Pn(k,329856,m);Pn(c[l>>2]|0,329883,n);if(d|0){i=d+-1|0;j=a+8|0;h=0;do{_x(c[j>>2]|0,c[e+(h<<2)>>2]|0);if((h|0)!=(i|0))Pn(c[l>>2]|0,330984,o);h=h+1|0}while((h|0)!=(d|0))}Pn(c[l>>2]|0,330908,p);Pn(c[l>>2]|0,329885,q);Pn(c[l>>2]|0,329883,r);if(!f){s=c[l>>2]|0;Pn(s,330908,t);t=c[l>>2]|0;Pn(t,326855,u);u=a+12|0;u=c[u>>2]|0;t=c[u>>2]|0;t=t+44|0;t=c[t>>2]|0;u=ja[t&31](u,b,d,e,f,g)|0;aa=v;return u|0}i=f+-1|0;j=a+8|0;h=0;do{_x(c[j>>2]|0,c[g+(h<<2)>>2]|0);if((h|0)!=(i|0))Pn(c[l>>2]|0,330984,s);h=h+1|0}while((h|0)!=(f|0));s=c[l>>2]|0;Pn(s,330908,t);t=c[l>>2]|0;Pn(t,326855,u);u=a+12|0;u=c[u>>2]|0;t=c[u>>2]|0;t=t+44|0;t=c[t>>2]|0;u=ja[t&31](u,b,d,e,f,g)|0;aa=v;return u|0}function Du(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,329840,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+48>>2]&127](g)|0;aa=h;return g|0}function Eu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,329815,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+52>>2]&511](h,b)|0;aa=i;return h|0}function Fu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,329796,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+56>>2]&511](h,b)|0;aa=i;return h|0}function Gu(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;n=aa;aa=aa+48|0;m=n+16|0;l=n+40|0;j=n+8|0;k=n;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;o=c[d+4>>2]|0;f=c[d>>2]|0;h=c[e+4>>2]|0;g=c[e>>2]|0;c[m>>2]=b;c[m+4>>2]=o;c[m+8>>2]=f;c[m+12>>2]=h;c[m+16>>2]=g;Pn(i,329744,m);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+60>>2]|0;g=d;d=c[g+4>>2]|0;h=j;c[h>>2]=c[g>>2];c[h+4>>2]=d;h=e;e=c[h+4>>2]|0;d=k;c[d>>2]=c[h>>2];c[d+4>>2]=e;c[l>>2]=c[j>>2];c[l+4>>2]=c[j+4>>2];c[m>>2]=c[k>>2];c[m+4>>2]=c[k+4>>2];m=ha[i&127](a,b,l,m)|0;aa=n;return m|0}function Hu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=aa;aa=aa+48|0;o=p+16|0;n=p+32|0;l=p+8|0;m=p;j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){h=a+8|0;if(i)k=6}else{h=a+8|0;do{Qn(c[h>>2]|0,17104,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)Qn(c[h>>2]|0,17104,i,0,0);k=c[h>>2]|0;c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=g;Pn(k,329681,o);a=c[a+12>>2]|0;k=c[(c[a>>2]|0)+64>>2]|0;i=d;d=c[i+4>>2]|0;j=l;c[j>>2]=c[i>>2];c[j+4>>2]=d;j=e;e=c[j+4>>2]|0;d=m;c[d>>2]=c[j>>2];c[d+4>>2]=e;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];o=ja[k&31](a,b,n,o,f,g)|0;aa=p;return o|0}function Iu(b,d,e,f,g,h,i){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;t=aa;aa=aa+176|0;s=t+144|0;r=t+160|0;m=t+136|0;l=t+120|0;q=t;o=t+112|0;p=t+104|0;k=i;j=c[k>>2]|0;k=c[k+4>>2]|0;if(!(a[i+16>>0]|0)){l=m;c[l>>2]=j;c[l+4>>2]=k;Sz(q,100,329111,m)|0}else{u=i+8|0;v=c[u>>2]|0;u=c[u+4>>2]|0;m=l;c[m>>2]=j;c[m+4>>2]=k;m=l+8|0;c[m>>2]=v;c[m+4>>2]=u;Sz(q,100,329086,l)|0}l=b+16|0;k=c[l>>2]|0;if(k>>>0<=142){j=b+8|0;if(k)n=9}else{j=b+8|0;do{Qn(c[j>>2]|0,17104,142,0,0);k=k+-142|0}while(k>>>0>142);k=c[l>>2]|0;n=9}if((n|0)==9)Qn(c[j>>2]|0,17104,k,0,0);j=c[j>>2]|0;do switch(h|0){case -1:{k=330980;break}case -2:{k=330976;break}case -3:{k=330972;break}case -4:{k=330968;break}case -5:{k=330963;break}case -16:{k=330955;break}case -32:{k=330950;break}case -24:{k=330939;break}case -64:{k=330934;break}case 0:{k=330930;break}case -17:{k=330923;break}default:k=330910}while(0);c[s>>2]=d;c[s+4>>2]=g;c[s+8>>2]=k;c[s+12>>2]=q;Pn(j,329612,s);v=c[b+12>>2]|0;u=c[(c[v>>2]|0)+68>>2]|0;q=e;b=c[q+4>>2]|0;e=o;c[e>>2]=c[q>>2];c[e+4>>2]=b;e=c[f+4>>2]|0;b=p;c[b>>2]=c[f>>2];c[b+4>>2]=e;c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];c[s>>2]=c[p>>2];c[s+4>>2]=c[p+4>>2];v=ka[u&31](v,d,r,s,g,h,i)|0;aa=t;return v|0}function Ju(b,d,e,f,g,h){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;s=aa;aa=aa+176|0;r=s+144|0;q=s+160|0;l=s+136|0;k=s+120|0;p=s;n=s+112|0;o=s+104|0;j=h;i=c[j>>2]|0;j=c[j+4>>2]|0;if(!(a[h+16>>0]|0)){k=l;c[k>>2]=i;c[k+4>>2]=j;Sz(p,100,329111,l)|0}else{t=h+8|0;u=c[t>>2]|0;t=c[t+4>>2]|0;l=k;c[l>>2]=i;c[l+4>>2]=j;l=k+8|0;c[l>>2]=u;c[l+4>>2]=t;Sz(p,100,329086,k)|0}k=b+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=b+8|0;if(j)m=9}else{i=b+8|0;do{Qn(c[i>>2]|0,17104,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;m=9}if((m|0)==9)Qn(c[i>>2]|0,17104,j,0,0);u=c[i>>2]|0;c[r>>2]=d;c[r+4>>2]=g;c[r+8>>2]=p;Pn(u,329556,r);u=c[b+12>>2]|0;t=c[(c[u>>2]|0)+72>>2]|0;p=e;b=c[p+4>>2]|0;e=n;c[e>>2]=c[p>>2];c[e+4>>2]=b;e=c[f+4>>2]|0;b=o;c[b>>2]=c[f>>2];c[b+4>>2]=e;c[q>>2]=c[n>>2];c[q+4>>2]=c[n+4>>2];c[r>>2]=c[o>>2];c[r+4>>2]=c[o+4>>2];u=ja[t&31](u,d,q,r,g,h)|0;aa=s;return u|0}function Ku(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=aa;aa=aa+48|0;p=q+16|0;o=q+32|0;m=q+8|0;n=q;k=a+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=a+8|0;if(j)l=6}else{i=a+8|0;do{Qn(c[i>>2]|0,17104,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;l=6}if((l|0)==6)Qn(c[i>>2]|0,17104,j,0,0);i=c[i>>2]|0;do switch(g|0){case -1:{j=330980;break}case -2:{j=330976;break}case -3:{j=330972;break}case -4:{j=330968;break}case -5:{j=330963;break}case -16:{j=330955;break}case -32:{j=330950;break}case -24:{j=330939;break}case -64:{j=330934;break}case 0:{j=330930;break}case -17:{j=330923;break}default:j=330910}while(0);c[p>>2]=b;c[p+4>>2]=f;c[p+8>>2]=j;c[p+12>>2]=h?326111:326116;Pn(i,329481,p);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+76>>2]|0;j=d;d=c[j+4>>2]|0;k=m;c[k>>2]=c[j>>2];c[k+4>>2]=d;k=e;e=c[k+4>>2]|0;d=n;c[d>>2]=c[k>>2];c[d+4>>2]=e;c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];c[p>>2]=c[n>>2];c[p+4>>2]=c[n+4>>2];g=ka[l&31](a,b,o,p,f,g,h)|0;aa=q;return g|0}function Lu(a,b,d,e,f,g){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=aa;aa=aa+48|0;o=p+16|0;n=p+32|0;l=p+8|0;m=p;j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){h=a+8|0;if(i)k=6}else{h=a+8|0;do{Qn(c[h>>2]|0,17104,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)Qn(c[h>>2]|0,17104,i,0,0);k=c[h>>2]|0;c[o>>2]=b;c[o+4>>2]=f;c[o+8>>2]=g;Pn(k,329416,o);a=c[a+12>>2]|0;k=c[(c[a>>2]|0)+80>>2]|0;i=d;d=c[i+4>>2]|0;j=l;c[j>>2]=c[i>>2];c[j+4>>2]=d;j=e;e=c[j+4>>2]|0;d=m;c[d>>2]=c[j>>2];c[d+4>>2]=e;c[n>>2]=c[l>>2];c[n+4>>2]=c[l+4>>2];c[o>>2]=c[m>>2];c[o+4>>2]=c[m+4>>2];o=ja[k&31](a,b,n,o,f,g)|0;aa=p;return o|0}function Mu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,329398,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+84>>2]&127](g)|0;aa=h;return g|0}function Nu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,329371,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+88>>2]&511](h,b)|0;aa=i;return h|0}function Ou(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,329350,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+92>>2]&511](h,b)|0;aa=i;return h|0}function Pu(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,329312,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+96>>2]&127](i,b,d)|0;aa=j;return i|0}function Qu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,329292,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+100>>2]&127](g)|0;aa=h;return g|0}function Ru(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,329268,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+104>>2]&511](h,b)|0;aa=i;return h|0}function Su(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,329250,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+108>>2]&511](h,b)|0;aa=i;return h|0}function Tu(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=aa;aa=aa+144|0;m=n+128|0;j=n+120|0;i=n+104|0;l=n;h=f;g=c[h>>2]|0;h=c[h+4>>2]|0;if(!(a[f+16>>0]|0)){i=j;c[i>>2]=g;c[i+4>>2]=h;Sz(l,100,329111,j)|0}else{o=f+8|0;p=c[o>>2]|0;o=c[o+4>>2]|0;j=i;c[j>>2]=g;c[j+4>>2]=h;j=i+8|0;c[j>>2]=p;c[j+4>>2]=o;Sz(l,100,329086,i)|0}i=b+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=b+8|0;if(h)k=9}else{g=b+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;k=9}if((k|0)==9)Qn(c[g>>2]|0,17104,h,0,0);g=c[g>>2]|0;do switch(e|0){case -1:{h=330980;break}case -2:{h=330976;break}case -3:{h=330972;break}case -4:{h=330968;break}case -5:{h=330963;break}case -16:{h=330955;break}case -32:{h=330950;break}case -24:{h=330939;break}case -64:{h=330934;break}case 0:{h=330930;break}case -17:{h=330923;break}default:h=330910}while(0);c[m>>2]=d;c[m+4>>2]=h;c[m+8>>2]=l;Pn(g,329211,m);p=c[b+12>>2]|0;p=ha[c[(c[p>>2]|0)+112>>2]&127](p,d,e,f)|0;aa=n;return p|0}function Uu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,329194,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+116>>2]&127](g)|0;aa=h;return g|0}function Vu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,329169,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+120>>2]&511](h,b)|0;aa=i;return h|0}function Wu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,329150,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+124>>2]&511](h,b)|0;aa=i;return h|0}function Xu(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=aa;aa=aa+144|0;l=m+128|0;i=m+120|0;h=m+104|0;k=m;g=e;f=c[g>>2]|0;g=c[g+4>>2]|0;if(!(a[e+16>>0]|0)){h=i;c[h>>2]=f;c[h+4>>2]=g;Sz(k,100,329111,i)|0}else{n=e+8|0;o=c[n>>2]|0;n=c[n+4>>2]|0;i=h;c[i>>2]=f;c[i+4>>2]=g;i=h+8|0;c[i>>2]=o;c[i+4>>2]=n;Sz(k,100,329086,h)|0}h=b+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=b+8|0;if(g)j=9}else{f=b+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;j=9}if((j|0)==9)Qn(c[f>>2]|0,17104,g,0,0);o=c[f>>2]|0;c[l>>2]=d;c[l+4>>2]=k;Pn(o,329125,l);o=c[b+12>>2]|0;o=ga[c[(c[o>>2]|0)+128>>2]&127](o,d,e)|0;aa=m;return o|0}function Yu(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,329068,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+132>>2]&127](g)|0;aa=h;return g|0}function Zu(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,329043,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+136>>2]&511](h,b)|0;aa=i;return h|0}function _u(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,329024,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+140>>2]&511](h,b)|0;aa=i;return h|0}function $u(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);f=c[f>>2]|0;do switch(d|0){case -1:{g=330980;break}case -2:{g=330976;break}case -3:{g=330972;break}case -4:{g=330968;break}case -5:{g=330963;break}case -16:{g=330955;break}case -32:{g=330950;break}case -24:{g=330939;break}case -64:{g=330934;break}case 0:{g=330930;break}case -17:{g=330923;break}default:g=330910}while(0);c[j>>2]=b;c[j+4>>2]=g;c[j+8>>2]=e?326111:326116;Pn(f,328977,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+144>>2]&127](j,b,d,e)|0;aa=k;return j|0}function av(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328952,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+148>>2]&511](h,b)|0;aa=i;return h|0}function bv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328929,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+152>>2]&511](h,b)|0;aa=i;return h|0}function cv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328914,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+156>>2]&511](h,b)|0;aa=i;return h|0}function dv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,328896,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+160>>2]&127](g)|0;aa=h;return g|0}function ev(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,328871,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+164>>2]&511](h,b)|0;aa=i;return h|0}function fv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328852,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+168>>2]&511](h,b)|0;aa=i;return h|0}function gv(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);g=c[g>>2]|0;if((d|0)<5)h=c[64+(d<<2)>>2]|0;else h=328778;i=c[f+4>>2]|0;j=c[f>>2]|0;c[l>>2]=b;c[l+4>>2]=h;c[l+8>>2]=e;c[l+12>>2]=i;c[l+16>>2]=j;Pn(g,328791,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+172>>2]|0;h=f;i=c[h+4>>2]|0;f=k;c[f>>2]=c[h>>2];c[f+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,e,l)|0;aa=m;return l|0}function hv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,328760,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+176>>2]&127](g)|0;aa=h;return g|0}function iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,328736,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+180>>2]&511](h,b)|0;aa=i;return h|0}function jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328715,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+184>>2]&511](h,b)|0;aa=i;return h|0}function kv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,328698,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+188>>2]&127](g)|0;aa=h;return g|0}function lv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,328675,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+192>>2]&511](h,b)|0;aa=i;return h|0}function mv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328650,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+196>>2]&511](h,b)|0;aa=i;return h|0}function nv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,328617,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+200>>2]&127](i,b,d)|0;aa=j;return i|0}function ov(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328595,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+204>>2]&511](h,b)|0;aa=i;return h|0}function pv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);f=c[f>>2]|0;do switch(e|0){case -1:{g=330980;break}case -2:{g=330976;break}case -3:{g=330972;break}case -4:{g=330968;break}case -5:{g=330963;break}case -16:{g=330955;break}case -32:{g=330950;break}case -24:{g=330939;break}case -64:{g=330934;break}case 0:{g=330930;break}case -17:{g=330923;break}default:g=330910}while(0);c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=g;Pn(f,328550,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+208>>2]&127](j,b,d,e)|0;aa=k;return j|0}function qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;d=aa;aa=aa+16|0;e=d+4|0;g=d;a=c[a+12>>2]|0;f=c[(c[a>>2]|0)+212>>2]|0;c[g>>2]=c[b>>2];c[e>>2]=c[g>>2];a=fa[f&511](a,e)|0;aa=d;return a|0}function rv(a){a=a|0;a=c[a+12>>2]|0;return ea[c[(c[a>>2]|0)+216>>2]&127](a)|0}function sv(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+220>>2]&511](a,b)|0}function tv(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+224>>2]&511](a,b)|0}function uv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+228>>2]&127](a,b,d)|0}function vv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+232>>2]&127](a,b,d)|0}function wv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+236>>2]&127](a,b,d)|0}function xv(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+240>>2]&511](a,b)|0}function yv(a,b,d){a=a|0;b=b|0;d=d|0;a=c[a+12>>2]|0;return ga[c[(c[a>>2]|0)+244>>2]&127](a,b,d)|0}function zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;d=aa;aa=aa+16|0;e=d;a=c[a+12>>2]|0;f=c[(c[a>>2]|0)+248>>2]|0;c[e>>2]=c[b>>2];c[e+4>>2]=c[b+4>>2];c[e+8>>2]=c[b+8>>2];c[e+12>>2]=c[b+12>>2];b=fa[f&511](a,e)|0;aa=d;return b|0}function Av(a,b){a=a|0;b=b|0;a=c[a+12>>2]|0;return fa[c[(c[a>>2]|0)+252>>2]&511](a,b)|0}function Bv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,328485,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+256>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Cv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,328419,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+260>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Dv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,328355,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+264>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Ev(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,328284,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+268>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Fv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,328219,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+272>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Gv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,328152,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+276>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Hv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Am(j,b);f=c[j>>2]|0;Am(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;Pn(g,328127,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+280>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function Iv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);Pn(c[d>>2]|0,328109,h);_x(c[d>>2]|0,b);Pn(c[d>>2]|0,326855,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+284>>2]&511](i,b)|0;aa=j;return i|0}function Jv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328088,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+288>>2]&511](h,b)|0;aa=i;return h|0}function Kv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,328065,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+292>>2]&511](h,b)|0;aa=i;return h|0}function Lv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,328022,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+296>>2]&127](i,b,d)|0;aa=j;return i|0}function Mv(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=aa;aa=aa+32|0;l=n+24|0;k=n+16|0;m=n+8|0;j=n;h=a+16|0;f=c[h>>2]|0;if(f>>>0<=142){g=a+8|0;if(f)i=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[g>>2]|0,17104,f,0,0);f=c[g>>2]|0;c[j>>2]=b;Pn(f,327964,j);f=c[g>>2]|0;if(b){i=b+-1|0;h=0;do{c[k>>2]=c[d+(h<<2)>>2];Pn(f,331596,k);if((h|0)!=(i|0))Pn(c[g>>2]|0,330984,l);h=h+1|0;f=c[g>>2]|0}while((h|0)!=(b|0))}c[m>>2]=e;Pn(f,328005,m);m=c[a+12>>2]|0;m=ha[c[(c[m>>2]|0)+300>>2]&127](m,b,d,e)|0;aa=n;return m|0}function Nv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327936,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+304>>2]&511](h,b)|0;aa=i;return h|0}function Ov(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,327884,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+308>>2]&127](i,b,d)|0;aa=j;return i|0}function Pv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327871,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+312>>2]&127](g)|0;aa=h;return g|0}function Qv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Am(j,b);f=c[j>>2]|0;Am(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;Pn(g,327845,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+316>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function Rv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Am(j,b);f=c[j>>2]|0;Am(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;Pn(g,327819,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+320>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function Sv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327807,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+324>>2]&127](g)|0;aa=h;return g|0}function Tv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327795,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+328>>2]&127](g)|0;aa=h;return g|0}function Uv(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327784,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+332>>2]&127](g)|0;aa=h;return g|0}function Vv(a){a=a|0;a=c[a+12>>2]|0;return ea[c[(c[a>>2]|0)+336>>2]&127](a)|0}function Wv(a,b){a=a|0;b=b|0;var d=0,e=0,i=0,j=0,k=0.0,l=0,m=0;m=aa;aa=aa+16|0;l=m;k=(c[h>>2]=b,+f[h>>2]);i=a+16|0;e=c[i>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)j=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[d>>2]|0,17104,e,0,0);j=c[d>>2]|0;g[l>>3]=k;c[l+8>>2]=b;Pn(j,327755,l);l=c[a+12>>2]|0;l=fa[c[(c[l>>2]|0)+340>>2]&511](l,b)|0;aa=m;return l|0}function Xv(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,i=0,j=0,k=0.0,l=0,m=0;m=aa;aa=aa+16|0;l=m;c[h>>2]=b;c[h+4>>2]=d;k=+g[h>>3];i=a+16|0;f=c[i>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)j=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[e>>2]|0,17104,f,0,0);j=c[e>>2]|0;g[l>>3]=k;i=l+8|0;c[i>>2]=b;c[i+4>>2]=d;Pn(j,327724,l);l=c[a+12>>2]|0;l=ga[c[(c[l>>2]|0)+344>>2]&127](l,b,d)|0;aa=m;return l|0}function Yv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;d=c[b+4>>2]|0;e=c[b+8>>2]|0;f=c[b+12>>2]|0;c[h>>2]=c[b>>2];c[h+4>>2]=d;c[h+8>>2]=e;c[h+12>>2]=f;Pn(g,327678,h);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+348>>2]|0;c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];h=fa[g&511](a,h)|0;aa=i;return h|0}function Zv(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327650,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+352>>2]&511](h,b)|0;aa=i;return h|0}function _v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327622,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+356>>2]&511](h,b)|0;aa=i;return h|0}function $v(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;c[h+4>>2]=b;Pn(g,327595,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+360>>2]&511](h,b)|0;aa=i;return h|0}function aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;g=i;c[g>>2]=b;c[g+4>>2]=d;g=i+8|0;c[g>>2]=b;c[g+4>>2]=d;Pn(h,327564,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+364>>2]&127](i,b,d)|0;aa=j;return i|0}function bw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);Pn(c[d>>2]|0,327549,h);_x(c[d>>2]|0,b);Pn(c[d>>2]|0,326855,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+368>>2]&511](i,b)|0;aa=j;return i|0}function cw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,327490,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+372>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327463,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+376>>2]&511](h,b)|0;aa=i;return h|0}function ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327436,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+380>>2]&511](h,b)|0;aa=i;return h|0}function fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327409,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+384>>2]&511](h,b)|0;aa=i;return h|0}function gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);Pn(c[d>>2]|0,327392,h);_x(c[d>>2]|0,b);Pn(c[d>>2]|0,326855,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+388>>2]&511](i,b)|0;aa=j;return i|0}function hw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327374,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+392>>2]&127](g)|0;aa=h;return g|0}function iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327354,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+396>>2]&511](h,b)|0;aa=i;return h|0}function jw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327336,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+400>>2]&127](g)|0;aa=h;return g|0}function kw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327318,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+404>>2]&127](g)|0;aa=h;return g|0}function lw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327296,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+408>>2]&511](h,b)|0;aa=i;return h|0}function mw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327278,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+412>>2]&127](g)|0;aa=h;return g|0}function nw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327261,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+416>>2]&127](g)|0;aa=h;return g|0}function ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327241,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+420>>2]&511](h,b)|0;aa=i;return h|0}function pw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327220,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+424>>2]&511](h,b)|0;aa=i;return h|0}function qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327200,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+428>>2]&511](h,b)|0;aa=i;return h|0}function rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327180,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+432>>2]&511](h,b)|0;aa=i;return h|0}function sw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327159,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+436>>2]&511](h,b)|0;aa=i;return h|0}function tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327138,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+440>>2]&511](h,b)|0;aa=i;return h|0}function uw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327123,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+444>>2]&127](g)|0;aa=h;return g|0}function vw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327106,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+448>>2]&127](g)|0;aa=h;return g|0}function ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327095,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+452>>2]&127](g)|0;aa=h;return g|0}function xw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327080,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+456>>2]&127](g)|0;aa=h;return g|0}function yw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,327066,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+460>>2]&127](g)|0;aa=h;return g|0}function zw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,327032,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+464>>2]&511](h,b)|0;aa=i;return h|0}function Aw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,326974,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+468>>2]&127](i,b,d)|0;aa=j;return i|0}function Bw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,326960,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+472>>2]&127](g)|0;aa=h;return g|0}function Cw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,326900,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+476>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Dw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326870,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+480>>2]&511](h,b)|0;aa=i;return h|0}function Ew(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);Pn(c[d>>2]|0,326839,h);_x(c[d>>2]|0,b);Pn(c[d>>2]|0,326855,i);i=c[a+12>>2]|0;i=fa[c[(c[i>>2]|0)+484>>2]&511](i,b)|0;aa=j;return i|0}function Fw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Am(j,b);f=c[j>>2]|0;Am(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;Pn(g,326815,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+488>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function Gw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+48|0;i=k;j=k+8|0;h=k+44|0;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;b=c[b>>2]|0;Am(j,b);f=c[j>>2]|0;Am(j,b);j=c[j+28>>2]|0;c[i>>2]=f;c[i+4>>2]=j;Pn(g,326789,i);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+492>>2]|0;c[h>>2]=b;c[i>>2]=c[h>>2];a=fa[j&511](a,i)|0;aa=k;return a|0}function Hw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=c[e>>2]|0;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,326770,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+496>>2]&127](g)|0;aa=h;return g|0}function Iw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326749,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+500>>2]&511](h,b)|0;aa=i;return h|0}function Jw(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,326733,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+504>>2]&127](g)|0;aa=h;return g|0}function Kw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;j=l+8|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;h=k;c[h>>2]=d;c[h+4>>2]=e;Pn(i,326702,k);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+508>>2]|0;c[j>>2]=c[b>>2];c[k>>2]=c[j>>2];a=ha[i&127](a,k,d,e)|0;aa=l;return a|0}function Lw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+32|0;k=l;j=l+20|0;i=l+16|0;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;e=c[d+4>>2]|0;f=c[d+8>>2]|0;g=c[d+12>>2]|0;c[k>>2]=c[d>>2];c[k+4>>2]=e;c[k+8>>2]=f;c[k+12>>2]=g;Pn(h,326651,k);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+512>>2]|0;c[i>>2]=c[b>>2];c[j>>2]=c[i>>2];c[k>>2]=c[d>>2];c[k+4>>2]=c[d+4>>2];c[k+8>>2]=c[d+8>>2];c[k+12>>2]=c[d+12>>2];k=ga[h&127](a,j,k)|0;aa=l;return k|0}function Mw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+64|0;k=m;l=m+16|0;j=m+52|0;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;b=c[b>>2]|0;Am(l,b);h=c[l>>2]|0;Am(l,b);l=c[l+28>>2]|0;c[k>>2]=h;c[k+4>>2]=l;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,326587,k);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+516>>2]|0;c[j>>2]=b;c[k>>2]=c[j>>2];a=ha[l&127](a,k,d,e)|0;aa=m;return a|0}function Nw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,326564,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+520>>2]&511](h,b)|0;aa=i;return h|0}function Ow(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326540,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+524>>2]&511](h,b)|0;aa=i;return h|0}function Pw(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);g=c[g>>2]|0;h=e?326111:326116;do switch(f|0){case -1:{i=330980;break}case -2:{i=330976;break}case -3:{i=330972;break}case -4:{i=330968;break}case -5:{i=330963;break}case -16:{i=330955;break}case -32:{i=330950;break}case -24:{i=330939;break}case -64:{i=330934;break}case 0:{i=330930;break}case -17:{i=330923;break}default:i=330910}while(0);c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=h;c[k+12>>2]=i;Pn(g,326466,k);k=c[a+12>>2]|0;k=ia[c[(c[k>>2]|0)+528>>2]&31](k,b,d,e,f)|0;aa=l;return k|0}function Qw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326436,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+532>>2]&511](h,b)|0;aa=i;return h|0}function Rw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326408,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+536>>2]&511](h,b)|0;aa=i;return h|0}function Sw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,326358,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+540>>2]&127](i,b,d)|0;aa=j;return i|0}function Tw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326323,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+544>>2]&511](h,b)|0;aa=i;return h|0}function Uw(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,326265,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+548>>2]&127](i,b,d)|0;aa=j;return i|0}function Vw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326245,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+552>>2]&511](h,b)|0;aa=i;return h|0}function Ww(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,326229,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+556>>2]&127](g)|0;aa=h;return g|0}function Xw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,326206,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+560>>2]&511](h,b)|0;aa=i;return h|0}function Yw(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326182,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+564>>2]&511](h,b)|0;aa=i;return h|0}function Zw(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e?326111:326116;Pn(i,326122,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+568>>2]&127](j,b,d,e)|0;aa=k;return j|0}function _w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326081,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+572>>2]&511](h,b)|0;aa=i;return h|0}function $w(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,326053,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+576>>2]&511](h,b)|0;aa=i;return h|0}function ax(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=e;Pn(i,326015,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+580>>2]&127](j,b,d,e)|0;aa=k;return j|0}function bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,325995,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+584>>2]&511](h,b)|0;aa=i;return h|0}function cx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,325979,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+588>>2]&127](g)|0;aa=h;return g|0}function dx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,325951,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+592>>2]&511](h,b)|0;aa=i;return h|0}function ex(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,325934,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+596>>2]&511](h,b)|0;aa=i;return h|0}function fx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,325913,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+600>>2]&127](g)|0;aa=h;return g|0}function gx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,325889,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+604>>2]&511](h,b)|0;aa=i;return h|0}function hx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;Pn(i,325832,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+608>>2]&127](j,b,d,e)|0;aa=k;return j|0}function ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;e=c[b>>2]|0;c[i>>2]=c[b+4>>2];c[i+4>>2]=e;Pn(g,325804,i);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+612>>2]|0;e=b;f=c[e+4>>2]|0;b=h;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];i=fa[g&511](a,i)|0;aa=j;return i|0}function jx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;Pn(i,325745,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+616>>2]&127](j,b,d,e)|0;aa=k;return j|0}function kx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,325719,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+620>>2]&511](h,b)|0;aa=i;return h|0}function lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+32|0;j=k+8|0;i=k;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;g=c[d+4>>2]|0;f=c[d>>2]|0;c[j>>2]=b;c[j+4>>2]=g;c[j+8>>2]=f;Pn(h,325678,j);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+624>>2]|0;f=d;g=c[f+4>>2]|0;d=i;c[d>>2]=c[f>>2];c[d+4>>2]=g;c[j>>2]=c[i>>2];c[j+4>>2]=c[i+4>>2];j=ga[h&127](a,b,j)|0;aa=k;return j|0}function mx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;c[j>>2]=b;c[j+4>>2]=d;c[j+8>>2]=e;Pn(i,325622,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+628>>2]&127](j,b,d,e)|0;aa=k;return j|0}function nx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,325592,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+632>>2]&511](h,b)|0;aa=i;return h|0}function ox(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,325547,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+636>>2]&127](i,b,d)|0;aa=j;return i|0}function px(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+32|0;k=l+8|0;j=l;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;h=c[e+4>>2]|0;g=c[e>>2]|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=h;c[k+12>>2]=g;Pn(i,325487,k);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+640>>2]|0;g=e;h=c[g+4>>2]|0;e=j;c[e>>2]=c[g>>2];c[e+4>>2]=h;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];k=ha[i&127](a,b,d,k)|0;aa=l;return k|0}function qx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,325470,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+644>>2]&127](g)|0;aa=h;return g|0}function rx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,325446,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+648>>2]&511](h,b)|0;aa=i;return h|0}function sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,325408,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+652>>2]&127](i,b,d)|0;aa=j;return i|0}function tx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);g=c[g>>2]|0;if((b|0)<13)h=c[96+(b<<2)>>2]|0;else h=325334;c[k>>2]=h;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=f;Pn(g,325353,k);k=c[a+12>>2]|0;k=ia[c[(c[k>>2]|0)+656>>2]&31](k,b,d,e,f)|0;aa=l;return k|0}function ux(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,325317,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+660>>2]&127](g)|0;aa=h;return g|0}function vx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,325292,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+664>>2]&511](h,b)|0;aa=i;return h|0}function wx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);j=c[g>>2]|0;c[k>>2]=b;c[k+4>>2]=d;c[k+8>>2]=e;c[k+12>>2]=f;Pn(j,325216,k);k=c[a+12>>2]|0;k=ia[c[(c[k>>2]|0)+668>>2]&31](k,b,d,e,f)|0;aa=l;return k|0}function xx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,325191,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+672>>2]&511](h,b)|0;aa=i;return h|0}function yx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j+8|0;h=j;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;e=c[b>>2]|0;c[i>>2]=c[b+4>>2];c[i+4>>2]=e;Pn(g,325163,i);a=c[a+12>>2]|0;g=c[(c[a>>2]|0)+676>>2]|0;e=b;f=c[e+4>>2]|0;b=h;c[b>>2]=c[e>>2];c[b+4>>2]=f;c[i>>2]=c[h>>2];c[i+4>>2]=c[h+4>>2];i=fa[g&511](a,i)|0;aa=j;return i|0}function zx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,325145,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+680>>2]&127](g)|0;aa=h;return g|0}function Ax(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,325119,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+684>>2]&511](h,b)|0;aa=i;return h|0}function Bx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,325100,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+688>>2]&511](h,b)|0;aa=i;return h|0}function Cx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);f=c[f>>2]|0;switch(d|0){case 0:{g=330950;break}case 2:{g=330254;break}case 1:{g=330223;break}case 3:{g=325060;break}case 4:{g=330237;break}default:g=325040}c[j>>2]=g;c[j+4>>2]=e;Pn(f,325068,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+692>>2]&127](j,b,d,e)|0;aa=k;return j|0}function Dx(a,b,d,e,f,g,h){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;h=h|0;var i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=aa;aa=aa+32|0;n=o+8|0;m=o;k=a+16|0;j=c[k>>2]|0;if(j>>>0<=142){i=a+8|0;if(j)l=6}else{i=a+8|0;do{Qn(c[i>>2]|0,17104,142,0,0);j=j+-142|0}while(j>>>0>142);j=c[k>>2]|0;l=6}if((l|0)==6)Qn(c[i>>2]|0,17104,j,0,0);l=c[i>>2]|0;j=c[e>>2]|0;c[n>>2]=c[e+4>>2];c[n+4>>2]=j;c[n+8>>2]=d;Pn(l,325002,n);a=c[a+12>>2]|0;l=c[(c[a>>2]|0)+696>>2]|0;j=e;k=c[j+4>>2]|0;e=m;c[e>>2]=c[j>>2];c[e+4>>2]=k;c[n>>2]=c[m>>2];c[n+4>>2]=c[m+4>>2];n=ka[l&31](a,b,d,n,f,g,h)|0;aa=o;return n|0}
+function Ex(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;Pn(j,324950,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+700>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function Fx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;Pn(j,324900,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+704>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function Gx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;c[j>>2]=d;c[j+4>>2]=e;Pn(i,324860,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+708>>2]&127](j,b,d,e)|0;aa=k;return j|0}function Hx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);j=c[g>>2]|0;h=c[e>>2]|0;c[l>>2]=c[e+4>>2];c[l+4>>2]=h;c[l+8>>2]=d;c[l+12>>2]=f;Pn(j,324811,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+712>>2]|0;h=e;i=c[h+4>>2]|0;e=k;c[e>>2]=c[h>>2];c[e+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,d,l,f)|0;aa=m;return l|0}function Ix(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,324787,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+716>>2]&511](h,b)|0;aa=i;return h|0}function Jx(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+32|0;l=m+8|0;k=m;i=a+16|0;h=c[i>>2]|0;if(h>>>0<=142){g=a+8|0;if(h)j=6}else{g=a+8|0;do{Qn(c[g>>2]|0,17104,142,0,0);h=h+-142|0}while(h>>>0>142);h=c[i>>2]|0;j=6}if((j|0)==6)Qn(c[g>>2]|0,17104,h,0,0);j=c[g>>2]|0;i=c[d+4>>2]|0;h=c[d>>2]|0;c[l>>2]=b;c[l+4>>2]=i;c[l+8>>2]=h;c[l+12>>2]=e;c[l+16>>2]=f;Pn(j,324729,l);a=c[a+12>>2]|0;j=c[(c[a>>2]|0)+720>>2]|0;h=d;i=c[h+4>>2]|0;d=k;c[d>>2]=c[h>>2];c[d+4>>2]=i;c[l>>2]=c[k>>2];c[l+4>>2]=c[k+4>>2];l=ia[j&31](a,b,l,e,f)|0;aa=m;return l|0}function Kx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,324704,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+724>>2]&511](h,b)|0;aa=i;return h|0}function Lx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=d;c[i+4>>2]=b;Pn(h,324671,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+728>>2]&127](i,b,d)|0;aa=j;return i|0}function Mx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,324652,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+732>>2]&511](h,b)|0;aa=i;return h|0}function Nx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+32|0;k=l+8|0;j=l;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;g=c[b>>2]|0;c[k>>2]=c[b+4>>2];c[k+4>>2]=g;c[k+8>>2]=d;c[k+12>>2]=e;Pn(i,324609,k);a=c[a+12>>2]|0;i=c[(c[a>>2]|0)+736>>2]|0;g=b;h=c[g+4>>2]|0;b=j;c[b>>2]=c[g>>2];c[b+4>>2]=h;c[k>>2]=c[j>>2];c[k+4>>2]=c[j+4>>2];k=ha[i&127](a,k,d,e)|0;aa=l;return k|0}function Ox(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,324573,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+740>>2]&127](i,b,d)|0;aa=j;return i|0}function Px(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,324554,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+744>>2]&127](g)|0;aa=h;return g|0}function Qx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=a+16|0;d=c[g>>2]|0;if(d>>>0<=142){e=a+8|0;if(!d)d=e;else f=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[g>>2]|0;f=6}if((f|0)==6){Qn(c[e>>2]|0,17104,d,0,0);d=e}f=c[d>>2]|0;c[h>>2]=b;Pn(f,324530,h);c[g>>2]=(c[g>>2]|0)+2;h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+748>>2]&511](h,b)|0;aa=i;return h|0}function Rx(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+16|0;e=c[f>>2]|0;if(e>>>0<=142){d=a+8|0;if(e)g=6}else{d=a+8|0;do{Qn(c[d>>2]|0,17104,142,0,0);e=e+-142|0}while(e>>>0>142);e=c[f>>2]|0;g=6}if((g|0)==6)Qn(c[d>>2]|0,17104,e,0,0);g=c[d>>2]|0;c[h>>2]=b;Pn(g,324512,h);h=c[a+12>>2]|0;h=fa[c[(c[h>>2]|0)+752>>2]&511](h,b)|0;aa=i;return h|0}function Sx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,324473,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+756>>2]&127](i,b,d)|0;aa=j;return i|0}function Tx(a){a=a|0;var b=0,d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;e=a+16|0;d=(c[e>>2]|0)+-2|0;c[e>>2]=d;if(d>>>0<=142){b=a+8|0;if(d)f=6}else{b=a+8|0;do{Qn(c[b>>2]|0,17104,142,0,0);d=d+-142|0}while(d>>>0>142);d=c[e>>2]|0;f=6}if((f|0)==6)Qn(c[b>>2]|0,17104,d,0,0);Pn(c[b>>2]|0,324456,g);g=c[a+12>>2]|0;g=ea[c[(c[g>>2]|0)+760>>2]&127](g)|0;aa=h;return g|0}function Ux(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,i=0,j=0,k=0,l=0.0,m=0,n=0;n=aa;aa=aa+32|0;m=n;l=(c[h>>2]=d,+f[h>>2]);j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){e=a+8|0;if(i)k=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)Qn(c[e>>2]|0,17104,i,0,0);k=c[e>>2]|0;c[m>>2]=b;g[m+8>>3]=l;c[m+16>>2]=d;Pn(k,324401,m);m=c[a+12>>2]|0;m=ga[c[(c[m>>2]|0)+764>>2]&127](m,b,d)|0;aa=n;return m|0}function Vx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,i=0,j=0,k=0,l=0.0,m=0,n=0;n=aa;aa=aa+32|0;m=n;c[h>>2]=d;c[h+4>>2]=e;l=+g[h>>3];j=a+16|0;i=c[j>>2]|0;if(i>>>0<=142){f=a+8|0;if(i)k=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);i=i+-142|0}while(i>>>0>142);i=c[j>>2]|0;k=6}if((k|0)==6)Qn(c[f>>2]|0,17104,i,0,0);k=c[f>>2]|0;c[m>>2]=b;g[m+8>>3]=l;j=m+16|0;c[j>>2]=d;c[j+4>>2]=e;Pn(k,324345,m);m=c[a+12>>2]|0;m=ha[c[(c[m>>2]|0)+768>>2]&127](m,b,d,e)|0;aa=n;return m|0}function Wx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+32|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;k=c[d>>2]|0;e=c[d+4>>2]|0;f=c[d+8>>2]|0;g=c[d+12>>2]|0;c[i>>2]=b;c[i+4>>2]=k;c[i+8>>2]=e;c[i+12>>2]=f;c[i+16>>2]=g;Pn(h,324271,i);a=c[a+12>>2]|0;h=c[(c[a>>2]|0)+772>>2]|0;c[i>>2]=c[d>>2];c[i+4>>2]=c[d+4>>2];c[i+8>>2]=c[d+8>>2];c[i+12>>2]=c[d+12>>2];i=ga[h&127](a,b,i)|0;aa=j;return i|0}function Xx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,324217,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+776>>2]&127](i,b,d)|0;aa=j;return i|0}function Yx(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a+16|0;f=c[g>>2]|0;if(f>>>0<=142){e=a+8|0;if(f)h=6}else{e=a+8|0;do{Qn(c[e>>2]|0,17104,142,0,0);f=f+-142|0}while(f>>>0>142);f=c[g>>2]|0;h=6}if((h|0)==6)Qn(c[e>>2]|0,17104,f,0,0);h=c[e>>2]|0;c[i>>2]=b;c[i+4>>2]=d;Pn(h,324171,i);i=c[a+12>>2]|0;i=ga[c[(c[i>>2]|0)+780>>2]&127](i,b,d)|0;aa=j;return i|0}function Zx(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k;h=a+16|0;g=c[h>>2]|0;if(g>>>0<=142){f=a+8|0;if(g)i=6}else{f=a+8|0;do{Qn(c[f>>2]|0,17104,142,0,0);g=g+-142|0}while(g>>>0>142);g=c[h>>2]|0;i=6}if((i|0)==6)Qn(c[f>>2]|0,17104,g,0,0);i=c[f>>2]|0;c[j>>2]=b;h=j+8|0;c[h>>2]=d;c[h+4>>2]=e;Pn(i,324123,j);j=c[a+12>>2]|0;j=ha[c[(c[j>>2]|0)+784>>2]&127](j,b,d,e)|0;aa=k;return j|0}function _x(a,b){a=a|0;b=b|0;var d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f+8|0;d=f;if((b|0)>-1){c[d>>2]=b;Pn(a,326858,d);aa=f;return}do switch(b|0){case -1:{b=330980;break}case -2:{b=330976;break}case -3:{b=330972;break}case -4:{b=330968;break}case -5:{b=330963;break}case -16:{b=330955;break}case -32:{b=330950;break}case -24:{b=330939;break}case -64:{b=330934;break}case -17:{b=330923;break}default:b=330910}while(0);c[e>>2]=b;Pn(a,330905,e);aa=f;return}function $x(a,b,d){a=a|0;b=b|0;d=d|0;c[a+4>>2]=0;c[a>>2]=290948;c[a+8>>2]=b;c[a+12>>2]=d;c[a+16>>2]=0;return}function ay(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;e=h+24|0;g=h;if(!(c[a+12>>2]|0)){aa=h;return}c[e>>2]=0;f=e+4|0;c[f>>2]=0;c[e+8>>2]=0;by(a,e);d=c[e>>2]|0;cy(d,c[f>>2]|0);a=c[b+16>>2]|0;do if(a)if((b|0)==(a|0)){b=g+16|0;c[b>>2]=g;na[c[(c[a>>2]|0)+12>>2]&31](a,g);a=b;break}else{b=ea[c[(c[a>>2]|0)+8>>2]&127](a)|0;a=g+16|0;c[a>>2]=b;break}else{a=g+16|0;c[a>>2]=0}while(0);dy(e,g);a=c[a>>2]|0;if((g|0)!=(a|0)){if(a|0)ma[c[(c[a>>2]|0)+20>>2]&255](a)}else ma[c[(c[a>>2]|0)+16>>2]&255](a);if(d|0){c[f>>2]=d;$A(d)}aa=h;return}function by(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=aa;aa=aa+16|0;r=s;b=c[b+8>>2]|0;e=c[b>>2]|0;if(!e){aa=s;return}p=d+4|0;q=d+8|0;m=1;o=e;while(1){i=b;l=i+8|0;h=o;n=h+8|0;f=a[l+11>>0]|0;k=f<<24>>24<0;f=f&255;i=k?c[i+12>>2]|0:f;j=a[n+11>>0]|0;e=j<<24>>24<0;a:do if((i|0)==((e?c[h+12>>2]|0:j&255)|0)){g=c[l>>2]|0;j=k?g:l;e=e?c[n>>2]|0:n;h=(i|0)==0;g=g&255;b:do if(k){if(!h?Tz(j,e,i)|0:0){b=o;e=1;break a}}else if(!h){if((a[e>>0]|0)!=g<<24>>24){b=o;e=1;break a}g=l;while(1){f=f+-1|0;g=g+1|0;if(!f)break b;e=e+1|0;if((a[g>>0]|0)!=(a[e>>0]|0)){b=o;e=1;break a}}}while(0);if(m){c[r>>2]=l;e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[e>>2]=l;c[p>>2]=(c[p>>2]|0)+4}else hy(d,r)}c[r>>2]=n;e=c[p>>2]|0;if(e>>>0<(c[q>>2]|0)>>>0){c[e>>2]=n;c[p>>2]=(c[p>>2]|0)+4}else hy(d,r);e=0}else{b=o;e=1}while(0);o=c[o>>2]|0;if(!o)break;else m=e}aa=s;return}function cy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;a:while(1){r=b;d=b+-4|0;q=b+-8|0;b:while(1){p=a;f=r-p|0;e=f>>2;switch(e|0){case 2:{q=4;break a}case 3:{q=8;break a}case 4:{q=26;break a}case 5:{q=27;break a}case 1:case 0:{q=144;break a}default:{}}if((f|0)<124){q=29;break a}m=a+(((e|0)/2|0)<<2)|0;do if((f|0)>3996){e=(e|0)/4|0;e=fy(a,a+(e<<2)|0,m,m+(e<<2)|0,d)|0}else{h=c[m>>2]|0;n=c[a>>2]|0;i=c[h+20>>2]|0;l=n+20|0;e=c[l>>2]|0;k=h;o=n;if((i|0)>=(e|0))if((i|0)==(e|0))g=(c[h+24>>2]|0)<(c[n+24>>2]|0);else g=0;else g=1;e=c[d>>2]|0;f=c[e+20>>2]|0;j=e;if((f|0)>=(i|0))if((f|0)==(i|0))e=(c[e+24>>2]|0)<(c[h+24>>2]|0);else e=0;else e=1;if(!g){if(!e){e=0;break}c[m>>2]=j;c[d>>2]=k;e=c[m>>2]|0;f=c[a>>2]|0;g=c[e+20>>2]|0;h=c[f+20>>2]|0;i=f;j=e;if((g|0)>=(h|0)){if((g|0)!=(h|0)){e=1;break}if((c[e+24>>2]|0)>=(c[f+24>>2]|0)){e=1;break}}c[a>>2]=j;c[m>>2]=i;e=2;break}if(e){c[a>>2]=j;c[d>>2]=o;e=1;break}c[a>>2]=k;c[m>>2]=o;g=c[d>>2]|0;h=c[g+20>>2]|0;e=c[l>>2]|0;f=g;if((h|0)>=(e|0)){if((h|0)!=(e|0)){e=1;break}if((c[g+24>>2]|0)>=(c[n+24>>2]|0)){e=1;break}}c[m>>2]=f;c[d>>2]=o;e=2}while(0);l=c[a>>2]|0;f=c[m>>2]|0;n=c[l+20>>2]|0;j=c[f+20>>2]|0;k=l;do if((n|0)<(j|0))g=d;else{if((n|0)==(j|0)?(c[l+24>>2]|0)<(c[f+24>>2]|0):0){g=d;break}if((a|0)==(q|0)){i=q;q=87;break b}i=f+24|0;g=q;while(1){f=c[g>>2]|0;h=c[f+20>>2]|0;if((h|0)<(j|0))break;if((h|0)==(j|0)?(c[f+24>>2]|0)<(c[i>>2]|0):0)break;g=g+-4|0;if((a|0)==(g|0)){i=a;q=87;break b}}c[a>>2]=f;c[g>>2]=k;e=e+1|0}while(0);f=a+4|0;c:do if(f>>>0<g>>>0)while(1){k=c[m>>2]|0;j=c[k+20>>2]|0;k=k+24|0;l=f;while(1){f=c[l>>2]|0;h=c[f+20>>2]|0;if((h|0)>=(j|0)){if((h|0)!=(j|0))break;if((c[f+24>>2]|0)>=(c[k>>2]|0))break}l=l+4|0}h=g+-4|0;i=c[h>>2]|0;g=c[i+20>>2]|0;d:do if((g|0)>=(j|0))do{if((g|0)==(j|0)?(c[i+24>>2]|0)<(c[k>>2]|0):0)break d;h=h+-4|0;i=c[h>>2]|0;g=c[i+20>>2]|0}while((g|0)>=(j|0));while(0);if(l>>>0>h>>>0){f=l;break c}c[l>>2]=c[h>>2];c[h>>2]=f;f=l+4|0;g=h;m=(m|0)==(l|0)?h:m;e=e+1|0}while(0);do if((f|0)!=(m|0)){g=c[m>>2]|0;h=c[f>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0))break;if((c[g+24>>2]|0)>=(c[h+24>>2]|0))break}c[f>>2]=l;c[m>>2]=k;e=e+1|0}while(0);if(!e){g=gy(a,f)|0;e=f+4|0;if(gy(e,b)|0){q=137;break}if(g){a=e;d=2;q=142;break}}o=f;if((o-p|0)>=(r-o|0)){q=141;break}cy(a,f);a=f+4|0}e:do if((q|0)==87){a=i+4|0;e=c[d>>2]|0;f=c[e+20>>2]|0;h=e;do if((n|0)>=(f|0)){if((n|0)==(f|0)?(c[l+24>>2]|0)<(c[e+24>>2]|0):0)break;if((a|0)==(d|0)){q=144;break a}g=l+24|0;while(1){e=c[a>>2]|0;f=c[e+20>>2]|0;if((n|0)<(f|0))break;if((n|0)==(f|0)?(c[g>>2]|0)<(c[e+24>>2]|0):0)break;a=a+4|0;if((a|0)==(d|0)){q=144;break a}}c[a>>2]=h;c[d>>2]=e;a=a+4|0}while(0);if((a|0)==(d|0)){q=144;break a}while(1){g=c[i>>2]|0;f=c[a>>2]|0;h=c[g+20>>2]|0;e=c[f+20>>2]|0;g=g+24|0;f:do if((h|0)>=(e|0))do{if((h|0)==(e|0)?(c[g>>2]|0)<(c[f+24>>2]|0):0)break f;a=a+4|0;f=c[a>>2]|0;e=c[f+20>>2]|0}while((h|0)>=(e|0));while(0);while(1){d=d+-4|0;e=c[d>>2]|0;f=c[e+20>>2]|0;if((h|0)>=(f|0)){if((h|0)!=(f|0))break;if((c[g>>2]|0)>=(c[e+24>>2]|0))break}}if(a>>>0>=d>>>0){d=4;q=142;break e}r=c[a>>2]|0;c[a>>2]=e;c[d>>2]=r;a=a+4|0}}else if((q|0)==137){b=g?b:f;d=g?1:2;q=142}else if((q|0)==141){q=0;cy(f+4|0,b);b=f}while(0);if((q|0)==142)switch(d&7){case 2:case 4:case 0:break;default:{q=144;break a}}}if((q|0)==4){b=c[d>>2]|0;e=c[a>>2]|0;f=c[b+20>>2]|0;g=c[e+20>>2]|0;h=e;i=b;if((f|0)>=(g|0)){if((f|0)!=(g|0))return;if((c[b+24>>2]|0)>=(c[e+24>>2]|0))return}c[a>>2]=i;c[d>>2]=h;return}else if((q|0)==8){n=a+4|0;i=c[n>>2]|0;m=c[a>>2]|0;f=c[i+20>>2]|0;k=m+20|0;b=c[k>>2]|0;j=i;l=m;if((f|0)>=(b|0))if((f|0)==(b|0))g=(c[i+24>>2]|0)<(c[m+24>>2]|0);else g=0;else g=1;b=c[d>>2]|0;e=c[b+20>>2]|0;h=b;if((e|0)>=(f|0))if((e|0)==(f|0))b=(c[b+24>>2]|0)<(c[i+24>>2]|0);else b=0;else b=1;if(!g){if(!b)return;c[n>>2]=h;c[d>>2]=j;b=c[n>>2]|0;d=c[a>>2]|0;e=c[b+20>>2]|0;f=c[d+20>>2]|0;g=d;h=b;if((e|0)>=(f|0)){if((e|0)!=(f|0))return;if((c[b+24>>2]|0)>=(c[d+24>>2]|0))return}c[a>>2]=h;c[n>>2]=g;return}if(b){c[a>>2]=h;c[d>>2]=l;return}c[a>>2]=j;c[n>>2]=l;e=c[d>>2]|0;f=c[e+20>>2]|0;a=c[k>>2]|0;b=e;if((f|0)>=(a|0)){if((f|0)!=(a|0))return;if((c[e+24>>2]|0)>=(c[m+24>>2]|0))return}c[n>>2]=b;c[d>>2]=l;return}else if((q|0)==26){ey(a,a+4|0,a+8|0,d)|0;return}else if((q|0)==27){fy(a,a+4|0,a+8|0,a+12|0,d)|0;return}else if((q|0)==29){i=a+8|0;o=a+4|0;d=c[o>>2]|0;p=c[a>>2]|0;h=c[d+20>>2]|0;k=p+20|0;e=c[k>>2]|0;f=d;m=p;if((h|0)>=(e|0))if((h|0)==(e|0))g=(c[d+24>>2]|0)<(c[p+24>>2]|0);else g=0;else g=1;n=c[i>>2]|0;j=n+20|0;e=c[j>>2]|0;l=n;if((e|0)>=(h|0))if((e|0)==(h|0))e=(c[n+24>>2]|0)<(c[d+24>>2]|0);else e=0;else e=1;do if(!g)if(e){c[o>>2]=l;c[i>>2]=f;g=c[j>>2]|0;e=c[k>>2]|0;if((g|0)>=(e|0)){if((g|0)!=(e|0))break;if((c[n+24>>2]|0)>=(c[p+24>>2]|0))break}c[a>>2]=l;c[o>>2]=m}else{f=l;d=n}else{if(e){c[a>>2]=l;c[i>>2]=m;f=m;d=p;break}c[a>>2]=f;c[o>>2]=m;e=c[j>>2]|0;d=c[k>>2]|0;if((e|0)>=(d|0)){if((e|0)!=(d|0)){f=l;d=n;break}if((c[n+24>>2]|0)>=(c[p+24>>2]|0)){f=l;d=n;break}}c[o>>2]=l;c[i>>2]=m;f=m;d=p}while(0);e=a+12|0;if((e|0)==(b|0))return;m=e;while(1){e=c[m>>2]|0;k=e+20|0;g=c[k>>2]|0;h=c[d+20>>2]|0;l=e;if((g|0)>=(h|0)){if((g|0)==(h|0)?(s=e+24|0,(c[s>>2]|0)<(c[d+24>>2]|0)):0){j=s;q=53}}else{j=e+24|0;q=53}if((q|0)==53){q=0;c[m>>2]=f;g:do if((i|0)==(a|0))d=a;else{e=i;while(1){d=e;e=e+-4|0;f=c[e>>2]|0;g=c[k>>2]|0;h=c[f+20>>2]|0;i=f;if((g|0)>=(h|0)){if((g|0)!=(h|0))break g;if((c[j>>2]|0)>=(c[f+24>>2]|0))break g}c[d>>2]=i;if((e|0)==(a|0)){d=a;break}}}while(0);c[d>>2]=l}e=m+4|0;if((e|0)==(b|0))break;f=c[m>>2]|0;i=m;d=f;m=e}return}else if((q|0)==144)return}function dy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;f=c[b>>2]|0;p=b+4|0;o=c[p>>2]|0;if((f|0)==(o|0))return;n=d+16|0;d=f;e=o;while(1){a:do if((d|0)!=(e|0)){l=c[f>>2]|0;m=a[l+11>>0]|0;k=m<<24>>24<0;m=k?c[l+4>>2]|0:m&255;g=(m|0)==0;if(k){if(g)while(1){l=c[d>>2]|0;m=a[l+11>>0]|0;if(!((m<<24>>24<0?c[l+4>>2]|0:m&255)|0)){e=d;break a}d=d+4|0;if((d|0)==(e|0))break a}do{h=c[d>>2]|0;j=a[h+11>>0]|0;k=j<<24>>24<0;j=j&255;do if(((k?c[h+4>>2]|0:j)|0)==(m|0)){i=c[h>>2]|0;g=c[l>>2]|0;if(k)if(!(Tz(i,g,m)|0)){e=d;break a}else break;if((a[g>>0]|0)==(i&255)<<24>>24){i=j;do{i=i+-1|0;h=h+1|0;if(!i){e=d;break a}g=g+1|0}while((a[h>>0]|0)==(a[g>>0]|0))}}while(0);d=d+4|0}while((d|0)!=(e|0))}else{if(g)while(1){l=c[d>>2]|0;m=a[l+11>>0]|0;if(!((m<<24>>24<0?c[l+4>>2]|0:m&255)|0)){e=d;break a}d=d+4|0;if((d|0)==(e|0))break a}do{g=c[d>>2]|0;i=a[g+11>>0]|0;j=i<<24>>24<0;i=i&255;do if(((j?c[g+4>>2]|0:i)|0)==(m|0)){h=c[g>>2]|0;if(j)if(!(Tz(h,l,m)|0)){e=d;break a}else break;if((a[l>>0]|0)==(h&255)<<24>>24){h=l;do{i=i+-1|0;g=g+1|0;if(!i){e=d;break a}h=h+1|0}while((a[g>>0]|0)==(a[h>>0]|0))}}while(0);d=d+4|0}while((d|0)!=(e|0))}}while(0);if((e|0)!=(f|0)){d=c[n>>2]|0;if(!d){d=34;break}oa[c[(c[d>>2]|0)+24>>2]&15](d,c[e>>2]|0,c[f>>2]|0)}f=f+4|0;if((f|0)==(o|0)){d=3;break}d=c[b>>2]|0;e=c[p>>2]|0}if((d|0)==3)return;else if((d|0)==34)U()}function ey(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;n=c[b>>2]|0;m=c[a>>2]|0;f=n+20|0;h=c[f>>2]|0;q=m+20|0;g=c[q>>2]|0;p=n;o=m;if((h|0)>=(g|0))if((h|0)==(g|0))i=(c[n+24>>2]|0)<(c[m+24>>2]|0);else i=0;else i=1;k=c[d>>2]|0;l=k+20|0;g=c[l>>2]|0;j=k;if((g|0)>=(h|0))if((g|0)==(h|0))g=(c[k+24>>2]|0)<(c[n+24>>2]|0);else g=0;else g=1;do if(!i)if(g){c[b>>2]=j;c[d>>2]=p;g=c[b>>2]|0;h=c[a>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){k=n;j=p;m=1;break}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){k=n;j=p;m=1;break}}c[a>>2]=l;c[b>>2]=k;f=c[d>>2]|0;k=f;j=f;f=f+20|0;m=2}else{f=l;m=0}else{if(g){c[a>>2]=j;c[d>>2]=o;k=m;j=o;f=q;m=1;break}c[a>>2]=p;c[b>>2]=o;g=c[d>>2]|0;f=g+20|0;h=c[f>>2]|0;i=c[q>>2]|0;j=g;if((h|0)>=(i|0)){if((h|0)!=(i|0)){k=g;m=1;break}if((c[g+24>>2]|0)>=(c[m+24>>2]|0)){k=g;m=1;break}}c[b>>2]=j;c[d>>2]=o;k=m;j=o;f=q;m=2}while(0);h=c[e>>2]|0;i=c[h+20>>2]|0;f=c[f>>2]|0;g=h;if((i|0)>=(f|0)){if((i|0)!=(f|0)){b=m;return b|0}if((c[h+24>>2]|0)>=(c[k+24>>2]|0)){b=m;return b|0}}c[d>>2]=g;c[e>>2]=j;l=m+1|0;f=c[d>>2]|0;g=c[b>>2]|0;h=c[f+20>>2]|0;i=c[g+20>>2]|0;j=g;k=f;if((h|0)>=(i|0)){if((h|0)!=(i|0)){b=l;return b|0}if((c[f+24>>2]|0)>=(c[g+24>>2]|0)){b=l;return b|0}}c[b>>2]=k;c[d>>2]=j;l=m+2|0;f=c[b>>2]|0;g=c[a>>2]|0;h=c[f+20>>2]|0;i=c[g+20>>2]|0;j=g;k=f;if((h|0)>=(i|0)){if((h|0)!=(i|0)){b=l;return b|0}if((c[f+24>>2]|0)>=(c[g+24>>2]|0)){b=l;return b|0}}c[a>>2]=k;c[b>>2]=j;b=m+3|0;return b|0}function fy(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=ey(a,b,d,e)|0;g=c[f>>2]|0;h=c[e>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0))return m|0;if((c[g+24>>2]|0)>=(c[h+24>>2]|0))return m|0}c[e>>2]=l;c[f>>2]=k;f=m+1|0;k=c[e>>2]|0;l=c[d>>2]|0;g=c[k+20>>2]|0;h=c[l+20>>2]|0;i=l;j=k;if((g|0)>=(h|0)){if((g|0)!=(h|0)){m=f;return m|0}if((c[k+24>>2]|0)>=(c[l+24>>2]|0)){m=f;return m|0}}c[d>>2]=j;c[e>>2]=i;f=m+2|0;g=c[d>>2]|0;h=c[b>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){m=f;return m|0}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){m=f;return m|0}}c[b>>2]=l;c[d>>2]=k;f=m+3|0;g=c[b>>2]|0;h=c[a>>2]|0;i=c[g+20>>2]|0;j=c[h+20>>2]|0;k=h;l=g;if((i|0)>=(j|0)){if((i|0)!=(j|0)){m=f;return m|0}if((c[g+24>>2]|0)>=(c[h+24>>2]|0)){m=f;return m|0}}c[a>>2]=l;c[b>>2]=k;m=m+4|0;return m|0}function gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;switch(b-a>>2|0){case 2:{j=b+-4|0;d=c[j>>2]|0;e=c[a>>2]|0;f=c[d+20>>2]|0;g=c[e+20>>2]|0;h=e;i=d;if((f|0)>=(g|0)){if((f|0)!=(g|0)){a=1;return a|0}if((c[d+24>>2]|0)>=(c[e+24>>2]|0)){a=1;return a|0}}c[a>>2]=i;c[j>>2]=h;a=1;return a|0}case 3:{o=a+4|0;n=b+-4|0;i=c[o>>2]|0;m=c[a>>2]|0;f=c[i+20>>2]|0;k=m+20|0;d=c[k>>2]|0;j=i;l=m;if((f|0)>=(d|0))if((f|0)==(d|0))h=(c[i+24>>2]|0)<(c[m+24>>2]|0);else h=0;else h=1;d=c[n>>2]|0;e=c[d+20>>2]|0;g=d;if((e|0)>=(f|0))if((e|0)==(f|0))d=(c[d+24>>2]|0)<(c[i+24>>2]|0);else d=0;else d=1;if(!h){if(!d){a=1;return a|0}c[o>>2]=g;c[n>>2]=j;d=c[o>>2]|0;e=c[a>>2]|0;f=c[d+20>>2]|0;g=c[e+20>>2]|0;h=e;i=d;if((f|0)>=(g|0)){if((f|0)!=(g|0)){a=1;return a|0}if((c[d+24>>2]|0)>=(c[e+24>>2]|0)){a=1;return a|0}}c[a>>2]=i;c[o>>2]=h;a=1;return a|0}if(d){c[a>>2]=g;c[n>>2]=l;a=1;return a|0}c[a>>2]=j;c[o>>2]=l;f=c[n>>2]|0;g=c[f+20>>2]|0;d=c[k>>2]|0;e=f;if((g|0)>=(d|0)){if((g|0)!=(d|0)){a=1;return a|0}if((c[f+24>>2]|0)>=(c[m+24>>2]|0)){a=1;return a|0}}c[o>>2]=e;c[n>>2]=l;a=1;return a|0}case 4:{ey(a,a+4|0,a+8|0,b+-4|0)|0;a=1;return a|0}case 5:{fy(a,a+4|0,a+8|0,a+12|0,b+-4|0)|0;a=1;return a|0}case 1:case 0:{a=1;return a|0}default:{e=a+8|0;o=a+4|0;d=c[o>>2]|0;p=c[a>>2]|0;h=c[d+20>>2]|0;k=p+20|0;f=c[k>>2]|0;g=d;m=p;if((h|0)>=(f|0))if((h|0)==(f|0))i=(c[d+24>>2]|0)<(c[p+24>>2]|0);else i=0;else i=1;n=c[e>>2]|0;j=n+20|0;f=c[j>>2]|0;l=n;if((f|0)>=(h|0))if((f|0)==(h|0))f=(c[n+24>>2]|0)<(c[d+24>>2]|0);else f=0;else f=1;do if(!i)if(f){c[o>>2]=l;c[e>>2]=g;h=c[j>>2]|0;f=c[k>>2]|0;if((h|0)>=(f|0)){if((h|0)!=(f|0))break;if((c[n+24>>2]|0)>=(c[p+24>>2]|0))break}c[a>>2]=l;c[o>>2]=m}else{g=l;d=n}else{if(f){c[a>>2]=l;c[e>>2]=m;g=m;d=p;break}c[a>>2]=g;c[o>>2]=m;f=c[j>>2]|0;d=c[k>>2]|0;if((f|0)>=(d|0)){if((f|0)!=(d|0)){g=l;d=n;break}if((c[n+24>>2]|0)>=(c[p+24>>2]|0)){g=l;d=n;break}}c[o>>2]=l;c[e>>2]=m;g=m;d=p}while(0);f=a+12|0;if((f|0)==(b|0)){a=1;return a|0}k=d;d=0;while(1){h=c[f>>2]|0;m=h+20|0;i=c[m>>2]|0;j=c[k+20>>2]|0;n=h;if((i|0)>=(j|0)){if((i|0)==(j|0)?(q=h+24|0,(c[q>>2]|0)<(c[k+24>>2]|0)):0){l=q;r=50}}else{l=h+24|0;r=50}if((r|0)==50){r=0;c[f>>2]=g;a:do if((e|0)!=(a|0)){g=e;while(1){e=g;g=g+-4|0;h=c[g>>2]|0;i=c[m>>2]|0;j=c[h+20>>2]|0;k=h;if((i|0)>=(j|0)){if((i|0)!=(j|0))break a;if((c[l>>2]|0)>=(c[h+24>>2]|0))break a}c[e>>2]=k;if((g|0)==(a|0)){e=a;break}}}while(0);c[e>>2]=n;d=d+1|0;if((d|0)==8)break}e=f+4|0;if((e|0)==(b|0)){d=1;r=60;break}g=c[f>>2]|0;p=f;k=g;f=e;e=p}if((r|0)==60)return d|0;a=(f+4|0)==(b|0);return a|0}}return 0}function hy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;i=a+4|0;g=c[a>>2]|0;l=(c[i>>2]|0)-g|0;f=l>>2;d=f+1|0;if(d>>>0>1073741823)HB();j=a+8|0;m=(c[j>>2]|0)-g|0;e=m>>1;e=m>>2>>>0<536870911?(e>>>0<d>>>0?d:e):1073741823;do if(e)if(e>>>0>1073741823)U();else{k=_A(e<<2)|0;h=k;break}else{h=0;k=0}while(0);d=k+(f<<2)|0;c[d>>2]=c[b>>2];if((l|0)>0)sC(h|0,g|0,l|0)|0;c[a>>2]=k;c[i>>2]=d+4;c[j>>2]=k+(e<<2);if(!g)return;$A(g);return}function iy(a,b){a=a|0;b=b|0;do if((c[b+20>>2]|0)==1){a=Lg(a,b+24|0)|0;if(!a){b=-1;return b|0}else{a=a+40|0;break}}else a=b+24|0;while(0);b=c[a>>2]|0;return b|0}function jy(a){a=a|0;if((a|0)>=112){a=330060;return a|0}a=c[279392+(a<<2)>>2]|0;return a|0}function ky(a,b,d){a=a|0;b=b|0;d=d|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=d;return}function ly(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=d;c[a+24>>2]=e;return}function my(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=d;c[a+24>>2]=e;c[a+28>>2]=f;return}function ny(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=d;c[a+24>>2]=e;return}function oy(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;c[a>>2]=c[b>>2];c[a+4>>2]=c[b+4>>2];c[a+8>>2]=c[b+8>>2];c[a+12>>2]=c[b+12>>2];c[a+16>>2]=c[b+16>>2];c[a+20>>2]=d;d=a+24|0;c[d>>2]=c[e>>2];c[d+4>>2]=c[e+4>>2];c[d+8>>2]=c[e+8>>2];return}function py(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;e=h;f=c[d+20>>2]|0;if(f>>>0<42){e=c[279392+(f<<2)>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=Uz(e)|0;if(f>>>0>4294967279)aB();if(f>>>0<11){a[b+11>>0]=f;if(f)g=7}else{d=f+16&-16;g=_A(d)|0;c[b>>2]=g;c[b+8>>2]=d|-2147483648;c[b+4>>2]=f;b=g;g=7}if((g|0)==7)sC(b|0,e|0,f|0)|0;a[b+f>>0]=0;aa=h;return}if((f+-42|0)>>>0<3){Wn(b,c[d+28>>2]|0,c[d+32>>2]|0);aa=h;return}if((f+-45|0)>>>0<60){Am(e,c[d+24>>2]|0);e=c[e>>2]|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=Uz(e)|0;if(f>>>0>4294967279)aB();if(f>>>0<11){a[b+11>>0]=f;if(f)g=17}else{d=f+16&-16;g=_A(d)|0;c[b>>2]=g;c[b+8>>2]=d|-2147483648;c[b+4>>2]=f;b=g;g=17}if((g|0)==17)sC(b|0,e|0,f|0)|0;a[b+f>>0]=0;aa=h;return}e=d+24|0;if((f+-105|0)>>>0<6){Wn(b,c[e>>2]|0,c[d+28>>2]|0);aa=h;return}do switch(c[e>>2]|0){case -1:{e=330980;break}case -2:{e=330976;break}case -3:{e=330972;break}case -4:{e=330968;break}case -5:{e=330963;break}case -16:{e=330955;break}case -32:{e=330950;break}case -24:{e=330939;break}case -64:{e=330934;break}case 0:{e=330930;break}case -17:{e=330923;break}default:e=330910}while(0);c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;f=Uz(e)|0;if(f>>>0>4294967279)aB();if(f>>>0<11){a[b+11>>0]=f;if(f)g=38}else{d=f+16&-16;g=_A(d)|0;c[b>>2]=g;c[b+8>>2]=d|-2147483648;c[b+4>>2]=f;b=g;g=38}if((g|0)==38)sC(b|0,e|0,f|0)|0;a[b+f>>0]=0;aa=h;return}function qy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;g=aa;aa=aa+32|0;f=g+12|0;e=g;py(f,d);h=a[f+11>>0]|0;d=h<<24>>24<0;if((d?c[f+4>>2]|0:h&255)>>>0<=80){c[b>>2]=c[f>>2];c[b+4>>2]=c[f+4>>2];c[b+8>>2]=c[f+8>>2];c[f>>2]=0;c[f+4>>2]=0;c[f+8>>2]=0;aa=g;return}jB(e,f,0,77);vB(e,330828)|0;c[b>>2]=c[e>>2];c[b+4>>2]=c[e+4>>2];c[b+8>>2]=c[e+8>>2];c[e>>2]=0;c[e+4>>2]=0;c[e+8>>2]=0;if(!d){aa=g;return}$A(c[f>>2]|0);aa=g;return}function ry(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0;c[b>>2]=d;i=b+4|0;c[i>>2]=0;m=b+8|0;c[m>>2]=0;h=b+12|0;c[h>>2]=0;k=e+4|0;d=(c[k>>2]|0)-(c[e>>2]|0)|0;j=d>>2;if(d|0){if(j>>>0>1073741823)HB();l=_A(d)|0;c[m>>2]=l;c[i>>2]=l;c[h>>2]=l+(j<<2);h=c[e>>2]|0;d=(c[k>>2]|0)-h|0;if((d|0)>0){sC(l|0,h|0,d|0)|0;c[m>>2]=l+(d>>>2<<2)}}i=b+16|0;c[i>>2]=0;e=b+20|0;c[e>>2]=0;h=b+24|0;c[h>>2]=0;k=f+4|0;d=(c[k>>2]|0)-(c[f>>2]|0)|0;j=d>>2;if(!d){f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}if(j>>>0>1073741823)HB();l=_A(d)|0;c[e>>2]=l;c[i>>2]=l;c[h>>2]=l+(j<<2);h=c[f>>2]|0;d=(c[k>>2]|0)-h|0;if((d|0)<=0){f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}sC(l|0,h|0,d|0)|0;c[e>>2]=l+(d>>>2<<2);f=b+28|0;c[f>>2]=g;b=b+32|0;a[b>>0]=0;return}function sy(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0;j=aa;aa=aa+176|0;i=j+160|0;f=j+144|0;h=j+128|0;e=j;g=a+16|0;if(!(c[g>>2]|0)){aa=j;return}c[f>>2]=d;c[h>>2]=c[f>>2];a=(Vz(e,128,b,f)|0)+1|0;if(a>>>0>128){e=aa;aa=aa+((1*a|0)+15&-16)|0;Vz(e,a,b,h)|0}c[i>>2]=e;e=c[g>>2]|0;if(!e)U();na[c[(c[e>>2]|0)+24>>2]&31](e,i);aa=j;return}function ty(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=b+4|0;h=c[b>>2]|0;j=((c[m>>2]|0)-h|0)/36|0;i=j+1|0;if(i>>>0>119304647)HB();n=b+8|0;l=((c[n>>2]|0)-h|0)/36|0;h=l<<1;h=l>>>0<59652323?(h>>>0<i>>>0?i:h):119304647;do if(h)if(h>>>0>119304647)U();else{k=_A(h*36|0)|0;break}else k=0;while(0);i=k+(j*36|0)|0;l=k+(h*36|0)|0;ry(i,c[d>>2]|0,e,f,c[g>>2]|0);d=i+36|0;j=c[b>>2]|0;h=c[m>>2]|0;if((h|0)==(j|0)){h=i;k=j;i=j}else{do{f=h;h=h+-36|0;c[i+-36>>2]=c[h>>2];g=i+-32|0;e=f+-32|0;c[g>>2]=0;k=i+-28|0;c[k>>2]=0;o=i+-24|0;c[o>>2]=0;c[g>>2]=c[e>>2];g=f+-28|0;c[k>>2]=c[g>>2];k=f+-24|0;c[o>>2]=c[k>>2];c[k>>2]=0;c[g>>2]=0;c[e>>2]=0;e=i+-20|0;g=f+-20|0;c[e>>2]=0;k=i+-16|0;c[k>>2]=0;o=i+-12|0;c[o>>2]=0;c[e>>2]=c[g>>2];e=f+-16|0;c[k>>2]=c[e>>2];k=f+-12|0;c[o>>2]=c[k>>2];c[k>>2]=0;c[e>>2]=0;c[g>>2]=0;g=i+-8|0;f=f+-8|0;c[g>>2]=c[f>>2];a[g+4>>0]=a[f+4>>0]|0;i=i+-36|0}while((h|0)!=(j|0));h=i;k=c[b>>2]|0;i=c[m>>2]|0}c[b>>2]=h;c[m>>2]=d;c[n>>2]=l;j=k;if((i|0)!=(j|0))do{h=c[i+-20>>2]|0;if(h|0){c[i+-16>>2]=h;$A(h)}h=c[i+-32>>2]|0;if(h|0){c[i+-28>>2]=h;$A(h)}i=i+-36|0}while((i|0)!=(j|0));if(!k)return;$A(k);return}function uy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;y=aa;aa=aa+64|0;s=y+16|0;x=y+8|0;h=y;u=y+48|0;w=y+36|0;v=y+24|0;if(!d){aa=y;return}r=b+36|0;p=b+40|0;d=c[r>>2]|0;t=(c[p>>2]|0)-d|0;g=(t|0)/36|0;if(!t){c[h>>2]=0;c[h+4>>2]=g+-1;sy(b,330832,h);d=0}else d=c[d+((g+-1|0)*36|0)+28>>2]|0;c[u>>2]=0;t=u+4|0;c[t>>2]=0;n=u+8|0;c[n>>2]=0;o=b+24|0;m=b+28|0;q=((c[m>>2]|0)-(c[o>>2]|0)>>2)-d|0;l=(c[f+4>>2]|0)-(c[f>>2]|0)|0;k=l>>2;k=(l|0)==0?(q>>>0<4?q:4):q>>>0<k>>>0?q:k;q=(k|0)==(q|0);if(k|0){l=0;do{j=k-l|0;d=c[r>>2]|0;i=(c[p>>2]|0)-d|0;h=(i|0)/36|0;do if(i){g=c[o>>2]|0;i=(c[m>>2]|0)-g>>2;if((j+-1+(c[d+((h+-1|0)*36|0)+28>>2]|0)|0)>>>0<i>>>0){g=c[g+(i-j<<2)>>2]|0;c[w>>2]=g;break}else{c[w>>2]=0;g=0;break}}else{c[s>>2]=0;c[s+4>>2]=h+-1;sy(b,330832,s);g=0}while(0);d=c[t>>2]|0;if((d|0)==(c[n>>2]|0))fo(u,w);else{c[d>>2]=g;c[t>>2]=d+4}l=l+1|0}while((l|0)!=(k|0))}d=_A(32)|0;c[w>>2]=d;c[w+8>>2]=-2147483616;c[w+4>>2]=17;g=d;h=330860;i=g+17|0;do{a[g>>0]=a[h>>0]|0;g=g+1|0;h=h+1|0}while((g|0)<(i|0));a[d+17>>0]=0;vB(w,e)|0;vB(w,330878)|0;vy(v,f,0);f=v+11|0;e=a[f>>0]|0;s=e<<24>>24<0;uB(w,s?c[v>>2]|0:v,s?c[v+4>>2]|0:e&255)|0;if((a[f>>0]|0)<0)$A(c[v>>2]|0);vB(w,330890)|0;vy(v,u,q?0:330900);f=v+11|0;e=a[f>>0]|0;s=e<<24>>24<0;uB(w,s?c[v>>2]|0:v,s?c[v+4>>2]|0:e&255)|0;if((a[f>>0]|0)<0)$A(c[v>>2]|0);v=w+11|0;c[x>>2]=(a[v>>0]|0)<0?c[w>>2]|0:w;sy(b,330905,x);if((a[v>>0]|0)<0)$A(c[w>>2]|0);d=c[u>>2]|0;if(d|0){c[t>>2]=d;$A(d)}aa=y;return}function vy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;a[b+11>>0]=1;a[b>>0]=91;a[b+1>>0]=0;if(e|0)vB(b,e)|0;h=d+4|0;e=c[d>>2]|0;if((c[h>>2]|0)==(e|0)){vB(b,330908)|0;return}g=0;do{do switch(c[e+(g<<2)>>2]|0){case -1:{e=330980;break}case -2:{e=330976;break}case -3:{e=330972;break}case -4:{e=330968;break}case -5:{e=330963;break}case -16:{e=330955;break}case -32:{e=330950;break}case -24:{e=330939;break}case -64:{e=330934;break}case 0:{e=330930;break}case -17:{e=330923;break}default:e=330910}while(0);vB(b,e)|0;e=c[d>>2]|0;f=(c[h>>2]|0)-e>>2;if(g>>>0<(f+-1|0)>>>0){vB(b,330984)|0;f=c[d>>2]|0;e=f;f=(c[h>>2]|0)-f>>2}g=g+1|0}while(g>>>0<f>>>0);vB(b,330908)|0;return}function wy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0;v=aa;aa=aa+16|0;u=v;p=d+4|0;f=c[p>>2]|0;g=c[d>>2]|0;h=f-g|0;if(!h){u=0;uy(b,u,e,d);aa=v;return u|0}s=b+36|0;q=b+40|0;t=b+24|0;r=b+28|0;m=f;o=0;f=0;h=h>>2;do{l=h-o|0;n=c[g+(o<<2)>>2]|0;h=c[s>>2]|0;k=(c[q>>2]|0)-h|0;i=(k|0)/36|0;do if(k){k=i+-1|0;i=c[t>>2]|0;j=(c[r>>2]|0)-i>>2;if((l+-1+(c[h+(k*36|0)+28>>2]|0)|0)>>>0<j>>>0){i=c[i+(j-l<<2)>>2]|0;h=0;break}else{i=0;h=(a[h+(k*36|0)+32>>0]|0)==0;break}}else{c[u>>2]=0;c[u+4>>2]=i+-1;sy(b,330832,u);m=c[p>>2]|0;g=c[d>>2]|0;i=0;h=1}while(0);f=((f|0)==1|(h|(i|0)!=0&((n|0)!=0&(i|0)!=(n|0))))&1;o=o+1|0;h=m-g>>2}while(h>>>0>o>>>0);uy(b,f,e,d);aa=v;return f|0}function xy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;n=aa;aa=aa+32|0;m=n;k=n+20|0;l=n+8|0;h=c[d>>2]|0;f=(c[d+4>>2]|0)-h|0;j=f>>2;g=c[e>>2]|0;i=g;if((j|0)==((c[e+4>>2]|0)-g>>2|0)){if(!f){m=0;aa=n;return m|0}g=0;f=0;while(1){o=c[h+(g<<2)>>2]|0;p=c[i+(g<<2)>>2]|0;f=(f|0)==1|(o|0)!=0&((p|0)!=0&(p|0)!=(o|0));g=g+1|0;if(g>>>0>=j>>>0)break;else f=f&1}if(!f){p=0;aa=n;return p|0}}vy(k,e,0);f=k+11|0;j=(a[f>>0]|0)<0?c[k>>2]|0:k;vy(l,d,0);p=l+11|0;o=(a[p>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=j;c[m+4>>2]=o;sy(b,330987,m);if((a[p>>0]|0)<0)$A(c[l>>2]|0);if((a[f>>0]|0)<0)$A(c[k>>2]|0);p=1;aa=n;return p|0}function yy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=aa;aa=aa+16|0;f=n;m=wy(b,d,e)|0;l=(c[d+4>>2]|0)-(c[d>>2]|0)|0;k=l>>2;e=c[b+36>>2]|0;j=(c[b+40>>2]|0)-e|0;d=(j|0)/36|0;if(!j){c[f>>2]=0;c[f+4>>2]=d+-1;sy(b,330832,f);l=1;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}i=d+-1|0;h=c[e+(i*36|0)+28>>2]|0;j=b+24|0;b=b+28|0;d=c[b>>2]|0;f=c[j>>2]|0;g=d-f>>2;if((h+k|0)>>>0<=g>>>0){if(!l){l=0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}c[b>>2]=d+(0-k<<2);l=0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}if(h>>>0<=g>>>0){if(h>>>0<g>>>0)c[b>>2]=f+(h<<2)}else hu(j,h-g|0);l=(a[e+(i*36|0)+32>>0]|0)==0;m=(m|0)==1;m=m|l;m=m&1;aa=n;return m|0}function zy(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=aa;aa=aa+16|0;g=q;p=q+8|0;o=wy(b,d,f)|0;n=(c[d+4>>2]|0)-(c[d>>2]|0)|0;m=n>>2;f=c[b+36>>2]|0;l=(c[b+40>>2]|0)-f|0;d=(l|0)/36|0;do if(!l){c[g>>2]=0;c[g+4>>2]=d+-1;sy(b,330832,g);f=1}else{k=d+-1|0;d=c[f+(k*36|0)+28>>2]|0;l=b+24|0;i=b+28|0;g=c[i>>2]|0;h=c[l>>2]|0;j=g-h>>2;if((d+m|0)>>>0<=j>>>0){if(!n){f=0;break}c[i>>2]=g+(0-m<<2);f=0;break}if(d>>>0<=j>>>0){if(d>>>0<j>>>0)c[i>>2]=h+(d<<2)}else hu(l,d-j|0);f=(a[f+(k*36|0)+32>>0]|0)==0}while(0);l=((o|0)==1|f)&1;f=c[e>>2]|0;i=c[e+4>>2]|0;if((f|0)==(i|0)){aa=q;return l|0}j=b+28|0;k=b+32|0;h=b+24|0;do{d=c[f>>2]|0;c[p>>2]=d;do if((d|0)!=-64){g=c[j>>2]|0;if((g|0)==(c[k>>2]|0)){fo(h,p);break}else{c[g>>2]=d;c[j>>2]=g+4;break}}while(0);f=f+4|0}while((f|0)!=(i|0));aa=q;return l|0}function Ay(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=aa;aa=aa+32|0;o=p+8|0;g=p;j=p+16|0;k=b+36|0;n=b+40|0;f=c[k>>2]|0;l=(c[n>>2]|0)-f|0;h=(l|0)/36|0;if(l){i=h+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if((c[f+(i*36|0)+28>>2]|0)>>>0<h>>>0){g=c[g+(h+-1<<2)>>2]|0;f=0}else{g=0;f=(a[f+(i*36|0)+32>>0]|0)==0}f=f|(g|0)!=0&((d|0)!=0&(g|0)!=(d|0));if(f)m=7;else l=f}else{c[g>>2]=0;c[g+4>>2]=h+-1;sy(b,330832,g);f=1;m=7}if((m|0)==7){l=_A(4)|0;c[j>>2]=l;m=l+4|0;c[j+8>>2]=m;c[l>>2]=d;c[j+4>>2]=m;uy(b,1,e,j);$A(l);l=f}f=c[k>>2]|0;n=(c[n>>2]|0)-f|0;g=(n|0)/36|0;if(!n){c[o>>2]=0;c[o+4>>2]=g+-1;sy(b,330832,o);b=1;b=l|b;b=b&1;aa=p;return b|0}j=g+-1|0;d=c[f+(j*36|0)+28>>2]|0;k=b+24|0;i=b+28|0;g=c[i>>2]|0;h=c[k>>2]|0;e=g-h>>2;if((d+1|0)>>>0<=e>>>0){c[i>>2]=g+-4;b=0;b=l|b;b=b&1;aa=p;return b|0}if(d>>>0<=e>>>0){if(d>>>0<e>>>0)c[i>>2]=h+(d<<2)}else hu(k,d-e|0);b=(a[f+(j*36|0)+32>>0]|0)==0;b=l|b;b=b&1;aa=p;return b|0}function By(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=aa;aa=aa+48|0;r=s+16|0;m=s+8|0;g=s;p=s+24|0;o=b+36|0;q=b+40|0;i=c[q>>2]|0;j=c[o>>2]|0;n=i-j|0;h=(n|0)/36|0;do if(n){l=j;k=h+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if((c[l+(k*36|0)+28>>2]|0)>>>0<h>>>0){h=c[g+(h+-1<<2)>>2]|0;g=0;break}else{h=0;g=(a[l+(k*36|0)+32>>0]|0)==0;break}}else{c[g>>2]=0;c[g+4>>2]=h+-1;sy(b,330832,g);i=c[q>>2]|0;j=c[o>>2]|0;h=0;g=1}while(0);k=g|(h|0)!=0&((e|0)!=0&(h|0)!=(e|0));n=i-j|0;g=(n|0)/36|0;do if(n){i=g+-1|0;g=c[b+24>>2]|0;h=(c[b+28>>2]|0)-g>>2;if(((c[j+(i*36|0)+28>>2]|0)+1|0)>>>0<h>>>0){h=c[g+(h+-2<<2)>>2]|0;g=0;break}else{h=0;g=(a[j+(i*36|0)+32>>0]|0)==0;break}}else{c[m>>2]=0;c[m+4>>2]=g+-1;sy(b,330832,m);h=0;g=1}while(0);n=k|(g|(h|0)!=0&((d|0)!=0&(h|0)!=(d|0)));if(n){m=_A(8)|0;c[p>>2]=m;l=m+8|0;c[p+8>>2]=l;c[m>>2]=d;c[m+4>>2]=e;c[p+4>>2]=l;uy(b,1,f,p);$A(m)}g=c[o>>2]|0;q=(c[q>>2]|0)-g|0;h=(q|0)/36|0;if(!q){c[r>>2]=0;c[r+4>>2]=h+-1;sy(b,330832,r);b=1;b=n|b;b=b&1;aa=s;return b|0}m=h+-1|0;l=c[g+(m*36|0)+28>>2]|0;f=b+24|0;j=b+28|0;h=c[j>>2]|0;i=c[f>>2]|0;k=h-i>>2;if((l+2|0)>>>0<=k>>>0){c[j>>2]=h+-8;b=0;b=n|b;b=b&1;aa=s;return b|0}if(l>>>0<=k>>>0){if(l>>>0<k>>>0)c[j>>2]=i+(l<<2)}else hu(f,l-k|0);b=(a[g+(m*36|0)+32>>0]|0)==0;b=n|b;b=b&1;aa=s;return b|0}function Cy(b,d,e,f,g){b=b|0;d=d|0;e=e|0;f=f|0;g=g|0;var h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0;u=aa;aa=aa+48|0;t=u+24|0;p=u+16|0;o=u+8|0;h=u;r=u+32|0;q=b+36|0;s=b+40|0;j=c[s>>2]|0;k=c[q>>2]|0;n=j-k|0;i=(n|0)/36|0;do if(n){m=k;l=i+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if((c[m+(l*36|0)+28>>2]|0)>>>0<i>>>0){i=c[h+(i+-1<<2)>>2]|0;h=0;break}else{i=0;h=(a[m+(l*36|0)+32>>0]|0)==0;break}}else{c[h>>2]=0;c[h+4>>2]=i+-1;sy(b,330832,h);j=c[s>>2]|0;k=c[q>>2]|0;i=0;h=1}while(0);n=h|(i|0)!=0&((f|0)!=0&(i|0)!=(f|0));m=j-k|0;h=(m|0)/36|0;do if(m){m=k;l=h+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[m+(l*36|0)+28>>2]|0)+1|0)>>>0<i>>>0){i=c[h+(i+-2<<2)>>2]|0;h=0;break}else{i=0;h=(a[m+(l*36|0)+32>>0]|0)==0;break}}else{c[o>>2]=0;c[o+4>>2]=h+-1;sy(b,330832,o);j=c[s>>2]|0;k=c[q>>2]|0;i=0;h=1}while(0);l=n|(h|(i|0)!=0&((e|0)!=0&(i|0)!=(e|0)));o=j-k|0;h=(o|0)/36|0;do if(o){j=h+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[k+(j*36|0)+28>>2]|0)+2|0)>>>0<i>>>0){i=c[h+(i+-3<<2)>>2]|0;h=0;break}else{i=0;h=(a[k+(j*36|0)+32>>0]|0)==0;break}}else{c[p>>2]=0;c[p+4>>2]=h+-1;sy(b,330832,p);i=0;h=1}while(0);if(l|(h|(i|0)!=0&((d|0)!=0&(i|0)!=(d|0)))){p=_A(12)|0;c[r>>2]=p;o=p+12|0;c[r+8>>2]=o;c[p>>2]=d;c[p+4>>2]=e;c[p+8>>2]=f;c[r+4>>2]=o;uy(b,1,g,r);$A(p)}i=c[q>>2]|0;s=(c[s>>2]|0)-i|0;h=(s|0)/36|0;if(!s){c[t>>2]=0;c[t+4>>2]=h+-1;sy(b,330832,t);aa=u;return}l=c[i+((h+-1|0)*36|0)+28>>2]|0;m=b+24|0;j=b+28|0;h=c[j>>2]|0;i=c[m>>2]|0;k=h-i>>2;if((l+3|0)>>>0<=k>>>0){c[j>>2]=h+-12;aa=u;return}if(l>>>0>k>>>0){hu(m,l-k|0);aa=u;return}if(l>>>0>=k>>>0){aa=u;return}c[j>>2]=i+(l<<2);aa=u;return}function Dy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;h=aa;aa=aa+48|0;g=h;Am(g,b);e=c[g+8>>2]|0;Am(g,b);f=c[g+12>>2]|0;Am(g,b);f=By(a,e,f,c[g>>2]|0)|0;Am(g,b);b=c[g+4>>2]|0;c[g>>2]=b;if((b|0)==-64){aa=h;return f|0}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,g);aa=h;return f|0}else{c[d>>2]=b;c[e>>2]=d+4;aa=h;return f|0}return 0}function Ey(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0;g=aa;aa=aa+48|0;f=g;Am(f,b);h=c[f+8>>2]|0;Am(f,b);d=c[f+12>>2]|0;Am(f,b);e=c[f+16>>2]|0;Am(f,b);Cy(a,h,d,e,c[f>>2]|0);Am(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Fy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=aa;aa=aa+32|0;l=o+16|0;n=o+12|0;m=o;h=a+24|0;f=c[h>>2]|0;g=a+28|0;c[g>>2]=f;k=a+36|0;i=c[k>>2]|0;j=a+40|0;d=c[j>>2]|0;if((d|0)==(i|0)){e=f;d=f}else{do{e=c[d+-20>>2]|0;if(e|0){c[d+-16>>2]=e;$A(e)}e=c[d+-32>>2]|0;if(e|0){c[d+-28>>2]=e;$A(e)}d=d+-36|0}while((d|0)!=(i|0));e=c[g>>2]|0;d=c[h>>2]|0}c[j>>2]=i;c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;c[l>>2]=0;d=e-d>>2;c[n>>2]=d;if(i>>>0<(c[a+44>>2]|0)>>>0){ry(i,0,m,b,d);c[j>>2]=(c[j>>2]|0)+36;aa=o;return}else{ty(k,l,m,b,n);aa=o;return}}function Gy(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Am(f,b);e=c[f+8>>2]|0;Am(f,b);Ay(a,e,c[f>>2]|0)|0;Am(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Hy(a,b){a=a|0;b=b|0;Dy(a,b)|0;return}function Iy(a,b){a=a|0;b=b|0;Dy(a,b)|0;return}function Jy(a,b){a=a|0;b=b|0;Ey(a,b);return}function Ky(a,b){a=a|0;b=b|0;Ey(a,b);return}function Ly(a,b){a=a|0;b=b|0;Dy(a,b)|0;return}function My(a,b){a=a|0;b=b|0;Dy(a,b)|0;return}function Ny(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;j=l+4|0;g=l;yy(a,b,331050)|0;c[j>>2]=1;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){ry(e,1,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ty(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){fo(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function Oy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;j=k+8|0;h=k;f=b+36|0;i=b+40|0;e=c[f>>2]|0;g=((c[i>>2]|0)-e|0)/36|0;if(g>>>0<=d>>>0){c[h>>2]=d;c[h+4>>2]=g+-1;sy(b,330832,h);aa=k;return}d=g+~d|0;wy(b,(c[e+(d*36|0)>>2]|0)==2?e+(d*36|0)+4|0:e+(d*36|0)+16|0,331056)|0;d=c[f>>2]|0;i=(c[i>>2]|0)-d|0;e=(i|0)/36|0;if(!i){c[j>>2]=0;c[j+4>>2]=e+-1;sy(b,330832,j);aa=k;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;d=b+28|0;e=c[h>>2]|0;f=(c[d>>2]|0)-e>>2;if(g>>>0>f>>>0){hu(h,g-f|0);aa=k;return}if(g>>>0>=f>>>0){aa=k;return}c[d>>2]=e+(g<<2);aa=k;return}function Py(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;k=aa;aa=aa+16|0;f=k;j=k+8|0;Ay(a,-1,331059)|0;d=c[a+36>>2]|0;e=((c[a+40>>2]|0)-d|0)/36|0;if(e>>>0<=b>>>0){c[f>>2]=b;c[f+4>>2]=e+-1;sy(a,330832,f);aa=k;return}h=d;g=e+~b|0;i=h+(g*36|0)|0;d=h+(g*36|0)+4|0;g=h+(g*36|0)+16|0;yy(a,(c[i>>2]|0)==2?d:g,331059)|0;g=(c[i>>2]|0)==2?d:g;d=c[g>>2]|0;g=c[g+4>>2]|0;if((d|0)==(g|0)){aa=k;return}h=a+28|0;i=a+32|0;f=a+24|0;do{b=c[d>>2]|0;c[j>>2]=b;do if((b|0)!=-64){e=c[h>>2]|0;if((e|0)==(c[i>>2]|0)){fo(f,j);break}else{c[e>>2]=b;c[h>>2]=e+4;break}}while(0);d=d+4|0}while((d|0)!=(g|0));aa=k;return}function Qy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;o=aa;aa=aa+48|0;m=o+8|0;h=o;n=o+28|0;l=o+16|0;Ay(b,-24,331065)|0;f=c[b+36>>2]|0;g=((c[b+40>>2]|0)-f|0)/36|0;if(g>>>0<=d>>>0){c[h>>2]=d;c[h+4>>2]=g+-1;sy(b,330832,h);aa=o;return}i=g+~d|0;i=(c[f+(i*36|0)>>2]|0)==2?f+(i*36|0)+4|0:f+(i*36|0)+16|0;g=c[e>>2]|0;f=(c[e+4>>2]|0)-g|0;j=f>>2;d=c[i>>2]|0;h=d;if((j|0)==((c[i+4>>2]|0)-d>>2|0)){if(f|0){d=0;f=0;while(1){p=c[g+(d<<2)>>2]|0;q=c[h+(d<<2)>>2]|0;f=(f|0)==1|(p|0)!=0&((q|0)!=0&(q|0)!=(p|0));d=d+1|0;if(d>>>0>=j>>>0)break;else f=f&1}if(f)k=8}}else k=8;if((k|0)==8){vy(n,i,0);f=n+11|0;k=(a[f>>0]|0)<0?c[n>>2]|0:n;vy(l,e,0);q=l+11|0;p=(a[q>>0]|0)<0?c[l>>2]|0:l;c[m>>2]=k;c[m+4>>2]=p;sy(b,331075,m);if((a[q>>0]|0)<0)$A(c[l>>2]|0);if((a[f>>0]|0)<0)$A(c[n>>2]|0)}c[n>>2]=-24;d=b+28|0;f=c[d>>2]|0;if((f|0)==(c[b+32>>2]|0))fo(b+24|0,n);else{c[f>>2]=-24;c[d>>2]=f+4}aa=o;return}function Ry(a){a=a|0;c[a+48>>2]=0;Ay(a,-1,331129)|0;return}function Sy(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;l=aa;aa=aa+48|0;k=l+8|0;g=l;i=l+28|0;j=l+16|0;e=c[b+36>>2]|0;f=((c[b+40>>2]|0)-e|0)/36|0;if(f>>>0<=d>>>0){c[g>>2]=d;c[g+4>>2]=f+-1;sy(b,330832,g);aa=l;return}h=f+~d|0;h=(c[e+(h*36|0)>>2]|0)==2?e+(h*36|0)+4|0:e+(h*36|0)+16|0;wy(b,h,331129)|0;d=b+48|0;e=c[d>>2]|0;if(!e){c[d>>2]=h;e=h}n=c[e+4>>2]|0;m=c[e>>2]|0;f=c[h>>2]|0;d=m;g=n;a:do if((n-m|0)==((c[h+4>>2]|0)-f|0)){if((d|0)==(g|0)){aa=l;return}while(1){if((c[d>>2]|0)!=(c[f>>2]|0))break a;d=d+4|0;if((d|0)==(g|0))break;else f=f+4|0}aa=l;return}while(0);vy(i,e,0);e=i+11|0;g=(a[e>>0]|0)<0?c[i>>2]|0:i;vy(j,h,0);n=j+11|0;m=(a[n>>0]|0)<0?c[j>>2]|0:j;c[k>>2]=g;c[k+4>>2]=m;sy(b,331138,k);if((a[n>>0]|0)<0)$A(c[j>>2]|0);if((a[e>>0]|0)<0)$A(c[i>>2]|0);aa=l;return}function Ty(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;sy(b,330832,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){hu(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function Uy(a,b,c){a=a|0;b=b|0;c=c|0;zy(a,b,c,331199)|0;return}function Vy(a,b,c){a=a|0;b=b|0;c=c|0;Ay(a,-1,331204)|0;zy(a,b,c,331204)|0;return}function Wy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=aa;aa=aa+16|0;j=k+8|0;i=k;yy(b,d,331218)|0;f=b+36|0;h=b+40|0;d=c[f>>2]|0;l=(c[h>>2]|0)-d|0;g=((l|0)/36|0)+-1|0;if(!l){c[i>>2]=g;c[i+4>>2]=g;sy(b,330832,i);aa=k;return}xy(b,e,d+16|0)|0;f=c[f>>2]|0;l=(c[h>>2]|0)-f|0;d=(l|0)/36|0;if(!l){c[j>>2]=0;c[j+4>>2]=d+-1;sy(b,330832,j);aa=k;return}h=d+-1|0;a[f+(h*36|0)+32>>0]=1;e=b+24|0;h=c[f+(h*36|0)+28>>2]|0;f=b+28|0;d=c[e>>2]|0;g=(c[f>>2]|0)-d>>2;if(h>>>0>g>>>0){hu(e,h-g|0);aa=k;return}if(h>>>0>=g>>>0){aa=k;return}c[f>>2]=d+(h<<2);aa=k;return}function Xy(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=aa;aa=aa+16|0;j=k+8|0;i=k;Ay(b,-1,331230)|0;yy(b,d,331230)|0;f=b+36|0;h=b+40|0;d=c[f>>2]|0;l=(c[h>>2]|0)-d|0;g=((l|0)/36|0)+-1|0;if(!l){c[i>>2]=g;c[i+4>>2]=g;sy(b,330832,i);aa=k;return}xy(b,e,d+16|0)|0;f=c[f>>2]|0;l=(c[h>>2]|0)-f|0;d=(l|0)/36|0;if(!l){c[j>>2]=0;c[j+4>>2]=d+-1;sy(b,330832,j);aa=k;return}h=d+-1|0;a[f+(h*36|0)+32>>0]=1;e=b+24|0;h=c[f+(h*36|0)+28>>2]|0;f=b+28|0;d=c[e>>2]|0;g=(c[f>>2]|0)-d>>2;if(h>>>0>g>>>0){hu(e,h-g|0);aa=k;return}if(h>>>0>=g>>>0){aa=k;return}c[f>>2]=d+(h<<2);aa=k;return}function Yy(a,b){a=a|0;b=b|0;Dy(a,b)|0;return}function Zy(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=aa;aa=aa+32|0;i=n+8|0;e=n;m=n+16|0;g=b+36|0;h=b+40|0;d=c[g>>2]|0;l=(c[h>>2]|0)-d|0;f=(l|0)/36|0;if(!l){c[e>>2]=0;c[e+4>>2]=f+-1;sy(b,330832,e);aa=n;return}l=f+-1|0;k=d+(l*36|0)|0;yy(b,d+(l*36|0)+16|0,331251)|0;f=c[g>>2]|0;j=(c[h>>2]|0)-f|0;e=(j|0)/36|0;if(j){h=b+24|0;g=b+28|0;if(((c[g>>2]|0)-(c[h>>2]|0)>>2|0)==(c[f+((e+-1|0)*36|0)+28>>2]|0)){f=h;e=g;j=g;i=h}else{c[m>>2]=0;c[m+4>>2]=0;c[m+8>>2]=0;uy(b,1,331251,m);f=h;e=g;j=g;i=h}}else{c[i>>2]=0;c[i+4>>2]=e+-1;sy(b,330832,i);i=b+24|0;j=b+28|0;f=i;e=j}h=c[d+(l*36|0)+28>>2]|0;e=c[e>>2]|0;f=c[f>>2]|0;g=e-f>>2;if(h>>>0<=g>>>0){if(h>>>0<g>>>0){e=f+(h<<2)|0;c[j>>2]=e}}else{hu(i,h-g|0);e=c[j>>2]|0}c[k>>2]=6;a[d+(l*36|0)+32>>0]=0;c[m>>2]=-24;if((e|0)==(c[b+32>>2]|0))fo(i,m);else{c[e>>2]=-24;c[j>>2]=e+4}aa=n;return}function _y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function $y(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Am(f,b);e=c[f+8>>2]|0;Am(f,b);Ay(a,e,c[f>>2]|0)|0;Am(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function az(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=aa;aa=aa+32|0;e=n;l=n+20|0;m=n+8|0;d=c[b+36>>2]|0;k=(c[b+40>>2]|0)-d|0;f=(k|0)/36|0;if(k){j=f+-1|0;e=c[d+(j*36|0)+28>>2]|0;k=b+24|0;h=b+28|0;f=c[h>>2]|0;g=c[k>>2]|0;i=f-g>>2;if((e+1|0)>>>0<=i>>>0){c[h>>2]=f+-4;aa=n;return}if(e>>>0<=i>>>0){if(e>>>0<i>>>0)c[h>>2]=g+(e<<2)}else hu(k,e-i|0);if(a[d+(j*36|0)+32>>0]|0){aa=n;return}}else{c[e>>2]=0;c[e+4>>2]=f+-1;sy(b,330832,e)}c[l>>2]=1;l=_A(4)|0;c[m>>2]=l;k=l+4|0;c[m+8>>2]=k;c[l>>2]=0;c[m+4>>2]=k;uy(b,1,331261,m);$A(l);aa=n;return}function bz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=aa;aa=aa+32|0;i=p+8|0;e=p;o=p+16|0;g=b+36|0;h=b+40|0;d=c[g>>2]|0;n=(c[h>>2]|0)-d|0;f=(n|0)/36|0;if(!n){c[e>>2]=0;c[e+4>>2]=f+-1;sy(b,330832,e);o=1;aa=p;return o|0}n=f+-1|0;m=d+(n*36|0)|0;j=(c[m>>2]|0)!=3;j=j|(yy(b,d+(n*36|0)+16|0,331266)|0)==1;f=c[g>>2]|0;l=(c[h>>2]|0)-f|0;e=(l|0)/36|0;if(l){h=b+24|0;g=b+28|0;e=((c[g>>2]|0)-(c[h>>2]|0)>>2|0)!=(c[f+((e+-1|0)*36|0)+28>>2]|0);if(e){c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;uy(b,1,331266,o);f=h;i=g;l=g;k=h}else{f=h;i=g;l=g;k=h}}else{c[i>>2]=0;c[i+4>>2]=e+-1;sy(b,330832,i);k=b+24|0;l=b+28|0;f=k;i=l;e=1}j=(j|e)&1;g=c[d+(n*36|0)+28>>2]|0;f=c[f>>2]|0;e=(c[i>>2]|0)-f>>2;if(g>>>0<=e>>>0){if(g>>>0<e>>>0)c[l>>2]=f+(g<<2)}else hu(k,g-e|0);e=c[d+(n*36|0)+4>>2]|0;i=c[d+(n*36|0)+8>>2]|0;if((e|0)!=(i|0)){h=b+32|0;do{f=c[e>>2]|0;c[o>>2]=f;do if((f|0)!=-64){g=c[l>>2]|0;if((g|0)==(c[h>>2]|0)){fo(k,o);break}else{c[g>>2]=f;c[l>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(i|0))}c[m>>2]=4;a[d+(n*36|0)+32>>0]=0;o=j;aa=p;return o|0}function cz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;p=aa;aa=aa+32|0;f=p;n=p+8|0;m=b+16|0;j=(yy(a,m,d)|0)==1;o=a+40|0;d=c[a+36>>2]|0;l=(c[o>>2]|0)-d|0;g=(l|0)/36|0;if(l){h=a+24|0;f=a+28|0;d=((c[f>>2]|0)-(c[h>>2]|0)>>2|0)!=(c[d+((g+-1|0)*36|0)+28>>2]|0);if(d){c[n>>2]=0;c[n+4>>2]=0;c[n+8>>2]=0;uy(a,1,e,n);e=h;i=f;l=f;k=h}else{e=h;i=f;l=f;k=h}}else{c[f>>2]=0;c[f+4>>2]=g+-1;sy(a,330832,f);k=a+24|0;l=a+28|0;e=k;i=l;d=1}j=(j|d)&1;g=c[b+28>>2]|0;f=c[e>>2]|0;d=(c[i>>2]|0)-f>>2;if(g>>>0<=d>>>0){if(g>>>0<d>>>0)c[l>>2]=f+(g<<2)}else hu(k,g-d|0);d=c[m>>2]|0;h=c[b+20>>2]|0;if((d|0)!=(h|0)){e=a+32|0;do{f=c[d>>2]|0;c[n>>2]=f;do if((f|0)!=-64){g=c[l>>2]|0;if((g|0)==(c[e>>2]|0)){fo(k,n);break}else{c[g>>2]=f;c[l>>2]=g+4;break}}while(0);d=d+4|0}while((d|0)!=(h|0))}f=c[o>>2]|0;d=c[f+-20>>2]|0;if(d|0){c[f+-16>>2]=d;$A(d)}d=c[f+-32>>2]|0;if(!d){n=f+-36|0;c[o>>2]=n;aa=p;return j|0}c[f+-28>>2]=d;$A(d);n=f+-36|0;c[o>>2]=n;aa=p;return j|0}function dz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[a+36>>2]|0;g=(c[a+40>>2]|0)-b|0;d=(g|0)/36|0;if(!g){c[e>>2]=0;c[e+4>>2]=d+-1;sy(a,330832,e);aa=f;return}d=b+((d+-1|0)*36|0)|0;b=c[d>>2]|0;do if((b|0)==3)if((bz(a)|0)==1){aa=f;return}else{b=c[d>>2]|0;break}while(0);g=c[279840+(b<<2)>>2]|0;cz(a,d,g,g)|0;aa=f;return}function ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;j=l+4|0;g=l;Ay(a,-1,331295)|0;yy(a,b,331295)|0;c[j>>2]=3;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){ry(e,3,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ty(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){fo(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function gz(a,b){a=a|0;b=b|0;Ay(a,b,331328)|0;return}function hz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Am(f,b);e=c[f+8>>2]|0;Am(f,b);Ay(a,e,c[f>>2]|0)|0;Am(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function iz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function jz(a,b){a=a|0;b=b|0;Ay(a,b,331339)|0;return}function kz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+16|0;f=g;Ay(a,b,331349)|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function lz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;j=l+4|0;g=l;yy(a,b,331290)|0;c[j>>2]=2;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){ry(e,2,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ty(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){fo(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function mz(a){a=a|0;Ey(a,199);return}function nz(a){a=a|0;Ey(a,200);return}function oz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Am(f,51);b=c[f+8>>2]|0;Am(f,51);Ay(a,b,c[f>>2]|0)|0;Am(f,51);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function pz(a){a=a|0;Ey(a,197);return}function qz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){fo(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function rz(a){a=a|0;Ey(a,203);return}function sz(a){a=a|0;Ey(a,201);return}function tz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;Ay(a,-1,331359)|0;c[e>>2]=-17;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){fo(a+24|0,e);aa=f;return}else{c[b>>2]=-17;c[d>>2]=b+4;aa=f;return}}function uz(a){a=a|0;By(a,-1,-17,331369)|0;return}function vz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;By(a,-17,-1,331379)|0;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){fo(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function wz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){fo(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function xz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;c[e>>2]=-17;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){fo(a+24|0,e);aa=f;return}else{c[b>>2]=-17;c[d>>2]=b+4;aa=f;return}}function yz(a){a=a|0;var b=0,d=0,e=0,f=0;f=aa;aa=aa+16|0;e=f;Ay(a,-17,331390)|0;c[e>>2]=-1;d=a+28|0;b=c[d>>2]|0;if((b|0)==(c[a+32>>2]|0)){fo(a+24|0,e);aa=f;return}else{c[b>>2]=-1;c[d>>2]=b+4;aa=f;return}}function zz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;Ay(b,-24,331402)|0;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;sy(b,330832,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){hu(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function Az(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;yy(b,d,331410)|0;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;sy(b,330832,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){hu(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function Bz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;j=aa;aa=aa+16|0;i=j+8|0;g=j;e=b+36|0;h=b+40|0;d=c[e>>2]|0;k=(c[h>>2]|0)-d|0;f=((k|0)/36|0)+-1|0;if(!k){c[g>>2]=f;c[g+4>>2]=f;sy(b,330832,g);aa=j;return}yy(b,d+16|0,331416)|0;e=c[e>>2]|0;k=(c[h>>2]|0)-e|0;d=(k|0)/36|0;if(!k){c[i>>2]=0;c[i+4>>2]=d+-1;sy(b,330832,i);aa=j;return}g=d+-1|0;a[e+(g*36|0)+32>>0]=1;h=b+24|0;g=c[e+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){hu(h,g-f|0);aa=j;return}if(g>>>0>=f>>>0){aa=j;return}c[e>>2]=d+(g<<2);aa=j;return}function Cz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=aa;aa=aa+48|0;o=q+24|0;l=q+16|0;k=q+8|0;d=q;p=q+32|0;m=b+36|0;n=b+40|0;f=c[n>>2]|0;g=c[m>>2]|0;j=f-g|0;e=(j|0)/36|0;do if(j){i=g;h=e+-1|0;d=c[b+24>>2]|0;e=(c[b+28>>2]|0)-d>>2;if((c[i+(h*36|0)+28>>2]|0)>>>0<e>>>0){e=((c[d+(e+-1<<2)>>2]|0)+1|0)>>>0>1;d=0;break}else{e=0;d=(a[i+(h*36|0)+32>>0]|0)==0;break}}else{c[d>>2]=0;c[d+4>>2]=e+-1;sy(b,330832,d);f=c[n>>2]|0;g=c[m>>2]|0;e=0;d=1}while(0);j=e|d;i=f-g|0;d=(i|0)/36|0;do if(i){e=g;d=d+-1|0;h=c[b+24>>2]|0;i=(c[b+28>>2]|0)-h>>2;if(((c[e+(d*36|0)+28>>2]|0)+1|0)>>>0<i>>>0){d=0;k=c[h+(i+-2<<2)>>2]|0;break}else{d=(a[e+(d*36|0)+32>>0]|0)==0;k=0;break}}else{c[k>>2]=0;c[k+4>>2]=d+-1;sy(b,330832,k);f=c[n>>2]|0;g=c[m>>2]|0;d=1;k=0}while(0);h=j|d;j=f-g|0;d=(j|0)/36|0;do if(j){f=d+-1|0;d=c[b+24>>2]|0;e=(c[b+28>>2]|0)-d>>2;if(((c[g+(f*36|0)+28>>2]|0)+2|0)>>>0<e>>>0){e=c[d+(e+-3<<2)>>2]|0;d=0;break}else{e=0;d=(a[g+(f*36|0)+32>>0]|0)==0;break}}else{c[l>>2]=0;c[l+4>>2]=d+-1;sy(b,330832,l);e=0;d=1}while(0);if(h|(d|(e|0)!=0&((k|0)!=0&(e|0)!=(k|0)))){l=_A(12)|0;c[p>>2]=l;j=l+12|0;c[p+8>>2]=j;c[l>>2]=-1;c[l+4>>2]=k;c[l+8>>2]=k;c[p+4>>2]=j;uy(b,1,331423,p);$A(l)}e=c[m>>2]|0;n=(c[n>>2]|0)-e|0;d=(n|0)/36|0;do if(n){d=c[e+((d+-1|0)*36|0)+28>>2]|0;i=b+24|0;g=b+28|0;e=c[g>>2]|0;f=c[i>>2]|0;h=e-f>>2;if((d+3|0)>>>0<=h>>>0){c[g>>2]=e+-12;break}if(d>>>0>h>>>0){hu(i,d-h|0);break}if(d>>>0<h>>>0)c[g>>2]=f+(d<<2)}else{c[o>>2]=0;c[o+4>>2]=d+-1;sy(b,330832,o)}while(0);c[p>>2]=k;if((k|0)==-64){aa=q;return}e=b+28|0;d=c[e>>2]|0;if((d|0)==(c[b+32>>2]|0)){fo(b+24|0,p);aa=q;return}else{c[d>>2]=k;c[e>>2]=d+4;aa=q;return}}function Dz(a,b){a=a|0;b=b|0;Dy(a,b)|0;return}function Ez(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;j=l+4|0;g=l;yy(a,b,331314)|0;c[j>>2]=5;k=a+24|0;i=a+28|0;h=(c[i>>2]|0)-(c[k>>2]|0)>>2;c[g>>2]=h;f=a+40|0;e=c[f>>2]|0;if(e>>>0<(c[a+44>>2]|0)>>>0){ry(e,5,b,d,h);c[f>>2]=(c[f>>2]|0)+36}else ty(a+36|0,j,b,d,g);e=c[b>>2]|0;h=c[b+4>>2]|0;if((e|0)==(h|0)){aa=l;return}d=a+32|0;do{f=c[e>>2]|0;c[j>>2]=f;do if((f|0)!=-64){g=c[i>>2]|0;if((g|0)==(c[d>>2]|0)){fo(k,j);break}else{c[g>>2]=f;c[i>>2]=g+4;break}}while(0);e=e+4|0}while((e|0)!=(h|0));aa=l;return}function Fz(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0;g=aa;aa=aa+48|0;f=g;Am(f,b);e=c[f+8>>2]|0;Am(f,b);Ay(a,e,c[f>>2]|0)|0;Am(f,b);b=c[f+4>>2]|0;c[f>>2]=b;if((b|0)==-64){aa=g;return}e=a+28|0;d=c[e>>2]|0;if((d|0)==(c[a+32>>2]|0)){fo(a+24|0,f);aa=g;return}else{c[d>>2]=b;c[e>>2]=d+4;aa=g;return}}function Gz(a,b){a=a|0;b=b|0;Ey(a,b);return}function Hz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+64|0;g=i;h=i+16|0;f=Em(b)|0;if(!(0>e>>>0|0==(e|0)&f>>>0>d>>>0)){c[g>>2]=f;f=g+8|0;c[f>>2]=d;c[f+4>>2]=e;sy(a,331430,g)}switch(b|0){case 232:case 226:case 229:case 223:case 220:case 219:case 216:case 215:{Am(h,b);d=c[h+8>>2]|0;Am(h,b);Ay(a,d,c[h>>2]|0)|0;Am(h,b);d=c[h+4>>2]|0;c[h>>2]=d;do if((d|0)!=-64){f=a+28|0;e=c[f>>2]|0;if((e|0)==(c[a+32>>2]|0)){fo(a+24|0,h);break}else{c[e>>2]=d;c[f>>2]=e+4;break}}while(0);aa=i;return}case 233:case 227:case 230:case 224:case 221:case 217:{Dy(a,b)|0;aa=i;return}default:U()}}function Iz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0;K=aa;aa=aa+128|0;I=K+120|0;H=K+112|0;F=K+104|0;E=K+96|0;D=K+88|0;C=K+80|0;B=K+72|0;A=K+64|0;z=K+56|0;y=K+48|0;x=K+40|0;w=K+32|0;J=K+24|0;G=K+16|0;v=K+8|0;u=K;f=a[e>>0]|0;o=a[e+1>>0]|0;p=a[e+2>>0]|0;q=a[e+3>>0]|0;r=a[e+4>>0]|0;s=a[e+5>>0]|0;t=a[e+6>>0]|0;g=a[e+7>>0]|0;h=a[e+8>>0]|0;i=a[e+9>>0]|0;j=a[e+10>>0]|0;k=a[e+11>>0]|0;l=a[e+12>>0]|0;m=a[e+13>>0]|0;n=a[e+14>>0]|0;e=a[e+15>>0]|0;if((f&255)>31){c[u>>2]=f&255;sy(b,331473,u)}if((o&255)>31){c[v>>2]=o&255;sy(b,331473,v)}if((p&255)>31){c[G>>2]=p&255;sy(b,331473,G)}if((q&255)>31){c[J>>2]=q&255;sy(b,331473,J)}if((r&255)>31){c[w>>2]=r&255;sy(b,331473,w)}if((s&255)>31){c[x>>2]=s&255;sy(b,331473,x)}if((t&255)>31){c[y>>2]=t&255;sy(b,331473,y)}if((g&255)>31){c[z>>2]=g&255;sy(b,331473,z)}if((h&255)>31){c[A>>2]=h&255;sy(b,331473,A)}if((i&255)>31){c[B>>2]=i&255;sy(b,331473,B)}if((j&255)>31){c[C>>2]=j&255;sy(b,331473,C)}if((k&255)>31){c[D>>2]=k&255;sy(b,331473,D)}if((l&255)>31){c[E>>2]=l&255;sy(b,331473,E)}if((m&255)>31){c[F>>2]=m&255;sy(b,331473,F)}if((n&255)>31){c[H>>2]=n&255;sy(b,331473,H)}if((e&255)<=31){Dy(b,d)|0;aa=K;return}c[I>>2]=e&255;sy(b,331473,I);Dy(b,d)|0;aa=K;return}function Jz(b){b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;f=i;d=c[b+36>>2]|0;h=(c[b+40>>2]|0)-d|0;e=(h|0)/36|0;if(!h){c[f>>2]=0;c[f+4>>2]=e+-1;sy(b,330832,f);aa=i;return}g=e+-1|0;a[d+(g*36|0)+32>>0]=1;h=b+24|0;g=c[d+(g*36|0)+28>>2]|0;e=b+28|0;d=c[h>>2]|0;f=(c[e>>2]|0)-d>>2;if(g>>>0>f>>>0){hu(h,g-f|0);aa=i;return}if(g>>>0>=f>>>0){aa=i;return}c[e>>2]=d+(g<<2);aa=i;return}function Kz(a){a=a|0;var b=0,d=0,e=0,f=0,g=0;f=aa;aa=aa+16|0;e=f;b=c[a+36>>2]|0;g=(c[a+40>>2]|0)-b|0;d=(g|0)/36|0;if(!g){c[e>>2]=0;c[e+4>>2]=d+-1;sy(a,330832,e);aa=f;return}else{cz(a,b+((d+-1|0)*36|0)|0,331514,331281)|0;aa=f;return}}function Lz(b,d){b=b|0;d=d|0;var e=0,f=0;f=b+d|0;if((d|0)<=0){f=1;return f|0}a:while(1){e=a[b>>0]|0;d=c[279872+((e&255)<<2)>>2]|0;if((b+d|0)>>>0>f>>>0){b=0;d=14;break}switch(d|0){case 0:{b=0;d=14;break a}case 1:{b=b+1|0;break}case 2:{if((a[b+1>>0]&-64)<<24>>24==-128)b=b+2|0;else{b=0;d=14;break a}break}case 3:{d=a[b+1>>0]|0;if(!((d&-64)<<24>>24==-128?(a[b+2>>0]&-64)<<24>>24==-128:0)){b=0;d=14;break a}if(e<<24>>24==-32&(d&255)<160){b=0;d=14;break a}if(e<<24>>24==-19&(d&255)>159){b=0;d=14;break a}else b=b+3|0;break}case 4:{d=a[b+1>>0]|0;if(!(((d&-64)<<24>>24==-128?(a[b+2>>0]&-64)<<24>>24==-128:0)&(a[b+3>>0]&-64)<<24>>24==-128)){b=0;d=14;break a}if(e<<24>>24==-16&(d&255)<144){b=0;d=14;break a}if(e<<24>>24==-12&(d&255)>143){b=0;d=14;break a}else b=b+4|0;break}default:{}}if(b>>>0>=f>>>0){b=1;d=14;break}}if((d|0)==14)return b|0;return 0}function Mz(a){a=a|0;var b=0,d=0;b=aa;aa=aa+16|0;d=b;a=Qz(c[a+60>>2]|0)|0;c[d>>2]=a;a=Oz(T(6,d|0)|0)|0;aa=b;return a|0}function Nz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0;f=aa;aa=aa+32|0;g=f;e=f+20|0;c[g>>2]=c[a+60>>2];c[g+4>>2]=0;c[g+8>>2]=b;c[g+12>>2]=e;c[g+16>>2]=d;if((Oz(Q(140,g|0)|0)|0)<0){c[e>>2]=-1;a=-1}else a=c[e>>2]|0;aa=f;return a|0}function Oz(a){a=a|0;if(a>>>0>4294963200){c[88534]=0-a;a=-1}return a|0}function Pz(){return 354136}function Qz(a){a=a|0;return a|0}function Rz(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;m=aa;aa=aa+48|0;i=m+32|0;f=m+16|0;e=m;j=a+28|0;g=c[j>>2]|0;c[e>>2]=g;k=a+20|0;g=(c[k>>2]|0)-g|0;c[e+4>>2]=g;c[e+8>>2]=b;c[e+12>>2]=d;g=g+d|0;h=a+60|0;c[f>>2]=c[h>>2];c[f+4>>2]=e;c[f+8>>2]=2;b=Oz(R(146,f|0)|0)|0;a:do if((g|0)!=(b|0)){f=2;while(1){if((b|0)<0)break;g=g-b|0;o=c[e+4>>2]|0;n=b>>>0>o>>>0;e=n?e+8|0:e;f=f+(n<<31>>31)|0;o=b-(n?o:0)|0;c[e>>2]=(c[e>>2]|0)+o;n=e+4|0;c[n>>2]=(c[n>>2]|0)-o;c[i>>2]=c[h>>2];c[i+4>>2]=e;c[i+8>>2]=f;b=Oz(R(146,i|0)|0)|0;if((g|0)==(b|0)){l=3;break a}}c[a+16>>2]=0;c[j>>2]=0;c[k>>2]=0;c[a>>2]=c[a>>2]|32;if((f|0)==2)d=0;else d=d-(c[e+4>>2]|0)|0}else l=3;while(0);if((l|0)==3){o=c[a+44>>2]|0;c[a+16>>2]=o+(c[a+48>>2]|0);c[j>>2]=o;c[k>>2]=o}aa=m;return d|0}function Sz(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0;f=aa;aa=aa+16|0;g=f;c[g>>2]=e;e=Vz(a,b,d,g)|0;aa=f;return e|0}function Tz(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;a:do if(!d)b=0;else{while(1){e=a[b>>0]|0;f=a[c>>0]|0;if(e<<24>>24!=f<<24>>24)break;d=d+-1|0;if(!d){b=0;break a}else{b=b+1|0;c=c+1|0}}b=(e&255)-(f&255)|0}while(0);return b|0}function Uz(b){b=b|0;var d=0,e=0,f=0;f=b;a:do if(!(f&3)){d=b;e=5}else{d=f;while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=b;if(!(d&3)){d=b;e=5;break}}}while(0);if((e|0)==5){while(1){b=c[d>>2]|0;if(!((b&-2139062144^-2139062144)&b+-16843009))d=d+4|0;else break}if((b&255)<<24>>24)do d=d+1|0;while((a[d>>0]|0)!=0)}return d-f|0}function Vz(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0;m=aa;aa=aa+128|0;g=m+124|0;l=m;h=l;i=291860;j=h+124|0;do{c[h>>2]=c[i>>2];h=h+4|0;i=i+4|0}while((h|0)<(j|0));if((d+-1|0)>>>0>2147483646)if(!d){d=1;k=4}else{c[88534]=75;g=-1}else{g=b;k=4}if((k|0)==4){k=-2-g|0;k=d>>>0>k>>>0?k:d;c[l+48>>2]=k;h=l+20|0;c[h>>2]=g;c[l+44>>2]=g;g=g+k|0;d=l+16|0;c[d>>2]=g;c[l+28>>2]=g;g=Wz(l,e,f)|0;if(k){e=c[h>>2]|0;a[e+(((e|0)==(c[d>>2]|0))<<31>>31)>>0]=0}}aa=m;return g|0}function Wz(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0;q=aa;aa=aa+224|0;m=q+208|0;p=q+160|0;o=q+80|0;n=q;f=p;g=f+40|0;do{c[f>>2]=0;f=f+4|0}while((f|0)<(g|0));c[m>>2]=c[e>>2];if((Xz(0,d,m,o,p)|0)<0)e=-1;else{e=c[b>>2]|0;l=e&32;if((a[b+74>>0]|0)<1)c[b>>2]=e&-33;h=b+48|0;if(!(c[h>>2]|0)){g=b+44|0;f=c[g>>2]|0;c[g>>2]=n;i=b+28|0;c[i>>2]=n;k=b+20|0;c[k>>2]=n;c[h>>2]=80;j=b+16|0;c[j>>2]=n+80;e=Xz(b,d,m,o,p)|0;if(f){ga[c[b+36>>2]&127](b,0,0)|0;e=(c[k>>2]|0)==0?-1:e;c[g>>2]=f;c[h>>2]=0;c[j>>2]=0;c[i>>2]=0;c[k>>2]=0}}else e=Xz(b,d,m,o,p)|0;p=c[b>>2]|0;c[b>>2]=p|l;e=(p&32|0)==0?e:-1}aa=q;return e|0}function Xz(d,e,f,h,i){d=d|0;e=e|0;f=f|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0;F=aa;aa=aa+64|0;D=F+56|0;B=F+40|0;w=F;E=F+48|0;C=F+60|0;c[D>>2]=e;A=(d|0)!=0;v=w+40|0;y=v;w=w+39|0;x=E+4|0;e=0;j=0;m=0;a:while(1){do{do if((e|0)>-1)if((j|0)>(2147483647-e|0)){c[88534]=75;e=-1;break}else{e=j+e|0;break}while(0);p=c[D>>2]|0;j=a[p>>0]|0;if(!(j<<24>>24)){u=93;break a}k=p;b:while(1){switch(j<<24>>24){case 37:{u=10;break b}case 0:{j=k;break b}default:{}}t=k+1|0;c[D>>2]=t;j=a[t>>0]|0;k=t}c:do if((u|0)==10){u=0;l=k;j=k;do{if((a[l+1>>0]|0)!=37)break c;j=j+1|0;l=l+2|0;c[D>>2]=l}while((a[l>>0]|0)==37)}while(0);j=j-p|0;if(A)Yz(d,p,j)}while((j|0)!=0);l=c[D>>2]|0;j=a[l+1>>0]|0;if(!(Zz(j)|0)){k=1;r=-1;o=m}else{o=(a[l+2>>0]|0)==36;k=o?3:1;r=o?j+-48|0:-1;o=o?1:m}k=l+k|0;c[D>>2]=k;j=a[k>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0)n=0;else{j=0;while(1){m=1<<l|j;k=k+1|0;c[D>>2]=k;j=a[k>>0]|0;l=(j<<24>>24)+-32|0;if(l>>>0>31|(1<<l&75913|0)==0){n=m;break}else j=m}}if(j<<24>>24==42){l=k+1|0;j=a[l>>0]|0;if((Zz(j)|0)!=0?(a[k+2>>0]|0)==36:0){c[i+(j+-48<<2)>>2]=10;m=1;j=k+3|0;k=c[h+((a[l>>0]|0)+-48<<3)>>2]|0}else{if(o|0){e=-1;break}if(A){m=(c[f>>2]|0)+(4-1)&~(4-1);k=c[m>>2]|0;c[f>>2]=m+4;m=0;j=l}else{m=0;j=l;k=0}}c[D>>2]=j;s=(k|0)<0;l=j;q=s?n|8192:n;t=m;s=s?0-k|0:k}else{j=_z(D)|0;if((j|0)<0){e=-1;break}l=c[D>>2]|0;q=n;t=o;s=j}do if((a[l>>0]|0)==46){j=l+1|0;if((a[j>>0]|0)!=42){c[D>>2]=j;n=_z(D)|0;j=c[D>>2]|0;break}j=l+2|0;k=a[j>>0]|0;if(Zz(k)|0?(a[l+3>>0]|0)==36:0){c[i+(k+-48<<2)>>2]=10;n=c[h+((a[j>>0]|0)+-48<<3)>>2]|0;j=l+4|0;c[D>>2]=j;break}if(t|0){e=-1;break a}if(A){o=(c[f>>2]|0)+(4-1)&~(4-1);k=c[o>>2]|0;c[f>>2]=o+4}else k=0;c[D>>2]=j;n=k}else{j=l;n=-1}while(0);o=0;while(1){if(((a[j>>0]|0)+-65|0)>>>0>57){e=-1;break a}k=j+1|0;c[D>>2]=k;l=a[(a[j>>0]|0)+-65+(280896+(o*58|0))>>0]|0;m=l&255;if((m+-1|0)>>>0<8){j=k;o=m}else break}if(!(l<<24>>24)){e=-1;break}k=(r|0)>-1;do if(l<<24>>24==19)if(k){e=-1;break a}else u=52;else{if(k){c[i+(r<<2)>>2]=m;m=h+(r<<3)|0;r=c[m+4>>2]|0;u=B;c[u>>2]=c[m>>2];c[u+4>>2]=r;u=52;break}if(!A){e=0;break a}$z(B,m,f);u=53}while(0);if((u|0)==52){u=0;if(A)u=53;else j=0}d:do if((u|0)==53){u=0;l=a[j>>0]|0;l=(o|0)!=0&(l&15|0)==3?l&-33:l;k=q&-65537;r=(q&8192|0)==0?q:k;e:do switch(l|0){case 110:switch((o&255)<<24>>24){case 0:{c[c[B>>2]>>2]=e;j=0;break d}case 1:{c[c[B>>2]>>2]=e;j=0;break d}case 2:{j=c[B>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}case 3:{b[c[B>>2]>>1]=e;j=0;break d}case 4:{a[c[B>>2]>>0]=e;j=0;break d}case 6:{c[c[B>>2]>>2]=e;j=0;break d}case 7:{j=c[B>>2]|0;c[j>>2]=e;c[j+4>>2]=((e|0)<0)<<31>>31;j=0;break d}default:{j=0;break d}}case 112:{j=r|8;k=n>>>0>8?n:8;m=120;u=65;break}case 88:case 120:{j=r;k=n;m=l;u=65;break}case 111:{q=B;p=c[q>>2]|0;q=c[q+4>>2]|0;o=bA(p,q,v)|0;k=y-o|0;j=r;k=(r&8|0)==0|(n|0)>(k|0)?n:k+1|0;l=0;n=331530;u=71;break}case 105:case 100:{k=B;j=c[k>>2]|0;k=c[k+4>>2]|0;if((k|0)<0){j=jC(0,0,j|0,k|0)|0;k=z()|0;l=B;c[l>>2]=j;c[l+4>>2]=k;l=1;m=331530;u=70;break e}else{l=(r&2049|0)!=0&1;m=(r&2048|0)==0?((r&1|0)==0?331530:331532):331531;u=70;break e}}case 117:{k=B;j=c[k>>2]|0;k=c[k+4>>2]|0;l=0;m=331530;u=70;break}case 99:{a[w>>0]=c[B>>2];p=w;o=k;m=1;l=0;k=331530;j=y;break}case 109:{j=dA(c[88534]|0)|0;u=75;break}case 115:{j=c[B>>2]|0;j=(j|0)==0?331540:j;u=75;break}case 67:{c[E>>2]=c[B>>2];c[x>>2]=0;c[B>>2]=E;l=E;n=-1;u=80;break}case 83:if(!n){fA(d,32,s,0,r);j=0;u=90;break e}else{l=c[B>>2]|0;u=80;break e}case 65:case 71:case 70:case 69:case 97:case 103:case 102:case 101:{j=hA(d,+g[B>>3],s,n,r,l)|0;break d}default:{o=r;m=n;l=0;k=331530;j=y}}while(0);f:do if((u|0)==65){q=B;p=c[q>>2]|0;q=c[q+4>>2]|0;o=aA(p,q,v,m&32)|0;n=(j&8|0)==0|(p|0)==0&(q|0)==0;l=n?0:2;n=n?331530:331530+(m>>>4)|0;u=71}else if((u|0)==70){p=j;q=k;o=cA(j,k,v)|0;j=r;k=n;n=m;u=71}else if((u|0)==75){u=0;r=eA(j,n)|0;q=(r|0)==0;p=j;o=k;m=q?n:r-j|0;l=0;k=331530;j=q?j+n|0:r}else if((u|0)==80){u=0;j=0;o=l;while(1){k=c[o>>2]|0;if(!k)break;k=gA(C,k)|0;m=(k|0)<0;if(m|k>>>0>(n-j|0)>>>0){u=84;break}j=k+j|0;if(n>>>0>j>>>0)o=o+4|0;else break}if((u|0)==84){u=0;if(m){e=-1;break a}}fA(d,32,s,j,r);if(!j){j=0;u=90}else{m=0;while(1){k=c[l>>2]|0;if(!k){u=90;break f}k=gA(C,k)|0;m=k+m|0;if((m|0)>(j|0)){u=90;break f}Yz(d,C,k);if(m>>>0>=j>>>0){u=90;break}else l=l+4|0}}}while(0);if((u|0)==71){u=0;m=(p|0)!=0|(q|0)!=0;r=(k|0)!=0|m;m=y-o+((m^1)&1)|0;p=r?o:v;o=(k|0)>-1?j&-65537:j;m=r?((k|0)>(m|0)?k:m):0;k=n;j=y}else if((u|0)==90){u=0;fA(d,32,s,j,r^8192);j=(s|0)>(j|0)?s:j;break}q=j-p|0;n=(m|0)<(q|0)?q:m;r=n+l|0;j=(s|0)<(r|0)?r:s;fA(d,32,j,r,o);Yz(d,k,l);fA(d,48,j,r,o^65536);fA(d,48,n,q,0);Yz(d,p,q);fA(d,32,j,r,o^8192)}while(0);m=t}g:do if((u|0)==93)if(!d)if(!m)e=0;else{e=1;while(1){j=c[i+(e<<2)>>2]|0;if(!j)break;$z(h+(e<<3)|0,j,f);e=e+1|0;if(e>>>0>=10){e=1;break g}}j=0;while(1){e=e+1|0;if(j|0){e=-1;break g}if(e>>>0>=10){e=1;break g}j=c[i+(e<<2)>>2]|0}}while(0);aa=F;return e|0}function Yz(a,b,d){a=a|0;b=b|0;d=d|0;if(!(c[a>>2]&32))sA(b,d,a);return}function Zz(a){a=a|0;return (a+-48|0)>>>0<10|0}function _z(b){b=b|0;var d=0,e=0,f=0;e=c[b>>2]|0;d=a[e>>0]|0;if(!(Zz(d<<24>>24)|0))d=0;else{f=d;d=0;do{d=(d*10|0)+-48+(f<<24>>24)|0;e=e+1|0;c[b>>2]=e;f=a[e>>0]|0}while((Zz(f<<24>>24)|0)!=0)}return d|0}function $z(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,h=0.0;a:do if(b>>>0<=20)do switch(b|0){case 9:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;c[a>>2]=b;break a}case 10:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=((b|0)<0)<<31>>31;break a}case 11:{e=(c[d>>2]|0)+(4-1)&~(4-1);b=c[e>>2]|0;c[d>>2]=e+4;e=a;c[e>>2]=b;c[e+4>>2]=0;break a}case 12:{e=(c[d>>2]|0)+(8-1)&~(8-1);b=e;f=c[b>>2]|0;b=c[b+4>>2]|0;c[d>>2]=e+8;e=a;c[e>>2]=f;c[e+4>>2]=b;break a}case 13:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&65535)<<16>>16;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 14:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&65535;c[f+4>>2]=0;break a}case 15:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;e=(e&255)<<24>>24;f=a;c[f>>2]=e;c[f+4>>2]=((e|0)<0)<<31>>31;break a}case 16:{f=(c[d>>2]|0)+(4-1)&~(4-1);e=c[f>>2]|0;c[d>>2]=f+4;f=a;c[f>>2]=e&255;c[f+4>>2]=0;break a}case 17:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}case 18:{f=(c[d>>2]|0)+(8-1)&~(8-1);h=+g[f>>3];c[d>>2]=f+8;g[a>>3]=h;break a}default:break a}while(0);while(0);return}function aA(b,c,e,f){b=b|0;c=c|0;e=e|0;f=f|0;if(!((b|0)==0&(c|0)==0))do{e=e+-1|0;a[e>>0]=d[281360+(b&15)>>0]|0|f;b=oC(b|0,c|0,4)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return e|0}function bA(b,c,d){b=b|0;c=c|0;d=d|0;if(!((b|0)==0&(c|0)==0))do{d=d+-1|0;a[d>>0]=b&7|48;b=oC(b|0,c|0,3)|0;c=z()|0}while(!((b|0)==0&(c|0)==0));return d|0}function cA(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0;if(c>>>0>0|(c|0)==0&b>>>0>4294967295)do{e=b;b=mC(b|0,c|0,10,0)|0;f=c;c=z()|0;g=hC(b|0,c|0,-10,-1)|0;g=iC(e|0,f|0,g|0,z()|0)|0;z()|0;d=d+-1|0;a[d>>0]=g&255|48}while(f>>>0>9|(f|0)==9&e>>>0>4294967295);if(b)do{g=b;b=(b>>>0)/10|0;f=(g+(v(b,-10)|0)|48)&255;d=d+-1|0;a[d>>0]=f}while(g>>>0>=10);return d|0}function dA(a){a=a|0;return mA(a,354180)|0}function eA(b,d){b=b|0;d=d|0;var e=0,f=0;e=(d|0)!=0;a:do if(e&(b&3|0)!=0)while(1){if(!(a[b>>0]|0))break a;b=b+1|0;d=d+-1|0;e=(d|0)!=0;if(!(e&(b&3|0)!=0)){f=5;break}}else f=5;while(0);b:do if((f|0)==5){do if(e){if(!(a[b>>0]|0))if(!d)break;else break b;c:do if(d>>>0>3)while(1){e=c[b>>2]|0;if((e&-2139062144^-2139062144)&e+-16843009|0)break c;b=b+4|0;d=d+-4|0;if(d>>>0<=3){f=11;break}}else f=11;while(0);if((f|0)==11)if(!d)break;while(1){if(!(a[b>>0]|0))break b;d=d+-1|0;if(!d)break;else b=b+1|0}}while(0);b=0}while(0);return b|0}function fA(a,b,c,d,e){a=a|0;b=b|0;c=c|0;d=d|0;e=e|0;var f=0,g=0;g=aa;aa=aa+256|0;f=g;if((c|0)>(d|0)&(e&73728|0)==0){e=c-d|0;uC(f|0,b<<24>>24|0,(e>>>0<256?e:256)|0)|0;if(e>>>0>255){d=e;do{Yz(a,f,256);d=d+-256|0}while(d>>>0>255);e=e&255}Yz(a,f,e)}aa=g;return}function gA(a,b){a=a|0;b=b|0;if(!a)a=0;else a=lA(a,b)|0;return a|0}function hA(b,e,f,g,h,i){b=b|0;e=+e;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0.0,r=0,s=0,t=0,u=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0;H=aa;aa=aa+560|0;m=H+32|0;t=H+536|0;G=H;F=G;l=H+540|0;c[t>>2]=0;E=l+12|0;iA(e)|0;j=z()|0;if((j|0)<0){e=-e;iA(e)|0;j=z()|0;D=1;B=331547}else{D=(h&2049|0)!=0&1;B=(h&2048|0)==0?((h&1|0)==0?331548:331553):331550}do if(0==0&(j&2146435072|0)==2146435072){G=(i&32|0)!=0;j=D+3|0;fA(b,32,f,j,h&-65537);Yz(b,B,D);Yz(b,e!=e|0.0!=0.0?(G?331589:331574):G?331566:331570,3);fA(b,32,f,j,h^8192)}else{q=+jA(e,t)*2.0;j=q!=0.0;if(j)c[t>>2]=(c[t>>2]|0)+-1;w=i|32;if((w|0)==97){o=i&32;r=(o|0)==0?B:B+9|0;p=D|2;j=12-g|0;do if(!(g>>>0>11|(j|0)==0)){e=8.0;do{j=j+-1|0;e=e*16.0}while((j|0)!=0);if((a[r>>0]|0)==45){e=-(e+(-q-e));break}else{e=q+e-e;break}}else e=q;while(0);k=c[t>>2]|0;j=(k|0)<0?0-k|0:k;j=cA(j,((j|0)<0)<<31>>31,E)|0;if((j|0)==(E|0)){j=l+11|0;a[j>>0]=48}a[j+-1>>0]=(k>>31&2)+43;n=j+-2|0;a[n>>0]=i+15;k=(g|0)<1;l=(h&8|0)==0;j=G;while(1){D=~~e;m=j+1|0;a[j>>0]=o|d[281360+D>>0];e=(e-+(D|0))*16.0;if((m-F|0)==1?!(l&(k&e==0.0)):0){a[m>>0]=46;m=j+2|0}if(!(e!=0.0))break;else j=m}if((g|0)!=0?(-2-F+m|0)<(g|0):0){k=E;l=n;j=g+2+k-l|0}else{k=E;l=n;j=k-F-l+m|0}E=j+p|0;fA(b,32,f,E,h);Yz(b,r,p);fA(b,48,f,E,h^65536);F=m-F|0;Yz(b,G,F);G=k-l|0;fA(b,48,j-(F+G)|0,0,0);Yz(b,n,G);fA(b,32,f,E,h^8192);j=E;break}k=(g|0)<0?6:g;if(j){l=(c[t>>2]|0)+-28|0;c[t>>2]=l;e=q*268435456.0}else{l=c[t>>2]|0;e=q}C=(l|0)<0?m:m+288|0;m=C;do{y=~~e>>>0;c[m>>2]=y;m=m+4|0;e=(e-+(y>>>0))*1.0e9}while(e!=0.0);y=C;if((l|0)>0){j=C;do{o=(l|0)<29?l:29;l=m+-4|0;if(l>>>0>=j>>>0){n=0;do{s=pC(c[l>>2]|0,0,o|0)|0;s=iC(s|0,z()|0,n|0,0)|0;u=z()|0;n=mC(s|0,u|0,1e9,0)|0;x=hC(n|0,z()|0,-1e9,-1)|0;x=iC(s|0,u|0,x|0,z()|0)|0;z()|0;c[l>>2]=x;l=l+-4|0}while(l>>>0>=j>>>0);if(n){j=j+-4|0;c[j>>2]=n}}a:do if(m>>>0>j>>>0)while(1){l=m+-4|0;if(c[l>>2]|0)break a;if(l>>>0>j>>>0)m=l;else{m=l;break}}while(0);l=(c[t>>2]|0)-o|0;c[t>>2]=l}while((l|0)>0)}else j=C;if((l|0)<0){g=((k+25|0)/9|0)+1|0;s=(w|0)==102;do{r=0-l|0;r=(r|0)<9?r:9;if(j>>>0<m>>>0){o=(1<<r)+-1|0;n=1e9>>>r;p=0;l=j;do{x=c[l>>2]|0;c[l>>2]=(x>>>r)+p;p=v(x&o,n)|0;l=l+4|0}while(l>>>0<m>>>0);j=(c[j>>2]|0)==0?j+4|0:j;if(p){c[m>>2]=p;m=m+4|0}}else j=(c[j>>2]|0)==0?j+4|0:j;l=s?C:j;m=(m-l>>2|0)>(g|0)?l+(g<<2)|0:m;l=(c[t>>2]|0)+r|0;c[t>>2]=l}while((l|0)<0);s=m}else s=m;if(j>>>0<s>>>0){l=(y-j>>2)*9|0;n=c[j>>2]|0;if(n>>>0>=10){m=10;do{m=m*10|0;l=l+1|0}while(n>>>0>=m>>>0)}}else l=0;t=(w|0)==103;u=(k|0)!=0;m=k-((w|0)==102?0:l)+((u&t)<<31>>31)|0;if((m|0)<(((s-y>>2)*9|0)+-9|0)){x=m+9216|0;m=(x|0)/9|0;g=C+4+(m+-1024<<2)|0;m=x+(v(m,-9)|0)|0;if((m|0)<8){n=10;while(1){n=n*10|0;if((m|0)<7)m=m+1|0;else break}}else n=10;o=c[g>>2]|0;m=(o>>>0)/(n>>>0)|0;r=v(m,n)|0;o=o-r|0;p=(g+4|0)==(s|0);if(!(p&(o|0)==0)){q=(m&1|0)==0?9007199254740992.0:9007199254740994.0;x=n>>>1;e=o>>>0<x>>>0?.5:p&(o|0)==(x|0)?1.0:1.5;if(D){x=(a[B>>0]|0)==45;q=x?-q:q;e=x?-e:e}c[g>>2]=r;if(q+e!=q){x=r+n|0;c[g>>2]=x;if(x>>>0>999999999){l=g;while(1){m=l+-4|0;c[l>>2]=0;if(m>>>0<j>>>0){j=j+-4|0;c[j>>2]=0}x=(c[m>>2]|0)+1|0;c[m>>2]=x;if(x>>>0>999999999)l=m;else break}}else m=g;l=(y-j>>2)*9|0;o=c[j>>2]|0;if(o>>>0>=10){n=10;do{n=n*10|0;l=l+1|0}while(o>>>0>=n>>>0)}}else m=g}else m=g;w=m+4|0;x=j;j=s>>>0>w>>>0?w:s}else{x=j;j=s}r=0-l|0;b:do if(j>>>0>x>>>0)while(1){m=j+-4|0;if(c[m>>2]|0){s=1;w=j;break b}if(m>>>0>x>>>0)j=m;else{s=0;w=m;break}}else{s=0;w=j}while(0);do if(t){j=k+((u^1)&1)|0;if((j|0)>(l|0)&(l|0)>-5){k=j+-1-l|0;n=i+-1|0}else{k=j+-1|0;n=i+-2|0}if(!(h&8)){if(s?(A=c[w+-4>>2]|0,(A|0)!=0):0)if(!((A>>>0)%10|0)){j=10;m=0;do{j=j*10|0;m=m+1|0}while(!((A>>>0)%(j>>>0)|0|0))}else m=0;else m=9;j=((w-y>>2)*9|0)+-9|0;if((n|32|0)==102){i=j-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}else{i=j+l-m|0;i=(i|0)>0?i:0;k=(k|0)<(i|0)?k:i;break}}}else n=i;while(0);g=(k|0)!=0;o=g?1:h>>>3&1;p=(n|32|0)==102;if(p){u=0;j=(l|0)>0?l:0}else{j=(l|0)<0?r:l;j=cA(j,((j|0)<0)<<31>>31,E)|0;m=E;if((m-j|0)<2)do{j=j+-1|0;a[j>>0]=48}while((m-j|0)<2);a[j+-1>>0]=(l>>31&2)+43;j=j+-2|0;a[j>>0]=n;u=j;j=m-j|0}j=D+1+k+o+j|0;fA(b,32,f,j,h);Yz(b,B,D);fA(b,48,f,j,h^65536);if(p){o=x>>>0>C>>>0?C:x;r=G+9|0;p=r;n=G+8|0;m=o;do{l=cA(c[m>>2]|0,0,r)|0;if((m|0)==(o|0)){if((l|0)==(r|0)){a[n>>0]=48;l=n}}else if(l>>>0>G>>>0){uC(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Yz(b,l,p-l|0);m=m+4|0}while(m>>>0<=C>>>0);if(!((h&8|0)==0&(g^1)))Yz(b,331578,1);if(m>>>0<w>>>0&(k|0)>0)while(1){l=cA(c[m>>2]|0,0,r)|0;if(l>>>0>G>>>0){uC(G|0,48,l-F|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}Yz(b,l,(k|0)<9?k:9);m=m+4|0;l=k+-9|0;if(!(m>>>0<w>>>0&(k|0)>9)){k=l;break}else k=l}fA(b,48,k+9|0,9,0)}else{g=s?w:x+4|0;if(x>>>0<g>>>0&(k|0)>-1){r=G+9|0;t=(h&8|0)==0;s=r;n=0-F|0;p=G+8|0;o=x;do{l=cA(c[o>>2]|0,0,r)|0;if((l|0)==(r|0)){a[p>>0]=48;l=p}do if((o|0)==(x|0)){m=l+1|0;Yz(b,l,1);if(t&(k|0)<1){l=m;break}Yz(b,331578,1);l=m}else{if(l>>>0<=G>>>0)break;uC(G|0,48,l+n|0)|0;do l=l+-1|0;while(l>>>0>G>>>0)}while(0);F=s-l|0;Yz(b,l,(k|0)>(F|0)?F:k);k=k-F|0;o=o+4|0}while(o>>>0<g>>>0&(k|0)>-1)}fA(b,48,k+18|0,18,0);Yz(b,u,E-u|0)}fA(b,32,f,j,h^8192)}while(0);aa=H;return ((j|0)<(f|0)?f:j)|0}function iA(a){a=+a;var b=0;g[h>>3]=a;b=c[h>>2]|0;y(c[h+4>>2]|0);return b|0}function jA(a,b){a=+a;b=b|0;return +(+kA(a,b))}function kA(a,b){a=+a;b=b|0;var d=0,e=0,f=0;g[h>>3]=a;d=c[h>>2]|0;e=c[h+4>>2]|0;f=oC(d|0,e|0,52)|0;z()|0;switch(f&2047){case 0:{if(a!=0.0){a=+kA(a*18446744073709551616.0,b);d=(c[b>>2]|0)+-64|0}else d=0;c[b>>2]=d;break}case 2047:break;default:{c[b>>2]=(f&2047)+-1022;c[h>>2]=d;c[h+4>>2]=e&-2146435073|1071644672;a=+g[h>>3]}}return +a}function lA(b,d){b=b|0;d=d|0;do if(b){if(d>>>0<128){a[b>>0]=d;b=1;break}if(!(c[88545]|0))if((d&-128|0)==57216){a[b>>0]=d;b=1;break}else{c[88534]=84;b=-1;break}if(d>>>0<2048){a[b>>0]=d>>>6|192;a[b+1>>0]=d&63|128;b=2;break}if(d>>>0<55296|(d&-8192|0)==57344){a[b>>0]=d>>>12|224;a[b+1>>0]=d>>>6&63|128;a[b+2>>0]=d&63|128;b=3;break}if((d+-65536|0)>>>0<1048576){a[b>>0]=d>>>18|240;a[b+1>>0]=d>>>12&63|128;a[b+2>>0]=d>>>6&63|128;a[b+3>>0]=d&63|128;b=4;break}else{c[88534]=84;b=-1;break}}else b=1;while(0);return b|0}function mA(b,e){b=b|0;e=e|0;var f=0,g=0;f=0;while(1){if((d[281376+f>>0]|0)==(b|0)){b=4;break}f=f+1|0;if((f|0)==87){f=87;b=5;break}}if((b|0)==4)if(!f)f=281472;else b=5;if((b|0)==5){b=281472;do{do{g=b;b=b+1|0}while((a[g>>0]|0)!=0);f=f+-1|0}while((f|0)!=0);f=b}return nA(f,c[e+20>>2]|0)|0}function nA(a,b){a=a|0;b=b|0;return oA(a,b)|0}function oA(a,b){a=a|0;b=b|0;if(!b)b=0;else b=pA(c[b>>2]|0,c[b+4>>2]|0,a)|0;return ((b|0)==0?a:b)|0}function pA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=(c[b>>2]|0)+1794895138|0;h=qA(c[b+8>>2]|0,o)|0;f=qA(c[b+12>>2]|0,o)|0;g=qA(c[b+16>>2]|0,o)|0;a:do if((h>>>0<d>>>2>>>0?(n=d-(h<<2)|0,f>>>0<n>>>0&g>>>0<n>>>0):0)?((g|f)&3|0)==0:0){n=f>>>2;m=g>>>2;l=0;while(1){k=h>>>1;j=l+k|0;i=j<<1;g=i+n|0;f=qA(c[b+(g<<2)>>2]|0,o)|0;g=qA(c[b+(g+1<<2)>>2]|0,o)|0;if(!(g>>>0<d>>>0&f>>>0<(d-g|0)>>>0)){f=0;break a}if(a[b+(g+f)>>0]|0){f=0;break a}f=rA(e,b+g|0)|0;if(!f)break;f=(f|0)<0;if((h|0)==1){f=0;break a}l=f?l:j;h=f?k:h-k|0}f=i+m|0;g=qA(c[b+(f<<2)>>2]|0,o)|0;f=qA(c[b+(f+1<<2)>>2]|0,o)|0;if(f>>>0<d>>>0&g>>>0<(d-f|0)>>>0)f=(a[b+(f+g)>>0]|0)==0?b+f|0:0;else f=0}else f=0;while(0);return f|0}function qA(a,b){a=a|0;b=b|0;var c=0;c=qC(a|0)|0;return ((b|0)==0?a:c)|0}function rA(b,c){b=b|0;c=c|0;var d=0,e=0;d=a[b>>0]|0;e=a[c>>0]|0;if(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24))do{b=b+1|0;c=c+1|0;d=a[b>>0]|0;e=a[c>>0]|0}while(!(d<<24>>24==0?1:d<<24>>24!=e<<24>>24));return (d&255)-(e&255)|0}function sA(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;g=e+16|0;f=c[g>>2]|0;if(!f){if(!(tA(e)|0)){f=c[g>>2]|0;h=5}}else h=5;a:do if((h|0)==5){i=e+20|0;h=c[i>>2]|0;g=h;if((f-h|0)>>>0<d>>>0){ga[c[e+36>>2]&127](e,b,d)|0;break}b:do if((a[e+75>>0]|0)<0|(d|0)==0)f=d;else{h=d;while(1){f=h+-1|0;if((a[b+f>>0]|0)==10)break;if(!f){f=d;break b}else h=f}if((ga[c[e+36>>2]&127](e,b,h)|0)>>>0<h>>>0)break a;g=c[i>>2]|0;f=d-h|0;b=b+h|0}while(0);sC(g|0,b|0,f|0)|0;c[i>>2]=(c[i>>2]|0)+f}while(0);return}function tA(b){b=b|0;var d=0,e=0;d=b+74|0;e=a[d>>0]|0;a[d>>0]=e+255|e;d=c[b>>2]|0;if(!(d&8)){c[b+8>>2]=0;c[b+4>>2]=0;d=c[b+44>>2]|0;c[b+28>>2]=d;c[b+20>>2]=d;c[b+16>>2]=d+(c[b+48>>2]|0);d=0}else{c[b>>2]=d|32;d=-1}return d|0}function uA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0;e=a+20|0;f=c[e>>2]|0;a=(c[a+16>>2]|0)-f|0;a=a>>>0>d>>>0?d:a;sC(f|0,b|0,a|0)|0;c[e>>2]=(c[e>>2]|0)+a;return d|0}function vA(a){a=a|0;return ((a|0)==32|(a+-9|0)>>>0<5)&1|0}function wA(b,c,e){b=b|0;c=c|0;e=e|0;var f=0,g=0;if(!e)c=0;else{f=a[b>>0]|0;a:do if(!(f<<24>>24))f=0;else while(1){e=e+-1|0;g=a[c>>0]|0;if(!(f<<24>>24==g<<24>>24&((e|0)!=0&g<<24>>24!=0)))break a;b=b+1|0;c=c+1|0;f=a[b>>0]|0;if(!(f<<24>>24)){f=0;break}}while(0);c=(f&255)-(d[c>>0]|0)|0}return c|0}function xA(a){a=a|0;var b=0,e=0;e=aa;aa=aa+16|0;b=e;if((yA(a)|0)==0?(ga[c[a+32>>2]&127](a,b,1)|0)==1:0)b=d[b>>0]|0;else b=-1;aa=e;return b|0}function yA(b){b=b|0;var d=0,e=0;e=b+74|0;d=a[e>>0]|0;a[e>>0]=d+255|d;e=b+20|0;d=b+28|0;if((c[e>>2]|0)>>>0>(c[d>>2]|0)>>>0)ga[c[b+36>>2]&127](b,0,0)|0;c[b+16>>2]=0;c[d>>2]=0;c[e>>2]=0;d=c[b>>2]|0;if(!(d&4)){e=(c[b+44>>2]|0)+(c[b+48>>2]|0)|0;c[b+8>>2]=e;c[b+4>>2]=e;d=d<<27>>31}else{c[b>>2]=d|32;d=-1}return d|0}function zA(a){a=a|0;var b=0;c[a+104>>2]=0;b=c[a+8>>2]|0;c[a+108>>2]=b-(c[a+4>>2]|0);c[a+100>>2]=b;return}function AA(b){b=b|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0;f=b+104|0;j=c[f>>2]|0;if((j|0)!=0?(c[b+108>>2]|0)>=(j|0):0)k=4;else{e=xA(b)|0;if((e|0)>=0){g=c[f>>2]|0;j=c[b+8>>2]|0;if(g){f=b+4|0;i=c[f>>2]|0;h=g-(c[b+108>>2]|0)|0;g=j;if((j-i|0)<(h|0))k=9;else c[b+100>>2]=i+(h+-1)}else{f=b+4|0;g=j;k=9}if((k|0)==9)c[b+100>>2]=j;if(!g)f=c[f>>2]|0;else{f=c[f>>2]|0;b=b+108|0;c[b>>2]=g+1-f+(c[b>>2]|0)}f=f+-1|0;if((e|0)!=(d[f>>0]|0|0))a[f>>0]=e}else k=4}if((k|0)==4){c[b+100>>2]=0;e=-1}return e|0}function BA(a,b,d){a=a|0;b=b|0;d=d|0;var e=0;a=aa;aa=aa+16|0;e=a;c[e>>2]=d;Wz(291736,b,e)|0;aa=a;return}function CA(a){a=a|0;return (a+-32|0)>>>0<95|0}function DA(b,e){b=b|0;e=e|0;var f=0.0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;switch(e|0){case 0:{j=24;k=-149;i=4;break}case 1:{j=53;k=-1074;i=4;break}case 2:{j=53;k=-1074;i=4;break}default:f=0.0}a:do if((i|0)==4){m=b+4|0;l=b+100|0;do{e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=AA(b)|0}while((vA(e)|0)!=0);b:do switch(e|0){case 43:case 45:{g=1-(((e|0)==45&1)<<1)|0;e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0;h=g;break b}else{e=AA(b)|0;h=g;break b}}default:h=1}while(0);g=e;e=0;while(1){if((g|32|0)!=(a[331580+e>>0]|0))break;do if(e>>>0<7){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0;break}else{g=AA(b)|0;break}}while(0);e=e+1|0;if(e>>>0>=8){e=8;break}}c:do switch(e&2147483647|0){case 8:break;case 3:{i=23;break}default:{if(e>>>0>3)if((e|0)==8)break c;else{i=23;break c}d:do if(!e){e=0;do{if((g|32|0)!=(a[331589+e>>0]|0)){i=39;break d}do if(e>>>0<2){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0;break}else{g=AA(b)|0;break}}while(0);e=e+1|0}while(e>>>0<3)}else i=39;while(0);e:do if((i|0)==39){switch(e|0){case 3:break e;case 0:break;default:{if(c[l>>2]|0)c[m>>2]=(c[m>>2]|0)+-1;c[88534]=22;zA(b);f=0.0;break a}}if((g|0)==48){e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=AA(b)|0;if((e|32|0)==120){f=+EA(b,j,k,h);break a}if(!(c[l>>2]|0))e=48;else{c[m>>2]=(c[m>>2]|0)+-1;e=48}}else e=g;f=+FA(b,e,j,k,h);break a}while(0);e=c[m>>2]|0;if(e>>>0<(c[l>>2]|0)>>>0){c[m>>2]=e+1;e=d[e>>0]|0}else e=AA(b)|0;if((e|0)!=40){if(!(c[l>>2]|0)){f=r;break a}c[m>>2]=(c[m>>2]|0)+-1;f=r;break a}e=1;while(1){g=c[m>>2]|0;if(g>>>0<(c[l>>2]|0)>>>0){c[m>>2]=g+1;g=d[g>>0]|0}else g=AA(b)|0;if(!((g+-48|0)>>>0<10|(g+-65|0)>>>0<26)?!((g|0)==95|(g+-97|0)>>>0<26):0)break;e=e+1|0}if((g|0)==41){f=r;break a}g=(c[l>>2]|0)==0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(!e){f=r;break a}while(1){e=e+-1|0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(!e){f=r;break a}}}}while(0);if((i|0)==23){g=(c[l>>2]|0)==0;if(!g)c[m>>2]=(c[m>>2]|0)+-1;if(e>>>0>3)do{if(!g)c[m>>2]=(c[m>>2]|0)+-1;e=e+-1|0}while(e>>>0>3)}f=+(h|0)*s}while(0);return +f}function EA(a,b,e,f){a=a|0;b=b|0;e=e|0;f=f|0;var g=0.0,h=0,i=0,j=0,k=0.0,l=0,m=0,n=0.0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,A=0,B=0,C=0;A=a+4|0;j=c[A>>2]|0;B=a+100|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=AA(a)|0;o=0;a:while(1){switch(j|0){case 46:{C=10;break a}case 48:break;default:{l=0;m=0;p=0;break a}}j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=AA(a)|0;o=1}if((C|0)==10){j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=AA(a)|0;if((j|0)==48){l=0;m=0;do{j=c[A>>2]|0;if(j>>>0<(c[B>>2]|0)>>>0){c[A>>2]=j+1;j=d[j>>0]|0}else j=AA(a)|0;l=iC(l|0,m|0,-1,-1)|0;m=z()|0}while((j|0)==48);o=1;p=1}else{l=0;m=0;p=1}}x=0;w=0;t=j;u=0;n=1.0;j=0;g=0.0;while(1){s=t+-48|0;q=t|32;if(s>>>0>=10){r=(t|0)==46;if(!(r|(q+-97|0)>>>0<6)){q=t;break}if(r)if(!p){l=w;m=x;s=w;r=x;v=1;q=u;k=n}else{q=46;break}else C=24}else C=24;if((C|0)==24){C=0;o=(t|0)>57?q+-87|0:s;do if(!((x|0)<0|(x|0)==0&w>>>0<8))if((x|0)<0|(x|0)==0&w>>>0<14){n=n*.0625;q=u;k=n;g=g+n*+(o|0);break}else{v=(u|0)!=0|(o|0)==0;q=v?u:1;k=n;g=v?g:g+n*.5;break}else{q=u;k=n;j=o+(j<<4)|0}while(0);s=iC(w|0,x|0,1,0)|0;r=z()|0;o=1;v=p}p=c[A>>2]|0;if(p>>>0<(c[B>>2]|0)>>>0){c[A>>2]=p+1;p=d[p>>0]|0}else p=AA(a)|0;x=r;w=s;t=p;p=v;u=q;n=k}do if(!o){if(c[B>>2]|0?(y=c[A>>2]|0,c[A>>2]=y+-2,p|0):0)c[A>>2]=y+-3;g=+(f|0)*0.0}else{o=(p|0)==0;p=o?w:l;o=o?x:m;if((x|0)<0|(x|0)==0&w>>>0<8){m=w;l=x;do{j=j<<4;C=m;m=iC(m|0,l|0,1,0)|0;y=l;l=z()|0}while((y|0)<0|(y|0)==0&C>>>0<7)}if(!((q|32|0)==112?(i=GA(a)|0,h=z()|0,!((i|0)==0&(h|0)==-2147483648)):0))if(!(c[B>>2]|0)){i=0;h=0}else{c[A>>2]=(c[A>>2]|0)+-1;i=0;h=0}C=pC(p|0,o|0,2)|0;C=iC(C|0,z()|0,-32,-1)|0;h=iC(C|0,z()|0,i|0,h|0)|0;i=z()|0;if(!j){g=+(f|0)*0.0;break}C=0-e|0;B=((C|0)<0)<<31>>31;if((i|0)>(B|0)|(i|0)==(B|0)&h>>>0>C>>>0){c[88534]=34;g=+(f|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}C=e+-106|0;B=((C|0)<0)<<31>>31;if((i|0)<(B|0)|(i|0)==(B|0)&h>>>0<C>>>0){c[88534]=34;g=+(f|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if((j|0)>-1){do{C=!(g>=.5);j=j<<1|(C^1)&1;g=g+(C?g:g+-1.0);h=iC(h|0,i|0,-1,-1)|0;i=z()|0}while((j|0)>-1);l=h;n=g}else{l=h;n=g}C=((b|0)<0)<<31>>31;h=jC(32,0,e|0,((e|0)<0)<<31>>31|0)|0;h=iC(h|0,z()|0,l|0,i|0)|0;e=z()|0;if((e|0)<(C|0)|(e|0)==(C|0)&h>>>0<b>>>0)if((h|0)>0)C=59;else{i=0;h=84;C=61}else{h=b;C=59}if((C|0)==59)if((h|0)<53){i=h;h=84-h|0;C=61}else{k=0.0;g=+(f|0)}if((C|0)==61){g=+(f|0);k=+IA(+HA(1.0,h),g);h=i}f=(j&1|0)==0&(n!=0.0&(h|0)<32);g=(f?0.0:n)*g+(k+g*+((j+(f&1)|0)>>>0))-k;if(!(g!=0.0))c[88534]=34;g=+KA(g,l)}while(0);return +g}function FA(a,b,e,f,g){a=a|0;b=b|0;e=e|0;f=f|0;g=g|0;var h=0.0,i=0,j=0,k=0.0,l=0,m=0,n=0,o=0,p=0.0,q=0.0,r=0,s=0.0,u=0,w=0,x=0,y=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0.0;H=aa;aa=aa+512|0;E=H;F=f+e|0;G=0-F|0;C=a+4|0;D=a+100|0;i=b;l=0;a:while(1){switch(i|0){case 46:{B=7;break a}case 48:break;default:{j=0;b=0;r=0;break a}}b=c[C>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[C>>2]=b+1;b=d[b>>0]|0}else b=AA(a)|0;i=b;l=1}if((B|0)==7){b=c[C>>2]|0;if(b>>>0<(c[D>>2]|0)>>>0){c[C>>2]=b+1;i=d[b>>0]|0}else i=AA(a)|0;if((i|0)==48){i=0;b=0;while(1){j=iC(i|0,b|0,-1,-1)|0;b=z()|0;i=c[C>>2]|0;if(i>>>0<(c[D>>2]|0)>>>0){c[C>>2]=i+1;i=d[i>>0]|0}else i=AA(a)|0;if((i|0)==48)i=j;else{l=1;r=1;break}}}else{j=0;b=0;r=1}}c[E>>2]=0;w=i+-48|0;m=(i|0)==46;b:do if(m|w>>>0<10){B=E+496|0;A=0;u=0;x=m;o=0;n=0;m=0;c:while(1){do if(x)if(!r){j=A;b=u;r=1}else break c;else{x=iC(A|0,u|0,1,0)|0;u=z()|0;y=(i|0)!=48;if((n|0)>=125){if(!y){A=x;break}c[B>>2]=c[B>>2]|1;A=x;break}l=E+(n<<2)|0;if(!o)i=w;else i=i+-48+((c[l>>2]|0)*10|0)|0;c[l>>2]=i;o=o+1|0;w=(o|0)==9;A=x;l=1;o=w?0:o;n=n+(w&1)|0;m=y?x:m}while(0);i=c[C>>2]|0;if(i>>>0<(c[D>>2]|0)>>>0){c[C>>2]=i+1;i=d[i>>0]|0}else i=AA(a)|0;w=i+-48|0;x=(i|0)==46;if(!(x|w>>>0<10)){B=31;break b}}r=A;i=(l|0)!=0;B=37}else{A=0;u=0;o=0;n=0;m=0;B=31}while(0);do if((B|0)==31){w=(r|0)==0;j=w?A:j;b=w?u:b;w=(l|0)!=0;if(!(w&(i|32|0)==101))if((i|0)>-1){r=A;i=w;B=37;break}else{r=A;l=u;i=w;B=39;break}l=GA(a)|0;i=z()|0;if((l|0)==0&(i|0)==-2147483648)if(!(c[D>>2]|0)){l=0;i=0}else{c[C>>2]=(c[C>>2]|0)+-1;l=0;i=0}j=iC(l|0,i|0,j|0,b|0)|0;r=A;b=z()|0;l=u;B=41}while(0);if((B|0)==37)if(c[D>>2]|0){c[C>>2]=(c[C>>2]|0)+-1;if(i){l=u;B=41}else B=40}else{l=u;B=39}if((B|0)==39)if(i)B=41;else B=40;do if((B|0)==40){c[88534]=22;zA(a);h=0.0}else if((B|0)==41){i=c[E>>2]|0;if(!i){h=+(g|0)*0.0;break}if(((l|0)<0|(l|0)==0&r>>>0<10)&((j|0)==(r|0)&(b|0)==(l|0))?(e|0)>30|(i>>>e|0)==0:0){h=+(g|0)*+(i>>>0);break}a=(f|0)/-2|0;D=((a|0)<0)<<31>>31;if((b|0)>(D|0)|(b|0)==(D|0)&j>>>0>a>>>0){c[88534]=34;h=+(g|0)*1797693134862315708145274.0e284*1797693134862315708145274.0e284;break}a=f+-106|0;D=((a|0)<0)<<31>>31;if((b|0)<(D|0)|(b|0)==(D|0)&j>>>0<a>>>0){c[88534]=34;h=+(g|0)*2.2250738585072014e-308*2.2250738585072014e-308;break}if(!o)i=n;else{if((o|0)<9){l=E+(n<<2)|0;b=o;i=c[l>>2]|0;while(1){i=i*10|0;if((b|0)>=8)break;else b=b+1|0}c[l>>2]=i}i=n+1|0}if((m|0)<9?(m|0)<=(j|0)&(j|0)<18:0){if((j|0)==9){h=+(g|0)*+((c[E>>2]|0)>>>0);break}if((j|0)<9){h=+(g|0)*+((c[E>>2]|0)>>>0)/+(c[283280+(8-j<<2)>>2]|0);break}a=e+27+(v(j,-3)|0)|0;b=c[E>>2]|0;if((a|0)>30|(b>>>a|0)==0){h=+(g|0)*+(b>>>0)*+(c[283280+(j+-10<<2)>>2]|0);break}}b=(j|0)%9|0;if(!b)l=0;else{r=(j|0)>-1?b:b+9|0;b=c[283280+(8-r<<2)>>2]|0;if(i){n=1e9/(b|0)|0;l=0;m=0;o=0;do{C=E+(o<<2)|0;D=c[C>>2]|0;a=(D>>>0)/(b>>>0)|0;D=D-(v(a,b)|0)|0;a=a+m|0;c[C>>2]=a;m=v(n,D)|0;a=(o|0)==(l|0)&(a|0)==0;j=a?j+-9|0:j;l=a?l+1&127:l;o=o+1|0}while((o|0)!=(i|0));if(!m)b=i;else{c[E+(i<<2)>>2]=m;b=i+1|0}}else{l=0;b=0}j=9-r+j|0;i=b}b=0;d:while(1){x=(j|0)<18;y=(j|0)==18;w=E+(l<<2)|0;do{if(!x){if(!y)break d;if((c[w>>2]|0)>>>0>=9007199){j=18;break d}}n=0;m=i+127|0;while(1){r=m&127;o=E+(r<<2)|0;m=pC(c[o>>2]|0,0,29)|0;m=iC(m|0,z()|0,n|0,0)|0;n=z()|0;if(n>>>0>0|(n|0)==0&m>>>0>1e9){u=mC(m|0,n|0,1e9,0)|0;a=hC(u|0,z()|0,-1e9,-1)|0;m=iC(m|0,n|0,a|0,z()|0)|0;z()|0}else u=0;c[o>>2]=m;a=(r|0)==(l|0);o=(r|0)!=(i+127&127|0)|a?i:(m|0)==0?r:i;if(a)break;else{n=u;m=r+-1|0;i=o}}b=b+-29|0}while((u|0)==0);l=l+127&127;m=o+127&127;n=E+((o+126&127)<<2)|0;if((l|0)==(o|0)){c[n>>2]=c[n>>2]|c[E+(m<<2)>>2];i=m}c[E+(l<<2)>>2]=u;j=j+9|0}e:while(1){w=i+1&127;x=E+((i+127&127)<<2)|0;while(1){r=(j|0)==18;u=(j|0)>27?9:1;while(1){o=0;while(1){m=o+l&127;if((m|0)==(i|0)){B=90;break}m=c[E+(m<<2)>>2]|0;n=c[291984+(o<<2)>>2]|0;if(m>>>0<n>>>0){B=90;break}if(m>>>0>n>>>0)break;if((o+1|0)>>>0<2)o=1;else{B=90;break}}if((B|0)==90?(B=0,r):0)break e;b=u+b|0;if((l|0)==(i|0))l=i;else break}r=(1<<u)+-1|0;o=1e9>>>u;m=l;n=0;do{C=E+(l<<2)|0;D=c[C>>2]|0;a=(D>>>u)+n|0;c[C>>2]=a;n=v(D&r,o)|0;a=(l|0)==(m|0)&(a|0)==0;j=a?j+-9|0:j;m=a?m+1&127:m;l=l+1&127}while((l|0)!=(i|0));if(n|0){if((w|0)!=(m|0))break;c[x>>2]=c[x>>2]|1}l=m}c[E+(i<<2)>>2]=n;l=m;i=w}n=0;h=0.0;j=i;while(1){m=n+l&127;i=j+1&127;if((m|0)==(j|0))c[E+(i+-1<<2)>>2]=0;else i=j;h=h*1.0e9+ +((c[E+(m<<2)>>2]|0)>>>0);n=n+1|0;if((n|0)==2)break;else j=i}s=+(g|0);k=h*s;m=b+53|0;r=m-f|0;o=(r|0)<(e|0);n=o?((r|0)>0?r:0):e;if((n|0)<53){I=+IA(+HA(1.0,105-n|0),k);p=+JA(k,+HA(1.0,53-n|0));q=I;h=p;p=I+(k-p)}else{q=0.0;h=0.0;p=k}j=l+2&127;if((j|0)!=(i|0)){j=c[E+(j<<2)>>2]|0;do if(j>>>0>=5e8){if((j|0)!=5e8){h=s*.75+h;break}if((l+3&127|0)==(i|0)){h=s*.5+h;break}else{h=s*.75+h;break}}else{if((j|0)==0?(l+3&127|0)==(i|0):0)break;h=s*.25+h}while(0);if((53-n|0)>1?!(+JA(h,1.0)!=0.0):0)k=h+1.0;else k=h}else k=h;h=p+k-q;do if((m&2147483647|0)>(-2-F|0)){F=!(+t(+h)>=9007199254740992.0);b=b+((F^1)&1)|0;h=F?h:h*.5;if((b+50|0)<=(G|0)?!(k!=0.0&(o&((n|0)!=(r|0)|F))):0)break;c[88534]=34}while(0);h=+KA(h,b)}while(0);aa=H;return +h}function GA(a){a=a|0;var b=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0;i=a+4|0;b=c[i>>2]|0;j=a+100|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=AA(a)|0;switch(b|0){case 43:case 45:{e=(b|0)==45&1;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;b=d[b>>0]|0}else b=AA(a)|0;if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else{c[i>>2]=(c[i>>2]|0)+-1;f=14}else{h=e;f=12}break}default:if((b+-48|0)>>>0>9)if(!(c[j>>2]|0)){e=-2147483648;b=0}else f=14;else{h=0;f=12}}if((f|0)==12){f=0;while(1){f=b+-48+(f*10|0)|0;b=c[i>>2]|0;if(b>>>0<(c[j>>2]|0)>>>0){c[i>>2]=b+1;e=d[b>>0]|0}else e=AA(a)|0;g=(e+-48|0)>>>0<10;if(!(g&(f|0)<214748364))break;else b=e}b=((f|0)<0)<<31>>31;if(g){do{k=hC(f|0,b|0,10,0)|0;g=z()|0;e=iC(e|0,((e|0)<0)<<31>>31|0,-48,-1)|0;f=iC(e|0,z()|0,k|0,g|0)|0;b=z()|0;e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=AA(a)|0;g=(e+-48|0)>>>0<10}while(g&((b|0)<21474836|(b|0)==21474836&f>>>0<2061584302));if(g)do{e=c[i>>2]|0;if(e>>>0<(c[j>>2]|0)>>>0){c[i>>2]=e+1;e=d[e>>0]|0}else e=AA(a)|0}while((e+-48|0)>>>0<10)}if(c[j>>2]|0)c[i>>2]=(c[i>>2]|0)+-1;j=(h|0)==0;k=jC(0,0,f|0,b|0)|0;e=z()|0;e=j?b:e;b=j?f:k}else if((f|0)==14){c[i>>2]=(c[i>>2]|0)+-1;e=-2147483648;b=0}y(e|0);return b|0}
+function mm(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;i=a+4|0;g=c[a>>2]|0;m=(c[i>>2]|0)-g|0;l=m>>3;e=l+1|0;if(e>>>0>536870911)HB();j=a+8|0;n=(c[j>>2]|0)-g|0;f=n>>2;f=n>>3>>>0<268435455?(f>>>0<e>>>0?e:f):536870911;do if(f)if(f>>>0>536870911)U();else{k=_A(f<<3)|0;h=k;break}else{h=0;k=0}while(0);e=k+(l<<3)|0;n=c[d>>2]|0;c[e>>2]=c[b>>2];c[k+(l<<3)+4>>2]=n;if((m|0)>0)sC(h|0,g|0,m|0)|0;c[a>>2]=k;c[i>>2]=e+8;c[j>>2]=k+(f<<3);if(!g)return;$A(g);return}function nm(a,b){a=a|0;b=b|0;var d=0;d=a<<24>>24;a=d+-48|0;do if(a>>>0>=10){if((d+-97|0)>>>0<6){a=d+-87|0;break}if((d+-65|0)>>>0<6){a=d+-55|0;break}else{b=1;return b|0}}while(0);c[b>>2]=a;b=0;return b|0}function om(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0;if((b|0)==(d|0)){e=1;return e|0}f=a[b>>0]|0;a:do if((f<<24>>24==48?(g=b+1|0,g>>>0<d>>>0):0)?(a[g>>0]|0)==120:0){f=b+2|0;if((f|0)==(d|0)){e=1;return e|0}if(f>>>0<d>>>0){h=0;i=0;b:while(1){g=a[f>>0]|0;c:do if(g<<24>>24!=95){b=g<<24>>24;g=b+-48|0;do if(g>>>0>=10)if((b+-97|0)>>>0>=6)if((b+-65|0)>>>0<6){g=b+-55|0;break}else{b=i;g=1;break c}else{g=b+-87|0;break}while(0);if(!(h>>>0>268435455|(h|0)==268435455&i>>>0>4294967295))if((i|0)==-1&(h|0)==268435455&g>>>0>15){b=-1;h=268435455;g=1}else{b=pC(i|0,h|0,4)|0;b=iC(b|0,z()|0,g|0,0)|0;h=z()|0;g=0}else{b=i;g=1}}else{b=i;g=4}while(0);switch(g&7){case 4:case 0:break;default:break b}f=f+1|0;if(f>>>0<d>>>0)i=b;else{g=b;break a}}if(!g)g=b;else{e=1;return e|0}}else{g=0;h=0}}else j=19;while(0);d:do if((j|0)==19)if(b>>>0<d>>>0){h=0;g=0;while(1){if(f<<24>>24!=95){f=(f<<24>>24)+-48|0;if(h>>>0>429496729|(h|0)==429496729&g>>>0>2576980377|f>>>0>9){f=1;j=29;break}if((g|0)==-1717986919&(h|0)==429496729&f>>>0>5){f=1;j=29;break}g=hC(g|0,h|0,10,0)|0;g=iC(g|0,z()|0,f|0,0)|0;h=z()|0}b=b+1|0;if(b>>>0>=d>>>0){f=b;break d}f=a[b>>0]|0}if((j|0)==29)return f|0}else{g=0;h=0;f=b}while(0);if((f|0)!=(d|0)){e=1;return e|0}c[e>>2]=g;c[e+4>>2]=h;e=0;return e|0}function pm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a[b>>0]|0;switch(f<<24>>24){case 43:case 45:{g=f<<24>>24==45;f=b+1|0;break}default:{g=0;f=b}}b=h;c[b>>2]=0;c[b+4>>2]=0;d=om(f,d,h)|0;f=h;b=c[f>>2]|0;f=c[f+4>>2]|0;do if(g)if(f>>>0>2147483648|(f|0)==-2147483648&b>>>0>0){e=1;aa=i;return e|0}else{b=jC(0,0,b|0,f|0)|0;f=z()|0;c[h>>2]=b;c[h+4>>2]=f;break}while(0);c[e>>2]=b;c[e+4>>2]=f;e=d;aa=i;return e|0}function qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a[b>>0]|0;switch(f<<24>>24){case 43:case 45:{g=f<<24>>24==45;f=b+1|0;break}default:{g=0;f=b}}if((om(f,d,h)|0)==1){e=1;aa=i;return e|0}b=h;f=c[b>>2]|0;b=c[b+4>>2]|0;do if(g)if(b>>>0>0|(b|0)==0&f>>>0>128){e=1;aa=i;return e|0}else{f=jC(256,0,f|0,b|0)|0;g=z()|0;c[h>>2]=f;c[h+4>>2]=g;f=f&255;break}else if(b>>>0>0|(b|0)==0&f>>>0>255){e=1;aa=i;return e|0}else f=f&255;while(0);a[e>>0]=f;e=0;aa=i;return e|0}function rm(d,e,f){d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a[d>>0]|0;switch(g<<24>>24){case 43:case 45:{h=g<<24>>24==45;g=d+1|0;break}default:{h=0;g=d}}if((om(g,e,i)|0)==1){f=1;aa=j;return f|0}d=i;g=c[d>>2]|0;d=c[d+4>>2]|0;do if(h)if(d>>>0>0|(d|0)==0&g>>>0>32768){f=1;aa=j;return f|0}else{g=jC(65536,0,g|0,d|0)|0;h=z()|0;c[i>>2]=g;c[i+4>>2]=h;g=g&65535;break}else if(d>>>0>0|(d|0)==0&g>>>0>65535){f=1;aa=j;return f|0}else g=g&65535;while(0);b[f>>1]=g;f=0;aa=j;return f|0}function sm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=aa;aa=aa+16|0;i=j;g=a[b>>0]|0;switch(g<<24>>24){case 43:case 45:{if(!f)b=1;else{f=g<<24>>24==45;b=b+1|0;h=4}break}default:{f=0;h=4}}do if((h|0)==4)if((om(b,d,i)|0)==1)b=1;else{g=i;b=c[g>>2]|0;g=c[g+4>>2]|0;if(!f){if(g>>>0>0|(g|0)==0&b>>>0>4294967295){b=1;break}}else{if(g>>>0>0|(g|0)==0&b>>>0>2147483648){b=1;break}b=jC(0,1,b|0,g|0)|0;h=z()|0;c[i>>2]=b;c[i+4>>2]=h}c[e>>2]=b;b=0}while(0);aa=j;return b|0}function tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;switch(b|0){case 1:case 0:{f=um(d,e,f)|0;return f|0}case 2:{switch(a[d>>0]|0){case 45:{n=-2147483648;d=d+1|0;break}case 43:{n=0;d=d+1|0;break}default:n=0}d=d+2|0;if(d>>>0<e>>>0){j=0;g=0;l=0;k=0;a:while(1){b=a[d>>0]|0;b:do switch(b<<24>>24){case 95:{i=j;h=l;b=k;break}case 46:{i=1;h=l;b=k;m=16;break}default:{b=b<<24>>24;h=b+-48|0;do if(h>>>0>=10)if((b+-97|0)>>>0>=6)if((b+-65|0)>>>0<6){h=b+-55|0;break}else{i=1;break a}else{h=b+-87|0;break}while(0);if((32-(w(l|0)|0)|0)<25){i=j;h=h+(l<<4)|0;b=j?k+-4|0:k;m=16;break b}else{i=j;g=g<<24>>24==0&(h|0)!=0?1:g;h=l;b=j?k:k+4|0;m=16;break b}}}while(0);if((m|0)==16)m=0;d=d+1|0;if(d>>>0<e>>>0){j=i;l=h;k=b}else{i=0;l=h;k=b;break}}if(l|0){if(i){b=d+1|0;switch(a[b>>0]|0){case 45:{j=1;b=d+2|0;i=0-k|0;break}case 43:{j=0;b=d+2|0;i=k;break}default:{j=0;i=0}}c:do if(b>>>0<e>>>0){d=0;do{h=a[b>>0]|0;if(h<<24>>24!=95){d=(d*10|0)+-48+(h<<24>>24)|0;if((d+i|0)>=128)break c}b=b+1|0}while(b>>>0<e>>>0)}else d=0;while(0);d=j?0-d|0:d}else d=0;i=32-(w(l|0)|0)|0;h=i+k+d|0;b=h+-1|0;if((b|0)>=-126){if((i|0)>24){d=i+-24|0;d=((g<<24>>24!=0|(1<<d&l|0)!=0?1<<i+-25:0)+l|0)>>>d;b=d>>>0>16777215?h:b}else d=l<<((i|0)==24?0:24-i|0);if((b|0)>127){f=1;return f|0}c[f>>2]=d&8388607|n|(b<<23)+1065353216;f=0;return f|0}if((i|0)>23){g=(((1<<i+-24)+-1&l|0)!=0|g&255)&255;d=l>>>(i+-23|0)}else d=l<<((i|0)==23?0:23-i|0);b=-126-h|0;if((b|0)<24){if(b){e=1<<b+-1;d=(((d&1<<b|g&255|(d&e+-1|0)!=0|0)==0?0:e)+d|0)>>>b&8388607}if(d|0){c[f>>2]=d|n;f=0;return f|0}}c[f>>2]=n;f=0;return f|0}}c[f>>2]=n;f=0;return f|0}case 3:{c[f>>2]=((a[d>>0]|0)==45&1)<<31|2139095040;f=0;return f|0}case 4:{switch(a[d>>0]|0){case 45:{i=-8388608;d=d+1|0;break}case 43:{i=2139095040;d=d+1|0;break}default:i=2139095040}do if((d+3|0)!=(e|0)){d=d+6|0;if(d>>>0>=e>>>0){f=1;return f|0}b=0;d:while(1){g=a[d>>0]|0;if(g<<24>>24!=95){h=g<<24>>24;g=h+-48|0;do if(g>>>0>=10)if((h+-97|0)>>>0>=6)if((h+-65|0)>>>0<6){g=h+-55|0;break}else{d=1;m=62;break d}else{g=h+-87|0;break}while(0);b=g+(b<<4)|0;if(b>>>0>8388607){d=1;m=62;break}}d=d+1|0;if(d>>>0>=e>>>0){m=59;break}}if((m|0)==59){if(!b)d=1;else{d=b;break}return d|0}else if((m|0)==62)return d|0}else d=4194304;while(0);c[f>>2]=d|i;f=0;return f|0}default:U()}return 0}function um(b,d,e){b=b|0;d=d|0;e=e|0;var g=0.0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;j=aa;aa=aa+((1*(1-b+d|0)|0)+15&-16)|0;if((b|0)==(d|0))b=j;else{i=b;b=j;do{h=a[i>>0]|0;if(h<<24>>24!=95){a[b>>0]=h;b=b+1|0}i=i+1|0}while((i|0)!=(d|0))}a[b>>0]=0;g=+QA(j,k);if(g==-s|(g==s?1:(c[k>>2]|0)!=(b|0))){e=1;aa=l;return e|0}f[e>>2]=g;e=0;aa=l;return e|0}function vm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;switch(b|0){case 1:case 0:{f=wm(d,e,f)|0;return f|0}case 2:{switch(a[d>>0]|0){case 45:{n=0;o=-2147483648;b=d+1|0;break}case 43:{n=0;o=0;b=d+1|0;break}default:{n=0;o=0;b=d}}b=b+2|0;if(b>>>0<e>>>0){i=0;j=0;m=0;h=0;l=0;a:while(1){d=a[b>>0]|0;b:do switch(d<<24>>24){case 95:{k=m;d=l;break}case 46:{k=1;d=l;g=16;break}default:{d=d<<24>>24;g=d+-48|0;do if(g>>>0>=10)if((d+-97|0)>>>0>=6)if((d+-65|0)>>>0<6){g=d+-55|0;break}else{m=i;g=1;break a}else{g=d+-87|0;break}while(0);k=rC(i|0,j|0,0)|0;z()|0;if((64-k|0)<54){i=pC(i|0,j|0,4)|0;i=iC(i|0,z()|0,g|0,0)|0;j=z()|0;k=m;d=m?l+-4|0:l;g=16;break b}else{k=m;h=h<<24>>24==0&(g|0)!=0?1:h;d=m?l:l+4|0;g=16;break b}}}while(0);if((g|0)==16)g=0;b=b+1|0;if(b>>>0<e>>>0){m=k;l=d}else{m=i;g=0;l=d;break}}if(!((m|0)==0&(j|0)==0)){if(g){d=b+1|0;switch(a[d>>0]|0){case 45:{k=1;d=b+2|0;i=0-l|0;break}case 43:{k=0;d=b+2|0;i=l;break}default:{k=0;i=0}}c:do if(d>>>0<e>>>0){b=0;do{g=a[d>>0]|0;if(g<<24>>24!=95){b=(b*10|0)+-48+(g<<24>>24)|0;if((b+i|0)>=1024)break c}d=d+1|0}while(d>>>0<e>>>0)}else b=0;while(0);b=k?0-b|0:b}else b=0;d=rC(m|0,j|0,0)|0;z()|0;d=64-d|0;i=d+l+b|0;b=i+-1|0;if((b|0)>=-1022){if((d|0)>53){e=d+-53|0;g=pC(1,0,e|0)|0;g=h<<24>>24!=0|((g&m|0)!=0|((z()|0)&j|0)!=0);l=pC(1,0,d+-54|0)|0;d=z()|0;m=iC((g?l:0)|0,(g?d:0)|0,m|0,j|0)|0;e=oC(m|0,z()|0,e|0)|0;m=z()|0;d=m;g=e;b=m>>>0>2097151|(m|0)==2097151&e>>>0>4294967295?i:b}else{g=pC(m|0,j|0,((d|0)==53?0:53-d|0)|0)|0;d=z()|0}if((b|0)>1023){f=1;return f|0}m=pC(b+1023|0,0,52)|0;e=d&1048575|o|(z()|0);c[f>>2]=g|n|m;c[f+4>>2]=e;f=0;return f|0}if((d|0)>52){b=pC(1,0,d+-53|0)|0;b=iC(b|0,z()|0,-1,-1)|0;h=(((b&m|0)!=0|((z()|0)&j|0)!=0)&1|h&255)&255;d=oC(m|0,j|0,d+-52|0)|0;b=z()|0}else{d=pC(m|0,j|0,((d|0)==52?0:52-d|0)|0)|0;b=z()|0}g=-1022-i|0;if((g|0)<53){if(g){l=pC(1,0,g+-1|0)|0;e=z()|0;m=iC(l|0,e|0,-1,-1)|0;m=(((d&m|0)!=0|(b&(z()|0)|0)!=0)&1|h&255|0)!=0;k=pC(1,0,g|0)|0;m=(d&k|0)!=0|(b&(z()|0)|0)!=0|m;d=iC((m?l:0)|0,(m?e:0)|0,d|0,b|0)|0;d=oC(d|0,z()|0,g|0)|0;b=(z()|0)&1048575}if(!((d|0)==0&(b|0)==0)){c[f>>2]=d|n;c[f+4>>2]=b|o;f=0;return f|0}}c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}}c[f>>2]=n;c[f+4>>2]=o;f=0;return f|0}case 3:{o=pC((a[d>>0]|0)==45|0,0,63)|0;e=z()|0|2146435072;c[f>>2]=o;c[f+4>>2]=e;f=0;return f|0}case 4:{switch(a[d>>0]|0){case 45:{j=0;k=-1048576;b=d+1|0;break}case 43:{j=0;k=2146435072;b=d+1|0;break}default:{j=0;k=2146435072;b=d}}do if((b+3|0)!=(e|0)){g=b+6|0;if(g>>>0>=e>>>0){f=1;return f|0}d=0;b=0;d:while(1){h=a[g>>0]|0;if(h<<24>>24!=95){i=h<<24>>24;h=i+-48|0;do if(h>>>0>=10)if((i+-97|0)>>>0>=6)if((i+-65|0)>>>0<6){h=i+-55|0;break}else{b=1;g=62;break d}else{h=i+-87|0;break}while(0);d=pC(d|0,b|0,4)|0;d=iC(d|0,z()|0,h|0,0)|0;b=z()|0;if(b>>>0>1048575|(b|0)==1048575&d>>>0>4294967295){b=1;g=62;break}}g=g+1|0;if(g>>>0>=e>>>0){g=59;break}}if((g|0)==59){if((d|0)==0&(b|0)==0)b=1;else break;return b|0}else if((g|0)==62)return b|0}else{d=0;b=524288}while(0);c[f>>2]=d|j;c[f+4>>2]=b|k;f=0;return f|0}default:U()}return 0}function wm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0.0,h=0,i=0,j=0,k=0,l=0;l=aa;aa=aa+16|0;k=l;j=aa;aa=aa+((1*(1-b+d|0)|0)+15&-16)|0;if((b|0)==(d|0))b=j;else{i=b;b=j;do{h=a[i>>0]|0;if(h<<24>>24!=95){a[b>>0]=h;b=b+1|0}i=i+1|0}while((i|0)!=(d|0))}a[b>>0]=0;f=+SA(j,k);if(f==-s|(f==s?1:(c[k>>2]|0)!=(b|0))){e=1;aa=l;return e|0}g[e>>3]=f;e=0;aa=l;return e|0}function xm(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=aa;aa=aa+32|0;j=k;d=c>>>23&255;f=d+-127|0;e=c&8388607;if((c|0)<0){a[j>>0]=45;h=j+1|0}else h=j;do if((f|0)==128){if(!e){a[h>>0]=105;a[h+1>>0]=110;a[h+2>>0]=102;a[h+3>>0]=0;c=h+3|0;break}a[h>>0]=110;a[h+1>>0]=97;a[h+2>>0]=110;a[h+3>>0]=0;c=h+3|0;if((e|0)!=4194304){a[c>>0]=58;a[c+1>>0]=48;a[c+2>>0]=120;a[c+3>>0]=0;f=8;while(1){e=e<<4;d=f+-1|0;if(e>>>0>=268435456)break;else f=d}c=h+6|0;if(d){while(1){a[c>>0]=a[16672+(e>>>28)>>0]|0;d=d+-1|0;if(!d)break;else{c=c+1|0;e=e<<4}}c=h+(f+5)|0}}}else{g=(d|e|0)==0;a[h>>0]=48;a[h+1>>0]=120;e=h+3|0;a[h+2>>0]=g?48:49;c=c<<9;do if(c){if(!d){l=w(c|0)|0;c=c<<l+1;f=f-l|0;d=h+4|0;a[e>>0]=46;if(l>>>0>30|(c|0)==0){e=d;break}}else{a[e>>0]=46;d=h+4|0}while(1){e=d+1|0;a[d>>0]=a[16672+(c>>>28)>>0]|0;c=c<<4;if(!c)break;else d=e}}while(0);d=e+1|0;a[e>>0]=112;if(g){a[d>>0]=a[300521]|0;a[d+1>>0]=a[300522]|0;a[d+2>>0]=a[300523]|0;c=e+3|0;break}c=e+2|0;if((f|0)<0){a[d>>0]=45;d=0-f|0}else{a[d>>0]=43;d=f}if((d|0)<=999)if((d|0)<=99){if((d|0)>9)i=28}else i=26;else{a[c>>0]=49;c=e+3|0;i=26}if((i|0)==26){a[c>>0]=(((d>>>0)/100|0)>>>0)%10|0|48;c=c+1|0;i=28}if((i|0)==28){a[c>>0]=(((d>>>0)/10|0)>>>0)%10|0|48;c=c+1|0}a[c>>0]=((d|0)%10|0)+48;c=c+1|0}while(0);l=c-j|0;l=l>>>0<127?l:127;sC(b|0,j|0,l|0)|0;a[b+l>>0]=0;aa=k;return}function ym(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0;n=aa;aa=aa+48|0;m=n;e=oC(c|0,d|0,52)|0;z()|0;e=e&2047;h=e+-1023|0;f=d&1048575;if((d|0)<0){a[m>>0]=45;k=m+1|0}else k=m;g=(c|0)==0&(f|0)==0;do if((h|0)==1024){if(g){a[k>>0]=105;a[k+1>>0]=110;a[k+2>>0]=102;a[k+3>>0]=0;e=k+3|0;break}a[k>>0]=110;a[k+1>>0]=97;a[k+2>>0]=110;a[k+3>>0]=0;e=k+3|0;if(!((c|0)==0&(f|0)==524288)){a[e>>0]=58;a[e+1>>0]=48;a[e+2>>0]=120;a[e+3>>0]=0;h=16;while(1){c=pC(c|0,f|0,4)|0;f=z()|0;g=h+-1|0;if(!(f>>>0<268435456|(f|0)==268435456&c>>>0<0))break;else h=g}e=k+6|0;if(g){while(1){l=oC(c|0,f|0,60)|0;z()|0;a[e>>0]=a[16672+l>>0]|0;c=pC(c|0,f|0,4)|0;f=z()|0;g=g+-1|0;if(!g)break;else e=e+1|0}e=k+(h+5)|0}}}else{i=(e|0)==0;j=g&i;a[k>>0]=48;a[k+1>>0]=120;f=k+3|0;a[k+2>>0]=j?48:49;e=pC(c|0,d|0,12)|0;c=z()|0;do if((e|0)==0&(c|0)==0)g=h;else{if(i){i=rC(e|0,c|0,0)|0;g=iC(i|0,z()|0,1,0)|0;z()|0;g=pC(e|0,c|0,g|0)|0;c=z()|0;h=h-i|0;e=k+4|0;a[f>>0]=46;if(i>>>0>62|(g|0)==0&(c|0)==0){g=h;f=e;break}}else{a[f>>0]=46;g=e;e=k+4|0}while(1){k=oC(g|0,c|0,60)|0;z()|0;f=e+1|0;a[e>>0]=a[16672+k>>0]|0;g=pC(g|0,c|0,4)|0;c=z()|0;if((g|0)==0&(c|0)==0){g=h;break}else e=f}}while(0);c=f+1|0;a[f>>0]=112;if(j){a[c>>0]=a[300521]|0;a[c+1>>0]=a[300522]|0;a[c+2>>0]=a[300523]|0;e=f+3|0;break}e=f+2|0;if((g|0)<0){a[c>>0]=45;c=0-g|0}else{a[c>>0]=43;c=g}if((c|0)<=999)if((c|0)<=99){if((c|0)>9)l=28}else l=26;else{a[e>>0]=49;e=f+3|0;l=26}if((l|0)==26){a[e>>0]=(((c>>>0)/100|0)>>>0)%10|0|48;e=e+1|0;l=28}if((l|0)==28){a[e>>0]=(((c>>>0)/10|0)>>>0)%10|0|48;e=e+1|0}a[e>>0]=((c|0)%10|0)+48;e=e+1|0}while(0);l=e-m|0;l=l>>>0<127?l:127;sC(b|0,m|0,l|0)|0;a[b+l>>0]=0;aa=n;return}function zm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0;p=aa;aa=aa+80|0;m=p+72|0;o=p+32|0;l=p;i=d+12|0;j=d+4|0;k=d+8|0;e=c[i>>2]|0;f=c[j>>2]|0;g=c[d>>2]|0;h=c[k>>2]|0;n=0;do{r=e;e=mC(e|0,0,10,0)|0;q=z()|0;t=hC(e|0,q|0,-10,-1)|0;r=iC(t|0,z()|0,r|0,0)|0;z()|0;c[i>>2]=e;t=h;h=mC(h|0,r|0,10,0)|0;r=z()|0;w=hC(h|0,r|0,-10,-1)|0;t=iC(w|0,z()|0,t|0,0)|0;z()|0;c[k>>2]=h;w=f;f=mC(f|0,t|0,10,0)|0;t=z()|0;v=hC(f|0,t|0,-10,-1)|0;w=iC(v|0,z()|0,w|0,0)|0;z()|0;c[j>>2]=f;v=g;g=mC(g|0,w|0,10,0)|0;s=z()|0;u=hC(g|0,s|0,-10,-1)|0;w=iC(u|0,z()|0,v|0,w|0)|0;v=z()|0;c[d>>2]=g;u=m;c[u>>2]=w;c[u+4>>2]=v;Sz(l,21,312369,m)|0;u=Uz(l)|0;sC(o+n|0,l|0,u|0)|0;n=u+n|0}while((f|g|h|e|0)!=0);e=n>>>0<128;h=e?n:127;e=e?0:n+-127|0;g=o+e|0;e=o+h+e|0;if((e|0)==(g|0)){w=b+h|0;a[w>>0]=0;aa=p;return}f=b;while(1){e=e+-1|0;a[f>>0]=a[e>>0]|0;if((e|0)==(g|0))break;else f=f+1|0}w=b+h|0;a[w>>0]=0;aa=p;return}function Am(b,d){b=b|0;d=d|0;var e=0;if(d>>>0<422){d=384+(d*36|0)|0;e=b+36|0;do{c[b>>2]=c[d>>2];b=b+4|0;d=d+4|0}while((b|0)<(e|0));return}else{e=0-d|0;c[b>>2]=c[3894];c[b+4>>2]=c[3895];c[b+8>>2]=c[3896];c[b+12>>2]=c[3897];c[b+16>>2]=c[3898];c[b+20>>2]=c[3899];a[b+24>>0]=e>>>8;d=b+25|0;a[d>>0]=a[15601]|0;a[d+1>>0]=a[15602]|0;a[d+2>>0]=a[15603]|0;c[b+28>>2]=e&255;c[b+32>>2]=e&65535;return}}function Bm(a,b){a=a|0;b=b|0;return ((b|0)==-1?1:(c[(a>>>0<422?384+(a*36|0)+20|0:15596)>>2]|0)==(b|0))|0}function Cm(a,b){a=a|0;b=b|0;if((b|0)!=-1){a=b;return a|0}a=c[a>>2]|0;a=c[(a>>>0<422?384+(a*36|0)+20|0:15596)>>2]|0;return a|0}function Dm(b,c){b=b|0;c=c|0;switch(b|0){case 10:case 9:case 8:case 7:case 6:{c=(a[c>>0]|0)!=0;break}case 18:case 19:{c=(a[c+7>>0]|0)!=0;break}case 196:case 195:case 194:case 193:case 192:case 191:case 190:case 189:{c=(a[c+2>>0]|0)!=0;break}case 183:case 182:case 181:case 180:case 179:{c=(a[c+3>>0]|0)!=0;break}case 421:case 420:case 419:case 418:case 417:case 416:case 415:case 414:case 413:case 412:case 411:case 410:case 409:case 408:case 407:case 406:case 405:case 404:case 403:case 402:case 401:case 400:case 399:case 398:case 397:case 396:case 395:case 394:case 393:case 392:case 391:case 390:case 389:case 388:case 387:case 386:case 385:case 384:case 383:case 382:case 381:case 380:case 379:case 378:case 377:case 376:case 375:case 374:case 373:case 372:case 371:case 370:case 369:case 368:case 367:case 366:case 365:case 364:case 363:case 362:case 361:case 360:case 359:case 358:case 357:case 356:{c=(a[c+5>>0]|0)!=0;break}case 355:case 354:case 353:case 352:case 351:case 350:case 345:case 344:case 343:case 342:case 349:case 348:case 347:case 346:case 335:case 326:case 338:case 329:case 339:case 330:case 337:case 328:case 336:case 327:case 341:case 332:case 340:case 331:case 333:case 324:case 334:case 325:case 275:case 269:case 263:case 262:case 253:case 252:case 243:case 242:case 273:case 267:case 259:case 258:case 249:case 248:case 239:case 238:case 274:case 268:case 261:case 260:case 251:case 250:case 241:case 240:case 272:case 266:case 257:case 256:case 247:case 246:case 237:case 236:case 271:case 265:case 255:case 245:case 235:case 270:case 264:case 254:case 244:case 234:case 318:case 309:case 296:case 283:case 317:case 308:case 295:case 282:case 280:case 276:case 279:case 278:case 277:case 321:case 320:case 312:case 311:case 299:case 298:case 286:case 285:case 319:case 310:case 297:case 284:case 305:case 304:case 292:case 291:case 302:case 301:case 289:case 288:case 316:case 307:case 294:case 281:case 315:case 306:case 293:case 323:case 314:case 303:case 290:case 322:case 313:case 300:case 287:case 233:case 230:case 227:case 224:case 221:case 217:case 232:case 229:case 226:case 223:case 220:case 219:case 216:case 215:case 231:case 228:case 225:case 222:case 218:case 214:case 212:case 211:case 213:{c=(a[c+4>>0]|0)!=0;break}case 203:case 202:case 201:case 200:case 199:case 198:case 197:{c=(a[c+8>>0]|0)!=0;break}case 209:case 208:case 207:case 206:case 205:case 204:{c=(a[c+9>>0]|0)!=0;break}case 188:case 187:case 186:case 185:case 184:{c=0;break}default:c=1}return c|0}function Em(a){a=a|0;var b=0;switch(a|0){case 217:case 216:case 215:{b=16;break}case 221:case 220:case 219:{b=8;break}case 224:case 223:case 230:case 229:{b=4;break}case 227:case 226:case 233:case 232:{b=2;break}default:U()}return b|0}function Fm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0;k=aa;aa=aa+16|0;j=k;c[b>>2]=0;h=b+4|0;c[h>>2]=0;i=b+8|0;c[i>>2]=0;g=d>>>0<422;if(g)e=a[384+(d*36|0)+24>>0]|0;else e=(0-d|0)>>>8&255;if(!(e<<24>>24)){if(g)e=c[384+(d*36|0)+28>>2]|0;else e=0-d&255;d=_A(1)|0;j=d+1|0;a[d>>0]=e;c[b>>2]=d;c[h>>2]=j;c[i>>2]=j;aa=k;return}if(g)e=a[384+(d*36|0)+24>>0]|0;else e=(0-d|0)>>>8&255;m=_A(1)|0;f=m+1|0;l=f;a[m>>0]=e;c[b>>2]=m;c[h>>2]=l;c[i>>2]=l;if(g)e=c[384+(d*36|0)+28>>2]|0;else e=0-d&255;Gm(b,f,j,j+(Xl(j,j+5|0,e)|0)|0);aa=k;return}function Gm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;q=e;k=c[b>>2]|0;l=k;o=d;h=o-l|0;j=f;m=j-q|0;if((m|0)<=0)return;p=b+8|0;i=c[p>>2]|0;r=b+4|0;n=c[r>>2]|0;g=n;if((m|0)<=(i-g|0)){i=g-o|0;do if((m|0)>(i|0)){h=e+i|0;g=j-h|0;if((g|0)>0){sC(n|0,h|0,g|0)|0;g=(c[r>>2]|0)+g|0;c[r>>2]=g}else g=n;if((i|0)>0){j=g;f=h;break}else return}else j=n;while(0);i=g-(d+m)|0;g=d+i|0;if(g>>>0<n>>>0){h=j;do{a[h>>0]=a[g>>0]|0;g=g+1|0;h=(c[r>>2]|0)+1|0;c[r>>2]=h}while((g|0)!=(n|0))}if(i|0)tC(j+(0-i)|0,d|0,i|0)|0;g=f-q|0;if(!g)return;tC(d|0,e|0,g|0)|0;return}g=g-l+m|0;if((g|0)<0)HB();m=i-l|0;n=m<<1;g=m>>>0<1073741823?(n>>>0<g>>>0?g:n):2147483647;if(!g)j=0;else j=_A(g)|0;m=j+h|0;n=j+g|0;if((e|0)==(f|0)){f=k;g=m}else{i=f+(o-q-l)|0;h=m;g=e;while(1){a[h>>0]=a[g>>0]|0;g=g+1|0;if((g|0)==(f|0))break;else h=h+1|0}h=c[b>>2]|0;f=h;g=j+i|0;h=o-h|0}i=m+(0-h)|0;if((h|0)>0)sC(i|0,f|0,h|0)|0;h=(c[r>>2]|0)-o|0;if((h|0)>0){sC(g|0,d|0,h|0)|0;g=g+h|0}c[b>>2]=i;c[r>>2]=g;c[p>>2]=n;if(!f)return;$A(f);return}function Hm(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+80|0;h=i;c[h>>2]=289392;c[h+4>>2]=d;c[h+8>>2]=0;c[h+12>>2]=0;c[h+16>>2]=0;Jj(h+20|0,h);g=h+60|0;c[g>>2]=0;c[g+4>>2]=0;c[g+8>>2]=0;c[g+12>>2]=0;g=Im(h,b)|0;c[h>>2]=289392;b=h+60|0;e=c[b>>2]|0;if(e|0){f=h+64|0;d=c[f>>2]|0;if((d|0)==(e|0))d=e;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)$A(c[d>>2]|0)}while((d|0)!=(e|0));d=c[b>>2]|0}c[f>>2]=e;$A(d)}d=c[h+48>>2]|0;if(d|0){c[h+52>>2]=d;$A(d)}d=c[h+36>>2]|0;if(d|0){c[h+40>>2]=d;$A(d)}d=c[h+24>>2]|0;if(!d){aa=i;return g|0}c[h+28>>2]=d;$A(d);aa=i;return g|0}function Im(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0;E=aa;aa=aa+112|0;D=E+104|0;B=E+96|0;A=E+88|0;z=E+80|0;x=E+72|0;t=E+64|0;s=E+56|0;r=E+48|0;v=E+40|0;u=E+32|0;q=E+24|0;o=E;C=b+12|0;c[C>>2]=d;n=b;e=o+16|0;c[o>>2]=289656;c[o+4>>2]=n;c[o+8>>2]=331281;c[e>>2]=o;ay(d+216|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289656;c[o+4>>2]=n;c[o+8>>2]=330254;c[e>>2]=o;ay(d+236|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289656;c[o+4>>2]=n;c[o+8>>2]=301885;c[e>>2]=o;ay(d+276|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289656;c[o+4>>2]=n;c[o+8>>2]=330351;c[e>>2]=o;ay(d+296|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289656;c[o+4>>2]=n;c[o+8>>2]=330283;c[e>>2]=o;ay(d+316|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=o+16|0;c[o>>2]=289656;c[o+4>>2]=n;c[o+8>>2]=330237;c[e>>2]=o;ay(d+196|0,o);e=c[e>>2]|0;if((o|0)!=(e|0)){if(e|0)ma[c[(c[e>>2]|0)+20>>2]&255](e)}else ma[c[(c[e>>2]|0)+16>>2]&255](e);e=c[d+76>>2]|0;j=c[d+80>>2]|0;if((e|0)!=(j|0)){l=b+16|0;k=o+16|0;h=o+4|0;i=o+8|0;m=b+20|0;do{g=c[e>>2]|0;c[l>>2]=g;do if(a[g+12>>0]|0?(p=g+16|0,(c[g+36>>2]|0)==1):0){f=iy((c[C>>2]|0)+276|0,p)|0;if((f|0)!=-1){Kl(p,f);break}f=g+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[q>>2]=301885;c[q+4>>2]=f;Jm(b,p,300571,q)}while(0);c[o>>2]=289700;c[h>>2]=g;c[i>>2]=n;c[k>>2]=o;ay(g+88|0,o);f=c[k>>2]|0;if((o|0)!=(f|0)){if(f|0)ma[c[(c[f>>2]|0)+20>>2]&255](f)}else ma[c[(c[f>>2]|0)+16>>2]&255](f);Rj(m,g)|0;c[l>>2]=0;e=e+4|0}while((e|0)!=(j|0))}e=c[d+112>>2]|0;i=c[d+116>>2]|0;a:do if((e|0)!=(i|0))while(1){h=c[e>>2]|0;b:do switch(c[h+12>>2]|0){case 0:{g=h+16|0;if((c[h+36>>2]|0)==1){f=iy((c[C>>2]|0)+216|0,g)|0;if((f|0)!=-1){Kl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[u>>2]=331281;c[u+4>>2]=f;Jm(b,g,300571,u)}break}case 1:{g=h+16|0;if((c[h+36>>2]|0)==1){f=iy((c[C>>2]|0)+296|0,g)|0;if((f|0)!=-1){Kl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[v>>2]=330351;c[v+4>>2]=f;Jm(b,g,300571,v)}break}case 2:{g=h+16|0;if((c[h+36>>2]|0)==1){f=iy((c[C>>2]|0)+316|0,g)|0;if((f|0)!=-1){Kl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[r>>2]=330283;c[r+4>>2]=f;Jm(b,g,300571,r)}break}case 3:{g=h+16|0;if((c[h+36>>2]|0)==1){f=iy((c[C>>2]|0)+236|0,g)|0;if((f|0)!=-1){Kl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[s>>2]=330254;c[s+4>>2]=f;Jm(b,g,300571,s)}break}case 4:{g=h+16|0;if((c[h+36>>2]|0)==1){f=iy((c[C>>2]|0)+196|0,g)|0;if((f|0)!=-1){Kl(g,f);break b}f=h+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[t>>2]=330237;c[t+4>>2]=f;Jm(b,g,300571,t)}break}default:{}}while(0);e=e+4|0;if((e|0)==(i|0))break a}while(0);e=c[d+88>>2]|0;f=c[d+92>>2]|0;if((e|0)!=(f|0)){g=b+20|0;do{Qj(g,(c[e>>2]|0)+20|0)|0;e=e+4|0}while((e|0)!=(f|0))}e=c[d+64>>2]|0;h=c[d+68>>2]|0;if((e|0)!=(h|0))do{f=c[e>>2]|0;do if(a[f+12>>0]|0?(w=f+16|0,(c[f+36>>2]|0)==1):0){g=iy((c[C>>2]|0)+276|0,w)|0;if((g|0)!=-1){Kl(w,g);break}f=f+40|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[x>>2]=301885;c[x+4>>2]=f;Jm(b,w,300571,x)}while(0);e=e+4|0}while((e|0)!=(h|0));e=c[d+148>>2]|0;i=c[d+152>>2]|0;if((e|0)!=(i|0)){j=b+20|0;do{h=c[e>>2]|0;g=h+12|0;do if((c[h+32>>2]|0)==1){f=iy((c[C>>2]|0)+296|0,g)|0;if((f|0)!=-1){Kl(g,f);break}f=h+36|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[z>>2]=330351;c[z+4>>2]=f;Jm(b,g,300571,z)}while(0);Qj(j,h+56|0)|0;f=c[h+68>>2]|0;h=c[h+72>>2]|0;if((f|0)!=(h|0))do{do if((c[f>>2]|0)==1?(y=f+4|0,(c[f+24>>2]|0)==1):0){g=iy((c[C>>2]|0)+216|0,y)|0;if((g|0)!=-1){Kl(y,g);break}g=f+28|0;if((a[g+11>>0]|0)<0)g=c[g>>2]|0;c[A>>2]=331281;c[A+4>>2]=g;Jm(b,y,300571,A)}while(0);f=f+40|0}while((f|0)!=(h|0));e=e+4|0}while((e|0)!=(i|0))}e=c[d+172>>2]|0;i=c[d+176>>2]|0;if((e|0)!=(i|0)){j=b+20|0;do{g=c[e>>2]|0;h=g+12|0;do if((c[g+32>>2]|0)==1){f=iy((c[C>>2]|0)+316|0,h)|0;if((f|0)!=-1){Kl(h,f);break}f=g+36|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[B>>2]=330283;c[B+4>>2]=f;Jm(b,h,300571,B)}while(0);Qj(j,g+52|0)|0;e=e+4|0}while((e|0)!=(i|0))}e=c[d+184>>2]|0;h=c[d+188>>2]|0;if((e|0)==(h|0)){c[C>>2]=0;D=b+72|0;D=c[D>>2]|0;aa=E;return D|0}do{g=c[e>>2]|0;do if((c[g+20>>2]|0)==1){f=iy((c[C>>2]|0)+216|0,g)|0;if((f|0)!=-1){Kl(g,f);break}f=g+24|0;if((a[f+11>>0]|0)<0)f=c[f>>2]|0;c[D>>2]=331281;c[D+4>>2]=f;Jm(b,g,300571,D)}while(0);e=e+4|0}while((e|0)!=(h|0));c[C>>2]=0;D=b+72|0;D=c[D>>2]|0;aa=E;return D|0}function Jm(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0,j=0,k=0,l=0;k=aa;aa=aa+192|0;h=k+168|0;l=k+144|0;f=k+128|0;g=k;i=k+164|0;j=k+160|0;c[a+72>>2]=1;c[l>>2]=e;c[f>>2]=c[l>>2];c[i>>2]=g;e=(Vz(g,128,d,l)|0)+1|0;if(e>>>0>128){g=aa;aa=aa+((1*e|0)+15&-16)|0;c[i>>2]=g;Vz(g,e,d,f)|0}e=c[a+4>>2]|0;c[j>>2]=1;d=e+4|0;f=c[d>>2]|0;if(f>>>0<(c[e+8>>2]|0)>>>0){c[h>>2]=c[b>>2];c[h+4>>2]=c[b+4>>2];c[h+8>>2]=c[b+8>>2];c[h+12>>2]=c[b+12>>2];c[h+16>>2]=c[b+16>>2];l=Uz(g)|0;c[f>>2]=1;j=f+4|0;c[j>>2]=c[h>>2];c[j+4>>2]=c[h+4>>2];c[j+8>>2]=c[h+8>>2];c[j+12>>2]=c[h+12>>2];c[j+16>>2]=c[h+16>>2];Wn(f+24|0,g,l);c[d>>2]=(c[d>>2]|0)+36;aa=k;return}else{Tm(e,j,b,i);aa=k;return}}function Km(a){a=a|0;return}function Lm(a){a=a|0;$A(a);return}function Mm(a){a=a|0;var b=0,d=0,e=0;b=_A(12)|0;c[b>>2]=289700;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function Nm(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=289700;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function Om(a){a=a|0;return}function Pm(a){a=a|0;$A(a);return}function Qm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;f=aa;aa=aa+16|0;g=f;i=c[b+4>>2]|0;h=c[b+8>>2]|0;b=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;e=(a[d+11>>0]|0)<0?c[d>>2]|0:d;c[g>>2]=(c[d+32>>2]|0)>>>0<(c[i+56>>2]|0)-(c[i+52>>2]|0)>>2>>>0?300660:330275;c[g+4>>2]=e;Jm(h,b,300670,g);aa=f;return}function Rm(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==300598?a+4|0:0)|0}function Sm(a){a=a|0;return 286008}function Tm(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0;o=aa;aa=aa+32|0;i=o;m=b+4|0;g=c[b>>2]|0;k=((c[m>>2]|0)-g|0)/36|0;h=k+1|0;if(h>>>0>119304647)HB();n=b+8|0;l=((c[n>>2]|0)-g|0)/36|0;g=l<<1;g=l>>>0<59652323?(g>>>0<h>>>0?h:g):119304647;do if(g)if(g>>>0>119304647)U();else{j=_A(g*36|0)|0;break}else j=0;while(0);h=j+(k*36|0)|0;l=j+(g*36|0)|0;g=c[d>>2]|0;c[i>>2]=c[e>>2];c[i+4>>2]=c[e+4>>2];c[i+8>>2]=c[e+8>>2];c[i+12>>2]=c[e+12>>2];c[i+16>>2]=c[e+16>>2];d=c[f>>2]|0;f=Uz(d)|0;c[h>>2]=g;g=j+(k*36|0)+4|0;c[g>>2]=c[i>>2];c[g+4>>2]=c[i+4>>2];c[g+8>>2]=c[i+8>>2];c[g+12>>2]=c[i+12>>2];c[g+16>>2]=c[i+16>>2];Wn(j+(k*36|0)+24|0,d,f);f=h+36|0;d=c[b>>2]|0;g=c[m>>2]|0;if((g|0)==(d|0)){e=d;g=d}else{do{j=h;h=h+-36|0;k=g;g=g+-36|0;c[h>>2]=c[g>>2];c[h+4>>2]=c[g+4>>2];c[h+8>>2]=c[g+8>>2];c[h+12>>2]=c[g+12>>2];c[h+16>>2]=c[g+16>>2];c[h+20>>2]=c[g+20>>2];j=j+-12|0;k=k+-12|0;c[j>>2]=c[k>>2];c[j+4>>2]=c[k+4>>2];c[j+8>>2]=c[k+8>>2];c[k>>2]=0;c[k+4>>2]=0;c[k+8>>2]=0}while((g|0)!=(d|0));e=c[b>>2]|0;g=c[m>>2]|0}c[b>>2]=h;c[m>>2]=f;c[n>>2]=l;d=e;if((g|0)!=(d|0))do{h=g+-12|0;g=g+-36|0;if((a[h+11>>0]|0)<0)$A(c[h>>2]|0)}while((g|0)!=(d|0));if(!e){aa=o;return}$A(e);aa=o;return}function Um(a){a=a|0;$A(a);return}function Vm(a){a=a|0;var b=0,d=0,e=0;b=_A(12)|0;c[b>>2]=289656;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return b|0}function Wm(a,b){a=a|0;b=b|0;var d=0,e=0;c[b>>2]=289656;e=a+4|0;d=c[e+4>>2]|0;a=b+4|0;c[a>>2]=c[e>>2];c[a+4>>2]=d;return}function Xm(a){a=a|0;return}function Ym(a){a=a|0;$A(a);return}function Zm(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0;f=aa;aa=aa+16|0;g=f;h=c[b+4>>2]|0;e=(c[d+20>>2]|0)>(c[e+20>>2]|0)?d+12|0:e+12|0;d=(a[d+11>>0]|0)<0?c[d>>2]|0:d;c[g>>2]=c[b+8>>2];c[g+4>>2]=d;Jm(h,e,300670,g);aa=f;return}function _m(a,b){a=a|0;b=b|0;return ((c[b+4>>2]|0)==301010?a+4|0:0)|0}function $m(a){a=a|0;return 286040}function an(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=289392;e=b+60|0;f=c[e>>2]|0;if(f|0){g=b+64|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)$A(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;$A(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;$A(d)}d=c[b+36>>2]|0;if(d|0){c[b+40>>2]=d;$A(d)}d=c[b+24>>2]|0;if(!d)return;c[b+28>>2]=d;$A(d);return}function bn(b){b=b|0;var d=0,e=0,f=0,g=0;c[b>>2]=289392;e=b+60|0;f=c[e>>2]|0;if(f|0){g=b+64|0;d=c[g>>2]|0;if((d|0)==(f|0))d=f;else{do{d=d+-12|0;if((a[d+11>>0]|0)<0)$A(c[d>>2]|0)}while((d|0)!=(f|0));d=c[e>>2]|0}c[g>>2]=f;$A(d)}d=c[b+48>>2]|0;if(d|0){c[b+52>>2]=d;$A(d)}d=c[b+36>>2]|0;if(d|0){c[b+40>>2]=d;$A(d)}d=c[b+24>>2]|0;if(!d){$A(b);return}c[b+28>>2]=d;$A(d);$A(b);return}function cn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Lc(b+60|0,g);else{cB(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=iy((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301885;c[h+4>>2]=e;Jm(b,f,300571,h);aa=i;return 0}function dn(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}$A(c[b>>2]|0);c[d>>2]=b;return 0}function en(a,b){a=a|0;b=b|0;Hn(a,b+36|0);return 0}function fn(a,b){a=a|0;b=b|0;Hn(a,b+36|0);return 0}function gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;Hn(b,d+36|0);f=d+72|0;if((c[d+92>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+196|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+96|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330237;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function hn(a,b){a=a|0;b=b|0;var d=0,e=0;d=c[b+36>>2]|0;e=c[b+40>>2]|0;if((d|0)!=(e|0))do{Hn(a,d);d=d+36|0}while((d|0)!=(e|0));Hn(a,b+48|0);return 0}function jn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+216|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=331281;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function kn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;do if(a[d+36>>0]|0?(f=d+40|0,(c[d+60>>2]|0)==1):0){e=iy((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Kl(f,e);break}e=d+64|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301885;c[g+4>>2]=e;Jm(b,f,300571,g)}while(0);f=d+100|0;if((c[d+120>>2]|0)!=1){aa=i;return 0}e=iy((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=i;return 0}e=d+124|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=330351;c[h+4>>2]=e;Jm(b,f,300571,h);aa=i;return 0}function ln(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+236|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330254;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function mn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+236|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330254;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function nn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Lc(b+60|0,g);else{cB(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=iy((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301885;c[h+4>>2]=e;Jm(b,f,300571,h);aa=i;return 0}function on(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}$A(c[b>>2]|0);c[d>>2]=b;return 0}function pn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Qk(e,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;Jm(b,f,303747,g);aa=h;return 0}function qn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Qk(e,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;Jm(b,f,303747,g);aa=h;return 0}function rn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=c[b+16>>2]|0;if(!e){aa=h;return 0}e=Qk(e,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=e;Jm(b,f,303747,g);aa=h;return 0}function sn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Lc(b+60|0,g);else{cB(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=iy((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301885;c[h+4>>2]=e;Jm(b,f,300571,h);aa=i;return 0}function tn(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}$A(c[b>>2]|0);c[d>>2]=b;return 0}function un(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+336|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301330;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function vn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+336|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301330;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function wn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+356|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301317;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function xn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+356|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301317;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function yn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330351;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function zn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330351;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function An(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330351;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function Bn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330351;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function Cn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+216|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=331281;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function Dn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i+8|0;g=i;do if(a[d+36>>0]|0?(f=d+40|0,(c[d+60>>2]|0)==1):0){e=iy((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Kl(f,e);break}e=d+64|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=301885;c[g+4>>2]=e;Jm(b,f,300571,g)}while(0);f=d+100|0;if((c[d+120>>2]|0)!=1){aa=i;return 0}e=iy((c[b+12>>2]|0)+296|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=i;return 0}e=d+124|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=330351;c[h+4>>2]=e;Jm(b,f,300571,h);aa=i;return 0}function En(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;g=d+36|0;f=b+64|0;e=c[f>>2]|0;if((e|0)==(c[b+68>>2]|0))Lc(b+60|0,g);else{cB(e,g);c[f>>2]=(c[f>>2]|0)+12}if(!(a[d+48>>0]|0)){aa=i;return 0}f=d+52|0;if((c[d+72>>2]|0)!=1){aa=i;return 0}e=iy((c[b+12>>2]|0)+276|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=i;return 0}e=d+76|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[h>>2]=301885;c[h+4>>2]=e;Jm(b,f,300571,h);aa=i;return 0}function Fn(b,d){b=b|0;d=d|0;d=b+64|0;b=(c[d>>2]|0)+-12|0;if((a[b+11>>0]|0)>=0){c[d>>2]=b;return 0}$A(c[b>>2]|0);c[d>>2]=b;return 0}function Gn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0;h=aa;aa=aa+16|0;g=h;f=d+36|0;if((c[d+56>>2]|0)!=1){aa=h;return 0}e=iy((c[b+12>>2]|0)+196|0,f)|0;if((e|0)!=-1){Kl(f,e);aa=h;return 0}e=d+60|0;if((a[e+11>>0]|0)<0)e=c[e>>2]|0;c[g>>2]=330237;c[g+4>>2]=e;Jm(b,f,300571,g);aa=h;return 0}function Hn(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0;s=aa;aa=aa+16|0;r=s;if((c[d+20>>2]|0)!=1){aa=s;return}l=c[b+60>>2]|0;o=(c[b+64>>2]|0)-l|0;q=(o|0)/12|0;e=q+-1|0;p=d+24|0;m=a[p+11>>0]|0;a:do if((o|0)>0){k=m<<24>>24<0;o=k?c[d+28>>2]|0:m&255;n=(o|0)==0;b:do if(k)while(1){g=l+(e*12|0)|0;h=a[g+11>>0]|0;k=h<<24>>24<0;h=h&255;do if(((k?c[l+(e*12|0)+4>>2]|0:h)|0)==(o|0)){i=c[g>>2]|0;j=k?i:g;f=c[p>>2]|0;i=i&255;if(k){if(n)break b;if(!(Tz(j,f,o)|0))break b;else break}if(n)break b;if((a[f>>0]|0)==i<<24>>24)do{h=h+-1|0;g=g+1|0;if(!h)break b;f=f+1|0}while((a[g>>0]|0)==(a[f>>0]|0))}while(0);e=e+-1|0;if((e|0)<=-1)break a}else while(1){f=l+(e*12|0)|0;h=a[f+11>>0]|0;j=h<<24>>24<0;h=h&255;do if(((j?c[l+(e*12|0)+4>>2]|0:h)|0)==(o|0)){g=c[f>>2]|0;i=j?g:f;g=g&255;if(j){if(n)break b;if(!(Tz(i,p,o)|0))break b;else break}if(n)break b;if((a[p>>0]|0)==g<<24>>24){g=p;do{h=h+-1|0;f=f+1|0;if(!h)break b;g=g+1|0}while((a[f>>0]|0)==(a[g>>0]|0))}}while(0);e=e+-1|0;if((e|0)<=-1)break a}while(0);Kl(d,q+~e|0);aa=s;return}while(0);if(m<<24>>24<0)e=c[d+24>>2]|0;else e=p;c[r>>2]=e;Jm(b,d,301343,r);aa=s;return}function In(a){a=a|0;var b=0;c[a>>2]=289744;b=a+16|0;a=c[b>>2]|0;c[b>>2]=0;if(!a)return;b=c[a>>2]|0;if(b|0){c[a+4>>2]=b;$A(b)}$A(a);return}function Jn(a){a=a|0;var b=0,d=0;c[a>>2]=289744;d=a+16|0;b=c[d>>2]|0;c[d>>2]=0;if(!b){$A(a);return}d=c[b>>2]|0;if(d|0){c[b+4>>2]=d;$A(d)}$A(b);$A(a);return}function Kn(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!f)return 0;n=f+d|0;p=b+16|0;i=c[p>>2]|0;o=i+4|0;g=c[o>>2]|0;j=c[i>>2]|0;m=g-j|0;a:do if(n>>>0>m>>>0){k=j;b=n-m|0;l=i+8|0;h=c[l>>2]|0;if((h-g|0)>>>0>=b>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;b=b+-1|0;if(!b)break a}if((n|0)<0)HB();g=h-j|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<n>>>0?n:h):2147483647;if(!h)g=0;else g=_A(h)|0;uC(g+m|0,0,b|0)|0;if((m|0)>0)sC(g|0,k|0,m|0)|0;c[i>>2]=g;c[o>>2]=g+n;c[l>>2]=g+h;if(j|0)$A(k)}while(0);sC((c[c[p>>2]>>2]|0)+d|0,e|0,f|0)|0;return 0}function Ln(b,d,e,f){b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0;if(!f)return 0;p=f+e|0;n=f+d|0;n=p>>>0>n>>>0?p:n;p=b+16|0;i=c[p>>2]|0;o=i+4|0;g=c[o>>2]|0;j=c[i>>2]|0;m=g-j|0;a:do if(n>>>0>m>>>0){k=j;b=n-m|0;l=i+8|0;h=c[l>>2]|0;if((h-g|0)>>>0>=b>>>0)while(1){a[g>>0]=0;g=(c[o>>2]|0)+1|0;c[o>>2]=g;b=b+-1|0;if(!b)break a}if((n|0)<0)HB();g=h-j|0;h=g<<1;h=g>>>0<1073741823?(h>>>0<n>>>0?n:h):2147483647;if(!h)g=0;else g=_A(h)|0;uC(g+m|0,0,b|0)|0;if((m|0)>0)sC(g|0,k|0,m|0)|0;c[i>>2]=g;c[o>>2]=g+n;c[l>>2]=g+h;if(j|0)$A(k)}while(0);p=c[c[p>>2]>>2]|0;tC(p+d|0,p+e|0,f|0)|0;return 0}function Mn(a,b){a=a|0;b=b|0;a=a+4|0;c[a>>2]=(c[a>>2]|0)+b;return}function Nn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0;g=a+8|0;if((c[g>>2]|0)==1)return;h=c[a+12>>2]|0;if(h|0)On(h,d,e,b,0,f);a=ha[c[(c[a>>2]|0)+8>>2]&127](a,b,d,e)|0;c[g>>2]=a;return}function On(b,e,f,g,h,i){b=b|0;e=e|0;f=f|0;g=g|0;h=h|0;i=i|0;var j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0;x=aa;aa=aa+32|0;w=x+24|0;v=x+16|0;u=x+8|0;t=x;s=x+28|0;r=e+f|0;if((f|0)<=0){aa=x;return}q=g-e|0;p=b+4|0;n=b+8|0;o=b+12|0;l=(h|0)==1;m=(i|0)!=0;do{c[t>>2]=q+e;Pn(b,301446,t);k=0;do{g=e+k|0;if(g>>>0<r>>>0){c[u>>2]=d[g>>0];Pn(b,301454,u)}else{a[s>>0]=32;f=c[p>>2]|0;if((c[n>>2]|0)==1){g=f;f=1}else{g=c[o>>2]|0;if(g|0)On(g,s,1,f,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&127](b,f,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g;a[s>>0]=32;if((f|0)!=1){f=c[o>>2]|0;if(f|0)On(f,s,1,g,0,0);g=ha[c[(c[b>>2]|0)+8>>2]&127](b,g,s,1)|0;c[n>>2]=g;g=c[p>>2]|0}c[p>>2]=g+1}j=k|1;k=k+2|0;g=e+j|0;if(g>>>0<r>>>0){c[w>>2]=d[g>>0];Pn(b,301454,w);g=c[n>>2]|0;h=c[p>>2]|0}else{a[s>>0]=32;g=c[p>>2]|0;if((c[n>>2]|0)==1)f=1;else{f=c[o>>2]|0;if(f|0)On(f,s,1,g,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&127](b,g,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}h=g+1|0;c[p>>2]=h;a[s>>0]=32;if((f|0)==1){g=h;f=1}else{g=c[o>>2]|0;if(g|0)On(g,s,1,h,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&127](b,h,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}h=g+1|0;c[p>>2]=h;g=f}a[s>>0]=32;if((g|0)==1){f=1;g=h}else{g=c[o>>2]|0;if(g|0)On(g,s,1,h,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&127](b,h,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g}while(j>>>0<15);h=e+16|0;if(l){a[s>>0]=32;if((f|0)==1)f=1;else{f=c[o>>2]|0;if(f|0)On(f,s,1,g,0,0);f=ha[c[(c[b>>2]|0)+8>>2]&127](b,g,s,1)|0;c[n>>2]=f;g=c[p>>2]|0}g=g+1|0;c[p>>2]=g;if(e>>>0<r>>>0){h=f;j=0;do{k=a[e>>0]|0;y=(CA(k&255)|0)==0;a[s>>0]=y?46:k;if((h|0)==1)h=1;else{f=c[o>>2]|0;if(f|0)On(f,s,1,g,0,0);h=ha[c[(c[b>>2]|0)+8>>2]&127](b,g,s,1)|0;c[n>>2]=h;g=c[p>>2]|0;f=h}g=g+1|0;c[p>>2]=g;j=j+1|0;e=e+1|0}while(e>>>0<r>>>0&j>>>0<16)}}else e=h;if(m&e>>>0>=r>>>0){c[v>>2]=i;Pn(b,301459,v);f=c[n>>2]|0;g=c[p>>2]|0}a[s>>0]=10;if((f|0)!=1){f=c[o>>2]|0;if(f|0)On(f,s,1,g,0,0);g=ha[c[(c[b>>2]|0)+8>>2]&127](b,g,s,1)|0;c[n>>2]=g;g=c[p>>2]|0}c[p>>2]=g+1}while(e>>>0<r>>>0);aa=x;return}function Pn(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+160|0;e=i+144|0;g=i+128|0;f=i;c[e>>2]=d;c[g>>2]=c[e>>2];e=Vz(f,128,b,e)|0;d=e+1|0;if(d>>>0>128){f=aa;aa=aa+((1*d|0)+15&-16)|0;h=f;g=Vz(f,d,b,g)|0}else{h=f;g=e}b=a+4|0;d=c[b>>2]|0;e=a+8|0;if((c[e>>2]|0)==1){a=d;a=a+g|0;c[b>>2]=a;aa=i;return}f=c[a+12>>2]|0;if(f|0)On(f,h,g,d,0,0);a=ha[c[(c[a>>2]|0)+8>>2]&127](a,d,h,g)|0;c[e>>2]=a;a=c[b>>2]|0;a=a+g|0;c[b>>2]=a;aa=i;return}function Qn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;var g=0,h=0,i=0,j=0;j=a+4|0;g=c[j>>2]|0;h=a+8|0;if((c[h>>2]|0)==1){a=g;a=a+d|0;c[j>>2]=a;return}i=c[a+12>>2]|0;if(i|0)On(i,b,d,g,f,e);a=ha[c[(c[a>>2]|0)+8>>2]&127](a,g,b,d)|0;c[h>>2]=a;a=c[j>>2]|0;a=a+d|0;c[j>>2]=a;return}function Rn(a,b,d,e){a=a|0;b=b|0;d=d|0;e=e|0;var f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;h=i;f=a+8|0;if((c[f>>2]|0)==1){aa=i;return}g=c[a+12>>2]|0;if(g|0){c[h>>2]=d;c[h+4>>2]=e+d;c[h+8>>2]=b;c[h+12>>2]=e+b;Pn(g,301466,h)}h=ha[c[(c[a>>2]|0)+12>>2]&127](a,b,d,e)|0;c[f>>2]=h;aa=i;return}function Sn(a,b){a=a|0;b=b|0;c[a+4>>2]=0;c[a+8>>2]=0;c[a+12>>2]=b;c[a>>2]=289744;b=_A(12)|0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;c[a+16>>2]=b;return}function Tn(a,b){a=a|0;b=b|0;var d=0;d=b+16|0;b=c[d>>2]|0;c[d>>2]=0;c[a>>2]=b;return}function Un(a){a=a|0;c[a>>2]=(c[a>>2]|0)+1;a=a+4|0;c[a>>2]=(c[a>>2]|0)+-1;return}function Vn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(e>>>0>4294967279)aB();if(e>>>0<11){a[b+11>>0]=e;if(!e){d=b;e=d+e|0;a[e>>0]=0;return}}else{g=e+16&-16;f=_A(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}sC(b|0,d|0,e|0)|0;g=b;g=g+e|0;a[g>>0]=0;return}function Wn(b,d,e){b=b|0;d=d|0;e=e|0;var f=0,g=0;c[b>>2]=0;c[b+4>>2]=0;c[b+8>>2]=0;if(e>>>0>4294967279)aB();if(e>>>0<11){a[b+11>>0]=e;if(!e){d=b;e=d+e|0;a[e>>0]=0;return}}else{g=e+16&-16;f=_A(g)|0;c[b>>2]=f;c[b+8>>2]=g|-2147483648;c[b+4>>2]=e;b=f}sC(b|0,d|0,e|0)|0;g=b;g=g+e|0;a[g>>0]=0;return}function Xn(a,b,d,e,f){a=a|0;b=b|0;d=d|0;e=e|0;f=f|0;d=d-e|0;c[a>>2]=b+e;c[a+4>>2]=d>>>0<f>>>0?d:f;return}function Yn(a,b,c,d){a=a|0;b=b|0;c=c|0;d=d|0;var e=0,f=0;e=d>>>0<b>>>0?d:b;if(e|0?(f=Tz(a,c,e)|0,f|0):0)return f|0;return ((b|0)==(d|0)?0:b>>>0<d>>>0?-1:1)|0}function Zn(b,c){b=b|0;c=c|0;var d=0,e=0,f=0,g=0,h=0,i=0;c=c>>>0<5?c:5;g=b;a:do if((c|0)<5)c=g;else{d=c;c=b+c|0;while(1){e=d+-1|0;f=b+e|0;if((a[f>>0]|0)==99){d=b+d|0;if((((a[d+-2>>0]|0)==111?(h=d+-1|0,(a[h+-2>>0]|0)==108):0)?(i=h+-1|0,(a[i+-2>>0]|0)==101):0)?(a[i+-1+-2>>0]|0)==114:0)break a;if((e|0)==4){c=g;break a}}else if((e|0)==4){c=g;break a}d=e;c=f}}while(0);return ((c|0)==(b|0)?-1:c-(g+5)|0)|0}function _n(b,c,d){b=b|0;c=c|0;d=d|0;var e=0,f=0;f=b;a:do if(!c)c=f;else{c=b+c|0;while(1){e=c+-1|0;if((a[e>>0]|0)==d<<24>>24)break;if((e|0)==(b|0)){c=f;break a}else c=e}}while(0);return ((c|0)==(b|0)?-1:c+~f|0)|0}function $n(a,b,d){a=a|0;b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0;r=aa;aa=aa+176|0;l=r+136|0;m=r+112|0;n=r+160|0;q=r;c[q>>2]=289768;c[q+4>>2]=d;c[q+8>>2]=b;c[q+12>>2]=a;j=q+16|0;p=q+64|0;c[p>>2]=0;o=q+72|0;c[o>>2]=0;c[o+4>>2]=0;c[o+8>>2]=0;c[o+12>>2]=0;c[o+16>>2]=0;c[o+20>>2]=0;c[o+24>>2]=0;c[q+104>>2]=0;k=q+108|0;c[k>>2]=0;c[j>>2]=0;c[j+4>>2]=0;c[j+8>>2]=0;c[j+12>>2]=0;c[j+16>>2]=0;c[j+20>>2]=0;c[j+24>>2]=0;j=q;d=m+16|0;c[m>>2]=290032;c[m+4>>2]=j;c[d>>2]=m;b=l+16|0;c[b>>2]=l;c[l>>2]=290032;c[l+4>>2]=j;ao(l,q+48|0);b=c[b>>2]|0;if((l|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[d>>2]|0;if((m|0)!=(b|0)){if(b|0)ma[c[(c[b>>2]|0)+20>>2]&255](b)}else ma[c[(c[b>>2]|0)+16>>2]&255](b);b=c[a>>2]|0;f=c[a+4>>2]|0;a:do if((b|0)!=(f|0)){j=n+4|0;g=n+4|0;h=m+4|0;i=m+8|0;while(1){a=c[b>>2]|0;switch(c[a+4>>2]|0){case 0:{bo(q,a+8|0)|0;break}case 1:{co(l,q,c[a+8>>2]|0);break}case 11:{co(l,q,c[a+8>>2]|0);break}case 10:{co(l,q,c[a+8>>2]|0);break}case 9:{go(q,c[a+8>>2]|0);break}case 8:{go(q,c[a+8>>2]|0);break}case 7:{d=c[a+8>>2]|0;co(n,q,d);switch(c[n>>2]|0){case 1:{eo(q,d+4|0,c[j>>2]|0,a+12|0);break}case 2:{e=d+4|0;d=c[g>>2]|0;a=a+12|0;c[l>>2]=d;c[m>>2]=0;c[h>>2]=0;c[i>>2]=0;if((d|0)!=-64){fo(m,l);d=c[m>>2]|0;eo(q,e,m,a);if(d|0){c[h>>2]=d;$A(d)}}else eo(q,e,m,a);break}default:{}}break}default:{}}b=b+4|0;if((b|0)==(f|0))break a}}while(0);g=c[k>>2]|0;c[q>>2]=289768;a=q+84|0;e=c[a>>2]|0;if(e|0){f=q+88|0;b=c[f>>2]|0;if((b|0)==(e|0))b=e;else{do{d=c[b+-20>>2]|0;if(d|0){c[b+-16>>2]=d;$A(d)}d=c[b+-32>>2]|0;if(d|0){c[b+-28>>2]=d;$A(d)}b=b+-36|0}while((b|0)!=(e|0));b=c[a>>2]|0}c[f>>2]=e;$A(b)}b=c[o>>2]|0;if(b|0){c[q+76>>2]=b;$A(b)}b=c[p>>2]|0;if((q+48|0)==(b|0)){ma[c[(c[b>>2]|0)+16>>2]&255](b);aa=r;return g|0}if(!b){aa=r;return g|0}ma[c[(c[b>>2]|0)+20>>2]&255](b);aa=r;return g|0}function ao(a,b){a=a|0;b=b|0;var d=0,e=0,f=0,g=0,h=0,i=0;i=aa;aa=aa+16|0;e=i;if((b|0)==(a|0)){aa=i;return}g=a+16|0;d=c[g>>2]|0;f=d;h=b+16|0;if((d|0)==(a|0))if((c[h>>2]|0)==(b|0)){na[c[(c[d>>2]|0)+12>>2]&31](d,e);f=c[g>>2]|0;ma[c[(c[f>>2]|0)+16>>2]&255](f);c[g>>2]=0;f=c[h>>2]|0;na[c[(c[f>>2]|0)+12>>2]&31](f,a);f=c[h>>2]|0;ma[c[(c[f>>2]|0)+16>>2]&255](f);c[h>>2]=0;c[g>>2]=a;na[c[(c[e>>2]|0)+12>>2]&31](e,b);ma[c[(c[e>>2]|0)+16>>2]&255](e);c[h>>2]=b;aa=i;return}else{na[c[(c[d>>2]|0)+12>>2]&31](d,b);a=c[g>>2]|0;ma[c[(c[a>>2]|0)+16>>2]&255](a);c[g>>2]=c[h>>2];c[h>>2]=b;aa=i;return}else{d=c[h>>2]|0;if((b|0)==(d|0)){na[c[(c[d>>2]|0)+12>>2]&31](d,a);b=c[h>>2]|0;ma[c[(c[b>>2]|0)+16>>2]&255](b);c[h>>2]=c[g>>2];c[g>>2]=a;aa=i;return}else{c[g>>2]=d;c[h>>2]=f;aa=i;return}}}function bo(b,d){b=b|0;d=d|0;var e=0,f=0,g=0,h=0,i=0,j=0,k=0,l=0,m=0,n=0,o=0,p=0,q=0,r=0,s=0,t=0,u=0,v=0,w=0,x=0,y=0,z=0,A=0,B=0,C=0,D=0,E=0,F=0,G=0,H=0,I=0,J=0,K=0,L=0,M=0,N=0,O=0,P=0,Q=0,R=0,S=0,T=0,U=0,V=0,W=0,X=0,Y=0,Z=0,_=0;_=aa;aa=aa+208|0;S=_+200|0;R=_+192|0;Q=_+184|0;P=_+176|0;O=_+168|0;N=_+160|0;M=_+152|0;L=_+144|0;K=_+136|0;J=_+128|0;I=_+120|0;H=_+112|0;G=_+104|0;F=_+96|0;E=_+88|0;D=_+80|0;C=_+72|0;B=_+64|0;Y=_+56|0;W=_+48|0;V=_+40|0;Z=_;X=b+16|0;c[X>>2]=d;w=b+24|0;v=b+28|0;u=b+32|0;y=b+36|0;s=b+40|0;T=d+32|0;c[w>>2]=0;c[w+4>>2]=0;c[w+8>>2]=0;c[w+12>>2]=0;c[w+16>>2]=0;e=c[T>>2]|0;if(e|0){t=b+20|0;z=b+4|0;x=b+104|0;A=b+48|0;m=Z+28|0;n=Z+16|0;p=Z+32|0;o=Z+4|0;q=Z+20|0;r=Z+8|0;f=0;do{j=e;a:do switch(c[j+32>>2]|0){case 10:{c[s&